xref: /aosp_15_r20/tools/dexter/testdata/expected/invoke-polymorphic.scratch_regs (revision f0dffb02cdb5c647d21204e89a92a1ffae2dad87)
1*f0dffb02SXin Li
2*f0dffb02SXin Limethod Main.getHandleForStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
3*f0dffb02SXin Li{
4*f0dffb02SXin Li	    0| move-object/16 v13, v25
5*f0dffb02SXin Li	    3| move-object/16 v14, v26
6*f0dffb02SXin Li	    6| move-object/16 v15, v27
7*f0dffb02SXin Li	    9| move-object/16 v12, v13
8*f0dffb02SXin Li	   12| move-object/16 v13, v14
9*f0dffb02SXin Li	   15| move-object/16 v14, v15
10*f0dffb02SXin Li	   18| move-object/16 v11, v12
11*f0dffb02SXin Li	   21| move-object/16 v12, v13
12*f0dffb02SXin Li	   24| move-object/16 v13, v14
13*f0dffb02SXin Li	   27| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup
14*f0dffb02SXin Li	   30| move-result-object v9
15*f0dffb02SXin Li	   31| invoke-virtual {v9,v11,v12,v13}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
16*f0dffb02SXin Li	   34| move-result-object v10
17*f0dffb02SXin Li	   35| return-object v10
18*f0dffb02SXin Li}
19*f0dffb02SXin Li
20*f0dffb02SXin Limethod Main.getHandleForVirtual(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
21*f0dffb02SXin Li{
22*f0dffb02SXin Li	    0| move-object/16 v13, v25
23*f0dffb02SXin Li	    3| move-object/16 v14, v26
24*f0dffb02SXin Li	    6| move-object/16 v15, v27
25*f0dffb02SXin Li	    9| move-object/16 v12, v13
26*f0dffb02SXin Li	   12| move-object/16 v13, v14
27*f0dffb02SXin Li	   15| move-object/16 v14, v15
28*f0dffb02SXin Li	   18| move-object/16 v11, v12
29*f0dffb02SXin Li	   21| move-object/16 v12, v13
30*f0dffb02SXin Li	   24| move-object/16 v13, v14
31*f0dffb02SXin Li	   27| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup
32*f0dffb02SXin Li	   30| move-result-object v9
33*f0dffb02SXin Li	   31| invoke-virtual {v9,v11,v12,v13}, java.lang.invoke.MethodHandles$Lookup.findVirtual(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
34*f0dffb02SXin Li	   34| move-result-object v10
35*f0dffb02SXin Li	   35| return-object v10
36*f0dffb02SXin Li}
37*f0dffb02SXin Li
38*f0dffb02SXin Limethod Main.getLongCompareToHandle():java.lang.invoke.MethodHandle
39*f0dffb02SXin Li{
40*f0dffb02SXin Li	    0| new-instance v0, java.lang.Long
41*f0dffb02SXin Li	    2| const-wide v1:v2, #+0 (0x0000000000000000 | 0.00000)
42*f0dffb02SXin Li	    7| invoke-direct {v0,v1,v2}, java.lang.Long.<init>(long):void
43*f0dffb02SXin Li	   10| invoke-virtual {v0}, java.lang.Object.getClass():java.lang.Class
44*f0dffb02SXin Li	   13| move-result-object v0
45*f0dffb02SXin Li	   14| sget-object v1, java.lang.Integer.TYPE
46*f0dffb02SXin Li	   16| invoke-static {v1,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType
47*f0dffb02SXin Li	   19| move-result-object v2
48*f0dffb02SXin Li	   20| const-string v3, "compareTo"
49*f0dffb02SXin Li	   22| invoke-static {v0,v3,v2}, Main.getHandleForVirtual(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
50*f0dffb02SXin Li	   25| move-result-object v0
51*f0dffb02SXin Li	   26| return-object v0
52*f0dffb02SXin Li}
53*f0dffb02SXin Li
54*f0dffb02SXin Limethod Main.getStringConcatHandle():java.lang.invoke.MethodHandle
55*f0dffb02SXin Li{
56*f0dffb02SXin Li	    0| const-string v0, "concat"
57*f0dffb02SXin Li	    2| invoke-virtual {v0}, java.lang.Object.getClass():java.lang.Class
58*f0dffb02SXin Li	    5| move-result-object v1
59*f0dffb02SXin Li	    6| invoke-static {v1,v1}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType
60*f0dffb02SXin Li	    9| move-result-object v2
61*f0dffb02SXin Li	   10| invoke-static {v1,v0,v2}, Main.getHandleForVirtual(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
62*f0dffb02SXin Li	   13| move-result-object v0
63*f0dffb02SXin Li	   14| return-object v0
64*f0dffb02SXin Li}
65*f0dffb02SXin Li
66*f0dffb02SXin Limethod Main.getStringValueOfLongHandle():java.lang.invoke.MethodHandle
67*f0dffb02SXin Li{
68*f0dffb02SXin Li	    0| sget-object v0, java.lang.Long.TYPE
69*f0dffb02SXin Li	    2| const-string v1, "valueOf"
70*f0dffb02SXin Li	    4| invoke-virtual {v1}, java.lang.Object.getClass():java.lang.Class
71*f0dffb02SXin Li	    7| move-result-object v2
72*f0dffb02SXin Li	    8| invoke-static {v2,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType
73*f0dffb02SXin Li	   11| move-result-object v3
74*f0dffb02SXin Li	   12| invoke-static {v2,v1,v3}, Main.getHandleForStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
75*f0dffb02SXin Li	   15| move-result-object v0
76*f0dffb02SXin Li	   16| return-object v0
77*f0dffb02SXin Li}
78*f0dffb02SXin Li
79*f0dffb02SXin Limethod Main.getStringValueOfObjectHandle():java.lang.invoke.MethodHandle
80*f0dffb02SXin Li{
81*f0dffb02SXin Li	    0| new-instance v0, java.lang.Object
82*f0dffb02SXin Li	    2| invoke-direct {v0}, java.lang.Object.<init>():void
83*f0dffb02SXin Li	    5| invoke-virtual {v0}, java.lang.Object.getClass():java.lang.Class
84*f0dffb02SXin Li	    8| move-result-object v0
85*f0dffb02SXin Li	    9| const-string v1, "valueOf"
86*f0dffb02SXin Li	   11| invoke-virtual {v1}, java.lang.Object.getClass():java.lang.Class
87*f0dffb02SXin Li	   14| move-result-object v2
88*f0dffb02SXin Li	   15| invoke-static {v2,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType
89*f0dffb02SXin Li	   18| move-result-object v3
90*f0dffb02SXin Li	   19| invoke-static {v2,v1,v3}, Main.getHandleForStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle
91*f0dffb02SXin Li	   22| move-result-object v0
92*f0dffb02SXin Li	   23| return-object v0
93*f0dffb02SXin Li}
94*f0dffb02SXin Li
95*f0dffb02SXin Limethod Main.main(java.lang.String[]):void
96*f0dffb02SXin Li{
97*f0dffb02SXin Li	    0| move-object/16 v15, v27
98*f0dffb02SXin Li	    3| move-object/16 v14, v15
99*f0dffb02SXin Li	    6| move-object/16 v13, v14
100*f0dffb02SXin Li	    9| invoke-static {}, Main.getStringConcatHandle():java.lang.invoke.MethodHandle
101*f0dffb02SXin Li	   12| move-result-object v9
102*f0dffb02SXin Li	   13| const-string v10, "[String1]"
103*f0dffb02SXin Li	   15| const-string v11, "+[String2]"
104*f0dffb02SXin Li	   17| invoke-polymorphic {v9,v10,v11}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (java.lang.String, java.lang.String):java.lang.String
105*f0dffb02SXin Li	   21| move-result-object v12
106*f0dffb02SXin Li	   22| sget-object v13, java.lang.System.out
107*f0dffb02SXin Li	   24| invoke-virtual {v13,v12}, java.io.PrintStream.println(java.lang.String):void
108*f0dffb02SXin Li	   27| invoke-static {}, Main.getStringValueOfObjectHandle():java.lang.invoke.MethodHandle
109*f0dffb02SXin Li	   30| move-result-object v9
110*f0dffb02SXin Li	   31| const-string v10, "[String1]"
111*f0dffb02SXin Li	   33| invoke-polymorphic {v9,v10}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (java.lang.Object):java.lang.String
112*f0dffb02SXin Li	   37| move-result-object v12
113*f0dffb02SXin Li	   38| sget-object v13, java.lang.System.out
114*f0dffb02SXin Li	   40| invoke-virtual {v13,v12}, java.io.PrintStream.println(java.lang.String):void
115*f0dffb02SXin Li	   43| invoke-static {}, Main.getStringConcatHandle():java.lang.invoke.MethodHandle
116*f0dffb02SXin Li	   46| move-result-object v9
117*f0dffb02SXin Li	   47| const-string v10, "[String1]"
118*f0dffb02SXin Li	   49| const-string v11, "+[String2]"
119*f0dffb02SXin Li	   51| invoke-polymorphic {v9,v10,v11}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Object, java.lang.Object):java.lang.String
120*f0dffb02SXin Li	   55| move-result-object v12
121*f0dffb02SXin Li	   56| sget-object v13, java.lang.System.out
122*f0dffb02SXin Li	   58| invoke-virtual {v13,v12}, java.io.PrintStream.println(java.lang.String):void
123*f0dffb02SXin Li	   61| invoke-static {}, Main.getStringValueOfLongHandle():java.lang.invoke.MethodHandle
124*f0dffb02SXin Li	   64| move-result-object v9
125*f0dffb02SXin Li	   65| const-wide v10:v11, #+42 (0x000000000000002a | 2.07508e-322)
126*f0dffb02SXin Li	   70| invoke-polymorphic {v9,v10,v11}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (long):java.lang.String
127*f0dffb02SXin Li	   74| move-result-object v12
128*f0dffb02SXin Li	   75| sget-object v13, java.lang.System.out
129*f0dffb02SXin Li	   77| invoke-virtual {v13,v12}, java.io.PrintStream.println(java.lang.String):void
130*f0dffb02SXin Li	   80| const v10, #+40 (0x00000028 | 5.60519e-44)
131*f0dffb02SXin Li	   83| invoke-polymorphic {v9,v10}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (int):java.lang.String
132*f0dffb02SXin Li	   87| move-result-object v12
133*f0dffb02SXin Li	   88| sget-object v13, java.lang.System.out
134*f0dffb02SXin Li	   90| invoke-virtual {v13,v12}, java.io.PrintStream.println(java.lang.String):void
135*f0dffb02SXin Li	   93| new-instance v10, java.lang.Long
136*f0dffb02SXin Li	   95| const-wide v11:v12, #+43 (0x000000000000002b | 2.12448e-322)
137*f0dffb02SXin Li	  100| invoke-direct {v10,v11,v12}, java.lang.Long.<init>(long):void
138*f0dffb02SXin Li	  103| invoke-polymorphic {v9,v10}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long):java.lang.String
139*f0dffb02SXin Li	  107| move-result-object v12
140*f0dffb02SXin Li	  108| sget-object v13, java.lang.System.out
141*f0dffb02SXin Li	  110| invoke-virtual {v13,v12}, java.io.PrintStream.println(java.lang.String):void
142*f0dffb02SXin Li	  113| new-instance v10, java.lang.Integer
143*f0dffb02SXin Li	  115| const v11, #+44 (0x0000002c | 6.16571e-44)
144*f0dffb02SXin Li	  118| invoke-direct {v10,v11}, java.lang.Integer.<init>(int):void
145*f0dffb02SXin Li	  121| invoke-polymorphic {v9,v10}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Integer):java.lang.String
146*f0dffb02SXin Li	  125| move-result-object v12
147*f0dffb02SXin Li	  126| sget-object v13, java.lang.System.out
148*f0dffb02SXin Li	  128| invoke-virtual {v13,v12}, java.io.PrintStream.println(java.lang.String):void
149*f0dffb02SXin Li	  131| invoke-static {}, Main.getLongCompareToHandle():java.lang.invoke.MethodHandle
150*f0dffb02SXin Li	  134| move-result-object v9
151*f0dffb02SXin Li	  135| new-instance v10, java.lang.Long
152*f0dffb02SXin Li	  137| const-wide v11:v12, #+43 (0x000000000000002b | 2.12448e-322)
153*f0dffb02SXin Li	  142| invoke-direct {v10,v11,v12}, java.lang.Long.<init>(long):void
154*f0dffb02SXin Li	  145| invoke-polymorphic {v9,v10,v10}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long, java.lang.Long):int
155*f0dffb02SXin Li	  149| move-result v12
156*f0dffb02SXin Li	  150| sget-object v13, java.lang.System.out
157*f0dffb02SXin Li	  152| invoke-virtual {v13,v12}, java.io.PrintStream.println(int):void
158*f0dffb02SXin Li	  155| const-wide v11:v12, #+44 (0x000000000000002c | 2.17389e-322)
159*f0dffb02SXin Li	  160| invoke-polymorphic {v9,v10,v11,v12}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long, long):int
160*f0dffb02SXin Li	  164| move-result v12
161*f0dffb02SXin Li	  165| sget-object v13, java.lang.System.out
162*f0dffb02SXin Li	  167| invoke-virtual {v13,v12}, java.io.PrintStream.println(int):void
163*f0dffb02SXin Li	  170| invoke-polymorphic/range {v16..v21}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long, long):int
164*f0dffb02SXin Li	  174| invoke-polymorphic/range {v12..v52}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (java.lang.Long, long):int
165*f0dffb02SXin Li	  178| return-void
166*f0dffb02SXin Li}
167