mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 10:04:42 +02:00
8186777: Make Klass::_java_mirror an OopHandle
Add indirection for fetching mirror so that GC doesn't have to follow CLD::_klasses Co-authored-by: Rickard Backman <rickard.backman@oracle.com> Reviewed-by: hseigel, thartmann, eosterlund, stefank
This commit is contained in:
parent
e31bc5637a
commit
73a801bc43
61 changed files with 383 additions and 477 deletions
|
@ -1304,7 +1304,9 @@ void LIRGenerator::do_getClass(Intrinsic* x) {
|
|||
// FIXME T_ADDRESS should actually be T_METADATA but it can't because the
|
||||
// meaning of these two is mixed up (see JDK-8026837).
|
||||
__ move(new LIR_Address(rcvr.result(), oopDesc::klass_offset_in_bytes(), T_ADDRESS), temp, info);
|
||||
__ move_wide(new LIR_Address(temp, in_bytes(Klass::java_mirror_offset()), T_OBJECT), result);
|
||||
__ move_wide(new LIR_Address(temp, in_bytes(Klass::java_mirror_offset()), T_ADDRESS), result);
|
||||
// mirror = ((OopHandle)mirror)->resolve();
|
||||
__ move_wide(new LIR_Address(result, T_OBJECT), result);
|
||||
}
|
||||
|
||||
// java.lang.Class::isPrimitive()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue