6696264: assert("narrow oop can never be zero") for GCBasher & ParNewGC

Decouple set_klass() with zeroing the gap when compressed.

Reviewed-by: kvn, ysr, jrose
This commit is contained in:
Coleen Phillimore 2008-05-28 21:06:24 -07:00
parent 1f9e095ee3
commit 646ceb4a45
12 changed files with 67 additions and 20 deletions

View file

@ -3222,7 +3222,8 @@ void TemplateTable::_new() {
__ set((intptr_t)markOopDesc::prototype(), G4_scratch);
}
__ st_ptr(G4_scratch, RallocatedObject, oopDesc::mark_offset_in_bytes()); // mark
__ store_klass(RinstanceKlass, RallocatedObject); // klass
__ store_klass_gap(G0, RallocatedObject); // klass gap if compressed
__ store_klass(RinstanceKlass, RallocatedObject); // klass (last for cms)
{
SkipIfEqual skip_if(