RFR: 8254793: [JVMCI] improve speculation encoding

Doug Simon dnsimon at openjdk.java.net
Fri Oct 16 16:37:09 UTC 2020


On Wed, 14 Oct 2020 22:01:19 GMT, Doug Simon <dnsimon at openjdk.org> wrote:

> This PR changes the encoding of a `jdk.vm.ci.hotspot.HotSpotSpeculationLog.HotSpotSpeculation` from a long to an int.
> The `Thread::_pending_failed_speculation` field remains as a `jlong` since it is already exposed to JVMCI Java code
> already via VMStructs and this PR does not update its usage in Graal.

I've updated this PR such that an encoded speculation value is always stored/transported in a long. The encoding still
only uses 31 bits which means the instruction sequence emitted by Graal can still be optimized to a single store (e.g.
on x86 a MOVESLQ can write a 32 bit value sign extended to a long into a long memory location).

-------------

PR: https://git.openjdk.java.net/jdk/pull/667


More information about the hotspot-dev mailing list