src/share/vm/opto/graphKit.cpp

changeset 1462
39b01ab7035a
parent 1420
685e959d09ea
child 1515
7c57aead6d3e
equal deleted inserted replaced
1460:1ee412f7fec9 1462:39b01ab7035a
3184 && Universe::heap()->can_elide_permanent_oop_store_barriers()) 3184 && Universe::heap()->can_elide_permanent_oop_store_barriers())
3185 // no store barrier needed, because no old-to-new ref created 3185 // no store barrier needed, because no old-to-new ref created
3186 return; 3186 return;
3187 } 3187 }
3188 3188
3189 if (use_ReduceInitialCardMarks()
3190 && obj == just_allocated_object(control())) {
3191 // We can skip marks on a freshly-allocated object in Eden.
3192 // Keep this code in sync with maybe_defer_card_mark() in runtime.cpp.
3193 // That routine informs GC to take appropriate compensating steps
3194 // so as to make this card-mark elision safe.
3195 return;
3196 }
3197
3189 if (!use_precise) { 3198 if (!use_precise) {
3190 // All card marks for a (non-array) instance are in one place: 3199 // All card marks for a (non-array) instance are in one place:
3191 adr = obj; 3200 adr = obj;
3192 } 3201 }
3193 // (Else it's an array (or unknown), and we want more precise card marks.) 3202 // (Else it's an array (or unknown), and we want more precise card marks.)

mercurial