RFR: 8291360: Create entry points to expose low-level class file information [v2]
Harold Seigel
hseigel at openjdk.org
Mon Aug 1 18:57:21 UTC 2022
On Sun, 31 Jul 2022 22:02:11 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> Harold Seigel has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Improved tests, added mulit-dimensional array tests, simplified new java.lang.Class API's
>
> src/hotspot/share/include/jvm.h line 1163:
>
>> 1161:
>> 1162: /*
>> 1163: * Value types support.
>
> Value types? This is supporting the core reflection work isn't it?
I fixed this in the second commit.
> src/hotspot/share/prims/jvm.cpp line 4050:
>
>> 4048: /*
>> 4049: * Return the current class's class file version. The low order 16 bits of the
>> 4050: * the returned jint contains the class's major version. The high order 16 bits
>
> typo "the the" across the lines
> typo s/contains/contain/
Fixed!
> src/hotspot/share/prims/jvm.cpp line 4051:
>
>> 4049: * Return the current class's class file version. The low order 16 bits of the
>> 4050: * the returned jint contains the class's major version. The high order 16 bits
>> 4051: * contains the class's minor version.
>
> typo s/contains/contain/
Fixed.
> test/hotspot/jtreg/runtime/ClassFile/ClassAccessFlagsRawTest.java line 66:
>
>> 64: flags = (int)m.invoke((new SUPERnotset[2]).getClass());
>> 65: if (flags != 1) {
>> 66: throw new RuntimeException("expected 1, got " + flags + " for object array");
>
> Again hex output would be clearer
Changed this in the second commit to display hex outout.
> test/hotspot/jtreg/runtime/ClassFile/ClassFileVersionTest.java line 45:
>
>> 43: if (ver != expectedResult) {
>> 44: throw new RuntimeException(
>> 45: "expected " + expectedResult + ", got " + ver + " for class " + className);
>
> It would be clearer to show the expected and actual in minor:major format. That way if the test fails we can easily see which bit is wrong.
Changed to display as major:minor version.
> test/hotspot/jtreg/runtime/ClassFile/ClassFileVersionTest.java line 62:
>
>> 60: int ver = (int)m.invoke((new int[3]).getClass());
>> 61: if (ver != 64) {
>> 62: throw new RuntimeException("expected 64, got " + ver + " for primitive array");
>
> Again minor:major format.
Changed to display as major:minor version.
-------------
PR: https://git.openjdk.org/jdk/pull/9688
More information about the build-dev
mailing list