Skip to content

Instantly share code, notes, and snippets.

@xuwei-k
Created April 4, 2024 12:25
Show Gist options
  • Save xuwei-k/c71d74565af645f3aac471dd9369b2aa to your computer and use it in GitHub Desktop.
Save xuwei-k/c71d74565af645f3aac471dd9369b2aa to your computer and use it in GitHub Desktop.
package example;
public class A {
public static void main(String[] args) {
var a = new java.util.concurrent.atomic.AtomicLong();
a.compareAndSet(1L, 2L);
}
}
run / javaOptions ++= Seq(
"-XX:+UnlockDiagnosticVMOptions",
"-XX:+PrintAssembly",
)
run / fork := true
============================= C1-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------
[0.014s][warning][os] Loading hsdis library failed
Compiled method (c1) 14 1 3 java.lang.Object::<init> (1 bytes)
total in heap [0x000000010fbf0010,0x000000010fbf0308] = 760
relocation [0x000000010fbf0160,0x000000010fbf0180] = 32
main code [0x000000010fbf0180,0x000000010fbf0280] = 256
stub code [0x000000010fbf0280,0x000000010fbf0298] = 24
metadata [0x000000010fbf0298,0x000000010fbf02b0] = 24
scopes data [0x000000010fbf02b0,0x000000010fbf02c0] = 16
scopes pcs [0x000000010fbf02c0,0x000000010fbf0300] = 64
dependencies [0x000000010fbf0300,0x000000010fbf0308] = 8
[Constant Pool (empty)]
[MachCode]
[Entry Point]
# {method} {0x000000c0004d3c90} '<init>' '()V' in 'java/lang/Object'
# [sp+0x30] (sp of caller)
0x000000010fbf0180: 2808 40b9 | 3f01 086b | c001 0054
0x000000010fbf018c: ; {runtime_call ic_miss_stub}
0x000000010fbf018c: 3dbf d515 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
0x000000010fbf01ac: 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
[Verified Entry Point]
0x000000010fbf01c0: 1f20 03d5 | e953 40d1 | 3f01 00f9 | ffc3 00d1 | fd7b 02a9 | 2801 0018 | 8923 40b9 | 1f01 09eb
0x000000010fbf01e0: e000 0054 | 0830 93d2 | c8e2 a2f2 | 2800 c0f2 | 0001 3fd6 | 0200 0014 | 0100 0000
0x000000010fbf01fc: ; {metadata(method data for {method} {0x000000c0004d3c90} '<init>' '()V' in 'java/lang/Object')}
0x000000010fbf01fc: 0066 94d2 | 0040 a5f2 | 2000 c0f2 | 02ac 40b9 | 4208 0011 | 02ac 00b9 | 4224 1f12 | 5f00 0071
0x000000010fbf021c: ;*return {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Object::<init>@0 (line 45)
0x000000010fbf021c: e000 0054 | fd7b 42a9 | ffc3 0091
0x000000010fbf0228: ; {poll_return}
0x000000010fbf0228: 882f 42f9 | ff63 28eb | 4801 0054 | c003 5fd6
0x000000010fbf0238: ; {metadata({method} {0x000000c0004d3c90} '<init>' '()V' in 'java/lang/Object')}
0x000000010fbf0238: 0892 87d2 | a809 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf0250: ; ImmutableOopMap {c_rarg1=Oop }
;*synchronization entry
; - java.lang.Object::<init>@-1 (line 45)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf0250: ec2c d995 | f3ff ff17
0x000000010fbf0258: ; {internal_word}
0x000000010fbf0258: 88fe ff10 | 883b 02f9
0x000000010fbf0260: ; {runtime_call SafepointBlob}
0x000000010fbf0260: a8d9 d515 | 8087 42f9 | 9f87 02f9 | 9f8b 02f9 | fd7b 42a9 | ffc3 0091
0x000000010fbf0278: ; {runtime_call unwind_exception Runtime1 stub}
0x000000010fbf0278: 4210 d915 | 0000 0000
[Exception Handler]
0x000000010fbf0280: ; {no_reloc}
0x000000010fbf0280: 201e d995 | c1d5 bbd4 | d1d3 f206 | 0100 0000
[Deopt Handler Code]
0x000000010fbf0290: 1e00 0010
0x000000010fbf0294: ; {runtime_call DeoptimizationBlob}
0x000000010fbf0294: 6bda d515
[/MachCode]
============================= C1-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------
Compiled method (c1) 15 2 3 java.lang.String::isLatin1 (19 bytes)
total in heap [0x000000010fbf0390,0x000000010fbf07a0] = 1040
relocation [0x000000010fbf04e0,0x000000010fbf0508] = 40
main code [0x000000010fbf0540,0x000000010fbf06b0] = 368
stub code [0x000000010fbf06b0,0x000000010fbf06c8] = 24
metadata [0x000000010fbf06c8,0x000000010fbf06d8] = 16
scopes data [0x000000010fbf06d8,0x000000010fbf0708] = 48
scopes pcs [0x000000010fbf0708,0x000000010fbf0798] = 144
dependencies [0x000000010fbf0798,0x000000010fbf07a0] = 8
[Constant Pool (empty)]
[MachCode]
[Entry Point]
# {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String'
# [sp+0x30] (sp of caller)
0x000000010fbf0540: 2808 40b9 | 3f01 086b | c001 0054
0x000000010fbf054c: ; {runtime_call ic_miss_stub}
0x000000010fbf054c: 4dbe d515 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
0x000000010fbf056c: 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
[Verified Entry Point]
0x000000010fbf0580: 1f20 03d5 | e953 40d1 | 3f01 00f9 | ffc3 00d1 | fd7b 02a9 | 2801 0018 | 8923 40b9 | 1f01 09eb
0x000000010fbf05a0: e000 0054 | 0830 93d2 | c8e2 a2f2 | 2800 c0f2 | 0001 3fd6 | 0200 0014 | 0100 0000
0x000000010fbf05bc: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf05bc: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 02ac 40b9 | 4208 0011 | 02ac 00b9 | 4224 1f12 | 5f00 0071
0x000000010fbf05dc: ;*getstatic COMPACT_STRINGS {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@0 (line 4821)
0x000000010fbf05dc: 6004 0054
0x000000010fbf05e0: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf05e0: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 0280 40f9 | 4204 0091
0x000000010fbf05f4: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@3 (line 4821)
0x000000010fbf05f4: 0280 00f9
0x000000010fbf05f8: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@7 (line 4821)
0x000000010fbf05f8: 2040 8039 | 1f00 0071
0x000000010fbf0600: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf0600: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 0822 80d2 | 0924 80d2 | 0111 899a | 0268 61f8 | 4204 0091
0x000000010fbf0620: 0268 21f8
0x000000010fbf0624: ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@10 (line 4821)
0x000000010fbf0624: 2101 0054
0x000000010fbf0628: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf0628: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 0198 40f9 | 2104 0091 | 0198 00f9 | e003 0032
0x000000010fbf0644: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@14 (line 4821)
0x000000010fbf0644: 0200 0014
0x000000010fbf0648: ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@18 (line 4821)
0x000000010fbf0648: 0000 a052 | 0000 0012 | fd7b 42a9 | ffc3 0091
0x000000010fbf0658: ; {poll_return}
0x000000010fbf0658: 882f 42f9 | ff63 28eb | 4801 0054 | c003 5fd6
0x000000010fbf0668: ; {metadata({method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf0668: 08c2 80d2 | 6809 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf0680: ; ImmutableOopMap {c_rarg1=Oop }
;*synchronization entry
; - java.lang.String::isLatin1@-1 (line 4821)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf0680: e02b d995 | d7ff ff17
0x000000010fbf0688: ; {internal_word}
0x000000010fbf0688: 88fe ff10 | 883b 02f9
0x000000010fbf0690: ; {runtime_call SafepointBlob}
0x000000010fbf0690: 9cd8 d515 | 8087 42f9 | 9f87 02f9 | 9f8b 02f9 | fd7b 42a9 | ffc3 0091
0x000000010fbf06a8: ; {runtime_call unwind_exception Runtime1 stub}
0x000000010fbf06a8: 360f d915 | 0000 0000
[Exception Handler]
0x000000010fbf06b0: ; {no_reloc}
0x000000010fbf06b0: 141d d995 | c1d5 bbd4 | d1d3 f206 | 0100 0000
[Deopt Handler Code]
0x000000010fbf06c0: 1e00 0010
0x000000010fbf06c4: ; {runtime_call DeoptimizationBlob}
0x000000010fbf06c4: 5fd9 d515
[/MachCode]
============================= C1-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------
Compiled method (c1) 16 3 3 java.lang.String::charAt (25 bytes)
total in heap [0x000000010fbf0810,0x000000010fbf1098] = 2184
relocation [0x000000010fbf0960,0x000000010fbf09e8] = 136
main code [0x000000010fbf0a00,0x000000010fbf0d90] = 912
stub code [0x000000010fbf0d90,0x000000010fbf0dd8] = 72
oops [0x000000010fbf0dd8,0x000000010fbf0de0] = 8
metadata [0x000000010fbf0de0,0x000000010fbf0e28] = 72
scopes data [0x000000010fbf0e28,0x000000010fbf0ef0] = 200
scopes pcs [0x000000010fbf0ef0,0x000000010fbf1080] = 400
dependencies [0x000000010fbf1080,0x000000010fbf1088] = 8
nul chk table [0x000000010fbf1088,0x000000010fbf1098] = 16
[Constant Pool (empty)]
[MachCode]
[Entry Point]
# {method} {0x000000c00000ff98} 'charAt' '(I)C' in 'java/lang/String'
# this: c_rarg1:c_rarg1
= 'java/lang/String'
# parm0: c_rarg2 = int
# [sp+0x70] (sp of caller)
0x000000010fbf0a00: 2808 40b9 | 3f01 086b | c001 0054
0x000000010fbf0a0c: ; {runtime_call ic_miss_stub}
0x000000010fbf0a0c: 1dbd d515 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
0x000000010fbf0a2c: 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
[Verified Entry Point]
0x000000010fbf0a40: 1f20 03d5 | e953 40d1 | 3f01 00f9 | ffc3 01d1 | fd7b 06a9 | 2801 0018 | 8923 40b9 | 1f01 09eb
0x000000010fbf0a60: e000 0054 | 0830 93d2 | c8e2 a2f2 | 2800 c0f2 | 0001 3fd6 | 0200 0014 | 0000 0000
0x000000010fbf0a7c: ; {metadata(method data for {method} {0x000000c00000ff98} 'charAt' '(I)C' in 'java/lang/String')}
0x000000010fbf0a7c: 00bf 9ed2 | 0040 a5f2 | 2000 c0f2 | 03ac 40b9 | 6308 0011 | 03ac 00b9 | 6324 1f12 | 7f00 0071
0x000000010fbf0a9c: ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::charAt@0 (line 1554)
0x000000010fbf0a9c: 6010 0054 | e003 01aa
0x000000010fbf0aa4: ; {metadata(method data for {method} {0x000000c00000ff98} 'charAt' '(I)C' in 'java/lang/String')}
0x000000010fbf0aa4: 03bf 9ed2 | 0340 a5f2 | 2300 c0f2 | 6878 40f9 | 0805 0091 | 6878 00f9
0x000000010fbf0abc: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf0abc: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 03ac 40b9 | 6308 0011 | 03ac 00b9 | 634c 1f12 | 7f00 0071
0x000000010fbf0adc: 600f 0054
0x000000010fbf0ae0: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf0ae0: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 0380 40f9 | 6304 0091
0x000000010fbf0af4: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@3 (line 4821)
; - java.lang.String::charAt@1 (line 1554)
0x000000010fbf0af4: 0380 00f9
0x000000010fbf0af8: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@7 (line 4821)
; - java.lang.String::charAt@1 (line 1554)
0x000000010fbf0af8: 2040 8039 | 1f00 0071
0x000000010fbf0b00: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf0b00: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 0822 80d2 | 0924 80d2 | 0311 899a | 0468 63f8 | 8404 0091
0x000000010fbf0b20: 0468 23f8
0x000000010fbf0b24: ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@10 (line 4821)
; - java.lang.String::charAt@1 (line 1554)
0x000000010fbf0b24: 2101 0054
0x000000010fbf0b28: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf0b28: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 0398 40f9 | 6304 0091 | 0398 00f9 | e003 0032
0x000000010fbf0b44: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@14 (line 4821)
; - java.lang.String::charAt@1 (line 1554)
0x000000010fbf0b44: 0200 0014
0x000000010fbf0b48: ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@18 (line 4821)
; - java.lang.String::charAt@1 (line 1554)
0x000000010fbf0b48: 0000 a052 | 0000 0012 | 1f00 0071
0x000000010fbf0b54: ; {metadata(method data for {method} {0x000000c00000ff98} 'charAt' '(I)C' in 'java/lang/String')}
0x000000010fbf0b54: 00bf 9ed2 | 0040 a5f2 | 2000 c0f2 | 0825 80d2 | 0927 80d2 | 0301 899a | 0468 63f8 | 8404 0091
0x000000010fbf0b74: 0468 23f8
0x000000010fbf0b78: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::charAt@4 (line 1554)
0x000000010fbf0b78: e007 0054 | 2014 40b9
0x000000010fbf0b80: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::charAt@8 (line 1555)
0x000000010fbf0b80: 00f0 7dd3
0x000000010fbf0b84: ; {metadata(method data for {method} {0x000000c00000ff98} 'charAt' '(I)C' in 'java/lang/String')}
0x000000010fbf0b84: 01bf 9ed2 | 0140 a5f2 | 2100 c0f2 | 28a4 40f9 | 0805 0091 | 28a4 00f9
0x000000010fbf0b9c: ; {metadata(method data for {method} {0x000000c000026df0} 'charAt' '([BI)C' in 'java/lang/StringLatin1')}
0x000000010fbf0b9c: 01f5 9ed2 | 0140 a5f2 | 2100 c0f2 | 23ac 40b9 | 6308 0011 | 23ac 00b9 | 634c 1f12 | 7f00 0071
0x000000010fbf0bbc: 6009 0054
0x000000010fbf0bc0: ; implicit exception: dispatches to 0x000000010fbf0d08
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::charAt@2 (line 46)
; - java.lang.String::charAt@12 (line 1555)
0x000000010fbf0bc0: 010c 40b9
0x000000010fbf0bc4: ; {metadata(method data for {method} {0x000000c000026df0} 'charAt' '([BI)C' in 'java/lang/StringLatin1')}
0x000000010fbf0bc4: 03f5 9ed2 | 0340 a5f2 | 2300 c0f2 | 6878 40f9 | 0805 0091 | 6878 00f9
0x000000010fbf0bdc: ; {metadata(method data for {method} {0x000000c0004b1c00} 'checkIndex' '(II)V' in 'java/lang/String')}
0x000000010fbf0bdc: 031e 9fd2 | 0340 a5f2 | 2300 c0f2 | 64ac 40b9 | 8408 0011 | 64ac 00b9 | 844c 1f12 | 9f00 0071
0x000000010fbf0bfc: 8008 0054
0x000000010fbf0c00: ; {metadata(method data for {method} {0x000000c0004b1c00} 'checkIndex' '(II)V' in 'java/lang/String')}
0x000000010fbf0c00: 031e 9fd2 | 0340 a5f2 | 2300 c0f2 | 6878 40f9 | 0805 0091 | 6878 00f9
0x000000010fbf0c18: ; {oop(a 'jdk/internal/util/Preconditions$4'{0x000000061fc034a0})}
0x000000010fbf0c18: 0394 86d2 | 03f8 a3f2 | c300 c0f2 | 0300 a052 | 5f00 036b | 0b08 0054 | 5f00 016b | 2a08 0054
0x000000010fbf0c38: ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::checkIndex@5 (line 4832)
; - java.lang.StringLatin1::charAt@3 (line 46)
; - java.lang.String::charAt@12 (line 1555)
0x000000010fbf0c38: e303 02aa | 3f00 026b | 2908 0054 | 4140 0011
0x000000010fbf0c48: ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::charAt@8 (line 47)
; - java.lang.String::charAt@12 (line 1555)
0x000000010fbf0c48: 0078 a138 | 001c 0012 | e13f 0032 | 0000 010a | 0000 010a | fd7b 46a9 | ffc3 0191
0x000000010fbf0c64: ; {poll_return}
0x000000010fbf0c64: 882f 42f9 | ff63 28eb | 8807 0054
0x000000010fbf0c70: ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::charAt@15 (line 1555)
0x000000010fbf0c70: c003 5fd6 | 2114 40b9
0x000000010fbf0c78: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::charAt@17 (line 1557)
0x000000010fbf0c78: 21f0 7dd3
0x000000010fbf0c7c: ; ImmutableOopMap {}
;*invokestatic charAt {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::charAt@21 (line 1557)
; {static_call}
0x000000010fbf0c7c: c1be d595
0x000000010fbf0c80: ; {other}
0x000000010fbf0c80: 1f20 03d5 | 1f8e 80f2
0x000000010fbf0c88: ;*invokestatic charAt {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::charAt@21 (line 1557)
0x000000010fbf0c88: 1f00 80f2 | 003c 0012 | fd7b 46a9 | ffc3 0191
0x000000010fbf0c98: ; {poll_return}
0x000000010fbf0c98: 882f 42f9 | ff63 28eb | 4806 0054 | c003 5fd6
0x000000010fbf0ca8: ; {metadata({method} {0x000000c00000ff98} 'charAt' '(I)C' in 'java/lang/String')}
0x000000010fbf0ca8: 08f3 9fd2 | 0800 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf0cc0: ; ImmutableOopMap {c_rarg1=Oop }
;*synchronization entry
; - java.lang.String::charAt@-1 (line 1554)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf0cc0: 502a d995 | 77ff ff17
0x000000010fbf0cc8: ; {metadata({method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf0cc8: 08c2 80d2 | 6809 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf0ce0: ; ImmutableOopMap {c_rarg1=Oop }
;*synchronization entry
; - java.lang.String::isLatin1@-1 (line 4821)
; - java.lang.String::charAt@1 (line 1554)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf0ce0: 482a d995 | 7fff ff17
0x000000010fbf0ce8: ; {metadata({method} {0x000000c000026df0} 'charAt' '([BI)C' in 'java/lang/StringLatin1')}
0x000000010fbf0ce8: 08be 8dd2 | 4800 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf0d00: ; ImmutableOopMap {c_rarg0=Oop }
;*synchronization entry
; - java.lang.StringLatin1::charAt@-1 (line 46)
; - java.lang.String::charAt@12 (line 1555)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf0d00: 402a d995 | afff ff17
0x000000010fbf0d08: ; ImmutableOopMap {c_rarg0=Oop }
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::charAt@2 (line 46)
; - java.lang.String::charAt@12 (line 1555)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x000000010fbf0d08: 1e13 d995
0x000000010fbf0d0c: ; {metadata({method} {0x000000c0004b1c00} 'checkIndex' '(II)V' in 'java/lang/String')}
0x000000010fbf0d0c: 0880 83d2 | 6809 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf0d24: ; ImmutableOopMap {c_rarg0=Oop }
;*synchronization entry
; - java.lang.String::checkIndex@-1 (line 4832)
; - java.lang.StringLatin1::charAt@3 (line 46)
; - java.lang.String::charAt@12 (line 1555)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf0d24: 372a d995 | b6ff ff17 | 6803 8092 | e803 00f9
0x000000010fbf0d34: ; ImmutableOopMap {c_rarg0=Oop }
;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::checkIndex@5 (line 4832)
; - java.lang.StringLatin1::charAt@3 (line 46)
; - java.lang.String::charAt@12 (line 1555)
; {runtime_call deoptimize Runtime1 stub}
0x000000010fbf0d34: d324 d995 | 6803 8092 | e803 00f9
0x000000010fbf0d40: ; ImmutableOopMap {c_rarg0=Oop }
;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::checkIndex@5 (line 4832)
; - java.lang.StringLatin1::charAt@3 (line 46)
; - java.lang.String::charAt@12 (line 1555)
; {runtime_call deoptimize Runtime1 stub}
0x000000010fbf0d40: d024 d995 | e803 02aa | e903 00aa
0x000000010fbf0d4c: ; {runtime_call throw_range_check_failed Runtime1 stub}
0x000000010fbf0d4c: 1ea0 89d2 | 7ee4 a2f2 | 3e00 c0f2
0x000000010fbf0d58: ; ImmutableOopMap {c_rarg0=Oop }
;*baload {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::charAt@8 (line 47)
; - java.lang.String::charAt@12 (line 1555)
0x000000010fbf0d58: c003 3fd6
0x000000010fbf0d5c: ; {internal_word}
0x000000010fbf0d5c: 48f8 ff10 | 883b 02f9
0x000000010fbf0d64: ; {runtime_call SafepointBlob}
0x000000010fbf0d64: e7d6 d515
0x000000010fbf0d68: ; {internal_word}
0x000000010fbf0d68: 88f9 ff10 | 883b 02f9
0x000000010fbf0d70: ; {runtime_call SafepointBlob}
0x000000010fbf0d70: e4d6 d515 | 8087 42f9 | 9f87 02f9 | 9f8b 02f9 | fd7b 46a9 | ffc3 0191
0x000000010fbf0d88: ; {runtime_call unwind_exception Runtime1 stub}
0x000000010fbf0d88: 7e0d d915 | 0000 0000
[Stub Code]
0x000000010fbf0d90: ; {no_reloc}
0x000000010fbf0d90: df3f 03d5
0x000000010fbf0d94: ; {metadata(nullptr)}
0x000000010fbf0d94: 0c00 80d2 | 0c00 a0f2 | 0c00 c0f2 | 0800 80d2 | 0800 a0f2 | 0800 c0f2 | 0001 1fd6
0x000000010fbf0db0: ; {trampoline_stub}
0x000000010fbf0db0: 4800 0058 | 0001 1fd6 | 8007 1617 | 0100 0000
[Exception Handler]
0x000000010fbf0dc0: ; {runtime_call handle_exception_from_callee Runtime1 stub}
0x000000010fbf0dc0: 501b d995 | c1d5 bbd4 | d1d3 f206 | 0100 0000
[Deopt Handler Code]
0x000000010fbf0dd0: 1e00 0010
0x000000010fbf0dd4: ; {runtime_call DeoptimizationBlob}
0x000000010fbf0dd4: 9bd7 d515
[/MachCode]
Compiled method (n/a) 18 6 n 0 java.lang.invoke.MethodHandle::linkToSpecial(LL)V (native)
total in heap [0x00000001176b8010,0x00000001176b81a8] = 408
relocation [0x00000001176b8160,0x00000001176b8168] = 8
main code [0x00000001176b8180,0x00000001176b81a4] = 36
stub code [0x00000001176b81a4,0x00000001176b81a8] = 4
[Constant Pool (empty)]
[MachCode]
[Verified Entry Point]
# {method} {0x000000012a016350} '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)
0x00000001176b8180: 1f20 03d5 | 3f00 40f9 | 4c24 40b9 | 8cf1 7dd3 | 8c09 40f9 | 6c00 00b4 | 8825 40f9 | 0001 1fd6
0x00000001176b81a0: ; {runtime_call AbstractMethodError throw_exception}
0x00000001176b81a0: d8b5 ea17
[Stub Code]
0x00000001176b81a4: 0000 0000
[/MachCode]
============================= C1-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------
Compiled method (c1) 18 5 3 java.lang.String::hashCode (60 bytes)
total in heap [0x000000010fbf1110,0x000000010fbf1960] = 2128
relocation [0x000000010fbf1260,0x000000010fbf12e8] = 136
main code [0x000000010fbf1300,0x000000010fbf1640] = 832
stub code [0x000000010fbf1640,0x000000010fbf16b8] = 120
metadata [0x000000010fbf16b8,0x000000010fbf16e8] = 48
scopes data [0x000000010fbf16e8,0x000000010fbf1798] = 176
scopes pcs [0x000000010fbf1798,0x000000010fbf1958] = 448
dependencies [0x000000010fbf1958,0x000000010fbf1960] = 8
[Constant Pool (empty)]
[MachCode]
[Entry Point]
# {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String'
# [sp+0x50] (sp of caller)
0x000000010fbf1300: 2808 40b9 | 3f01 086b | c001 0054
0x000000010fbf130c: ; {runtime_call ic_miss_stub}
0x000000010fbf130c: ddba d515 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
0x000000010fbf132c: 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
[Verified Entry Point]
0x000000010fbf1340: 1f20 03d5 | e953 40d1 | 3f01 00f9 | ff43 01d1 | fd7b 04a9 | 2801 0018 | 8923 40b9 | 1f01 09eb
0x000000010fbf1360: e000 0054 | 0830 93d2 | c8e2 a2f2 | 2800 c0f2 | 0001 3fd6 | 0200 0014 | 0000 0000 | e117 00f9
0x000000010fbf1380: ; {metadata(method data for {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf1380: 0079 8cd2 | 2040 a5f2 | 2000 c0f2 | 02ac 40b9 | 4208 0011 | 02ac 00b9 | 4224 1f12 | 5f00 0071
0x000000010fbf13a0: ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@0 (line 2367)
0x000000010fbf13a0: 8011 0054
0x000000010fbf13a4: ;*getfield hash {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@1 (line 2367)
0x000000010fbf13a4: 200c 40b9 | 1f00 0071
0x000000010fbf13ac: ; {metadata(method data for {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf13ac: 0279 8cd2 | 2240 a5f2 | 2200 c0f2 | e80f 7cb2 | e903 78b2 | 0311 899a | 4468 63f8 | 8404 0091
0x000000010fbf13cc: 4468 23f8
0x000000010fbf13d0: ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@6 (line 2368)
0x000000010fbf13d0: 410f 0054
0x000000010fbf13d4: ;*getfield hashIsZero {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@10 (line 2368)
0x000000010fbf13d4: 2244 4039 | 5f00 0071
0x000000010fbf13dc: ; {metadata(method data for {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf13dc: 0279 8cd2 | 2240 a5f2 | 2200 c0f2 | 0822 80d2 | 0924 80d2 | 0311 899a | 4468 63f8 | 8404 0091
0x000000010fbf13fc: 4468 23f8
0x000000010fbf1400: ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@13 (line 2368)
0x000000010fbf1400: c10d 0054 | e003 01aa
0x000000010fbf1408: ; {metadata(method data for {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf1408: 0279 8cd2 | 2240 a5f2 | 2200 c0f2 | 4898 40f9 | 0805 0091 | 4898 00f9
0x000000010fbf1420: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf1420: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 02ac 40b9 | 4208 0011 | 02ac 00b9 | 424c 1f12 | 5f00 0071
0x000000010fbf1440: 800d 0054
0x000000010fbf1444: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf1444: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 0280 40f9 | 4204 0091
0x000000010fbf1458: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@3 (line 4821)
; - java.lang.String::hashCode@17 (line 2369)
0x000000010fbf1458: 0280 00f9
0x000000010fbf145c: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@7 (line 4821)
; - java.lang.String::hashCode@17 (line 2369)
0x000000010fbf145c: 2040 8039 | 1f00 0071
0x000000010fbf1464: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf1464: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 0822 80d2 | 0924 80d2 | 0211 899a | 0368 62f8 | 6304 0091
0x000000010fbf1484: 0368 22f8
0x000000010fbf1488: ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@10 (line 4821)
; - java.lang.String::hashCode@17 (line 2369)
0x000000010fbf1488: 2101 0054
0x000000010fbf148c: ; {metadata(method data for {method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf148c: 000b 9bd2 | 0040 a5f2 | 2000 c0f2 | 0298 40f9 | 4204 0091 | 0298 00f9 | e003 0032
0x000000010fbf14a8: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@14 (line 4821)
; - java.lang.String::hashCode@17 (line 2369)
0x000000010fbf14a8: 0200 0014
0x000000010fbf14ac: ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1@18 (line 4821)
; - java.lang.String::hashCode@17 (line 2369)
0x000000010fbf14ac: 0000 a052 | 0000 0012 | 1f00 0071
0x000000010fbf14b8: ; {metadata(method data for {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf14b8: 0079 8cd2 | 2040 a5f2 | 2000 c0f2 | 082d 80d2 | 092f 80d2 | 0201 899a | 0368 62f8 | 6304 0091
0x000000010fbf14d8: 0368 22f8
0x000000010fbf14dc: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@20 (line 2369)
0x000000010fbf14dc: a002 0054 | 2014 40b9
0x000000010fbf14e4: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@24 (line 2369)
0x000000010fbf14e4: 00f0 7dd3
0x000000010fbf14e8: ; {metadata(method data for {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf14e8: 0279 8cd2 | 2240 a5f2 | 2200 c0f2 | 48c4 40f9 | 0805 0091 | 48c4 00f9
0x000000010fbf1500: ;*invokestatic hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@27 (line 2369)
0x000000010fbf1500: e103 00aa
0x000000010fbf1504: ; ImmutableOopMap {[40]=Oop }
;*invokestatic hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@27 (line 2369)
; {static_call}
0x000000010fbf1504: 9fbc d595
0x000000010fbf1508: ; {other}
0x000000010fbf1508: 1f20 03d5 | 1f7f 80f2
0x000000010fbf1510: ;*invokestatic hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@27 (line 2369)
0x000000010fbf1510: 1f00 80f2
0x000000010fbf1514: ; {metadata(method data for {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf1514: 0179 8cd2 | 2140 a5f2 | 2100 c0f2 | 22cc 40f9 | 4204 0091 | 22cc 00f9
0x000000010fbf152c: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@30 (line 2369)
0x000000010fbf152c: 0800 0014 | 2014 40b9
0x000000010fbf1534: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@34 (line 2370)
0x000000010fbf1534: 00f0 7dd3
0x000000010fbf1538: ;*invokestatic hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@37 (line 2370)
0x000000010fbf1538: e103 00aa
0x000000010fbf153c: ; ImmutableOopMap {[40]=Oop }
;*invokestatic hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@37 (line 2370)
; {static_call}
0x000000010fbf153c: 91bc d595
0x000000010fbf1540: ; {other}
0x000000010fbf1540: 1f20 03d5 | 1f86 80f2
0x000000010fbf1548: ;*invokestatic hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@37 (line 2370)
0x000000010fbf1548: 1f20 80f2 | 1f00 0071
0x000000010fbf1550: ; {metadata(method data for {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf1550: 0179 8cd2 | 2140 a5f2 | 2100 c0f2 | e80b 7ab2 | 093a 80d2 | 0211 899a | 2368 62f8 | 6304 0091
0x000000010fbf1570: 2368 22f8 | e117 40f9
0x000000010fbf1578: ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@42 (line 2371)
0x000000010fbf1578: e101 0054 | e203 0032
0x000000010fbf1580: ;*putfield hashIsZero {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@47 (line 2372)
0x000000010fbf1580: 2244 0039
0x000000010fbf1584: ; {metadata(method data for {method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf1584: 0179 8cd2 | 2140 a5f2 | 2100 c0f2 | 22f0 40f9 | 4204 0091
0x000000010fbf1598: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@50 (line 2372)
0x000000010fbf1598: 22f0 00f9 | fd7b 44a9 | ff43 0191
0x000000010fbf15a4: ; {poll_return}
0x000000010fbf15a4: 882f 42f9 | ff63 28eb | 2803 0054 | c003 5fd6
0x000000010fbf15b4: ;*putfield hash {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::hashCode@55 (line 2374)
0x000000010fbf15b4: 200c 00b9 | fd7b 44a9 | ff43 0191
0x000000010fbf15c0: ; {poll_return}
0x000000010fbf15c0: 882f 42f9 | ff63 28eb | a802 0054 | c003 5fd6
0x000000010fbf15d0: ; {metadata({method} {0x000000c00000fc50} 'hashCode' '()I' in 'java/lang/String')}
0x000000010fbf15d0: 088a 9fd2 | 0800 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf15e8: ; ImmutableOopMap {c_rarg1=Oop [40]=Oop }
;*synchronization entry
; - java.lang.String::hashCode@-1 (line 2367)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf15e8: 0628 d995 | 6eff ff17
0x000000010fbf15f0: ; {metadata({method} {0x000000c0004b0610} 'isLatin1' '()Z' in 'java/lang/String')}
0x000000010fbf15f0: 08c2 80d2 | 6809 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf1608: ; ImmutableOopMap {c_rarg1=Oop [40]=Oop }
;*synchronization entry
; - java.lang.String::isLatin1@-1 (line 4821)
; - java.lang.String::hashCode@17 (line 2369)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf1608: fe27 d995 | 8eff ff17
0x000000010fbf1610: ; {internal_word}
0x000000010fbf1610: a8fc ff10 | 883b 02f9
0x000000010fbf1618: ; {runtime_call SafepointBlob}
0x000000010fbf1618: bad4 d515
0x000000010fbf161c: ; {internal_word}
0x000000010fbf161c: 28fd ff10 | 883b 02f9
0x000000010fbf1624: ; {runtime_call SafepointBlob}
0x000000010fbf1624: b7d4 d515 | 8087 42f9 | 9f87 02f9 | 9f8b 02f9 | fd7b 44a9 | ff43 0191
0x000000010fbf163c: ; {runtime_call unwind_exception Runtime1 stub}
0x000000010fbf163c: 510b d915
[Stub Code]
0x000000010fbf1640: ; {no_reloc}
0x000000010fbf1640: 4800 0058 | 0001 1fd6 | 8007 1617 | 0100 0000
0x000000010fbf1650: ; {static_stub}
0x000000010fbf1650: df3f 03d5
0x000000010fbf1654: ; {metadata(nullptr)}
0x000000010fbf1654: 0c00 80d2 | 0c00 a0f2 | 0c00 c0f2 | 0800 80d2 | 0800 a0f2 | 0800 c0f2 | 0001 1fd6
0x000000010fbf1670: ; {trampoline_stub}
0x000000010fbf1670: 4800 0058 | 0001 1fd6 | 8007 1617 | 0100 0000
0x000000010fbf1680: ; {static_stub}
0x000000010fbf1680: df3f 03d5
0x000000010fbf1684: ; {metadata(nullptr)}
0x000000010fbf1684: 0c00 80d2 | 0c00 a0f2 | 0c00 c0f2 | 0800 80d2 | 0800 a0f2 | 0800 c0f2 | 0001 1fd6
[Exception Handler]
0x000000010fbf16a0: ; {runtime_call handle_exception_from_callee Runtime1 stub}
0x000000010fbf16a0: 1819 d995 | c1d5 bbd4 | d1d3 f206 | 0100 0000
[Deopt Handler Code]
0x000000010fbf16b0: 1e00 0010
0x000000010fbf16b4: ; {runtime_call DeoptimizationBlob}
0x000000010fbf16b4: 63d5 d515
[/MachCode]
Compiled method (n/a) 20 7 n 0 java.lang.invoke.MethodHandle::invokeBasic()L (native)
total in heap [0x00000001176b8310,0x00000001176b84b0] = 416
relocation [0x00000001176b8460,0x00000001176b8468] = 8
main code [0x00000001176b8480,0x00000001176b84b0] = 48
[Constant Pool (empty)]
[MachCode]
[Verified Entry Point]
# {method} {0x000000012a018300} 'invokeBasic' '()Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# [sp+0x0] (sp of caller)
0x00000001176b8480: 1f20 03d5 | 2c14 40b9 | 8cf1 7dd3 | 8c29 40b9 | 8cf1 7dd3 | 8c25 40b9 | 8cf1 7dd3 | 8c09 40f9
0x00000001176b84a0: 6c00 00b4 | 8825 40f9 | 0001 1fd6
0x00000001176b84ac: ; {runtime_call AbstractMethodError throw_exception}
0x00000001176b84ac: 15b5 ea17
[/MachCode]
============================= C1-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------
Compiled method (c1) 20 4 3 java.lang.String::coder (15 bytes)
total in heap [0x000000010fbf1990,0x000000010fbf1d40] = 944
relocation [0x000000010fbf1ae0,0x000000010fbf1b08] = 40
main code [0x000000010fbf1b40,0x000000010fbf1c78] = 312
stub code [0x000000010fbf1c78,0x000000010fbf1c90] = 24
metadata [0x000000010fbf1c90,0x000000010fbf1ca0] = 16
scopes data [0x000000010fbf1ca0,0x000000010fbf1cc8] = 40
scopes pcs [0x000000010fbf1cc8,0x000000010fbf1d38] = 112
dependencies [0x000000010fbf1d38,0x000000010fbf1d40] = 8
[Constant Pool (empty)]
[MachCode]
[Entry Point]
# {method} {0x000000c0004b1448} 'coder' '()B' in 'java/lang/String'
# [sp+0x30] (sp of caller)
0x000000010fbf1b40: 2808 40b9 | 3f01 086b | c001 0054
0x000000010fbf1b4c: ; {runtime_call ic_miss_stub}
0x000000010fbf1b4c: cdb8 d515 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
0x000000010fbf1b6c: 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
[Verified Entry Point]
0x000000010fbf1b80: 1f20 03d5 | e953 40d1 | 3f01 00f9 | ffc3 00d1 | fd7b 02a9 | 2801 0018 | 8923 40b9 | 1f01 09eb
0x000000010fbf1ba0: e000 0054 | 0830 93d2 | c8e2 a2f2 | 2800 c0f2 | 0001 3fd6 | 0200 0014 | 0000 0000
0x000000010fbf1bbc: ; {metadata(method data for {method} {0x000000c0004b1448} 'coder' '()B' in 'java/lang/String')}
0x000000010fbf1bbc: 006f 90d2 | 2040 a5f2 | 2000 c0f2 | 02ac 40b9 | 4208 0011 | 02ac 00b9 | 4224 1f12 | 5f00 0071
0x000000010fbf1bdc: ;*getstatic COMPACT_STRINGS {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@0 (line 4813)
0x000000010fbf1bdc: c002 0054
0x000000010fbf1be0: ; {metadata(method data for {method} {0x000000c0004b1448} 'coder' '()B' in 'java/lang/String')}
0x000000010fbf1be0: 006f 90d2 | 2040 a5f2 | 2000 c0f2 | 0280 40f9 | 4204 0091
0x000000010fbf1bf4: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@3 (line 4813)
0x000000010fbf1bf4: 0280 00f9
0x000000010fbf1bf8: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@7 (line 4813)
0x000000010fbf1bf8: 2040 8039
0x000000010fbf1bfc: ; {metadata(method data for {method} {0x000000c0004b1448} 'coder' '()B' in 'java/lang/String')}
0x000000010fbf1bfc: 016f 90d2 | 2140 a5f2 | 2100 c0f2 | 2288 40f9 | 4204 0091
0x000000010fbf1c10: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@10 (line 4813)
0x000000010fbf1c10: 2288 00f9 | 001c 0853 | 007c 1813 | fd7b 42a9 | ffc3 0091
0x000000010fbf1c24: ; {poll_return}
0x000000010fbf1c24: 882f 42f9 | ff63 28eb | 4801 0054 | c003 5fd6
0x000000010fbf1c34: ; {metadata({method} {0x000000c0004b1448} 'coder' '()B' in 'java/lang/String')}
0x000000010fbf1c34: 0889 82d2 | 6809 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf1c4c: ; ImmutableOopMap {c_rarg1=Oop }
;*synchronization entry
; - java.lang.String::coder@-1 (line 4813)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf1c4c: 6d26 d995 | e4ff ff17
0x000000010fbf1c54: ; {internal_word}
0x000000010fbf1c54: 88fe ff10 | 883b 02f9
0x000000010fbf1c5c: ; {runtime_call SafepointBlob}
0x000000010fbf1c5c: 29d3 d515 | 8087 42f9 | 9f87 02f9 | 9f8b 02f9 | fd7b 42a9 | ffc3 0091
0x000000010fbf1c74: ; {runtime_call unwind_exception Runtime1 stub}
0x000000010fbf1c74: c309 d915
[Exception Handler]
0x000000010fbf1c78: ; {no_reloc}
0x000000010fbf1c78: a217 d995 | c1d5 bbd4 | d1d3 f206 | 0100 0000
[Deopt Handler Code]
0x000000010fbf1c88: 1e00 0010
0x000000010fbf1c8c: ; {runtime_call DeoptimizationBlob}
0x000000010fbf1c8c: edd3 d515
[/MachCode]
Compiled method (n/a) 21 8 n 0 java.lang.invoke.MethodHandle::linkToSpecial(LL)L (native)
total in heap [0x00000001176b8610,0x00000001176b87a8] = 408
relocation [0x00000001176b8760,0x00000001176b8768] = 8
main code [0x00000001176b8780,0x00000001176b87a4] = 36
stub code [0x00000001176b87a4,0x00000001176b87a8] = 4
[Constant Pool (empty)]
[MachCode]
[Verified Entry Point]
# {method} {0x000000012a018610} '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)
0x00000001176b8780: 1f20 03d5 | 3f00 40f9 | 4c24 40b9 | 8cf1 7dd3 | 8c09 40f9 | 6c00 00b4 | 8825 40f9 | 0001 1fd6
0x00000001176b87a0: ; {runtime_call AbstractMethodError throw_exception}
0x00000001176b87a0: 58b4 ea17
[Stub Code]
0x00000001176b87a4: 0000 0000
[/MachCode]
============================= C1-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------
Compiled method (c1) 22 9 3 java.util.concurrent.ConcurrentHashMap::tabAt (22 bytes)
total in heap [0x000000010fbf1d90,0x000000010fbf2310] = 1408
relocation [0x000000010fbf1ee0,0x000000010fbf1f28] = 72
main code [0x000000010fbf1f40,0x000000010fbf2218] = 728
stub code [0x000000010fbf2218,0x000000010fbf2230] = 24
oops [0x000000010fbf2230,0x000000010fbf2238] = 8
metadata [0x000000010fbf2238,0x000000010fbf2260] = 40
scopes data [0x000000010fbf2260,0x000000010fbf2298] = 56
scopes pcs [0x000000010fbf2298,0x000000010fbf2308] = 112
dependencies [0x000000010fbf2308,0x000000010fbf2310] = 8
[Constant Pool (empty)]
[MachCode]
[Verified Entry Point]
# {method} {0x000000c00045ae50} 'tabAt' '([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;' in 'java/util/concurrent/ConcurrentHashMap'
# parm0: c_rarg1:c_rarg1
= '[Ljava/util/concurrent/ConcurrentHashMap$Node;'
# parm1: c_rarg2 = int
# [sp+0x80] (sp of caller)
0x000000010fbf1f40: 1f20 03d5 | e953 40d1 | 3f01 00f9 | ff03 02d1 | fd7b 07a9 | 2801 0018 | 8923 40b9 | 1f01 09eb
0x000000010fbf1f60: e000 0054 | 0830 93d2 | c8e2 a2f2 | 2800 c0f2 | 0001 3fd6 | 0200 0014 | 0100 0000
0x000000010fbf1f7c: ; {metadata(method data for {method} {0x000000c00045ae50} 'tabAt' '([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;' in 'java/util/concurrent/ConcurrentHashMap')}
0x000000010fbf1f7c: 0052 93d2 | 2040 a5f2 | 2000 c0f2 | 03ac 40b9 | 6308 0011 | 03ac 00b9 | 6324 1f12 | 7f00 0071
0x000000010fbf1f9c: ;*getstatic U {reexecute=0 rethrow=0 return_oop=0}
; - java.util.concurrent.ConcurrentHashMap::tabAt@0 (line 760)
0x000000010fbf1f9c: e00f 0054
0x000000010fbf1fa0: ; {metadata(method data for {method} {0x000000c00045ae50} 'tabAt' '([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;' in 'java/util/concurrent/ConcurrentHashMap')}
0x000000010fbf1fa0: 0052 93d2 | 2040 a5f2 | 2000 c0f2 | 00a0 0491 | e303 01aa | a300 00b5 | 0904 40f9 | 2901 40b2
0x000000010fbf1fc0: 0904 00f9 | 1500 0014 | 6308 40b9 | 6304 5ad2 | 0904 40f9 | 6300 09ca | 68f4 7e92 | e801 00b4
0x000000010fbf1fe0: c301 0837 | 8901 00b4 | 3f05 00f1 | 4001 0054 | bf39 03d5 | 0904 40f9 | 6300 09ca | 68f4 7e92
0x000000010fbf2000: c800 00b4 | 0904 40f9 | 2901 7fb2 | 0904 00f9 | 0200 0014 | 0304 00f9
0x000000010fbf2018: ; {oop(a 'jdk/internal/misc/Unsafe'{0x000000061fc028d0})}
0x000000010fbf2018: 001a 85d2 | 00f8 a3f2 | c000 c0f2
0x000000010fbf2024: ; {metadata(method data for {method} {0x000000c00045ae50} 'tabAt' '([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;' in 'java/util/concurrent/ConcurrentHashMap')}
0x000000010fbf2024: 0352 93d2 | 2340 a5f2 | 2300 c0f2 | 6878 40f9 | 0805 0091 | 6878 00f9 | 427c 4093 | 40f4 7ed3
0x000000010fbf2044: 0040 0091
0x000000010fbf2048: ; {metadata(method data for {method} {0x000000c00049bfa0} 'getReferenceAcquire' '(Ljava/lang/Object;J)Ljava/lang/Object;' in 'jdk/internal/misc/Unsafe')}
0x000000010fbf2048: 0296 93d2 | 2240 a5f2 | 2200 c0f2 | 43ac 40b9 | 6308 0011 | 43ac 00b9 | 634c 1f12 | 7f00 0071
0x000000010fbf2068: 800a 0054 | bf3b 03d5 | 2068 60b8 | 00f0 7dd3 | bf39 03d5 | 8103 4139 | 3f00 0071 | a10a 0054
0x000000010fbf2088: 0001 00b5
0x000000010fbf208c: ; {metadata(method data for {method} {0x000000c00045ae50} 'tabAt' '([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;' in 'java/util/concurrent/ConcurrentHashMap')}
0x000000010fbf208c: 0352 93d2 | 2340 a5f2 | 2300 c0f2 | 68e4 4439 | 0801 40b2 | 68e4 0439 | 3700 0014
0x000000010fbf20a8: ; {metadata('java/util/concurrent/ConcurrentHashMap$Node')}
0x000000010fbf20a8: 02c8 94d2 | 2203 a0f2 | 0218 c0f2 | 0308 40b9 | 6304 5ad2 | 681c 40f9 | 5f00 08eb | e104 0054
0x000000010fbf20c8: ; {metadata(method data for {method} {0x000000c00045ae50} 'tabAt' '([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;' in 'java/util/concurrent/ConcurrentHashMap')}
0x000000010fbf20c8: 0352 93d2 | 2340 a5f2 | 2300 c0f2 | 0208 40b9 | 4204 5ad2 | 6940 0591 | 2801 40f9 | 5f00 08eb
0x000000010fbf20e8: a100 0054 | 68ac 40f9 | 0805 0091 | 68ac 00f9 | 2200 0014 | 6980 0591 | 2801 40f9 | 5f00 08eb
0x000000010fbf2108: a100 0054 | 68b4 40f9 | 0805 0091 | 68b4 00f9 | 1a00 0014 | 6940 0591 | 2801 40f9 | c800 00b5
0x000000010fbf2128: 2201 00f9 | e803 40b2 | 6960 0591 | 2801 00f9 | 1200 0014 | 6980 0591 | 2801 40f9 | c800 00b5
0x000000010fbf2148: 2201 00f9 | e803 40b2 | 69a0 0591 | 2801 00f9 | 0a00 0014 | 0900 0014
0x000000010fbf2160: ; {metadata(method data for {method} {0x000000c00045ae50} 'tabAt' '([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;' in 'java/util/concurrent/ConcurrentHashMap')}
0x000000010fbf2160: 0352 93d2 | 2340 a5f2 | 2300 c0f2 | 68a0 40f9 | 0805 00d1 | 68a0 00f9 | 1c00 0014
0x000000010fbf217c: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - java.util.concurrent.ConcurrentHashMap::tabAt@18 (line 760)
0x000000010fbf217c: 0100 0014 | fd7b 47a9 | ff03 0291
0x000000010fbf2188: ; {poll_return}
0x000000010fbf2188: 882f 42f9 | ff63 28eb | 0803 0054 | c003 5fd6
0x000000010fbf2198: ; {metadata({method} {0x000000c00045ae50} 'tabAt' '([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;' in 'java/util/concurrent/ConcurrentHashMap')}
0x000000010fbf2198: 08ca 95d2 | a808 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf21b0: ; ImmutableOopMap {c_rarg1=Oop }
;*synchronization entry
; - java.util.concurrent.ConcurrentHashMap::tabAt@-1 (line 760)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf21b0: 1425 d995 | 7bff ff17
0x000000010fbf21b8: ; {metadata({method} {0x000000c00049bfa0} 'getReferenceAcquire' '(Ljava/lang/Object;J)Ljava/lang/Object;' in 'jdk/internal/misc/Unsafe')}
0x000000010fbf21b8: 08f4 97d2 | 2809 a0f2 | 0818 c0f2 | e807 00f9 | 0800 8092 | e803 00f9
0x000000010fbf21d0: ; ImmutableOopMap {c_rarg1=Oop }
;*synchronization entry
; - jdk.internal.misc.Unsafe::getReferenceAcquire@-1 (line 2153)
; - java.util.concurrent.ConcurrentHashMap::tabAt@15 (line 760)
; {runtime_call counter_overflow Runtime1 stub}
0x000000010fbf21d0: 0c25 d995 | a6ff ff17 | 80f5 ffb4 | e003 00f9
0x000000010fbf21e0: ; {runtime_call g1_pre_barrier_slow}
0x000000010fbf21e0: 8826 d995 | a9ff ff17 | e803 00aa
0x000000010fbf21ec: ; ImmutableOopMap {}
;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - java.util.concurrent.ConcurrentHashMap::tabAt@18 (line 760)
; {runtime_call throw_class_cast_exception Runtime1 stub}
0x000000010fbf21ec: 8519 d995
0x000000010fbf21f0: ; {internal_word}
0x000000010fbf21f0: c8fc ff10 | 883b 02f9
0x000000010fbf21f8: ; {runtime_call SafepointBlob}
0x000000010fbf21f8: c2d1 d515 | 8087 42f9 | 9f87 02f9 | 9f8b 02f9 | fd7b 47a9 | ff03 0291
0x000000010fbf2210: ; {runtime_call unwind_exception Runtime1 stub}
0x000000010fbf2210: 5c08 d915 | 0000 0000
[Exception Handler]
0x000000010fbf2218: ; {no_reloc}
0x000000010fbf2218: 3a16 d995 | c1d5 bbd4 | d1d3 f206 | 0100 0000
[Deopt Handler Code]
0x000000010fbf2228: 1e00 0010
0x000000010fbf222c: ; {runtime_call DeoptimizationBlob}
0x000000010fbf222c: 85d2 d515
[/MachCode]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment