-
Enhancement
-
Resolution: Fixed
-
P4
-
11, 16
-
b19
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8279604 | 11.0.15-oracle | Tobias Hartmann | P4 | Resolved | Fixed | b02 |
The current way Graal implements implicit trap is different than C2 does. C2 traps into some snippet code in the emitted code and then calls into the uncommon trap, while Graal directly traps into the deopt blob (see implicit_exception_uncommon_trap_offset). This means we cannot pass additional information such as concrete deoptimization action and the speculation.
To resolve this, we need to allow JVMCI to append (exception offset, dispatch offset) pair into the implicit exception table. Currently we only pass the exception offset from Graal and append to the implicit exception table the same dispatch offset as exception offset, and use it as a special marker to instruct the signal handler dispatching to implicit_exception_uncommon_trap_offset.
To resolve this, we need to allow JVMCI to append (exception offset, dispatch offset) pair into the implicit exception table. Currently we only pass the exception offset from Graal and append to the implicit exception table the same dispatch offset as exception offset, and use it as a special marker to instruct the signal handler dispatching to implicit_exception_uncommon_trap_offset.
- backported by
-
JDK-8279604 [JVMCI] Allow implicit exception to dispatch to other address in jvmci compilers.
- Resolved