src/share/vm/gc_implementation/includeDB_gc_g1

Mon, 18 May 2009 11:52:46 -0700

author
iveresov
date
Mon, 18 May 2009 11:52:46 -0700
changeset 1230
215f81b4d9b3
parent 1229
315a5d70b295
child 1242
d44bdab1c03d
permissions
-rw-r--r--

6841831: G1: assert(contains_reference(from),"We just added it!") fires
Summary: During parallel rset updating we have to make sure that the worker ids of the refinement threads do not intersect with the worker ids that can be claimed by the mutator threads.
Reviewed-by: tonyp

     1 //
     2 // Copyright 2004-2009 Sun Microsystems, Inc.  All Rights Reserved.
     3 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 //
     5 // This code is free software; you can redistribute it and/or modify it
     6 // under the terms of the GNU General Public License version 2 only, as
     7 // published by the Free Software Foundation.
     8 //
     9 // This code is distributed in the hope that it will be useful, but WITHOUT
    10 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12 // version 2 for more details (a copy is included in the LICENSE file that
    13 // accompanied this code).
    14 //
    15 // You should have received a copy of the GNU General Public License version
    16 // 2 along with this work; if not, write to the Free Software Foundation,
    17 // Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 //
    19 // Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    20 // CA 95054 USA or visit www.sun.com if you need additional information or
    21 // have any questions.
    22 //
    23 //
    25 // NOTE: DO NOT CHANGE THIS COPYRIGHT TO NEW STYLE - IT WILL BREAK makeDeps!
    27 bufferingOopClosure.hpp			genOopClosures.hpp
    28 bufferingOopClosure.hpp			generation.hpp
    29 bufferingOopClosure.hpp			os.hpp
    31 cardTableRS.cpp				concurrentMark.hpp
    32 cardTableRS.cpp				g1SATBCardTableModRefBS.hpp
    34 collectionSetChooser.cpp		g1CollectedHeap.inline.hpp
    35 collectionSetChooser.cpp		g1CollectorPolicy.hpp
    36 collectionSetChooser.cpp		collectionSetChooser.hpp
    37 collectionSetChooser.cpp		space.inline.hpp
    39 collectionSetChooser.hpp		heapRegion.hpp
    40 collectionSetChooser.hpp                growableArray.hpp
    42 concurrentG1Refine.cpp			atomic.hpp
    43 concurrentG1Refine.cpp			concurrentG1Refine.hpp
    44 concurrentG1Refine.cpp			concurrentG1RefineThread.hpp
    45 concurrentG1Refine.cpp			copy.hpp
    46 concurrentG1Refine.cpp			g1CollectedHeap.inline.hpp
    47 concurrentG1Refine.cpp			g1RemSet.hpp
    48 concurrentG1Refine.cpp			space.inline.hpp
    50 concurrentG1Refine.hpp			globalDefinitions.hpp
    51 concurrentG1Refine.hpp			allocation.hpp
    52 concurrentG1Refine.hpp			thread.hpp
    55 concurrentG1RefineThread.cpp		concurrentG1Refine.hpp
    56 concurrentG1RefineThread.cpp		concurrentG1RefineThread.hpp
    57 concurrentG1RefineThread.cpp		g1CollectedHeap.inline.hpp
    58 concurrentG1RefineThread.cpp            g1CollectorPolicy.hpp
    59 concurrentG1RefineThread.cpp		handles.inline.hpp
    60 concurrentG1RefineThread.cpp		mutexLocker.hpp
    61 concurrentG1RefineThread.cpp		resourceArea.hpp
    63 concurrentG1RefineThread.hpp		concurrentGCThread.hpp
    64 concurrentG1RefineThread.hpp		coTracker.hpp
    66 concurrentMark.cpp			concurrentMark.hpp
    67 concurrentMark.cpp			concurrentMarkThread.inline.hpp
    68 concurrentMark.cpp			g1CollectedHeap.inline.hpp
    69 concurrentMark.cpp                      g1CollectorPolicy.hpp
    70 concurrentMark.cpp                      g1RemSet.hpp
    71 concurrentMark.cpp		        gcOverheadReporter.hpp
    72 concurrentMark.cpp		        genOopClosures.inline.hpp
    73 concurrentMark.cpp                      heapRegionRemSet.hpp
    74 concurrentMark.cpp                      heapRegionSeq.inline.hpp
    75 concurrentMark.cpp                      handles.inline.hpp
    76 concurrentMark.cpp			java.hpp
    77 concurrentMark.cpp			oop.inline.hpp
    78 concurrentMark.cpp                      referencePolicy.hpp
    79 concurrentMark.cpp			resourceArea.hpp
    80 concurrentMark.cpp			symbolTable.hpp
    82 concurrentMark.hpp			coTracker.hpp
    83 concurrentMark.hpp			heapRegion.hpp
    84 concurrentMark.hpp			taskqueue.hpp
    86 concurrentMarkThread.cpp		concurrentMarkThread.inline.hpp
    87 concurrentMarkThread.cpp		g1CollectedHeap.inline.hpp
    88 concurrentMarkThread.cpp		g1CollectorPolicy.hpp
    89 concurrentMarkThread.cpp                g1MMUTracker.hpp
    90 concurrentMarkThread.cpp		resourceArea.hpp
    91 concurrentMarkThread.cpp		vm_operations_g1.hpp
    92 concurrentMarkThread.cpp                vmThread.hpp
    94 concurrentMarkThread.hpp		concurrentGCThread.hpp
    96 concurrentMarkThread.inline.hpp		concurrentMark.hpp
    97 concurrentMarkThread.inline.hpp		concurrentMarkThread.hpp
    99 concurrentZFThread.cpp			concurrentZFThread.hpp
   100 concurrentZFThread.cpp			heapRegion.hpp
   101 concurrentZFThread.cpp			g1CollectedHeap.inline.hpp
   102 concurrentZFThread.cpp			copy.hpp
   103 concurrentZFThread.cpp			mutexLocker.hpp
   104 concurrentZFThread.cpp			space.inline.hpp
   106 concurrentZFThread.hpp			concurrentGCThread.hpp
   107 concurrentZFThread.hpp			coTracker.hpp
   109 dirtyCardQueue.cpp                      atomic.hpp
   110 dirtyCardQueue.cpp                      dirtyCardQueue.hpp
   111 dirtyCardQueue.cpp			heapRegionRemSet.hpp
   112 dirtyCardQueue.cpp                      mutexLocker.hpp
   113 dirtyCardQueue.cpp                      ptrQueue.inline.hpp
   114 dirtyCardQueue.cpp                      safepoint.hpp
   115 dirtyCardQueue.cpp                      thread.hpp
   116 dirtyCardQueue.cpp                      thread_<os_family>.inline.hpp
   117 dirtyCardQueue.cpp                      workgroup.hpp
   119 dirtyCardQueue.hpp                      allocation.hpp
   120 dirtyCardQueue.hpp                      ptrQueue.hpp
   122 g1BlockOffsetTable.cpp			g1BlockOffsetTable.inline.hpp
   123 g1BlockOffsetTable.cpp			java.hpp
   124 g1BlockOffsetTable.cpp			oop.inline.hpp
   125 g1BlockOffsetTable.cpp			space.hpp
   127 g1BlockOffsetTable.hpp			globalDefinitions.hpp
   128 g1BlockOffsetTable.hpp			memRegion.hpp
   129 g1BlockOffsetTable.hpp			virtualspace.hpp
   131 g1BlockOffsetTable.inline.hpp		g1BlockOffsetTable.hpp
   132 g1BlockOffsetTable.inline.hpp		space.hpp
   134 g1CollectedHeap.cpp                     aprofiler.hpp
   135 g1CollectedHeap.cpp                     bufferingOopClosure.hpp
   136 g1CollectedHeap.cpp                     concurrentG1Refine.hpp
   137 g1CollectedHeap.cpp                     concurrentG1RefineThread.hpp
   138 g1CollectedHeap.cpp			concurrentMarkThread.inline.hpp
   139 g1CollectedHeap.cpp                     concurrentZFThread.hpp
   140 g1CollectedHeap.cpp                     g1CollectedHeap.inline.hpp
   141 g1CollectedHeap.cpp                     g1CollectorPolicy.hpp
   142 g1CollectedHeap.cpp                     g1MarkSweep.hpp
   143 g1CollectedHeap.cpp                     g1RemSet.hpp
   144 g1CollectedHeap.cpp                     g1OopClosures.inline.hpp
   145 g1CollectedHeap.cpp                     genOopClosures.inline.hpp
   146 g1CollectedHeap.cpp                     gcLocker.inline.hpp
   147 g1CollectedHeap.cpp                     gcOverheadReporter.hpp
   148 g1CollectedHeap.cpp                     generationSpec.hpp
   149 g1CollectedHeap.cpp                     heapRegionRemSet.hpp
   150 g1CollectedHeap.cpp                     heapRegionSeq.inline.hpp
   151 g1CollectedHeap.cpp                     icBuffer.hpp
   152 g1CollectedHeap.cpp                     isGCActiveMark.hpp
   153 g1CollectedHeap.cpp			oop.inline.hpp
   154 g1CollectedHeap.cpp			oop.pcgc.inline.hpp
   155 g1CollectedHeap.cpp			parGCAllocBuffer.hpp
   156 g1CollectedHeap.cpp                     vm_operations_g1.hpp
   157 g1CollectedHeap.cpp                     vmThread.hpp
   159 g1CollectedHeap.hpp                     barrierSet.hpp
   160 g1CollectedHeap.hpp                     heapRegion.hpp
   161 g1CollectedHeap.hpp                     memRegion.hpp
   162 g1CollectedHeap.hpp                     sharedHeap.hpp
   164 g1CollectedHeap.inline.hpp              concurrentMark.hpp
   165 g1CollectedHeap.inline.hpp              g1CollectedHeap.hpp
   166 g1CollectedHeap.inline.hpp              heapRegionSeq.hpp
   167 g1CollectedHeap.inline.hpp		taskqueue.hpp
   169 g1CollectorPolicy.cpp			concurrentG1Refine.hpp
   170 g1CollectorPolicy.cpp			concurrentMark.hpp
   171 g1CollectorPolicy.cpp			concurrentMarkThread.inline.hpp
   172 g1CollectorPolicy.cpp			debug.hpp
   173 g1CollectorPolicy.cpp			java.hpp
   174 g1CollectorPolicy.cpp                   g1CollectedHeap.inline.hpp
   175 g1CollectorPolicy.cpp                   g1CollectorPolicy.hpp
   176 g1CollectorPolicy.cpp                   heapRegionRemSet.hpp
   177 g1CollectorPolicy.cpp			mutexLocker.hpp
   178 g1CollectorPolicy.cpp			gcPolicyCounters.hpp
   180 g1CollectorPolicy.hpp                   collectorPolicy.hpp
   181 g1CollectorPolicy.hpp                   collectionSetChooser.hpp
   182 g1CollectorPolicy.hpp			g1MMUTracker.hpp
   184 g1_globals.cpp				g1_globals.hpp
   186 g1_globals.hpp                          globals.hpp
   188 globals.cpp                             g1_globals.hpp
   189 top.hpp                                 g1_globals.hpp
   191 g1MarkSweep.cpp                         aprofiler.hpp
   192 g1MarkSweep.cpp                         biasedLocking.hpp
   193 g1MarkSweep.cpp                         codeCache.hpp
   194 g1MarkSweep.cpp                         events.hpp
   195 g1MarkSweep.cpp                         fprofiler.hpp
   196 g1MarkSweep.hpp                         g1CollectedHeap.inline.hpp
   197 g1MarkSweep.cpp                         g1MarkSweep.hpp
   198 g1MarkSweep.cpp                         gcLocker.hpp
   199 g1MarkSweep.cpp                         genCollectedHeap.hpp
   200 g1MarkSweep.hpp                         heapRegion.hpp
   201 g1MarkSweep.cpp                         icBuffer.hpp
   202 g1MarkSweep.cpp                         instanceRefKlass.hpp
   203 g1MarkSweep.cpp                         javaClasses.hpp
   204 g1MarkSweep.cpp				jvmtiExport.hpp
   205 g1MarkSweep.cpp                         copy.hpp
   206 g1MarkSweep.cpp                         modRefBarrierSet.hpp
   207 g1MarkSweep.cpp                         oop.inline.hpp
   208 g1MarkSweep.cpp                         referencePolicy.hpp
   209 g1MarkSweep.cpp                         space.hpp
   210 g1MarkSweep.cpp                         symbolTable.hpp
   211 g1MarkSweep.cpp                         synchronizer.hpp
   212 g1MarkSweep.cpp                         systemDictionary.hpp
   213 g1MarkSweep.cpp                         thread.hpp
   214 g1MarkSweep.cpp                         vmSymbols.hpp
   215 g1MarkSweep.cpp                         vmThread.hpp
   217 g1MarkSweep.hpp                         generation.hpp
   218 g1MarkSweep.hpp                         growableArray.hpp
   219 g1MarkSweep.hpp                         markOop.hpp
   220 g1MarkSweep.hpp                         genMarkSweep.hpp
   221 g1MarkSweep.hpp                         oop.hpp
   222 g1MarkSweep.hpp                         timer.hpp
   223 g1MarkSweep.hpp                         universe.hpp
   225 g1OopClosures.inline.hpp		concurrentMark.hpp
   226 g1OopClosures.inline.hpp		g1OopClosures.hpp
   227 g1OopClosures.inline.hpp		g1CollectedHeap.hpp
   228 g1OopClosures.inline.hpp		g1RemSet.hpp
   230 g1MMUTracker.cpp			g1MMUTracker.hpp
   231 g1MMUTracker.cpp			ostream.hpp
   232 g1MMUTracker.cpp			mutexLocker.hpp
   234 g1MMUTracker.hpp			debug.hpp
   235 g1MMUTracker.hpp			allocation.hpp
   236 g1RemSet.cpp				bufferingOopClosure.hpp
   237 g1RemSet.cpp				concurrentG1Refine.hpp
   238 g1RemSet.cpp				concurrentG1RefineThread.hpp
   239 g1RemSet.cpp				g1BlockOffsetTable.inline.hpp
   240 g1RemSet.cpp				g1CollectedHeap.inline.hpp
   241 g1RemSet.cpp				g1CollectorPolicy.hpp
   242 g1RemSet.cpp				g1RemSet.inline.hpp
   243 g1RemSet.cpp				g1OopClosures.inline.hpp
   244 g1RemSet.cpp				heapRegionSeq.inline.hpp
   245 g1RemSet.cpp				intHisto.hpp
   246 g1RemSet.cpp				iterator.hpp
   247 g1RemSet.cpp				oop.inline.hpp
   249 g1RemSet.inline.hpp			g1RemSet.hpp
   250 g1RemSet.inline.hpp			heapRegionRemSet.hpp
   252 g1SATBCardTableModRefBS.cpp		g1SATBCardTableModRefBS.hpp
   253 g1SATBCardTableModRefBS.cpp		heapRegion.hpp
   254 g1SATBCardTableModRefBS.cpp		mutexLocker.hpp
   255 g1SATBCardTableModRefBS.cpp		thread.hpp
   256 g1SATBCardTableModRefBS.cpp		thread_<os_family>.inline.hpp
   257 g1SATBCardTableModRefBS.cpp		satbQueue.hpp
   259 g1SATBCardTableModRefBS.hpp		cardTableModRefBS.hpp
   260 g1SATBCardTableModRefBS.hpp		memRegion.hpp
   262 heapRegion.cpp                          concurrentZFThread.hpp
   263 heapRegion.cpp                          g1BlockOffsetTable.inline.hpp
   264 heapRegion.cpp                          g1CollectedHeap.inline.hpp
   265 heapRegion.cpp                          g1OopClosures.inline.hpp
   266 heapRegion.cpp                          genOopClosures.inline.hpp
   267 heapRegion.cpp                          heapRegion.inline.hpp
   268 heapRegion.cpp                          heapRegionRemSet.hpp
   269 heapRegion.cpp                          heapRegionSeq.inline.hpp
   270 heapRegion.cpp                          iterator.hpp
   271 heapRegion.cpp                          oop.inline.hpp
   273 heapRegion.hpp                          space.inline.hpp
   274 heapRegion.hpp                          spaceDecorator.hpp
   275 heapRegion.hpp                          g1BlockOffsetTable.inline.hpp
   276 heapRegion.hpp                          watermark.hpp
   277 heapRegion.hpp				g1_specialized_oop_closures.hpp
   278 heapRegion.hpp				survRateGroup.hpp
   279 heapRegion.hpp				ageTable.hpp
   281 heapRegionRemSet.hpp			sparsePRT.hpp
   283 heapRegionRemSet.cpp                    allocation.hpp
   284 heapRegionRemSet.cpp                    bitMap.inline.hpp
   285 heapRegionRemSet.cpp                    concurrentG1Refine.hpp
   286 heapRegionRemSet.cpp                    g1BlockOffsetTable.inline.hpp
   287 heapRegionRemSet.cpp                    g1CollectedHeap.inline.hpp
   288 heapRegionRemSet.cpp                    heapRegionRemSet.hpp
   289 heapRegionRemSet.cpp			heapRegionSeq.inline.hpp
   290 heapRegionRemSet.cpp                    globalDefinitions.hpp
   291 heapRegionRemSet.cpp                    space.inline.hpp
   293 heapRegionSeq.cpp                       allocation.hpp
   294 heapRegionSeq.cpp                       g1CollectedHeap.inline.hpp
   295 heapRegionSeq.cpp                       heapRegionSeq.hpp
   297 heapRegionSeq.hpp                       growableArray.hpp
   298 heapRegionSeq.hpp                       heapRegion.hpp
   300 heapRegionSeq.inline.hpp                heapRegionSeq.hpp
   302 klass.hpp				g1OopClosures.hpp
   304 ptrQueue.cpp                            allocation.hpp
   305 ptrQueue.cpp                            allocation.inline.hpp
   306 ptrQueue.cpp                            mutex.hpp
   307 ptrQueue.cpp                            mutexLocker.hpp
   308 ptrQueue.cpp                            ptrQueue.hpp
   309 ptrQueue.cpp                            ptrQueue.inline.hpp
   310 ptrQueue.cpp                            thread_<os_family>.inline.hpp
   312 ptrQueue.hpp                            allocation.hpp
   313 ptrQueue.hpp                            sizes.hpp
   315 ptrQueue.inline.hpp                     ptrQueue.hpp
   317 satbQueue.cpp                           allocation.inline.hpp
   318 satbQueue.cpp                           mutexLocker.hpp
   319 satbQueue.cpp                           ptrQueue.inline.hpp
   320 satbQueue.cpp                           satbQueue.hpp
   321 satbQueue.cpp                           sharedHeap.hpp
   322 satbQueue.cpp                           thread.hpp
   324 satbQueue.hpp                           ptrQueue.hpp
   326 sparsePRT.cpp				allocation.inline.hpp
   327 sparsePRT.cpp				cardTableModRefBS.hpp
   328 sparsePRT.cpp				heapRegion.hpp
   329 sparsePRT.cpp				heapRegionRemSet.hpp
   330 sparsePRT.cpp				mutexLocker.hpp
   331 sparsePRT.cpp				sparsePRT.hpp
   332 sparsePRT.cpp				space.inline.hpp
   334 sparsePRT.hpp				allocation.hpp
   335 sparsePRT.hpp				cardTableModRefBS.hpp
   336 sparsePRT.hpp				globalDefinitions.hpp
   337 sparsePRT.hpp				heapRegion.hpp
   338 sparsePRT.hpp				mutex.hpp
   340 specialized_oop_closures.hpp		g1_specialized_oop_closures.hpp
   342 survRateGroup.hpp			numberSeq.hpp
   344 survRateGroup.cpp			allocation.hpp
   345 survRateGroup.cpp			g1CollectedHeap.inline.hpp
   346 survRateGroup.cpp			g1CollectorPolicy.hpp
   347 survRateGroup.cpp			heapRegion.hpp
   348 survRateGroup.cpp			survRateGroup.hpp
   350 thread.cpp				concurrentMarkThread.inline.hpp
   352 universe.cpp                            g1CollectedHeap.inline.hpp
   353 universe.cpp                            g1CollectorPolicy.hpp
   355 vm_operations_g1.hpp			vmGCOperations.hpp
   357 vm_operations_g1.cpp			vm_operations_g1.hpp
   358 vm_operations_g1.cpp                    g1CollectedHeap.inline.hpp
   359 vm_operations_g1.cpp                    isGCActiveMark.hpp

mercurial