Skip to content

Instantly share code, notes, and snippets.

@peschwa
Last active June 27, 2016 11:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peschwa/37e480db6fefd24e2fdd4cc0e2e51a8a to your computer and use it in GitHub Desktop.
Save peschwa/37e480db6fefd24e2fdd4cc0e2e51a8a to your computer and use it in GitHub Desktop.
public static void qb_1(org.perl6.nqp.runtime.CompilationUnit, org.perl6.nqp.runtime.ThreadContext, org.perl6.nqp.runtime.CodeRef, org.perl6.nqp
.runtime.CallSiteDescriptor, org.perl6.nqp.runtime.ResumeStatus$Frame);
Signature: (Lorg/perl6/nqp/runtime/CompilationUnit;Lorg/perl6/nqp/runtime/ThreadContext;Lorg/perl6/nqp/runtime/CodeRef;Lorg/perl6/nqp/runtime/
CallSiteDescriptor;Lorg/perl6/nqp/runtime/ResumeStatus$Frame;)V
flags: ACC_PUBLIC, ACC_STATIC
LineNumberTable:
line 1: 19
LocalVariableTable:
Start Length Slot Name Signature
0 180 3 __local_0 Lorg/perl6/nqp/runtime/CallSiteDescriptor;
0 180 2 __local_1 Lorg/perl6/nqp/runtime/CodeRef;
0 180 4 __local_2 Lorg/perl6/nqp/runtime/ResumeStatus$Frame;
0 180 1 __local_3 Lorg/perl6/nqp/runtime/ThreadContext;
0 180 5 __local_4 Lorg/perl6/nqp/sixmodel/SixModelObject;
0 180 6 __local_5 Lorg/perl6/nqp/runtime/CallFrame;
0 180 0 __local_6 Lorg/perl6/nqp/runtime/CompilationUnit;
Code:
stack=7, locals=7, args_size=5
0: aconst_null
1: astore 5
3: aload 4
5: ifnonnull 113
8: new #16 // class org/perl6/nqp/runtime/CallFrame
11: dup
12: aload_1
13: aload_2
14: invokespecial #20 // Method org/perl6/nqp/runtime/CallFrame."<init>":(Lorg/perl6/nqp/runtime/ThreadContext;Lorg/perl6/
nqp/runtime/CodeRef;)V
17: astore 6
19: aconst_null
20: pop
21: ldc #22 // String 7F384F8C3B9A67970AF83B123604F0CF4760ADBC
23: bipush 13
25: aload_1
26: invokedynamic #32, 0 // InvokeDynamic #0:wval_noa:(Ljava/lang/String;ILorg/perl6/nqp/runtime/ThreadContext;)Lorg/perl6/nqp/sixmodel/SixModelObject;
31: astore 5
33: ldc #34 // String &EVAL
35: iconst_0
36: aload_1
37: aload 5
39: invokedynamic #349, 0 // InvokeDynamic #4:subcall_noa:(Ljava/lang/String;ILorg/perl6/nqp/runtime/ThreadContext;Lorg/perl6/nqp/sixmodel/SixModelObject;)V
44: goto 51
47: iconst_0
48: goto 89
51: aload 6
53: invokestatic #49 // Method org/perl6/nqp/runtime/Ops.result_o:(Lorg/perl6/nqp/runtime/CallFrame;)Lorg/perl6/nqp/sixmodel/SixModelObject;
56: aload 6
58: invokestatic #53 // Method org/perl6/nqp/runtime/Ops.return_o:(Lorg/perl6/nqp/sixmodel/SixModelObject;Lorg/perl6/nqp/runtime/CallFrame;)V
61: goto 83
64: dup
65: instanceof #57 // class org/perl6/nqp/runtime/ControlException
68: ifeq 77
71: aload 6
73: invokevirtual #61 // Method org/perl6/nqp/runtime/CallFrame.leave:()V
76: athrow
77: aload_1
78: swap
79: invokestatic #67 // Method org/perl6/nqp/runtime/ExceptionHandling.dieInternal:(Lorg/perl6/nqp/runtime/ThreadContext;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
82: athrow
83: aload 6
85: invokevirtual #61 // Method org/perl6/nqp/runtime/CallFrame.leave:()V
88: return
89: aconst_null
90: iconst_3
91: anewarray #69 // class java/lang/Object
94: dup
95: iconst_0
96: aload_2
97: aastore
98: dup
99: iconst_1
100: aload_3
101: aastore
102: dup
103: iconst_2
104: aload 5
106: aastore
107: aload 6
109: invokevirtual #73 // Method org/perl6/nqp/runtime/SaveStackException.pushFrame:(ILjava/lang/invoke/MethodHandle;[Ljava/lang/Object;Lorg/perl6/nqp/runtime/CallFrame;)Lorg/perl6/nqp/runtime/SaveStackException;
112: athrow
113: aload 4
115: getfield #79 // Field org/perl6/nqp/runtime/ResumeStatus$Frame.tc:Lorg/perl6/nqp/runtime/ThreadContext;
118: astore_1
119: aload 4
121: getfield #83 // Field org/perl6/nqp/runtime/ResumeStatus$Frame.callFrame:Lorg/perl6/nqp/runtime/CallFrame;
124: astore 6
126: aload 4
128: getfield #87 // Field org/perl6/nqp/runtime/ResumeStatus$Frame.saveSpace:[Ljava/lang/Object;
131: dup
132: iconst_0
133: aaload
134: checkcast #89 // class org/perl6/nqp/runtime/CodeRef
137: astore_2
138: dup
139: iconst_1
140: aaload
141: checkcast #91 // class org/perl6/nqp/runtime/CallSiteDescriptor
144: astore_3
145: iconst_2
146: aaload
147: checkcast #93 // class org/perl6/nqp/sixmodel/SixModelObject
150: astore 5
152: aload 4
154: invokevirtual #96 // Method org/perl6/nqp/runtime/ResumeStatus$Frame.resumeNextSave:()V
157: aload 4
159: getfield #100 // Field org/perl6/nqp/runtime/ResumeStatus$Frame.resumePoint:I
162: tableswitch { // 0 to 0
0: 44
default: 44
}
Exception table:
from to target type
39 47 47 Class org/perl6/nqp/runtime/SaveStackException
19 64 64 Class java/lang/Throwable
LocalVariableTable:
Start Length Slot Name Signature
0 180 3 __local_0 Lorg/perl6/nqp/runtime/CallSiteDescriptor;
0 180 2 __local_1 Lorg/perl6/nqp/runtime/CodeRef;
0 180 4 __local_2 Lorg/perl6/nqp/runtime/ResumeStatus$Frame;
0 180 1 __local_3 Lorg/perl6/nqp/runtime/ThreadContext;
0 180 5 __local_4 Lorg/perl6/nqp/sixmodel/SixModelObject;
0 180 6 __local_5 Lorg/perl6/nqp/runtime/CallFrame;
0 180 0 __local_6 Lorg/perl6/nqp/runtime/CompilationUnit;
LineNumberTable:
line 1: 19
StackMapTable: number_of_entries = 8
frame_type = 253 /* append */
offset_delta = 44
locals = [ class org/perl6/nqp/sixmodel/SixModelObject, class org/perl6/nqp/runtime/CallFrame ]
frame_type = 66 /* same_locals_1_stack_item */
stack = [ class org/perl6/nqp/runtime/SaveStackException ]
frame_type = 3 /* same */
frame_type = 76 /* same_locals_1_stack_item */
stack = [ class java/lang/Throwable ]
frame_type = 76 /* same_locals_1_stack_item */
stack = [ class java/lang/Throwable ]
frame_type = 5 /* same */
frame_type = 255 /* full_frame */
offset_delta = 5
locals = [ class org/perl6/nqp/runtime/CompilationUnit, class org/perl6/nqp/runtime/ThreadContext, class org/perl6/nqp/runtime/CodeRef, class org/perl6/nqp/runtime/CallSiteDescriptor, class org/perl6/nqp/runtime/ResumeStatus$Frame, class org/perl6/nqp/sixmodel/SixModelObject, class org/perl6/nqp/runtime/CallFrame ]
stack = [ class org/perl6/nqp/runtime/SaveStackException, int ]
frame_type = 255 /* full_frame */
offset_delta = 23
locals = [ class org/perl6/nqp/runtime/CompilationUnit, class org/perl6/nqp/runtime/ThreadContext, class org/perl6/nqp/runtime/CodeRef, class org/perl6/nqp/runtime/CallSiteDescriptor, class org/perl6/nqp/runtime/ResumeStatus$Frame, null ]
stack = []
RuntimeVisibleAnnotations:
0: #8(#9=s#10,#341=s#342,#11=I#343,#13=S#14)
o$ ./perl6-j -I. -e'use Foo'
compiling 3C21A6EA921B127083C5ADFCFB60A138CC3F5450, /home/psch/rakudo/rakudo/Foo.pm (Foo)
frames elems: 0
we don't got no frames
and it got 0 elems
and it got 5 elems after as_jast
returning JCLASS now
compiling 21316D54E5F8D09F8D6F915FC1CFFE3FB07F3B9F, EVAL_0
frames elems: 1
we don't got no frames
and it got 0 elems
and it got 5 elems after as_jast
returning JCLASS now
compiling AAE21B874C02795AD2F4893DF423B7A0F898FA57, EVAL_0
frames elems: 2
we got frames
and it got 6 elems
and it got 7 elems after as_jast
returning JCLASS now
compiling 7E7511278C8DE0525B9155994FF76532160F0E88, /home/psch/rakudo/rakudo/Foo.pm (Foo)
frames elems: 2
we got frames
and it got 6 elems
and it got 13 elems after as_jast
adding patch meth now
got qb_1 HOW: JAST::Method
returning JCLASS now
hi
===SORRY!===
java.lang.NullPointerException
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment