> DeoptimizeObjectsALotThread was being unconditionally added to the mapping
> table:
>
> virtualConstructor.addMapping("DeoptimizeObjectsALotThread",
> DeoptimizeObjectsALotThread.class);
>
> But is conditionally included in VMStructs:
>
> DEBUG_ONLY(COMPILER2_OR_JVMCI_PRESENT( \
> declare_type(DeoptimizeObjectsALotThread, JavaThread))) \
>
> There is code that iterates over all the mapping table entries and calls
> db.lookupType() on each. This results in a RuntimeException if the type is
> not present in the type database:
>
> Caused by: java.lang.RuntimeException: No type named
> "DeoptimizeObjectsALotThread" in database
>
> The fix is to not add it to the mapping table if it is not present in the
> database.
>
> Testing is in progresses. I did test locally with a debug build using
> TEST_VM_OPTS=-XX:+DeoptimizeObjectsALot to make sure the original
> DeoptimizeObjectsALotThread issue is still fixed, and then tested a release
> build without TEST_VM_OPTS=-XX:+DeoptimizeObjectsALot to make sure this new
> issue did not reproduce.
Chris Plummer has updated the pull request incrementally with one additional
commit since the last revision:
use lookupType() api that does not throw an exception.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/23339/files
- new: https://git.openjdk.org/jdk/pull/23339/files/10e03d38..561cd45a
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=23339&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=23339&range=00-01
Stats: 3 lines in 1 file changed: 0 ins; 2 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/23339.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23339/head:pull/23339
PR: https://git.openjdk.org/jdk/pull/23339