This repository has been archived by the owner on Nov 15, 2022. It is now read-only.
mirrored from https://android.googlesource.com/platform/dalvik.git
-
Notifications
You must be signed in to change notification settings - Fork 262
/
expected.txt
7147 lines (6967 loc) · 539 KB
/
expected.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Processing 'out.dex'...
Opened 'out.dex', DEX version '038'
Class #0 -
Class descriptor : 'Linvokecustom/Super;'
Access flags : 0x0400 (ABSTRACT)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
#0 : (in Linvokecustom/Super;)
name : '<init>'
type : '()V'
access : 0x10000 (CONSTRUCTOR)
code -
registers : 1
ins : 1
outs : 1
insns size : 4 16-bit code units
0040ac: |[0040ac] invokecustom.Super.<init>:()V
0040bc: 7010 b300 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00b3
0040c2: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=25
locals :
0x0000 - 0x0004 reg=0 this Linvokecustom/Super;
Virtual methods -
#0 : (in Linvokecustom/Super;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0401 (PUBLIC ABSTRACT)
code : (none)
#1 : (in Linvokecustom/Super;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
0040c4: |[0040c4] invokecustom.Super.targetMethodTest4:()V
0040d4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0040d8: 1a01 7600 |0002: const-string v1, "targetMethodTest4 from Super" // string@0076
0040dc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0040e2: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=27
0x0007 line=28
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/Super;
source_file_idx : 25 (InvokeCustom.java)
Class #1 -
Class descriptor : 'Linvokecustom/InvokeCustom1;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom1;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom1;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom1;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
0040e4: |[0040e4] invokecustom.InvokeCustom1.<clinit>:()V
0040f4: 1200 |0000: const/4 v0, #int 0 // #0
0040f6: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
0040fa: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom1;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
0040fc: |[0040fc] invokecustom.InvokeCustom1.<init>:()V
00410c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
004112: 1200 |0003: const/4 v0, #int 0 // #0
004114: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
004118: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom1;
#2 : (in Linvokecustom/InvokeCustom1;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
00411c: |[00411c] invokecustom.InvokeCustom1.<init>:(I)V
00412c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
004132: 1200 |0003: const/4 v0, #int 0 // #0
004134: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
004138: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00413c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004140: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004146: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018
00414a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004150: 0c01 |0012: move-result-object v1
004152: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004158: 0c01 |0016: move-result-object v1
00415a: 1a02 0700 |0017: const-string v2, ")" // string@0007
00415e: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004164: 0c01 |001c: move-result-object v1
004166: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00416c: 0c01 |0020: move-result-object v1
00416e: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004174: 0e00 |0024: return-void
catches : (none)
positions :
0x0000 line=36
0x0003 line=111
0x0006 line=37
0x0024 line=38
locals :
0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom1;
0x0000 - 0x0025 reg=4 (null) I
#3 : (in Linvokecustom/InvokeCustom1;)
name : 'bsmCreateCallSite'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 4
outs : 2
insns size : 36 16-bit code units
004178: |[004178] invokecustom.InvokeCustom1.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
004188: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00418c: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004190: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004196: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056
00419a: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0041a0: 0c01 |000c: move-result-object v1
0041a2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0041a8: 0c01 |0010: move-result-object v1
0041aa: 1a02 5200 |0011: const-string v2, "]" // string@0052
0041ae: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0041b4: 0c01 |0016: move-result-object v1
0041b6: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0041bc: 0c01 |001a: move-result-object v1
0041be: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0041c4: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b
0041c8: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0041ce: 1100 |0023: return-object v0
catches : (none)
positions :
0x0000 line=156
0x001e line=157
locals :
0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0024 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle;
#4 : (in Linvokecustom/InvokeCustom1;)
name : 'bsmLookupStatic'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 3
outs : 4
insns size : 29 16-bit code units
0041d0: |[0041d0] invokecustom.InvokeCustom1.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
0041e0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0041e4: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058
0041e8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0041ee: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0041f4: 0c00 |000a: move-result-object v0
0041f6: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0041fc: 0c01 |000e: move-result-object v1
0041fe: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
004204: 0c00 |0012: move-result-object v0
004206: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
00420a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
004210: 0c00 |0018: move-result-object v0
004212: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
004218: 1101 |001c: return-object v1
catches : (none)
positions :
0x0000 line=138
0x0007 line=139
0x000b line=140
0x0013 line=141
locals :
0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x001d reg=3 (null) Ljava/lang/String;
0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType;
#5 : (in Linvokecustom/InvokeCustom1;)
name : 'bsmLookupStaticWithExtraArgs'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 9
outs : 4
insns size : 82 16-bit code units
00421c: |[00421c] invokecustom.InvokeCustom1.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
00422c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004230: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004234: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00423a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a
00423e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004244: 0c01 |000c: move-result-object v1
004246: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00424c: 0c01 |0010: move-result-object v1
00424e: 1a02 0800 |0011: const-string v2, ", " // string@0008
004252: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004258: 0c01 |0016: move-result-object v1
00425a: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004260: 0c01 |001a: move-result-object v1
004262: 1a02 0800 |001b: const-string v2, ", " // string@0008
004266: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00426c: 0c01 |0020: move-result-object v1
00426e: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004274: 0c01 |0024: move-result-object v1
004276: 1a02 0800 |0025: const-string v2, ", " // string@0008
00427a: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004280: 0c01 |002a: move-result-object v1
004282: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
004288: 0c01 |002e: move-result-object v1
00428a: 1a02 5200 |002f: const-string v2, "]" // string@0052
00428e: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004294: 0c01 |0034: move-result-object v1
004296: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00429c: 0c01 |0038: move-result-object v1
00429e: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0042a4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0042aa: 0c00 |003f: move-result-object v0
0042ac: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0042b2: 0c01 |0043: move-result-object v1
0042b4: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0042ba: 0c00 |0047: move-result-object v0
0042bc: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0042c0: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0042c6: 0c00 |004d: move-result-object v0
0042c8: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0042ce: 1101 |0051: return-object v1
catches : (none)
positions :
0x0000 line=147
0x003c line=148
0x0040 line=149
0x0048 line=150
locals :
0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0052 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0052 reg=6 (null) I
0x0000 - 0x0052 reg=7 (null) J
0x0000 - 0x0052 reg=9 (null) F
0x0000 - 0x0052 reg=10 (null) D
#6 : (in Linvokecustom/InvokeCustom1;)
name : 'bsmLookupTest9'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 13
ins : 10
outs : 4
insns size : 135 16-bit code units
0042d0: |[0042d0] invokecustom.InvokeCustom1.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
0042e0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0042e4: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0042e8: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0042ee: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c
0042f2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0042f8: 0c01 |000c: move-result-object v1
0042fa: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004300: 0c01 |0010: move-result-object v1
004302: 1a02 0800 |0011: const-string v2, ", " // string@0008
004306: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00430c: 0c01 |0016: move-result-object v1
00430e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004314: 0c01 |001a: move-result-object v1
004316: 1a02 0800 |001b: const-string v2, ", " // string@0008
00431a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004320: 0c01 |0020: move-result-object v1
004322: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004328: 0c01 |0024: move-result-object v1
00432a: 1a02 0800 |0025: const-string v2, ", " // string@0008
00432e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004334: 0c01 |002a: move-result-object v1
004336: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
00433c: 0c01 |002e: move-result-object v1
00433e: 1a02 5200 |002f: const-string v2, "]" // string@0052
004342: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004348: 0c01 |0034: move-result-object v1
00434a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004350: 0c01 |0038: move-result-object v1
004352: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004358: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00435c: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004360: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004366: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00436c: 0c01 |0046: move-result-object v1
00436e: 1a02 0000 |0047: const-string v2, " " // string@0000
004372: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004378: 0c01 |004c: move-result-object v1
00437a: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004380: 0c01 |0050: move-result-object v1
004382: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004388: 0c01 |0054: move-result-object v1
00438a: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004390: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b
004396: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e
00439a: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094
0043a0: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a
0043a6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c
0043ae: 1230 |0067: const/4 v0, #int 3 // #3
0043b0: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005
0043b8: 0c00 |006c: move-result-object v0
0043ba: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c
0043c2: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0043c8: 0c00 |0074: move-result-object v0
0043ca: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0043d0: 0c01 |0078: move-result-object v1
0043d2: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0043d8: 0c00 |007c: move-result-object v0
0043da: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0043de: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0043e4: 0c00 |0082: move-result-object v0
0043e6: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0043ec: 1101 |0086: return-object v1
catches : (none)
positions :
0x0000 line=166
0x003c line=168
0x0058 line=171
0x005b line=172
0x0060 line=173
0x0063 line=176
0x0067 line=178
0x006d line=179
0x0071 line=181
0x0075 line=182
0x007d line=183
locals :
0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0087 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle;
#7 : (in Linvokecustom/InvokeCustom1;)
name : 'checkFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x0002 (PRIVATE)
code -
registers : 9
ins : 3
outs : 3
insns size : 82 16-bit code units
0043f0: |[0043f0] invokecustom.InvokeCustom1.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
004400: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f
004406: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
00440e: 0a00 |0007: move-result v0
004410: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d
004418: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
004420: 0a01 |0010: move-result v1
004422: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004426: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
00442a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004430: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e
004434: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00443a: 0c03 |001d: move-result-object v3
00443c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004442: 0c00 |0021: move-result-object v0
004444: 1a03 0600 |0022: const-string v3, " new " // string@0006
004448: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00444e: 0c00 |0027: move-result-object v0
004450: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004456: 0c00 |002b: move-result-object v0
004458: 1a03 0500 |002c: const-string v3, " expected " // string@0005
00445c: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004462: 0c00 |0031: move-result-object v0
004464: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00446a: 0c00 |0035: move-result-object v0
00446c: 1a03 0000 |0036: const-string v3, " " // string@0000
004470: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004476: 0c00 |003b: move-result-object v0
004478: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00447e: 0c00 |003f: move-result-object v0
004480: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
004486: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00448a: 2d00 0105 |0045: cmpl-float v0, v1, v5
00448e: 3900 0800 |0047: if-nez v0, 004f // +0008
004492: 1a00 4000 |0049: const-string v0, "OK" // string@0040
004496: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00449c: 0e00 |004e: return-void
00449e: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010
0044a2: 28fa |0051: goto 004b // -0006
catches : (none)
positions :
0x0003 line=116
0x0008 line=117
0x000c line=118
0x0011 line=119
0x0043 line=121
0x004e line=122
0x004f line=121
locals :
0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom1;
0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle;
#8 : (in Linvokecustom/InvokeCustom1;)
name : 'checkStaticFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 8
ins : 2
outs : 2
insns size : 80 16-bit code units
0044a4: |[0044a4] invokecustom.InvokeCustom1.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
0044b4: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210
0044ba: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
0044c2: 0a00 |0007: move-result v0
0044c4: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a
0044cc: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
0044d4: 0a01 |0010: move-result v1
0044d6: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0044da: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0044de: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0044e4: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060
0044e8: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0044ee: 0c03 |001d: move-result-object v3
0044f0: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0044f6: 0c00 |0021: move-result-object v0
0044f8: 1a03 0600 |0022: const-string v3, " new " // string@0006
0044fc: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004502: 0c00 |0027: move-result-object v0
004504: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00450a: 0c00 |002b: move-result-object v0
00450c: 1a03 0500 |002c: const-string v3, " expected " // string@0005
004510: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004516: 0c00 |0031: move-result-object v0
004518: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00451e: 0c00 |0035: move-result-object v0
004520: 1a03 0000 |0036: const-string v3, " " // string@0000
004524: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00452a: 0c00 |003b: move-result-object v0
00452c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004532: 0c00 |003f: move-result-object v0
004534: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
00453a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00453e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008
004542: 1a00 4000 |0047: const-string v0, "OK" // string@0040
004546: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00454c: 0e00 |004c: return-void
00454e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010
004552: 28fa |004f: goto 0049 // -0006
catches : (none)
positions :
0x0003 line=103
0x0008 line=104
0x000c line=105
0x0011 line=106
0x0043 line=108
0x004c line=109
0x004d line=108
locals :
0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle;
#9 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest1'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
004554: |[004554] invokecustom.InvokeCustom1.targetMethodTest1:()V
004564: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004568: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015
00456c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004572: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=41
0x0007 line=42
locals :
#10 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest2'
type : '(ZBCSIFJDLjava/lang/String;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 13
ins : 11
outs : 3
insns size : 46 16-bit code units
004574: |[004574] invokecustom.InvokeCustom1.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
004584: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004588: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2
00458e: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004592: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af
004598: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00459c: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac
0045a2: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045a6: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af
0045ac: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045b0: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af
0045b6: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045ba: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae
0045c0: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045c4: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0
0045ca: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045ce: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad
0045d4: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045d8: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0045de: 0e00 |002d: return-void
catches : (none)
positions :
0x0000 line=46
0x0005 line=47
0x000a line=48
0x000f line=49
0x0014 line=50
0x0019 line=51
0x001e line=52
0x0023 line=53
0x0028 line=54
0x002d line=55
locals :
0x0000 - 0x002e reg=2 (null) Z
0x0000 - 0x002e reg=3 (null) B
0x0000 - 0x002e reg=4 (null) C
0x0000 - 0x002e reg=5 (null) S
0x0000 - 0x002e reg=6 (null) I
0x0000 - 0x002e reg=7 (null) F
0x0000 - 0x002e reg=8 (null) J
0x0000 - 0x002e reg=10 (null) D
0x0000 - 0x002e reg=12 (null) Ljava/lang/String;
#11 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest3'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
0045e0: |[0045e0] invokecustom.InvokeCustom1.targetMethodTest3:()V
0045f0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045f4: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073
0045f8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0045fe: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=58
0x0007 line=59
locals :
#12 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest5'
type : '(III)I'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 3
outs : 2
insns size : 83 16-bit code units
004600: |[004600] invokecustom.InvokeCustom1.targetMethodTest5:(III)I
004610: 9000 0405 |0000: add-int v0, v4, v5
004614: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004618: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017
00461c: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004622: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078
004626: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00462c: 0c02 |000e: move-result-object v2
00462e: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004634: 0c02 |0012: move-result-object v2
004636: 1a03 0300 |0013: const-string v3, " + " // string@0003
00463a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004640: 0c02 |0018: move-result-object v2
004642: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004648: 0c02 |001c: move-result-object v2
00464a: 1a03 0400 |001d: const-string v3, " = " // string@0004
00464e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004654: 0c02 |0022: move-result-object v2
004656: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00465c: 0c02 |0026: move-result-object v2
00465e: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004664: 0c02 |002a: move-result-object v2
004666: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00466c: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024
004670: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004674: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017
004678: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00467e: 1a03 1300 |0037: const-string v3, "Failed " // string@0013
004682: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004688: 0c02 |003c: move-result-object v2
00468a: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004690: 0c02 |0040: move-result-object v2
004692: 1a03 0100 |0041: const-string v3, " != " // string@0001
004696: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00469c: 0c02 |0046: move-result-object v2
00469e: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0046a4: 0c02 |004a: move-result-object v2
0046a6: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0046ac: 0c02 |004e: move-result-object v2
0046ae: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0046b4: 0f00 |0052: return v0
catches : (none)
positions :
0x0000 line=68
0x0002 line=69
0x002e line=70
0x0030 line=71
0x0052 line=73
locals :
0x0000 - 0x0053 reg=4 (null) I
0x0000 - 0x0053 reg=5 (null) I
0x0000 - 0x0053 reg=6 (null) I
#13 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest6'
type : '(JJJ)J'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 6
outs : 3
insns size : 85 16-bit code units
0046b8: |[0046b8] invokecustom.InvokeCustom1.targetMethodTest6:(JJJ)J
0046c8: 9b00 0608 |0000: add-long v0, v6, v8
0046cc: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0046d0: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0046d4: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0046da: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b
0046de: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0046e4: 0c03 |000e: move-result-object v3
0046e6: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0046ec: 0c03 |0012: move-result-object v3
0046ee: 1a04 0300 |0013: const-string v4, " + " // string@0003
0046f2: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0046f8: 0c03 |0018: move-result-object v3
0046fa: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004700: 0c03 |001c: move-result-object v3
004702: 1a04 0400 |001d: const-string v4, " = " // string@0004
004706: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00470c: 0c03 |0022: move-result-object v3
00470e: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004714: 0c03 |0026: move-result-object v3
004716: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00471c: 0c03 |002a: move-result-object v3
00471e: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004724: 3102 000a |002e: cmp-long v2, v0, v10
004728: 3802 2400 |0030: if-eqz v2, 0054 // +0024
00472c: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004730: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017
004734: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00473a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013
00473e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004744: 0c03 |003e: move-result-object v3
004746: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
00474c: 0c03 |0042: move-result-object v3
00474e: 1a04 0100 |0043: const-string v4, " != " // string@0001
004752: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004758: 0c03 |0048: move-result-object v3
00475a: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004760: 0c03 |004c: move-result-object v3
004762: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004768: 0c03 |0050: move-result-object v3
00476a: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004770: 1000 |0054: return-wide v0
catches : (none)
positions :
0x0000 line=77
0x0002 line=78
0x002e line=79
0x0032 line=80
0x0054 line=82
locals :
0x0000 - 0x0055 reg=6 (null) J
0x0000 - 0x0055 reg=8 (null) J
0x0000 - 0x0055 reg=10 (null) J
#14 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest7'
type : '(FFD)D'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 10
ins : 4
outs : 3
insns size : 86 16-bit code units
004774: |[004774] invokecustom.InvokeCustom1.targetMethodTest7:(FFD)D
004784: a800 0607 |0000: mul-float v0, v6, v7
004788: 8900 |0002: float-to-double v0, v0
00478a: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00478e: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017
004792: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004798: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e
00479c: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0047a2: 0c03 |000f: move-result-object v3
0047a4: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
0047aa: 0c03 |0013: move-result-object v3
0047ac: 1a04 0200 |0014: const-string v4, " * " // string@0002
0047b0: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0047b6: 0c03 |0019: move-result-object v3
0047b8: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
0047be: 0c03 |001d: move-result-object v3
0047c0: 1a04 0400 |001e: const-string v4, " = " // string@0004
0047c4: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0047ca: 0c03 |0023: move-result-object v3
0047cc: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
0047d2: 0c03 |0027: move-result-object v3
0047d4: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0047da: 0c03 |002b: move-result-object v3
0047dc: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0047e2: 2f02 0008 |002f: cmpl-double v2, v0, v8
0047e6: 3802 2400 |0031: if-eqz v2, 0055 // +0024
0047ea: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0047ee: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0047f2: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0047f8: 1a04 1300 |003a: const-string v4, "Failed " // string@0013
0047fc: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004802: 0c03 |003f: move-result-object v3
004804: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00480a: 0c03 |0043: move-result-object v3
00480c: 1a04 0100 |0044: const-string v4, " != " // string@0001
004810: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004816: 0c03 |0049: move-result-object v3
004818: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00481e: 0c03 |004d: move-result-object v3
004820: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004826: 0c03 |0051: move-result-object v3
004828: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00482e: 1000 |0055: return-wide v0
catches : (none)
positions :
0x0000 line=86
0x0003 line=87
0x002f line=88
0x0033 line=89
0x0055 line=91
locals :
0x0000 - 0x0056 reg=6 (null) F
0x0000 - 0x0056 reg=7 (null) F
0x0000 - 0x0056 reg=8 (null) D
#15 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest8'
type : '(Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
004830: |[004830] invokecustom.InvokeCustom1.targetMethodTest8:(Ljava/lang/String;)V
004840: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004844: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004848: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00484e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080
004852: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004858: 0c01 |000c: move-result-object v1
00485a: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004860: 0c01 |0010: move-result-object v1
004862: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004868: 0c01 |0014: move-result-object v1
00486a: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004870: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=95
0x0018 line=96
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/String;
#16 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest9'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
004874: |[004874] invokecustom.InvokeCustom1.targetMethodTest9:()V
004884: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004888: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082
00488c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004892: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=129
0x0007 line=130
locals :
#17 : (in Linvokecustom/InvokeCustom1;)
name : 'test1'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 0
ins : 0
outs : 0
insns size : 4 16-bit code units
004894: |[004894] invokecustom.InvokeCustom1.test1:()V
0048a4: fc00 0000 0000 |0000: invoke-custom {}, call_site@0000
0048aa: 0e00 |0003: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Linvokecustom/InvokeCustom1;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 27 16-bit code units
0048ac: |[0048ac] invokecustom.InvokeCustom1.helperMethodTest9:()V
0048bc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0048c0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0048c4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0048ca: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064
0048ce: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0048d4: 0c01 |000c: move-result-object v1
0048d6: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e
0048da: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0048e0: 0c01 |0012: move-result-object v1
0048e2: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0048e8: 0c01 |0016: move-result-object v1
0048ea: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0048f0: 0e00 |001a: return-void
catches : (none)
positions :
0x0000 line=125
0x001a line=126
locals :
0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom1;
#1 : (in Linvokecustom/InvokeCustom1;)
name : 'run'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
0048f4: |[0048f4] invokecustom.InvokeCustom1.run:()V
004904: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004908: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e
00490c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004912: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=133
0x0007 line=134
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom1;
#2 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
004914: |[004914] invokecustom.InvokeCustom1.targetMethodTest4:()V
004924: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004928: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075
00492c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004932: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=64
0x0007 line=65
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom1;
source_file_idx : 25 (InvokeCustom.java)
Class #2 -
Class descriptor : 'Linvokecustom/InvokeCustom2;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom2;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom2;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom2;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
004934: |[004934] invokecustom.InvokeCustom2.<clinit>:()V
004944: 1200 |0000: const/4 v0, #int 0 // #0
004946: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
00494a: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom2;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
00494c: |[00494c] invokecustom.InvokeCustom2.<init>:()V
00495c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
004962: 1200 |0003: const/4 v0, #int 0 // #0
004964: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
004968: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom2;
#2 : (in Linvokecustom/InvokeCustom2;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
00496c: |[00496c] invokecustom.InvokeCustom2.<init>:(I)V
00497c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
004982: 1200 |0003: const/4 v0, #int 0 // #0
004984: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e