RFR: 8291360: Create entry points to expose low-level class file information
Roger Riggs
rriggs at openjdk.org
Fri Jul 29 21:25:48 UTC 2022
On Fri, 29 Jul 2022 21:05:19 GMT, Roger Riggs <rriggs at openjdk.org> wrote:
>> Please review this change to fix JDK-8291360. This fix adds entry points getClassFileVersion() and getClassAccessFlagsRaw() to class java.lang.Class. The new entry points return the current class's class file version and its raw access flags.
>>
>> The fix was tested by running Mach5 tiers 1-2 on Linux, Mac OS, and Windows, and Mach5 tiers 1-3 on Linux x64. Additionally, the JCK lang, vm, and api tests and new regression tests were run locally on Linux x64.
>>
>> Thanks, Harold
>
> src/hotspot/share/prims/jvm.cpp line 4059:
>
>> 4057: return JVM_CLASSFILE_MAJOR_VERSION;
>> 4058: }
>> 4059: assert(!java_lang_Class::as_Klass(mirror)->is_array_klass(), "unexpected array class");
>
> Can this throw IllegalArgumentException instead.
> Asserts only report problems when built with debug (Right?)
Or, Can the VM do this traversal as/more efficiently than doing at the java level?
-------------
PR: https://git.openjdk.org/jdk/pull/9688
More information about the core-libs-dev
mailing list