RFR: 8333893: Optimization for StringBuilder append boolean & null
Shaojin Wen
duke at openjdk.org
Tue Jun 11 09:19:13 UTC 2024
On Tue, 11 Jun 2024 06:27:13 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> @eme64 It seems that when the following code uses StringUTF16.putChar, C2's optimization is not as good as the manual merging and storage effect.
>>
>> class AbstractStringBuilder {
>> private AbstractStringBuilder appendNull() {
>> // ...
>> StringUTF16.putCharsAt(val, count, 'n', 'u', 'l', 'l');
>> // ...
>> }
>>
>> public AbstractStringBuilder append(boolean b) {
>> // ...
>> StringUTF16.putCharsAt(val, count, 't', 'r', 'u', 'e');
>> // ...
>> StringUTF16.putCharsAt(val, count, 'f', 'a', 'l', 's', 'e');
>> // ...
>> }
>> }
>>
>> class StringUTF16 {
>> public static void putCharsAt(byte[] value, int i, char c1, char c2, char c3, char c4) {
>> putChar(value, i , c1);
>> putChar(value, i + 1, c2);
>> putChar(value, i + 2, c3);
>> putChar(value, i + 3, c4);
>> }
>>
>> @IntrinsicCandidate
>> // intrinsic performs no bounds checks
>> static void putChar(byte[] val, int index, int c) {
>> assert index >= 0 && index < length(val) : "Trusted caller missed bounds check";
>> index <<= 1;
>> val[index++] = (byte)(c >> HI_BYTE_SHIFT);
>> val[index] = (byte)(c >> LO_BYTE_SHIFT);
>> }
>> }
>>
>>
>> The code for manually merging storage is as follows, without using Unsafe:
>>
>> class AbstractStringBuilder {
>> static final long NULL_UTF16;
>> static final long TRUE_UTF16;
>> static final long FALS_UTF16;
>>
>> static {
>> byte[] bytes = new byte[8];
>>
>> StringUTF16.putCharsAt(bytes, 0, 'n', 'u', 'l', 'l');
>> NULL_UTF16 = getLong(bytes, 0);
>>
>> StringUTF16.putCharsAt(bytes, 0, 't', 'r', 'u', 'e');
>> TRUE_UTF16 = getLong(bytes, 0);
>>
>> StringUTF16.putCharsAt(bytes, 0, 'f', 'a', 'l', 's');
>> FALS_UTF16 = getLong(bytes, 0);
>> }
>>
>> private static long getLong(byte[] bytes, int offset) {
>> return (((long)bytes[offset ] & 0xff) ) |
>> (((long)bytes[offset + 1] & 0xff) << 8) |
>> (((long)bytes[offset + 2] & 0xff) << 16) |
>> (((long)bytes[offset + 3] & 0xff) << 24) |
>> (((long)bytes[offset + 4] & 0xff) << 32) |
>> (((long)bytes[offset + 5] & 0xff) << 40) |
>> (((long)bytes[offset + 6] & 0xff) << 48) |
>> (((long)bytes[offset + 7] & 0xff) << 56);
>> }
>>
>> private static void setLong(byte[] array, int offset, long value) {
>> array[offset] = (byte) value;
>> array[offse...
>
> @wenshao
>> @eme64 It seems that when the following code uses StringUTF16.putChar, C2's optimization is not as good as the manual merging and storage effect.
>
> As I asked above, you will need to provide some evidence / generated assembly / perf data, and logs from `TraceMergeStores`. I currently do not have time to produce these myself, and I think they would be crucial to determine where the missing performance has gone. See my earlier comment:
> https://github.com/openjdk/jdk/pull/19626#issuecomment-2158533469
>
> And please also try @cl4es advide here:
> https://github.com/openjdk/jdk/pull/19626#issuecomment-2159509806
>
> And sure, maybe you need some public API for setting multiple bytes at once, which the `MergeStores` optimization can optimize. I'm a C2 engineer, so I leave that up to the library folks ;)
@eme64 The assembly information is below, can you take a look and see if it can help you diagnose the problem?
* JavaCode
class AbstractStringBuilder {
private AbstractStringBuilder appendNull() {
int count = this.count;
ensureCapacityInternal(count + 4);
byte[] val = this.value;
if (isLatin1()) {
val[count ] = 'n';
val[count + 1] = 'u';
val[count + 2] = 'l';
val[count + 3] = 'l';
} else {
StringUTF16.putCharsAt(val, count, 'n', 'u', 'l', 'l');
}
this.count = count + 4;
return this;
}
}
class StringUTF16 {
public static void putCharsAt(byte[] value, int i, char c1, char c2, char c3, char c4) {
putChar(value, i , c1);
putChar(value, i + 1, c2);
putChar(value, i + 2, c3);
putChar(value, i + 3, c4);
}
}
* Apple M1 StringBuilder.appendNull PrintAssembly
/Users/wenshao/Work/git/jdk/build/macosx-aarch64-server-release/jdk/bin/java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:CompileCommand=compileonly,*StringBuilder.appendNull -XX:-TieredCompilation -XX:TieredStopAtLevel=4 -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=61041:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 ....
Compiled method (n/a) 96 1 n java.lang.invoke.MethodHandle::linkToStatic(LLLLLLL)L (native)
total in heap [0x0000000102efba08,0x0000000102efbb20] = 280
relocation [0x0000000102efbae0,0x0000000102efbae8] = 8
main code [0x0000000102efbb00,0x0000000102efbb20] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c3e1c80} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm4: c_rarg5:c_rarg5
= 'java/lang/Object'
# parm5: c_rarg6:c_rarg6
= 'java/lang/Object'
# parm6: c_rarg7:c_rarg7
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102efbb00: nop
0x0000000102efbb04: ldr w12, [x7, #36]
0x0000000102efbb08: lsl x12, x12, #3
0x0000000102efbb0c: ldr x12, [x12, #16]
0x0000000102efbb10: cbz x12, 0x0000000102efbb1c
0x0000000102efbb14: ldr x8, [x12, #64]
0x0000000102efbb18: br x8
0x0000000102efbb1c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 102 2 n java.lang.invoke.MethodHandle::linkToStatic(LLL)L (native)
total in heap [0x0000000102f01108,0x0000000102f01220] = 280
relocation [0x0000000102f011e0,0x0000000102f011e8] = 8
main code [0x0000000102f01200,0x0000000102f01220] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c432368} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f01200: nop
0x0000000102f01204: ldr w12, [x3, #36]
0x0000000102f01208: lsl x12, x12, #3
0x0000000102f0120c: ldr x12, [x12, #16]
0x0000000102f01210: cbz x12, 0x0000000102f0121c
0x0000000102f01214: ldr x8, [x12, #64]
0x0000000102f01218: br x8
0x0000000102f0121c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 103 3 n java.lang.invoke.MethodHandle::invokeBasic(LLLLLL)L (native)
total in heap [0x0000000102f01408,0x0000000102f01530] = 296
relocation [0x0000000102f014e0,0x0000000102f014e8] = 8
main code [0x0000000102f01500,0x0000000102f01530] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c43ace8} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm1: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm2: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm3: c_rarg5:c_rarg5
= 'java/lang/Object'
# parm4: c_rarg6:c_rarg6
= 'java/lang/Object'
# parm5: c_rarg7:c_rarg7
= 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x0000000102f01500: nop
0x0000000102f01504: ldr w12, [x1, #20]
0x0000000102f01508: lsl x12, x12, #3
0x0000000102f0150c: ldr w12, [x12, #40]
0x0000000102f01510: lsl x12, x12, #3
0x0000000102f01514: ldr w12, [x12, #36]
0x0000000102f01518: lsl x12, x12, #3
0x0000000102f0151c: ldr x12, [x12, #16]
0x0000000102f01520: cbz x12, 0x0000000102f0152c
0x0000000102f01524: ldr x8, [x12, #64]
0x0000000102f01528: br x8
0x0000000102f0152c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 104 4 n java.lang.invoke.MethodHandle::linkToSpecial(LLLLLLLL)L (native)
total in heap [0x0000000102f01708,0x0000000102f01828] = 288
relocation [0x0000000102f017e0,0x0000000102f017e8] = 8
main code [0x0000000102f01800,0x0000000102f01824] = 36
stub code [0x0000000102f01824,0x0000000102f01828] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c43ae60} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm4: c_rarg5:c_rarg5
= 'java/lang/Object'
# parm5: c_rarg6:c_rarg6
= 'java/lang/Object'
# parm6: c_rarg7:c_rarg7
= 'java/lang/Object'
# parm7: c_rarg0:c_rarg0
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f01800: nop
0x0000000102f01804: ldr xzr, [x1]
0x0000000102f01808: ldr w12, [x0, #36]
0x0000000102f0180c: lsl x12, x12, #3
0x0000000102f01810: ldr x12, [x12, #16]
0x0000000102f01814: cbz x12, 0x0000000102f01820
0x0000000102f01818: ldr x8, [x12, #64]
0x0000000102f0181c: br x8
0x0000000102f01820: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f01824: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 107 5 n java.lang.invoke.MethodHandle::linkToSpecial(LLLL)V (native)
total in heap [0x0000000102f01d88,0x0000000102f01ea8] = 288
relocation [0x0000000102f01e60,0x0000000102f01e68] = 8
main code [0x0000000102f01e80,0x0000000102f01ea4] = 36
stub code [0x0000000102f01ea4,0x0000000102f01ea8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c44f7a0} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f01e80: nop
0x0000000102f01e84: ldr xzr, [x1]
0x0000000102f01e88: ldr w12, [x4, #36]
0x0000000102f01e8c: lsl x12, x12, #3
0x0000000102f01e90: ldr x12, [x12, #16]
0x0000000102f01e94: cbz x12, 0x0000000102f01ea0
0x0000000102f01e98: ldr x8, [x12, #64]
0x0000000102f01e9c: br x8
0x0000000102f01ea0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f01ea4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 108 6 n java.lang.invoke.MethodHandle::invokeBasic(LL)L (native)
total in heap [0x0000000102f02408,0x0000000102f02530] = 296
relocation [0x0000000102f024e0,0x0000000102f024e8] = 8
main code [0x0000000102f02500,0x0000000102f02530] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c450b68} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm1: c_rarg3:c_rarg3
= 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x0000000102f02500: nop
0x0000000102f02504: ldr w12, [x1, #20]
0x0000000102f02508: lsl x12, x12, #3
0x0000000102f0250c: ldr w12, [x12, #40]
0x0000000102f02510: lsl x12, x12, #3
0x0000000102f02514: ldr w12, [x12, #36]
0x0000000102f02518: lsl x12, x12, #3
0x0000000102f0251c: ldr x12, [x12, #16]
0x0000000102f02520: cbz x12, 0x0000000102f0252c
0x0000000102f02524: ldr x8, [x12, #64]
0x0000000102f02528: br x8
0x0000000102f0252c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 109 7 n java.lang.invoke.MethodHandle::linkToSpecial(LLLL)L (native)
total in heap [0x0000000102f02708,0x0000000102f02828] = 288
relocation [0x0000000102f027e0,0x0000000102f027e8] = 8
main code [0x0000000102f02800,0x0000000102f02824] = 36
stub code [0x0000000102f02824,0x0000000102f02828] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c450c80} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f02800: nop
0x0000000102f02804: ldr xzr, [x1]
0x0000000102f02808: ldr w12, [x4, #36]
0x0000000102f0280c: lsl x12, x12, #3
0x0000000102f02810: ldr x12, [x12, #16]
0x0000000102f02814: cbz x12, 0x0000000102f02820
0x0000000102f02818: ldr x8, [x12, #64]
0x0000000102f0281c: br x8
0x0000000102f02820: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f02824: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 117 8 n java.lang.invoke.MethodHandle::linkToSpecial(LLL)L (native)
total in heap [0x0000000102f05088,0x0000000102f051a8] = 288
relocation [0x0000000102f05160,0x0000000102f05168] = 8
main code [0x0000000102f05180,0x0000000102f051a4] = 36
stub code [0x0000000102f051a4,0x0000000102f051a8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c4911f8} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f05180: nop
0x0000000102f05184: ldr xzr, [x1]
0x0000000102f05188: ldr w12, [x3, #36]
0x0000000102f0518c: lsl x12, x12, #3
0x0000000102f05190: ldr x12, [x12, #16]
0x0000000102f05194: cbz x12, 0x0000000102f051a0
0x0000000102f05198: ldr x8, [x12, #64]
0x0000000102f0519c: br x8
0x0000000102f051a0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f051a4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 123 9 n java.lang.invoke.MethodHandle::linkToStatic(LLIL)I (native)
total in heap [0x0000000102f08b88,0x0000000102f08ca0] = 280
relocation [0x0000000102f08c60,0x0000000102f08c68] = 8
main code [0x0000000102f08c80,0x0000000102f08ca0] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c4c2f78} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3 = int
# parm3: c_rarg4:c_rarg4
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f08c80: nop
0x0000000102f08c84: ldr w12, [x4, #36]
0x0000000102f08c88: lsl x12, x12, #3
0x0000000102f08c8c: ldr x12, [x12, #16]
0x0000000102f08c90: cbz x12, 0x0000000102f08c9c
0x0000000102f08c94: ldr x8, [x12, #64]
0x0000000102f08c98: br x8
0x0000000102f08c9c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 128 10 n java.lang.invoke.MethodHandle::linkToSpecial(LLL)V (native)
total in heap [0x0000000102f09208,0x0000000102f09328] = 288
relocation [0x0000000102f092e0,0x0000000102f092e8] = 8
main code [0x0000000102f09300,0x0000000102f09324] = 36
stub code [0x0000000102f09324,0x0000000102f09328] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c4dbc20} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f09300: nop
0x0000000102f09304: ldr xzr, [x1]
0x0000000102f09308: ldr w12, [x3, #36]
0x0000000102f0930c: lsl x12, x12, #3
0x0000000102f09310: ldr x12, [x12, #16]
0x0000000102f09314: cbz x12, 0x0000000102f09320
0x0000000102f09318: ldr x8, [x12, #64]
0x0000000102f0931c: br x8
0x0000000102f09320: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f09324: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 129 11 n java.lang.invoke.MethodHandle::invokeBasic(L)L (native)
total in heap [0x0000000102f09508,0x0000000102f09630] = 296
relocation [0x0000000102f095e0,0x0000000102f095e8] = 8
main code [0x0000000102f09600,0x0000000102f09630] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c4dc348} 'invokeBasic' '(Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x0000000102f09600: nop
0x0000000102f09604: ldr w12, [x1, #20]
0x0000000102f09608: lsl x12, x12, #3
0x0000000102f0960c: ldr w12, [x12, #40]
0x0000000102f09610: lsl x12, x12, #3
0x0000000102f09614: ldr w12, [x12, #36]
0x0000000102f09618: lsl x12, x12, #3
0x0000000102f0961c: ldr x12, [x12, #16]
0x0000000102f09620: cbz x12, 0x0000000102f0962c
0x0000000102f09624: ldr x8, [x12, #64]
0x0000000102f09628: br x8
0x0000000102f0962c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 131 12 n java.lang.invoke.MethodHandle::linkToStatic(LL)L (native)
total in heap [0x0000000102f09808,0x0000000102f09920] = 280
relocation [0x0000000102f098e0,0x0000000102f098e8] = 8
main code [0x0000000102f09900,0x0000000102f09920] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c4e4358} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f09900: nop
0x0000000102f09904: ldr w12, [x2, #36]
0x0000000102f09908: lsl x12, x12, #3
0x0000000102f0990c: ldr x12, [x12, #16]
0x0000000102f09910: cbz x12, 0x0000000102f0991c
0x0000000102f09914: ldr x8, [x12, #64]
0x0000000102f09918: br x8
0x0000000102f0991c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 206 13 n java.lang.invoke.MethodHandle::linkToInterface(LL)L (native)
total in heap [0x0000000102f0b708,0x0000000102f0b868] = 352
relocation [0x0000000102f0b7e0,0x0000000102f0b7e8] = 8
main code [0x0000000102f0b800,0x0000000102f0b864] = 100
stub code [0x0000000102f0b864,0x0000000102f0b868] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c5a1548} 'linkToInterface' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0b800: nop
0x0000000102f0b804: ldr w10, [x1, #8]
0x0000000102f0b808: eor x10, x10, #0x700000000000
0x0000000102f0b80c: ldr w14, [x2, #24]
0x0000000102f0b810: lsl x14, x14, #3
0x0000000102f0b814: ldr x14, [x14, #16]
0x0000000102f0b818: ldr x12, [x2, #16]
0x0000000102f0b81c: ldr w11, [x10, #172]
0x0000000102f0b820: add x11, x10, x11, uxtx #3
0x0000000102f0b824: add x11, x11, #0x1d8
0x0000000102f0b828: add x10, x10, x12, uxtx #3
0x0000000102f0b82c: ldr x12, [x11]
0x0000000102f0b830: cmp x14, x12
0x0000000102f0b834: b.eq 0x0000000102f0b848 // b.none
0x0000000102f0b838: cbz x12, 0x0000000102f0b860
0x0000000102f0b83c: ldr x12, [x11, #16]!
0x0000000102f0b840: cmp x14, x12
0x0000000102f0b844: b.ne 0x0000000102f0b838 // b.any
0x0000000102f0b848: ldr w11, [x11, #8]
0x0000000102f0b84c: ldr x12, [x10, w11, uxtw]
0x0000000102f0b850: cbz x12, 0x0000000102f0b85c
0x0000000102f0b854: ldr x8, [x12, #64]
0x0000000102f0b858: br x8
0x0000000102f0b85c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
0x0000000102f0b860: b 0x0000000102e9dd80 ; {runtime_call IncompatibleClassChangeError throw_exception}
[Stub Code]
0x0000000102f0b864: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 210 14 n java.lang.invoke.MethodHandle::linkToStatic(L)L (native)
total in heap [0x0000000102f0bd88,0x0000000102f0bea0] = 280
relocation [0x0000000102f0be60,0x0000000102f0be68] = 8
main code [0x0000000102f0be80,0x0000000102f0bea0] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c5c9ad0} 'linkToStatic' '(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0be80: nop
0x0000000102f0be84: ldr w12, [x1, #36]
0x0000000102f0be88: lsl x12, x12, #3
0x0000000102f0be8c: ldr x12, [x12, #16]
0x0000000102f0be90: cbz x12, 0x0000000102f0be9c
0x0000000102f0be94: ldr x8, [x12, #64]
0x0000000102f0be98: br x8
0x0000000102f0be9c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 213 15 n java.lang.invoke.MethodHandle::linkToStatic(LLLL)L (native)
total in heap [0x0000000102f0c788,0x0000000102f0c8a0] = 280
relocation [0x0000000102f0c860,0x0000000102f0c868] = 8
main code [0x0000000102f0c880,0x0000000102f0c8a0] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c5dd5e8} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0c880: nop
0x0000000102f0c884: ldr w12, [x4, #36]
0x0000000102f0c888: lsl x12, x12, #3
0x0000000102f0c88c: ldr x12, [x12, #16]
0x0000000102f0c890: cbz x12, 0x0000000102f0c89c
0x0000000102f0c894: ldr x8, [x12, #64]
0x0000000102f0c898: br x8
0x0000000102f0c89c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 214 16 n java.lang.invoke.MethodHandle::invokeBasic()L (native)
total in heap [0x0000000102f0d188,0x0000000102f0d2b0] = 296
relocation [0x0000000102f0d260,0x0000000102f0d268] = 8
main code [0x0000000102f0d280,0x0000000102f0d2b0] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c5e1620} 'invokeBasic' '()Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# [sp+0x0] (sp of caller)
0x0000000102f0d280: nop
0x0000000102f0d284: ldr w12, [x1, #20]
0x0000000102f0d288: lsl x12, x12, #3
0x0000000102f0d28c: ldr w12, [x12, #40]
0x0000000102f0d290: lsl x12, x12, #3
0x0000000102f0d294: ldr w12, [x12, #36]
0x0000000102f0d298: lsl x12, x12, #3
0x0000000102f0d29c: ldr x12, [x12, #16]
0x0000000102f0d2a0: cbz x12, 0x0000000102f0d2ac
0x0000000102f0d2a4: ldr x8, [x12, #64]
0x0000000102f0d2a8: br x8
0x0000000102f0d2ac: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 214 17 n java.lang.invoke.MethodHandle::linkToSpecial(LL)L (native)
total in heap [0x0000000102f0d488,0x0000000102f0d5a8] = 288
relocation [0x0000000102f0d560,0x0000000102f0d568] = 8
main code [0x0000000102f0d580,0x0000000102f0d5a4] = 36
stub code [0x0000000102f0d5a4,0x0000000102f0d5a8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c5e1738} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0d580: nop
0x0000000102f0d584: ldr xzr, [x1]
0x0000000102f0d588: ldr w12, [x2, #36]
0x0000000102f0d58c: lsl x12, x12, #3
0x0000000102f0d590: ldr x12, [x12, #16]
0x0000000102f0d594: cbz x12, 0x0000000102f0d5a0
0x0000000102f0d598: ldr x8, [x12, #64]
0x0000000102f0d59c: br x8
0x0000000102f0d5a0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f0d5a4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 218 18 n java.lang.invoke.MethodHandle::linkToSpecial(LL)V (native)
total in heap [0x0000000102f0d788,0x0000000102f0d8a8] = 288
relocation [0x0000000102f0d860,0x0000000102f0d868] = 8
main code [0x0000000102f0d880,0x0000000102f0d8a4] = 36
stub code [0x0000000102f0d8a4,0x0000000102f0d8a8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c5462f8} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0d880: nop
0x0000000102f0d884: ldr xzr, [x1]
0x0000000102f0d888: ldr w12, [x2, #36]
0x0000000102f0d88c: lsl x12, x12, #3
0x0000000102f0d890: ldr x12, [x12, #16]
0x0000000102f0d894: cbz x12, 0x0000000102f0d8a0
0x0000000102f0d898: ldr x8, [x12, #64]
0x0000000102f0d89c: br x8
0x0000000102f0d8a0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f0d8a4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 220 19 n java.lang.invoke.MethodHandle::linkToInterface(LLL)I (native)
total in heap [0x0000000102f0da88,0x0000000102f0dbe8] = 352
relocation [0x0000000102f0db60,0x0000000102f0db68] = 8
main code [0x0000000102f0db80,0x0000000102f0dbe4] = 100
stub code [0x0000000102f0dbe4,0x0000000102f0dbe8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c5488b0} 'linkToInterface' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0db80: nop
0x0000000102f0db84: ldr w10, [x1, #8]
0x0000000102f0db88: eor x10, x10, #0x700000000000
0x0000000102f0db8c: ldr w14, [x3, #24]
0x0000000102f0db90: lsl x14, x14, #3
0x0000000102f0db94: ldr x14, [x14, #16]
0x0000000102f0db98: ldr x12, [x3, #16]
0x0000000102f0db9c: ldr w11, [x10, #172]
0x0000000102f0dba0: add x11, x10, x11, uxtx #3
0x0000000102f0dba4: add x11, x11, #0x1d8
0x0000000102f0dba8: add x10, x10, x12, uxtx #3
0x0000000102f0dbac: ldr x12, [x11]
0x0000000102f0dbb0: cmp x14, x12
0x0000000102f0dbb4: b.eq 0x0000000102f0dbc8 // b.none
0x0000000102f0dbb8: cbz x12, 0x0000000102f0dbe0
0x0000000102f0dbbc: ldr x12, [x11, #16]!
0x0000000102f0dbc0: cmp x14, x12
0x0000000102f0dbc4: b.ne 0x0000000102f0dbb8 // b.any
0x0000000102f0dbc8: ldr w11, [x11, #8]
0x0000000102f0dbcc: ldr x12, [x10, w11, uxtw]
0x0000000102f0dbd0: cbz x12, 0x0000000102f0dbdc
0x0000000102f0dbd4: ldr x8, [x12, #64]
0x0000000102f0dbd8: br x8
0x0000000102f0dbdc: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
0x0000000102f0dbe0: b 0x0000000102e9dd80 ; {runtime_call IncompatibleClassChangeError throw_exception}
[Stub Code]
0x0000000102f0dbe4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 224 20 n java.lang.invoke.MethodHandle::linkToStatic(LL)I (native)
total in heap [0x0000000102f0e108,0x0000000102f0e220] = 280
relocation [0x0000000102f0e1e0,0x0000000102f0e1e8] = 8
main code [0x0000000102f0e200,0x0000000102f0e220] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c5531f8} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0e200: nop
0x0000000102f0e204: ldr w12, [x2, #36]
0x0000000102f0e208: lsl x12, x12, #3
0x0000000102f0e20c: ldr x12, [x12, #16]
0x0000000102f0e210: cbz x12, 0x0000000102f0e21c
0x0000000102f0e214: ldr x8, [x12, #64]
0x0000000102f0e218: br x8
0x0000000102f0e21c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 226 21 n java.lang.invoke.MethodHandle::linkToStatic(LLL)I (native)
total in heap [0x0000000102f0e408,0x0000000102f0e520] = 280
relocation [0x0000000102f0e4e0,0x0000000102f0e4e8] = 8
main code [0x0000000102f0e500,0x0000000102f0e520] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c555080} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0e500: nop
0x0000000102f0e504: ldr w12, [x3, #36]
0x0000000102f0e508: lsl x12, x12, #3
0x0000000102f0e50c: ldr x12, [x12, #16]
0x0000000102f0e510: cbz x12, 0x0000000102f0e51c
0x0000000102f0e514: ldr x8, [x12, #64]
0x0000000102f0e518: br x8
0x0000000102f0e51c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 227 22 n java.lang.invoke.MethodHandle::linkToVirtual(LL)L (native)
total in heap [0x0000000102f0e708,0x0000000102f0e828] = 288
relocation [0x0000000102f0e7e0,0x0000000102f0e7e8] = 8
main code [0x0000000102f0e800,0x0000000102f0e828] = 40
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c555590} 'linkToVirtual' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0e800: nop
0x0000000102f0e804: ldr w10, [x1, #8]
0x0000000102f0e808: eor x10, x10, #0x700000000000
0x0000000102f0e80c: ldr x11, [x2, #16]
0x0000000102f0e810: add x12, x10, x11, uxtx #3
0x0000000102f0e814: ldr x12, [x12, #472]
0x0000000102f0e818: cbz x12, 0x0000000102f0e824
0x0000000102f0e81c: ldr x8, [x12, #64]
0x0000000102f0e820: br x8
0x0000000102f0e824: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 229 23 n java.lang.invoke.MethodHandle::linkToSpecial(LL)I (native)
total in heap [0x0000000102f0ea08,0x0000000102f0eb28] = 288
relocation [0x0000000102f0eae0,0x0000000102f0eae8] = 8
main code [0x0000000102f0eb00,0x0000000102f0eb24] = 36
stub code [0x0000000102f0eb24,0x0000000102f0eb28] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c55ec78} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f0eb00: nop
0x0000000102f0eb04: ldr xzr, [x1]
0x0000000102f0eb08: ldr w12, [x2, #36]
0x0000000102f0eb0c: lsl x12, x12, #3
0x0000000102f0eb10: ldr x12, [x12, #16]
0x0000000102f0eb14: cbz x12, 0x0000000102f0eb20
0x0000000102f0eb18: ldr x8, [x12, #64]
0x0000000102f0eb1c: br x8
0x0000000102f0eb20: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f0eb24: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 248 24 n jdk.internal.vm.Continuation::enterSpecial (native)
total in heap [0x0000000102f0f088,0x0000000102f0f380] = 760
relocation [0x0000000102f0f160,0x0000000102f0f188] = 40
main code [0x0000000102f0f1c0,0x0000000102f0f330] = 368
stub code [0x0000000102f0f330,0x0000000102f0f370] = 64
metadata [0x0000000102f0f370,0x0000000102f0f380] = 16
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Entry Point]
# {method} {0x000000011c08c298} 'enterSpecial' '(Ljdk/internal/vm/Continuation;ZZ)V' in 'jdk/internal/vm/Continuation'
# parm0: c_rarg1:c_rarg1
= 'jdk/internal/vm/Continuation'
# parm1: c_rarg2 = boolean
# parm2: c_rarg3 = boolean
# [sp+0x50] (sp of caller)
0x0000000102f0f1c0: ldp x2, x1, [x20, #8]
0x0000000102f0f1c4: ldr x3, [x20]
0x0000000102f0f1c8: ldr x8, [x28, #1344]
0x0000000102f0f1cc: cmp sp, x8
0x0000000102f0f1d0: b.ls 0x0000000102f0f1dc // b.plast
0x0000000102f0f1d4: mov x8, sp
0x0000000102f0f1d8: str x8, [x28, #1344]
0x0000000102f0f1dc: stp x29, x30, [sp, #-16]!
0x0000000102f0f1e0: mov x29, sp
0x0000000102f0f1e4: sub sp, sp, #0x40
0x0000000102f0f1e8: ldr x8, [x28, #1336]
0x0000000102f0f1ec: str x8, [sp, #8]
0x0000000102f0f1f0: mov x8, sp
0x0000000102f0f1f4: str x8, [x28, #1336]
0x0000000102f0f1f8: str x1, [sp, #16]
0x0000000102f0f1fc: str w3, [sp, #32]
0x0000000102f0f200: str xzr, [sp, #24]
0x0000000102f0f204: str wzr, [sp, #36]
0x0000000102f0f208: str wzr, [sp, #56]
0x0000000102f0f20c: ldr x8, [x28, #1344]
0x0000000102f0f210: str x8, [sp, #40]
0x0000000102f0f214: ldr x8, [x28, #1360]
0x0000000102f0f218: str x8, [sp, #48]
0x0000000102f0f21c: str xzr, [x28, #1344]
0x0000000102f0f220: str xzr, [x28, #1360]
0x0000000102f0f224: cbnz x2, 0x0000000102f0f2a0
0x0000000102f0f228: bl 0x0000000102ea8580 ; ImmutableOopMap {}
; {static_call}
0x0000000102f0f22c: nop ; {other}
0x0000000102f0f230: movk xzr, #0x1a4
0x0000000102f0f234: movk xzr, #0x0
0x0000000102f0f238: b 0x0000000102f0f2b0
0x0000000102f0f23c: nop
[Verified Entry Point]
0x0000000102f0f240: stp x29, x30, [sp, #-16]!
0x0000000102f0f244: mov x29, sp
0x0000000102f0f248: sub sp, sp, #0x40
0x0000000102f0f24c: ldr x8, [x28, #1336]
0x0000000102f0f250: str x8, [sp, #8]
0x0000000102f0f254: mov x8, sp
0x0000000102f0f258: str x8, [x28, #1336]
0x0000000102f0f25c: str x1, [sp, #16]
0x0000000102f0f260: str w3, [sp, #32]
0x0000000102f0f264: str xzr, [sp, #24]
0x0000000102f0f268: str wzr, [sp, #36]
0x0000000102f0f26c: str wzr, [sp, #56]
0x0000000102f0f270: ldr x8, [x28, #1344]
0x0000000102f0f274: str x8, [sp, #40]
0x0000000102f0f278: ldr x8, [x28, #1360]
0x0000000102f0f27c: str x8, [sp, #48]
0x0000000102f0f280: str xzr, [x28, #1344]
0x0000000102f0f284: str xzr, [x28, #1360]
0x0000000102f0f288: cbnz x2, 0x0000000102f0f2a0
0x0000000102f0f28c: bl 0x0000000102ea8580 ; ImmutableOopMap {}
; {static_call}
0x0000000102f0f290: nop ; {other}
0x0000000102f0f294: movk xzr, #0x208
0x0000000102f0f298: movk xzr, #0x100
0x0000000102f0f29c: b 0x0000000102f0f2b0
0x0000000102f0f2a0: bl Stub::Cont thaw ; ImmutableOopMap {}
; {runtime_call StubRoutines (continuation stubs)}
0x0000000102f0f2a4: nop ; {other}
0x0000000102f0f2a8: movk xzr, #0x21c
0x0000000102f0f2ac: movk xzr, #0x200
0x0000000102f0f2b0: ldr x8, [sp, #40]
0x0000000102f0f2b4: str x8, [x28, #1344]
0x0000000102f0f2b8: ldr x8, [sp, #48]
0x0000000102f0f2bc: str x8, [x28, #1360]
0x0000000102f0f2c0: ldr x9, [sp, #8]
0x0000000102f0f2c4: str x9, [x28, #1336]
0x0000000102f0f2c8: add x29, sp, #0x40
0x0000000102f0f2cc: mov sp, x29
0x0000000102f0f2d0: ldp x29, x30, [sp], #16
0x0000000102f0f2d4: ret
[Exception Handler]
0x0000000102f0f2d8: mov x19, x0
0x0000000102f0f2dc: ldr x8, [sp, #40]
0x0000000102f0f2e0: str x8, [x28, #1344]
0x0000000102f0f2e4: ldr x8, [sp, #48]
0x0000000102f0f2e8: str x8, [x28, #1360]
0x0000000102f0f2ec: ldr x9, [sp, #8]
0x0000000102f0f2f0: str x9, [x28, #1336]
0x0000000102f0f2f4: add x29, sp, #0x40
0x0000000102f0f2f8: ldr x1, [x29, #8]
0x0000000102f0f2fc: mov x0, x28
0x0000000102f0f300: stp x8, x12, [sp, #-16]!
0x0000000102f0f304: mov x8, #0x7460 // #29792
0x0000000102f0f308: movk x8, #0x254, lsl #16
0x0000000102f0f30c: movk x8, #0x1, lsl #32
0x0000000102f0f310: blr x8
0x0000000102f0f314: ldp x8, x12, [sp], #16
0x0000000102f0f318: mov x1, x0
0x0000000102f0f31c: mov x0, x19
0x0000000102f0f320: mov sp, x29
0x0000000102f0f324: ldp x29, x30, [sp], #16
0x0000000102f0f328: mov x3, x30
0x0000000102f0f32c: br x1
[Stub Code]
0x0000000102f0f330: isb ; {no_reloc}
0x0000000102f0f334: mov x12, #0x0 // #0
; {metadata(nullptr)}
0x0000000102f0f338: movk x12, #0x0, lsl #16
0x0000000102f0f33c: movk x12, #0x0, lsl #32
0x0000000102f0f340: mov x8, #0x0 // #0
0x0000000102f0f344: movk x8, #0x0, lsl #16
0x0000000102f0f348: movk x8, #0x0, lsl #32
0x0000000102f0f34c: br x8
0x0000000102f0f350: isb ; {static_stub}
0x0000000102f0f354: mov x12, #0x0 // #0
; {metadata(nullptr)}
0x0000000102f0f358: movk x12, #0x0, lsl #16
0x0000000102f0f35c: movk x12, #0x0, lsl #32
0x0000000102f0f360: mov x8, #0x0 // #0
0x0000000102f0f364: movk x8, #0x0, lsl #16
0x0000000102f0f368: movk x8, #0x0, lsl #32
0x0000000102f0f36c: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 250 25 n jdk.internal.vm.Continuation::doYield (native)
total in heap [0x0000000102f0f388,0x0000000102f0f528] = 416
relocation [0x0000000102f0f460,0x0000000102f0f468] = 8
main code [0x0000000102f0f480,0x0000000102f0f528] = 168
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c08c1e0} 'doYield' '()I' in 'jdk/internal/vm/Continuation'
# [sp+0x10] (sp of caller)
0x0000000102f0f480: stp x29, x30, [sp, #-16]!
0x0000000102f0f484: mov x29, sp
0x0000000102f0f488: mov x1, sp
0x0000000102f0f48c: nop ; {other}
0x0000000102f0f490: movk xzr, #0x104
0x0000000102f0f494: movk xzr, #0x0
0x0000000102f0f498: mov x0, x28
0x0000000102f0f49c: adr x8, 0x0000000102f0f48c
0x0000000102f0f4a0: str x8, [x28, #936]
0x0000000102f0f4a4: mov x8, sp
0x0000000102f0f4a8: str x8, [x28, #928]
0x0000000102f0f4ac: str x29, [x28, #944]
0x0000000102f0f4b0: stp x8, x12, [sp, #-16]!
0x0000000102f0f4b4: mov x8, #0xdb70 // #56176
0x0000000102f0f4b8: movk x8, #0x1f3, lsl #16
0x0000000102f0f4bc: movk x8, #0x1, lsl #32
0x0000000102f0f4c0: blr x8
0x0000000102f0f4c4: ldp x8, x12, [sp], #16
0x0000000102f0f4c8: str xzr, [x28, #928]
0x0000000102f0f4cc: str xzr, [x28, #944]
0x0000000102f0f4d0: str xzr, [x28, #936]
0x0000000102f0f4d4: cbnz x0, 0x0000000102f0f4fc
0x0000000102f0f4d8: ldr x8, [x28, #1336]
0x0000000102f0f4dc: mov sp, x8
0x0000000102f0f4e0: ldr x8, [sp, #40]
0x0000000102f0f4e4: str x8, [x28, #1344]
0x0000000102f0f4e8: ldr x8, [sp, #48]
0x0000000102f0f4ec: str x8, [x28, #1360]
0x0000000102f0f4f0: ldr x9, [sp, #8]
0x0000000102f0f4f4: str x9, [x28, #1336]
0x0000000102f0f4f8: add x29, sp, #0x40
0x0000000102f0f4fc: ldr x8, [x28, #8]
0x0000000102f0f500: cbz x8, 0x0000000102f0f51c
0x0000000102f0f504: mov sp, x29
0x0000000102f0f508: ldp x29, x30, [sp], #16
0x0000000102f0f50c: mov x8, #0xc040 // #49216
; {runtime_call StubRoutines (initial stubs)}
0x0000000102f0f510: movk x8, #0x2e6, lsl #16
0x0000000102f0f514: movk x8, #0x1, lsl #32
0x0000000102f0f518: br x8
0x0000000102f0f51c: mov sp, x29
0x0000000102f0f520: ldp x29, x30, [sp], #16
0x0000000102f0f524: ret
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 336 26 n java.lang.invoke.MethodHandle::linkToStatic(LLL)V (native)
total in heap [0x0000000102f12788,0x0000000102f128a0] = 280
relocation [0x0000000102f12860,0x0000000102f12868] = 8
main code [0x0000000102f12880,0x0000000102f128a0] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c679960} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f12880: nop
0x0000000102f12884: ldr w12, [x3, #36]
0x0000000102f12888: lsl x12, x12, #3
0x0000000102f1288c: ldr x12, [x12, #16]
0x0000000102f12890: cbz x12, 0x0000000102f1289c
0x0000000102f12894: ldr x8, [x12, #64]
0x0000000102f12898: br x8
0x0000000102f1289c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 337 27 n java.lang.invoke.MethodHandle::invokeBasic(LL)V (native)
total in heap [0x0000000102f12a88,0x0000000102f12bb0] = 296
relocation [0x0000000102f12b60,0x0000000102f12b68] = 8
main code [0x0000000102f12b80,0x0000000102f12bb0] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c679a78} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;)V' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm1: c_rarg3:c_rarg3
= 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x0000000102f12b80: nop
0x0000000102f12b84: ldr w12, [x1, #20]
0x0000000102f12b88: lsl x12, x12, #3
0x0000000102f12b8c: ldr w12, [x12, #40]
0x0000000102f12b90: lsl x12, x12, #3
0x0000000102f12b94: ldr w12, [x12, #36]
0x0000000102f12b98: lsl x12, x12, #3
0x0000000102f12b9c: ldr x12, [x12, #16]
0x0000000102f12ba0: cbz x12, 0x0000000102f12bac
0x0000000102f12ba4: ldr x8, [x12, #64]
0x0000000102f12ba8: br x8
0x0000000102f12bac: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 340 28 n java.lang.invoke.MethodHandle::linkToStatic(LLLLL)L (native)
total in heap [0x0000000102f12d88,0x0000000102f12ea0] = 280
relocation [0x0000000102f12e60,0x0000000102f12e68] = 8
main code [0x0000000102f12e80,0x0000000102f12ea0] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c67d468} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm4: c_rarg5:c_rarg5
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f12e80: nop
0x0000000102f12e84: ldr w12, [x5, #36]
0x0000000102f12e88: lsl x12, x12, #3
0x0000000102f12e8c: ldr x12, [x12, #16]
0x0000000102f12e90: cbz x12, 0x0000000102f12e9c
0x0000000102f12e94: ldr x8, [x12, #64]
0x0000000102f12e98: br x8
0x0000000102f12e9c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 341 29 n java.lang.invoke.MethodHandle::invokeBasic(LLLL)L (native)
total in heap [0x0000000102f13088,0x0000000102f131b0] = 296
relocation [0x0000000102f13160,0x0000000102f13168] = 8
main code [0x0000000102f13180,0x0000000102f131b0] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c67d8f8} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm1: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm2: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm3: c_rarg5:c_rarg5
= 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x0000000102f13180: nop
0x0000000102f13184: ldr w12, [x1, #20]
0x0000000102f13188: lsl x12, x12, #3
0x0000000102f1318c: ldr w12, [x12, #40]
0x0000000102f13190: lsl x12, x12, #3
0x0000000102f13194: ldr w12, [x12, #36]
0x0000000102f13198: lsl x12, x12, #3
0x0000000102f1319c: ldr x12, [x12, #16]
0x0000000102f131a0: cbz x12, 0x0000000102f131ac
0x0000000102f131a4: ldr x8, [x12, #64]
0x0000000102f131a8: br x8
0x0000000102f131ac: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 344 30 n java.lang.invoke.MethodHandle::linkToStatic(LLLLLL)L (native)
total in heap [0x0000000102f13388,0x0000000102f134a0] = 280
relocation [0x0000000102f13460,0x0000000102f13468] = 8
main code [0x0000000102f13480,0x0000000102f134a0] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c67f2e0} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm4: c_rarg5:c_rarg5
= 'java/lang/Object'
# parm5: c_rarg6:c_rarg6
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f13480: nop
0x0000000102f13484: ldr w12, [x6, #36]
0x0000000102f13488: lsl x12, x12, #3
0x0000000102f1348c: ldr x12, [x12, #16]
0x0000000102f13490: cbz x12, 0x0000000102f1349c
0x0000000102f13494: ldr x8, [x12, #64]
0x0000000102f13498: br x8
0x0000000102f1349c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 345 31 n java.lang.invoke.MethodHandle::invokeBasic(LLLLL)L (native)
total in heap [0x0000000102f13688,0x0000000102f137b0] = 296
relocation [0x0000000102f13760,0x0000000102f13768] = 8
main code [0x0000000102f13780,0x0000000102f137b0] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c67f5a8} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm1: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm2: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm3: c_rarg5:c_rarg5
= 'java/lang/Object'
# parm4: c_rarg6:c_rarg6
= 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x0000000102f13780: nop
0x0000000102f13784: ldr w12, [x1, #20]
0x0000000102f13788: lsl x12, x12, #3
0x0000000102f1378c: ldr w12, [x12, #40]
0x0000000102f13790: lsl x12, x12, #3
0x0000000102f13794: ldr w12, [x12, #36]
0x0000000102f13798: lsl x12, x12, #3
0x0000000102f1379c: ldr x12, [x12, #16]
0x0000000102f137a0: cbz x12, 0x0000000102f137ac
0x0000000102f137a4: ldr x8, [x12, #64]
0x0000000102f137a8: br x8
0x0000000102f137ac: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 346 32 n java.lang.invoke.MethodHandle::invokeBasic(LLL)L (native)
total in heap [0x0000000102f13988,0x0000000102f13ab0] = 296
relocation [0x0000000102f13a60,0x0000000102f13a68] = 8
main code [0x0000000102f13a80,0x0000000102f13ab0] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c67f870} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm1: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm2: c_rarg4:c_rarg4
= 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x0000000102f13a80: nop
0x0000000102f13a84: ldr w12, [x1, #20]
0x0000000102f13a88: lsl x12, x12, #3
0x0000000102f13a8c: ldr w12, [x12, #40]
0x0000000102f13a90: lsl x12, x12, #3
0x0000000102f13a94: ldr w12, [x12, #36]
0x0000000102f13a98: lsl x12, x12, #3
0x0000000102f13a9c: ldr x12, [x12, #16]
0x0000000102f13aa0: cbz x12, 0x0000000102f13aac
0x0000000102f13aa4: ldr x8, [x12, #64]
0x0000000102f13aa8: br x8
0x0000000102f13aac: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 346 33 n java.lang.invoke.MethodHandle::linkToSpecial(LLLLL)L (native)
total in heap [0x0000000102f13c88,0x0000000102f13da8] = 288
relocation [0x0000000102f13d60,0x0000000102f13d68] = 8
main code [0x0000000102f13d80,0x0000000102f13da4] = 36
stub code [0x0000000102f13da4,0x0000000102f13da8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c67f988} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm4: c_rarg5:c_rarg5
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f13d80: nop
0x0000000102f13d84: ldr xzr, [x1]
0x0000000102f13d88: ldr w12, [x5, #36]
0x0000000102f13d8c: lsl x12, x12, #3
0x0000000102f13d90: ldr x12, [x12, #16]
0x0000000102f13d94: cbz x12, 0x0000000102f13da0
0x0000000102f13d98: ldr x8, [x12, #64]
0x0000000102f13d9c: br x8
0x0000000102f13da0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f13da4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 370 34 n java.lang.invoke.MethodHandle::linkToStatic(LL)V (native)
total in heap [0x0000000102f15f08,0x0000000102f16020] = 280
relocation [0x0000000102f15fe0,0x0000000102f15fe8] = 8
main code [0x0000000102f16000,0x0000000102f16020] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c6efad0} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f16000: nop
0x0000000102f16004: ldr w12, [x2, #36]
0x0000000102f16008: lsl x12, x12, #3
0x0000000102f1600c: ldr x12, [x12, #16]
0x0000000102f16010: cbz x12, 0x0000000102f1601c
0x0000000102f16014: ldr x8, [x12, #64]
0x0000000102f16018: br x8
0x0000000102f1601c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 385 35 n java.lang.invoke.MethodHandle::linkToStatic(IL)I (native)
total in heap [0x0000000102f16208,0x0000000102f16320] = 280
relocation [0x0000000102f162e0,0x0000000102f162e8] = 8
main code [0x0000000102f16300,0x0000000102f16320] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c795268} 'linkToStatic' '(ILjava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1 = int
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f16300: nop
0x0000000102f16304: ldr w12, [x2, #36]
0x0000000102f16308: lsl x12, x12, #3
0x0000000102f1630c: ldr x12, [x12, #16]
0x0000000102f16310: cbz x12, 0x0000000102f1631c
0x0000000102f16314: ldr x8, [x12, #64]
0x0000000102f16318: br x8
0x0000000102f1631c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 393 36 n java.lang.invoke.MethodHandle::linkToStatic(LLLLL)I (native)
total in heap [0x0000000102f18808,0x0000000102f18920] = 280
relocation [0x0000000102f188e0,0x0000000102f188e8] = 8
main code [0x0000000102f18900,0x0000000102f18920] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7c5e80} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm4: c_rarg5:c_rarg5
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f18900: nop
0x0000000102f18904: ldr w12, [x5, #36]
0x0000000102f18908: lsl x12, x12, #3
0x0000000102f1890c: ldr x12, [x12, #16]
0x0000000102f18910: cbz x12, 0x0000000102f1891c
0x0000000102f18914: ldr x8, [x12, #64]
0x0000000102f18918: br x8
0x0000000102f1891c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
============================= C2-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------
Compiled method (c2) 397 37 java.lang.AbstractStringBuilder::appendNull (75 bytes)
total in heap [0x0000000102f1cf88,0x0000000102f1d558] = 1488
relocation [0x0000000102f1d060,0x0000000102f1d0b8] = 88
main code [0x0000000102f1d0c0,0x0000000102f1d4f0] = 1072
stub code [0x0000000102f1d4f0,0x0000000102f1d520] = 48
metadata [0x0000000102f1d520,0x0000000102f1d558] = 56
immutable data [0x0000000144856800,0x0000000144856c78] = 1144
dependencies [0x0000000144856800,0x0000000144856810] = 16
nul chk table [0x0000000144856810,0x0000000144856820] = 16
handler table [0x0000000144856820,0x0000000144856850] = 48
scopes pcs [0x0000000144856850,0x0000000144856b20] = 720
scopes data [0x0000000144856b20,0x0000000144856c78] = 344
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Instructions begin]
0x0000000102f1d0c0: nop
0x0000000102f1d0c4: nop
0x0000000102f1d0c8: nop
[Entry Point]
# {method} {0x000000011c0cefd0} 'appendNull' '()Ljava/lang/AbstractStringBuilder;' in 'java/lang/AbstractStringBuilder'
# [sp+0x50] (sp of caller)
0x0000000102f1d0cc: ldr w8, [x1, #8]
0x0000000102f1d0d0: ldr w10, [x9, #8]
0x0000000102f1d0d4: cmp w8, w10
0x0000000102f1d0d8: b.eq 0x0000000102f1d0e0 // b.none
0x0000000102f1d0dc: b 0x0000000102ea7c80 ; {runtime_call ic_miss_stub}
[Verified Entry Point]
0x0000000102f1d0e0: nop
0x0000000102f1d0e4: sub x9, sp, #0x14, lsl #12
0x0000000102f1d0e8: str xzr, [x9]
0x0000000102f1d0ec: sub sp, sp, #0x50
0x0000000102f1d0f0: stp x29, x30, [sp, #64]
0x0000000102f1d0f4: ldr w8, 0x0000000102f1d4ec
0x0000000102f1d0f8: ldr w9, [x28, #32]
0x0000000102f1d0fc: cmp x8, x9
0x0000000102f1d100: b.ne 0x0000000102f1d4d8 // b.any;*synchronization entry
; - java.lang.AbstractStringBuilder::appendNull at -1 (line 711)
0x0000000102f1d104: ldr w10, [x1, #20]
0x0000000102f1d108: mov x19, x1
0x0000000102f1d10c: lsl x14, x10, #3 ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 1 (line 316)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d110: ldr w15, [x14, #12] ; implicit exception: dispatches to 0x0000000102f1d4a0
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 316)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d114: ldrsb w12, [x1, #16] ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 6 (line 316)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d118: ldr w17, [x1, #12] ;*getfield count {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 1 (line 711)
0x0000000102f1d11c: asr w11, w15, w12
0x0000000102f1d120: sub w13, w17, w11
0x0000000102f1d124: add w11, w13, #0x4
0x0000000102f1d128: add w13, w17, #0x4 ;*iadd {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 8 (line 712)
0x0000000102f1d12c: cmp w11, #0x0
0x0000000102f1d130: b.gt 0x0000000102f1d17c
0x0000000102f1d134: lsl x10, x10, #3 ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 13 (line 713)
0x0000000102f1d138: cbz w12, 0x0000000102f1d3d8 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 21 (line 714)
0x0000000102f1d13c: mov w11, #0x6e // #110
0x0000000102f1d140: add x10, x10, w17, sxtw #1
0x0000000102f1d144: strh w11, [x10, #16] ;*invokestatic putChar {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringUTF16::putCharsAt at 3 (line 1552)
; - java.lang.AbstractStringBuilder::appendNull at 63 (line 722)
0x0000000102f1d148: mov w11, #0x75 // #117
0x0000000102f1d14c: mov w12, #0x6c // #108
0x0000000102f1d150: strh w11, [x10, #18] ;*invokestatic putChar {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringUTF16::putCharsAt at 11 (line 1553)
; - java.lang.AbstractStringBuilder::appendNull at 63 (line 722)
0x0000000102f1d154: strh w12, [x10, #20] ;*invokestatic putChar {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringUTF16::putCharsAt at 20 (line 1554)
; - java.lang.AbstractStringBuilder::appendNull at 63 (line 722)
0x0000000102f1d158: strh w12, [x10, #22] ;*invokestatic putChar {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringUTF16::putCharsAt at 29 (line 1555)
; - java.lang.AbstractStringBuilder::appendNull at 63 (line 722)
0x0000000102f1d15c: str w13, [x19, #12] ;*synchronization entry
; - java.lang.AbstractStringBuilder::appendNull at -1 (line 711)
0x0000000102f1d160: mov x0, x19
0x0000000102f1d164: ldp x29, x30, [sp, #64]
0x0000000102f1d168: add sp, sp, #0x50
0x0000000102f1d16c: ldr x8, [x28, #1096] ; {poll_return}
0x0000000102f1d170: cmp sp, x8
0x0000000102f1d174: b.hi 0x0000000102f1d4cc // b.pmore
0x0000000102f1d178: ret
0x0000000102f1d17c: stp w15, w13, [sp]
0x0000000102f1d180: str x14, [sp, #8]
0x0000000102f1d184: str w17, [sp, #20]
0x0000000102f1d188: mov x29, x1
0x0000000102f1d18c: mov w2, w13
0x0000000102f1d190: bl 0x0000000102ea7f80 ; ImmutableOopMap {rfp=Oop [8]=Oop }
;*invokevirtual newCapacity {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 319)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
; {optimized virtual_call}
0x0000000102f1d194: nop ; {other}
0x0000000102f1d198: movk xzr, #0x20c
0x0000000102f1d19c: movk xzr, #0x0 ;*invokevirtual newCapacity {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 319)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d1a0: mov x19, x29
0x0000000102f1d1a4: ldrsb w10, [x19, #16]
0x0000000102f1d1a8: lsl w14, w0, w10 ;*ishl {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 31 (line 319)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d1ac: ldr w11, [sp]
0x0000000102f1d1b0: cmp w11, w14
0x0000000102f1d1b4: csel w29, w11, w14, lt // lt = tstop;*invokestatic min {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 25 (line 3542)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d1b8: cmp w14, w11
0x0000000102f1d1bc: b.eq 0x0000000102f1d480 // b.none;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 3 (line 3537)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d1c0: mov w12, w14
0x0000000102f1d1c4: mov x10, #0x17 // #23
0x0000000102f1d1c8: add x12, x10, w12, sxtw ;*newarray {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 15 (line 3540)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d1cc: cmp w11, w29
0x0000000102f1d1d0: b.cc 0x0000000102f1d434 // b.lo, b.ul, b.last
0x0000000102f1d1d4: cmp w14, w29
0x0000000102f1d1d8: b.cc 0x0000000102f1d434 // b.lo, b.ul, b.last
;*invokestatic arraycopy {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 28 (line 3541)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d1dc: and x13, x12, #0xfffffffffffffff8;*newarray {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 15 (line 3540)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d1e0: cmp w14, #0x100, lsl #12
0x0000000102f1d1e4: b.hi 0x0000000102f1d398 // b.pmore
0x0000000102f1d1e8: ldr x20, [x28, #440]
0x0000000102f1d1ec: ldr x11, [x28, #456]
0x0000000102f1d1f0: add x10, x20, x13
0x0000000102f1d1f4: cmp x10, x11
0x0000000102f1d1f8: b.cs 0x0000000102f1d398 // b.hs, b.nlast
;*putfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d1fc: orr x11, xzr, #0x1
0x0000000102f1d200: str x10, [x28, #440]
0x0000000102f1d204: str x11, [x20]
0x0000000102f1d208: mov x11, #0x40000 // #262144
; {metadata({type array byte})}
0x0000000102f1d20c: movk x11, #0xa00
0x0000000102f1d210: prfm pstl1keep, [x10, #384]
0x0000000102f1d214: str w11, [x20, #8]
0x0000000102f1d218: prfm pstl1keep, [x10, #512]
0x0000000102f1d21c: str w14, [x20, #12]
0x0000000102f1d220: prfm pstl1keep, [x10, #640] ;*newarray {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 15 (line 3540)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d224: lsr x11, x12, #3
0x0000000102f1d228: add x1, x20, #0x10
0x0000000102f1d22c: lsr x21, x20, #3
0x0000000102f1d230: cbz w29, 0x0000000102f1d400
0x0000000102f1d234: ldr x10, [sp, #8]
0x0000000102f1d238: add x0, x10, #0x10
0x0000000102f1d23c: cmp w29, w14
0x0000000102f1d240: b.lt 0x0000000102f1d2b4 // b.tstop
0x0000000102f1d244: sub x10, x13, #0x10
0x0000000102f1d248: lsr x2, x10, #3
0x0000000102f1d24c: bl Stub::arrayof_jlong_disjoint_arraycopy
; {runtime_call StubRoutines (final stubs)}
0x0000000102f1d250: nop ; {other}
0x0000000102f1d254: movk xzr, #0x0
0x0000000102f1d258: movk xzr, #0x0
0x0000000102f1d25c: dmb ishst
0x0000000102f1d260: ldrsb w10, [x28, #56]
0x0000000102f1d264: cbnz w10, 0x0000000102f1d304
0x0000000102f1d268: mov x10, x19
0x0000000102f1d26c: mov x11, x20
0x0000000102f1d270: eor x11, x11, x10
0x0000000102f1d274: lsr x11, x11, #23
0x0000000102f1d278: str w21, [x19, #20]
0x0000000102f1d27c: cbz x11, 0x0000000102f1d2a0
0x0000000102f1d280: lsr x10, x10, #9
0x0000000102f1d284: mov x11, #0xc000 // #49152
0x0000000102f1d288: movk x11, #0x5e6, lsl #16
0x0000000102f1d28c: movk x11, #0x1, lsl #32
0x0000000102f1d290: add x0, x11, x10
0x0000000102f1d294: ldrsb w10, [x0]
0x0000000102f1d298: cmp w10, #0x2
0x0000000102f1d29c: b.ne 0x0000000102f1d330 // b.any;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 13 (line 713)
0x0000000102f1d2a0: ldrsb w12, [x19, #16] ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::isLatin1 at 7 (line 1791)
; - java.lang.AbstractStringBuilder::appendNull at 18 (line 714)
0x0000000102f1d2a4: lsr x10, x20, #3
0x0000000102f1d2a8: ldr w13, [sp, #4]
0x0000000102f1d2ac: ldr w17, [sp, #20]
0x0000000102f1d2b0: b 0x0000000102f1d134
0x0000000102f1d2b4: sxtw x2, w29
0x0000000102f1d2b8: add x12, x2, #0x10
0x0000000102f1d2bc: and x10, x12, #0xfffffffffffffff8
0x0000000102f1d2c0: add x10, x20, x10
0x0000000102f1d2c4: sub x11, x11, x12, lsr #3
0x0000000102f1d2c8: subs x8, x11, #0x8
0x0000000102f1d2cc: b.cc 0x0000000102f1d2d4 // b.lo, b.ul, b.last
0x0000000102f1d2d0: bl Stub::zero_blocks ; {runtime_call StubRoutines (final stubs)}
0x0000000102f1d2d4: tbz w11, #2, 0x0000000102f1d2e0
0x0000000102f1d2d8: stp xzr, xzr, [x10], #16
0x0000000102f1d2dc: stp xzr, xzr, [x10], #16
0x0000000102f1d2e0: tbz w11, #1, 0x0000000102f1d2e8
0x0000000102f1d2e4: stp xzr, xzr, [x10], #16
0x0000000102f1d2e8: tbz w11, #0, 0x0000000102f1d2f0
0x0000000102f1d2ec: str xzr, [x10]
0x0000000102f1d2f0: bl Stub::arrayof_jbyte_disjoint_arraycopy
; {runtime_call StubRoutines (final stubs)}
0x0000000102f1d2f4: nop ; {other}
0x0000000102f1d2f8: movk xzr, #0x0
0x0000000102f1d2fc: movk xzr, #0x0
0x0000000102f1d300: b 0x0000000102f1d25c
0x0000000102f1d304: ldr w11, [x19, #20]
0x0000000102f1d308: lsl x0, x11, #3
0x0000000102f1d30c: cbz x0, 0x0000000102f1d268
0x0000000102f1d310: ldr x10, [x28, #40]
0x0000000102f1d314: cbz x10, 0x0000000102f1d450
0x0000000102f1d318: ldr x11, [x28, #48]
0x0000000102f1d31c: sub x12, x10, #0x8
0x0000000102f1d320: add x10, x11, x10
0x0000000102f1d324: stur x0, [x10, #-8]
0x0000000102f1d328: str x12, [x28, #40]
0x0000000102f1d32c: b 0x0000000102f1d268
0x0000000102f1d330: ldp x11, x10, [x28, #64]
0x0000000102f1d334: dmb ish
0x0000000102f1d338: ldrsb w12, [x0]
0x0000000102f1d33c: cbz w12, 0x0000000102f1d388
0x0000000102f1d340: strb wzr, [x0]
0x0000000102f1d344: cbz x11, 0x0000000102f1d35c
0x0000000102f1d348: sub x12, x11, #0x8
0x0000000102f1d34c: add x10, x10, x11
0x0000000102f1d350: stur x0, [x10, #-8]
0x0000000102f1d354: str x12, [x28, #64]
0x0000000102f1d358: b 0x0000000102f1d388
0x0000000102f1d35c: mov x1, x28
0x0000000102f1d360: adr x9, 0x0000000102f1d378
0x0000000102f1d364: mov x8, #0x6ae4 // #27364
; {runtime_call G1BarrierSetRuntime::write_ref_field_post_entry(unsigned char volatile*, JavaThread*)}
0x0000000102f1d368: movk x8, #0x200, lsl #16
0x0000000102f1d36c: movk x8, #0x1, lsl #32
0x0000000102f1d370: stp xzr, x9, [sp, #-16]!
0x0000000102f1d374: blr x8
0x0000000102f1d378: nop ; {other}
0x0000000102f1d37c: movk xzr, #0x0
0x0000000102f1d380: movk xzr, #0x0
0x0000000102f1d384: add sp, sp, #0x10 ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d388: ldr w11, [x19, #20]
0x0000000102f1d38c: lsl x10, x11, #3 ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 13 (line 713)
0x0000000102f1d390: mov x20, x10
0x0000000102f1d394: b 0x0000000102f1d2a0
0x0000000102f1d398: str w14, [sp]
0x0000000102f1d39c: stp x19, x12, [sp, #24]
0x0000000102f1d3a0: str x13, [sp, #40]
0x0000000102f1d3a4: mov x1, #0xa00 // #2560
; {metadata({type array byte})}
0x0000000102f1d3a8: movk x1, #0x4, lsl #16
0x0000000102f1d3ac: movk x1, #0x7000, lsl #32
0x0000000102f1d3b0: mov w2, w14
0x0000000102f1d3b4: bl 0x0000000102eecf00 ; ImmutableOopMap {[8]=Oop [24]=Oop }
;*newarray {reexecute=0 rethrow=0 return_oop=1}
; - java.util.Arrays::copyOf at 15 (line 3540)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
; {runtime_call _new_array_nozero_Java}
0x0000000102f1d3b8: nop ; {other}
0x0000000102f1d3bc: movk xzr, #0x430
0x0000000102f1d3c0: movk xzr, #0x100 ;*newarray {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 15 (line 3540)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d3c4: ldr w14, [sp]
0x0000000102f1d3c8: ldr x19, [sp, #24]
0x0000000102f1d3cc: mov x20, x0
0x0000000102f1d3d0: ldp x12, x13, [sp, #32]
0x0000000102f1d3d4: b 0x0000000102f1d224
0x0000000102f1d3d8: cmp w12, #0x0 ;*invokevirtual isLatin1 {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 18 (line 714)
0x0000000102f1d3dc: cset w29, eq // eq = none ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::isLatin1 at 18 (line 1791)
; - java.lang.AbstractStringBuilder::appendNull at 18 (line 714)
0x0000000102f1d3e0: mov w1, #0xffffff45 // #-187
0x0000000102f1d3e4: str x19, [sp]
0x0000000102f1d3e8: str w17, [sp, #8]
0x0000000102f1d3ec: str x10, [sp, #16]
0x0000000102f1d3f0: bl 0x0000000102eaed00 ; ImmutableOopMap {[0]=Oop [16]=Oop }
;*ifeq {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) java.lang.AbstractStringBuilder::appendNull at 21 (line 714)
; {runtime_call UncommonTrapBlob}
0x0000000102f1d3f4: nop ; {other}
0x0000000102f1d3f8: movk xzr, #0x46c
0x0000000102f1d3fc: movk xzr, #0x200 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 21 (line 714)
0x0000000102f1d400: mov x10, x1
0x0000000102f1d404: sub x11, x11, #0x2
0x0000000102f1d408: subs x8, x11, #0x8
0x0000000102f1d40c: b.cc 0x0000000102f1d414 // b.lo, b.ul, b.last
0x0000000102f1d410: bl Stub::zero_blocks ; {runtime_call StubRoutines (final stubs)}
0x0000000102f1d414: tbz w11, #2, 0x0000000102f1d420
0x0000000102f1d418: stp xzr, xzr, [x10], #16
0x0000000102f1d41c: stp xzr, xzr, [x10], #16
0x0000000102f1d420: tbz w11, #1, 0x0000000102f1d428
0x0000000102f1d424: stp xzr, xzr, [x10], #16
0x0000000102f1d428: tbz w11, #0, 0x0000000102f1d430
0x0000000102f1d42c: str xzr, [x10]
0x0000000102f1d430: b 0x0000000102f1d25c ;*invokestatic arraycopy {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 28 (line 3541)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d434: mov w1, #0xffffffcc // #-52
0x0000000102f1d438: str x19, [sp]
0x0000000102f1d43c: str w14, [sp, #16]
0x0000000102f1d440: bl 0x0000000102eaed00 ; ImmutableOopMap {[0]=Oop [8]=Oop }
;*newarray {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) java.util.Arrays::copyOf at 15 (line 3540)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
; {runtime_call UncommonTrapBlob}
0x0000000102f1d444: nop ; {other}
0x0000000102f1d448: movk xzr, #0x4bc
0x0000000102f1d44c: movk xzr, #0x300
0x0000000102f1d450: mov x1, x28
0x0000000102f1d454: adr x9, 0x0000000102f1d46c
0x0000000102f1d458: mov x8, #0x6abc // #27324
; {runtime_call G1BarrierSetRuntime::write_ref_field_pre_entry(oopDesc*, JavaThread*)}
0x0000000102f1d45c: movk x8, #0x200, lsl #16
0x0000000102f1d460: movk x8, #0x1, lsl #32
0x0000000102f1d464: stp xzr, x9, [sp, #-16]!
0x0000000102f1d468: blr x8
0x0000000102f1d46c: nop ; {other}
0x0000000102f1d470: movk xzr, #0x0
0x0000000102f1d474: movk xzr, #0x0
0x0000000102f1d478: add sp, sp, #0x10 ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d47c: b 0x0000000102f1d268
0x0000000102f1d480: mov w1, #0xffffff45 // #-187
0x0000000102f1d484: str x19, [sp]
0x0000000102f1d488: str w11, [sp, #16]
0x0000000102f1d48c: str w14, [sp, #24]
0x0000000102f1d490: bl 0x0000000102eaed00 ; ImmutableOopMap {[0]=Oop [8]=Oop }
;*if_icmpne {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) java.util.Arrays::copyOf at 3 (line 3537)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
; {runtime_call UncommonTrapBlob}
0x0000000102f1d494: nop ; {other}
0x0000000102f1d498: movk xzr, #0x50c
0x0000000102f1d49c: movk xzr, #0x400 ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 3 (line 3537)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d4a0: mov w1, #0xfffffff6 // #-10
0x0000000102f1d4a4: bl 0x0000000102eaed00 ; ImmutableOopMap {}
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 316)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
; {runtime_call UncommonTrapBlob}
0x0000000102f1d4a8: nop ; {other}
0x0000000102f1d4ac: movk xzr, #0x520
0x0000000102f1d4b0: movk xzr, #0x500 ;*newarray {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 15 (line 3540)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 318)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d4b4: mov x1, x0
0x0000000102f1d4b8: b 0x0000000102f1d4c0 ;*invokevirtual newCapacity {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 319)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d4bc: mov x1, x0 ;*synchronization entry
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at -1 (line 316)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 712)
0x0000000102f1d4c0: ldp x29, x30, [sp, #64]
0x0000000102f1d4c4: add sp, sp, #0x50
0x0000000102f1d4c8: b 0x0000000102eeed00 ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 13 (line 713)
; {runtime_call _rethrow_Java}
0x0000000102f1d4cc: adr x8, 0x0000000102f1d16c ; {internal_word}
0x0000000102f1d4d0: str x8, [x28, #1120]
0x0000000102f1d4d4: b 0x0000000102eae680 ; {runtime_call SafepointBlob}
0x0000000102f1d4d8: mov x8, #0x16c0 // #5824
; {runtime_call StubRoutines (final stubs)}
0x0000000102f1d4dc: movk x8, #0x2eb, lsl #16
0x0000000102f1d4e0: movk x8, #0x1, lsl #32
0x0000000102f1d4e4: blr x8
0x0000000102f1d4e8: b 0x0000000102f1d104
0x0000000102f1d4ec: udf #1 ; {other}
[Stub Code]
0x0000000102f1d4f0: isb ; {no_reloc}
0x0000000102f1d4f4: mov x12, #0x0 // #0
; {metadata(nullptr)}
0x0000000102f1d4f8: movk x12, #0x0, lsl #16
0x0000000102f1d4fc: movk x12, #0x0, lsl #32
0x0000000102f1d500: mov x8, #0x0 // #0
0x0000000102f1d504: movk x8, #0x0, lsl #16
0x0000000102f1d508: movk x8, #0x0, lsl #32
0x0000000102f1d50c: br x8
[Exception Handler]
0x0000000102f1d510: b 0x0000000102eed880 ; {runtime_call ExceptionBlob}
[Deopt Handler Code]
0x0000000102f1d514: adr x30, 0x0000000102f1d514
0x0000000102f1d518: b 0x0000000102eae980 ; {runtime_call DeoptimizationBlob}
0x0000000102f1d51c: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38661 38 n java.lang.invoke.MethodHandle::linkToSpecial(LLLLLLL)L (native)
total in heap [0x0000000102f1cc88,0x0000000102f1cda8] = 288
relocation [0x0000000102f1cd60,0x0000000102f1cd68] = 8
main code [0x0000000102f1cd80,0x0000000102f1cda4] = 36
stub code [0x0000000102f1cda4,0x0000000102f1cda8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d03b0} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm4: c_rarg5:c_rarg5
= 'java/lang/Object'
# parm5: c_rarg6:c_rarg6
= 'java/lang/Object'
# parm6: c_rarg7:c_rarg7
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1cd80: nop
0x0000000102f1cd84: ldr xzr, [x1]
0x0000000102f1cd88: ldr w12, [x7, #36]
0x0000000102f1cd8c: lsl x12, x12, #3
0x0000000102f1cd90: ldr x12, [x12, #16]
0x0000000102f1cd94: cbz x12, 0x0000000102f1cda0
0x0000000102f1cd98: ldr x8, [x12, #64]
0x0000000102f1cd9c: br x8
0x0000000102f1cda0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f1cda4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38663 39 n java.lang.invoke.MethodHandle::linkToStatic(LJL)L (native)
total in heap [0x0000000102f1c988,0x0000000102f1caa0] = 280
relocation [0x0000000102f1ca60,0x0000000102f1ca68] = 8
main code [0x0000000102f1ca80,0x0000000102f1caa0] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d0768} 'linkToStatic' '(Ljava/lang/Object;JLjava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= long
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1ca80: nop
0x0000000102f1ca84: ldr w12, [x3, #36]
0x0000000102f1ca88: lsl x12, x12, #3
0x0000000102f1ca8c: ldr x12, [x12, #16]
0x0000000102f1ca90: cbz x12, 0x0000000102f1ca9c
0x0000000102f1ca94: ldr x8, [x12, #64]
0x0000000102f1ca98: br x8
0x0000000102f1ca9c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38664 40 n java.lang.invoke.MethodHandle::invokeBasic(LJ)L (native)
total in heap [0x0000000102f1c688,0x0000000102f1c7b0] = 296
relocation [0x0000000102f1c760,0x0000000102f1c768] = 8
main code [0x0000000102f1c780,0x0000000102f1c7b0] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d0880} 'invokeBasic' '(Ljava/lang/Object;J)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm1: c_rarg3:c_rarg3
= long
# [sp+0x0] (sp of caller)
0x0000000102f1c780: nop
0x0000000102f1c784: ldr w12, [x1, #20]
0x0000000102f1c788: lsl x12, x12, #3
0x0000000102f1c78c: ldr w12, [x12, #40]
0x0000000102f1c790: lsl x12, x12, #3
0x0000000102f1c794: ldr w12, [x12, #36]
0x0000000102f1c798: lsl x12, x12, #3
0x0000000102f1c79c: ldr x12, [x12, #16]
0x0000000102f1c7a0: cbz x12, 0x0000000102f1c7ac
0x0000000102f1c7a4: ldr x8, [x12, #64]
0x0000000102f1c7a8: br x8
0x0000000102f1c7ac: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38664 41 n java.lang.invoke.MethodHandle::linkToSpecial(LLJL)L (native)
total in heap [0x0000000102f1c388,0x0000000102f1c4a8] = 288
relocation [0x0000000102f1c460,0x0000000102f1c468] = 8
main code [0x0000000102f1c480,0x0000000102f1c4a4] = 36
stub code [0x0000000102f1c4a4,0x0000000102f1c4a8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d0b08} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= long
# parm3: c_rarg4:c_rarg4
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1c480: nop
0x0000000102f1c484: ldr xzr, [x1]
0x0000000102f1c488: ldr w12, [x4, #36]
0x0000000102f1c48c: lsl x12, x12, #3
0x0000000102f1c490: ldr x12, [x12, #16]
0x0000000102f1c494: cbz x12, 0x0000000102f1c4a0
0x0000000102f1c498: ldr x8, [x12, #64]
0x0000000102f1c49c: br x8
0x0000000102f1c4a0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f1c4a4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38665 42 n java.lang.invoke.MethodHandle::linkToStatic(JLJLL)J (native)
total in heap [0x0000000102f1bd08,0x0000000102f1be20] = 280
relocation [0x0000000102f1bde0,0x0000000102f1bde8] = 8
main code [0x0000000102f1be00,0x0000000102f1be20] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d0da0} 'linkToStatic' '(JLjava/lang/Object;JLjava/lang/Object;Ljava/lang/invoke/MemberName;)J' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= long
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= long
# parm3: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm4: c_rarg5:c_rarg5
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1be00: nop
0x0000000102f1be04: ldr w12, [x5, #36]
0x0000000102f1be08: lsl x12, x12, #3
0x0000000102f1be0c: ldr x12, [x12, #16]
0x0000000102f1be10: cbz x12, 0x0000000102f1be1c
0x0000000102f1be14: ldr x8, [x12, #64]
0x0000000102f1be18: br x8
0x0000000102f1be1c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38666 43 n java.lang.invoke.MethodHandle::invokeBasic(JLJL)J (native)
total in heap [0x0000000102f1ba08,0x0000000102f1bb30] = 296
relocation [0x0000000102f1bae0,0x0000000102f1bae8] = 8
main code [0x0000000102f1bb00,0x0000000102f1bb30] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d0eb8} 'invokeBasic' '(JLjava/lang/Object;JLjava/lang/Object;)J' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= long
# parm1: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm2: c_rarg4:c_rarg4
= long
# parm3: c_rarg5:c_rarg5
= 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x0000000102f1bb00: nop
0x0000000102f1bb04: ldr w12, [x1, #20]
0x0000000102f1bb08: lsl x12, x12, #3
0x0000000102f1bb0c: ldr w12, [x12, #40]
0x0000000102f1bb10: lsl x12, x12, #3
0x0000000102f1bb14: ldr w12, [x12, #36]
0x0000000102f1bb18: lsl x12, x12, #3
0x0000000102f1bb1c: ldr x12, [x12, #16]
0x0000000102f1bb20: cbz x12, 0x0000000102f1bb2c
0x0000000102f1bb24: ldr x8, [x12, #64]
0x0000000102f1bb28: br x8
0x0000000102f1bb2c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38666 44 n java.lang.invoke.MethodHandle::linkToSpecial(LJLJLL)J (native)
total in heap [0x0000000102f1b388,0x0000000102f1b4a8] = 288
relocation [0x0000000102f1b460,0x0000000102f1b468] = 8
main code [0x0000000102f1b480,0x0000000102f1b4a4] = 36
stub code [0x0000000102f1b4a4,0x0000000102f1b4a8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d11a0} 'linkToSpecial' '(Ljava/lang/Object;JLjava/lang/Object;JLjava/lang/Object;Ljava/lang/invoke/MemberName;)J' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= long
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= long
# parm4: c_rarg5:c_rarg5
= 'java/lang/Object'
# parm5: c_rarg6:c_rarg6
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1b480: nop
0x0000000102f1b484: ldr xzr, [x1]
0x0000000102f1b488: ldr w12, [x6, #36]
0x0000000102f1b48c: lsl x12, x12, #3
0x0000000102f1b490: ldr x12, [x12, #16]
0x0000000102f1b494: cbz x12, 0x0000000102f1b4a0
0x0000000102f1b498: ldr x8, [x12, #64]
0x0000000102f1b49c: br x8
0x0000000102f1b4a0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f1b4a4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38668 45 n java.lang.invoke.MethodHandle::invokeBasic(JLJ)J (native)
total in heap [0x0000000102f1a988,0x0000000102f1aab0] = 296
relocation [0x0000000102f1aa60,0x0000000102f1aa68] = 8
main code [0x0000000102f1aa80,0x0000000102f1aab0] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d14c8} 'invokeBasic' '(JLjava/lang/Object;J)J' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= long
# parm1: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm2: c_rarg4:c_rarg4
= long
# [sp+0x0] (sp of caller)
0x0000000102f1aa80: nop
0x0000000102f1aa84: ldr w12, [x1, #20]
0x0000000102f1aa88: lsl x12, x12, #3
0x0000000102f1aa8c: ldr w12, [x12, #40]
0x0000000102f1aa90: lsl x12, x12, #3
0x0000000102f1aa94: ldr w12, [x12, #36]
0x0000000102f1aa98: lsl x12, x12, #3
0x0000000102f1aa9c: ldr x12, [x12, #16]
0x0000000102f1aaa0: cbz x12, 0x0000000102f1aaac
0x0000000102f1aaa4: ldr x8, [x12, #64]
0x0000000102f1aaa8: br x8
0x0000000102f1aaac: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38668 46 n java.lang.invoke.MethodHandle::linkToSpecial(LJLJL)J (native)
total in heap [0x0000000102f1a688,0x0000000102f1a7a8] = 288
relocation [0x0000000102f1a760,0x0000000102f1a768] = 8
main code [0x0000000102f1a780,0x0000000102f1a7a4] = 36
stub code [0x0000000102f1a7a4,0x0000000102f1a7a8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d15e0} 'linkToSpecial' '(Ljava/lang/Object;JLjava/lang/Object;JLjava/lang/invoke/MemberName;)J' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= long
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= long
# parm4: c_rarg5:c_rarg5
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1a780: nop
0x0000000102f1a784: ldr xzr, [x1]
0x0000000102f1a788: ldr w12, [x5, #36]
0x0000000102f1a78c: lsl x12, x12, #3
0x0000000102f1a790: ldr x12, [x12, #16]
0x0000000102f1a794: cbz x12, 0x0000000102f1a7a0
0x0000000102f1a798: ldr x8, [x12, #64]
0x0000000102f1a79c: br x8
0x0000000102f1a7a0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f1a7a4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38669 47 n java.lang.invoke.MethodHandle::linkToStatic(JL)L (native)
total in heap [0x0000000102f1a008,0x0000000102f1a120] = 280
relocation [0x0000000102f1a0e0,0x0000000102f1a0e8] = 8
main code [0x0000000102f1a100,0x0000000102f1a120] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d1910} 'linkToStatic' '(JLjava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= long
# parm1: c_rarg2:c_rarg2
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1a100: nop
0x0000000102f1a104: ldr w12, [x2, #36]
0x0000000102f1a108: lsl x12, x12, #3
0x0000000102f1a10c: ldr x12, [x12, #16]
0x0000000102f1a110: cbz x12, 0x0000000102f1a11c
0x0000000102f1a114: ldr x8, [x12, #64]
0x0000000102f1a118: br x8
0x0000000102f1a11c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38670 48 n java.lang.invoke.MethodHandle::invokeBasic(J)L (native)
total in heap [0x0000000102f19d08,0x0000000102f19e30] = 296
relocation [0x0000000102f19de0,0x0000000102f19de8] = 8
main code [0x0000000102f19e00,0x0000000102f19e30] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d1b18} 'invokeBasic' '(J)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= long
# [sp+0x0] (sp of caller)
0x0000000102f19e00: nop
0x0000000102f19e04: ldr w12, [x1, #20]
0x0000000102f19e08: lsl x12, x12, #3
0x0000000102f19e0c: ldr w12, [x12, #40]
0x0000000102f19e10: lsl x12, x12, #3
0x0000000102f19e14: ldr w12, [x12, #36]
0x0000000102f19e18: lsl x12, x12, #3
0x0000000102f19e1c: ldr x12, [x12, #16]
0x0000000102f19e20: cbz x12, 0x0000000102f19e2c
0x0000000102f19e24: ldr x8, [x12, #64]
0x0000000102f19e28: br x8
0x0000000102f19e2c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38670 49 n java.lang.invoke.MethodHandle::linkToSpecial(LJL)L (native)
total in heap [0x0000000102f19a08,0x0000000102f19b28] = 288
relocation [0x0000000102f19ae0,0x0000000102f19ae8] = 8
main code [0x0000000102f19b00,0x0000000102f19b24] = 36
stub code [0x0000000102f19b24,0x0000000102f19b28] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d1c30} 'linkToSpecial' '(Ljava/lang/Object;JLjava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= long
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f19b00: nop
0x0000000102f19b04: ldr xzr, [x1]
0x0000000102f19b08: ldr w12, [x3, #36]
0x0000000102f19b0c: lsl x12, x12, #3
0x0000000102f19b10: ldr x12, [x12, #16]
0x0000000102f19b14: cbz x12, 0x0000000102f19b20
0x0000000102f19b18: ldr x8, [x12, #64]
0x0000000102f19b1c: br x8
0x0000000102f19b20: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f19b24: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38671 50 n java.lang.invoke.MethodHandle::linkToStatic(JJL)J (native)
total in heap [0x0000000102f19588,0x0000000102f196a0] = 280
relocation [0x0000000102f19660,0x0000000102f19668] = 8
main code [0x0000000102f19680,0x0000000102f196a0] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d1dd8} 'linkToStatic' '(JJLjava/lang/invoke/MemberName;)J' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= long
# parm1: c_rarg2:c_rarg2
= long
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f19680: nop
0x0000000102f19684: ldr w12, [x3, #36]
0x0000000102f19688: lsl x12, x12, #3
0x0000000102f1968c: ldr x12, [x12, #16]
0x0000000102f19690: cbz x12, 0x0000000102f1969c
0x0000000102f19694: ldr x8, [x12, #64]
0x0000000102f19698: br x8
0x0000000102f1969c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38671 51 n java.lang.invoke.MethodHandle::invokeBasic(JJ)J (native)
total in heap [0x0000000102f1d588,0x0000000102f1d6b0] = 296
relocation [0x0000000102f1d660,0x0000000102f1d668] = 8
main code [0x0000000102f1d680,0x0000000102f1d6b0] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d1ef0} 'invokeBasic' '(JJ)J' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= long
# parm1: c_rarg3:c_rarg3
= long
# [sp+0x0] (sp of caller)
0x0000000102f1d680: nop
0x0000000102f1d684: ldr w12, [x1, #20]
0x0000000102f1d688: lsl x12, x12, #3
0x0000000102f1d68c: ldr w12, [x12, #40]
0x0000000102f1d690: lsl x12, x12, #3
0x0000000102f1d694: ldr w12, [x12, #36]
0x0000000102f1d698: lsl x12, x12, #3
0x0000000102f1d69c: ldr x12, [x12, #16]
0x0000000102f1d6a0: cbz x12, 0x0000000102f1d6ac
0x0000000102f1d6a4: ldr x8, [x12, #64]
0x0000000102f1d6a8: br x8
0x0000000102f1d6ac: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38672 52 n java.lang.invoke.MethodHandle::linkToSpecial(LJJL)J (native)
total in heap [0x0000000102f1d888,0x0000000102f1d9a8] = 288
relocation [0x0000000102f1d960,0x0000000102f1d968] = 8
main code [0x0000000102f1d980,0x0000000102f1d9a4] = 36
stub code [0x0000000102f1d9a4,0x0000000102f1d9a8] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d2008} 'linkToSpecial' '(Ljava/lang/Object;JJLjava/lang/invoke/MemberName;)J' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= long
# parm2: c_rarg3:c_rarg3
= long
# parm3: c_rarg4:c_rarg4
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1d980: nop
0x0000000102f1d984: ldr xzr, [x1]
0x0000000102f1d988: ldr w12, [x4, #36]
0x0000000102f1d98c: lsl x12, x12, #3
0x0000000102f1d990: ldr x12, [x12, #16]
0x0000000102f1d994: cbz x12, 0x0000000102f1d9a0
0x0000000102f1d998: ldr x8, [x12, #64]
0x0000000102f1d99c: br x8
0x0000000102f1d9a0: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f1d9a4: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38698 53 n java.lang.invoke.MethodHandle::linkToStatic(LLLJL)L (native)
total in heap [0x0000000102f1df08,0x0000000102f1e020] = 280
relocation [0x0000000102f1dfe0,0x0000000102f1dfe8] = 8
main code [0x0000000102f1e000,0x0000000102f1e020] = 32
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d3a80} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm2: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm3: c_rarg4:c_rarg4
= long
# parm4: c_rarg5:c_rarg5
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1e000: nop
0x0000000102f1e004: ldr w12, [x5, #36]
0x0000000102f1e008: lsl x12, x12, #3
0x0000000102f1e00c: ldr x12, [x12, #16]
0x0000000102f1e010: cbz x12, 0x0000000102f1e01c
0x0000000102f1e014: ldr x8, [x12, #64]
0x0000000102f1e018: br x8
0x0000000102f1e01c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38699 54 n java.lang.invoke.MethodHandle::invokeBasic(LLLJ)L (native)
total in heap [0x0000000102f1e208,0x0000000102f1e330] = 296
relocation [0x0000000102f1e2e0,0x0000000102f1e2e8] = 8
main code [0x0000000102f1e300,0x0000000102f1e330] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d3bc8} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;J)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= 'java/lang/Object'
# parm1: c_rarg3:c_rarg3
= 'java/lang/Object'
# parm2: c_rarg4:c_rarg4
= 'java/lang/Object'
# parm3: c_rarg5:c_rarg5
= long
# [sp+0x0] (sp of caller)
0x0000000102f1e300: nop
0x0000000102f1e304: ldr w12, [x1, #20]
0x0000000102f1e308: lsl x12, x12, #3
0x0000000102f1e30c: ldr w12, [x12, #40]
0x0000000102f1e310: lsl x12, x12, #3
0x0000000102f1e314: ldr w12, [x12, #36]
0x0000000102f1e318: lsl x12, x12, #3
0x0000000102f1e31c: ldr x12, [x12, #16]
0x0000000102f1e320: cbz x12, 0x0000000102f1e32c
0x0000000102f1e324: ldr x8, [x12, #64]
0x0000000102f1e328: br x8
0x0000000102f1e32c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38702 55 n java.lang.invoke.MethodHandle::invokeBasic(J)J (native)
total in heap [0x0000000102f1e508,0x0000000102f1e630] = 296
relocation [0x0000000102f1e5e0,0x0000000102f1e5e8] = 8
main code [0x0000000102f1e600,0x0000000102f1e630] = 48
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d4b48} 'invokeBasic' '(J)J' in 'java/lang/invoke/MethodHandle'
# this: c_rarg1:c_rarg1
= 'java/lang/invoke/MethodHandle'
# parm0: c_rarg2:c_rarg2
= long
# [sp+0x0] (sp of caller)
0x0000000102f1e600: nop
0x0000000102f1e604: ldr w12, [x1, #20]
0x0000000102f1e608: lsl x12, x12, #3
0x0000000102f1e60c: ldr w12, [x12, #40]
0x0000000102f1e610: lsl x12, x12, #3
0x0000000102f1e614: ldr w12, [x12, #36]
0x0000000102f1e618: lsl x12, x12, #3
0x0000000102f1e61c: ldr x12, [x12, #16]
0x0000000102f1e620: cbz x12, 0x0000000102f1e62c
0x0000000102f1e624: ldr x8, [x12, #64]
0x0000000102f1e628: br x8
0x0000000102f1e62c: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 38702 56 n java.lang.invoke.MethodHandle::linkToSpecial(LJL)J (native)
total in heap [0x0000000102f1e808,0x0000000102f1e928] = 288
relocation [0x0000000102f1e8e0,0x0000000102f1e8e8] = 8
main code [0x0000000102f1e900,0x0000000102f1e924] = 36
stub code [0x0000000102f1e924,0x0000000102f1e928] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011c7d5010} 'linkToSpecial' '(Ljava/lang/Object;JLjava/lang/invoke/MemberName;)J' in 'java/lang/invoke/MethodHandle'
# parm0: c_rarg1:c_rarg1
= 'java/lang/Object'
# parm1: c_rarg2:c_rarg2
= long
# parm2: c_rarg3:c_rarg3
= 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x0000000102f1e900: nop
0x0000000102f1e904: ldr xzr, [x1]
0x0000000102f1e908: ldr w12, [x3, #36]
0x0000000102f1e90c: lsl x12, x12, #3
0x0000000102f1e910: ldr x12, [x12, #16]
0x0000000102f1e914: cbz x12, 0x0000000102f1e920
0x0000000102f1e918: ldr x8, [x12, #64]
0x0000000102f1e91c: br x8
0x0000000102f1e920: b 0x0000000102e9e080 ; {runtime_call AbstractMethodError throw_exception}
[Stub Code]
0x0000000102f1e924: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Process finished with exit code 0
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19626#issuecomment-2160211224
More information about the hotspot-compiler-dev
mailing list