comparison src/share/vm/gc_implementation/g1/heapRegion.hpp @ 4783:023652e49ac0

7121496: G1: do the per-region evacuation failure handling work in parallel Summary: Parallelize the removal of self forwarding pointers etc. by wrapping in a HeapRegion closure, which is then wrapped inside an AbstractGangTask. Reviewed-by: tonyp, iveresov
author johnc
date Fri, 23 Dec 2011 11:14:18 -0800
parents dc467e8b2c5e
children 2ace1c4ee8da
comparison
equal deleted inserted replaced
4782:5fd354a959c5 4783:023652e49ac0
1 /* 1 /*
2 * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 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 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
371 FinalCountClaimValue = 1, 371 FinalCountClaimValue = 1,
372 NoteEndClaimValue = 2, 372 NoteEndClaimValue = 2,
373 ScrubRemSetClaimValue = 3, 373 ScrubRemSetClaimValue = 3,
374 ParVerifyClaimValue = 4, 374 ParVerifyClaimValue = 4,
375 RebuildRSClaimValue = 5, 375 RebuildRSClaimValue = 5,
376 CompleteMarkCSetClaimValue = 6 376 CompleteMarkCSetClaimValue = 6,
377 ParEvacFailureClaimValue = 7
377 }; 378 };
378 379
379 inline HeapWord* par_allocate_no_bot_updates(size_t word_size) { 380 inline HeapWord* par_allocate_no_bot_updates(size_t word_size) {
380 assert(is_young(), "we can only skip BOT updates on young regions"); 381 assert(is_young(), "we can only skip BOT updates on young regions");
381 return ContiguousSpace::par_allocate(word_size); 382 return ContiguousSpace::par_allocate(word_size);