src/cpu/sparc/vm/templateTable_sparc.cpp

changeset 3368
52b5d32fbfaf
parent 3092
baf763f388e6
child 3400
22cee0ee8927
equal deleted inserted replaced
3367:da4dd142ea01 3368:52b5d32fbfaf
3348 //__ sll(Roffset, LogBytesPerWord, Roffset); // executed in delay slot 3348 //__ sll(Roffset, LogBytesPerWord, Roffset); // executed in delay slot
3349 __ add(Roffset, sizeof(constantPoolOopDesc), Roffset); 3349 __ add(Roffset, sizeof(constantPoolOopDesc), Roffset);
3350 __ ld_ptr(Rscratch, Roffset, RinstanceKlass); 3350 __ ld_ptr(Rscratch, Roffset, RinstanceKlass);
3351 3351
3352 // make sure klass is fully initialized: 3352 // make sure klass is fully initialized:
3353 __ ld(RinstanceKlass, instanceKlass::init_state_offset_in_bytes() + sizeof(oopDesc), G3_scratch); 3353 __ ldub(RinstanceKlass, instanceKlass::init_state_offset_in_bytes() + sizeof(oopDesc), G3_scratch);
3354 __ cmp(G3_scratch, instanceKlass::fully_initialized); 3354 __ cmp(G3_scratch, instanceKlass::fully_initialized);
3355 __ br(Assembler::notEqual, false, Assembler::pn, slow_case); 3355 __ br(Assembler::notEqual, false, Assembler::pn, slow_case);
3356 __ delayed()->ld(RinstanceKlass, Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc), Roffset); 3356 __ delayed()->ld(RinstanceKlass, Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc), Roffset);
3357 3357
3358 // get instance_size in instanceKlass (already aligned) 3358 // get instance_size in instanceKlass (already aligned)

mercurial