> 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