Fri, 18 Feb 2011 10:07:34 -0800
7020042: G1: Partially remove fix for 6994628
Summary: Disable reference discovery and processing during concurrent marking by disabling fix for 6994628.
Reviewed-by: tonyp, ysr
tonyp@2472 | 1 | /* |
tonyp@2472 | 2 | * copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. |
tonyp@2472 | 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
tonyp@2472 | 4 | * |
tonyp@2472 | 5 | * This code is free software; you can redistribute it and/or modify it |
tonyp@2472 | 6 | * under the terms of the GNU General Public License version 2 only, as |
tonyp@2472 | 7 | * published by the Free Software Foundation. |
tonyp@2472 | 8 | * |
tonyp@2472 | 9 | * This code is distributed in the hope that it will be useful, but WITHOUT |
tonyp@2472 | 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
tonyp@2472 | 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
tonyp@2472 | 12 | * version 2 for more details (a copy is included in the LICENSE file that |
tonyp@2472 | 13 | * accompanied this code). |
tonyp@2472 | 14 | * |
tonyp@2472 | 15 | * You should have received a copy of the GNU General Public License version |
tonyp@2472 | 16 | * 2 along with this work; if not, write to the Free Software Foundation, |
tonyp@2472 | 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
tonyp@2472 | 18 | * |
tonyp@2472 | 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
tonyp@2472 | 20 | * or visit www.oracle.com if you need additional information or have any |
tonyp@2472 | 21 | * questions. |
tonyp@2472 | 22 | * |
tonyp@2472 | 23 | */ |
tonyp@2472 | 24 | |
tonyp@2472 | 25 | #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSETS_HPP |
tonyp@2472 | 26 | #define SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSETS_HPP |
tonyp@2472 | 27 | |
tonyp@2472 | 28 | #include "gc_implementation/g1/heapRegionSet.inline.hpp" |
tonyp@2472 | 29 | |
tonyp@2472 | 30 | //////////////////// FreeRegionList //////////////////// |
tonyp@2472 | 31 | |
tonyp@2472 | 32 | class FreeRegionList : public HeapRegionLinkedList { |
tonyp@2472 | 33 | protected: |
tonyp@2472 | 34 | virtual const char* verify_region_extra(HeapRegion* hr); |
tonyp@2472 | 35 | |
tonyp@2472 | 36 | virtual bool regions_humongous() { return false; } |
tonyp@2472 | 37 | virtual bool regions_empty() { return true; } |
tonyp@2472 | 38 | |
tonyp@2472 | 39 | public: |
tonyp@2472 | 40 | FreeRegionList(const char* name) : HeapRegionLinkedList(name) { } |
tonyp@2472 | 41 | }; |
tonyp@2472 | 42 | |
tonyp@2472 | 43 | //////////////////// MasterFreeRegionList //////////////////// |
tonyp@2472 | 44 | |
tonyp@2472 | 45 | class MasterFreeRegionList : public FreeRegionList { |
tonyp@2472 | 46 | protected: |
tonyp@2472 | 47 | virtual bool check_mt_safety(); |
tonyp@2472 | 48 | |
tonyp@2472 | 49 | public: |
tonyp@2472 | 50 | MasterFreeRegionList(const char* name) : FreeRegionList(name) { } |
tonyp@2472 | 51 | }; |
tonyp@2472 | 52 | |
tonyp@2472 | 53 | //////////////////// SecondaryFreeRegionList //////////////////// |
tonyp@2472 | 54 | |
tonyp@2472 | 55 | class SecondaryFreeRegionList : public FreeRegionList { |
tonyp@2472 | 56 | protected: |
tonyp@2472 | 57 | virtual bool check_mt_safety(); |
tonyp@2472 | 58 | |
tonyp@2472 | 59 | public: |
tonyp@2472 | 60 | SecondaryFreeRegionList(const char* name) : FreeRegionList(name) { } |
tonyp@2472 | 61 | }; |
tonyp@2472 | 62 | |
tonyp@2472 | 63 | //////////////////// HumongousRegionSet //////////////////// |
tonyp@2472 | 64 | |
tonyp@2472 | 65 | class HumongousRegionSet : public HeapRegionSet { |
tonyp@2472 | 66 | protected: |
tonyp@2472 | 67 | virtual const char* verify_region_extra(HeapRegion* hr); |
tonyp@2472 | 68 | |
tonyp@2472 | 69 | virtual bool regions_humongous() { return true; } |
tonyp@2472 | 70 | virtual bool regions_empty() { return false; } |
tonyp@2472 | 71 | |
tonyp@2472 | 72 | public: |
tonyp@2472 | 73 | HumongousRegionSet(const char* name) : HeapRegionSet(name) { } |
tonyp@2472 | 74 | }; |
tonyp@2472 | 75 | |
tonyp@2472 | 76 | //////////////////// MasterHumongousRegionSet //////////////////// |
tonyp@2472 | 77 | |
tonyp@2472 | 78 | class MasterHumongousRegionSet : public HumongousRegionSet { |
tonyp@2472 | 79 | protected: |
tonyp@2472 | 80 | virtual bool check_mt_safety(); |
tonyp@2472 | 81 | |
tonyp@2472 | 82 | public: |
tonyp@2472 | 83 | MasterHumongousRegionSet(const char* name) : HumongousRegionSet(name) { } |
tonyp@2472 | 84 | }; |
tonyp@2472 | 85 | |
tonyp@2472 | 86 | #endif // SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSETS_HPP |