From 95da499ef229d0dfd5fc348f68b9bfd91015b045 Mon Sep 17 00:00:00 2001 From: Thomas Stuefe Date: Thu, 18 May 2023 05:47:23 +0000 Subject: [PATCH] 8308285: Assert on -Xshare:dump when running with -Xlog:cds=trace Reviewed-by: ccheung, iklam --- src/hotspot/share/classfile/javaClasses.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/hotspot/share/classfile/javaClasses.cpp b/src/hotspot/share/classfile/javaClasses.cpp index 6649f46fe04..a7582e535e6 100644 --- a/src/hotspot/share/classfile/javaClasses.cpp +++ b/src/hotspot/share/classfile/javaClasses.cpp @@ -1364,7 +1364,15 @@ BasicType java_lang_Class::primitive_type(oop java_class) { } else { assert(java_class == Universe::void_mirror(), "only valid non-array primitive"); } - assert(Universe::java_mirror(type) == java_class, "must be consistent"); +#ifdef ASSERT + if (DumpSharedSpaces) { + oop mirror = Universe::java_mirror(type); + oop scratch_mirror = HeapShared::scratch_java_mirror(type); + assert(java_class == mirror || java_class == scratch_mirror, "must be consistent"); + } else { + assert(Universe::java_mirror(type) == java_class, "must be consistent"); + } +#endif return type; }