unplugged-system/tools/dexter/testdata/expected/invoke-polymorphic.verbose_cfg

304 lines
20 KiB
Plaintext
Raw Normal View History

method Main.getHandleForStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
{
............................. begin block 1 .............................
0| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup
.............................. end block 1 ..............................
............................. begin block 2 .............................
3| move-result-object v0
4| invoke-virtual {v0,v2,v3,v4}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
.............................. end block 2 ..............................
............................. begin block 3 .............................
7| move-result-object v1
8| return-object v1
.............................. end block 3 ..............................
}
method Main.getHandleForVirtual(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
{
............................. begin block 1 .............................
0| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup
.............................. end block 1 ..............................
............................. begin block 2 .............................
3| move-result-object v0
4| invoke-virtual {v0,v2,v3,v4}, java.lang.invoke.MethodHandles$Lookup.findVirtual(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
.............................. end block 2 ..............................
............................. begin block 3 .............................
7| move-result-object v1
8| return-object v1
.............................. end block 3 ..............................
}
method Main.getLongCompareToHandle():java.lang.invoke.MethodHandle
{
............................. begin block 1 .............................
0| new-instance v0, java.lang.Long
.............................. end block 1 ..............................
............................. begin block 2 .............................
2| const-wide v1:v2, #+0 (0x0000000000000000 | 0.00000)
7| invoke-direct {v0,v1,v2}, java.lang.Long.<init>(long):void
.............................. end block 2 ..............................
............................. begin block 3 .............................
10| invoke-virtual {v0}, java.lang.Object.getClass():java.lang.Class
.............................. end block 3 ..............................
............................. begin block 4 .............................
13| move-result-object v0
14| sget-object v1, java.lang.Integer.TYPE
.............................. end block 4 ..............................
............................. begin block 5 .............................
16| invoke-static {v1,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType
.............................. end block 5 ..............................
............................. begin block 6 .............................
19| move-result-object v2
20| const-string v3, "compareTo"
.............................. end block 6 ..............................
............................. begin block 7 .............................
22| invoke-static {v0,v3,v2}, Main.getHandleForVirtual(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
.............................. end block 7 ..............................
............................. begin block 8 .............................
25| move-result-object v0
26| return-object v0
.............................. end block 8 ..............................
}
method Main.getStringConcatHandle():java.lang.invoke.MethodHandle
{
............................. begin block 1 .............................
0| const-string v0, "concat"
.............................. end block 1 ..............................
............................. begin block 2 .............................
2| invoke-virtual {v0}, java.lang.Object.getClass():java.lang.Class
.............................. end block 2 ..............................
............................. begin block 3 .............................
5| move-result-object v1
6| invoke-static {v1,v1}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType
.............................. end block 3 ..............................
............................. begin block 4 .............................
9| move-result-object v2
10| invoke-static {v1,v0,v2}, Main.getHandleForVirtual(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
.............................. end block 4 ..............................
............................. begin block 5 .............................
13| move-result-object v0
14| return-object v0
.............................. end block 5 ..............................
}
method Main.getStringValueOfLongHandle():java.lang.invoke.MethodHandle
{
............................. begin block 1 .............................
0| sget-object v0, java.lang.Long.TYPE
.............................. end block 1 ..............................
............................. begin block 2 .............................
2| const-string v1, "valueOf"
.............................. end block 2 ..............................
............................. begin block 3 .............................
4| invoke-virtual {v1}, java.lang.Object.getClass():java.lang.Class
.............................. end block 3 ..............................
............................. begin block 4 .............................
7| move-result-object v2
8| invoke-static {v2,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType
.............................. end block 4 ..............................
............................. begin block 5 .............................
11| move-result-object v3
12| invoke-static {v2,v1,v3}, Main.getHandleForStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
.............................. end block 5 ..............................
............................. begin block 6 .............................
15| move-result-object v0
16| return-object v0
.............................. end block 6 ..............................
}
method Main.getStringValueOfObjectHandle():java.lang.invoke.MethodHandle
{
............................. begin block 1 .............................
0| new-instance v0, java.lang.Object
.............................. end block 1 ..............................
............................. begin block 2 .............................
2| invoke-direct {v0}, java.lang.Object.<init>():void
.............................. end block 2 ..............................
............................. begin block 3 .............................
5| invoke-virtual {v0}, java.lang.Object.getClass():java.lang.Class
.............................. end block 3 ..............................
............................. begin block 4 .............................
8| move-result-object v0
9| const-string v1, "valueOf"
.............................. end block 4 ..............................
............................. begin block 5 .............................
11| invoke-virtual {v1}, java.lang.Object.getClass():java.lang.Class
.............................. end block 5 ..............................
............................. begin block 6 .............................
14| move-result-object v2
15| invoke-static {v2,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType
.............................. end block 6 ..............................
............................. begin block 7 .............................
18| move-result-object v3
19| invoke-static {v2,v1,v3}, Main.getHandleForStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
.............................. end block 7 ..............................
............................. begin block 8 .............................
22| move-result-object v0
23| return-object v0
.............................. end block 8 ..............................
}
method Main.main(java.lang.String[]):void
{
............................. begin block 1 .............................
0| invoke-static {}, Main.getStringConcatHandle():java.lang.invoke.MethodHandle
.............................. end block 1 ..............................
............................. begin block 2 .............................
3| move-result-object v0
4| const-string v1, "[String1]"
.............................. end block 2 ..............................
............................. begin block 3 .............................
6| const-string v2, "+[String2]"
.............................. end block 3 ..............................
............................. begin block 4 .............................
8| invoke-polymorphic {v0,v1,v2}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (java.lang.String, java.lang.String):java.lang.String
.............................. end block 4 ..............................
............................. begin block 5 .............................
12| move-result-object v3
13| sget-object v4, java.lang.System.out
.............................. end block 5 ..............................
............................. begin block 6 .............................
15| invoke-virtual {v4,v3}, java.io.PrintStream.println(java.lang.String):void
.............................. end block 6 ..............................
............................. begin block 7 .............................
18| invoke-static {}, Main.getStringValueOfObjectHandle():java.lang.invoke.MethodHandle
.............................. end block 7 ..............................
............................. begin block 8 .............................
21| move-result-object v0
22| const-string v1, "[String1]"
.............................. end block 8 ..............................
............................. begin block 9 .............................
24| invoke-polymorphic {v0,v1}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (java.lang.Object):java.lang.String
.............................. end block 9 ..............................
............................. begin block 10 .............................
28| move-result-object v3
29| sget-object v4, java.lang.System.out
.............................. end block 10 ..............................
............................. begin block 11 .............................
31| invoke-virtual {v4,v3}, java.io.PrintStream.println(java.lang.String):void
.............................. end block 11 ..............................
............................. begin block 12 .............................
34| invoke-static {}, Main.getStringConcatHandle():java.lang.invoke.MethodHandle
.............................. end block 12 ..............................
............................. begin block 13 .............................
37| move-result-object v0
38| const-string v1, "[String1]"
.............................. end block 13 ..............................
............................. begin block 14 .............................
40| const-string v2, "+[String2]"
.............................. end block 14 ..............................
............................. begin block 15 .............................
42| invoke-polymorphic {v0,v1,v2}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Object, java.lang.Object):java.lang.String
.............................. end block 15 ..............................
............................. begin block 16 .............................
46| move-result-object v3
47| sget-object v4, java.lang.System.out
.............................. end block 16 ..............................
............................. begin block 17 .............................
49| invoke-virtual {v4,v3}, java.io.PrintStream.println(java.lang.String):void
.............................. end block 17 ..............................
............................. begin block 18 .............................
52| invoke-static {}, Main.getStringValueOfLongHandle():java.lang.invoke.MethodHandle
.............................. end block 18 ..............................
............................. begin block 19 .............................
55| move-result-object v0
56| const-wide v1:v2, #+42 (0x000000000000002a | 2.07508e-322)
61| invoke-polymorphic {v0,v1,v2}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (long):java.lang.String
.............................. end block 19 ..............................
............................. begin block 20 .............................
65| move-result-object v3
66| sget-object v4, java.lang.System.out
.............................. end block 20 ..............................
............................. begin block 21 .............................
68| invoke-virtual {v4,v3}, java.io.PrintStream.println(java.lang.String):void
.............................. end block 21 ..............................
............................. begin block 22 .............................
71| const v1, #+40 (0x00000028 | 5.60519e-44)
74| invoke-polymorphic {v0,v1}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (int):java.lang.String
.............................. end block 22 ..............................
............................. begin block 23 .............................
78| move-result-object v3
79| sget-object v4, java.lang.System.out
.............................. end block 23 ..............................
............................. begin block 24 .............................
81| invoke-virtual {v4,v3}, java.io.PrintStream.println(java.lang.String):void
.............................. end block 24 ..............................
............................. begin block 25 .............................
84| new-instance v1, java.lang.Long
.............................. end block 25 ..............................
............................. begin block 26 .............................
86| const-wide v2:v3, #+43 (0x000000000000002b | 2.12448e-322)
91| invoke-direct {v1,v2,v3}, java.lang.Long.<init>(long):void
.............................. end block 26 ..............................
............................. begin block 27 .............................
94| invoke-polymorphic {v0,v1}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long):java.lang.String
.............................. end block 27 ..............................
............................. begin block 28 .............................
98| move-result-object v3
99| sget-object v4, java.lang.System.out
.............................. end block 28 ..............................
............................. begin block 29 .............................
101| invoke-virtual {v4,v3}, java.io.PrintStream.println(java.lang.String):void
.............................. end block 29 ..............................
............................. begin block 30 .............................
104| new-instance v1, java.lang.Integer
.............................. end block 30 ..............................
............................. begin block 31 .............................
106| const v2, #+44 (0x0000002c | 6.16571e-44)
109| invoke-direct {v1,v2}, java.lang.Integer.<init>(int):void
.............................. end block 31 ..............................
............................. begin block 32 .............................
112| invoke-polymorphic {v0,v1}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Integer):java.lang.String
.............................. end block 32 ..............................
............................. begin block 33 .............................
116| move-result-object v3
117| sget-object v4, java.lang.System.out
.............................. end block 33 ..............................
............................. begin block 34 .............................
119| invoke-virtual {v4,v3}, java.io.PrintStream.println(java.lang.String):void
.............................. end block 34 ..............................
............................. begin block 35 .............................
122| invoke-static {}, Main.getLongCompareToHandle():java.lang.invoke.MethodHandle
.............................. end block 35 ..............................
............................. begin block 36 .............................
125| move-result-object v0
126| new-instance v1, java.lang.Long
.............................. end block 36 ..............................
............................. begin block 37 .............................
128| const-wide v2:v3, #+43 (0x000000000000002b | 2.12448e-322)
133| invoke-direct {v1,v2,v3}, java.lang.Long.<init>(long):void
.............................. end block 37 ..............................
............................. begin block 38 .............................
136| invoke-polymorphic {v0,v1,v1}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long, java.lang.Long):int
.............................. end block 38 ..............................
............................. begin block 39 .............................
140| move-result v3
141| sget-object v4, java.lang.System.out
.............................. end block 39 ..............................
............................. begin block 40 .............................
143| invoke-virtual {v4,v3}, java.io.PrintStream.println(int):void
.............................. end block 40 ..............................
............................. begin block 41 .............................
146| const-wide v2:v3, #+44 (0x000000000000002c | 2.17389e-322)
151| invoke-polymorphic {v0,v1,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long, long):int
.............................. end block 41 ..............................
............................. begin block 42 .............................
155| move-result v3
156| sget-object v4, java.lang.System.out
.............................. end block 42 ..............................
............................. begin block 43 .............................
158| invoke-virtual {v4,v3}, java.io.PrintStream.println(int):void
.............................. end block 43 ..............................
............................. begin block 44 .............................
161| invoke-polymorphic/range {v7..v12}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long, long):int
.............................. end block 44 ..............................
............................. begin block 45 .............................
165| invoke-polymorphic/range {v3..v43}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long, long):int
.............................. end block 45 ..............................
............................. begin block 46 .............................
169| return-void
.............................. end block 46 ..............................
}