< prev index next >
src/hotspot/share/opto/macro.cpp
Print this page
@@ -1718,17 +1718,17 @@
// Encode array storage properties into klass pointer
assert(EnableValhalla, "array storage properties not supported");
if (UseCompressedClassPointers) {
// Compress the klass pointer before inserting the storage properties value
metadata = transform_later(new EncodePKlassNode(metadata, metadata->bottom_type()->make_narrowklass()));
- }
+ metadata = transform_later(new CastN2INode(metadata));
+ metadata = transform_later(new OrINode(metadata, transform_later(new ConvL2INode(properties))));
+ bt = T_INT;
+ } else {
metadata = transform_later(new CastP2XNode(NULL, metadata));
metadata = transform_later(new OrXNode(metadata, properties));
bt = T_LONG;
- if (UseCompressedClassPointers) {
- bt = T_INT;
- metadata = transform_later(new ConvL2INode(metadata));
}
}
rawmem = make_store(control, rawmem, object, oopDesc::klass_offset_in_bytes(), metadata, bt);
int header_size = alloc->minimum_header_size(); // conservatively small
< prev index next >