RFR: 8333893: Optimization for StringBuilder append boolean & null [v4]
Shaojin Wen
duke at openjdk.org
Tue Jun 11 15:58:13 UTC 2024
On Tue, 11 Jun 2024 15:35:47 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> ([f96cde4e](https://git.openjdk.org/jdk/pull/19626/files/f96cde4e79e12e2ea46e6061f918a69f11d59985)) ([0cbaa5ac](https://git.openjdk.org/jdk/pull/19626/files/0cbaa5ac04873373131f1a7216353a5af5b3e48e)) The previous overriding of StringUTF16.putChar method did not improve performance, so I reverted to the original version.
>>
>> I have collected information on TraceMergeStores, but I don't have enough knowledge to analyze it yet
>>
>> https://github.com/wenshao/jdk/wiki/pr19626_appendNull_0
>
> @wenshao have you published info about `TraceMergeStores` somewhere? It is very well possible that the optimization does not apply in your code. Then you would need to dig into the VM code and see why.
@eme64 TraceMergeStores are here, but I can't understand these assembly codes
# 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);
}
}
# TraceMergeStores
CompileCommand: compileonly *StringBuilder.appendNull bool compileonly = true
Compiled method (n/a) 100 1 n java.lang.invoke.MethodHandle::linkToStatic(LLLLLLL)L (native)
total in heap [0x00000001043b8088,0x00000001043b8230] = 424
relocation [0x00000001043b8170,0x00000001043b8188] = 24
main code [0x00000001043b81c0,0x00000001043b8230] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011842b8b8} '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)
0x00000001043b81c0: nop
;; verify_klass {
0x00000001043b81c4: cbz x7, 0x00000001043b81fc
0x00000001043b81c8: stp x8, x9, [sp, #-16]!
0x00000001043b81cc: ldr w9, [x7, #8]
0x00000001043b81d0: eor x9, x9, #0x400000000000
0x00000001043b81d4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043b81d8: ldr x8, [x8, #1528]
0x00000001043b81dc: cmp x9, x8
0x00000001043b81e0: b.eq 0x00000001043b8208 // b.none
0x00000001043b81e4: ldr x9, [x9, #64]
0x00000001043b81e8: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043b81ec: ldr x8, [x8, #1528]
0x00000001043b81f0: cmp x9, x8
0x00000001043b81f4: b.eq 0x00000001043b8208 // b.none
0x00000001043b81f8: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043b81fc: dcps1 #0xdeae
0x00000001043b8200: .inst 0x03aa865f ; undefined
0x00000001043b8204: udf #1
;; L_ok:
0x00000001043b8208: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043b820c: ldr w12, [x7, #36]
0x00000001043b8210: lsl x12, x12, #3
0x00000001043b8214: ldr x12, [x12, #16]
0x00000001043b8218: cbz x12, 0x00000001043b8224
0x00000001043b821c: ldr x8, [x12, #88]
0x00000001043b8220: br x8
0x00000001043b8224: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043b8228: add x8, x8, #0x900
0x00000001043b822c: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 109 2 n java.lang.invoke.MethodHandle::linkToStatic(LLL)L (native)
total in heap [0x00000001043bd808,0x00000001043bd9b0] = 424
relocation [0x00000001043bd8f0,0x00000001043bd908] = 24
main code [0x00000001043bd940,0x00000001043bd9b0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001184823e8} '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)
0x00000001043bd940: nop
;; verify_klass {
0x00000001043bd944: cbz x3, 0x00000001043bd97c
0x00000001043bd948: stp x8, x9, [sp, #-16]!
0x00000001043bd94c: ldr w9, [x3, #8]
0x00000001043bd950: eor x9, x9, #0x400000000000
0x00000001043bd954: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bd958: ldr x8, [x8, #1528]
0x00000001043bd95c: cmp x9, x8
0x00000001043bd960: b.eq 0x00000001043bd988 // b.none
0x00000001043bd964: ldr x9, [x9, #64]
0x00000001043bd968: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bd96c: ldr x8, [x8, #1528]
0x00000001043bd970: cmp x9, x8
0x00000001043bd974: b.eq 0x00000001043bd988 // b.none
0x00000001043bd978: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043bd97c: dcps1 #0xdeae
0x00000001043bd980: .inst 0x03aa865f ; undefined
0x00000001043bd984: udf #1
;; L_ok:
0x00000001043bd988: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043bd98c: ldr w12, [x3, #36]
0x00000001043bd990: lsl x12, x12, #3
0x00000001043bd994: ldr x12, [x12, #16]
0x00000001043bd998: cbz x12, 0x00000001043bd9a4
0x00000001043bd99c: ldr x8, [x12, #88]
0x00000001043bd9a0: br x8
0x00000001043bd9a4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043bd9a8: add x8, x8, #0x900
0x00000001043bd9ac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 112 3 n java.lang.invoke.MethodHandle::invokeBasic(LLLLLL)L (native)
total in heap [0x00000001043bdb08,0x00000001043bdc38] = 304
relocation [0x00000001043bdbf0,0x00000001043bdbf8] = 8
main code [0x00000001043bdc00,0x00000001043bdc38] = 56
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011848bac8} '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)
0x00000001043bdc00: nop
;; jump_to_lambda_form {
0x00000001043bdc04: ldr w12, [x1, #20]
0x00000001043bdc08: lsl x12, x12, #3
0x00000001043bdc0c: ldr w12, [x12, #40]
0x00000001043bdc10: lsl x12, x12, #3
0x00000001043bdc14: ldr w12, [x12, #36]
0x00000001043bdc18: lsl x12, x12, #3
0x00000001043bdc1c: ldr x12, [x12, #16]
0x00000001043bdc20: cbz x12, 0x00000001043bdc2c
0x00000001043bdc24: ldr x8, [x12, #88]
0x00000001043bdc28: br x8
0x00000001043bdc2c: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043bdc30: add x8, x8, #0x900
0x00000001043bdc34: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 113 4 n java.lang.invoke.MethodHandle::linkToSpecial(LLLLLLLL)L (native)
total in heap [0x00000001043bde08,0x00000001043be098] = 656
relocation [0x00000001043bdef0,0x00000001043bdf28] = 56
main code [0x00000001043bdf40,0x00000001043be094] = 340
stub code [0x00000001043be094,0x00000001043be098] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011848bc70} '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)
0x00000001043bdf40: nop
;; verify_klass {
0x00000001043bdf44: cbz x0, 0x00000001043bdf7c
0x00000001043bdf48: stp x8, x9, [sp, #-16]!
0x00000001043bdf4c: ldr w9, [x0, #8]
0x00000001043bdf50: eor x9, x9, #0x400000000000
0x00000001043bdf54: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bdf58: ldr x8, [x8, #1528]
0x00000001043bdf5c: cmp x9, x8
0x00000001043bdf60: b.eq 0x00000001043bdf88 // b.none
0x00000001043bdf64: ldr x9, [x9, #64]
0x00000001043bdf68: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bdf6c: ldr x8, [x8, #1528]
0x00000001043bdf70: cmp x9, x8
0x00000001043bdf74: b.eq 0x00000001043bdf88 // b.none
0x00000001043bdf78: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043bdf7c: dcps1 #0xdeae
0x00000001043bdf80: .inst 0x03aa865f ; undefined
0x00000001043bdf84: udf #1
;; L_ok:
0x00000001043bdf88: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043bdf8c: ldr xzr, [x1]
;; check_receiver {
0x00000001043bdf90: ldr w10, [x1, #8]
0x00000001043bdf94: eor x10, x10, #0x400000000000
0x00000001043bdf98: ldr w11, [x0, #24]
0x00000001043bdf9c: lsl x11, x11, #3
;; verify_klass {
0x00000001043bdfa0: cbz x11, 0x00000001043bdfd8
0x00000001043bdfa4: stp x8, x9, [sp, #-16]!
0x00000001043bdfa8: ldr w9, [x11, #8]
0x00000001043bdfac: eor x9, x9, #0x400000000000
0x00000001043bdfb0: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bdfb4: ldr x8, [x8, #1064]
0x00000001043bdfb8: cmp x9, x8
0x00000001043bdfbc: b.eq 0x00000001043bdfe4 // b.none
0x00000001043bdfc0: ldr x9, [x9, #64]
0x00000001043bdfc4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bdfc8: ldr x8, [x8, #1064]
0x00000001043bdfcc: cmp x9, x8
0x00000001043bdfd0: b.eq 0x00000001043bdfe4 // b.none
0x00000001043bdfd4: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043bdfd8: dcps1 #0xdeae
0x00000001043bdfdc: .inst 0x03aa81bf ; undefined
0x00000001043bdfe0: udf #1
;; L_ok:
0x00000001043bdfe4: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043bdfe8: ldr x11, [x11, #16]
0x00000001043bdfec: cmp x10, x11
0x00000001043bdff0: b.eq 0x00000001043be070 // b.none
0x00000001043bdff4: ldr w14, [x11, #24]
0x00000001043bdff8: ldr x8, [x10, x14]
0x00000001043bdffc: cmp x11, x8
0x00000001043be000: b.eq 0x00000001043be070 // b.none
0x00000001043be004: cmp x14, #0x28
0x00000001043be008: b.ne 0x00000001043be06c // b.any
;; check_klass_subtype_slow_path
0x00000001043be00c: stp x0, x2, [sp, #-32]!
0x00000001043be010: stp x5, xzr, [sp, #16]
0x00000001043be014: mov x0, x11
;; 0x103D01C40
0x00000001043be018: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043be01c: movk x9, #0x3d0, lsl #16
0x00000001043be020: movk x9, #0x1, lsl #32
0x00000001043be024: ldr w8, [x9]
0x00000001043be028: add w8, w8, #0x1
0x00000001043be02c: str w8, [x9]
0x00000001043be030: ldr x5, [x10, #48]
0x00000001043be034: ldr w2, [x5]
0x00000001043be038: add x5, x5, #0x8
0x00000001043be03c: cmp sp, xzr
0x00000001043be040: cbz x2, 0x00000001043be058
0x00000001043be044: ldr x8, [x5], #8
0x00000001043be048: cmp x0, x8
0x00000001043be04c: b.eq 0x00000001043be058 // b.none
0x00000001043be050: sub x2, x2, #0x1
0x00000001043be054: cbnz x2, 0x00000001043be044
0x00000001043be058: ldp x5, xzr, [sp, #16]
0x00000001043be05c: ldp x0, x2, [sp], #32
0x00000001043be060: b.ne 0x00000001043be06c // b.any
0x00000001043be064: str x11, [x10, #40]
0x00000001043be068: b 0x00000001043be070
0x00000001043be06c: hlt #0x0
;; } check_receiver
0x00000001043be070: ldr w12, [x0, #36]
0x00000001043be074: lsl x12, x12, #3
0x00000001043be078: ldr x12, [x12, #16]
0x00000001043be07c: cbz x12, 0x00000001043be088
0x00000001043be080: ldr x8, [x12, #88]
0x00000001043be084: br x8
0x00000001043be088: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043be08c: add x8, x8, #0x900
0x00000001043be090: br x8
[Stub Code]
0x00000001043be094: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 120 5 n java.lang.invoke.MethodHandle::linkToSpecial(LLLL)V (native)
total in heap [0x00000001043be888,0x00000001043beb18] = 656
relocation [0x00000001043be970,0x00000001043be9a8] = 56
main code [0x00000001043be9c0,0x00000001043beb14] = 340
stub code [0x00000001043beb14,0x00000001043beb18] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001184a2628} '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)
0x00000001043be9c0: nop
;; verify_klass {
0x00000001043be9c4: cbz x4, 0x00000001043be9fc
0x00000001043be9c8: stp x8, x9, [sp, #-16]!
0x00000001043be9cc: ldr w9, [x4, #8]
0x00000001043be9d0: eor x9, x9, #0x400000000000
0x00000001043be9d4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043be9d8: ldr x8, [x8, #1528]
0x00000001043be9dc: cmp x9, x8
0x00000001043be9e0: b.eq 0x00000001043bea08 // b.none
0x00000001043be9e4: ldr x9, [x9, #64]
0x00000001043be9e8: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043be9ec: ldr x8, [x8, #1528]
0x00000001043be9f0: cmp x9, x8
0x00000001043be9f4: b.eq 0x00000001043bea08 // b.none
0x00000001043be9f8: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043be9fc: dcps1 #0xdeae
0x00000001043bea00: .inst 0x03aa865f ; undefined
0x00000001043bea04: udf #1
;; L_ok:
0x00000001043bea08: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043bea0c: ldr xzr, [x1]
;; check_receiver {
0x00000001043bea10: ldr w10, [x1, #8]
0x00000001043bea14: eor x10, x10, #0x400000000000
0x00000001043bea18: ldr w11, [x4, #24]
0x00000001043bea1c: lsl x11, x11, #3
;; verify_klass {
0x00000001043bea20: cbz x11, 0x00000001043bea58
0x00000001043bea24: stp x8, x9, [sp, #-16]!
0x00000001043bea28: ldr w9, [x11, #8]
0x00000001043bea2c: eor x9, x9, #0x400000000000
0x00000001043bea30: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bea34: ldr x8, [x8, #1064]
0x00000001043bea38: cmp x9, x8
0x00000001043bea3c: b.eq 0x00000001043bea64 // b.none
0x00000001043bea40: ldr x9, [x9, #64]
0x00000001043bea44: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bea48: ldr x8, [x8, #1064]
0x00000001043bea4c: cmp x9, x8
0x00000001043bea50: b.eq 0x00000001043bea64 // b.none
0x00000001043bea54: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043bea58: dcps1 #0xdeae
0x00000001043bea5c: .inst 0x03aa81bf ; undefined
0x00000001043bea60: udf #1
;; L_ok:
0x00000001043bea64: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043bea68: ldr x11, [x11, #16]
0x00000001043bea6c: cmp x10, x11
0x00000001043bea70: b.eq 0x00000001043beaf0 // b.none
0x00000001043bea74: ldr w14, [x11, #24]
0x00000001043bea78: ldr x8, [x10, x14]
0x00000001043bea7c: cmp x11, x8
0x00000001043bea80: b.eq 0x00000001043beaf0 // b.none
0x00000001043bea84: cmp x14, #0x28
0x00000001043bea88: b.ne 0x00000001043beaec // b.any
;; check_klass_subtype_slow_path
0x00000001043bea8c: stp x0, x2, [sp, #-32]!
0x00000001043bea90: stp x5, xzr, [sp, #16]
0x00000001043bea94: mov x0, x11
;; 0x103D01C40
0x00000001043bea98: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043bea9c: movk x9, #0x3d0, lsl #16
0x00000001043beaa0: movk x9, #0x1, lsl #32
0x00000001043beaa4: ldr w8, [x9]
0x00000001043beaa8: add w8, w8, #0x1
0x00000001043beaac: str w8, [x9]
0x00000001043beab0: ldr x5, [x10, #48]
0x00000001043beab4: ldr w2, [x5]
0x00000001043beab8: add x5, x5, #0x8
0x00000001043beabc: cmp sp, xzr
0x00000001043beac0: cbz x2, 0x00000001043bead8
0x00000001043beac4: ldr x8, [x5], #8
0x00000001043beac8: cmp x0, x8
0x00000001043beacc: b.eq 0x00000001043bead8 // b.none
0x00000001043bead0: sub x2, x2, #0x1
0x00000001043bead4: cbnz x2, 0x00000001043beac4
0x00000001043bead8: ldp x5, xzr, [sp, #16]
0x00000001043beadc: ldp x0, x2, [sp], #32
0x00000001043beae0: b.ne 0x00000001043beaec // b.any
0x00000001043beae4: str x11, [x10, #40]
0x00000001043beae8: b 0x00000001043beaf0
0x00000001043beaec: hlt #0x0
;; } check_receiver
0x00000001043beaf0: ldr w12, [x4, #36]
0x00000001043beaf4: lsl x12, x12, #3
0x00000001043beaf8: ldr x12, [x12, #16]
0x00000001043beafc: cbz x12, 0x00000001043beb08
0x00000001043beb00: ldr x8, [x12, #88]
0x00000001043beb04: br x8
0x00000001043beb08: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043beb0c: add x8, x8, #0x900
0x00000001043beb10: br x8
[Stub Code]
0x00000001043beb14: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 122 6 n java.lang.invoke.MethodHandle::invokeBasic(LL)L (native)
total in heap [0x00000001043bef08,0x00000001043bf038] = 304
relocation [0x00000001043beff0,0x00000001043beff8] = 8
main code [0x00000001043bf000,0x00000001043bf038] = 56
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001184a3c38} '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)
0x00000001043bf000: nop
;; jump_to_lambda_form {
0x00000001043bf004: ldr w12, [x1, #20]
0x00000001043bf008: lsl x12, x12, #3
0x00000001043bf00c: ldr w12, [x12, #40]
0x00000001043bf010: lsl x12, x12, #3
0x00000001043bf014: ldr w12, [x12, #36]
0x00000001043bf018: lsl x12, x12, #3
0x00000001043bf01c: ldr x12, [x12, #16]
0x00000001043bf020: cbz x12, 0x00000001043bf02c
0x00000001043bf024: ldr x8, [x12, #88]
0x00000001043bf028: br x8
0x00000001043bf02c: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043bf030: add x8, x8, #0x900
0x00000001043bf034: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 123 7 n java.lang.invoke.MethodHandle::linkToSpecial(LLLL)L (native)
total in heap [0x00000001043bf208,0x00000001043bf498] = 656
relocation [0x00000001043bf2f0,0x00000001043bf328] = 56
main code [0x00000001043bf340,0x00000001043bf494] = 340
stub code [0x00000001043bf494,0x00000001043bf498] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001184a3d70} '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)
0x00000001043bf340: nop
;; verify_klass {
0x00000001043bf344: cbz x4, 0x00000001043bf37c
0x00000001043bf348: stp x8, x9, [sp, #-16]!
0x00000001043bf34c: ldr w9, [x4, #8]
0x00000001043bf350: eor x9, x9, #0x400000000000
0x00000001043bf354: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bf358: ldr x8, [x8, #1528]
0x00000001043bf35c: cmp x9, x8
0x00000001043bf360: b.eq 0x00000001043bf388 // b.none
0x00000001043bf364: ldr x9, [x9, #64]
0x00000001043bf368: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bf36c: ldr x8, [x8, #1528]
0x00000001043bf370: cmp x9, x8
0x00000001043bf374: b.eq 0x00000001043bf388 // b.none
0x00000001043bf378: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043bf37c: dcps1 #0xdeae
0x00000001043bf380: .inst 0x03aa865f ; undefined
0x00000001043bf384: udf #1
;; L_ok:
0x00000001043bf388: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043bf38c: ldr xzr, [x1]
;; check_receiver {
0x00000001043bf390: ldr w10, [x1, #8]
0x00000001043bf394: eor x10, x10, #0x400000000000
0x00000001043bf398: ldr w11, [x4, #24]
0x00000001043bf39c: lsl x11, x11, #3
;; verify_klass {
0x00000001043bf3a0: cbz x11, 0x00000001043bf3d8
0x00000001043bf3a4: stp x8, x9, [sp, #-16]!
0x00000001043bf3a8: ldr w9, [x11, #8]
0x00000001043bf3ac: eor x9, x9, #0x400000000000
0x00000001043bf3b0: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bf3b4: ldr x8, [x8, #1064]
0x00000001043bf3b8: cmp x9, x8
0x00000001043bf3bc: b.eq 0x00000001043bf3e4 // b.none
0x00000001043bf3c0: ldr x9, [x9, #64]
0x00000001043bf3c4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043bf3c8: ldr x8, [x8, #1064]
0x00000001043bf3cc: cmp x9, x8
0x00000001043bf3d0: b.eq 0x00000001043bf3e4 // b.none
0x00000001043bf3d4: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043bf3d8: dcps1 #0xdeae
0x00000001043bf3dc: .inst 0x03aa81bf ; undefined
0x00000001043bf3e0: udf #1
;; L_ok:
0x00000001043bf3e4: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043bf3e8: ldr x11, [x11, #16]
0x00000001043bf3ec: cmp x10, x11
0x00000001043bf3f0: b.eq 0x00000001043bf470 // b.none
0x00000001043bf3f4: ldr w14, [x11, #24]
0x00000001043bf3f8: ldr x8, [x10, x14]
0x00000001043bf3fc: cmp x11, x8
0x00000001043bf400: b.eq 0x00000001043bf470 // b.none
0x00000001043bf404: cmp x14, #0x28
0x00000001043bf408: b.ne 0x00000001043bf46c // b.any
;; check_klass_subtype_slow_path
0x00000001043bf40c: stp x0, x2, [sp, #-32]!
0x00000001043bf410: stp x5, xzr, [sp, #16]
0x00000001043bf414: mov x0, x11
;; 0x103D01C40
0x00000001043bf418: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043bf41c: movk x9, #0x3d0, lsl #16
0x00000001043bf420: movk x9, #0x1, lsl #32
0x00000001043bf424: ldr w8, [x9]
0x00000001043bf428: add w8, w8, #0x1
0x00000001043bf42c: str w8, [x9]
0x00000001043bf430: ldr x5, [x10, #48]
0x00000001043bf434: ldr w2, [x5]
0x00000001043bf438: add x5, x5, #0x8
0x00000001043bf43c: cmp sp, xzr
0x00000001043bf440: cbz x2, 0x00000001043bf458
0x00000001043bf444: ldr x8, [x5], #8
0x00000001043bf448: cmp x0, x8
0x00000001043bf44c: b.eq 0x00000001043bf458 // b.none
0x00000001043bf450: sub x2, x2, #0x1
0x00000001043bf454: cbnz x2, 0x00000001043bf444
0x00000001043bf458: ldp x5, xzr, [sp, #16]
0x00000001043bf45c: ldp x0, x2, [sp], #32
0x00000001043bf460: b.ne 0x00000001043bf46c // b.any
0x00000001043bf464: str x11, [x10, #40]
0x00000001043bf468: b 0x00000001043bf470
0x00000001043bf46c: hlt #0x0
;; } check_receiver
0x00000001043bf470: ldr w12, [x4, #36]
0x00000001043bf474: lsl x12, x12, #3
0x00000001043bf478: ldr x12, [x12, #16]
0x00000001043bf47c: cbz x12, 0x00000001043bf488
0x00000001043bf480: ldr x8, [x12, #88]
0x00000001043bf484: br x8
0x00000001043bf488: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043bf48c: add x8, x8, #0x900
0x00000001043bf490: br x8
[Stub Code]
0x00000001043bf494: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 133 8 n java.lang.invoke.MethodHandle::linkToSpecial(LLL)L (native)
total in heap [0x00000001043c2288,0x00000001043c2518] = 656
relocation [0x00000001043c2370,0x00000001043c23a8] = 56
main code [0x00000001043c23c0,0x00000001043c2514] = 340
stub code [0x00000001043c2514,0x00000001043c2518] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001184e9370} '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)
0x00000001043c23c0: nop
;; verify_klass {
0x00000001043c23c4: cbz x3, 0x00000001043c23fc
0x00000001043c23c8: stp x8, x9, [sp, #-16]!
0x00000001043c23cc: ldr w9, [x3, #8]
0x00000001043c23d0: eor x9, x9, #0x400000000000
0x00000001043c23d4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c23d8: ldr x8, [x8, #1528]
0x00000001043c23dc: cmp x9, x8
0x00000001043c23e0: b.eq 0x00000001043c2408 // b.none
0x00000001043c23e4: ldr x9, [x9, #64]
0x00000001043c23e8: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c23ec: ldr x8, [x8, #1528]
0x00000001043c23f0: cmp x9, x8
0x00000001043c23f4: b.eq 0x00000001043c2408 // b.none
0x00000001043c23f8: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043c23fc: dcps1 #0xdeae
0x00000001043c2400: .inst 0x03aa865f ; undefined
0x00000001043c2404: udf #1
;; L_ok:
0x00000001043c2408: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043c240c: ldr xzr, [x1]
;; check_receiver {
0x00000001043c2410: ldr w10, [x1, #8]
0x00000001043c2414: eor x10, x10, #0x400000000000
0x00000001043c2418: ldr w11, [x3, #24]
0x00000001043c241c: lsl x11, x11, #3
;; verify_klass {
0x00000001043c2420: cbz x11, 0x00000001043c2458
0x00000001043c2424: stp x8, x9, [sp, #-16]!
0x00000001043c2428: ldr w9, [x11, #8]
0x00000001043c242c: eor x9, x9, #0x400000000000
0x00000001043c2430: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c2434: ldr x8, [x8, #1064]
0x00000001043c2438: cmp x9, x8
0x00000001043c243c: b.eq 0x00000001043c2464 // b.none
0x00000001043c2440: ldr x9, [x9, #64]
0x00000001043c2444: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c2448: ldr x8, [x8, #1064]
0x00000001043c244c: cmp x9, x8
0x00000001043c2450: b.eq 0x00000001043c2464 // b.none
0x00000001043c2454: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043c2458: dcps1 #0xdeae
0x00000001043c245c: .inst 0x03aa81bf ; undefined
0x00000001043c2460: udf #1
;; L_ok:
0x00000001043c2464: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043c2468: ldr x11, [x11, #16]
0x00000001043c246c: cmp x10, x11
0x00000001043c2470: b.eq 0x00000001043c24f0 // b.none
0x00000001043c2474: ldr w14, [x11, #24]
0x00000001043c2478: ldr x8, [x10, x14]
0x00000001043c247c: cmp x11, x8
0x00000001043c2480: b.eq 0x00000001043c24f0 // b.none
0x00000001043c2484: cmp x14, #0x28
0x00000001043c2488: b.ne 0x00000001043c24ec // b.any
;; check_klass_subtype_slow_path
0x00000001043c248c: stp x0, x2, [sp, #-32]!
0x00000001043c2490: stp x5, xzr, [sp, #16]
0x00000001043c2494: mov x0, x11
;; 0x103D01C40
0x00000001043c2498: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043c249c: movk x9, #0x3d0, lsl #16
0x00000001043c24a0: movk x9, #0x1, lsl #32
0x00000001043c24a4: ldr w8, [x9]
0x00000001043c24a8: add w8, w8, #0x1
0x00000001043c24ac: str w8, [x9]
0x00000001043c24b0: ldr x5, [x10, #48]
0x00000001043c24b4: ldr w2, [x5]
0x00000001043c24b8: add x5, x5, #0x8
0x00000001043c24bc: cmp sp, xzr
0x00000001043c24c0: cbz x2, 0x00000001043c24d8
0x00000001043c24c4: ldr x8, [x5], #8
0x00000001043c24c8: cmp x0, x8
0x00000001043c24cc: b.eq 0x00000001043c24d8 // b.none
0x00000001043c24d0: sub x2, x2, #0x1
0x00000001043c24d4: cbnz x2, 0x00000001043c24c4
0x00000001043c24d8: ldp x5, xzr, [sp, #16]
0x00000001043c24dc: ldp x0, x2, [sp], #32
0x00000001043c24e0: b.ne 0x00000001043c24ec // b.any
0x00000001043c24e4: str x11, [x10, #40]
0x00000001043c24e8: b 0x00000001043c24f0
0x00000001043c24ec: hlt #0x0
;; } check_receiver
0x00000001043c24f0: ldr w12, [x3, #36]
0x00000001043c24f4: lsl x12, x12, #3
0x00000001043c24f8: ldr x12, [x12, #16]
0x00000001043c24fc: cbz x12, 0x00000001043c2508
0x00000001043c2500: ldr x8, [x12, #88]
0x00000001043c2504: br x8
0x00000001043c2508: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043c250c: add x8, x8, #0x900
0x00000001043c2510: br x8
[Stub Code]
0x00000001043c2514: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 141 9 n java.lang.invoke.MethodHandle::linkToStatic(LLIL)I (native)
total in heap [0x00000001043c5e88,0x00000001043c6030] = 424
relocation [0x00000001043c5f70,0x00000001043c5f88] = 24
main code [0x00000001043c5fc0,0x00000001043c6030] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011859f420} '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)
0x00000001043c5fc0: nop
;; verify_klass {
0x00000001043c5fc4: cbz x4, 0x00000001043c5ffc
0x00000001043c5fc8: stp x8, x9, [sp, #-16]!
0x00000001043c5fcc: ldr w9, [x4, #8]
0x00000001043c5fd0: eor x9, x9, #0x400000000000
0x00000001043c5fd4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c5fd8: ldr x8, [x8, #1528]
0x00000001043c5fdc: cmp x9, x8
0x00000001043c5fe0: b.eq 0x00000001043c6008 // b.none
0x00000001043c5fe4: ldr x9, [x9, #64]
0x00000001043c5fe8: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c5fec: ldr x8, [x8, #1528]
0x00000001043c5ff0: cmp x9, x8
0x00000001043c5ff4: b.eq 0x00000001043c6008 // b.none
0x00000001043c5ff8: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043c5ffc: dcps1 #0xdeae
0x00000001043c6000: .inst 0x03aa865f ; undefined
0x00000001043c6004: udf #1
;; L_ok:
0x00000001043c6008: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043c600c: ldr w12, [x4, #36]
0x00000001043c6010: lsl x12, x12, #3
0x00000001043c6014: ldr x12, [x12, #16]
0x00000001043c6018: cbz x12, 0x00000001043c6024
0x00000001043c601c: ldr x8, [x12, #88]
0x00000001043c6020: br x8
0x00000001043c6024: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043c6028: add x8, x8, #0x900
0x00000001043c602c: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 148 10 n java.lang.invoke.MethodHandle::linkToSpecial(LLL)V (native)
total in heap [0x00000001043c7708,0x00000001043c7998] = 656
relocation [0x00000001043c77f0,0x00000001043c7828] = 56
main code [0x00000001043c7840,0x00000001043c7994] = 340
stub code [0x00000001043c7994,0x00000001043c7998] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001185c44d8} '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)
0x00000001043c7840: nop
;; verify_klass {
0x00000001043c7844: cbz x3, 0x00000001043c787c
0x00000001043c7848: stp x8, x9, [sp, #-16]!
0x00000001043c784c: ldr w9, [x3, #8]
0x00000001043c7850: eor x9, x9, #0x400000000000
0x00000001043c7854: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c7858: ldr x8, [x8, #1528]
0x00000001043c785c: cmp x9, x8
0x00000001043c7860: b.eq 0x00000001043c7888 // b.none
0x00000001043c7864: ldr x9, [x9, #64]
0x00000001043c7868: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c786c: ldr x8, [x8, #1528]
0x00000001043c7870: cmp x9, x8
0x00000001043c7874: b.eq 0x00000001043c7888 // b.none
0x00000001043c7878: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043c787c: dcps1 #0xdeae
0x00000001043c7880: .inst 0x03aa865f ; undefined
0x00000001043c7884: udf #1
;; L_ok:
0x00000001043c7888: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043c788c: ldr xzr, [x1]
;; check_receiver {
0x00000001043c7890: ldr w10, [x1, #8]
0x00000001043c7894: eor x10, x10, #0x400000000000
0x00000001043c7898: ldr w11, [x3, #24]
0x00000001043c789c: lsl x11, x11, #3
;; verify_klass {
0x00000001043c78a0: cbz x11, 0x00000001043c78d8
0x00000001043c78a4: stp x8, x9, [sp, #-16]!
0x00000001043c78a8: ldr w9, [x11, #8]
0x00000001043c78ac: eor x9, x9, #0x400000000000
0x00000001043c78b0: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c78b4: ldr x8, [x8, #1064]
0x00000001043c78b8: cmp x9, x8
0x00000001043c78bc: b.eq 0x00000001043c78e4 // b.none
0x00000001043c78c0: ldr x9, [x9, #64]
0x00000001043c78c4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c78c8: ldr x8, [x8, #1064]
0x00000001043c78cc: cmp x9, x8
0x00000001043c78d0: b.eq 0x00000001043c78e4 // b.none
0x00000001043c78d4: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043c78d8: dcps1 #0xdeae
0x00000001043c78dc: .inst 0x03aa81bf ; undefined
0x00000001043c78e0: udf #1
;; L_ok:
0x00000001043c78e4: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043c78e8: ldr x11, [x11, #16]
0x00000001043c78ec: cmp x10, x11
0x00000001043c78f0: b.eq 0x00000001043c7970 // b.none
0x00000001043c78f4: ldr w14, [x11, #24]
0x00000001043c78f8: ldr x8, [x10, x14]
0x00000001043c78fc: cmp x11, x8
0x00000001043c7900: b.eq 0x00000001043c7970 // b.none
0x00000001043c7904: cmp x14, #0x28
0x00000001043c7908: b.ne 0x00000001043c796c // b.any
;; check_klass_subtype_slow_path
0x00000001043c790c: stp x0, x2, [sp, #-32]!
0x00000001043c7910: stp x5, xzr, [sp, #16]
0x00000001043c7914: mov x0, x11
;; 0x103D01C40
0x00000001043c7918: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043c791c: movk x9, #0x3d0, lsl #16
0x00000001043c7920: movk x9, #0x1, lsl #32
0x00000001043c7924: ldr w8, [x9]
0x00000001043c7928: add w8, w8, #0x1
0x00000001043c792c: str w8, [x9]
0x00000001043c7930: ldr x5, [x10, #48]
0x00000001043c7934: ldr w2, [x5]
0x00000001043c7938: add x5, x5, #0x8
0x00000001043c793c: cmp sp, xzr
0x00000001043c7940: cbz x2, 0x00000001043c7958
0x00000001043c7944: ldr x8, [x5], #8
0x00000001043c7948: cmp x0, x8
0x00000001043c794c: b.eq 0x00000001043c7958 // b.none
0x00000001043c7950: sub x2, x2, #0x1
0x00000001043c7954: cbnz x2, 0x00000001043c7944
0x00000001043c7958: ldp x5, xzr, [sp, #16]
0x00000001043c795c: ldp x0, x2, [sp], #32
0x00000001043c7960: b.ne 0x00000001043c796c // b.any
0x00000001043c7964: str x11, [x10, #40]
0x00000001043c7968: b 0x00000001043c7970
0x00000001043c796c: hlt #0x0
;; } check_receiver
0x00000001043c7970: ldr w12, [x3, #36]
0x00000001043c7974: lsl x12, x12, #3
0x00000001043c7978: ldr x12, [x12, #16]
0x00000001043c797c: cbz x12, 0x00000001043c7988
0x00000001043c7980: ldr x8, [x12, #88]
0x00000001043c7984: br x8
0x00000001043c7988: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043c798c: add x8, x8, #0x900
0x00000001043c7990: br x8
[Stub Code]
0x00000001043c7994: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 151 11 n java.lang.invoke.MethodHandle::invokeBasic(L)L (native)
total in heap [0x00000001043c7a08,0x00000001043c7b38] = 304
relocation [0x00000001043c7af0,0x00000001043c7af8] = 8
main code [0x00000001043c7b00,0x00000001043c7b38] = 56
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001185c4cb8} '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)
0x00000001043c7b00: nop
;; jump_to_lambda_form {
0x00000001043c7b04: ldr w12, [x1, #20]
0x00000001043c7b08: lsl x12, x12, #3
0x00000001043c7b0c: ldr w12, [x12, #40]
0x00000001043c7b10: lsl x12, x12, #3
0x00000001043c7b14: ldr w12, [x12, #36]
0x00000001043c7b18: lsl x12, x12, #3
0x00000001043c7b1c: ldr x12, [x12, #16]
0x00000001043c7b20: cbz x12, 0x00000001043c7b2c
0x00000001043c7b24: ldr x8, [x12, #88]
0x00000001043c7b28: br x8
0x00000001043c7b2c: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043c7b30: add x8, x8, #0x900
0x00000001043c7b34: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 153 12 n java.lang.invoke.MethodHandle::linkToStatic(LL)L (native)
total in heap [0x00000001043c7d08,0x00000001043c7eb0] = 424
relocation [0x00000001043c7df0,0x00000001043c7e08] = 24
main code [0x00000001043c7e40,0x00000001043c7eb0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001185cd878} '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)
0x00000001043c7e40: nop
;; verify_klass {
0x00000001043c7e44: cbz x2, 0x00000001043c7e7c
0x00000001043c7e48: stp x8, x9, [sp, #-16]!
0x00000001043c7e4c: ldr w9, [x2, #8]
0x00000001043c7e50: eor x9, x9, #0x400000000000
0x00000001043c7e54: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c7e58: ldr x8, [x8, #1528]
0x00000001043c7e5c: cmp x9, x8
0x00000001043c7e60: b.eq 0x00000001043c7e88 // b.none
0x00000001043c7e64: ldr x9, [x9, #64]
0x00000001043c7e68: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043c7e6c: ldr x8, [x8, #1528]
0x00000001043c7e70: cmp x9, x8
0x00000001043c7e74: b.eq 0x00000001043c7e88 // b.none
0x00000001043c7e78: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043c7e7c: dcps1 #0xdeae
0x00000001043c7e80: .inst 0x03aa865f ; undefined
0x00000001043c7e84: udf #1
;; L_ok:
0x00000001043c7e88: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043c7e8c: ldr w12, [x2, #36]
0x00000001043c7e90: lsl x12, x12, #3
0x00000001043c7e94: ldr x12, [x12, #16]
0x00000001043c7e98: cbz x12, 0x00000001043c7ea4
0x00000001043c7e9c: ldr x8, [x12, #88]
0x00000001043c7ea0: br x8
0x00000001043c7ea4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043c7ea8: add x8, x8, #0x900
0x00000001043c7eac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 248 13 n java.lang.invoke.MethodHandle::linkToInterface(LL)L (native)
total in heap [0x00000001043ca008,0x00000001043ca250] = 584
relocation [0x00000001043ca0f0,0x00000001043ca120] = 48
main code [0x00000001043ca140,0x00000001043ca250] = 272
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118550410} '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)
0x00000001043ca140: nop
;; verify_klass {
0x00000001043ca144: cbz x2, 0x00000001043ca17c
0x00000001043ca148: stp x8, x9, [sp, #-16]!
0x00000001043ca14c: ldr w9, [x2, #8]
0x00000001043ca150: eor x9, x9, #0x400000000000
0x00000001043ca154: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043ca158: ldr x8, [x8, #1528]
0x00000001043ca15c: cmp x9, x8
0x00000001043ca160: b.eq 0x00000001043ca188 // b.none
0x00000001043ca164: ldr x9, [x9, #64]
0x00000001043ca168: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043ca16c: ldr x8, [x8, #1528]
0x00000001043ca170: cmp x9, x8
0x00000001043ca174: b.eq 0x00000001043ca188 // b.none
0x00000001043ca178: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043ca17c: dcps1 #0xdeae
0x00000001043ca180: .inst 0x03aa865f ; undefined
0x00000001043ca184: udf #1
;; L_ok:
0x00000001043ca188: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043ca18c: ldr w10, [x1, #8]
0x00000001043ca190: eor x10, x10, #0x400000000000
;; check_receiver {
;; } check_receiver
0x00000001043ca194: ldr w14, [x2, #24]
0x00000001043ca198: lsl x14, x14, #3
;; verify_klass {
0x00000001043ca19c: cbz x14, 0x00000001043ca1d4
0x00000001043ca1a0: stp x8, x9, [sp, #-16]!
0x00000001043ca1a4: ldr w9, [x14, #8]
0x00000001043ca1a8: eor x9, x9, #0x400000000000
0x00000001043ca1ac: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043ca1b0: ldr x8, [x8, #1064]
0x00000001043ca1b4: cmp x9, x8
0x00000001043ca1b8: b.eq 0x00000001043ca1e0 // b.none
0x00000001043ca1bc: ldr x9, [x9, #64]
0x00000001043ca1c0: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043ca1c4: ldr x8, [x8, #1064]
0x00000001043ca1c8: cmp x9, x8
0x00000001043ca1cc: b.eq 0x00000001043ca1e0 // b.none
0x00000001043ca1d0: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043ca1d4: dcps1 #0xdeae
0x00000001043ca1d8: .inst 0x03aa81bf ; undefined
0x00000001043ca1dc: udf #1
;; L_ok:
0x00000001043ca1e0: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043ca1e4: ldr x14, [x14, #16]
0x00000001043ca1e8: ldr x12, [x2, #16]
0x00000001043ca1ec: cmp w12, #0x0
0x00000001043ca1f0: b.ge 0x00000001043ca1f8 // b.tcont
0x00000001043ca1f4: hlt #0x0
0x00000001043ca1f8: ldr w11, [x10, #180]
0x00000001043ca1fc: add x11, x10, x11, uxtx #3
0x00000001043ca200: add x11, x11, #0x1e8
0x00000001043ca204: add x10, x10, x12, uxtx #3
0x00000001043ca208: ldr x12, [x11]
0x00000001043ca20c: cmp x14, x12
0x00000001043ca210: b.eq 0x00000001043ca224 // b.none
0x00000001043ca214: cbz x12, 0x00000001043ca244
0x00000001043ca218: ldr x12, [x11, #16]!
0x00000001043ca21c: cmp x14, x12
0x00000001043ca220: b.ne 0x00000001043ca214 // b.any
0x00000001043ca224: ldr w11, [x11, #8]
0x00000001043ca228: ldr x12, [x10, w11, uxtw]
0x00000001043ca22c: cbz x12, 0x00000001043ca238
0x00000001043ca230: ldr x8, [x12, #88]
0x00000001043ca234: br x8
0x00000001043ca238: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043ca23c: add x8, x8, #0x900
0x00000001043ca240: br x8
0x00000001043ca244: adrp x8, 0x0000000104315000 ; {runtime_call IncompatibleClassChangeError throw_exception}
0x00000001043ca248: add x8, x8, #0x880
0x00000001043ca24c: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 255 14 n java.lang.invoke.MethodHandle::linkToStatic(L)L (native)
total in heap [0x00000001043ca688,0x00000001043ca830] = 424
relocation [0x00000001043ca770,0x00000001043ca788] = 24
main code [0x00000001043ca7c0,0x00000001043ca830] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011857c0f8} '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)
0x00000001043ca7c0: nop
;; verify_klass {
0x00000001043ca7c4: cbz x1, 0x00000001043ca7fc
0x00000001043ca7c8: stp x8, x9, [sp, #-16]!
0x00000001043ca7cc: ldr w9, [x1, #8]
0x00000001043ca7d0: eor x9, x9, #0x400000000000
0x00000001043ca7d4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043ca7d8: ldr x8, [x8, #1528]
0x00000001043ca7dc: cmp x9, x8
0x00000001043ca7e0: b.eq 0x00000001043ca808 // b.none
0x00000001043ca7e4: ldr x9, [x9, #64]
0x00000001043ca7e8: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043ca7ec: ldr x8, [x8, #1528]
0x00000001043ca7f0: cmp x9, x8
0x00000001043ca7f4: b.eq 0x00000001043ca808 // b.none
0x00000001043ca7f8: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043ca7fc: dcps1 #0xdeae
0x00000001043ca800: .inst 0x03aa865f ; undefined
0x00000001043ca804: udf #1
;; L_ok:
0x00000001043ca808: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043ca80c: ldr w12, [x1, #36]
0x00000001043ca810: lsl x12, x12, #3
0x00000001043ca814: ldr x12, [x12, #16]
0x00000001043ca818: cbz x12, 0x00000001043ca824
0x00000001043ca81c: ldr x8, [x12, #88]
0x00000001043ca820: br x8
0x00000001043ca824: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043ca828: add x8, x8, #0x900
0x00000001043ca82c: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 259 15 n java.lang.invoke.MethodHandle::linkToStatic(LLLL)L (native)
total in heap [0x00000001043cb088,0x00000001043cb230] = 424
relocation [0x00000001043cb170,0x00000001043cb188] = 24
main code [0x00000001043cb1c0,0x00000001043cb230] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118531740} '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)
0x00000001043cb1c0: nop
;; verify_klass {
0x00000001043cb1c4: cbz x4, 0x00000001043cb1fc
0x00000001043cb1c8: stp x8, x9, [sp, #-16]!
0x00000001043cb1cc: ldr w9, [x4, #8]
0x00000001043cb1d0: eor x9, x9, #0x400000000000
0x00000001043cb1d4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cb1d8: ldr x8, [x8, #1528]
0x00000001043cb1dc: cmp x9, x8
0x00000001043cb1e0: b.eq 0x00000001043cb208 // b.none
0x00000001043cb1e4: ldr x9, [x9, #64]
0x00000001043cb1e8: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cb1ec: ldr x8, [x8, #1528]
0x00000001043cb1f0: cmp x9, x8
0x00000001043cb1f4: b.eq 0x00000001043cb208 // b.none
0x00000001043cb1f8: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043cb1fc: dcps1 #0xdeae
0x00000001043cb200: .inst 0x03aa865f ; undefined
0x00000001043cb204: udf #1
;; L_ok:
0x00000001043cb208: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cb20c: ldr w12, [x4, #36]
0x00000001043cb210: lsl x12, x12, #3
0x00000001043cb214: ldr x12, [x12, #16]
0x00000001043cb218: cbz x12, 0x00000001043cb224
0x00000001043cb21c: ldr x8, [x12, #88]
0x00000001043cb220: br x8
0x00000001043cb224: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043cb228: add x8, x8, #0x900
0x00000001043cb22c: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 262 16 n java.lang.invoke.MethodHandle::invokeBasic()L (native)
total in heap [0x00000001043cba88,0x00000001043cbbb8] = 304
relocation [0x00000001043cbb70,0x00000001043cbb78] = 8
main code [0x00000001043cbb80,0x00000001043cbbb8] = 56
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118535d38} 'invokeBasic' '()Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# [sp+0x0] (sp of caller)
0x00000001043cbb80: nop
;; jump_to_lambda_form {
0x00000001043cbb84: ldr w12, [x1, #20]
0x00000001043cbb88: lsl x12, x12, #3
0x00000001043cbb8c: ldr w12, [x12, #40]
0x00000001043cbb90: lsl x12, x12, #3
0x00000001043cbb94: ldr w12, [x12, #36]
0x00000001043cbb98: lsl x12, x12, #3
0x00000001043cbb9c: ldr x12, [x12, #16]
0x00000001043cbba0: cbz x12, 0x00000001043cbbac
0x00000001043cbba4: ldr x8, [x12, #88]
0x00000001043cbba8: br x8
0x00000001043cbbac: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043cbbb0: add x8, x8, #0x900
0x00000001043cbbb4: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 262 17 n java.lang.invoke.MethodHandle::linkToSpecial(LL)L (native)
total in heap [0x00000001043cbd88,0x00000001043cc018] = 656
relocation [0x00000001043cbe70,0x00000001043cbea8] = 56
main code [0x00000001043cbec0,0x00000001043cc014] = 340
stub code [0x00000001043cc014,0x00000001043cc018] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118535e70} '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)
0x00000001043cbec0: nop
;; verify_klass {
0x00000001043cbec4: cbz x2, 0x00000001043cbefc
0x00000001043cbec8: stp x8, x9, [sp, #-16]!
0x00000001043cbecc: ldr w9, [x2, #8]
0x00000001043cbed0: eor x9, x9, #0x400000000000
0x00000001043cbed4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cbed8: ldr x8, [x8, #1528]
0x00000001043cbedc: cmp x9, x8
0x00000001043cbee0: b.eq 0x00000001043cbf08 // b.none
0x00000001043cbee4: ldr x9, [x9, #64]
0x00000001043cbee8: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cbeec: ldr x8, [x8, #1528]
0x00000001043cbef0: cmp x9, x8
0x00000001043cbef4: b.eq 0x00000001043cbf08 // b.none
0x00000001043cbef8: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043cbefc: dcps1 #0xdeae
0x00000001043cbf00: .inst 0x03aa865f ; undefined
0x00000001043cbf04: udf #1
;; L_ok:
0x00000001043cbf08: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cbf0c: ldr xzr, [x1]
;; check_receiver {
0x00000001043cbf10: ldr w10, [x1, #8]
0x00000001043cbf14: eor x10, x10, #0x400000000000
0x00000001043cbf18: ldr w11, [x2, #24]
0x00000001043cbf1c: lsl x11, x11, #3
;; verify_klass {
0x00000001043cbf20: cbz x11, 0x00000001043cbf58
0x00000001043cbf24: stp x8, x9, [sp, #-16]!
0x00000001043cbf28: ldr w9, [x11, #8]
0x00000001043cbf2c: eor x9, x9, #0x400000000000
0x00000001043cbf30: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cbf34: ldr x8, [x8, #1064]
0x00000001043cbf38: cmp x9, x8
0x00000001043cbf3c: b.eq 0x00000001043cbf64 // b.none
0x00000001043cbf40: ldr x9, [x9, #64]
0x00000001043cbf44: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cbf48: ldr x8, [x8, #1064]
0x00000001043cbf4c: cmp x9, x8
0x00000001043cbf50: b.eq 0x00000001043cbf64 // b.none
0x00000001043cbf54: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043cbf58: dcps1 #0xdeae
0x00000001043cbf5c: .inst 0x03aa81bf ; undefined
0x00000001043cbf60: udf #1
;; L_ok:
0x00000001043cbf64: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cbf68: ldr x11, [x11, #16]
0x00000001043cbf6c: cmp x10, x11
0x00000001043cbf70: b.eq 0x00000001043cbff0 // b.none
0x00000001043cbf74: ldr w14, [x11, #24]
0x00000001043cbf78: ldr x8, [x10, x14]
0x00000001043cbf7c: cmp x11, x8
0x00000001043cbf80: b.eq 0x00000001043cbff0 // b.none
0x00000001043cbf84: cmp x14, #0x28
0x00000001043cbf88: b.ne 0x00000001043cbfec // b.any
;; check_klass_subtype_slow_path
0x00000001043cbf8c: stp x0, x2, [sp, #-32]!
0x00000001043cbf90: stp x5, xzr, [sp, #16]
0x00000001043cbf94: mov x0, x11
;; 0x103D01C40
0x00000001043cbf98: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043cbf9c: movk x9, #0x3d0, lsl #16
0x00000001043cbfa0: movk x9, #0x1, lsl #32
0x00000001043cbfa4: ldr w8, [x9]
0x00000001043cbfa8: add w8, w8, #0x1
0x00000001043cbfac: str w8, [x9]
0x00000001043cbfb0: ldr x5, [x10, #48]
0x00000001043cbfb4: ldr w2, [x5]
0x00000001043cbfb8: add x5, x5, #0x8
0x00000001043cbfbc: cmp sp, xzr
0x00000001043cbfc0: cbz x2, 0x00000001043cbfd8
0x00000001043cbfc4: ldr x8, [x5], #8
0x00000001043cbfc8: cmp x0, x8
0x00000001043cbfcc: b.eq 0x00000001043cbfd8 // b.none
0x00000001043cbfd0: sub x2, x2, #0x1
0x00000001043cbfd4: cbnz x2, 0x00000001043cbfc4
0x00000001043cbfd8: ldp x5, xzr, [sp, #16]
0x00000001043cbfdc: ldp x0, x2, [sp], #32
0x00000001043cbfe0: b.ne 0x00000001043cbfec // b.any
0x00000001043cbfe4: str x11, [x10, #40]
0x00000001043cbfe8: b 0x00000001043cbff0
0x00000001043cbfec: hlt #0x0
;; } check_receiver
0x00000001043cbff0: ldr w12, [x2, #36]
0x00000001043cbff4: lsl x12, x12, #3
0x00000001043cbff8: ldr x12, [x12, #16]
0x00000001043cbffc: cbz x12, 0x00000001043cc008
0x00000001043cc000: ldr x8, [x12, #88]
0x00000001043cc004: br x8
0x00000001043cc008: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043cc00c: add x8, x8, #0x900
0x00000001043cc010: br x8
[Stub Code]
0x00000001043cc014: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 269 18 n java.lang.invoke.MethodHandle::linkToSpecial(LL)V (native)
total in heap [0x00000001043cc088,0x00000001043cc318] = 656
relocation [0x00000001043cc170,0x00000001043cc1a8] = 56
main code [0x00000001043cc1c0,0x00000001043cc314] = 340
stub code [0x00000001043cc314,0x00000001043cc318] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118607ba8} '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)
0x00000001043cc1c0: nop
;; verify_klass {
0x00000001043cc1c4: cbz x2, 0x00000001043cc1fc
0x00000001043cc1c8: stp x8, x9, [sp, #-16]!
0x00000001043cc1cc: ldr w9, [x2, #8]
0x00000001043cc1d0: eor x9, x9, #0x400000000000
0x00000001043cc1d4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cc1d8: ldr x8, [x8, #1528]
0x00000001043cc1dc: cmp x9, x8
0x00000001043cc1e0: b.eq 0x00000001043cc208 // b.none
0x00000001043cc1e4: ldr x9, [x9, #64]
0x00000001043cc1e8: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cc1ec: ldr x8, [x8, #1528]
0x00000001043cc1f0: cmp x9, x8
0x00000001043cc1f4: b.eq 0x00000001043cc208 // b.none
0x00000001043cc1f8: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043cc1fc: dcps1 #0xdeae
0x00000001043cc200: .inst 0x03aa865f ; undefined
0x00000001043cc204: udf #1
;; L_ok:
0x00000001043cc208: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cc20c: ldr xzr, [x1]
;; check_receiver {
0x00000001043cc210: ldr w10, [x1, #8]
0x00000001043cc214: eor x10, x10, #0x400000000000
0x00000001043cc218: ldr w11, [x2, #24]
0x00000001043cc21c: lsl x11, x11, #3
;; verify_klass {
0x00000001043cc220: cbz x11, 0x00000001043cc258
0x00000001043cc224: stp x8, x9, [sp, #-16]!
0x00000001043cc228: ldr w9, [x11, #8]
0x00000001043cc22c: eor x9, x9, #0x400000000000
0x00000001043cc230: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cc234: ldr x8, [x8, #1064]
0x00000001043cc238: cmp x9, x8
0x00000001043cc23c: b.eq 0x00000001043cc264 // b.none
0x00000001043cc240: ldr x9, [x9, #64]
0x00000001043cc244: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cc248: ldr x8, [x8, #1064]
0x00000001043cc24c: cmp x9, x8
0x00000001043cc250: b.eq 0x00000001043cc264 // b.none
0x00000001043cc254: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043cc258: dcps1 #0xdeae
0x00000001043cc25c: .inst 0x03aa81bf ; undefined
0x00000001043cc260: udf #1
;; L_ok:
0x00000001043cc264: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cc268: ldr x11, [x11, #16]
0x00000001043cc26c: cmp x10, x11
0x00000001043cc270: b.eq 0x00000001043cc2f0 // b.none
0x00000001043cc274: ldr w14, [x11, #24]
0x00000001043cc278: ldr x8, [x10, x14]
0x00000001043cc27c: cmp x11, x8
0x00000001043cc280: b.eq 0x00000001043cc2f0 // b.none
0x00000001043cc284: cmp x14, #0x28
0x00000001043cc288: b.ne 0x00000001043cc2ec // b.any
;; check_klass_subtype_slow_path
0x00000001043cc28c: stp x0, x2, [sp, #-32]!
0x00000001043cc290: stp x5, xzr, [sp, #16]
0x00000001043cc294: mov x0, x11
;; 0x103D01C40
0x00000001043cc298: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043cc29c: movk x9, #0x3d0, lsl #16
0x00000001043cc2a0: movk x9, #0x1, lsl #32
0x00000001043cc2a4: ldr w8, [x9]
0x00000001043cc2a8: add w8, w8, #0x1
0x00000001043cc2ac: str w8, [x9]
0x00000001043cc2b0: ldr x5, [x10, #48]
0x00000001043cc2b4: ldr w2, [x5]
0x00000001043cc2b8: add x5, x5, #0x8
0x00000001043cc2bc: cmp sp, xzr
0x00000001043cc2c0: cbz x2, 0x00000001043cc2d8
0x00000001043cc2c4: ldr x8, [x5], #8
0x00000001043cc2c8: cmp x0, x8
0x00000001043cc2cc: b.eq 0x00000001043cc2d8 // b.none
0x00000001043cc2d0: sub x2, x2, #0x1
0x00000001043cc2d4: cbnz x2, 0x00000001043cc2c4
0x00000001043cc2d8: ldp x5, xzr, [sp, #16]
0x00000001043cc2dc: ldp x0, x2, [sp], #32
0x00000001043cc2e0: b.ne 0x00000001043cc2ec // b.any
0x00000001043cc2e4: str x11, [x10, #40]
0x00000001043cc2e8: b 0x00000001043cc2f0
0x00000001043cc2ec: hlt #0x0
;; } check_receiver
0x00000001043cc2f0: ldr w12, [x2, #36]
0x00000001043cc2f4: lsl x12, x12, #3
0x00000001043cc2f8: ldr x12, [x12, #16]
0x00000001043cc2fc: cbz x12, 0x00000001043cc308
0x00000001043cc300: ldr x8, [x12, #88]
0x00000001043cc304: br x8
0x00000001043cc308: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043cc30c: add x8, x8, #0x900
0x00000001043cc310: br x8
[Stub Code]
0x00000001043cc314: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 274 19 n java.lang.invoke.MethodHandle::linkToInterface(LLL)I (native)
total in heap [0x00000001043cc388,0x00000001043cc5d0] = 584
relocation [0x00000001043cc470,0x00000001043cc4a0] = 48
main code [0x00000001043cc4c0,0x00000001043cc5d0] = 272
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011860a560} '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)
0x00000001043cc4c0: nop
;; verify_klass {
0x00000001043cc4c4: cbz x3, 0x00000001043cc4fc
0x00000001043cc4c8: stp x8, x9, [sp, #-16]!
0x00000001043cc4cc: ldr w9, [x3, #8]
0x00000001043cc4d0: eor x9, x9, #0x400000000000
0x00000001043cc4d4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cc4d8: ldr x8, [x8, #1528]
0x00000001043cc4dc: cmp x9, x8
0x00000001043cc4e0: b.eq 0x00000001043cc508 // b.none
0x00000001043cc4e4: ldr x9, [x9, #64]
0x00000001043cc4e8: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cc4ec: ldr x8, [x8, #1528]
0x00000001043cc4f0: cmp x9, x8
0x00000001043cc4f4: b.eq 0x00000001043cc508 // b.none
0x00000001043cc4f8: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043cc4fc: dcps1 #0xdeae
0x00000001043cc500: .inst 0x03aa865f ; undefined
0x00000001043cc504: udf #1
;; L_ok:
0x00000001043cc508: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cc50c: ldr w10, [x1, #8]
0x00000001043cc510: eor x10, x10, #0x400000000000
;; check_receiver {
;; } check_receiver
0x00000001043cc514: ldr w14, [x3, #24]
0x00000001043cc518: lsl x14, x14, #3
;; verify_klass {
0x00000001043cc51c: cbz x14, 0x00000001043cc554
0x00000001043cc520: stp x8, x9, [sp, #-16]!
0x00000001043cc524: ldr w9, [x14, #8]
0x00000001043cc528: eor x9, x9, #0x400000000000
0x00000001043cc52c: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cc530: ldr x8, [x8, #1064]
0x00000001043cc534: cmp x9, x8
0x00000001043cc538: b.eq 0x00000001043cc560 // b.none
0x00000001043cc53c: ldr x9, [x9, #64]
0x00000001043cc540: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cc544: ldr x8, [x8, #1064]
0x00000001043cc548: cmp x9, x8
0x00000001043cc54c: b.eq 0x00000001043cc560 // b.none
0x00000001043cc550: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043cc554: dcps1 #0xdeae
0x00000001043cc558: .inst 0x03aa81bf ; undefined
0x00000001043cc55c: udf #1
;; L_ok:
0x00000001043cc560: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cc564: ldr x14, [x14, #16]
0x00000001043cc568: ldr x12, [x3, #16]
0x00000001043cc56c: cmp w12, #0x0
0x00000001043cc570: b.ge 0x00000001043cc578 // b.tcont
0x00000001043cc574: hlt #0x0
0x00000001043cc578: ldr w11, [x10, #180]
0x00000001043cc57c: add x11, x10, x11, uxtx #3
0x00000001043cc580: add x11, x11, #0x1e8
0x00000001043cc584: add x10, x10, x12, uxtx #3
0x00000001043cc588: ldr x12, [x11]
0x00000001043cc58c: cmp x14, x12
0x00000001043cc590: b.eq 0x00000001043cc5a4 // b.none
0x00000001043cc594: cbz x12, 0x00000001043cc5c4
0x00000001043cc598: ldr x12, [x11, #16]!
0x00000001043cc59c: cmp x14, x12
0x00000001043cc5a0: b.ne 0x00000001043cc594 // b.any
0x00000001043cc5a4: ldr w11, [x11, #8]
0x00000001043cc5a8: ldr x12, [x10, w11, uxtw]
0x00000001043cc5ac: cbz x12, 0x00000001043cc5b8
0x00000001043cc5b0: ldr x8, [x12, #88]
0x00000001043cc5b4: br x8
0x00000001043cc5b8: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043cc5bc: add x8, x8, #0x900
0x00000001043cc5c0: br x8
0x00000001043cc5c4: adrp x8, 0x0000000104315000 ; {runtime_call IncompatibleClassChangeError throw_exception}
0x00000001043cc5c8: add x8, x8, #0x880
0x00000001043cc5cc: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 282 20 n java.lang.invoke.MethodHandle::linkToStatic(LL)I (native)
total in heap [0x00000001043cca08,0x00000001043ccbb0] = 424
relocation [0x00000001043ccaf0,0x00000001043ccb08] = 24
main code [0x00000001043ccb40,0x00000001043ccbb0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118615be8} '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)
0x00000001043ccb40: nop
;; verify_klass {
0x00000001043ccb44: cbz x2, 0x00000001043ccb7c
0x00000001043ccb48: stp x8, x9, [sp, #-16]!
0x00000001043ccb4c: ldr w9, [x2, #8]
0x00000001043ccb50: eor x9, x9, #0x400000000000
0x00000001043ccb54: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043ccb58: ldr x8, [x8, #1528]
0x00000001043ccb5c: cmp x9, x8
0x00000001043ccb60: b.eq 0x00000001043ccb88 // b.none
0x00000001043ccb64: ldr x9, [x9, #64]
0x00000001043ccb68: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043ccb6c: ldr x8, [x8, #1528]
0x00000001043ccb70: cmp x9, x8
0x00000001043ccb74: b.eq 0x00000001043ccb88 // b.none
0x00000001043ccb78: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043ccb7c: dcps1 #0xdeae
0x00000001043ccb80: .inst 0x03aa865f ; undefined
0x00000001043ccb84: udf #1
;; L_ok:
0x00000001043ccb88: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043ccb8c: ldr w12, [x2, #36]
0x00000001043ccb90: lsl x12, x12, #3
0x00000001043ccb94: ldr x12, [x12, #16]
0x00000001043ccb98: cbz x12, 0x00000001043ccba4
0x00000001043ccb9c: ldr x8, [x12, #88]
0x00000001043ccba0: br x8
0x00000001043ccba4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043ccba8: add x8, x8, #0x900
0x00000001043ccbac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 285 21 n java.lang.invoke.MethodHandle::linkToStatic(LLL)I (native)
total in heap [0x00000001043ccd08,0x00000001043cceb0] = 424
relocation [0x00000001043ccdf0,0x00000001043cce08] = 24
main code [0x00000001043cce40,0x00000001043cceb0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118617d10} '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)
0x00000001043cce40: nop
;; verify_klass {
0x00000001043cce44: cbz x3, 0x00000001043cce7c
0x00000001043cce48: stp x8, x9, [sp, #-16]!
0x00000001043cce4c: ldr w9, [x3, #8]
0x00000001043cce50: eor x9, x9, #0x400000000000
0x00000001043cce54: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cce58: ldr x8, [x8, #1528]
0x00000001043cce5c: cmp x9, x8
0x00000001043cce60: b.eq 0x00000001043cce88 // b.none
0x00000001043cce64: ldr x9, [x9, #64]
0x00000001043cce68: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cce6c: ldr x8, [x8, #1528]
0x00000001043cce70: cmp x9, x8
0x00000001043cce74: b.eq 0x00000001043cce88 // b.none
0x00000001043cce78: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043cce7c: dcps1 #0xdeae
0x00000001043cce80: .inst 0x03aa865f ; undefined
0x00000001043cce84: udf #1
;; L_ok:
0x00000001043cce88: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cce8c: ldr w12, [x3, #36]
0x00000001043cce90: lsl x12, x12, #3
0x00000001043cce94: ldr x12, [x12, #16]
0x00000001043cce98: cbz x12, 0x00000001043ccea4
0x00000001043cce9c: ldr x8, [x12, #88]
0x00000001043ccea0: br x8
0x00000001043ccea4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043ccea8: add x8, x8, #0x900
0x00000001043cceac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 287 22 n java.lang.invoke.MethodHandle::linkToVirtual(LL)L (native)
total in heap [0x00000001043cd008,0x00000001043cd2a0] = 664
relocation [0x00000001043cd0f0,0x00000001043cd128] = 56
main code [0x00000001043cd140,0x00000001043cd29c] = 348
stub code [0x00000001043cd29c,0x00000001043cd2a0] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118618290} '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)
0x00000001043cd140: nop
;; verify_klass {
0x00000001043cd144: cbz x2, 0x00000001043cd17c
0x00000001043cd148: stp x8, x9, [sp, #-16]!
0x00000001043cd14c: ldr w9, [x2, #8]
0x00000001043cd150: eor x9, x9, #0x400000000000
0x00000001043cd154: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cd158: ldr x8, [x8, #1528]
0x00000001043cd15c: cmp x9, x8
0x00000001043cd160: b.eq 0x00000001043cd188 // b.none
0x00000001043cd164: ldr x9, [x9, #64]
0x00000001043cd168: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cd16c: ldr x8, [x8, #1528]
0x00000001043cd170: cmp x9, x8
0x00000001043cd174: b.eq 0x00000001043cd188 // b.none
0x00000001043cd178: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043cd17c: dcps1 #0xdeae
0x00000001043cd180: .inst 0x03aa865f ; undefined
0x00000001043cd184: udf #1
;; L_ok:
0x00000001043cd188: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cd18c: ldr w10, [x1, #8]
0x00000001043cd190: eor x10, x10, #0x400000000000
;; check_receiver {
0x00000001043cd194: ldr w11, [x2, #24]
0x00000001043cd198: lsl x11, x11, #3
;; verify_klass {
0x00000001043cd19c: cbz x11, 0x00000001043cd1d4
0x00000001043cd1a0: stp x8, x9, [sp, #-16]!
0x00000001043cd1a4: ldr w9, [x11, #8]
0x00000001043cd1a8: eor x9, x9, #0x400000000000
0x00000001043cd1ac: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cd1b0: ldr x8, [x8, #1064]
0x00000001043cd1b4: cmp x9, x8
0x00000001043cd1b8: b.eq 0x00000001043cd1e0 // b.none
0x00000001043cd1bc: ldr x9, [x9, #64]
0x00000001043cd1c0: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cd1c4: ldr x8, [x8, #1064]
0x00000001043cd1c8: cmp x9, x8
0x00000001043cd1cc: b.eq 0x00000001043cd1e0 // b.none
0x00000001043cd1d0: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043cd1d4: dcps1 #0xdeae
0x00000001043cd1d8: .inst 0x03aa81bf ; undefined
0x00000001043cd1dc: udf #1
;; L_ok:
0x00000001043cd1e0: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cd1e4: ldr x11, [x11, #16]
0x00000001043cd1e8: cmp x10, x11
0x00000001043cd1ec: b.eq 0x00000001043cd26c // b.none
0x00000001043cd1f0: ldr w14, [x11, #24]
0x00000001043cd1f4: ldr x8, [x10, x14]
0x00000001043cd1f8: cmp x11, x8
0x00000001043cd1fc: b.eq 0x00000001043cd26c // b.none
0x00000001043cd200: cmp x14, #0x28
0x00000001043cd204: b.ne 0x00000001043cd268 // b.any
;; check_klass_subtype_slow_path
0x00000001043cd208: stp x0, x2, [sp, #-32]!
0x00000001043cd20c: stp x5, xzr, [sp, #16]
0x00000001043cd210: mov x0, x11
;; 0x103D01C40
0x00000001043cd214: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043cd218: movk x9, #0x3d0, lsl #16
0x00000001043cd21c: movk x9, #0x1, lsl #32
0x00000001043cd220: ldr w8, [x9]
0x00000001043cd224: add w8, w8, #0x1
0x00000001043cd228: str w8, [x9]
0x00000001043cd22c: ldr x5, [x10, #48]
0x00000001043cd230: ldr w2, [x5]
0x00000001043cd234: add x5, x5, #0x8
0x00000001043cd238: cmp sp, xzr
0x00000001043cd23c: cbz x2, 0x00000001043cd254
0x00000001043cd240: ldr x8, [x5], #8
0x00000001043cd244: cmp x0, x8
0x00000001043cd248: b.eq 0x00000001043cd254 // b.none
0x00000001043cd24c: sub x2, x2, #0x1
0x00000001043cd250: cbnz x2, 0x00000001043cd240
0x00000001043cd254: ldp x5, xzr, [sp, #16]
0x00000001043cd258: ldp x0, x2, [sp], #32
0x00000001043cd25c: b.ne 0x00000001043cd268 // b.any
0x00000001043cd260: str x11, [x10, #40]
0x00000001043cd264: b 0x00000001043cd26c
0x00000001043cd268: hlt #0x0
;; } check_receiver
0x00000001043cd26c: ldr x11, [x2, #16]
0x00000001043cd270: cmp w11, #0x0
0x00000001043cd274: b.ge 0x00000001043cd27c // b.tcont
0x00000001043cd278: hlt #0x0
;; L_index_ok:
0x00000001043cd27c: add x12, x10, x11, uxtx #3
0x00000001043cd280: ldr x12, [x12, #488]
0x00000001043cd284: cbz x12, 0x00000001043cd290
0x00000001043cd288: ldr x8, [x12, #88]
0x00000001043cd28c: br x8
0x00000001043cd290: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043cd294: add x8, x8, #0x900
0x00000001043cd298: br x8
[Stub Code]
0x00000001043cd29c: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 292 23 n java.lang.invoke.MethodHandle::linkToSpecial(LL)I (native)
total in heap [0x00000001043cd308,0x00000001043cd598] = 656
relocation [0x00000001043cd3f0,0x00000001043cd428] = 56
main code [0x00000001043cd440,0x00000001043cd594] = 340
stub code [0x00000001043cd594,0x00000001043cd598] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118622568} '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)
0x00000001043cd440: nop
;; verify_klass {
0x00000001043cd444: cbz x2, 0x00000001043cd47c
0x00000001043cd448: stp x8, x9, [sp, #-16]!
0x00000001043cd44c: ldr w9, [x2, #8]
0x00000001043cd450: eor x9, x9, #0x400000000000
0x00000001043cd454: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cd458: ldr x8, [x8, #1528]
0x00000001043cd45c: cmp x9, x8
0x00000001043cd460: b.eq 0x00000001043cd488 // b.none
0x00000001043cd464: ldr x9, [x9, #64]
0x00000001043cd468: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cd46c: ldr x8, [x8, #1528]
0x00000001043cd470: cmp x9, x8
0x00000001043cd474: b.eq 0x00000001043cd488 // b.none
0x00000001043cd478: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043cd47c: dcps1 #0xdeae
0x00000001043cd480: .inst 0x03aa865f ; undefined
0x00000001043cd484: udf #1
;; L_ok:
0x00000001043cd488: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cd48c: ldr xzr, [x1]
;; check_receiver {
0x00000001043cd490: ldr w10, [x1, #8]
0x00000001043cd494: eor x10, x10, #0x400000000000
0x00000001043cd498: ldr w11, [x2, #24]
0x00000001043cd49c: lsl x11, x11, #3
;; verify_klass {
0x00000001043cd4a0: cbz x11, 0x00000001043cd4d8
0x00000001043cd4a4: stp x8, x9, [sp, #-16]!
0x00000001043cd4a8: ldr w9, [x11, #8]
0x00000001043cd4ac: eor x9, x9, #0x400000000000
0x00000001043cd4b0: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cd4b4: ldr x8, [x8, #1064]
0x00000001043cd4b8: cmp x9, x8
0x00000001043cd4bc: b.eq 0x00000001043cd4e4 // b.none
0x00000001043cd4c0: ldr x9, [x9, #64]
0x00000001043cd4c4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043cd4c8: ldr x8, [x8, #1064]
0x00000001043cd4cc: cmp x9, x8
0x00000001043cd4d0: b.eq 0x00000001043cd4e4 // b.none
0x00000001043cd4d4: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043cd4d8: dcps1 #0xdeae
0x00000001043cd4dc: .inst 0x03aa81bf ; undefined
0x00000001043cd4e0: udf #1
;; L_ok:
0x00000001043cd4e4: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043cd4e8: ldr x11, [x11, #16]
0x00000001043cd4ec: cmp x10, x11
0x00000001043cd4f0: b.eq 0x00000001043cd570 // b.none
0x00000001043cd4f4: ldr w14, [x11, #24]
0x00000001043cd4f8: ldr x8, [x10, x14]
0x00000001043cd4fc: cmp x11, x8
0x00000001043cd500: b.eq 0x00000001043cd570 // b.none
0x00000001043cd504: cmp x14, #0x28
0x00000001043cd508: b.ne 0x00000001043cd56c // b.any
;; check_klass_subtype_slow_path
0x00000001043cd50c: stp x0, x2, [sp, #-32]!
0x00000001043cd510: stp x5, xzr, [sp, #16]
0x00000001043cd514: mov x0, x11
;; 0x103D01C40
0x00000001043cd518: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043cd51c: movk x9, #0x3d0, lsl #16
0x00000001043cd520: movk x9, #0x1, lsl #32
0x00000001043cd524: ldr w8, [x9]
0x00000001043cd528: add w8, w8, #0x1
0x00000001043cd52c: str w8, [x9]
0x00000001043cd530: ldr x5, [x10, #48]
0x00000001043cd534: ldr w2, [x5]
0x00000001043cd538: add x5, x5, #0x8
0x00000001043cd53c: cmp sp, xzr
0x00000001043cd540: cbz x2, 0x00000001043cd558
0x00000001043cd544: ldr x8, [x5], #8
0x00000001043cd548: cmp x0, x8
0x00000001043cd54c: b.eq 0x00000001043cd558 // b.none
0x00000001043cd550: sub x2, x2, #0x1
0x00000001043cd554: cbnz x2, 0x00000001043cd544
0x00000001043cd558: ldp x5, xzr, [sp, #16]
0x00000001043cd55c: ldp x0, x2, [sp], #32
0x00000001043cd560: b.ne 0x00000001043cd56c // b.any
0x00000001043cd564: str x11, [x10, #40]
0x00000001043cd568: b 0x00000001043cd570
0x00000001043cd56c: hlt #0x0
;; } check_receiver
0x00000001043cd570: ldr w12, [x2, #36]
0x00000001043cd574: lsl x12, x12, #3
0x00000001043cd578: ldr x12, [x12, #16]
0x00000001043cd57c: cbz x12, 0x00000001043cd588
0x00000001043cd580: ldr x8, [x12, #88]
0x00000001043cd584: br x8
0x00000001043cd588: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043cd58c: add x8, x8, #0x900
0x00000001043cd590: br x8
[Stub Code]
0x00000001043cd594: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 316 24 n jdk.internal.vm.Continuation::enterSpecial (native)
total in heap [0x00000001043cd988,0x00000001043cdd38] = 944
relocation [0x00000001043cda70,0x00000001043cdaa0] = 48
main code [0x00000001043cdac0,0x00000001043cdcc8] = 520
stub code [0x00000001043cdcc8,0x00000001043cdd28] = 96
metadata [0x00000001043cdd28,0x00000001043cdd38] = 16
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Entry Point]
# {method} {0x0000000118095258} '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)
0x00000001043cdac0: ldr w8, [x28, #1592]
0x00000001043cdac4: cbnz w8, 0x00000001043cdad4
;; enterSpecial interpreter entry called when not in interp_only_mode
0x00000001043cdac8: dcps1 #0xdeae
0x00000001043cdacc: .inst 0x03adb77e ; undefined
0x00000001043cdad0: udf #1
;; merged ldr pair
0x00000001043cdad4: ldp x2, x1, [x20, #8]
0x00000001043cdad8: ldr x3, [x20]
0x00000001043cdadc: ldr x8, [x28, #1432]
0x00000001043cdae0: cmp sp, x8
0x00000001043cdae4: b.ls 0x00000001043cdaf0 // b.plast
0x00000001043cdae8: mov x8, sp
0x00000001043cdaec: str x8, [x28, #1432]
0x00000001043cdaf0: stp x29, x30, [sp, #-16]!
0x00000001043cdaf4: mov x29, sp
0x00000001043cdaf8: sub sp, sp, #0x40
0x00000001043cdafc: ldr x8, [x28, #1424]
0x00000001043cdb00: str x8, [sp, #8]
0x00000001043cdb04: mov x8, sp
0x00000001043cdb08: str x8, [x28, #1424]
;; 0x1234
0x00000001043cdb0c: mov w8, #0x1234 // #4660
0x00000001043cdb10: str w8, [sp, #4]
0x00000001043cdb14: str x1, [sp, #16]
0x00000001043cdb18: str w3, [sp, #32]
0x00000001043cdb1c: str xzr, [sp, #24]
0x00000001043cdb20: str wzr, [sp, #36]
0x00000001043cdb24: str wzr, [sp, #56]
0x00000001043cdb28: ldr x8, [x28, #1432]
0x00000001043cdb2c: str x8, [sp, #40]
0x00000001043cdb30: ldr x8, [x28, #1448]
0x00000001043cdb34: str x8, [sp, #48]
0x00000001043cdb38: str xzr, [x28, #1432]
0x00000001043cdb3c: str xzr, [x28, #1448]
0x00000001043cdb40: cbnz x2, 0x00000001043cdbe8
0x00000001043cdb44: bl 0x000000010438a780 ; ImmutableOopMap {}
; {static_call}
0x00000001043cdb48: nop ; {other}
0x00000001043cdb4c: movk xzr, #0x1c0
0x00000001043cdb50: movk xzr, #0x0
0x00000001043cdb54: b 0x00000001043cdc00
0x00000001043cdb58: nop
0x00000001043cdb5c: nop
0x00000001043cdb60: nop
0x00000001043cdb64: nop
0x00000001043cdb68: nop
0x00000001043cdb6c: nop
0x00000001043cdb70: nop
0x00000001043cdb74: nop
0x00000001043cdb78: nop
0x00000001043cdb7c: nop
[Verified Entry Point]
0x00000001043cdb80: stp x29, x30, [sp, #-16]!
0x00000001043cdb84: mov x29, sp
0x00000001043cdb88: sub sp, sp, #0x40
0x00000001043cdb8c: ldr x8, [x28, #1424]
0x00000001043cdb90: str x8, [sp, #8]
0x00000001043cdb94: mov x8, sp
0x00000001043cdb98: str x8, [x28, #1424]
;; 0x1234
0x00000001043cdb9c: mov w8, #0x1234 // #4660
0x00000001043cdba0: str w8, [sp, #4]
0x00000001043cdba4: str x1, [sp, #16]
0x00000001043cdba8: str w3, [sp, #32]
0x00000001043cdbac: str xzr, [sp, #24]
0x00000001043cdbb0: str wzr, [sp, #36]
0x00000001043cdbb4: str wzr, [sp, #56]
0x00000001043cdbb8: ldr x8, [x28, #1432]
0x00000001043cdbbc: str x8, [sp, #40]
0x00000001043cdbc0: ldr x8, [x28, #1448]
0x00000001043cdbc4: str x8, [sp, #48]
0x00000001043cdbc8: str xzr, [x28, #1432]
0x00000001043cdbcc: str xzr, [x28, #1448]
0x00000001043cdbd0: cbnz x2, 0x00000001043cdbe8
0x00000001043cdbd4: bl 0x000000010438a780 ; ImmutableOopMap {}
; {static_call}
0x00000001043cdbd8: nop ; {other}
0x00000001043cdbdc: movk xzr, #0x250
0x00000001043cdbe0: movk xzr, #0x100
0x00000001043cdbe4: b 0x00000001043cdc00
0x00000001043cdbe8: adrp x8, 0x00000001042bb000 ; {runtime_call StubRoutines (continuation stubs)}
0x00000001043cdbec: add x8, x8, #0x500
0x00000001043cdbf0: blr x8
0x00000001043cdbf4: nop ; {other}
0x00000001043cdbf8: movk xzr, #0x26c
0x00000001043cdbfc: movk xzr, #0x200
0x00000001043cdc00: ldr x8, [x28, #1424]
0x00000001043cdc04: cmp sp, x8
0x00000001043cdc08: b.eq 0x00000001043cdc18 // b.none
;; incorrect sp1
0x00000001043cdc0c: dcps1 #0xdeae
0x00000001043cdc10: .inst 0x03adb8f1 ; undefined
0x00000001043cdc14: udf #1
0x00000001043cdc18: ldr x8, [sp, #40]
0x00000001043cdc1c: str x8, [x28, #1432]
0x00000001043cdc20: ldr w8, [sp, #32]
0x00000001043cdc24: cbz w8, 0x00000001043cdc2c
0x00000001043cdc28: str xzr, [x28, #1456]
0x00000001043cdc2c: ldr x8, [sp, #48]
0x00000001043cdc30: str x8, [x28, #1448]
0x00000001043cdc34: ldr x9, [sp, #8]
0x00000001043cdc38: str x9, [x28, #1424]
0x00000001043cdc3c: add x29, sp, #0x40
0x00000001043cdc40: mov sp, x29
0x00000001043cdc44: ldp x29, x30, [sp], #16
0x00000001043cdc48: ret
[Exception Handler]
0x00000001043cdc4c: mov x19, x0
0x00000001043cdc50: ldr x8, [x28, #1424]
0x00000001043cdc54: cmp sp, x8
0x00000001043cdc58: b.eq 0x00000001043cdc68 // b.none
;; incorrect sp1
0x00000001043cdc5c: dcps1 #0xdeae
0x00000001043cdc60: .inst 0x03adb8f1 ; undefined
0x00000001043cdc64: udf #1
0x00000001043cdc68: ldr x8, [sp, #40]
0x00000001043cdc6c: str x8, [x28, #1432]
0x00000001043cdc70: ldr w8, [sp, #32]
0x00000001043cdc74: cbz w8, 0x00000001043cdc7c
0x00000001043cdc78: str xzr, [x28, #1456]
0x00000001043cdc7c: ldr x8, [sp, #48]
0x00000001043cdc80: str x8, [x28, #1448]
0x00000001043cdc84: ldr x9, [sp, #8]
0x00000001043cdc88: str x9, [x28, #1424]
0x00000001043cdc8c: add x29, sp, #0x40
0x00000001043cdc90: ldr x1, [x29, #8]
0x00000001043cdc94: mov x0, x28
0x00000001043cdc98: stp x8, x12, [sp, #-16]!
;; 0x103521148
0x00000001043cdc9c: mov x8, #0x1148 // #4424
0x00000001043cdca0: movk x8, #0x352, lsl #16
0x00000001043cdca4: movk x8, #0x1, lsl #32
0x00000001043cdca8: blr x8
0x00000001043cdcac: ldp x8, x12, [sp], #16
0x00000001043cdcb0: mov x1, x0
0x00000001043cdcb4: mov x0, x19
0x00000001043cdcb8: mov sp, x29
0x00000001043cdcbc: ldp x29, x30, [sp], #16
0x00000001043cdcc0: mov x3, x30
0x00000001043cdcc4: br x1
[Stub Code]
0x00000001043cdcc8: ldr x8, 0x00000001043cdcd0 ; {no_reloc}
0x00000001043cdccc: br x8
0x00000001043cdcd0: adr z0.d, [z28.d, z24.d, sxtw #1]
0x00000001043cdcd4: udf #1
0x00000001043cdcd8: isb ; {static_stub}
0x00000001043cdcdc: mov x12, #0x0 // #0
; {metadata(nullptr)}
0x00000001043cdce0: movk x12, #0x0, lsl #16
0x00000001043cdce4: movk x12, #0x0, lsl #32
0x00000001043cdce8: mov x8, #0x0 // #0
0x00000001043cdcec: movk x8, #0x0, lsl #16
0x00000001043cdcf0: movk x8, #0x0, lsl #32
0x00000001043cdcf4: br x8
0x00000001043cdcf8: ldr x8, 0x00000001043cdd00 ; {trampoline_stub}
0x00000001043cdcfc: br x8
0x00000001043cdd00: adr z0.d, [z28.d, z24.d, sxtw #1]
0x00000001043cdd04: udf #1
0x00000001043cdd08: isb ; {static_stub}
0x00000001043cdd0c: mov x12, #0x0 // #0
; {metadata(nullptr)}
0x00000001043cdd10: movk x12, #0x0, lsl #16
0x00000001043cdd14: movk x12, #0x0, lsl #32
0x00000001043cdd18: mov x8, #0x0 // #0
0x00000001043cdd1c: movk x8, #0x0, lsl #16
0x00000001043cdd20: movk x8, #0x0, lsl #32
0x00000001043cdd24: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 319 25 n jdk.internal.vm.Continuation::doYield (native)
total in heap [0x00000001043cdd88,0x00000001043cdf50] = 456
relocation [0x00000001043cde70,0x00000001043cde78] = 8
main code [0x00000001043cde80,0x00000001043cdf4c] = 204
stub code [0x00000001043cdf4c,0x00000001043cdf50] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118095188} 'doYield' '()I' in 'jdk/internal/vm/Continuation'
# [sp+0x10] (sp of caller)
0x00000001043cde80: stp x29, x30, [sp, #-16]!
0x00000001043cde84: mov x29, sp
0x00000001043cde88: mov x1, sp
0x00000001043cde8c: nop ; {other}
0x00000001043cde90: movk xzr, #0x104
0x00000001043cde94: movk xzr, #0x0
0x00000001043cde98: mov x0, x28
0x00000001043cde9c: adr x8, 0x00000001043cde8c
0x00000001043cdea0: str x8, [x28, #1008]
0x00000001043cdea4: mov x8, sp
0x00000001043cdea8: str x8, [x28, #1000]
0x00000001043cdeac: str x29, [x28, #1016]
0x00000001043cdeb0: stp x8, x12, [sp, #-16]!
;; 0x102AE84D8
0x00000001043cdeb4: mov x8, #0x84d8 // #34008
0x00000001043cdeb8: movk x8, #0x2ae, lsl #16
0x00000001043cdebc: movk x8, #0x1, lsl #32
0x00000001043cdec0: blr x8
0x00000001043cdec4: ldp x8, x12, [sp], #16
0x00000001043cdec8: str xzr, [x28, #1000]
0x00000001043cdecc: str xzr, [x28, #1016]
0x00000001043cded0: str xzr, [x28, #1008]
0x00000001043cded4: cbnz x0, 0x00000001043cdf20
0x00000001043cded8: ldr x8, [x28, #1424]
0x00000001043cdedc: mov sp, x8
0x00000001043cdee0: ldr x8, [x28, #1424]
0x00000001043cdee4: cmp sp, x8
0x00000001043cdee8: b.eq 0x00000001043cdef8 // b.none
;; incorrect sp1
0x00000001043cdeec: dcps1 #0xdeae
0x00000001043cdef0: .inst 0x03adb8f1 ; undefined
0x00000001043cdef4: udf #1
0x00000001043cdef8: ldr x8, [sp, #40]
0x00000001043cdefc: str x8, [x28, #1432]
0x00000001043cdf00: ldr w8, [sp, #32]
0x00000001043cdf04: cbz w8, 0x00000001043cdf0c
0x00000001043cdf08: str xzr, [x28, #1456]
0x00000001043cdf0c: ldr x8, [sp, #48]
0x00000001043cdf10: str x8, [x28, #1448]
0x00000001043cdf14: ldr x9, [sp, #8]
0x00000001043cdf18: str x9, [x28, #1424]
0x00000001043cdf1c: add x29, sp, #0x40
0x00000001043cdf20: ldr x8, [x28, #8]
0x00000001043cdf24: cbz x8, 0x00000001043cdf40
0x00000001043cdf28: mov sp, x29
0x00000001043cdf2c: ldp x29, x30, [sp], #16
;; 0x1042B8080
0x00000001043cdf30: mov x8, #0x8080 // #32896
; {runtime_call StubRoutines (initial stubs)}
0x00000001043cdf34: movk x8, #0x42b, lsl #16
0x00000001043cdf38: movk x8, #0x1, lsl #32
0x00000001043cdf3c: br x8
0x00000001043cdf40: mov sp, x29
0x00000001043cdf44: ldp x29, x30, [sp], #16
0x00000001043cdf48: ret
[Stub Code]
0x00000001043cdf4c: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 407 26 n java.lang.invoke.MethodHandle::linkToStatic(LLL)V (native)
total in heap [0x00000001043d1408,0x00000001043d15b0] = 424
relocation [0x00000001043d14f0,0x00000001043d1508] = 24
main code [0x00000001043d1540,0x00000001043d15b0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001186ff788} '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)
0x00000001043d1540: nop
;; verify_klass {
0x00000001043d1544: cbz x3, 0x00000001043d157c
0x00000001043d1548: stp x8, x9, [sp, #-16]!
0x00000001043d154c: ldr w9, [x3, #8]
0x00000001043d1550: eor x9, x9, #0x400000000000
0x00000001043d1554: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d1558: ldr x8, [x8, #1528]
0x00000001043d155c: cmp x9, x8
0x00000001043d1560: b.eq 0x00000001043d1588 // b.none
0x00000001043d1564: ldr x9, [x9, #64]
0x00000001043d1568: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d156c: ldr x8, [x8, #1528]
0x00000001043d1570: cmp x9, x8
0x00000001043d1574: b.eq 0x00000001043d1588 // b.none
0x00000001043d1578: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043d157c: dcps1 #0xdeae
0x00000001043d1580: .inst 0x03aa865f ; undefined
0x00000001043d1584: udf #1
;; L_ok:
0x00000001043d1588: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043d158c: ldr w12, [x3, #36]
0x00000001043d1590: lsl x12, x12, #3
0x00000001043d1594: ldr x12, [x12, #16]
0x00000001043d1598: cbz x12, 0x00000001043d15a4
0x00000001043d159c: ldr x8, [x12, #88]
0x00000001043d15a0: br x8
0x00000001043d15a4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d15a8: add x8, x8, #0x900
0x00000001043d15ac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 409 27 n java.lang.invoke.MethodHandle::invokeBasic(LL)V (native)
total in heap [0x00000001043d1708,0x00000001043d1838] = 304
relocation [0x00000001043d17f0,0x00000001043d17f8] = 8
main code [0x00000001043d1800,0x00000001043d1838] = 56
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001186ff8c0} '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)
0x00000001043d1800: nop
;; jump_to_lambda_form {
0x00000001043d1804: ldr w12, [x1, #20]
0x00000001043d1808: lsl x12, x12, #3
0x00000001043d180c: ldr w12, [x12, #40]
0x00000001043d1810: lsl x12, x12, #3
0x00000001043d1814: ldr w12, [x12, #36]
0x00000001043d1818: lsl x12, x12, #3
0x00000001043d181c: ldr x12, [x12, #16]
0x00000001043d1820: cbz x12, 0x00000001043d182c
0x00000001043d1824: ldr x8, [x12, #88]
0x00000001043d1828: br x8
0x00000001043d182c: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d1830: add x8, x8, #0x900
0x00000001043d1834: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 413 28 n java.lang.invoke.MethodHandle::linkToStatic(LLLLL)L (native)
total in heap [0x00000001043d1a08,0x00000001043d1bb0] = 424
relocation [0x00000001043d1af0,0x00000001043d1b08] = 24
main code [0x00000001043d1b40,0x00000001043d1bb0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001187839c8} '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)
0x00000001043d1b40: nop
;; verify_klass {
0x00000001043d1b44: cbz x5, 0x00000001043d1b7c
0x00000001043d1b48: stp x8, x9, [sp, #-16]!
0x00000001043d1b4c: ldr w9, [x5, #8]
0x00000001043d1b50: eor x9, x9, #0x400000000000
0x00000001043d1b54: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d1b58: ldr x8, [x8, #1528]
0x00000001043d1b5c: cmp x9, x8
0x00000001043d1b60: b.eq 0x00000001043d1b88 // b.none
0x00000001043d1b64: ldr x9, [x9, #64]
0x00000001043d1b68: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d1b6c: ldr x8, [x8, #1528]
0x00000001043d1b70: cmp x9, x8
0x00000001043d1b74: b.eq 0x00000001043d1b88 // b.none
0x00000001043d1b78: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043d1b7c: dcps1 #0xdeae
0x00000001043d1b80: .inst 0x03aa865f ; undefined
0x00000001043d1b84: udf #1
;; L_ok:
0x00000001043d1b88: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043d1b8c: ldr w12, [x5, #36]
0x00000001043d1b90: lsl x12, x12, #3
0x00000001043d1b94: ldr x12, [x12, #16]
0x00000001043d1b98: cbz x12, 0x00000001043d1ba4
0x00000001043d1b9c: ldr x8, [x12, #88]
0x00000001043d1ba0: br x8
0x00000001043d1ba4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d1ba8: add x8, x8, #0x900
0x00000001043d1bac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 415 29 n java.lang.invoke.MethodHandle::invokeBasic(LLLL)L (native)
total in heap [0x00000001043d1d08,0x00000001043d1e38] = 304
relocation [0x00000001043d1df0,0x00000001043d1df8] = 8
main code [0x00000001043d1e00,0x00000001043d1e38] = 56
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118783eb8} '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)
0x00000001043d1e00: nop
;; jump_to_lambda_form {
0x00000001043d1e04: ldr w12, [x1, #20]
0x00000001043d1e08: lsl x12, x12, #3
0x00000001043d1e0c: ldr w12, [x12, #40]
0x00000001043d1e10: lsl x12, x12, #3
0x00000001043d1e14: ldr w12, [x12, #36]
0x00000001043d1e18: lsl x12, x12, #3
0x00000001043d1e1c: ldr x12, [x12, #16]
0x00000001043d1e20: cbz x12, 0x00000001043d1e2c
0x00000001043d1e24: ldr x8, [x12, #88]
0x00000001043d1e28: br x8
0x00000001043d1e2c: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d1e30: add x8, x8, #0x900
0x00000001043d1e34: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 418 30 n java.lang.invoke.MethodHandle::linkToStatic(LLLLLL)L (native)
total in heap [0x00000001043d2008,0x00000001043d21b0] = 424
relocation [0x00000001043d20f0,0x00000001043d2108] = 24
main code [0x00000001043d2140,0x00000001043d21b0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118785b40} '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)
0x00000001043d2140: nop
;; verify_klass {
0x00000001043d2144: cbz x6, 0x00000001043d217c
0x00000001043d2148: stp x8, x9, [sp, #-16]!
0x00000001043d214c: ldr w9, [x6, #8]
0x00000001043d2150: eor x9, x9, #0x400000000000
0x00000001043d2154: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d2158: ldr x8, [x8, #1528]
0x00000001043d215c: cmp x9, x8
0x00000001043d2160: b.eq 0x00000001043d2188 // b.none
0x00000001043d2164: ldr x9, [x9, #64]
0x00000001043d2168: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d216c: ldr x8, [x8, #1528]
0x00000001043d2170: cmp x9, x8
0x00000001043d2174: b.eq 0x00000001043d2188 // b.none
0x00000001043d2178: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043d217c: dcps1 #0xdeae
0x00000001043d2180: .inst 0x03aa865f ; undefined
0x00000001043d2184: udf #1
;; L_ok:
0x00000001043d2188: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043d218c: ldr w12, [x6, #36]
0x00000001043d2190: lsl x12, x12, #3
0x00000001043d2194: ldr x12, [x12, #16]
0x00000001043d2198: cbz x12, 0x00000001043d21a4
0x00000001043d219c: ldr x8, [x12, #88]
0x00000001043d21a0: br x8
0x00000001043d21a4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d21a8: add x8, x8, #0x900
0x00000001043d21ac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 420 31 n java.lang.invoke.MethodHandle::invokeBasic(LLLLL)L (native)
total in heap [0x00000001043d2308,0x00000001043d2438] = 304
relocation [0x00000001043d23f0,0x00000001043d23f8] = 8
main code [0x00000001043d2400,0x00000001043d2438] = 56
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118785e70} '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)
0x00000001043d2400: nop
;; jump_to_lambda_form {
0x00000001043d2404: ldr w12, [x1, #20]
0x00000001043d2408: lsl x12, x12, #3
0x00000001043d240c: ldr w12, [x12, #40]
0x00000001043d2410: lsl x12, x12, #3
0x00000001043d2414: ldr w12, [x12, #36]
0x00000001043d2418: lsl x12, x12, #3
0x00000001043d241c: ldr x12, [x12, #16]
0x00000001043d2420: cbz x12, 0x00000001043d242c
0x00000001043d2424: ldr x8, [x12, #88]
0x00000001043d2428: br x8
0x00000001043d242c: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d2430: add x8, x8, #0x900
0x00000001043d2434: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 421 32 n java.lang.invoke.MethodHandle::invokeBasic(LLL)L (native)
total in heap [0x00000001043d2608,0x00000001043d2738] = 304
relocation [0x00000001043d26f0,0x00000001043d26f8] = 8
main code [0x00000001043d2700,0x00000001043d2738] = 56
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001187861a0} '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)
0x00000001043d2700: nop
;; jump_to_lambda_form {
0x00000001043d2704: ldr w12, [x1, #20]
0x00000001043d2708: lsl x12, x12, #3
0x00000001043d270c: ldr w12, [x12, #40]
0x00000001043d2710: lsl x12, x12, #3
0x00000001043d2714: ldr w12, [x12, #36]
0x00000001043d2718: lsl x12, x12, #3
0x00000001043d271c: ldr x12, [x12, #16]
0x00000001043d2720: cbz x12, 0x00000001043d272c
0x00000001043d2724: ldr x8, [x12, #88]
0x00000001043d2728: br x8
0x00000001043d272c: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d2730: add x8, x8, #0x900
0x00000001043d2734: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 422 33 n java.lang.invoke.MethodHandle::linkToSpecial(LLLLL)L (native)
total in heap [0x00000001043d2908,0x00000001043d2b98] = 656
relocation [0x00000001043d29f0,0x00000001043d2a28] = 56
main code [0x00000001043d2a40,0x00000001043d2b94] = 340
stub code [0x00000001043d2b94,0x00000001043d2b98] = 4
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001187862d8} '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)
0x00000001043d2a40: nop
;; verify_klass {
0x00000001043d2a44: cbz x5, 0x00000001043d2a7c
0x00000001043d2a48: stp x8, x9, [sp, #-16]!
0x00000001043d2a4c: ldr w9, [x5, #8]
0x00000001043d2a50: eor x9, x9, #0x400000000000
0x00000001043d2a54: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d2a58: ldr x8, [x8, #1528]
0x00000001043d2a5c: cmp x9, x8
0x00000001043d2a60: b.eq 0x00000001043d2a88 // b.none
0x00000001043d2a64: ldr x9, [x9, #64]
0x00000001043d2a68: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d2a6c: ldr x8, [x8, #1528]
0x00000001043d2a70: cmp x9, x8
0x00000001043d2a74: b.eq 0x00000001043d2a88 // b.none
0x00000001043d2a78: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043d2a7c: dcps1 #0xdeae
0x00000001043d2a80: .inst 0x03aa865f ; undefined
0x00000001043d2a84: udf #1
;; L_ok:
0x00000001043d2a88: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043d2a8c: ldr xzr, [x1]
;; check_receiver {
0x00000001043d2a90: ldr w10, [x1, #8]
0x00000001043d2a94: eor x10, x10, #0x400000000000
0x00000001043d2a98: ldr w11, [x5, #24]
0x00000001043d2a9c: lsl x11, x11, #3
;; verify_klass {
0x00000001043d2aa0: cbz x11, 0x00000001043d2ad8
0x00000001043d2aa4: stp x8, x9, [sp, #-16]!
0x00000001043d2aa8: ldr w9, [x11, #8]
0x00000001043d2aac: eor x9, x9, #0x400000000000
0x00000001043d2ab0: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d2ab4: ldr x8, [x8, #1064]
0x00000001043d2ab8: cmp x9, x8
0x00000001043d2abc: b.eq 0x00000001043d2ae4 // b.none
0x00000001043d2ac0: ldr x9, [x9, #64]
0x00000001043d2ac4: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d2ac8: ldr x8, [x8, #1064]
0x00000001043d2acc: cmp x9, x8
0x00000001043d2ad0: b.eq 0x00000001043d2ae4 // b.none
0x00000001043d2ad4: ldp x8, x9, [sp], #16
;; MH argument is a Class
0x00000001043d2ad8: dcps1 #0xdeae
0x00000001043d2adc: .inst 0x03aa81bf ; undefined
0x00000001043d2ae0: udf #1
;; L_ok:
0x00000001043d2ae4: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043d2ae8: ldr x11, [x11, #16]
0x00000001043d2aec: cmp x10, x11
0x00000001043d2af0: b.eq 0x00000001043d2b70 // b.none
0x00000001043d2af4: ldr w14, [x11, #24]
0x00000001043d2af8: ldr x8, [x10, x14]
0x00000001043d2afc: cmp x11, x8
0x00000001043d2b00: b.eq 0x00000001043d2b70 // b.none
0x00000001043d2b04: cmp x14, #0x28
0x00000001043d2b08: b.ne 0x00000001043d2b6c // b.any
;; check_klass_subtype_slow_path
0x00000001043d2b0c: stp x0, x2, [sp, #-32]!
0x00000001043d2b10: stp x5, xzr, [sp, #16]
0x00000001043d2b14: mov x0, x11
;; 0x103D01C40
0x00000001043d2b18: mov x9, #0x1c40 // #7232
; {external_word}
0x00000001043d2b1c: movk x9, #0x3d0, lsl #16
0x00000001043d2b20: movk x9, #0x1, lsl #32
0x00000001043d2b24: ldr w8, [x9]
0x00000001043d2b28: add w8, w8, #0x1
0x00000001043d2b2c: str w8, [x9]
0x00000001043d2b30: ldr x5, [x10, #48]
0x00000001043d2b34: ldr w2, [x5]
0x00000001043d2b38: add x5, x5, #0x8
0x00000001043d2b3c: cmp sp, xzr
0x00000001043d2b40: cbz x2, 0x00000001043d2b58
0x00000001043d2b44: ldr x8, [x5], #8
0x00000001043d2b48: cmp x0, x8
0x00000001043d2b4c: b.eq 0x00000001043d2b58 // b.none
0x00000001043d2b50: sub x2, x2, #0x1
0x00000001043d2b54: cbnz x2, 0x00000001043d2b44
0x00000001043d2b58: ldp x5, xzr, [sp, #16]
0x00000001043d2b5c: ldp x0, x2, [sp], #32
0x00000001043d2b60: b.ne 0x00000001043d2b6c // b.any
0x00000001043d2b64: str x11, [x10, #40]
0x00000001043d2b68: b 0x00000001043d2b70
0x00000001043d2b6c: hlt #0x0
;; } check_receiver
0x00000001043d2b70: ldr w12, [x5, #36]
0x00000001043d2b74: lsl x12, x12, #3
0x00000001043d2b78: ldr x12, [x12, #16]
0x00000001043d2b7c: cbz x12, 0x00000001043d2b88
0x00000001043d2b80: ldr x8, [x12, #88]
0x00000001043d2b84: br x8
0x00000001043d2b88: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d2b8c: add x8, x8, #0x900
0x00000001043d2b90: br x8
[Stub Code]
0x00000001043d2b94: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 456 34 n java.lang.invoke.MethodHandle::linkToStatic(LL)V (native)
total in heap [0x00000001043d4c08,0x00000001043d4db0] = 424
relocation [0x00000001043d4cf0,0x00000001043d4d08] = 24
main code [0x00000001043d4d40,0x00000001043d4db0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x00000001187ffe98} '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)
0x00000001043d4d40: nop
;; verify_klass {
0x00000001043d4d44: cbz x2, 0x00000001043d4d7c
0x00000001043d4d48: stp x8, x9, [sp, #-16]!
0x00000001043d4d4c: ldr w9, [x2, #8]
0x00000001043d4d50: eor x9, x9, #0x400000000000
0x00000001043d4d54: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d4d58: ldr x8, [x8, #1528]
0x00000001043d4d5c: cmp x9, x8
0x00000001043d4d60: b.eq 0x00000001043d4d88 // b.none
0x00000001043d4d64: ldr x9, [x9, #64]
0x00000001043d4d68: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d4d6c: ldr x8, [x8, #1528]
0x00000001043d4d70: cmp x9, x8
0x00000001043d4d74: b.eq 0x00000001043d4d88 // b.none
0x00000001043d4d78: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043d4d7c: dcps1 #0xdeae
0x00000001043d4d80: .inst 0x03aa865f ; undefined
0x00000001043d4d84: udf #1
;; L_ok:
0x00000001043d4d88: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043d4d8c: ldr w12, [x2, #36]
0x00000001043d4d90: lsl x12, x12, #3
0x00000001043d4d94: ldr x12, [x12, #16]
0x00000001043d4d98: cbz x12, 0x00000001043d4da4
0x00000001043d4d9c: ldr x8, [x12, #88]
0x00000001043d4da0: br x8
0x00000001043d4da4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d4da8: add x8, x8, #0x900
0x00000001043d4dac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 468 35 n java.lang.invoke.MethodHandle::linkToStatic(IL)I (native)
total in heap [0x00000001043d4f08,0x00000001043d50b0] = 424
relocation [0x00000001043d4ff0,0x00000001043d5008] = 24
main code [0x00000001043d5040,0x00000001043d50b0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x0000000118768228} '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)
0x00000001043d5040: nop
;; verify_klass {
0x00000001043d5044: cbz x2, 0x00000001043d507c
0x00000001043d5048: stp x8, x9, [sp, #-16]!
0x00000001043d504c: ldr w9, [x2, #8]
0x00000001043d5050: eor x9, x9, #0x400000000000
0x00000001043d5054: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d5058: ldr x8, [x8, #1528]
0x00000001043d505c: cmp x9, x8
0x00000001043d5060: b.eq 0x00000001043d5088 // b.none
0x00000001043d5064: ldr x9, [x9, #64]
0x00000001043d5068: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d506c: ldr x8, [x8, #1528]
0x00000001043d5070: cmp x9, x8
0x00000001043d5074: b.eq 0x00000001043d5088 // b.none
0x00000001043d5078: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043d507c: dcps1 #0xdeae
0x00000001043d5080: .inst 0x03aa865f ; undefined
0x00000001043d5084: udf #1
;; L_ok:
0x00000001043d5088: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043d508c: ldr w12, [x2, #36]
0x00000001043d5090: lsl x12, x12, #3
0x00000001043d5094: ldr x12, [x12, #16]
0x00000001043d5098: cbz x12, 0x00000001043d50a4
0x00000001043d509c: ldr x8, [x12, #88]
0x00000001043d50a0: br x8
0x00000001043d50a4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d50a8: add x8, x8, #0x900
0x00000001043d50ac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
Compiled method (n/a) 482 36 n java.lang.invoke.MethodHandle::linkToStatic(LLLLL)I (native)
total in heap [0x00000001043d7908,0x00000001043d7ab0] = 424
relocation [0x00000001043d79f0,0x00000001043d7a08] = 24
main code [0x00000001043d7a40,0x00000001043d7ab0] = 112
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Verified Entry Point]
# {method} {0x000000011872db68} '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)
0x00000001043d7a40: nop
;; verify_klass {
0x00000001043d7a44: cbz x5, 0x00000001043d7a7c
0x00000001043d7a48: stp x8, x9, [sp, #-16]!
0x00000001043d7a4c: ldr w9, [x5, #8]
0x00000001043d7a50: eor x9, x9, #0x400000000000
0x00000001043d7a54: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d7a58: ldr x8, [x8, #1528]
0x00000001043d7a5c: cmp x9, x8
0x00000001043d7a60: b.eq 0x00000001043d7a88 // b.none
0x00000001043d7a64: ldr x9, [x9, #64]
0x00000001043d7a68: adrp x8, 0x0000000103d1b000 ; {external_word}
0x00000001043d7a6c: ldr x8, [x8, #1528]
0x00000001043d7a70: cmp x9, x8
0x00000001043d7a74: b.eq 0x00000001043d7a88 // b.none
0x00000001043d7a78: ldp x8, x9, [sp], #16
;; MemberName required for invokeVirtual etc.
0x00000001043d7a7c: dcps1 #0xdeae
0x00000001043d7a80: .inst 0x03aa865f ; undefined
0x00000001043d7a84: udf #1
;; L_ok:
0x00000001043d7a88: ldp x8, x9, [sp], #16
;; } verify_klass
0x00000001043d7a8c: ldr w12, [x5, #36]
0x00000001043d7a90: lsl x12, x12, #3
0x00000001043d7a94: ldr x12, [x12, #16]
0x00000001043d7a98: cbz x12, 0x00000001043d7aa4
0x00000001043d7a9c: ldr x8, [x12, #88]
0x00000001043d7aa0: br x8
0x00000001043d7aa4: adrp x8, 0x000000010438f000 ; {runtime_call AbstractMethodError throw_exception}
0x00000001043d7aa8: add x8, x8, #0x900
0x00000001043d7aac: br x8
--------------------------------------------------------------------------------
[/Disassembly]
============================= C2-compiled nmethod ==============================
#r020 c_rarg1:c_rarg1 : parm 0: java/lang/AbstractStringBuilder (java/lang/CharSequence,java/lang/Appendable):NotNull *
# -- Old r31_sp -- Framesize: 80 --
#r223 r31_sp+76: in_preserve
#r222 r31_sp+72: return address
#r221 r31_sp+68: in_preserve
#r220 r31_sp+64: saved fp register
#r219 r31_sp+60: pad2, stack alignment
#r218 r31_sp+56: pad2, stack alignment
#r217 r31_sp+52: Fixed slot 1
#r216 r31_sp+48: Fixed slot 0
#r235 r31_sp+44: spill
#r234 r31_sp+40: spill
#r233 r31_sp+36: spill
#r232 r31_sp+32: spill
#r231 r31_sp+28: spill
#r230 r31_sp+24: spill
#r229 r31_sp+20: spill
#r228 r31_sp+16: spill
#r227 r31_sp+12: spill
#r226 r31_sp+ 8: spill
#r225 r31_sp+ 4: spill
#r224 r31_sp+ 0: spill
#
----------------------- MetaData before Compile_id = 37 ------------------------
{method}
- this oop: 0x00000001180dc2e8
- method holder: 'java/lang/AbstractStringBuilder'
- constants: 0x00000001180d8ec0 constant pool [613]/operands[14] {0x00000001180d8ec0} for 'java/lang/AbstractStringBuilder' cache=0x000000011830d4f0
- access: 0x2 private
- flags: 0x4080 queued_for_compilation has_loops_flag_init
- name: 'appendNull'
- signature: '()Ljava/lang/AbstractStringBuilder;'
- max stack: 7
- max locals: 3
- size of params: 1
- method size: 14
- vtable index: -2
- i2i entry: 0x00000001042c0980
- adapters: AHE at 0x0000600003025d20: 0xb i2c: 0x000000010438eb00 c2i: 0x000000010438eb60 c2iUV: 0x000000010438eb2c c2iNCI: 0x000000010438eb9c
- compiled entry 0x000000010438eb60
- code size: 75
- code start: 0x00000001180dc268
- code end (excl): 0x00000001180dc2b3
- method data: 0x0000000118806518
- checked ex length: 0
- linenumber start: 0x00000001180dc2b3
- localvar length: 3
- localvar start: 0x00000001180dc2c2
------------------------ OptoAssembly for Compile_id = 37 -----------------------
#
# java/lang/AbstractStringBuilder (java/lang/CharSequence,java/lang/Appendable) * ( java/lang/AbstractStringBuilder (java/lang/CharSequence,java/lang/Appendable):NotNull * )
#
000 N451: # out( B1 ) <- BLOCK HEAD IS JUNK Freq: 1
000 # MachUEPNode
ldrw rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass
ldrw r10, [rscratch2 + CompiledICData::speculated_klass_offset()] # compressed klass
cmpw rscratch1, r10
bne, SharedRuntime::_ic_miss_stub
020 B1: # out( B37 B2 ) <- BLOCK HEAD IS JUNK Freq: 1
020 # stack bang size=80
sub sp, sp, #80
stp rfp, lr, [sp, #64]
ldr rscratch1, [guard]
dmb ishld
ldr rscratch2, [rthread, #thread_disarmed_guard_value_offset]
cmp rscratch1, rscratch2
b.eq skip
blr #nmethod_entry_barrier_stub
b skip
guard: int
skip:
060 ldrw R10, [R1, #20] # compressed ptr ! Field: java/lang/AbstractStringBuilder.value
064 + spill R1 -> R19 # spill size = 64
068 + decode_heap_oop R14, R10
06c ldrw R15, [R14, #12] # range
070 NullCheck R14
070 B2: # out( B6 B3 ) <- in( B1 ) Freq: 0.999999
070 + ldrsbw R12, [R1, #16] # byte ! Field: java/lang/AbstractStringBuilder.coder
074 + ldrw R17, [R1, #12] # int ! Field: java/lang/AbstractStringBuilder.count
078 + asrvw R11, R15, R12
07c subw R13, R17, R11
080 + addw R11, R13, #4
084 addw R13, R17, #4
088 + cmpw R11, #0
08c bgt B6 P=0.152733 C=19701.000000
090 B3: # out( B32 B4 ) <- in( B19 B2 ) Freq: 0.999996
090 + decode_heap_oop R10, R10
094 cbweq R12, B32 P=0.000000 C=6861.000000
098 B4: # out( B31 B5 ) <- in( B3 ) Freq: 0.999995
098 + mov R11, #110 # int
09c cbeq R10, B31 P=0.000001 C=-1.000000
0a0 B5: # out( N451 ) <- in( B4 ) Freq: 0.999994
0a0 + add R10, R10, R17, I2L #1 # ptr
0a4 + strh R11, [R10, #16] # short
0a8 mov R11, #117 # int
0ac + mov R12, #108 # int
0b0 strh R11, [R10, #18] # short
0b4 + strh R12, [R10, #20] # short
0b8 + strh R12, [R10, #22] # short
0bc + strw R13, [R19, #12] # int ! Field: java/lang/AbstractStringBuilder.count
0c0 spill R19 -> R0 # spill size = 64
0c4 + # pop frame 80
ldp lr, rfp, [sp,#64]
add sp, sp, #80
# test polling word
ldr rscratch1, [rthread],#1168
cmp sp, rscratch1
bhi #slow_path
0d8 + ret // return register
0dc B6: # out( B39 B7 ) <- in( B2 ) Freq: 0.152733
0dc + spill R15 -> [sp, #0] # spill size = 32
0e0 + spill R13 -> [sp, #4] # spill size = 32
0e0 + spill R14 -> [sp, #8] # spill size = 64
0e4 + spill R17 -> [sp, #20] # spill size = 32
0e8 + spill R1 -> R29 # spill size = 64
0ec + spill R13 -> R2 # spill size = 32
0f0 call,static 0x000000010438a180 // ==> java.lang.AbstractStringBuilder::newCapacity
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:24 (line 246) L[0]=R29 L[1]=_ L[2]=_ STK[0]=R29 STK[1]=r31_sp + #8
# java.lang.AbstractStringBuilder::appendNull @ bci:9 (line 639) L[0]=R29 L[1]=r31_sp + #20 L[2]=_
# OopMap {rfp=Oop [8]=Oop off=244/0xf4}
100 B7: # out( B36 B8 ) <- in( B6 ) Freq: 0.15273
# Block is sole successor of call
100 + spill R29 -> R19 # spill size = 64
104 + ldrsbw R10, [R19, #16] # byte ! Field: java/lang/AbstractStringBuilder.coder
108 + lslvw R14, R0, R10
10c spill [sp, #0] -> R11 # spill size = 32
110 + cmpw R11, R14
114 + cselw R29, R11, R14 lt
118 + cmpw R14, R11
11c beq B36 P=0.000000 C=3020.000000
120 B8: # out( B34 B9 ) <- in( B7 ) Freq: 0.15273
120 + spill R14 -> R12 # spill size = 32
124 + mov R10, #23 # long
128 # castII of R12
128 add R12, R10, R12, sxtw
12c + cmpw R11, R29 # unsigned
130 blo B34 # unsigned P=0.000001 C=-1.000000
134 B9: # out( B34 B10 ) <- in( B8 ) Freq: 0.15273
134 + cmpw R14, R29 # unsigned
138 blo B34 # unsigned P=0.000001 C=-1.000000
13c B10: # out( B29 B11 ) <- in( B9 ) Freq: 0.15273
13c + and R13, R12, #-8 # int
140 + cmpw R14, #1048576 # unsigned
144 bhi B29 # unsigned P=0.000001 C=-1.000000
148 B11: # out( B29 B12 ) <- in( B10 ) Freq: 0.15273
148 + -- // R28=Thread::current(), empty
148 ldr R20, [R28, #456] # ptr
14c + -- // R28=Thread::current(), empty
14c ldr R11, [R28, #472] # ptr
150 + add R10, R20, R13 # ptr
154 + cmp R10, R11 // ptr
158 bhs B29 # unsigned P=0.000100 C=-1.000000
15c B12: # out( B13 ) <- in( B11 ) Freq: 0.152714
15c + -- // R28=Thread::current(), empty
15c mov R11, #1 # long
160 str R10, [R28, #456] # ptr
164 + str R11, [R20] # int
168 + mov R11, narrowklass: precise [byte (java/lang/Cloneable,java/io/Serializable): :Constant:exact * # compressed klass ptr
170 prfm [R10, #384], PSTL1KEEP # Prefetch into level 1 cache write keep
174 + strw R11, [R20, #8] # compressed klass ptr
178 + prfm [R10, #512], PSTL1KEEP # Prefetch into level 1 cache write keep
17c + strw R14, [R20, #12] # int
180 + prfm [R10, #640], PSTL1KEEP # Prefetch into level 1 cache write keep
184 B13: # out( B33 B14 ) <- in( B30 B12 ) Freq: 0.15273
184
184 + # checkcastPP of R20
184 lsr R11, R12, (#3 & 0x3f)
188 add R1, R20, #16 # ptr
18c + encode_heap_oop_not_null R21, R20
1a0 cbweq R29, B33 P=0.000001 C=-1.000000
1a4 B14: # out( B20 B15 ) <- in( B13 ) Freq: 0.15273
1a4 + spill [sp, #8] -> R10 # spill size = 64
1a8 + add R0, R10, #16 # ptr
1ac + cmpw R29, R14
1b0 blt B20 P=0.001000 C=-1.000000
1b4 B15: # out( B16 ) <- in( B14 ) Freq: 0.152577
1b4 + add R10, R13, #-16
1b8 + lsr R2, R10, (#3 & 0x3f)
1bc CALL, runtime leaf nofp 0x0000000104317480 jlong_disjoint_arraycopy
No JVM State Info
#
1cc B16: # out( B21 B17 ) <- in( B20 B15 B33 ) Freq: 0.15273
1cc MEMBAR-store-store
1d0 + -- // R28=Thread::current(), empty
1d0 ldrsbw R10, [R28, #56] # byte
1d4 cbwne R10, B21 P=0.001000 C=-1.000000
1d8 B17: # out( B19 B18 ) <- in( B35 B23 B21 B16 ) Freq: 0.15273
1d8 + mov R10, R19 # ptr -> long
1dc mov R11, R20 # ptr -> long
1e0 + eor R11, R11, R10 # int
1e4 + lsr R11, R11, (#23 & 0x3f)
1e8 + strw R21, [R19, #20] # compressed ptr ! Field: java/lang/AbstractStringBuilder.value
1ec cbeq R11, B19 P=0.001000 C=-1.000000
1f0 B18: # out( B24 B19 ) <- in( B17 ) Freq: 0.152577
1f0 + lsr R10, R10, (#9 & 0x3f)
1f4 + adr R11, 0x00000001072b8000 # Byte Map Base
200 add R0, R11, R10 # ptr
204 + ldrsbw R10, [R0] # byte
208 + cmpw R10, #2
20c bne B24 P=0.001000 C=-1.000000
210 B19: # out( B3 ) <- in( B28 B18 B17 ) Freq: 0.15273
210 + ldrsbw R12, [R19, #16] # byte ! Field: java/lang/AbstractStringBuilder.coder
214 encode_heap_oop R10, R20
218 spill [sp, #4] -> R13 # spill size = 32
21c + spill [sp, #20] -> R17 # spill size = 32
220 + b B3
224 B20: # out( B16 ) <- in( B14 ) Freq: 0.00015273
224 + sxtw R2, R29 # i2l
228 + add R12, R2, #16
22c + and R10, R12, #-8 # int
230 + add R10, R20, R10 # ptr
234 sub R11, R11, R12, LSR #3
238 ClearArray R11, R10
260 + CALL, runtime leaf nofp 0x00000001043167c0 arrayof_jbyte_disjoint_arraycopy
No JVM State Info
#
270 + b B16
274 B21: # out( B17 B22 ) <- in( B16 ) Freq: 0.000152728
274 + ldrw R11, [R19, #20] # compressed ptr ! Field: java/lang/AbstractStringBuilder.value
278 + decode_heap_oop R0, R11
27c cbeq R0, B17 P=0.500000 C=-1.000000
280 B22: # out( B35 B23 ) <- in( B21 ) Freq: 7.63639e-05
280 + -- // R28=Thread::current(), empty
280 ldr R10, [R28, #40] # int
284 cbeq R10, B35 P=0.001000 C=-1.000000
288 B23: # out( B17 ) <- in( B22 ) Freq: 7.62875e-05
288 + -- // R28=Thread::current(), empty
288 ldr R11, [R28, #48] # ptr
28c + add R12, R10, #-8
290 + add R10, R11, R10 # ptr
294 str R0, [R10, #-8] # ptr
298 + -- // R28=Thread::current(), empty
298 str R12, [R28, #40] # int
29c b B17
2a0 B24: # out( B28 B25 ) <- in( B18 ) Freq: 0.000152577
2a0 + -- // R28=Thread::current(), empty
2a0 ldr R10, [R28, #72] # ptr
2a4 + -- // R28=Thread::current(), empty
2a4 ldr R11, [R28, #64] # int
2a4 + membar_volatile
dmb ish
2a8 + ldrsbw R12, [R0] # byte
2ac cbweq R12, B28 P=0.500000 C=-1.000000
2b0 B25: # out( B27 B26 ) <- in( B24 ) Freq: 7.62885e-05
2b0 + storestore (elided)
strb zr, [R0] # byte
2b4 cbeq R11, B27 P=0.500000 C=-1.000000
2b8 B26: # out( B28 ) <- in( B25 ) Freq: 3.81443e-05
2b8 + add R12, R11, #-8
2bc + add R10, R10, R11 # ptr
2c0 str R0, [R10, #-8] # ptr
2c4 + -- // R28=Thread::current(), empty
2c4 str R12, [R28, #64] # int
2c8 b B28
2cc B27: # out( B28 ) <- in( B25 ) Freq: 3.81443e-05
2cc + -- // R28=Thread::current(), empty
2cc spill R28 -> R1 # spill size = 64
2d0 + CALL, runtime leaf 0x0000000102c36b34 write_ref_field_post_entry
No JVM State Info
#
2f8 B28: # out( B19 ) <- in( B27 B26 B24 ) Freq: 0.000152577
2f8 ldrw R11, [R19, #20] # compressed ptr ! Field: java/lang/AbstractStringBuilder.value
2fc + decode_heap_oop R10, R11
300 spill R10 -> R20 # spill size = 64
304 + b B19
308 B29: # out( B38 B30 ) <- in( B10 B11 ) Freq: 1.54303e-05
308 + spill R14 -> [sp, #0] # spill size = 32
30c + spill R19 -> [sp, #24] # spill size = 64
310 + spill R12 -> [sp, #32] # spill size = 64
310 + spill R13 -> [sp, #40] # spill size = 64
314 + mov R1, precise [byte (java/lang/Cloneable,java/io/Serializable): :Constant:exact * # ptr
320 spill R14 -> R2 # spill size = 32
324 call,static 0x00000001043aa000 // ==> wrapper for: _new_array_nozero_Java
# java.util.Arrays::copyOf @ bci:15 (line 3540) L[0]=r31_sp + #8 L[1]=r31_sp + #0 L[2]=_
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:32 (line 245) L[0]=_ L[1]=_ L[2]=_ STK[0]=r31_sp + #24
# java.lang.AbstractStringBuilder::appendNull @ bci:9 (line 639) L[0]=r31_sp + #24 L[1]=r31_sp + #20 L[2]=_
# OopMap {[8]=Oop [24]=Oop off=808/0x328}
334 B30: # out( B13 ) <- in( B29 ) Freq: 1.54299e-05
# Block is sole successor of call
334 + spill [sp, #0] -> R14 # spill size = 32
338 + spill [sp, #24] -> R19 # spill size = 64
33c + spill R0 -> R20 # spill size = 64
340 + spill [sp, #32] -> R12 # spill size = 64
344 + spill [sp, #40] -> R13 # spill size = 64
344 + b B13
348 B31: # out( N451 ) <- in( B4 ) Freq: 1.01327e-06
348 ShouldNotReachHere
354 B32: # out( N451 ) <- in( B3 ) Freq: 4.76835e-07
354 + cmpw R12, #0
358 + csincw R29, zr, zr ne # signed, int
35c mov R1, #-187 # int
360 spill R19 -> [sp, #0] # spill size = 64
364 + spill R17 -> [sp, #8] # spill size = 32
368 + spill R10 -> [sp, #16] # spill size = 64
36c call,static 0x0000000104390f80 // ==> wrapper for: uncommon_trap(reason='unstable_if' action='reinterpret' debug_id='0')
# java.lang.AbstractStringBuilder::appendNull @ bci:21 (line 641) L[0]=r31_sp + #0 L[1]=r31_sp + #8 L[2]=r31_sp + #16 STK[0]=R29
# OopMap {[0]=Oop [16]=Oop off=880/0x370}
37c ShouldNotReachHere
388 B33: # out( B16 ) <- in( B13 ) Freq: 1.54758e-07
388 + spill R1 -> R10 # spill size = 64
38c + add R11, R11, #-2
390 ClearArray R11, R10
3b8
3b8 + b B16
3bc B34: # out( N451 ) <- in( B8 B9 ) Freq: 3.0546e-07
3bc + mov R1, #-52 # int
3c0 spill R19 -> [sp, #0] # spill size = 64
3c4 + spill R14 -> [sp, #16] # spill size = 32
3c8 call,static 0x0000000104390f80 // ==> wrapper for: uncommon_trap(reason='intrinsic_or_type_checked_inlining' action='make_not_entrant' debug_id='0')
# java.util.Arrays::copyOf @ bci:15 (line 3540) L[0]=r31_sp + #8 L[1]=r31_sp + #16 L[2]=_ STK[0]=r31_sp + #16
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:32 (line 245) L[0]=_ L[1]=_ L[2]=_ STK[0]=r31_sp + #0
# java.lang.AbstractStringBuilder::appendNull @ bci:9 (line 639) L[0]=r31_sp + #0 L[1]=r31_sp + #20 L[2]=_
# OopMap {[0]=Oop [8]=Oop off=972/0x3cc}
3d8 ShouldNotReachHere
3e4 B35: # out( B17 ) <- in( B22 ) Freq: 7.63629e-08
3e4 + -- // R28=Thread::current(), empty
3e4 spill R28 -> R1 # spill size = 64
3e8 + CALL, runtime leaf 0x0000000102c368a8 write_ref_field_pre_entry
No JVM State Info
#
410 + b B17
414 B36: # out( N451 ) <- in( B7 ) Freq: 7.28274e-08
414 + mov R1, #-187 # int
418 spill R19 -> [sp, #0] # spill size = 64
41c + spill R11 -> [sp, #16] # spill size = 32
420 + spill R14 -> [sp, #24] # spill size = 32
424 call,static 0x0000000104390f80 // ==> wrapper for: uncommon_trap(reason='unstable_if' action='reinterpret' debug_id='0')
# java.util.Arrays::copyOf @ bci:3 (line 3537) L[0]=r31_sp + #8 L[1]=_ L[2]=_ STK[0]=r31_sp + #24 STK[1]=r31_sp + #16
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:32 (line 245) L[0]=_ L[1]=_ L[2]=_ STK[0]=r31_sp + #0
# java.lang.AbstractStringBuilder::appendNull @ bci:9 (line 639) L[0]=r31_sp + #0 L[1]=r31_sp + #20 L[2]=_
# OopMap {[0]=Oop [8]=Oop off=1064/0x428}
434 ShouldNotReachHere
440 B37: # out( N451 ) <- in( B1 ) Freq: 1.01328e-06
440 + mov R1, #-10 # int
444 call,static 0x0000000104390f80 // ==> wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile' debug_id='0')
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:4 (line 243) L[0]=_ L[1]=_ L[2]=_ STK[0]=#null
# java.lang.AbstractStringBuilder::appendNull @ bci:9 (line 639) L[0]=_ L[1]=_ L[2]=_
# OopMap {off=1096/0x448}
454 ShouldNotReachHere
460 B38: # out( B40 ) <- in( B29 ) Freq: 1.54303e-10
460 -- // exception oop; no code emitted
460 + spill R0 -> R1 # spill size = 64
464 + b B40
468 B39: # out( B40 ) <- in( B6 ) Freq: 1.52733e-06
468 -- // exception oop; no code emitted
468 + spill R0 -> R1 # spill size = 64
46c B40: # out( N451 ) <- in( B39 B38 ) Freq: 1.52749e-06
46c # pop frame 80
ldp lr, rfp, [sp,#64]
add sp, sp, #80
474 + b rethrow_stub
--------------------------------------------------------------------------------
----------------------------------- Assembly -----------------------------------
Compiled method (c2) 495 37 java.lang.AbstractStringBuilder::appendNull (75 bytes)
total in heap [0x00000001043dd808,0x00000001043ddf48] = 1856
relocation [0x00000001043dd8f0,0x00000001043dd990] = 160
main code [0x00000001043dd9c0,0x00000001043dde70] = 1200
stub code [0x00000001043dde70,0x00000001043ddf10] = 160
metadata [0x00000001043ddf10,0x00000001043ddf48] = 56
immutable data [0x000000013f00a010,0x000000013f00a498] = 1160
dependencies [0x000000013f00a010,0x000000013f00a020] = 16
nul chk table [0x000000013f00a020,0x000000013f00a030] = 16
handler table [0x000000013f00a030,0x000000013f00a060] = 48
scopes pcs [0x000000013f00a060,0x000000013f00a340] = 736
scopes data [0x000000013f00a340,0x000000013f00a498] = 344
[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Instructions begin]
;; N451: # out( B1 ) <- BLOCK HEAD IS JUNK Freq: 1
0x00000001043dd9c0: nop
[Entry Point]
# {method} {0x00000001180dc2e8} 'appendNull' '()Ljava/lang/AbstractStringBuilder;' in 'java/lang/AbstractStringBuilder'
# [sp+0x50] (sp of caller)
0x00000001043dd9c4: ldr w8, [x1, #8]
0x00000001043dd9c8: ldr w10, [x9, #8]
0x00000001043dd9cc: cmp w8, w10
0x00000001043dd9d0: b.eq 0x00000001043dd9e0 // b.none
0x00000001043dd9d4: adrp x8, 0x0000000104389000 ; {runtime_call ic_miss_stub}
0x00000001043dd9d8: add x8, x8, #0xe80
0x00000001043dd9dc: br x8
[Verified Entry Point]
;; B1: # out( B37 B2 ) <- BLOCK HEAD IS JUNK Freq: 1
0x00000001043dd9e0: nop
0x00000001043dd9e4: sub x9, sp, #0x1c, lsl #12
0x00000001043dd9e8: str xzr, [x9]
0x00000001043dd9ec: sub sp, sp, #0x50
0x00000001043dd9f0: stp x29, x30, [sp, #64]
0x00000001043dd9f4: ldrb w8, [x28, #1200]
0x00000001043dd9f8: cbz x8, 0x00000001043dda10
;; 0x102E6B164
0x00000001043dd9fc: mov x8, #0xb164 // #45412
; {external_word}
0x00000001043dda00: movk x8, #0x2e6, lsl #16
0x00000001043dda04: movk x8, #0x1, lsl #32
0x00000001043dda08: mov x0, x28
0x00000001043dda0c: blr x8
0x00000001043dda10: ldr w8, 0x00000001043dde68
0x00000001043dda14: ldr w9, [x28, #32]
0x00000001043dda18: cmp x8, x9
0x00000001043dda1c: b.ne 0x00000001043dde54 // b.any;*synchronization entry
; - java.lang.AbstractStringBuilder::appendNull at -1 (line 638)
0x00000001043dda20: ldr w10, [x1, #20]
0x00000001043dda24: mov x19, x1
0x00000001043dda28: lsl x14, x10, #3 ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 1 (line 243)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
0x00000001043dda2c: ldr w15, [x14, #12] ; implicit exception: dispatches to 0x00000001043dde00
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 243)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B2: # out( B6 B3 ) <- in( B1 ) Freq: 0.999999
0x00000001043dda30: ldrsb w12, [x1, #16] ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 6 (line 243)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
0x00000001043dda34: ldr w17, [x1, #12] ;*getfield count {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 1 (line 638)
0x00000001043dda38: asr w11, w15, w12
0x00000001043dda3c: sub w13, w17, w11
0x00000001043dda40: add w11, w13, #0x4
0x00000001043dda44: add w13, w17, #0x4 ;*iadd {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 8 (line 639)
0x00000001043dda48: cmp w11, #0x0
0x00000001043dda4c: b.gt 0x00000001043dda9c
;; B3: # out( B32 B4 ) <- in( B19 B2 ) Freq: 0.999996
0x00000001043dda50: lsl x10, x10, #3 ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
0x00000001043dda54: cbz w12, 0x00000001043ddd14 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 21 (line 641)
;; B4: # out( B31 B5 ) <- in( B3 ) Freq: 0.999995
;; 0x6E
0x00000001043dda58: mov w11, #0x6e // #110
0x00000001043dda5c: cbz x10, 0x00000001043ddd08
;; B5: # out( N451 ) <- in( B4 ) Freq: 0.999994
0x00000001043dda60: add x10, x10, w17, sxtw #1
0x00000001043dda64: 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 647)
;; 0x75
0x00000001043dda68: mov w11, #0x75 // #117
;; 0x6C
0x00000001043dda6c: mov w12, #0x6c // #108
0x00000001043dda70: 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 647)
0x00000001043dda74: 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 647)
0x00000001043dda78: 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 647)
0x00000001043dda7c: str w13, [x19, #12] ;*synchronization entry
; - java.lang.AbstractStringBuilder::appendNull at -1 (line 638)
0x00000001043dda80: mov x0, x19
0x00000001043dda84: ldp x29, x30, [sp, #64]
0x00000001043dda88: add sp, sp, #0x50
0x00000001043dda8c: ldr x8, [x28, #1168] ; {poll_return}
0x00000001043dda90: cmp sp, x8
0x00000001043dda94: b.hi 0x00000001043dde40 // b.pmore
0x00000001043dda98: ret
;; B6: # out( B39 B7 ) <- in( B2 ) Freq: 0.152733
;; merged str pair
0x00000001043dda9c: stp w15, w13, [sp]
0x00000001043ddaa0: str x14, [sp, #8]
0x00000001043ddaa4: str w17, [sp, #20]
0x00000001043ddaa8: mov x29, x1
0x00000001043ddaac: mov w2, w13
0x00000001043ddab0: bl 0x000000010438a180 ; ImmutableOopMap {rfp=Oop [8]=Oop }
;*invokevirtual newCapacity {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 246)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
; {optimized virtual_call}
0x00000001043ddab4: nop ; {other}
0x00000001043ddab8: movk xzr, #0x2ac
0x00000001043ddabc: movk xzr, #0x0 ;*invokevirtual newCapacity {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 246)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B7: # out( B36 B8 ) <- in( B6 ) Freq: 0.15273
0x00000001043ddac0: mov x19, x29
0x00000001043ddac4: ldrsb w10, [x19, #16]
0x00000001043ddac8: lsl w14, w0, w10 ;*ishl {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 31 (line 246)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
0x00000001043ddacc: ldr w11, [sp]
0x00000001043ddad0: cmp w11, w14
0x00000001043ddad4: 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
0x00000001043ddad8: cmp w14, w11
0x00000001043ddadc: b.eq 0x00000001043dddd4 // 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B8: # out( B34 B9 ) <- in( B7 ) Freq: 0.15273
0x00000001043ddae0: mov w12, w14
;; 0x17
0x00000001043ddae4: mov x10, #0x17 // #23
0x00000001043ddae8: 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
0x00000001043ddaec: cmp w11, w29
0x00000001043ddaf0: b.cc 0x00000001043ddd7c // b.lo, b.ul, b.last
;; B9: # out( B34 B10 ) <- in( B8 ) Freq: 0.15273
0x00000001043ddaf4: cmp w14, w29
0x00000001043ddaf8: b.cc 0x00000001043ddd7c // 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B10: # out( B29 B11 ) <- in( B9 ) Freq: 0.15273
0x00000001043ddafc: 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
0x00000001043ddb00: cmp w14, #0x100, lsl #12
0x00000001043ddb04: b.hi 0x00000001043ddcc8 // b.pmore
;; B11: # out( B29 B12 ) <- in( B10 ) Freq: 0.15273
0x00000001043ddb08: ldr x20, [x28, #456]
0x00000001043ddb0c: ldr x11, [x28, #472]
0x00000001043ddb10: add x10, x20, x13
0x00000001043ddb14: cmp x10, x11
0x00000001043ddb18: b.cs 0x00000001043ddcc8 // b.hs, b.nlast
;*putfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B12: # out( B13 ) <- in( B11 ) Freq: 0.152714
;; 0x1
0x00000001043ddb1c: orr x11, xzr, #0x1
0x00000001043ddb20: str x10, [x28, #456]
0x00000001043ddb24: str x11, [x20]
0x00000001043ddb28: mov x11, #0x40000 // #262144
; {metadata({type array byte})}
0x00000001043ddb2c: movk x11, #0xa50
0x00000001043ddb30: prfm pstl1keep, [x10, #384]
0x00000001043ddb34: str w11, [x20, #8]
0x00000001043ddb38: prfm pstl1keep, [x10, #512]
0x00000001043ddb3c: str w14, [x20, #12]
0x00000001043ddb40: 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B13: # out( B33 B14 ) <- in( B30 B12 ) Freq: 0.15273
0x00000001043ddb44: lsr x11, x12, #3
0x00000001043ddb48: add x1, x20, #0x10
0x00000001043ddb4c: cbnz x20, 0x00000001043ddb5c
;; null oop passed to encode_heap_oop_not_null2
0x00000001043ddb50: dcps1 #0xdeae
0x00000001043ddb54: .inst 0x03a96f55 ; undefined
0x00000001043ddb58: udf #1
0x00000001043ddb5c: lsr x21, x20, #3
0x00000001043ddb60: cbz w29, 0x00000001043ddd48
;; B14: # out( B20 B15 ) <- in( B13 ) Freq: 0.15273
0x00000001043ddb64: ldr x10, [sp, #8]
0x00000001043ddb68: add x0, x10, #0x10
0x00000001043ddb6c: cmp w29, w14
0x00000001043ddb70: b.lt 0x00000001043ddbe4 // b.tstop
;; B15: # out( B16 ) <- in( B14 ) Freq: 0.152577
0x00000001043ddb74: sub x10, x13, #0x10
0x00000001043ddb78: lsr x2, x10, #3
0x00000001043ddb7c: bl Stub::arrayof_jlong_disjoint_arraycopy
; {runtime_call StubRoutines (final stubs)}
0x00000001043ddb80: nop ; {other}
0x00000001043ddb84: movk xzr, #0x0
0x00000001043ddb88: movk xzr, #0x0
;; B16: # out( B21 B17 ) <- in( B20 B15 B33 ) Freq: 0.15273
0x00000001043ddb8c: dmb ishst
0x00000001043ddb90: ldrsb w10, [x28, #56]
0x00000001043ddb94: cbnz w10, 0x00000001043ddc34
;; B17: # out( B19 B18 ) <- in( B35 B23 B21 B16 ) Freq: 0.15273
0x00000001043ddb98: mov x10, x19
0x00000001043ddb9c: mov x11, x20
0x00000001043ddba0: eor x11, x11, x10
0x00000001043ddba4: lsr x11, x11, #23
0x00000001043ddba8: str w21, [x19, #20]
0x00000001043ddbac: cbz x11, 0x00000001043ddbd0
;; B18: # out( B24 B19 ) <- in( B17 ) Freq: 0.152577
0x00000001043ddbb0: lsr x10, x10, #9
;; 0x1072B8000
0x00000001043ddbb4: mov x11, #0x8000 // #32768
0x00000001043ddbb8: movk x11, #0x72b, lsl #16
0x00000001043ddbbc: movk x11, #0x1, lsl #32
0x00000001043ddbc0: add x0, x11, x10
0x00000001043ddbc4: ldrsb w10, [x0]
0x00000001043ddbc8: cmp w10, #0x2
0x00000001043ddbcc: b.ne 0x00000001043ddc60 // b.any;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
;; B19: # out( B3 ) <- in( B28 B18 B17 ) Freq: 0.15273
0x00000001043ddbd0: ldrsb w12, [x19, #16] ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::isLatin1 at 7 (line 1708)
; - java.lang.AbstractStringBuilder::appendNull at 18 (line 641)
0x00000001043ddbd4: lsr x10, x20, #3
0x00000001043ddbd8: ldr w13, [sp, #4]
0x00000001043ddbdc: ldr w17, [sp, #20]
0x00000001043ddbe0: b 0x00000001043dda50
;; B20: # out( B16 ) <- in( B14 ) Freq: 0.00015273
0x00000001043ddbe4: sxtw x2, w29
0x00000001043ddbe8: add x12, x2, #0x10
0x00000001043ddbec: and x10, x12, #0xfffffffffffffff8
0x00000001043ddbf0: add x10, x20, x10
0x00000001043ddbf4: sub x11, x11, x12, lsr #3
;; zero_words {
0x00000001043ddbf8: subs x8, x11, #0x8
0x00000001043ddbfc: b.cc 0x00000001043ddc04 // b.lo, b.ul, b.last
0x00000001043ddc00: bl Stub::zero_blocks ; {runtime_call StubRoutines (final stubs)}
0x00000001043ddc04: tbz w11, #2, 0x00000001043ddc10
0x00000001043ddc08: stp xzr, xzr, [x10], #16
0x00000001043ddc0c: stp xzr, xzr, [x10], #16
0x00000001043ddc10: tbz w11, #1, 0x00000001043ddc18
0x00000001043ddc14: stp xzr, xzr, [x10], #16
0x00000001043ddc18: tbz w11, #0, 0x00000001043ddc20
0x00000001043ddc1c: str xzr, [x10]
;; } zero_words
0x00000001043ddc20: bl Stub::arrayof_jbyte_disjoint_arraycopy
; {runtime_call StubRoutines (final stubs)}
0x00000001043ddc24: nop ; {other}
0x00000001043ddc28: movk xzr, #0x0
0x00000001043ddc2c: movk xzr, #0x0
0x00000001043ddc30: b 0x00000001043ddb8c
;; B21: # out( B17 B22 ) <- in( B16 ) Freq: 0.000152728
0x00000001043ddc34: ldr w11, [x19, #20]
0x00000001043ddc38: lsl x0, x11, #3
0x00000001043ddc3c: cbz x0, 0x00000001043ddb98
;; B22: # out( B35 B23 ) <- in( B21 ) Freq: 7.63639e-05
0x00000001043ddc40: ldr x10, [x28, #40]
0x00000001043ddc44: cbz x10, 0x00000001043ddda4
;; B23: # out( B17 ) <- in( B22 ) Freq: 7.62875e-05
0x00000001043ddc48: ldr x11, [x28, #48]
0x00000001043ddc4c: sub x12, x10, #0x8
0x00000001043ddc50: add x10, x11, x10
0x00000001043ddc54: stur x0, [x10, #-8]
0x00000001043ddc58: str x12, [x28, #40]
0x00000001043ddc5c: b 0x00000001043ddb98
;; B24: # out( B28 B25 ) <- in( B18 ) Freq: 0.000152577
;; merged ldr pair
0x00000001043ddc60: ldp x11, x10, [x28, #64]
;; membar_volatile
0x00000001043ddc64: dmb ish
0x00000001043ddc68: ldrsb w12, [x0]
0x00000001043ddc6c: cbz w12, 0x00000001043ddcb8
;; B25: # out( B27 B26 ) <- in( B24 ) Freq: 7.62885e-05
0x00000001043ddc70: strb wzr, [x0]
0x00000001043ddc74: cbz x11, 0x00000001043ddc8c
;; B26: # out( B28 ) <- in( B25 ) Freq: 3.81443e-05
0x00000001043ddc78: sub x12, x11, #0x8
0x00000001043ddc7c: add x10, x10, x11
0x00000001043ddc80: stur x0, [x10, #-8]
0x00000001043ddc84: str x12, [x28, #64]
0x00000001043ddc88: b 0x00000001043ddcb8
;; B27: # out( B28 ) <- in( B25 ) Freq: 3.81443e-05
0x00000001043ddc8c: mov x1, x28
0x00000001043ddc90: adr x9, 0x00000001043ddca8
;; 0x102C36B34
0x00000001043ddc94: mov x8, #0x6b34 // #27444
; {runtime_call G1BarrierSetRuntime::write_ref_field_post_entry(unsigned char volatile*, JavaThread*)}
0x00000001043ddc98: movk x8, #0x2c3, lsl #16
0x00000001043ddc9c: movk x8, #0x1, lsl #32
0x00000001043ddca0: stp xzr, x9, [sp, #-16]!
0x00000001043ddca4: blr x8
0x00000001043ddca8: nop ; {other}
0x00000001043ddcac: movk xzr, #0x0
0x00000001043ddcb0: movk xzr, #0x0
0x00000001043ddcb4: add sp, sp, #0x10 ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B28: # out( B19 ) <- in( B27 B26 B24 ) Freq: 0.000152577
0x00000001043ddcb8: ldr w11, [x19, #20]
0x00000001043ddcbc: lsl x10, x11, #3 ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
0x00000001043ddcc0: mov x20, x10
0x00000001043ddcc4: b 0x00000001043ddbd0
;; B29: # out( B38 B30 ) <- in( B10 B11 ) Freq: 1.54303e-05
0x00000001043ddcc8: str w14, [sp]
;; merged str pair
0x00000001043ddccc: stp x19, x12, [sp, #24]
0x00000001043ddcd0: str x13, [sp, #40]
;; 0x400000040A50
0x00000001043ddcd4: mov x1, #0xa50 // #2640
; {metadata({type array byte})}
0x00000001043ddcd8: movk x1, #0x4, lsl #16
0x00000001043ddcdc: movk x1, #0x4000, lsl #32
0x00000001043ddce0: mov w2, w14
0x00000001043ddce4: bl 0x00000001043aa000 ; 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
; {runtime_call _new_array_nozero_Java}
0x00000001043ddce8: nop ; {other}
0x00000001043ddcec: movk xzr, #0x4e0
0x00000001043ddcf0: 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B30: # out( B13 ) <- in( B29 ) Freq: 1.54299e-05
0x00000001043ddcf4: ldr w14, [sp]
0x00000001043ddcf8: ldr x19, [sp, #24]
0x00000001043ddcfc: mov x20, x0
;; merged ldr pair
0x00000001043ddd00: ldp x12, x13, [sp, #32]
0x00000001043ddd04: b 0x00000001043ddb44
;; B31: # out( N451 ) <- in( B4 ) Freq: 1.01327e-06
;; unexpected null in intrinsic
0x00000001043ddd08: dcps1 #0xdeae
0x00000001043ddd0c: .inst 0x03a1fca6 ; undefined
0x00000001043ddd10: udf #1 ;*invokestatic putChar {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringUTF16::putCharsAt at 3 (line 1552)
; - java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
;; B32: # out( N451 ) <- in( B3 ) Freq: 4.76835e-07
0x00000001043ddd14: cmp w12, #0x0 ;*invokevirtual isLatin1 {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 18 (line 641)
0x00000001043ddd18: cset w29, eq // eq = none ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::isLatin1 at 18 (line 1708)
; - java.lang.AbstractStringBuilder::appendNull at 18 (line 641)
;; 0xFFFFFF45
0x00000001043ddd1c: mov w1, #0xffffff45 // #-187
0x00000001043ddd20: str x19, [sp]
0x00000001043ddd24: str w17, [sp, #8]
0x00000001043ddd28: str x10, [sp, #16]
0x00000001043ddd2c: bl 0x0000000104390f80 ; ImmutableOopMap {[0]=Oop [16]=Oop }
;*ifeq {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) java.lang.AbstractStringBuilder::appendNull at 21 (line 641)
; {runtime_call UncommonTrapBlob}
0x00000001043ddd30: nop ; {other}
0x00000001043ddd34: movk xzr, #0x528
0x00000001043ddd38: movk xzr, #0x200
;; uncommon trap returned which should never happen
0x00000001043ddd3c: dcps1 #0xdeae
0x00000001043ddd40: .inst 0x03a1ffc2 ; undefined
0x00000001043ddd44: udf #1 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 21 (line 641)
;; B33: # out( B16 ) <- in( B13 ) Freq: 1.54758e-07
0x00000001043ddd48: mov x10, x1
0x00000001043ddd4c: sub x11, x11, #0x2
;; zero_words {
0x00000001043ddd50: subs x8, x11, #0x8
0x00000001043ddd54: b.cc 0x00000001043ddd5c // b.lo, b.ul, b.last
0x00000001043ddd58: bl Stub::zero_blocks ; {runtime_call StubRoutines (final stubs)}
0x00000001043ddd5c: tbz w11, #2, 0x00000001043ddd68
0x00000001043ddd60: stp xzr, xzr, [x10], #16
0x00000001043ddd64: stp xzr, xzr, [x10], #16
0x00000001043ddd68: tbz w11, #1, 0x00000001043ddd70
0x00000001043ddd6c: stp xzr, xzr, [x10], #16
0x00000001043ddd70: tbz w11, #0, 0x00000001043ddd78
0x00000001043ddd74: str xzr, [x10]
;; } zero_words
0x00000001043ddd78: b 0x00000001043ddb8c ;*invokestatic arraycopy {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 28 (line 3541)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B34: # out( N451 ) <- in( B8 B9 ) Freq: 3.0546e-07
;; 0xFFFFFFCC
0x00000001043ddd7c: mov w1, #0xffffffcc // #-52
0x00000001043ddd80: str x19, [sp]
0x00000001043ddd84: str w14, [sp, #16]
0x00000001043ddd88: bl 0x0000000104390f80 ; 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
; {runtime_call UncommonTrapBlob}
0x00000001043ddd8c: nop ; {other}
0x00000001043ddd90: movk xzr, #0x584
0x00000001043ddd94: movk xzr, #0x300
;; uncommon trap returned which should never happen
0x00000001043ddd98: dcps1 #0xdeae
0x00000001043ddd9c: .inst 0x03a1ffc2 ; undefined
0x00000001043ddda0: udf #1
;; B35: # out( B17 ) <- in( B22 ) Freq: 7.63629e-08
0x00000001043ddda4: mov x1, x28
0x00000001043ddda8: adr x9, 0x00000001043dddc0
;; 0x102C368A8
0x00000001043dddac: mov x8, #0x68a8 // #26792
; {runtime_call G1BarrierSetRuntime::write_ref_field_pre_entry(oopDesc*, JavaThread*)}
0x00000001043dddb0: movk x8, #0x2c3, lsl #16
0x00000001043dddb4: movk x8, #0x1, lsl #32
0x00000001043dddb8: stp xzr, x9, [sp, #-16]!
0x00000001043dddbc: blr x8
0x00000001043dddc0: nop ; {other}
0x00000001043dddc4: movk xzr, #0x0
0x00000001043dddc8: movk xzr, #0x0
0x00000001043dddcc: add sp, sp, #0x10 ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
0x00000001043dddd0: b 0x00000001043ddb98
;; B36: # out( N451 ) <- in( B7 ) Freq: 7.28274e-08
;; 0xFFFFFF45
0x00000001043dddd4: mov w1, #0xffffff45 // #-187
0x00000001043dddd8: str x19, [sp]
0x00000001043ddddc: str w11, [sp, #16]
0x00000001043ddde0: str w14, [sp, #24]
0x00000001043ddde4: bl 0x0000000104390f80 ; 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 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
; {runtime_call UncommonTrapBlob}
0x00000001043ddde8: nop ; {other}
0x00000001043dddec: movk xzr, #0x5e0
0x00000001043dddf0: movk xzr, #0x400
;; uncommon trap returned which should never happen
0x00000001043dddf4: dcps1 #0xdeae
0x00000001043dddf8: .inst 0x03a1ffc2 ; undefined
0x00000001043dddfc: udf #1 ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 3 (line 3537)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B37: # out( N451 ) <- in( B1 ) Freq: 1.01328e-06
;; 0xFFFFFFF6
0x00000001043dde00: mov w1, #0xfffffff6 // #-10
0x00000001043dde04: bl 0x0000000104390f80 ; ImmutableOopMap {}
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 243)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
; {runtime_call UncommonTrapBlob}
0x00000001043dde08: nop ; {other}
0x00000001043dde0c: movk xzr, #0x600
0x00000001043dde10: movk xzr, #0x500
;; uncommon trap returned which should never happen
0x00000001043dde14: dcps1 #0xdeae
0x00000001043dde18: .inst 0x03a1ffc2 ; undefined
0x00000001043dde1c: udf #1 ;*newarray {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 15 (line 3540)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B38: # out( B40 ) <- in( B29 ) Freq: 1.54303e-10
0x00000001043dde20: mov x1, x0
0x00000001043dde24: b 0x00000001043dde2c ;*invokevirtual newCapacity {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 246)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B39: # out( B40 ) <- in( B6 ) Freq: 1.52733e-06
0x00000001043dde28: mov x1, x0 ;*synchronization entry
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at -1 (line 243)
; - java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
;; B40: # out( N451 ) <- in( B39 B38 ) Freq: 1.52749e-06
0x00000001043dde2c: ldp x29, x30, [sp, #64]
0x00000001043dde30: add sp, sp, #0x50
0x00000001043dde34: adrp x8, 0x00000001043ac000 ; {runtime_call _rethrow_Java}
0x00000001043dde38: add x8, x8, #0x600
0x00000001043dde3c: br x8 ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
0x00000001043dde40: adr x8, 0x00000001043dda8c ; {internal_word}
0x00000001043dde44: str x8, [x28, #1192]
0x00000001043dde48: adrp x8, 0x0000000104390000 ; {runtime_call SafepointBlob}
0x00000001043dde4c: add x8, x8, #0x900
0x00000001043dde50: br x8
;; 0x104318940
0x00000001043dde54: mov x8, #0x8940 // #35136
; {runtime_call StubRoutines (final stubs)}
0x00000001043dde58: movk x8, #0x431, lsl #16
0x00000001043dde5c: movk x8, #0x1, lsl #32
0x00000001043dde60: blr x8
0x00000001043dde64: b 0x00000001043dda20
0x00000001043dde68: udf #1 ; {other}
0x00000001043dde6c: udf #0
[Stub Code]
0x00000001043dde70: ldr x8, 0x00000001043dde78 ; {no_reloc}
0x00000001043dde74: br x8
0x00000001043dde78: adr z0.d, [z12.d, z24.d, sxtw]
0x00000001043dde7c: udf #1
0x00000001043dde80: isb ; {static_stub}
0x00000001043dde84: mov x12, #0x0 // #0
; {metadata(nullptr)}
0x00000001043dde88: movk x12, #0x0, lsl #16
0x00000001043dde8c: movk x12, #0x0, lsl #32
0x00000001043dde90: mov x8, #0x0 // #0
0x00000001043dde94: movk x8, #0x0, lsl #16
0x00000001043dde98: movk x8, #0x0, lsl #32
0x00000001043dde9c: br x8
0x00000001043ddea0: ldr x8, 0x00000001043ddea8 ; {trampoline_stub}
0x00000001043ddea4: br x8
0x00000001043ddea8: sqrdmulh z0.b, z4.b, z17.b
0x00000001043ddeac: udf #1
0x00000001043ddeb0: ldr x8, 0x00000001043ddeb8 ; {trampoline_stub}
0x00000001043ddeb4: br x8
0x00000001043ddeb8: pmul z0.b, z0.b, z17.b
0x00000001043ddebc: udf #1
0x00000001043ddec0: ldr x8, 0x00000001043ddec8 ; {trampoline_stub}
0x00000001043ddec4: br x8
0x00000001043ddec8: pmul z0.b, z30.b, z17.b
0x00000001043ddecc: udf #1
0x00000001043dded0: ldr x8, 0x00000001043dded8 ; {trampoline_stub}
0x00000001043dded4: br x8
0x00000001043dded8: adr z0.d, [z0.d, z26.d, sxtw]
0x00000001043ddedc: udf #1
0x00000001043ddee0: ldr x8, 0x00000001043ddee8 ; {trampoline_stub}
0x00000001043ddee4: br x8
0x00000001043ddee8: .inst 0x04390f80 ; undefined
0x00000001043ddeec: udf #1
[Exception Handler]
0x00000001043ddef0: adrp x8, 0x00000001042d5000 ; {runtime_call ExceptionBlob}
0x00000001043ddef4: add x8, x8, #0x200
0x00000001043ddef8: br x8
[Deopt Handler Code]
0x00000001043ddefc: adr x30, 0x00000001043ddefc
0x00000001043ddf00: adrp x8, 0x0000000104390000 ; {runtime_call DeoptimizationBlob}
0x00000001043ddf04: add x8, x8, #0xc00
0x00000001043ddf08: br x8
0x00000001043ddf0c: udf #0
--------------------------------------------------------------------------------
[/Disassembly]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Oops: <list empty>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Metadata:
0x00000001043ddf10: 0x00000001180dc2e8 {method} {0x00000001180dc2e8} 'appendNull' '()Ljava/lang/AbstractStringBuilder;' in 'java/lang/AbstractStringBuilder'
0x00000001043ddf18: 0x00000001180db060 {method} {0x00000001180db060} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder'
0x00000001043ddf20: 0x00000001185aa740 {method} {0x00000001185aa740} 'putCharsAt' '([BICCCC)V' in 'java/lang/StringUTF16'
0x00000001043ddf28: 0x0000000118212388 {method} {0x0000000118212388} 'copyOf' '([BI)[B' in 'java/util/Arrays'
0x00000001043ddf30: 0x0000400000040a50 {type array byte}
0x00000001043ddf38: 0x00000001180deea8 {method} {0x00000001180deea8} 'isLatin1' '()Z' in 'java/lang/AbstractStringBuilder'
0x00000001043ddf40: 0x0000000000000000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
pc-bytecode offsets:
PcDesc(pc=0x00000001043dd9bf offset=ffffffff bits=0):
PcDesc(pc=0x00000001043dda20 offset=60 bits=0):
java.lang.AbstractStringBuilder::appendNull at -1 (line 638)
PcDesc(pc=0x00000001043dda2c offset=6c bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 1 (line 243)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043dda30 offset=70 bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 243)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043dda34 offset=74 bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 6 (line 243)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043dda38 offset=78 bits=0):
java.lang.AbstractStringBuilder::appendNull at 1 (line 638)
PcDesc(pc=0x00000001043dda48 offset=88 bits=0):
java.lang.AbstractStringBuilder::appendNull at 8 (line 639)
PcDesc(pc=0x00000001043dda54 offset=94 bits=0):
java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
PcDesc(pc=0x00000001043dda58 offset=98 bits=0):
java.lang.AbstractStringBuilder::appendNull at 21 (line 641)
PcDesc(pc=0x00000001043dda68 offset=a8 bits=0):
java.lang.StringUTF16::putCharsAt at 3 (line 1552)
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
PcDesc(pc=0x00000001043dda74 offset=b4 bits=0):
java.lang.StringUTF16::putCharsAt at 11 (line 1553)
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
PcDesc(pc=0x00000001043dda78 offset=b8 bits=0):
java.lang.StringUTF16::putCharsAt at 20 (line 1554)
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
PcDesc(pc=0x00000001043dda7c offset=bc bits=0):
java.lang.StringUTF16::putCharsAt at 29 (line 1555)
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
PcDesc(pc=0x00000001043dda80 offset=c0 bits=0):
java.lang.AbstractStringBuilder::appendNull at -1 (line 638)
PcDesc(pc=0x00000001043ddab4 offset=f4 bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 246)
Locals
- l0: reg rfp [58],oop
- l1: empty
- l2: empty
Expression stack
- @0: reg rfp [58],oop
- @1: stack[8],oop
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: reg rfp [58],oop
- l1: stack[20]
- l2: empty
PcDesc(pc=0x00000001043ddac0 offset=100 bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 246)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddacc offset=10c bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 31 (line 246)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddad8 offset=118 bits=0):
java.util.Arrays::copyOf at 25 (line 3542)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddae0 offset=120 bits=0):
java.util.Arrays::copyOf at 3 (line 3537)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddaec offset=12c bits=0):
java.util.Arrays::copyOf at 15 (line 3540)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddafc offset=13c bits=0):
java.util.Arrays::copyOf at 28 (line 3541)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddb00 offset=140 bits=0):
java.util.Arrays::copyOf at 15 (line 3540)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddb1c offset=15c bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddb44 offset=184 bits=0):
java.util.Arrays::copyOf at 15 (line 3540)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddbd0 offset=210 bits=0):
java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
PcDesc(pc=0x00000001043ddbd4 offset=214 bits=0):
java.lang.AbstractStringBuilder::isLatin1 at 7 (line 1708)
java.lang.AbstractStringBuilder::appendNull at 18 (line 641)
PcDesc(pc=0x00000001043ddcb8 offset=2f8 bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddcc0 offset=300 bits=0):
java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
PcDesc(pc=0x00000001043ddce8 offset=328 bits=4):
java.util.Arrays::copyOf at 15 (line 3540)
Locals
- l0: stack[8],oop
- l1: stack[0]
- l2: empty
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
Locals
- l0: empty
- l1: empty
- l2: empty
Expression stack
- @0: stack[24],oop
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: stack[24],oop
- l1: stack[20]
- l2: empty
PcDesc(pc=0x00000001043ddcf4 offset=334 bits=0):
java.util.Arrays::copyOf at 15 (line 3540)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddd14 offset=354 bits=0):
java.lang.StringUTF16::putCharsAt at 3 (line 1552)
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
PcDesc(pc=0x00000001043ddd18 offset=358 bits=0):
java.lang.AbstractStringBuilder::appendNull at 18 (line 641)
PcDesc(pc=0x00000001043ddd1c offset=35c bits=0):
java.lang.AbstractStringBuilder::isLatin1 at 18 (line 1708)
java.lang.AbstractStringBuilder::appendNull at 18 (line 641)
PcDesc(pc=0x00000001043ddd30 offset=370 bits=1):
java.lang.AbstractStringBuilder::appendNull at 21 (line 641) reexecute=true
Locals
- l0: stack[0],oop
- l1: stack[8]
- l2: stack[16],oop
Expression stack
- @0: reg rfp [58],int
PcDesc(pc=0x00000001043ddd48 offset=388 bits=0):
java.lang.AbstractStringBuilder::appendNull at 21 (line 641)
PcDesc(pc=0x00000001043ddd7c offset=3bc bits=0):
java.util.Arrays::copyOf at 28 (line 3541)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddd8c offset=3cc bits=1):
java.util.Arrays::copyOf at 15 (line 3540) reexecute=true
Locals
- l0: stack[8],oop
- l1: stack[16]
- l2: empty
Expression stack
- @0: stack[16]
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
Locals
- l0: empty
- l1: empty
- l2: empty
Expression stack
- @0: stack[0],oop
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: stack[0],oop
- l1: stack[20]
- l2: empty
PcDesc(pc=0x00000001043dddd0 offset=410 bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043ddde8 offset=428 bits=1):
java.util.Arrays::copyOf at 3 (line 3537) reexecute=true
Locals
- l0: stack[8],oop
- l1: empty
- l2: empty
Expression stack
- @0: stack[24]
- @1: stack[16]
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
Locals
- l0: empty
- l1: empty
- l2: empty
Expression stack
- @0: stack[0],oop
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: stack[0],oop
- l1: stack[20]
- l2: empty
PcDesc(pc=0x00000001043dde00 offset=440 bits=0):
java.util.Arrays::copyOf at 3 (line 3537)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043dde08 offset=448 bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 243)
Locals
- l0: empty
- l1: empty
- l2: empty
Expression stack
- @0: nullptr
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: empty
- l1: empty
- l2: empty
PcDesc(pc=0x00000001043dde20 offset=460 bits=0):
java.util.Arrays::copyOf at 15 (line 3540)
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043dde28 offset=468 bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 246)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043dde2c offset=46c bits=0):
java.lang.AbstractStringBuilder::ensureCapacityInternal at -1 (line 243)
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
PcDesc(pc=0x00000001043dde40 offset=480 bits=0):
java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
PcDesc(pc=0x00000001043ddf11 offset=551 bits=0):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
oop maps:ImmutableOopMapSet contains 6 OopMaps
ImmutableOopMap {rfp=Oop [8]=Oop } pc offsets: 244
ImmutableOopMap {[8]=Oop [24]=Oop } pc offsets: 808
ImmutableOopMap {[0]=Oop [16]=Oop } pc offsets: 880
ImmutableOopMap {[0]=Oop [8]=Oop } pc offsets: 972 1064
ImmutableOopMap {} pc offsets: 1096
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
scopes:
ScopeDesc(pc=0x00000001043dda20 offset=60):
java.lang.AbstractStringBuilder::appendNull at -1 (line 638)
ScopeDesc(pc=0x00000001043dda2c offset=6c):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 1 (line 243)
ScopeDesc(pc=0x00000001043dda2c offset=6c):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043dda30 offset=70):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 243)
ScopeDesc(pc=0x00000001043dda30 offset=70):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043dda34 offset=74):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 6 (line 243)
ScopeDesc(pc=0x00000001043dda34 offset=74):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043dda38 offset=78):
java.lang.AbstractStringBuilder::appendNull at 1 (line 638)
ScopeDesc(pc=0x00000001043dda48 offset=88):
java.lang.AbstractStringBuilder::appendNull at 8 (line 639)
ScopeDesc(pc=0x00000001043dda54 offset=94):
java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
ScopeDesc(pc=0x00000001043dda58 offset=98):
java.lang.AbstractStringBuilder::appendNull at 21 (line 641)
ScopeDesc(pc=0x00000001043dda68 offset=a8):
java.lang.StringUTF16::putCharsAt at 3 (line 1552)
ScopeDesc(pc=0x00000001043dda68 offset=a8):
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
ScopeDesc(pc=0x00000001043dda74 offset=b4):
java.lang.StringUTF16::putCharsAt at 11 (line 1553)
ScopeDesc(pc=0x00000001043dda74 offset=b4):
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
ScopeDesc(pc=0x00000001043dda78 offset=b8):
java.lang.StringUTF16::putCharsAt at 20 (line 1554)
ScopeDesc(pc=0x00000001043dda78 offset=b8):
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
ScopeDesc(pc=0x00000001043dda7c offset=bc):
java.lang.StringUTF16::putCharsAt at 29 (line 1555)
ScopeDesc(pc=0x00000001043dda7c offset=bc):
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
ScopeDesc(pc=0x00000001043dda80 offset=c0):
java.lang.AbstractStringBuilder::appendNull at -1 (line 638)
ScopeDesc(pc=0x00000001043ddab4 offset=f4):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 246)
Locals
- l0: reg rfp [58],oop
- l1: empty
- l2: empty
Expression stack
- @0: reg rfp [58],oop
- @1: stack[8],oop
ScopeDesc(pc=0x00000001043ddab4 offset=f4):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: reg rfp [58],oop
- l1: stack[20]
- l2: empty
ScopeDesc(pc=0x00000001043ddac0 offset=100):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 246)
ScopeDesc(pc=0x00000001043ddac0 offset=100):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddacc offset=10c):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 31 (line 246)
ScopeDesc(pc=0x00000001043ddacc offset=10c):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddad8 offset=118):
java.util.Arrays::copyOf at 25 (line 3542)
ScopeDesc(pc=0x00000001043ddad8 offset=118):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043ddad8 offset=118):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddae0 offset=120):
java.util.Arrays::copyOf at 3 (line 3537)
ScopeDesc(pc=0x00000001043ddae0 offset=120):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043ddae0 offset=120):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddaec offset=12c):
java.util.Arrays::copyOf at 15 (line 3540)
ScopeDesc(pc=0x00000001043ddaec offset=12c):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043ddaec offset=12c):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddafc offset=13c):
java.util.Arrays::copyOf at 28 (line 3541)
ScopeDesc(pc=0x00000001043ddafc offset=13c):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043ddafc offset=13c):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddb00 offset=140):
java.util.Arrays::copyOf at 15 (line 3540)
ScopeDesc(pc=0x00000001043ddb00 offset=140):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043ddb00 offset=140):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddb1c offset=15c):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 245)
ScopeDesc(pc=0x00000001043ddb1c offset=15c):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddb44 offset=184):
java.util.Arrays::copyOf at 15 (line 3540)
ScopeDesc(pc=0x00000001043ddb44 offset=184):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043ddb44 offset=184):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddbd0 offset=210):
java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
ScopeDesc(pc=0x00000001043ddbd4 offset=214):
java.lang.AbstractStringBuilder::isLatin1 at 7 (line 1708)
ScopeDesc(pc=0x00000001043ddbd4 offset=214):
java.lang.AbstractStringBuilder::appendNull at 18 (line 641)
ScopeDesc(pc=0x00000001043ddcb8 offset=2f8):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 245)
ScopeDesc(pc=0x00000001043ddcb8 offset=2f8):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddcc0 offset=300):
java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
ScopeDesc(pc=0x00000001043ddce8 offset=328):
java.util.Arrays::copyOf at 15 (line 3540)
Locals
- l0: stack[8],oop
- l1: stack[0]
- l2: empty
ScopeDesc(pc=0x00000001043ddce8 offset=328):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
Locals
- l0: empty
- l1: empty
- l2: empty
Expression stack
- @0: stack[24],oop
ScopeDesc(pc=0x00000001043ddce8 offset=328):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: stack[24],oop
- l1: stack[20]
- l2: empty
ScopeDesc(pc=0x00000001043ddcf4 offset=334):
java.util.Arrays::copyOf at 15 (line 3540)
ScopeDesc(pc=0x00000001043ddcf4 offset=334):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043ddcf4 offset=334):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddd14 offset=354):
java.lang.StringUTF16::putCharsAt at 3 (line 1552)
ScopeDesc(pc=0x00000001043ddd14 offset=354):
java.lang.AbstractStringBuilder::appendNull at 63 (line 647)
ScopeDesc(pc=0x00000001043ddd18 offset=358):
java.lang.AbstractStringBuilder::appendNull at 18 (line 641)
ScopeDesc(pc=0x00000001043ddd1c offset=35c):
java.lang.AbstractStringBuilder::isLatin1 at 18 (line 1708)
ScopeDesc(pc=0x00000001043ddd1c offset=35c):
java.lang.AbstractStringBuilder::appendNull at 18 (line 641)
ScopeDesc(pc=0x00000001043ddd30 offset=370):
java.lang.AbstractStringBuilder::appendNull at 21 (line 641) reexecute=true
Locals
- l0: stack[0],oop
- l1: stack[8]
- l2: stack[16],oop
Expression stack
- @0: reg rfp [58],int
ScopeDesc(pc=0x00000001043ddd48 offset=388):
java.lang.AbstractStringBuilder::appendNull at 21 (line 641)
ScopeDesc(pc=0x00000001043ddd7c offset=3bc):
java.util.Arrays::copyOf at 28 (line 3541)
ScopeDesc(pc=0x00000001043ddd7c offset=3bc):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043ddd7c offset=3bc):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddd8c offset=3cc):
java.util.Arrays::copyOf at 15 (line 3540) reexecute=true
Locals
- l0: stack[8],oop
- l1: stack[16]
- l2: empty
Expression stack
- @0: stack[16]
ScopeDesc(pc=0x00000001043ddd8c offset=3cc):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
Locals
- l0: empty
- l1: empty
- l2: empty
Expression stack
- @0: stack[0],oop
ScopeDesc(pc=0x00000001043ddd8c offset=3cc):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: stack[0],oop
- l1: stack[20]
- l2: empty
ScopeDesc(pc=0x00000001043dddd0 offset=410):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 245)
ScopeDesc(pc=0x00000001043dddd0 offset=410):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043ddde8 offset=428):
java.util.Arrays::copyOf at 3 (line 3537) reexecute=true
Locals
- l0: stack[8],oop
- l1: empty
- l2: empty
Expression stack
- @0: stack[24]
- @1: stack[16]
ScopeDesc(pc=0x00000001043ddde8 offset=428):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
Locals
- l0: empty
- l1: empty
- l2: empty
Expression stack
- @0: stack[0],oop
ScopeDesc(pc=0x00000001043ddde8 offset=428):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: stack[0],oop
- l1: stack[20]
- l2: empty
ScopeDesc(pc=0x00000001043dde00 offset=440):
java.util.Arrays::copyOf at 3 (line 3537)
ScopeDesc(pc=0x00000001043dde00 offset=440):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043dde00 offset=440):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043dde08 offset=448):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 243)
Locals
- l0: empty
- l1: empty
- l2: empty
Expression stack
- @0: nullptr
ScopeDesc(pc=0x00000001043dde08 offset=448):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
Locals
- l0: empty
- l1: empty
- l2: empty
ScopeDesc(pc=0x00000001043dde20 offset=460):
java.util.Arrays::copyOf at 15 (line 3540)
ScopeDesc(pc=0x00000001043dde20 offset=460):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 245)
ScopeDesc(pc=0x00000001043dde20 offset=460):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043dde28 offset=468):
java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 246)
ScopeDesc(pc=0x00000001043dde28 offset=468):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043dde2c offset=46c):
java.lang.AbstractStringBuilder::ensureCapacityInternal at -1 (line 243)
ScopeDesc(pc=0x00000001043dde2c offset=46c):
java.lang.AbstractStringBuilder::appendNull at 9 (line 639)
ScopeDesc(pc=0x00000001043dde40 offset=480):
java.lang.AbstractStringBuilder::appendNull at 13 (line 640)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
relocations:
@0x00000001043dd8f0: 3005
relocInfo at 0x00000001043dd8f0 [type=6(runtime_call) addr=0x00000001043dd9d4 offset=20] | [destination=0x0000000104389e80]
@0x00000001043dd8f2: 7c0302e6b1640001380a
relocInfo at 0x00000001043dd8fa [type=7(external_word) addr=0x00000001043dd9fc offset=40 data={02e6b1640001}] | [target=0x0000000102e6b164]
@0x00000001043dd8fc: 5824
relocInfo at 0x00000001043dd8fc [type=11(poll_return) addr=0x00000001043dda8c offset=144]
@0x00000001043dd8fe: 1809
relocInfo at 0x00000001043dd8fe [type=3(opt_virtual_call) addr=0x00000001043ddab0 offset=36] | [destination=0x000000010438a180 metadata=0x0000000000000000]
@0x00000001043dd900: 8001
relocInfo at 0x00000001043dd900 [type=16(post_call_nop) addr=0x00000001043ddab4 offset=4]
@0x00000001043dd902: 7805601d
relocInfo at 0x00000001043dd904 [type=12(metadata) addr=0x00000001043ddb28 offset=116 data=5] | [metadata_addr=0x00000001043ddf30 *=0x0000400000040a50]metadata_value=0x0000400000040a50: {type array byte}
@0x00000001043dd906: 3015
relocInfo at 0x00000001043dd906 [type=6(runtime_call) addr=0x00000001043ddb7c offset=84] | [destination=0x0000000104317480]
@0x00000001043dd908: 8001
relocInfo at 0x00000001043dd908 [type=16(post_call_nop) addr=0x00000001043ddb80 offset=4]
@0x00000001043dd90a: 3020
relocInfo at 0x00000001043dd90a [type=6(runtime_call) addr=0x00000001043ddc00 offset=128] | [destination=0x0000000104316400]
@0x00000001043dd90c: 3008
relocInfo at 0x00000001043dd90c [type=6(runtime_call) addr=0x00000001043ddc20 offset=32] | [destination=0x00000001043167c0]
@0x00000001043dd90e: 8001
relocInfo at 0x00000001043dd90e [type=16(post_call_nop) addr=0x00000001043ddc24 offset=4]
@0x00000001043dd910: 301c
relocInfo at 0x00000001043dd910 [type=6(runtime_call) addr=0x00000001043ddc94 offset=112] | [destination=0x0000000102c36b34]
@0x00000001043dd912: 8005
relocInfo at 0x00000001043dd912 [type=16(post_call_nop) addr=0x00000001043ddca8 offset=20]
@0x00000001043dd914: 7805600b
relocInfo at 0x00000001043dd916 [type=12(metadata) addr=0x00000001043ddcd4 offset=44 data=5] | [metadata_addr=0x00000001043ddf30 *=0x0000400000040a50]metadata_value=0x0000400000040a50: {type array byte}
@0x00000001043dd918: 3004
relocInfo at 0x00000001043dd918 [type=6(runtime_call) addr=0x00000001043ddce4 offset=16] | [destination=0x00000001043aa000]
@0x00000001043dd91a: 8001
relocInfo at 0x00000001043dd91a [type=16(post_call_nop) addr=0x00000001043ddce8 offset=4]
@0x00000001043dd91c: 3011
relocInfo at 0x00000001043dd91c [type=6(runtime_call) addr=0x00000001043ddd2c offset=68] | [destination=0x0000000104390f80]
@0x00000001043dd91e: 8001
relocInfo at 0x00000001043dd91e [type=16(post_call_nop) addr=0x00000001043ddd30 offset=4]
@0x00000001043dd920: 300a
relocInfo at 0x00000001043dd920 [type=6(runtime_call) addr=0x00000001043ddd58 offset=40] | [destination=0x0000000104316400]
@0x00000001043dd922: 300c
relocInfo at 0x00000001043dd922 [type=6(runtime_call) addr=0x00000001043ddd88 offset=48] | [destination=0x0000000104390f80]
@0x00000001043dd924: 8001
relocInfo at 0x00000001043dd924 [type=16(post_call_nop) addr=0x00000001043ddd8c offset=4]
@0x00000001043dd926: 3008
relocInfo at 0x00000001043dd926 [type=6(runtime_call) addr=0x00000001043dddac offset=32] | [destination=0x0000000102c368a8]
@0x00000001043dd928: 8005
relocInfo at 0x00000001043dd928 [type=16(post_call_nop) addr=0x00000001043dddc0 offset=20]
@0x00000001043dd92a: 3009
relocInfo at 0x00000001043dd92a [type=6(runtime_call) addr=0x00000001043ddde4 offset=36] | [destination=0x0000000104390f80]
@0x00000001043dd92c: 8001
relocInfo at 0x00000001043dd92c [type=16(post_call_nop) addr=0x00000001043ddde8 offset=4]
@0x00000001043dd92e: 3007
relocInfo at 0x00000001043dd92e [type=6(runtime_call) addr=0x00000001043dde04 offset=28] | [destination=0x0000000104390f80]
@0x00000001043dd930: 8001
relocInfo at 0x00000001043dd930 [type=16(post_call_nop) addr=0x00000001043dde08 offset=4]
@0x00000001043dd932: 300b
relocInfo at 0x00000001043dd932 [type=6(runtime_call) addr=0x00000001043dde34 offset=44] | [destination=0x00000001043ac600]
@0x00000001043dd934: 78ed4003
relocInfo at 0x00000001043dd936 [type=8(internal_word) addr=0x00000001043dde40 offset=12 data=237] | [target=0x00000001043dda8c]
@0x00000001043dd938: 3002
relocInfo at 0x00000001043dd938 [type=6(runtime_call) addr=0x00000001043dde48 offset=8] | [destination=0x0000000104390900]
@0x00000001043dd93a: 3003
relocInfo at 0x00000001043dd93a [type=6(runtime_call) addr=0x00000001043dde54 offset=12] | [destination=0x0000000104318940]
@0x00000001043dd93c: 8805
relocInfo at 0x00000001043dd93c [type=17(entry_guard) addr=0x00000001043dde68 offset=20]
@0x00000001043dd93e: 0002
relocInfo at 0x00000001043dd93e [type=0(none) addr=0x00000001043dde70 offset=8]
@0x00000001043dd940: 7c01ffc46800
relocInfo at 0x00000001043dd944 [type=13(trampoline_stub) addr=0x00000001043dde70 offset=0 data=-60] | [trampoline owner=0x00000001043ddab0]
@0x00000001043dd946: 7c01ffc42804
relocInfo at 0x00000001043dd94a [type=5(static_stub) addr=0x00000001043dde80 offset=16 data=-60] | [static_call=0x00000001043ddab0]
@0x00000001043dd94c: 78076001
relocInfo at 0x00000001043dd94e [type=12(metadata) addr=0x00000001043dde84 offset=4 data=7] | [metadata_addr=0x00000001043ddf40 *=0x0000000000000000]
@0x00000001043dd950: 7c01ff916807
relocInfo at 0x00000001043dd954 [type=13(trampoline_stub) addr=0x00000001043ddea0 offset=28 data=-111] | [trampoline owner=0x00000001043ddb7c]
@0x00000001043dd956: 7c01ff1a6804
relocInfo at 0x00000001043dd95a [type=13(trampoline_stub) addr=0x00000001043ddeb0 offset=16 data=-230] | [trampoline owner=0x00000001043ddd58]
@0x00000001043dd95c: 7c01ff706800
relocInfo at 0x00000001043dd960 [type=13(trampoline_stub) addr=0x00000001043ddeb0 offset=0 data=-144] | [trampoline owner=0x00000001043ddc00]
@0x00000001043dd962: 7c01ff686804
relocInfo at 0x00000001043dd966 [type=13(trampoline_stub) addr=0x00000001043ddec0 offset=16 data=-152] | [trampoline owner=0x00000001043ddc20]
@0x00000001043dd968: 7c01ff376804
relocInfo at 0x00000001043dd96c [type=13(trampoline_stub) addr=0x00000001043dded0 offset=16 data=-201] | [trampoline owner=0x00000001043ddce4]
@0x00000001043dd96e: 7c01feef6804
relocInfo at 0x00000001043dd972 [type=13(trampoline_stub) addr=0x00000001043ddee0 offset=16 data=-273] | [trampoline owner=0x00000001043dde04]
@0x00000001043dd974: 7c01fef76800
relocInfo at 0x00000001043dd978 [type=13(trampoline_stub) addr=0x00000001043ddee0 offset=0 data=-265] | [trampoline owner=0x00000001043ddde4]
@0x00000001043dd97a: 7c01ff0e6800
relocInfo at 0x00000001043dd97e [type=13(trampoline_stub) addr=0x00000001043ddee0 offset=0 data=-242] | [trampoline owner=0x00000001043ddd88]
@0x00000001043dd980: 7c01ff256800
relocInfo at 0x00000001043dd984 [type=13(trampoline_stub) addr=0x00000001043ddee0 offset=0 data=-219] | [trampoline owner=0x00000001043ddd2c]
@0x00000001043dd986: 3004
relocInfo at 0x00000001043dd986 [type=6(runtime_call) addr=0x00000001043ddef0 offset=16] | [destination=0x00000001042d5200]
@0x00000001043dd988: 3004
relocInfo at 0x00000001043dd988 [type=6(runtime_call) addr=0x00000001043ddf00 offset=16] | [destination=0x0000000104390c00]
@0x00000001043dd98a: 0000
relocInfo at 0x00000001043dd98a [type=0(none) addr=0x00000001043ddf00 offset=0]
@0x00000001043dd98c: 0000
relocInfo at 0x00000001043dd98c [type=0(none) addr=0x00000001043ddf00 offset=0]
@0x00000001043dd98e: 0000
relocInfo at 0x00000001043dd98e [type=0(none) addr=0x00000001043ddf00 offset=0]
@0x00000001043dd990:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Dependencies:
Dependency of type evol_method
method = {method} {0x00000001180dc2e8} 'appendNull' '()Ljava/lang/AbstractStringBuilder;' in 'java/lang/AbstractStringBuilder'
Dependency of type evol_method
method = {method} {0x00000001180db060} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder'
Dependency of type evol_method
method = {method} {0x00000001180deea8} 'isLatin1' '()Z' in 'java/lang/AbstractStringBuilder'
Dependency of type evol_method
method = *{method} {0x00000001185aa740} 'putCharsAt' '([BICCCC)V' in 'java/lang/StringUTF16'
Dependency of type evol_method
method = *{method} {0x0000000118212388} 'copyOf' '([BI)[B' in 'java/util/Arrays'
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ExceptionHandlerTable (size = 48 bytes)
catch_pco = 244 (pc=0x00000001043ddab4, 1 entries)
bci -1 at scope depth 0 -> pco 1128 (pc=0x00000001043dde28)
catch_pco = 808 (pc=0x00000001043ddce8, 1 entries)
bci -1 at scope depth 0 -> pco 1120 (pc=0x00000001043dde20)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ImplicitExceptionTable (size = 1 entries, 12 bytes):
{
< 0x00000001043dda2c, 0x00000001043dde00 >
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Recorded oops:
#0: 0x0000000000000000 nullptr-oop
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Recorded metadata:
#0: 0x0000000000000000 nullptr-oop
#1: 0x00000001180dc2e8 {method} {0x00000001180dc2e8} 'appendNull' '()Ljava/lang/AbstractStringBuilder;' in 'java/lang/AbstractStringBuilder'
#2: 0x00000001180db060 {method} {0x00000001180db060} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder'
#3: 0x00000001185aa740 {method} {0x00000001185aa740} 'putCharsAt' '([BICCCC)V' in 'java/lang/StringUTF16'
#4: 0x0000000118212388 {method} {0x0000000118212388} 'copyOf' '([BI)[B' in 'java/util/Arrays'
#5: 0x0000400000040a50 {type array byte}
#6: 0x00000001180deea8 {method} {0x00000001180deea8} 'isLatin1' '()Z' in 'java/lang/AbstractStringBuilder'
#7: 0x0000000000000000 nullptr-oop
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19626#issuecomment-2161107568
More information about the hotspot-compiler-dev
mailing list