Mercurial > hg > truffle
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; |