On Tue, 28 Jan 2025 19:14:56 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: 98a93e11
Author:    Chris Plummer <cjplum...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/98a93e115137a305aed6b7dbf1d4a7d5906fe77c
Stats:     5 lines in 1 file changed: 4 ins; 0 del; 1 mod

8348800: Many serviceability/sa tests failing after JDK-8348239

Reviewed-by: shade, kevinw, lmesnik

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

PR: https://git.openjdk.org/jdk/pull/23339

Reply via email to