hotspot/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp
changeset 35548 8d3afe96ffea
parent 34148 6efbc7ffd767
child 41336 b1fe5872f8f0
equal deleted inserted replaced
35547:0ee84aa8e705 35548:8d3afe96ffea
   433           // get the instance size
   433           // get the instance size
   434           __ ld(G5_klass, in_bytes(Klass::layout_helper_offset()), G1_obj_size);
   434           __ ld(G5_klass, in_bytes(Klass::layout_helper_offset()), G1_obj_size);
   435 
   435 
   436           __ tlab_allocate(O0_obj, G1_obj_size, 0, G3_t1, slow_path);
   436           __ tlab_allocate(O0_obj, G1_obj_size, 0, G3_t1, slow_path);
   437 
   437 
   438           __ initialize_object(O0_obj, G5_klass, G1_obj_size, 0, G3_t1, G4_t2);
   438           __ initialize_object(O0_obj, G5_klass, G1_obj_size, 0, G3_t1, G4_t2, /* is_tlab_allocated */ true);
   439           __ verify_oop(O0_obj);
   439           __ verify_oop(O0_obj);
   440           __ mov(O0, I0);
   440           __ mov(O0, I0);
   441           __ ret();
   441           __ ret();
   442           __ delayed()->restore();
   442           __ delayed()->restore();
   443 
   443 
   445           // get the instance size
   445           // get the instance size
   446           __ ld(G5_klass, in_bytes(Klass::layout_helper_offset()), G1_obj_size);
   446           __ ld(G5_klass, in_bytes(Klass::layout_helper_offset()), G1_obj_size);
   447           __ eden_allocate(O0_obj, G1_obj_size, 0, G3_t1, G4_t2, slow_path);
   447           __ eden_allocate(O0_obj, G1_obj_size, 0, G3_t1, G4_t2, slow_path);
   448           __ incr_allocated_bytes(G1_obj_size, G3_t1, G4_t2);
   448           __ incr_allocated_bytes(G1_obj_size, G3_t1, G4_t2);
   449 
   449 
   450           __ initialize_object(O0_obj, G5_klass, G1_obj_size, 0, G3_t1, G4_t2);
   450           __ initialize_object(O0_obj, G5_klass, G1_obj_size, 0, G3_t1, G4_t2, /* is_tlab_allocated */ false);
   451           __ verify_oop(O0_obj);
   451           __ verify_oop(O0_obj);
   452           __ mov(O0, I0);
   452           __ mov(O0, I0);
   453           __ ret();
   453           __ ret();
   454           __ delayed()->restore();
   454           __ delayed()->restore();
   455 
   455 
   540 
   540 
   541           __ initialize_header(O0_obj, G5_klass, G4_length, G3_t1, O1_t2);
   541           __ initialize_header(O0_obj, G5_klass, G4_length, G3_t1, O1_t2);
   542           __ ldub(klass_lh, G3_t1, klass_lh_header_size_offset);
   542           __ ldub(klass_lh, G3_t1, klass_lh_header_size_offset);
   543           __ sub(G1_arr_size, G3_t1, O1_t2);  // body length
   543           __ sub(G1_arr_size, G3_t1, O1_t2);  // body length
   544           __ add(O0_obj, G3_t1, G3_t1);       // body start
   544           __ add(O0_obj, G3_t1, G3_t1);       // body start
   545           __ initialize_body(G3_t1, O1_t2);
   545           if (!ZeroTLAB) {
       
   546             __ initialize_body(G3_t1, O1_t2);
       
   547           }
   546           __ verify_oop(O0_obj);
   548           __ verify_oop(O0_obj);
   547           __ retl();
   549           __ retl();
   548           __ delayed()->nop();
   550           __ delayed()->nop();
   549 
   551 
   550           __ bind(try_eden);
   552           __ bind(try_eden);