RFR: 8255744: Zero: handle JVM_CONSTANT_DynamicInError

Aleksey Shipilev shade at openjdk.java.net
Mon Nov 2 11:53:01 UTC 2020


JDK-8186211 introduced a few negative tests for Condy, and Zero seem to fail them:

$ CONF=linux-x86_64-zero-fastdebug make run-test TEST=java/lang/invoke/condy/CondyRepeatFailedResolution.java
# Internal Error (/home/shade/trunks/jdk/src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp:2289), pid=574573, tid=581749
# Error: ShouldNotReachHere()

After some debugging, I think Zero misses to handle `JVM_CONSTANT_DynamicInError`. I believe we can just do the same thing as `JVM_CONSTANT_Dynamic`, and then let `CALL_VM` to go to `handle_exception` on another resolution failure.

Additional testing:
 - [x] `CondyRepeatFailedResolution` test now passes on Linux x86_64 Zero

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

Commit messages:
 - 8255744: Zero: handle JVM_CONSTANT_DynamicInError

Changes: https://git.openjdk.java.net/jdk/pull/1004/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1004&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8255744
  Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1004.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1004/head:pull/1004

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


More information about the hotspot-runtime-dev mailing list