src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotspotDirectVirtualCallOp.java
equal
deleted
inserted
replaced
58 // The mark for an invocation that uses an inline cache must be placed at the |
58 // The mark for an invocation that uses an inline cache must be placed at the |
59 // instruction that loads the Klass from the inline cache. |
59 // instruction that loads the Klass from the inline cache. |
60 crb.recordMark(invokeKind == InvokeKind.Virtual ? config.MARKID_INVOKEVIRTUAL : config.MARKID_INVOKEINTERFACE); |
60 crb.recordMark(invokeKind == InvokeKind.Virtual ? config.MARKID_INVOKEVIRTUAL : config.MARKID_INVOKEINTERFACE); |
61 // This must be emitted exactly like this to ensure it's patchable |
61 // This must be emitted exactly like this to ensure it's patchable |
62 masm.movq(AMD64.rax, config.nonOopBits); |
62 masm.movq(AMD64.rax, config.nonOopBits); |
63 super.emitCode(crb, masm); |
63 int offset = super.emitCall(crb, masm); |
|
64 crb.recordInvokeVirtualOrInterfaceCallOp(offset, getPosition()); |
64 } |
65 } |
65 } |
66 } |