[lworld] RFR: 8231500: [lworld] Merge the experimental bytecode API
Mandy Chung
mchung at openjdk.java.net
Tue Dec 1 18:29:12 UTC 2020
On Wed, 25 Nov 2020 11:58:55 GMT, David Simms <dsimms at openjdk.org> wrote:
> * Moved to a single bytecode testing API
> * Cleaned out vbytecodes
> * Cleanup of tests not actually using the API
> * Removed TestNativeClone's API usage since cooking the method handle could no
> longer bypass the verifier's bad access check
Looks okay in general. For the new methods like `isValue`, `valueType` and `putValueClass` etc, they should be renamed to reflect the new terminology (inline class).
test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/InstructionHelper.java line 271:
> 269:
> 270: @Override
> 271: public boolean isValue(String desc) {
I think we should rename `isValue` to `isInlineClass` and also other new `xxxValue` methods
test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/InstructionHelper.java line 171:
> 169: }
> 170:
> 171: public static MethodHandle loadCode(MethodHandles.Lookup lookup, String className, String methodName, MethodType type, Consumer<? super MethodHandleCodeBuilder<?>> builder) {
Are these two `loadCode` methods taking a builder `Consumer` used by the tests?
If so, the following classes and methods can be made private to hide them as internals.
test/jdk/lib/testlibrary/bytecode/jdk/experimental/bytecode/BasicTypeHelper.java line 49:
> 47:
> 48: @Override
> 49: public boolean isValue(String t) {
s/isValue/isInlineClass/
test/jdk/lib/testlibrary/bytecode/jdk/experimental/bytecode/BasicTypeHelper.java line 59:
> 57:
> 58: @Override
> 59: public String valueType(String s) {
s/valueType/inlineType/
test/jdk/lib/testlibrary/bytecode/jdk/experimental/bytecode/BytePoolHelper.java line 341:
> 339:
> 340: @Override
> 341: public int putValueClass(S symbol) {
s/putValueClass/putInlineClass/
-------------
PR: https://git.openjdk.java.net/valhalla/pull/279
More information about the valhalla-dev
mailing list