Details
-
Bug
-
Status: Resolved
-
P3
-
Resolution: Fixed
-
18
-
b26
-
x86, arm, ppc, x86_64, aarch64, s390x
-
generic
Description
In C1, the load of a Klass* out of an object is currently identified by a load of type T_ADDRESS with offset oopDest::klass_offset_in_bytes(). When encountering such load, this may be decoded when +CompressedClassPointers. This is problematic and ugly: if we ever emit a T_ADDRESS load with offset 8 or 4 (== klass_offset_in_bytes) that is not a Klass*, we would attempt to decode the result. We have been lucky so far.
Also, in Lilliput, we want to do something entirely different there, and need to be able to emit more complex code, possibly including runtime call.
Also, in Lilliput, we want to do something entirely different there, and need to be able to emit more complex code, possibly including runtime call.
Attachments
Issue Links
- relates to
-
JDK-8278141 LIR_OpLoadKlass::_info shadows the field of the same name from LIR_Op
-
- Resolved
-
-
JDK-8026837 C1: metadata klass pointers should be of type T_METADATA
-
- Open
-
-
JDK-8277860 PPC: Remove duplicate info != NULL check
-
- Resolved
-