< prev index next >

src/hotspot/share/opto/macro.cpp

Print this page
*** 1675,11 ***
    if (!mark_node->is_Con()) {
      transform_later(mark_node);
    }
    rawmem = make_store(control, rawmem, object, oopDesc::mark_offset_in_bytes(), mark_node, TypeX_X->basic_type());
  
!   rawmem = make_store(control, rawmem, object, oopDesc::klass_offset_in_bytes(), klass_node, T_METADATA);
    int header_size = alloc->minimum_header_size();  // conservatively small
  
    // Array length
    if (length != nullptr) {         // Arrays need length field
      rawmem = make_store(control, rawmem, object, arrayOopDesc::length_offset_in_bytes(), length, T_INT);
--- 1675,14 ---
    if (!mark_node->is_Con()) {
      transform_later(mark_node);
    }
    rawmem = make_store(control, rawmem, object, oopDesc::mark_offset_in_bytes(), mark_node, TypeX_X->basic_type());
  
!   if (!UseCompactObjectHeaders) {
+     rawmem = make_store(control, rawmem, object, oopDesc::klass_offset_in_bytes(), klass_node, T_METADATA);
+   }
+ 
    int header_size = alloc->minimum_header_size();  // conservatively small
  
    // Array length
    if (length != nullptr) {         // Arrays need length field
      rawmem = make_store(control, rawmem, object, arrayOopDesc::length_offset_in_bytes(), length, T_INT);
< prev index next >