The following code (generated via wip javac)
static X$Point makePoint(int, int);
descriptor: (II)QX$Point;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
0: defaultvalue #1 // class X$Point
3: checkcast #3 // class X$Point
6: astore_2
7: iload_0
8: aload_2
9: swap
10: withfield #4 // Field x:I
13: astore_2
14: iload_1
15: aload_2
16: swap
17: withfield #8 // Field y:I
20: astore_2
21: aload_2
22: checkcast #11 // class "QX$Point;"
25: areturn
LineNumberTable:
line 5: 0
line 6: 7
line 7: 14
line 8: 21
LocalVariableTable:
Start Length Slot Name Signature
0 26 0 x I
0 26 1 y I
7 19 2 p LX$Point;
fails to verify at @bci 10 : Type 'X$Point' (current frame, stack[0]) is not assignable to inline type
static X$Point makePoint(int, int);
descriptor: (II)QX$Point;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
0: defaultvalue #1 // class X$Point
3: checkcast #3 // class X$Point
6: astore_2
7: iload_0
8: aload_2
9: swap
10: withfield #4 // Field x:I
13: astore_2
14: iload_1
15: aload_2
16: swap
17: withfield #8 // Field y:I
20: astore_2
21: aload_2
22: checkcast #11 // class "QX$Point;"
25: areturn
LineNumberTable:
line 5: 0
line 6: 7
line 7: 14
line 8: 21
LocalVariableTable:
Start Length Slot Name Signature
0 26 0 x I
0 26 1 y I
7 19 2 p LX$Point;
fails to verify at @bci 10 : Type 'X$Point' (current frame, stack[0]) is not assignable to inline type
- blocks
-
JDK-8244231 [lworld] Add support for ref-default and val-default inline classes.
- Resolved
- duplicates
-
JDK-8269274 [lworld] Withfield instruction fails to verify when operand stack contains LPrimitiveClass;
- Resolved