comparison src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp @ 14392:b5c8a61d7fa0

Merge
author kvn
date Fri, 21 Jun 2013 15:56:24 -0700
parents d2907f74462e f2110083203d
children e2722a66aba7
comparison
equal deleted inserted replaced
14391:d2907f74462e 14392:b5c8a61d7fa0
1 /* 1 /*
2 * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2002, 2013, 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.
41 if (p != NULL) { // XXX: error if p != NULL here 41 if (p != NULL) { // XXX: error if p != NULL here
42 oop o = oopDesc::load_decode_heap_oop_not_null(p); 42 oop o = oopDesc::load_decode_heap_oop_not_null(p);
43 if (o->is_forwarded()) { 43 if (o->is_forwarded()) {
44 o = o->forwardee(); 44 o = o->forwardee();
45 // Card mark 45 // Card mark
46 if (PSScavenge::is_obj_in_young((HeapWord*) o)) { 46 if (PSScavenge::is_obj_in_young(o)) {
47 PSScavenge::card_table()->inline_write_ref_field_gc(p, o); 47 PSScavenge::card_table()->inline_write_ref_field_gc(p, o);
48 } 48 }
49 oopDesc::encode_store_heap_oop_not_null(p, o); 49 oopDesc::encode_store_heap_oop_not_null(p, o);
50 } else { 50 } else {
51 push_depth(p); 51 push_depth(p);
151 } 151 }
152 } 152 }
153 153
154 // This is the promotion failed test, and code handling. 154 // This is the promotion failed test, and code handling.
155 // The code belongs here for two reasons. It is slightly 155 // The code belongs here for two reasons. It is slightly
156 // different thatn the code below, and cannot share the 156 // different than the code below, and cannot share the
157 // CAS testing code. Keeping the code here also minimizes 157 // CAS testing code. Keeping the code here also minimizes
158 // the impact on the common case fast path code. 158 // the impact on the common case fast path code.
159 159
160 if (new_obj == NULL) { 160 if (new_obj == NULL) {
161 _old_gen_is_full = true; 161 _old_gen_is_full = true;