This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Compiled from "LambdaJitTrace.java" | |
public class LambdaJitTrace { | |
public LambdaJitTrace(); | |
Code: | |
0: aload_0 | |
1: invokespecial #1 // Method java/lang/Object."<init>":()V | |
4: return | |
public static void main(java.lang.String[]); | |
Code: | |
0: invokedynamic #2, 0 // InvokeDynamic #0:apply:()Ljava/util/function/Function; | |
5: astore_1 | |
6: aload_1 | |
7: invokedynamic #3, 0 // InvokeDynamic #1:apply:(Ljava/util/function/Function;)Ljava/util/function/Function; | |
12: astore_2 | |
13: aload_2 | |
14: invokedynamic #4, 0 // InvokeDynamic #2:applyAsInt:(Ljava/util/function/Function;)Ljava/util/function/ToIntFunction; | |
19: astore_3 | |
20: iconst_0 | |
21: istore 4 | |
23: iconst_0 | |
24: istore 5 | |
26: iload 5 | |
28: ldc #5 // int 1000000 | |
30: if_icmpge 52 | |
33: iload 4 | |
35: aload_3 | |
36: ldc #6 // String a | |
38: invokeinterface #7, 2 // InterfaceMethod java/util/function/ToIntFunction.applyAsInt:(Ljava/lang/Object;)I | |
43: iadd | |
44: istore 4 | |
46: iinc 5, 1 | |
49: goto 26 | |
52: getstatic #8 // Field java/lang/System.out:Ljava/io/PrintStream; | |
55: new #9 // class java/lang/StringBuilder | |
58: dup | |
59: invokespecial #10 // Method java/lang/StringBuilder."<init>":()V | |
62: ldc #11 // String total length: | |
64: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
67: iload 4 | |
69: invokevirtual #13 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
72: invokevirtual #14 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
75: invokevirtual #15 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
78: return | |
private static int lambda$main$2(java.util.function.Function, java.lang.String); | |
Code: | |
0: aload_0 | |
1: aload_1 | |
2: invokeinterface #16, 2 // InterfaceMethod java/util/function/Function.apply:(Ljava/lang/Object;)Ljava/lang/Object; | |
7: checkcast #17 // class java/lang/String | |
10: invokevirtual #18 // Method java/lang/String.length:()I | |
13: ireturn | |
private static java.lang.String lambda$main$1(java.util.function.Function, java.lang.String); | |
Code: | |
0: new #9 // class java/lang/StringBuilder | |
3: dup | |
4: invokespecial #10 // Method java/lang/StringBuilder."<init>":()V | |
7: aload_0 | |
8: aload_1 | |
9: invokeinterface #16, 2 // InterfaceMethod java/util/function/Function.apply:(Ljava/lang/Object;)Ljava/lang/Object; | |
14: checkcast #17 // class java/lang/String | |
17: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
20: aload_0 | |
21: aload_1 | |
22: invokeinterface #16, 2 // InterfaceMethod java/util/function/Function.apply:(Ljava/lang/Object;)Ljava/lang/Object; | |
27: checkcast #17 // class java/lang/String | |
30: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
33: invokevirtual #14 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
36: areturn | |
private static java.lang.String lambda$main$0(java.lang.String); | |
Code: | |
0: aload_0 | |
1: invokevirtual #19 // Method java/lang/String.trim:()Ljava/lang/String; | |
4: areturn | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{method} | |
- this oop: 0x00007f624726b808 | |
- method holder: 'java/lang/String' | |
- constants: 0x00007f6247268100 constant pool [678] {0x00007f6247268100} for 'java/lang/String' cache=0x00007f6247318478 | |
- access: 0x81000001 public | |
- name: 'charAt' | |
- signature: '(I)C' | |
- max stack: 4 | |
- max locals: 2 | |
- size of params: 2 | |
- method size: 12 | |
- highest level: 3 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580b9c48: 0xba000000 i2c: 0x00007f624910e860 c2i: 0x00007f624910e977 c2iUV: 0x00007f624910e94a | |
- compiled entry 0x00007f62491fae80 | |
- code size: 29 | |
- code start: 0x00007f624726b7c8 | |
- code end (excl): 0x00007f624726b7e5 | |
- method data: 0x00007f624740f2c8 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f624726b7e5 | |
- localvar length: 2 | |
- localvar start: 0x00007f624726b7ee | |
- compiled code: nmethod 142 4 3 java.lang.String::charAt (29 bytes) | |
# | |
# char ( java/lang/String:NotNull:exact *, int ) | |
# | |
#r018 rsi:rsi : parm 0: java/lang/String:NotNull:exact * | |
#r016 rdx : parm 1: int | |
# -- Old rsp -- Framesize: 48 -- | |
#r191 rsp+44: in_preserve | |
#r190 rsp+40: return address | |
#r189 rsp+36: in_preserve | |
#r188 rsp+32: saved fp register | |
#r187 rsp+28: pad2, stack alignment | |
#r186 rsp+24: pad2, stack alignment | |
#r185 rsp+20: Fixed slot 1 | |
#r184 rsp+16: Fixed slot 0 | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
000 N68: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 movl rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass | |
decode_klass_not_null rscratch1, rscratch1 | |
cmpq rax, rscratch1 # Inline cache check | |
jne SharedRuntime::_ic_miss_stub | |
nop # nops to align entry point | |
nop # 12 bytes pad for loops and calls | |
020 B1: # B7 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #32 # Create frame | |
02c testl RDX, RDX | |
02e jl,s B7 P=0.000000 C=5643.000000 | |
02e | |
030 B2: # B8 B3 <- B1 Freq: 1 | |
030 movl RBP, [RSI + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
033 movl R10, [RBP + #12 (8-bit)] # range | |
037 NullCheck RBP | |
037 | |
037 B3: # B7 B4 <- B2 Freq: 0.999999 | |
037 cmpl RDX, R10 | |
03a jge,s B7 P=0.000000 C=5643.000000 | |
03a | |
03c B4: # B6 B5 <- B3 Freq: 0.999998 | |
03c cmpl RDX, R10 # unsigned | |
03f jnb,us B6 P=0.000001 C=-1.000000 | |
03f | |
041 B5: # N68 <- B4 Freq: 0.999997 | |
041 movzwl RAX, [RBP + #16 + RDX << #1] # ushort/char | |
046 addq rsp, 32 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
051 ret | |
051 | |
052 B6: # N68 <- B4 Freq: 1.01328e-06 | |
052 movl RSI, #-28 # int | |
057 movl [rsp + #0], RDX # spill | |
nop # 1 bytes pad for loops and calls | |
05b call,static wrapper for: uncommon_trap(reason='range_check' action='make_not_entrant') | |
# java.lang.String::charAt @ bci:27 L[0]=_ L[1]=_ STK[0]=RBP STK[1]=rsp + #0 | |
# OopMap{rbp=NarrowOop off=96} | |
060 int3 # ShouldNotReachHere | |
060 | |
065 B7: # N68 <- B3 B1 Freq: 9.76836e-07 | |
065 movl RSI, #5 # int | |
06a movl RBP, RDX # spill | |
nop # 3 bytes pad for loops and calls | |
06f call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::charAt @ bci:13 L[0]=_ L[1]=RBP | |
# OopMap{off=116} | |
074 int3 # ShouldNotReachHere | |
074 | |
079 B8: # N68 <- B2 Freq: 1.01328e-06 | |
079 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
07f call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::charAt @ bci:9 L[0]=_ L[1]=_ STK[0]=_ STK[1]=#NULL | |
# OopMap{off=132} | |
084 int3 # ShouldNotReachHere | |
084 | |
{method} | |
- this oop: 0x00007f624726d048 | |
- method holder: 'java/lang/String' | |
- constants: 0x00007f6247268100 constant pool [678] {0x00007f6247268100} for 'java/lang/String' cache=0x00007f6247318478 | |
- access: 0xc1000001 public | |
- name: 'hashCode' | |
- signature: '()I' | |
- max stack: 4 | |
- max locals: 4 | |
- size of params: 1 | |
- method size: 12 | |
- highest level: 3 | |
- vtable index: 3 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580b9a90: 0xb0000000 i2c: 0x00007f6249106ae0 c2i: 0x00007f6249106bf4 c2iUV: 0x00007f6249106bc7 | |
- compiled entry 0x00007f62491f9940 | |
- code size: 55 | |
- code start: 0x00007f624726cfd0 | |
- code end (excl): 0x00007f624726d007 | |
- method data: 0x00007f6247461e00 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f624726d007 | |
- localvar length: 4 | |
- localvar start: 0x00007f624726d016 | |
- compiled code: nmethod 186 1 3 java.lang.String::hashCode (55 bytes) | |
# | |
# int ( java/lang/String:NotNull:exact * ) | |
# | |
#r018 rsi:rsi : parm 0: java/lang/String:NotNull:exact * | |
# -- Old rsp -- Framesize: 48 -- | |
#r191 rsp+44: in_preserve | |
#r190 rsp+40: return address | |
#r189 rsp+36: in_preserve | |
#r188 rsp+32: saved fp register | |
#r187 rsp+28: pad2, stack alignment | |
#r186 rsp+24: pad2, stack alignment | |
#r185 rsp+20: Fixed slot 1 | |
#r184 rsp+16: Fixed slot 0 | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
000 N220: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 movl rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass | |
decode_klass_not_null rscratch1, rscratch1 | |
cmpq rax, rscratch1 # Inline cache check | |
jne SharedRuntime::_ic_miss_stub | |
nop # nops to align entry point | |
nop # 12 bytes pad for loops and calls | |
020 B1: # B19 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #32 # Create frame | |
02c movq R11, RSI # spill | |
02f movl RAX, [RSI + #16 (8-bit)] # int ! Field: java/lang/String.hash | |
032 testl RAX, RAX | |
034 jne B19 P=0.616587 C=1471.000000 | |
034 | |
03a B2: # B22 B3 <- B1 Freq: 0.383413 | |
03a movl RDX, [RSI + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
03d movl R10, [RDX + #12 (8-bit)] # range | |
041 NullCheck RDX | |
041 | |
041 B3: # B20 B4 <- B2 Freq: 0.383412 | |
041 xorl RBP, RBP # int | |
043 testl R10, R10 | |
046 jle B20 P=0.005319 C=564.000000 | |
046 | |
04c B4: # B21 B5 <- B3 Freq: 0.381373 | |
04c testl R10, R10 # unsigned | |
04f jbe,u B21 P=0.000001 C=-1.000000 | |
04f | |
055 B5: # B21 B6 <- B4 Freq: 0.381372 | |
055 movl R9, R10 # spill | |
058 decl R9 # int | |
05b cmpl R9, R10 # unsigned | |
05e jnb,u B21 P=0.000001 C=-1.000000 | |
05e | |
064 B6: # B7 <- B5 Freq: 0.381372 | |
064 xorl R13, R13 # int | |
067 | |
067 B7: # B9 B8 <- B6 B8 Loop: B7-B8 inner pre of N200 Freq: 0.762744 | |
067 movzwl RCX, [RDX + #16 + RBP << #1] # ushort/char | |
06c addl R13, RCX # int | |
06f movl RBX, R13 # spill | |
072 sall RBX, #5 | |
075 movl RAX, RBX # spill | |
077 subl RAX, R13 # int | |
07a incl RBP # int | |
07c cmpl RBP, #1 | |
07f jge,s B9 # loop end P=0.500000 C=16467.000000 | |
07f | |
081 B8: # B7 <- B7 Freq: 0.381372 | |
081 movl R13, RAX # spill | |
084 jmp,s B7 | |
084 | |
086 B9: # B15 B10 <- B7 Freq: 0.381372 | |
086 movl R8, R10 # spill | |
089 addl R8, #-3 # int | |
08d movl RDI, #-2147483648 # int | |
092 cmpl R9, R8 | |
095 cmovll R8, RDI # signed, int | |
099 cmpl RBP, R8 | |
09c jl,s B15 P=0.999999 C=-1.000000 | |
09c | |
09e B10: # B16 <- B9 Freq: 3.86436e-07 | |
09e movl RAX, RBX # spill | |
0a0 jmp B16 | |
0a0 | |
0a5 B11: # B12 <- B12 Freq: 0.190686 | |
0a5 movl R9, RAX # spill | |
0a8 sall R9, #5 | |
0ac movl R13, RAX # spill | |
0af movl RAX, R9 # spill | |
0af | |
0b2 B12: # B11 B13 <- B16 B11 Loop: B12-B11 inner post of N200 Freq: 0.381372 | |
0b2 movzwl R8, [RDX + #16 + RBP << #1] # ushort/char | |
0b8 subl RAX, R13 # int | |
0bb addl RAX, R8 # int | |
0be incl RBP # int | |
0c0 cmpl RBP, R10 | |
0c3 jl,s B11 # loop end P=0.500000 C=16467.000000 | |
0c3 | |
0c5 B13: # B18 <- B12 Freq: 0.190686 | |
0c5 jmp,s B18 | |
nop # 9 bytes pad for loops and calls | |
0d0 B14: # B15 <- B15 top-of-loop Freq: 11.1944 | |
0d0 subl RAX, R13 # int | |
0d3 | |
0d3 B15: # B14 B16 <- B9 B14 Loop: B15-B14 inner main of N78 Freq: 11.5757 | |
0d3 movzwl RCX, [RDX + #16 + RBP << #1] # ushort/char | |
0d8 addl RAX, RCX # int | |
0da movslq R9, RBP # i2l | |
0dd movzwl RCX, [RDX + #18 + R9 << #1] # ushort/char | |
0e3 movzwl RDI, [RDX + #22 + R9 << #1] # ushort/char | |
0e9 movzwl RBX, [RDX + #20 + R9 << #1] # ushort/char | |
0ef movl R9, RAX # spill | |
0f2 sall R9, #5 | |
0f6 subl R9, RAX # int | |
0f9 addl R9, RCX # int | |
0fc movl RCX, R9 # spill | |
0ff sall RCX, #5 | |
102 subl RCX, R9 # int | |
105 addl RCX, RBX # int | |
107 movl R13, RCX # spill | |
10a sall R13, #5 | |
10e subl R13, RCX # int | |
111 addl R13, RDI # int | |
114 movl RAX, R13 # spill | |
117 sall RAX, #5 | |
11a addl RBP, #4 # int | |
11d cmpl RBP, R8 | |
120 jl,s B14 # loop end P=0.967054 C=16467.000000 | |
120 | |
122 B16: # B12 B17 <- B10 B15 Freq: 0.381372 | |
122 cmpl RBP, R10 | |
125 jl,s B12 P=0.500000 C=-1.000000 | |
125 | |
127 B17: # B18 <- B16 Freq: 0.190686 | |
127 movl RAX, R13 # spill | |
127 | |
12a B18: # B19 <- B13 B17 Freq: 0.381372 | |
12a movl [R11 + #16 (8-bit)], RAX # int ! Field: java/lang/String.hash | |
12a | |
12e B19: # N220 <- B18 B20 B1 Freq: 0.999999 | |
12e addq rsp, 32 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
139 ret | |
139 | |
13a B20: # B19 <- B3 Freq: 0.00203943 | |
13a xorl RAX, RAX # int | |
13c jmp,s B19 | |
13c | |
13e B21: # N220 <- B5 B4 Freq: 7.6781e-07 | |
13e movl RSI, #-122 # int | |
143 movq RBP, R11 # spill | |
146 movl [rsp + #0], RDX # spill | |
nop # 2 bytes pad for loops and calls | |
14b call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::hashCode @ bci:33 L[0]=RBP L[1]=#0 L[2]=rsp + #0 L[3]=#0 | |
# OopMap{rbp=Oop [0]=NarrowOop off=336} | |
150 int3 # ShouldNotReachHere | |
150 | |
155 B22: # N220 <- B2 Freq: 3.88504e-07 | |
155 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
15b call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::hashCode @ bci:13 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=#NULL | |
# OopMap{off=352} | |
160 int3 # ShouldNotReachHere | |
160 | |
{method} | |
- this oop: 0x00007f624726d238 | |
- method holder: 'java/lang/String' | |
- constants: 0x00007f6247268100 constant pool [678] {0x00007f6247268100} for 'java/lang/String' cache=0x00007f6247318478 | |
- access: 0xc1000001 public | |
- name: 'indexOf' | |
- signature: '(II)I' | |
- max stack: 4 | |
- max locals: 6 | |
- size of params: 3 | |
- method size: 12 | |
- highest level: 3 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580ba748: 0xbaa00000 i2c: 0x00007f6249119fe0 c2i: 0x00007f624911a120 c2iUV: 0x00007f624911a0f3 | |
- compiled entry 0x00007f62491fb580 | |
- code size: 70 | |
- code start: 0x00007f624726d190 | |
- code end (excl): 0x00007f624726d1d6 | |
- method data: 0x00007f62474995b8 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f624726d1d6 | |
- localvar length: 6 | |
- localvar start: 0x00007f624726d1ee | |
- compiled code: nmethod 207 6 3 java.lang.String::indexOf (70 bytes) | |
# | |
# int ( java/lang/String:NotNull:exact *, int, int ) | |
# | |
#r018 rsi:rsi : parm 0: java/lang/String:NotNull:exact * | |
#r016 rdx : parm 1: int | |
#r010 rcx : parm 2: int | |
# -- Old rsp -- Framesize: 48 -- | |
#r191 rsp+44: in_preserve | |
#r190 rsp+40: return address | |
#r189 rsp+36: in_preserve | |
#r188 rsp+32: saved fp register | |
#r187 rsp+28: pad2, stack alignment | |
#r186 rsp+24: pad2, stack alignment | |
#r185 rsp+20: Fixed slot 1 | |
#r184 rsp+16: Fixed slot 0 | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
000 N254: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 movl rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass | |
decode_klass_not_null rscratch1, rscratch1 | |
cmpq rax, rscratch1 # Inline cache check | |
jne SharedRuntime::_ic_miss_stub | |
nop # nops to align entry point | |
nop # 12 bytes pad for loops and calls | |
020 B1: # B30 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #32 # Create frame | |
02c movl RBX, [RSI + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
02f movl RBP, [RBX + #12 (8-bit)] # range | |
032 NullCheck RBX | |
032 | |
032 B2: # B27 B3 <- B1 Freq: 0.999999 | |
032 movl RAX, #-1 # int | |
037 testl RCX, RCX | |
039 jl B27 P=0.000000 C=1482.000000 | |
039 | |
03f B3: # B25 B4 <- B2 Freq: 0.999999 | |
03f cmpl RCX, RBP | |
041 jge B25 P=0.000000 C=1482.000000 | |
041 | |
047 B4: # B28 B5 <- B3 B27 Freq: 0.999999 | |
047 cmpl RDX, #65536 | |
04d jge B28 P=0.000000 C=1482.000000 | |
04d | |
053 B5: # B25 B6 <- B4 Freq: 0.999998 | |
053 cmpl RCX, RBP | |
055 jge B25 P=0.042629 C=17875.000000 | |
055 | |
05b B6: # B26 B7 <- B5 Freq: 0.957369 | |
05b cmpl RCX, RBP # unsigned | |
05d jnb,u B26 P=0.000001 C=-1.000000 | |
05d | |
063 B7: # B26 B8 <- B6 Freq: 0.957368 | |
063 movl R10, RBP # spill | |
066 decl R10 # int | |
069 cmpl R10, RBP # unsigned | |
06c jnb,u B26 P=0.000001 C=-1.000000 | |
06c | |
072 B8: # B9 <- B7 Freq: 0.957367 | |
072 movl R8, RCX # spill | |
075 incl R8 # int | |
078 | |
078 B9: # B24 B10 <- B8 B10 Loop: B9-B10 inner pre of N196 Freq: 1.83743 | |
078 movzwl R9, [RBX + #16 + RCX << #1] # ushort/char | |
07e cmpl R9, RDX | |
081 je B24 P=0.042073 C=17113.000000 | |
081 | |
087 B10: # B9 B11 <- B9 Freq: 1.76012 | |
087 incl RCX # int | |
089 cmpl RCX, R8 | |
08c jl,s B9 # loop end P=0.500000 C=16393.000000 | |
08c | |
08e B11: # B17 B12 <- B10 Freq: 0.88006 | |
08e movl RDI, RBP # spill | |
090 addl RDI, #-3 # int | |
093 movl R11, #-2147483648 # int | |
099 cmpl R10, RDI | |
09c cmovll RDI, R11 # signed, int | |
0a0 cmpl RCX, RDI | |
0a2 jge,s B17 P=0.000001 C=-1.000000 | |
nop # 12 bytes pad for loops and calls | |
0b0 B12: # B24 B13 <- B11 B16 Loop: B12-B16 inner main of N105 Freq: 4.53961 | |
0b0 movzwl R11, [RBX + #16 + RCX << #1] # ushort/char | |
0b6 cmpl R11, RDX | |
0b9 je,s B24 P=0.042073 C=17113.000000 | |
0b9 | |
0bb B13: # B22 B14 <- B12 Freq: 4.34862 | |
0bb movslq R10, RCX # i2l | |
0be movzwl R8, [RBX + #18 + R10 << #1] # ushort/char | |
0c4 cmpl R8, RDX | |
0c7 je,s B22 P=0.042073 C=17113.000000 | |
0c7 | |
0c9 B14: # B23 B15 <- B13 Freq: 4.16566 | |
0c9 movzwl R11, [RBX + #20 + R10 << #1] # ushort/char | |
0cf cmpl R11, RDX | |
0d2 je,s B23 P=0.042073 C=17113.000000 | |
0d2 | |
0d4 B15: # B21 B16 <- B14 Freq: 3.99039 | |
0d4 movzwl R10, [RBX + #22 + R10 << #1] # ushort/char | |
0da cmpl R10, RDX | |
0dd je,s B21 P=0.042073 C=17113.000000 | |
0dd | |
0df B16: # B12 B17 <- B15 Freq: 3.82251 | |
0df addl RCX, #4 # int | |
0e2 cmpl RCX, RDI | |
0e4 jl,s B12 # loop end P=0.957371 C=16393.000000 | |
0e4 | |
0e6 B17: # B25 B18 <- B11 B16 Freq: 0.162952 | |
0e6 cmpl RCX, RBP | |
0e8 jge,s B25 P=0.500000 C=-1.000000 | |
nop # 2 bytes pad for loops and calls | |
0ec B18: # B24 B19 <- B17 B19 Loop: B18-B19 inner post of N196 Freq: 0.156373 | |
0ec movzwl R10, [RBX + #16 + RCX << #1] # ushort/char | |
0f2 cmpl R10, RDX | |
0f5 je,s B24 P=0.042073 C=17113.000000 | |
0f5 | |
0f7 B19: # B18 B20 <- B18 Freq: 0.149794 | |
0f7 incl RCX # int | |
0f9 cmpl RCX, RBP | |
0fb jl,s B18 # loop end P=0.500000 C=16393.000000 | |
0fb | |
0fd B20: # B25 <- B19 Freq: 0.0748968 | |
0fd jmp,s B25 | |
0fd | |
0ff B21: # B22 <- B15 Freq: 0.167889 | |
0ff addl RCX, #2 # int | |
102 | |
102 B22: # B24 <- B13 B21 Freq: 0.350849 | |
102 incl RCX # int | |
104 jmp,s B24 | |
104 | |
106 B23: # B24 <- B14 Freq: 0.175263 | |
106 addl RCX, #2 # int | |
109 | |
109 B24: # B25 <- B18 B9 B12 B23 B22 Freq: 0.800994 | |
109 movl RAX, RCX # spill | |
109 | |
10b B25: # N254 <- B3 B24 B17 B5 B20 B29 Freq: 0.999997 | |
10b addq rsp, 32 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
116 ret | |
116 | |
117 B26: # N254 <- B7 B6 Freq: 1.94016e-06 | |
117 movl RSI, #-122 # int | |
11c movl [rsp + #0], RDX # spill | |
11f movl [rsp + #4], RBX # spill | |
123 movl [rsp + #8], RCX # spill | |
127 call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::indexOf @ bci:43 L[0]=_ L[1]=rsp + #0 L[2]=_ L[3]=RBP L[4]=rsp + #4 L[5]=rsp + #8 | |
# OopMap{[4]=NarrowOop off=300} | |
12c int3 # ShouldNotReachHere | |
12c | |
131 B27: # B4 <- B2 Freq: 4.76837e-07 | |
131 xorl RCX, RCX # int | |
133 jmp B4 | |
133 | |
138 B28: # B31 B29 <- B4 Freq: 4.76836e-07 | |
nop # 3 bytes pad for loops and calls | |
13b call,static java.lang.String::indexOfSupplementary | |
# java.lang.String::indexOf @ bci:66 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ L[5]=_ | |
# OopMap{off=320} | |
140 | |
140 B29: # B25 <- B28 Freq: 4.76827e-07 | |
# Block is sole successor of call | |
140 jmp,s B25 | |
140 | |
142 B30: # N254 <- B1 Freq: 1.01328e-06 | |
142 movl RSI, #-10 # int | |
147 call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::indexOf @ bci:4 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ L[5]=_ STK[0]=#NULL | |
# OopMap{off=332} | |
14c int3 # ShouldNotReachHere | |
14c | |
151 B31: # N254 <- B28 Freq: 4.76836e-12 | |
151 # exception oop is in rax; no code emitted | |
151 movq RSI, RAX # spill | |
154 addq rsp, 32 # Destroy frame | |
popq rbp | |
159 jmp rethrow_stub | |
159 | |
{method} | |
- this oop: 0x00007f624738e328 | |
- method holder: 'java/util/Arrays' | |
- constants: 0x00007f62473844f0 constant pool [897]/operands[28] {0x00007f62473844f0} for 'java/util/Arrays' cache=0x00007f6247391b40 | |
- access: 0x81000009 public static | |
- name: 'copyOfRange' | |
- signature: '([CII)[C' | |
- max stack: 7 | |
- max locals: 5 | |
- size of params: 3 | |
- method size: 12 | |
- highest level: 3 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580ba748: 0xbaa00000 i2c: 0x00007f6249119fe0 c2i: 0x00007f624911a120 c2iUV: 0x00007f624911a0f3 | |
- compiled entry 0x00007f624920c220 | |
- code size: 63 | |
- code start: 0x00007f624738e298 | |
- code end (excl): 0x00007f624738e2d7 | |
- method data: 0x00007f6247512610 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f624738e2d7 | |
- localvar length: 5 | |
- localvar start: 0x00007f624738e2ea | |
- compiled code: nmethod 218 40 3 java.util.Arrays::copyOfRange (63 bytes) | |
# | |
# char[int:>=0]:exact * ( char[int:>=0]:exact *, int, int ) | |
# | |
#r018 rsi:rsi : parm 0: char[int:>=0]:exact * | |
#r016 rdx : parm 1: int | |
#r010 rcx : parm 2: int | |
# -- Old rsp -- Framesize: 64 -- | |
#r191 rsp+60: in_preserve | |
#r190 rsp+56: return address | |
#r189 rsp+52: in_preserve | |
#r188 rsp+48: saved fp register | |
#r187 rsp+44: pad2, stack alignment | |
#r186 rsp+40: pad2, stack alignment | |
#r185 rsp+36: Fixed slot 1 | |
#r184 rsp+32: Fixed slot 0 | |
#r199 rsp+28: spill | |
#r198 rsp+24: spill | |
#r197 rsp+20: spill | |
#r196 rsp+16: spill | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
abababab N1: # B1 <- B20 B21 B12 B24 Freq: 1 | |
abababab | |
000 B1: # B20 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #48 # Create frame | |
00c movq [rsp + #8], RSI # spill | |
011 movl [rsp + #0], RDX # spill | |
014 movl R11, RCX # spill | |
017 subl R11, RDX # int | |
01a movl [rsp + #4], R11 # spill | |
01f testl R11, R11 | |
022 jl B20 P=0.000000 C=5440.000000 | |
022 | |
028 B2: # B14 B3 <- B1 Freq: 1 | |
028 movslq R10, R11 # i2l | |
02b salq R10, #1 | |
02e addq R10, #23 # long | |
032 movq [rsp + #16], R10 # spill | |
037 cmpl R11, #524288 # unsigned | |
03e jnbe,u B14 P=0.000001 C=-1.000000 | |
03e | |
044 B3: # B14 B4 <- B2 Freq: 0.999999 | |
044 andq R10, #-8 # long | |
048 # TLS is in R15 | |
048 movq RBP, [R15 + #120 (8-bit)] # ptr | |
04c movq R11, RBP # spill | |
04f addq R11, R10 # ptr | |
052 cmpq R11, [R15 + #136 (32-bit)] # raw ptr | |
059 jnb,u B14 P=0.000100 C=-1.000000 | |
059 | |
05f B4: # B5 <- B3 Freq: 0.999898 | |
05f movq [R15 + #120 (8-bit)], R11 # ptr | |
063 PREFETCHNTA [R11 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
06b movq [RBP], 0x0000000000000001 # ptr | |
073 PREFETCHNTA [R11 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
07b movl [RBP + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
082 movl R10, [rsp + #4] # spill | |
087 movl [RBP + #12 (8-bit)], R10 # int | |
08b PREFETCHNTA [R11 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
08b | |
093 B5: # B21 B6 <- B15 B4 Freq: 1 | |
093 | |
093 # checkcastPP of RBP | |
093 movq RBX, [rsp + #8] # spill | |
098 movl RDI, [RBX + #12 (8-bit)] # range | |
09b NullCheck RBX | |
09b | |
09b B6: # B16 B7 <- B5 Freq: 0.999999 | |
09b movl R11, RDI # spill | |
09e subl R11, [RSP + #0 (32-bit)] # int | |
0a2 movq R8, RBP # spill | |
0a5 addq R8, #16 # ptr | |
0a9 cmpl R11, [RSP + #4 (32-bit)] | |
0ae movl R9, [rsp + #4] # spill | |
0b3 cmovll R9, R11 # signed, int | |
0b7 movq R10, [rsp + #16] # spill | |
0bc shrq R10, #3 | |
0c0 movq RSI, R10 # spill | |
0c3 movq RCX, R10 # spill | |
0c6 addq RCX, #-2 # long | |
0ca movl R10, [rsp + #0] # spill | |
0ce testl R10, R10 | |
0d1 jl B16 P=0.000001 C=-1.000000 | |
0d1 | |
0d7 B7: # B16 B8 <- B6 Freq: 0.999997 | |
0d7 movl R11, R10 # spill | |
0da addl R11, R9 # int | |
0dd cmpl RDI, R11 # unsigned | |
0e0 jb,u B16 P=0.000001 C=-1.000000 | |
0e0 | |
0e6 B8: # B16 B9 <- B7 Freq: 0.999996 | |
0e6 movl RDI, [rsp + #4] # spill | |
0ea cmpl RDI, R9 # unsigned | |
0ed jb,u B16 P=0.000001 C=-1.000000 | |
0ed | |
0f3 B9: # B18 B10 <- B8 Freq: 0.999995 | |
0f3 testl R9, R9 | |
0f6 jle B18 P=0.000001 C=-1.000000 | |
0f6 | |
0fc B10: # B13 B11 <- B9 Freq: 0.999994 | |
0fc movslq RDX, R9 # i2l | |
0ff cmpl R9, RDI | |
102 jl,s B13 P=0.001000 C=-1.000000 | |
102 | |
104 B11: # B12 <- B10 B13 Freq: 0.999994 | |
104 leaq RDI, [RBX + #16 + R10 << #1] # ptr posidxscaleoff | |
109 movq RSI, R8 # spill | |
10c call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
119 | |
119 B12: # N1 <- B11 B19 B17 Freq: 0.999998 | |
119 MEMBAR-storestore (empty encoding) | |
119 movq RAX, RBP # spill | |
11c addq rsp, 48 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
127 ret | |
127 | |
128 B13: # B11 <- B10 Freq: 0.000999994 | |
128 movq R11, RDX # spill | |
12b salq R11, #1 | |
12e addq R11, #16 # long | |
132 movq R9, R11 # spill | |
135 andq R9, #-7 # long | |
139 movq RDI, RBP # spill | |
13c addq RDI, R9 # ptr | |
13f shrq R11, #3 | |
143 movq R9, RSI # spill | |
146 subq R9, R11 # long | |
149 movq RCX, R9 # spill | |
14c xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
156 jmp,s B11 | |
156 | |
158 B14: # B23 B15 <- B2 B3 Freq: 0.00010103 | |
158 movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
162 movl RDX, [rsp + #4] # spill | |
166 movl RBP, RDX # spill | |
nop # 3 bytes pad for loops and calls | |
16b call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=rsp + #8 L[1]=rsp + #0 L[2]=_ L[3]=RBP L[4]=_ | |
# OopMap{[8]=Oop off=368} | |
170 | |
170 B15: # B5 <- B14 Freq: 0.000101028 | |
# Block is sole successor of call | |
170 movq RBP, RAX # spill | |
173 jmp B5 | |
173 | |
178 B16: # B22 B17 <- B6 B7 B8 B18 Freq: 2.99999e-06 | |
178 movq RDI, R8 # spill | |
17b xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
185 xorl R8, R8 # int | |
188 movq RSI, RBX # spill | |
18b movl RDX, R10 # spill | |
18e movq RCX, RBP # spill | |
nop # 2 bytes pad for loops and calls | |
193 call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOfRange @ bci:57 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=RBP | |
# OopMap{rbp=Oop off=408} | |
198 | |
198 B17: # B12 <- B16 Freq: 2.99993e-06 | |
# Block is sole successor of call | |
198 jmp B12 | |
198 | |
19d B18: # B16 B19 <- B9 Freq: 9.99995e-07 | |
19d testl R9, R9 | |
1a0 jl,s B16 P=0.000001 C=-1.000000 | |
1a0 | |
1a2 B19: # B12 <- B18 Freq: 9.99994e-07 | |
1a2 movq RDI, R8 # spill | |
1a5 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
1af | |
1af jmp B12 | |
1af | |
1b4 B20: # N1 <- B1 Freq: 4.76837e-07 | |
1b4 movl RSI, #2 # int | |
1b9 movl RBP, RDX # spill | |
1bb movl [rsp + #0], RCX # spill | |
nop # 1 bytes pad for loops and calls | |
1bf call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='2') | |
# java.util.Arrays::copyOfRange @ bci:8 L[0]=_ L[1]=RBP L[2]=rsp + #0 L[3]=_ L[4]=_ | |
# OopMap{off=452} | |
1c4 int3 # ShouldNotReachHere | |
1c4 | |
1c9 B21: # N1 <- B5 Freq: 1.01328e-06 | |
1c9 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
1cf call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.util.Arrays::copyOfRange @ bci:50 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ STK[0]=_ STK[1]=_ STK[2]=_ STK[3]=_ STK[4]=#NULL | |
# OopMap{off=468} | |
1d4 int3 # ShouldNotReachHere | |
1d4 | |
1d9 B22: # B24 <- B16 Freq: 2.99999e-11 | |
1d9 # exception oop is in rax; no code emitted | |
1d9 movq RSI, RAX # spill | |
1dc jmp,s B24 | |
1dc | |
1de B23: # B24 <- B14 Freq: 1.0103e-09 | |
1de # exception oop is in rax; no code emitted | |
1de movq RSI, RAX # spill | |
1de | |
1e1 B24: # N1 <- B23 B22 Freq: 1.0403e-09 | |
1e1 addq rsp, 48 # Destroy frame | |
popq rbp | |
1e6 jmp rethrow_stub | |
1e6 | |
{method} | |
- this oop: 0x00007f624726a8b0 | |
- method holder: 'java/lang/String' | |
- constants: 0x00007f6247268100 constant pool [678] {0x00007f6247268100} for 'java/lang/String' cache=0x00007f6247318478 | |
- access: 0x81000001 public | |
- name: '<init>' | |
- signature: '([CII)V' | |
- max stack: 6 | |
- max locals: 4 | |
- size of params: 4 | |
- method size: 12 | |
- highest level: 3 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580ba488: 0xbbaa0000 i2c: 0x00007f62491130a0 c2i: 0x00007f62491131bf c2iUV: 0x00007f6249113192 | |
- compiled entry 0x00007f6249205260 | |
- code size: 62 | |
- code start: 0x00007f624726a830 | |
- code end (excl): 0x00007f624726a86e | |
- method data: 0x00007f624750e8a0 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f624726a86e | |
- localvar length: 4 | |
- localvar start: 0x00007f624726a87e | |
- compiled code: nmethod 221 28 3 java.lang.String::<init> (62 bytes) | |
# | |
# void ( java/lang/String:NotNull:exact *, char[int:>=0]:exact *, int, int ) | |
# | |
#r018 rsi:rsi : parm 0: java/lang/String:NotNull:exact * | |
#r016 rdx:rdx : parm 1: char[int:>=0]:exact * | |
#r010 rcx : parm 2: int | |
#r004 r8 : parm 3: int | |
# -- Old rsp -- Framesize: 80 -- | |
#r191 rsp+76: in_preserve | |
#r190 rsp+72: return address | |
#r189 rsp+68: in_preserve | |
#r188 rsp+64: saved fp register | |
#r187 rsp+60: pad2, stack alignment | |
#r186 rsp+56: pad2, stack alignment | |
#r185 rsp+52: Fixed slot 1 | |
#r184 rsp+48: Fixed slot 0 | |
#r203 rsp+44: spill | |
#r202 rsp+40: spill | |
#r201 rsp+36: spill | |
#r200 rsp+32: spill | |
#r199 rsp+28: spill | |
#r198 rsp+24: spill | |
#r197 rsp+20: spill | |
#r196 rsp+16: spill | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
000 N335: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 movl rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass | |
decode_klass_not_null rscratch1, rscratch1 | |
cmpq rax, rscratch1 # Inline cache check | |
jne SharedRuntime::_ic_miss_stub | |
nop # nops to align entry point | |
nop # 12 bytes pad for loops and calls | |
020 B1: # B21 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #64 # Create frame | |
02c movq [rsp + #0], RSI # spill | |
030 movl [rsp + #12], RCX # spill | |
034 testl RCX, RCX | |
036 jl B21 P=0.000000 C=5419.000000 | |
036 | |
03c B2: # B22 B3 <- B1 Freq: 1 | |
03c movl [rsp + #8], R8 # spill | |
041 testl R8, R8 | |
044 jl B22 P=0.000000 C=5419.000000 | |
044 | |
04a B3: # B24 B4 <- B2 Freq: 0.999999 | |
04a movq [rsp + #32], RDX # spill | |
04f movl R8, [RDX + #12 (8-bit)] # range | |
053 NullCheck RDX | |
053 | |
053 B4: # B23 B5 <- B3 Freq: 0.999998 | |
053 movl R11, R8 # spill | |
056 subl R11, [RSP + #8 (32-bit)] # int | |
05b cmpl RCX, R11 | |
05e jg B23 P=0.000000 C=5419.000000 | |
05e | |
064 B5: # B15 B6 <- B4 Freq: 0.999998 | |
064 movslq R10, [RSP + #8 (32-bit)] # int -> long | |
069 salq R10, #1 | |
06c addq R10, #23 # long | |
070 movq [rsp + #16], R10 # spill | |
075 movl R11, [rsp + #8] # spill | |
07a cmpl R11, #524288 # unsigned | |
081 jnbe,u B15 P=0.000001 C=-1.000000 | |
081 | |
087 B6: # B15 B7 <- B5 Freq: 0.999997 | |
087 andq R10, #-8 # long | |
08b # TLS is in R15 | |
08b movq RBP, [R15 + #120 (8-bit)] # ptr | |
08f movq R11, RBP # spill | |
092 addq R11, R10 # ptr | |
095 cmpq R11, [R15 + #136 (32-bit)] # raw ptr | |
09c jnb,u B15 P=0.000100 C=-1.000000 | |
09c | |
0a2 B7: # B8 <- B6 Freq: 0.999897 | |
0a2 movq [R15 + #120 (8-bit)], R11 # ptr | |
0a6 PREFETCHNTA [R11 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
0ae movq [RBP], 0x0000000000000001 # ptr | |
0b6 PREFETCHNTA [R11 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
0be movl [RBP + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
0c5 movl R10, [rsp + #8] # spill | |
0ca movl [RBP + #12 (8-bit)], R10 # int | |
0ce PREFETCHNTA [R11 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
0ce | |
0d6 B8: # B17 B9 <- B16 B7 Freq: 0.999998 | |
0d6 | |
0d6 # checkcastPP of RBP | |
0d6 movl R11, R8 # spill | |
0d9 subl R11, [RSP + #12 (32-bit)] # int | |
0de movq RBX, RBP # spill | |
0e1 addq RBX, #16 # ptr | |
0e5 cmpl R11, [RSP + #8 (32-bit)] | |
0ea movl R9, [rsp + #8] # spill | |
0ef cmovll R9, R11 # signed, int | |
0f3 movl R10, [rsp + #12] # spill | |
0f8 addl R10, R9 # int | |
0fb movq R11, [rsp + #16] # spill | |
100 shrq R11, #3 | |
104 movq RCX, R11 # spill | |
107 addq RCX, #-2 # long | |
10b cmpl R8, R10 # unsigned | |
10e jb,u B17 P=0.000001 C=-1.000000 | |
10e | |
114 B9: # B17 B10 <- B8 Freq: 0.999997 | |
114 movl R10, [rsp + #8] # spill | |
119 cmpl R10, R9 # unsigned | |
11c jb,u B17 P=0.000001 C=-1.000000 | |
11c | |
122 B10: # B19 B11 <- B9 Freq: 0.999996 | |
122 testl R9, R9 | |
125 jle B19 P=0.000001 C=-1.000000 | |
125 | |
12b B11: # B14 B12 <- B10 Freq: 0.999995 | |
12b movslq RDX, R9 # i2l | |
12e cmpl R9, R10 | |
131 jl B14 P=0.001000 C=-1.000000 | |
131 | |
137 B12: # B13 <- B11 B14 Freq: 0.999995 | |
137 movq R10, [rsp + #32] # spill | |
13c movl R8, [rsp + #12] # spill | |
141 leaq RDI, [R10 + #16 + R8 << #1] # ptr posidxscaleoff | |
146 movq RSI, RBX # spill | |
149 call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
156 | |
156 B13: # N335 <- B12 B20 B18 Freq: 0.999998 | |
156 MEMBAR-storestore (empty encoding) | |
156 encode_heap_oop_not_null R11,RBP | |
261 movq R10, [rsp + #0] # spill | |
265 movl [R10 + #12 (8-bit)], R11 # compressed ptr ! Field: java/lang/String.value | |
269 movq R10, R10 # ptr -> long | |
269 shrq R10, #9 | |
26d movq R11, 0x00007f62487ff000 # ptr | |
277 movb [R11 + R10], R12 # short/char (R12_heapbase==0) | |
27b MEMBAR-release ! (empty encoding) | |
27b addq rsp, 64 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
286 ret | |
286 | |
287 B14: # B12 <- B11 Freq: 0.000999995 | |
287 movq R10, RDX # spill | |
28a salq R10, #1 | |
28d addq R10, #16 # long | |
291 movq R8, R10 # spill | |
294 andq R8, #-7 # long | |
298 movq RDI, RBP # spill | |
29b addq RDI, R8 # ptr | |
29e shrq R10, #3 | |
2a2 subq R11, R10 # long | |
2a5 movq RCX, R11 # spill | |
2a8 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
2b2 jmp B12 | |
2b2 | |
2b7 B15: # B26 B16 <- B5 B6 Freq: 0.00010103 | |
2b7 movl [rsp + #24], R8 # spill | |
2bc movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
2c6 movl RDX, [rsp + #8] # spill | |
2ca movq RBP, [rsp + #32] # spill | |
2cf call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=RBP L[1]=rsp + #12 L[2]=_ L[3]=rsp + #8 L[4]=_ | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #0 | |
# OopMap{rbp=Oop [0]=Oop [32]=Oop off=724} | |
2d4 | |
2d4 B16: # B8 <- B15 Freq: 0.000101028 | |
# Block is sole successor of call | |
2d4 movq RBP, RAX # spill | |
2d7 movl R8, [rsp + #24] # spill | |
2dc jmp B8 | |
2dc | |
2e1 B17: # B25 B18 <- B19 B8 B9 Freq: 2e-06 | |
2e1 movq RDI, RBX # spill | |
2e4 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
2ee xorl R8, R8 # int | |
2f1 movq RSI, [rsp + #32] # spill | |
2f6 movl RDX, [rsp + #12] # spill | |
2fa movq RCX, RBP # spill | |
nop # 2 bytes pad for loops and calls | |
2ff call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOfRange @ bci:57 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=RBP | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #0 | |
# OopMap{rbp=Oop [0]=Oop off=772} | |
304 | |
304 B18: # B13 <- B17 Freq: 1.99996e-06 | |
# Block is sole successor of call | |
304 jmp B13 | |
304 | |
309 B19: # B17 B20 <- B10 Freq: 9.99996e-07 | |
309 testl R9, R9 | |
30c jl,s B17 P=0.000001 C=-1.000000 | |
30c | |
30e B20: # B13 <- B19 Freq: 9.99995e-07 | |
30e movq RDI, RBX # spill | |
311 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
31b | |
31b jmp B13 | |
31b | |
320 B21: # N335 <- B1 Freq: 4.76837e-07 | |
320 movl RSI, #5 # int | |
325 movl RBP, RCX # spill | |
327 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::<init> @ bci:8 L[0]=_ L[1]=_ L[2]=RBP L[3]=_ | |
# OopMap{off=812} | |
32c int3 # ShouldNotReachHere | |
32c | |
331 B22: # N335 <- B2 Freq: 4.76837e-07 | |
331 movl RSI, #5 # int | |
336 movl RBP, R8 # spill | |
nop # 2 bytes pad for loops and calls | |
33b call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::<init> @ bci:21 L[0]=_ L[1]=_ L[2]=_ L[3]=RBP | |
# OopMap{off=832} | |
340 int3 # ShouldNotReachHere | |
340 | |
345 B23: # N335 <- B4 Freq: 4.76836e-07 | |
345 movl RSI, #5 # int | |
34a movl RBP, RCX # spill | |
nop # 3 bytes pad for loops and calls | |
34f call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::<init> @ bci:38 L[0]=_ L[1]=_ L[2]=RBP L[3]=rsp + #8 | |
# OopMap{off=852} | |
354 int3 # ShouldNotReachHere | |
354 | |
359 B24: # N335 <- B3 Freq: 1.01328e-06 | |
359 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
35f call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::<init> @ bci:32 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=_ STK[1]=#NULL | |
# OopMap{off=868} | |
364 int3 # ShouldNotReachHere | |
364 | |
369 B25: # B27 <- B17 Freq: 2e-11 | |
369 # exception oop is in rax; no code emitted | |
369 movq RSI, RAX # spill | |
36c jmp,s B27 | |
36c | |
36e B26: # B27 <- B15 Freq: 1.0103e-09 | |
36e # exception oop is in rax; no code emitted | |
36e movq RSI, RAX # spill | |
36e | |
371 B27: # N335 <- B26 B25 Freq: 1.0303e-09 | |
371 addq rsp, 64 # Destroy frame | |
popq rbp | |
376 jmp rethrow_stub | |
376 | |
{method} | |
- this oop: 0x00007f62472efaf8 | |
- method holder: 'java/lang/StringBuilder' | |
- constants: 0x00007f62472ee860 constant pool [359] {0x00007f62472ee860} for 'java/lang/StringBuilder' cache=0x00007f62473ee7a8 | |
- access: 0x81000001 public | |
- name: 'append' | |
- signature: '(Ljava/lang/String;)Ljava/lang/StringBuilder;' | |
- max stack: 3 | |
- max locals: 2 | |
- size of params: 2 | |
- method size: 12 | |
- intrinsic id: 158 _StringBuilder_append_String | |
- highest level: 3 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580b9b40: 0xbb000000 i2c: 0x00007f6249106520 c2i: 0x00007f6249106638 c2iUV: 0x00007f624910660b | |
- compiled entry 0x00007f62492255a0 | |
- code size: 8 | |
- code start: 0x00007f62472efad0 | |
- code end (excl): 0x00007f62472efad8 | |
- method data: 0x00007f624752b9c8 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f62472efad8 | |
- localvar length: 2 | |
- localvar start: 0x00007f62472efade | |
- compiled code: nmethod 246 90 3 java.lang.StringBuilder::append (8 bytes) | |
{method} | |
- this oop: 0x00007f62472ebcf8 | |
- method holder: 'java/lang/AbstractStringBuilder' | |
- constants: 0x00007f62472e9da0 constant pool [365] {0x00007f62472e9da0} for 'java/lang/AbstractStringBuilder' cache=0x00007f62473edf58 | |
- access: 0x81000001 public | |
- name: 'append' | |
- signature: '(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder;' | |
- max stack: 6 | |
- max locals: 3 | |
- size of params: 2 | |
# | |
# java/lang/StringBuilder:exact * ( java/lang/StringBuilder:NotNull:exact *, java/lang/String:exact * ) | |
# | |
- method size: 12 | |
- highest level: 3 | |
- vtable index: 20 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580b9b40: 0xbb000000 i2c: 0x00007f6249106520 c2i: 0x00007f6249106638 c2iUV: 0x00007f624910660b | |
- compiled entry 0x00007f6249224980 | |
- code size: 50 | |
- code start: 0x00007f62472ebc90 | |
- code end (excl): 0x00007f62472ebcc2 | |
- method data: 0x00007f624752ba90 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f62472ebcc2 | |
- localvar length: 3 | |
- localvar start: 0x00007f62472ebcd2 | |
- compiled code: nmethod 257 91 3 java.lang.AbstractStringBuilder::append (50 bytes) | |
# | |
# java/lang/AbstractStringBuilder * ( java/lang/AbstractStringBuilder:NotNull *, java/lang/String:exact * ) | |
# | |
#r018 rsi:rsi : parm 0: java/lang/AbstractStringBuilder:NotNull * | |
#r016 rdx:rdx : parm 1: java/lang/String:exact * | |
# -- Old rsp -- Framesize: 96 -- | |
#r018 rsi:rsi : parm 0: java/lang/StringBuilder:NotNull:exact * | |
#r016 rdx:rdx : parm 1: #r191 rsp+92: in_preserve | |
#r190 rsp+88: return address | |
#r189 rsp+84: in_preserve | |
#r188 rsp+80: saved fp register | |
#r187 rsp+76: pad2, stack alignment | |
#r186 rsp+72: pad2, stack alignment | |
#r185 rsp+68: Fixed slot 1 | |
#r184 rsp+64: Fixed slot 0 | |
#r207 rsp+60: spill | |
#r206 rsp+56: spill | |
#r205 rsp+52: spill | |
#r204 rsp+48: spill | |
#r203 rsp+44: spill | |
#r202 rsp+40: spill | |
#r201 rsp+36: spill | |
#r200 rsp+32: spill | |
#r199 rsp+28: spill | |
#r198 rsp+24: spill | |
#r197 rsp+20: spill | |
#r196 rsp+16: spill | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
000 N562: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 movl rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass | |
decode_klass_not_null rscratch1, rscratch1 | |
cmpq rax, rscratch1 # Inline cache check | |
jne SharedRuntime::_ic_miss_stub | |
nop # nops to align entry point | |
nop # 12 bytes pad for loops and calls | |
020 B1: # B43 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #80 # Create frame | |
02c movq [rsp + #0], RSI # spill | |
030 movq [rsp + #48], RDX # spill | |
035 movl RDI, [RDX + #12 (8-bit)] # compressed ptrjava/lang/String:exact * | |
# -- Old rsp -- Framesize: 96 -- | |
#r191 rsp+92: in_preserve | |
#r190 rsp+88: return address | |
#r189 rsp+84: in_preserve | |
#r188 rsp+80: saved fp register | |
#r187 rsp+76: pad2, stack alignment | |
#r186 rsp+72: pad2, stack alignment | |
#r185 rsp+68: Fixed slot 1 | |
#r184 rsp+64: Fixed slot 0 | |
#r207 rsp+60: spill | |
#r206 rsp+56: spill | |
#r205 rsp+52: spill | |
#r204 rsp+48: spill | |
#r203 rsp+44: spill | |
#r202 rsp+40: spill | |
#r201 rsp+36: spill | |
#r200 rsp+32: spill | |
#r199 rsp+28: spill | |
#r198 rsp+24: spill | |
#r197 rsp+20: spill | |
#r196 rsp+16: spill | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
000 N567: # ! Field: java/lang/String.value | |
038 NullCheck RDX | |
038 | |
B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 movl rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass | |
decode_klass_not_null rscratch1, rscratch1 | |
cmpq rax, rscratch1 # Inline cache check | |
jne SharedRuntime::_ic_miss_stub | |
nop # nops to align entry point | |
nop # 12 bytes pad for loops and calls | |
020 B1: # B43 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #80 # Create frame | |
02c movq [rsp + #0], RSI # spill | |
030 movq [rsp + #48], RDX # spill | |
035 movl RDI, [RDX + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
038 NullCheck RDX | |
038 | |
038 B2: # B39 B3 <- B1 Freq: 1 | |
038 movl RBX038 B2: # B39 B3 <- B1 Freq: 1 | |
038 movl RBX, [RDI + #12 (8-bit)] # range | |
03b , [RDI + #12 (8-bit)] # range | |
03b NullCheck RDI | |
NullCheck RDI | |
03b | |
03b B3: # B40 B4 <- B2 Freq: 0.999999 | |
03b movl 03b | |
RBP, [RSI + #16 (8-bit)] # compressed ptr ! Field: java/lang/AbstractStringBuilder.value | |
03e movl R8, [RBP + #12 (8-bit)] # range03b B3: # B40 B4 <- B2 | |
042 NullCheck RBP | |
042 | |
042 B4: # B14 B5 <- B3 Freq: 0.999999 | |
03b Freq: 0.999997 | |
042 movl R10, [RSI movl RBP, [RSI + #16 (8-bit)] # compressed ptr ! Field: + #12 (8-bit)] # int ! Field: java/lang/AbstractStringBuilder.count | |
046 movl R11, RBX # spill | |
049 java/lang/AbstractStringBuilder.value | |
03e movl R8, addl R11, R10 # int | |
04c movl RCX, R11 # spill | |
04f subl [RBP + #12 (8-bit)] # range | |
042RCX, R8 # int | |
NullCheck RBP | |
042 | |
042 B4: # B14 B5 <- B3 Freq: 0.999997 | |
052 testl RCX, RCX | |
054 jg,s B14 P=0.038687 C=11968.000000 | |
054 | |
056 B5: # 042 movl R10, [RSIB41 B6 <- B26 B4 Freq: 0.999997 | |
056 movl R8, [RDI + #12 (8-bit)] # range | |
05a NullCheck RDI | |
05a | |
05a B6: # B34 B7 <- B5 Freq: 0.999996 | |
05a cmpl RBX, R8 | |
+ #12 (8-bit)] # int05d ! Field: java/lang/AbstractStringBuilder.count | |
046 jg B34 P=0.000000 C=10450.000000 | |
05d | |
063 B7: # B42 B8 <- B6 Freq: 0.999996 | |
063 movl R9, [RBP + #12 (8-bit)] # range | |
067 NullCheck RBP | |
067 | |
067 B8: # B32 B9 <- B7 Freq: 0.999995 | |
067 movl R11, RBX # spill | |
049 addl R11, R10 # int | |
04c movl RCX, R11 # spill | |
04f subl RCX, R8 # int | |
052 testl RCX, decode_heap_oop_not_null RDX,RDI | |
06a decode_heap_oop_not_null RCX,RBP | |
RCX | |
054 jg,s B1406d testl P=0.044120 C=10494.000000 | |
054 | |
056 B5: # B41 B6 <- R10, R10 | |
B26 B4 Freq: 0.999997 | |
056 movl R8, [RDI + #12 (8-bit)] # range | |
05a 070 jl B32 P=0.000001 C=-1.000000 | |
NullCheck RDI | |
05a | |
05a B6: # B34 B7 <- B5 Freq: 0.999996 | |
05a cmpl RBX, R8 | |
05d jg B34070 | |
076 B9: # B32 B10 P=0.000000 C=9661.000000 | |
05d | |
063 B7: # B42 B8 <- B6 Freq: 0.999996 | |
063 movl R9, [RBP + #12 (8-bit)] # range <- B8 Freq: 0.999994 | |
076 cmpl R8, RBX # unsigned | |
079 jb,u | |
067 NullCheck RBP | |
B32 P=0.000001 C=-1.000000 | |
067 | |
067 B8: # B32 B9 <- B7 Freq: 0.999995079 | |
07f | |
067 decode_heap_oop_not_null RDX,RDI | |
06a decode_heap_oop_not_null RCX,RBP | |
B10: # B32 B11 <- B9 Freq: 0.999993 | |
07f movl R11, R10 # spill | |
082 addl R11, RBX # int | |
085 cmpl R9, R11 # unsigned | |
088 jb,u B3206d testl R10, R10 | |
070 jl B32 P=0.000001 C=-1.000000 | |
070 | |
076 B9: # B32 P=0.000001 C=-1.000000 | |
088 | |
08e B11: # B13 B12 <- B10 Freq: 0.999992 | |
08e testl RBX, RBX | |
090 jle,s B13 P=0.000001 C=-1.000000 | |
090 | |
092 B12: # B13 <- B11 Freq: 0.999991 | |
092 leaq RSI, [RBP + #16 + R10 << #1] # ptr posidxscaleoffnarrow | |
097 leaq RDI, [RDI + #16 (8-bit)] # ptr off8narrow | |
B10 <- B8 Freq: 0.999994 | |
076 cmpl R8, RBX # unsigned | |
079 jb09b movslq RDX, RBX # i2l | |
09e call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
0ab | |
0ab B13: # N562 <- B12 B11 B33 ,u B32 P=0.000001 C=-1.000000 | |
079 | |
07f B10: # B32 B11 <- B9 Freq: 0.999993 | |
07f movl R11, R10 # spill | |
082 addl R11, RBX # int | |
085 cmpl R9, Freq: 0.999995 | |
0ab | |
0ab movq R10, [rsp + #0] # spill | |
0afR11 # unsigned | |
088 jb,u B32 P=0.000001 C=-1.000000 | |
movl R10, [R10 + #12 (8-bit)] # int088 | |
08e B11: # B13 B12 <- B10 Freq: 0.999992 ! Field: java/lang/AbstractStringBuilder | |
08e testl RBX, RBX | |
.count | |
0b3 addl R10, RBX # int | |
0b6 movq R11, [rsp + #0] # spill | |
0ba movl 090 jle,s B13 P=0.000001 C=-1.000000 | |
090 | |
092 B12: # B13 <- [R11 + #12 (8-bit)], R10 # intB11 Freq: 0.999991 | |
092 leaq RSI, [RBP + #16 + R10 << #1] # ptr posidxscaleoffnarrow | |
097 leaq RDI, [RDI + #16 (8-bit)] # ptr off8narrow | |
09b movslq RDX, RBX # i2l | |
09e ! Field: java/lang/AbstractStringBuilder.count | |
0be movq RAX, [rsp + #0] # spill | |
0c2 addq rsp, 80 # Destroy frame | |
call_leaf_nofp,runtime jshort_arraycopy | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
0cd ret | |
0cd | |
0ce B14: # No JVM State Info | |
# | |
B27 B15 <- B4 Freq: 0.0386864 | |
0ce movl R10, R8 # spill | |
0d10ab | |
0ab B13: # N567 <- B12 B11 B33 Freq: 0.999995 | |
sall R100ab | |
0ab , movq R10, [rsp + #0] # spill | |
0af movl R10, [R10 + #12 (8-bit)] # int ! Field: java/lang/AbstractStringBuilder.count | |
0b3 addl R10, RBX # int | |
0b6 movq R11, [rsp + #0] # spill | |
0ba movl [R11 + #12 (8-bit)], R10 # int ! Field: java/lang/AbstractStringBuilder.count | |
0be movq RAX, [rsp + #0] # spill | |
0c2 addq rsp, 80 # Destroy frame | |
#1 | |
0d4 movl R9, R10 # spill | |
0d7 popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
0cd ret | |
0cd | |
0ce B14: # B27 B15 <- subl R9, R11 # int | |
0da B4 Freq: 0.0441203 | |
0ce movl R10, R8 # spill | |
0d1 sall R10, #1 | |
0d4 movl R9, R10 # spill | |
0d7 subl R9, R11 # int | |
0da addl R9, #2 # int | |
0de testl R9, R9 | |
0e1 jge B27 P=0.500000 C=-1.000000 | |
0e1 | |
0e7 B15: # B18 B16 addl R9, #2 # int | |
0de testl R9, R9 | |
0e1 jge B27 P=0.500000 C=-1.000000 | |
0e1 | |
0e7 B15: # B18 B16 <- B14 Freq: 0.0193432 | |
0e7 testl R11, R11 | |
0ea jge,s <- B14 Freq: 0.0220602 | |
0e7 testl R11, R11 | |
0ea jgeB18 P=0.500000 C=-1.000000 | |
0ea | |
0ec B16: # B38 B17 <- B15 B27 Freq: 0.0193432 | |
0ec ,s B18 P=0.500000 C=-1.000000 | |
0ea | |
0ec testl R11, R11 | |
0ef jl B38 P=0.000001 C=-1.000000 | |
0ef | |
0f5 B17: # B18 <- B16 Freq: 0.0193432 | |
0f5 movl R11, #2147483647 # int | |
0f5 | |
0fb B18: # B30 B19 <- B17 B15 B28 Freq: 0.0386864 | |
0fb movslq R10, R11 # i2l | |
0fe salq R10, #1 | |
101 addq R10, #23 # long | |
105 movq RDX, R10 # spill | |
108 andq RDX, B16: # B38 B17 <- B15 B27 Freq: 0.0220602 | |
0ec testl #-8 # long | |
10c cmpl R11, #524288 # unsigned | |
113 jnbe,u B30 P=0.000001 C=-1.000000 | |
113 | |
119 B19: # B30 B20 <- B18 Freq: 0.0386864 | |
119 # TLS is in R15 | |
119 movq R13, [R15 + #120 (8-bit)] # ptr | |
11d movq R9, R13 # spill | |
120 addq R9, R11, R11 | |
RDX # ptr | |
123 cmpq R9, [R15 + #136 (32-bit)] # raw ptr | |
12a jnb,u B30 P=0.000100 C=-1.000000 | |
12a | |
130 B20: # B21 <- B19 Freq: 0.0386825 | |
130 movq [R15 + #120 (8-bit)], R9 # ptr | |
134 PREFETCHNTA [R9 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
13c movq [R13], 0x0000000000000001 # ptr | |
144 PREFETCHNTA [R9 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
14c movl [R13 + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
154 movl [R13 + #12 (8-bit)], R11 # int | |
158 PREFETCHNTA [R9 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
0ef 158 | |
160 B21: # B35 B22 <- B31 B20 Freq: 0.0386864 | |
160 | |
160 # checkcastPP of R13 | |
160 cmpl R8, R11 | |
163 jl B38movl R9, R11 # spill P=0.000001 C=-1.000000 | |
0ef | |
0f5 B17: # B18 | |
166 cmovll R9, R8 # signed, int | |
16a movq R14, R13 # spill | |
16d addq R14, #16 # ptr | |
171 decode_heap_oop_not_null RSI,RBP | |
174 shrq R10, #3 | |
178 movq RCX, R10 # spill | |
17b addq RCX, #-2 # long | |
17f cmpl <- B16 Freq: 0.0220601 | |
0f5 movl R8, R9 # unsignedR11, #2147483647 # int | |
0f5 | |
0fb B18: # B30 B19 <- B17 B15 B28 Freq: 0.0441203 | |
0fb movslq R10, R11 # i2l | |
0fe salq | |
182 jb,u B35 P=0.000001 C=-1.000000 | |
182 | |
188 B22: # B35 B23R10, #1 | |
101 <- B21 Freq: 0.0386863 | |
188 addq R10, #23 # long | |
105 movq RDX, R10 # spill | |
108 andq RDX, #-8 # long | |
10c cmpl R11, #524288 # unsigned | |
113 jnbe,u B30 cmpl R11, R9 # unsigned | |
18b jb,u B35 P=0.000001 C=-1.000000 | |
18b | |
191 B23: # B37 B24 <- B22 Freq: 0.0386863 | |
191 testl R9, R9 | |
194 jle B37 P=0.000001 C=-1.000000 | |
194 | |
19a B24: # B29 B25 <- B23 Freq: 0.0386863 | |
19a leaq RSI, [RBP + #16 (8-bit)] # ptr off8narrow | |
19e cmpl R9, R11 | |
1a1 jl B29 P=0.001000 C=-1.000000 | |
P=0.000001 C=-1.000000 | |
113 | |
119 B19: # B30 B20 <- B18 Freq: 0.0441203 | |
119 # TLS is in R15 | |
119 movq R13, [R15 + #120 (8-bit)] # ptr | |
11d movq R9, R13 # spill | |
120 1a1 | |
1a7 B25: # B26 <- B24 Freq: 0.0386476addq R9, RDX # ptr | |
123 cmpq R9, [R15 + #136 (32-bit)] # raw ptr | |
12a | |
1a7 addq RDX, #-16 # long | |
1ab shrq RDX, #3 | |
1af movq RDI, RSI # spill | |
1b2 movq RSI, R14 # spill | |
1b5 call_leaf_nofp,runtime jlong_disjoint_arraycopy | |
No JVM State Info | |
# | |
1c2 | |
1c2 B26: # B5 <- B29 B25 B36 B37 Freq: 0.0386864 | |
1c2 jnb,u B30 P=0.000100 C=-1.000000 | |
12a | |
MEMBAR-storestore (empty encoding) | |
1c2 movq R10, [rsp + #48] # spill | |
1c7130 B20: # B21 <- B19 Freq: 0.0441158 | |
movl RDI, [R10 + #12 (8-bit)] # compressed ptr130 movq [R15 + #120 (8-bit)], R9 # ptr ! Field: java/lang/String.value | |
1cb movq R10, [rsp + #0] # spill | |
1cf | |
134 PREFETCHNTA [R9 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
13c movq [R13], 0x0000000000000001 # ptrmovl R10, [R10 + #12 (8-bit)] # int | |
144 PREFETCHNTA [R9 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
14c movl [R13 + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * ! Field: java/lang/AbstractStringBuilder.count | |
1d3 encode_heap_oop_not_null RBP,R13 | |
2de movq R11, [rsp + #0] # spill # compressed klass ptr | |
154 movl [R13 + #12 (8-bit)], | |
2e2 movl [R11 # int | |
158 PREFETCHNTA [R9 + #384R11 + #16 (8-bit)], RBP # compressed ptr ! Field: (32-bit)] # Prefetch allocation to non-temporal cache for write | |
158 | |
160 B21: # java/lang/AbstractStringBuilder.value | |
2e6 movq R11, R11 # ptr -> long | |
2e6 shrq R11B35 B22 <- B31 B20 Freq: 0.0441203, #9 | |
2ea movq R8, 0x00007f62487ff000 # ptr | |
2f4 movb | |
160 | |
160 # checkcastPP of [R13 | |
160 R8 + R11], R12 # short/char (R12_heapbase==0) | |
cmpl R8, R11 | |
1632f8 jmp B5 | |
2f8 | |
2fd B27: # B16 B28 <- B14 movl R9, R11 # spill | |
Freq: 0.0193432 | |
2fd addl R10, #2 # int | |
301 166 cmovll R9, R8 # signed, int | |
16a movq R14, R13 # spill | |
16d addq testl R10, R10 | |
304 jl B16 P=0.500000 C=-1.000000 | |
304 | |
30a B28: # B18 <- B27 Freq: 0.0096716 | |
30a movl R11, R10 # spill | |
30d jmp R14, B18 | |
30d | |
312 B29: # B26 <- B24 Freq: 3.86863e-05 | |
312 movslq RDX, #16 # ptr | |
171 decode_heap_oop_not_null RSI,RBP | |
174 shrq R10, #3 | |
178 R9 # i2l | |
315 movq R11, RDX # spill | |
movq RCX, R10 # spill | |
17b addq RCX, #-2 # long | |
17f 318 salq R11, #1 | |
cmpl R8, R9 # unsigned | |
182 jb,u B35 P=0.000001 C=-1.000000 | |
182 | |
188 B22: # B3531b addq R11, #16 # long | |
31f movq R8, R11 # spill | |
322 andq R8, #-7 # long | |
326 B23 <- B21 Freq: 0.0441203 | |
188 cmpl R11, R9 # unsigned | |
18b jb,u B35 P=0.000001 C=-1.000000 | |
movq RDI, R13 # spill | |
329 addq RDI, R8 # ptr | |
32c 18b | |
191 B23: # B37 B24 <- B22 Freq: 0.0441202 | |
191 testl R9, R9 | |
194 shrq R11, #3 | |
330 jle B37 P=0.000001 C=-1.000000 | |
194 | |
19a B24: # B29 B25 <- subq R10, R11B23 Freq: 0.0441202 | |
19a leaq RSI, [RBP + #16 (8-bit)] # ptr off8narrow | |
19e cmpl R9, R11 | |
1a1 jl B29 P=0.001000 C=-1.000000 | |
# long | |
333 1a1 | |
1a7 B25: # B26 <- B24 Freq: 0.044076 | |
1a7 addq RDX, #-16 # long | |
1ab shrq RDX, #3 | |
1afmovq RCX, R10 # spill | |
336 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
340 movq RDI, RSI # spill | |
343 movq RSI, R14 # spill | |
346 call_leaf_nofp,runtime movq RDI, RSI # spill | |
1b2 movq RSI, R14 # spill arrayof_jshort_disjoint_arraycopy | |
No JVM State Info | |
# | |
353 jmp | |
1b5 call_leaf_nofp,runtime jlong_disjoint_arraycopy | |
No JVM State Info | |
# | |
1c2 | |
B26 | |
353 | |
358 B30: # B45 B31 <- 1c2 B26: # B5 <- B29 B18 B19 Freq: 3.90848e-06 | |
358 B25 B36 B37 movl [rsp + #40], R8 # spill | |
35d movq [rsp + #32], RDX # spill | |
362 movq [rsp + #24], R10 # spill | |
367 movl [rsp + #20], R11 # spill | |
36c movl [rsp + #16], RBX # spill | |
370 movq [rsp + #8], RSI # spill | |
375 pushq [rsp + #48] # 64-bit mem-mem spill | |
popq [rsp + #0] | |
37e movq RSI, Freq: 0.0441203 | |
1c2 MEMBAR-storestore (empty encoding) | |
precise klass [C: 0x00007f625811e128:Constant:exact *1c2 movq R10, [rsp + #48] # spill | |
1c7 movl RDI, [R10 + #12 (8-bit)] # compressed ptr # ptr ! Field: java/lang/String.value | |
1cb movq R10, [rsp + #0] # spill | |
1cf movl R10, [R10 + #12 (8-bit)] # int ! Field: java/lang/AbstractStringBuilder.count | |
1d3 encode_heap_oop_not_null RBP,R13 | |
2de movq R11, [rsp + #0] # spill | |
2e2 | |
388 movl RDX, R11 # spill | |
38b call,static wrapper for: _new_array_nozero_Javamovl [R11 + #16 (8-bit)], RBP # compressed ptr ! Field: java/lang/AbstractStringBuilder.value | |
2e6 movq R11, R11 # ptr -> long | |
2e6 shrq | |
# java.util.Arrays::copyOf @ bci:1 L[0]=RBP L[1]=rsp + #20 L[2]=_ | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:43 L[0]=_ L[1]=_ L[2]=_ STK[0]=rsp + #8 | |
# java.lang.AbstractStringBuilder::ensureCapacityInternalR11, #9 | |
2ea movq R8, 0x00007f62487ff000 # ptr | |
2f4 movb [R8 + R11], R12 # short/char (R12_heapbase==0) | |
2f8 jmp B5 | |
2f8 | |
2fd B27: # B16 B28 <- B14 @ bci:12 L[0]=_ L[1]=_ | |
# Freq: 0.0220602 | |
2fd addl R10, #2 # int | |
301 testl R10, java.lang.AbstractStringBuilder::append @ bci:21 L[0]=rsp + #8 L[1]=rsp + #0 L[2]=rsp + #16R10 | |
304 jl B16 P=0.500000 C=-1.000000 | |
304 | |
30a B28: # B18 <- B27 Freq: 0.0110301 | |
30a movl R11, R10 # spill | |
30d jmp B18 | |
30d | |
312 B29: # B26 <- B24 Freq: 4.41202e-05 | |
312 movslq RDX, R9 # i2l | |
315 movq R11, RDX # spill | |
318 | |
# OopMap{salq R11, #1 | |
31b addq R11, rbp#16 # long | |
31f movq R8, R11 # spill | |
322 andq R8, #-7 # long | |
326 movq RDI, R13 # spill | |
329 addq RDI, R8 # ptr | |
32c shrq R11, #3 | |
330 subq R10, R11 # long | |
333 movq RCX, R10 # spill | |
336 =NarrowOop [0]=Oop [8]=Oop [48]=Oop off=912} | |
390 | |
390 B31: # B21 <- B30 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
340 Freq: 3.9084e-06 | |
# Block is sole successor of call | |
390 pushq [rsp + #8] # 64-bit mem-mem spill | |
popq [rsp + #0] | |
399 movl RCX, [rsp + #16] # spill | |
39d movl R11, [rsp + #20] # spill | |
3a2 movq R10, [rsp + #24] # spill | |
3a7 movq RDI, RSI # spill | |
movq RDX, [rsp + #32] # spill | |
3ac movl R8, [rsp + #40] # spill | |
3b1 343 movq RSI, R14 # spill | |
346 call_leaf_nofp,runtime arrayof_jshort_disjoint_arraycopy | |
No JVM State Info | |
# | |
353 jmp B26 | |
353 | |
358 B30: # B45 B31 <- B18 B19 Freq: 4.45746e-06 | |
358 movl [rsp + #40], R8 # spill | |
35d movq [rsp + #32], RDX # spill | |
362 movq [rsp + #24], R10 # spill | |
367 movl [rsp + #20], R11 # spill | |
36c movl [rsp + #16], RBX # spill | |
370 movl RBX, RCX # spill | |
3b3 movq R13, RAX # spill | |
3b6 jmp B21 | |
3b6 | |
movq [rsp + #8], RSI # spill | |
375 pushq [rsp + #48] # 64-bit mem-mem spill | |
popq [rsp + #0] | |
37e 3bb B32: # B46 B33 <- B8 movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
388 movl RDX, R11 # spill | |
38b call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOf @ bci:1 L[0]=RBP L[1]=rsp + #20 L[2]=_ | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:43 L[0]=_ L[1]=_ B9 B10 Freq: 2.99998e-06 | |
L[2]=_ STK[0]=rsp + #8 | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 3bb movq RSI, RDX # spill | |
3be xorl RDX, RDX # int | |
3c0 movl R8, R10 # spill | |
3c3 movl R9, RBX # spill | |
3c6 movl [rsp + #12], RBX # spill | |
nop # 1 bytes pad for loops and calls | |
3cb call,static wrapper for: slow_arraycopy | |
# java.lang.String::getChars @ bci:58 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=rsp + #0 L[1]=_ L[2]=rsp + #12 | |
# OopMap{[0]=Oop off=976} | |
3d0 | |
3d0 B33: # B13 <- B32 Freq: 2.99992e-06 | |
# Block is sole successor of call | |
3d0 movl RBX, [rsp + #12] # spill | |
3d4 jmp B13 | |
3d4 | |
3d9 B34: # N562 <- B6 Freq: 4.76835e-07 | |
3d9 movl RSI, #5 # int | |
3de movq RBP, [rsp + #0] # spill | |
L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=rsp + #8 L[1]=rsp + #0 L[2]=rsp + #16 | |
# java.lang.StringBuilder::append @ bci:2 L[0]=rsp + #8 L[1]=_ | |
# OopMap{rbp=NarrowOop [0]=Oop [8]=Oop [48]=Oop off=912} | |
390 | |
390 B31: # B21 <- B30 Freq: 4.45737e-06 | |
# Block is sole successor of call | |
390 pushq [rsp + #8] # 64-bit mem-mem spill | |
popq [rsp + #0] | |
399 movl RCX, [rsp + #16] # spill | |
39d movl R11, [rsp + #20] # spill | |
3a2 movq R10, [rsp + #24] # spill | |
3a7 movq RDX, [rsp + #32] # spill | |
3ac movl R8, [rsp + #40] # spill | |
3b1 movl RBX, RCX # spill | |
3b3 movq R13, RAX # spill | |
3b6 jmp B21 | |
3b6 | |
3bb B32: # B46 B33 <- B8 B9 B10 Freq: 2.99998e-06 | |
3bb movq RSI, RDX # spill | |
3be xorl RDX, RDX # int | |
3c0 movl R8, R10 # spill | |
3c3 movl R9, RBX # spill | |
3c6 movl [rsp + #12], RBX # spill | |
nop # 1 bytes pad for loops and calls | |
3cb call,static wrapper for: slow_arraycopy | |
# java.lang.String::getChars @ bci:58 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=rsp + #0 L[1]=_ L[2]=rsp + #12 | |
# java.lang.StringBuilder::append @ bci:2 L[0]=rsp + #0 L[1]=_ | |
# OopMap{[0]=Oop off=976} | |
3d0 | |
3d0 B33: # B13 <- B32 Freq: 2.99992e-06 | |
# Block is sole successor of call | |
3d0 movl RBX, [rsp + #12] # spill | |
3d4 jmp B13 | |
3d4 | |
3d9 B34: # N567 <- B6 Freq: 4.76835e-07 | |
3d9 movl RSI, #5 # int | |
3de movl [rsp + #12], RBX # spill | |
nop # 1 bytes pad for loops and calls | |
3e3 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::getChars @ bci:22 L[0]=_ L[1]=_ L[2]=rsp + #12 L[3]=_ L[4]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=rsp + #0 L[1]=_ L[2]=rsp + #12 | |
# java.lang.StringBuilder::append @ bci:2 L[0]=rsp + #0 L[1]=_ | |
# OopMap{[0]=Oop off=1000} | |
3e8 int3 # ShouldNotReachHere | |
3e8 | |
3ed B35: # B44 B36 <- B21 B22 Freq: 8.82405e-08 | |
3ed movq RDI, R14 # spill | |
3f0 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
3fa xorl RDX, RDX # int | |
3fc movq RCX, R13 # spill | |
3ff xorl R8, R8 # int | |
402 movl [rsp + #20], RBX # spill | |
406 movq [rsp + #40], R13 # spill | |
40b call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOf @ bci:14 L[0]=_ L[1]=_ L[2]=rsp + #40 | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:43 L[0]=_ L[1]=_ L[2]=_ STK[0]=rsp + #0 | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=rsp + #0 L[1]=rsp + #48 L[2]=rsp + #20 | |
# java.lang.StringBuilder::append @ bci:2 L[0]=rsp + #0 L[1]=_ | |
# OopMap{[0]=Oop [40]=Oop [48]=Oop off=1040} | |
410 | |
410 B36: # B26 <- B35 Freq: 8.82388e-08 | |
# Block is sole successor of call | |
410 3e2 movl [rsp + #4], RBX # spill | |
movl RBX, [rsp + #20] # spill | |
nop # 1 bytes pad for loops and calls | |
3e7 call,static wrapper for: uncommon_trap414 movq R13, [rsp + #40] # spill | |
419 jmp B26 | |
419 | |
41e B37: # B26 <- B23 Freq: 4.41202e-08 | |
41e movq RDI, R14 # spill | |
(reason='unloaded' action='reinterpret' index='5') | |
#421 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
42b | |
42b jmp java.lang.String::getChars @ bci:22 L[0]=_ L[1]=_ L[2]=rsp + #4B26 | |
42b | |
430 B38: # N567 <- L[3]=_ L[4]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:35 B16 Freq: 2.20602e-08 | |
430 movl RSI, #6 L[0]=RBP L[1]=_ L[2]=rsp + #4 | |
# OopMap{rbp=Oop off=1004} | |
3ec int3 # ShouldNotReachHere # int | |
435 movq RBP, [rsp + #0] # spill | |
439 movl [rsp + #16], RBX # spill | |
3ec | |
nop # 2 bytes pad for loops and calls | |
43f 3f1 B35: # B44 B36 <- B21 call,static B22 Freq: 7.73727e-08 | |
3f1 movq RDI, R14 # spill | |
3f4 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
3fe xorl RDX, RDX # int | |
400 movq RCX, R13 # spill | |
403 xorl R8, R8 # int | |
wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='6') | |
# java.lang.AbstractStringBuilder::expandCapacity406 @ bci:26 L[0]=_ L[1]=_ L[2]=_ | |
# java.lang.AbstractStringBuilder::ensureCapacityInternalmovl [rsp + #20], RBX # spill | |
40a @ bci:12 L[0]=_ L[1]=_ | |
movq [rsp + #32], R13 # spill | |
40f call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOf @ bci:14 L[0]=_ L[1]=_ L[2]=rsp + #32 | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:43 L[0]=_ L[1]=_ L[2]=_ # java.lang.AbstractStringBuilder::append @ bci:21 L[0]=RBP L[1]=rsp + #48 L[2]=rsp + #16 | |
# java.lang.StringBuilder::append @ bci:2 L[0]=RBP L[1]=_ STK[0]=rsp + #0 | |
# java.lang.AbstractStringBuilder:: | |
# OopMap{rbp=Oop [48]=Oop ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=rsp + #0 L[1]=rsp + #48off=1092} | |
444 L[2]=rsp + #20 | |
# OopMap{[0]=Oop [32]=Oop [48]=Oop off=1044} | |
414 | |
414 B36: # B26 <- B35 Freq: 7.73712e-08 | |
# Block is sole successor of call | |
414 int3 # ShouldNotReachHere movl RBX, [rsp + #20] # spill | |
418 | |
444 | |
449 B39: # N567 <- B2 Freq: 1.01328e-06movq R13, [rsp + #32] # spill | |
41d jmp | |
449 movl RSI, B26 | |
41d | |
422 B37: # B26 <- B23 Freq: 3.86863e-08 | |
422 #-10 # int | |
nop # 1 bytes pad for loops and calls | |
44f call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::length @ bci:4 L[0]=_ STK[0]=#NULL | |
# java.lang.AbstractStringBuilder::append @ bci:10 L[0]=_ L[1]=_ L[2]=_ | |
# java.lang.StringBuilder::movq RDI, R14 # spill | |
425 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
42f | |
42f jmp B26 | |
42f | |
434 B38: # N562 <- B16 Freq: 1.93432e-08 | |
434 movl RSI, #6 # int | |
439 movq RBP, [rsp + #0] # spill | |
43d movl [rsp + #8], RBX # spill | |
nop # 2 bytes pad for loops and calls | |
443 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='6') | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:26 L[0]=_ L[1]=_ L[2]=_ | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=RBP L[1]=rsp + #48 L[2]=rsp + #8 | |
# OopMap{rbp=Oop [48]=Oop off=1096} | |
448 int3 # ShouldNotReachHere | |
448 | |
44d B39: # N562 <- B2 Freq: 1.01328e-06 | |
44d append @ bci:2 L[0]=_ L[1]=_ | |
# OopMap{off=1108} | |
454 int3 # ShouldNotReachHere | |
454 | |
459 B40: # N567 <- B3 Freq: 1.01328e-06 | |
459 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
45f call,static movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
453 call,static wrapper for: uncommon_trap wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:5 L[0]=_ L[1]=_ STK[0]=_ STK[1]=#NULL | |
#(reason='null_check' action='maybe_recompile') | |
# java.lang.String::length @ bci:4 L[0]=_ STK[0]=#NULL | |
# java.lang.AbstractStringBuilder::append java.lang.AbstractStringBuilder::append @ bci:21 L[0]=_ L[1]=_ L[2]=_ | |
# java.lang.StringBuilder::append @ bci:2 L[0]=_ L[1]=_ | |
# OopMap{off=1124} | |
464 int3 # ShouldNotReachHere | |
464 | |
469 B41: # N567 <- @ bci:10 L[0]=_ L[1]=_ L[2]=_ | |
# B5 Freq: 1.01328e-06 | |
469 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
46f call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::getChars @ bci:18 OopMap{off=1112} | |
458 int3 # ShouldNotReachHere | |
458 | |
45d B40: # N562 <- B3 Freq: 1.01328e-06 | |
45d movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
463 call,static wrapper for: uncommon_trap L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ STK[0]=_ STK[1]=#NULL | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=_ L[1]=_ L[2]=_ | |
# java.lang.StringBuilder::append @ bci:2 L[0]=_ L[1]=_ | |
# OopMap{off=1140} | |
474 int3 # ShouldNotReachHere | |
474 | |
479 B42: # N567 <- B7 Freq: 1.01327e-06 | |
479 movl RSI, #-10 # int | |
47e movl RBP, RDI # spill | |
480 movl [rsp + #0], R10 # spill | |
484 movl [rsp + #4], RBX # spill | |
nop # 3 bytes pad for loops and calls | |
48b call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
#(reason='null_check' action='maybe_recompile') | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:5 L[0]=_ L[1]=_ STK[0]=_ STK[1]=#NULL | |
# java.lang.String::getChars @ bci:58 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ STK[0]=RBP STK[1]=#0 STK[2]=#NULL STK[3]=rsp + #0 STK[4]=rsp + #4 | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=_ L[1]=_ L[2]=_ | |
# OopMap{off=1128} | |
468 int3 # ShouldNotReachHere | |
468 | |
java.lang.AbstractStringBuilder::append @ bci:35 L[0]=_ L[1]=_ L[2]=_ | |
#46d B41: # N562 <- B5 Freq: 1.01328e-06 | |
46d movl RSI, #-10 # int | |
java.lang.StringBuilder::append @ bci:2 L[0]=_ L[1]=_ | |
# OopMap{ rbp=NarrowOop nop # 1 bytes pad for loops and calls | |
473off=1168} | |
490 int3 # ShouldNotReachHere | |
490 | |
495 B43: # N567 <- B1 Freq: 4.76837e-07 | |
495 movl RSI, #-83 # int | |
49a movq RBP, [rsp + #0] # spill | |
49e movq [rsp + #16], RDX # spill | |
4a3 call,static wrapper for: uncommon_trap(reason='unreached' action='reinterpret') | |
# java.lang.AbstractStringBuilder::append @ bci:1 L[0]=RBP call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::getChars @ bci:18 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ STK[0]=_ STK[1]=#NULL | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=_ L[1]=_ L[2]=_ | |
# OopMap{off=1144} | |
478 int3 # ShouldNotReachHere | |
478 | |
47d B42: # N562 <- B7 Freq: 1.01327e-06 | |
47d movl RSI, #-10 # int | |
482 movl RBP, RDI # spill | |
484 movl [rsp + #0], R10 # spill | |
488 movl [rsp + #4], RBX # spill | |
L[1]=rsp + #16 L[2]=_ STK[0]=rsp + #48 | |
# java.lang.StringBuilder::append @ bci:2 L[0]=RBP L[1]=_ | |
# OopMap{rbp=Oop [16]=Oop [48]=Oop off=1192} | |
4a8 int3 # ShouldNotReachHere | |
4a8 | |
4ad B44: # B47 <- B35 Freq: 8.82405e-13 | |
4ad # exception oop is in rax; no code emitted | |
4ad movq RSI, RAX # spill | |
4b0 jmp,s B47 | |
4b0 | |
4b2 B45: # B47 <- B30 Freq: 4.45746e-11 | |
4b2 # exception oop is in rax; no code emitted | |
4b2 movq RSI, RAX # spill | |
4b5 jmp,s B47 | |
4b5 | |
4b7 B46: # B47 <- B32 Freq: 2.99998e-11 | |
4b7 # exception oop is in rax; no code emitted | |
4b7 movq RSI, RAX # spill | |
4b7 | |
4ba B47: # N567 <- B45 B44 B46 Freq: 7.54569e-11 | |
nop # 3 bytes pad for loops and calls | |
4ba addq rsp, 80 # Destroy frame | |
popq rbp | |
4bf jmp rethrow_stub | |
4bf | |
48f call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::getChars @ bci:58 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ STK[0]=RBP STK[1]=#0 STK[2]=#NULL STK[3]=rsp + #0 STK[4]=rsp + #4 | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=_ L[1]=_ L[2]=_ | |
# OopMap{rbp=NarrowOop off=1172} | |
494 int3 # ShouldNotReachHere | |
494 | |
499 B43: # N562 <- B1 Freq: 4.76837e-07 | |
499 movl RSI, #-83 # int | |
49e movq RBP, [rsp + #0] # spill | |
4a2 movq [rsp + #8], RDX # spill | |
4a7 call,static wrapper for: uncommon_trap(reason='unreached' action='reinterpret') | |
# java.lang.AbstractStringBuilder::append @ bci:1 L[0]=RBP L[1]=rsp + #8 L[2]=_ STK[0]=rsp + #48 | |
# OopMap{rbp=Oop [8]=Oop [48]=Oop off=1196} | |
4ac int3 # ShouldNotReachHere | |
4ac | |
4b1 B44: # B47 <- B35 Freq: 7.73727e-13 | |
4b1 # exception oop is in rax; no code emitted | |
4b1 movq RSI, RAX # spill | |
4b4 jmp,s B47 | |
4b4 | |
4b6 B45: # B47 <- B30 Freq: 3.90848e-11 | |
4b6 # exception oop is in rax; no code emitted | |
4b6 movq RSI, RAX # spill | |
4b9 jmp,s B47 | |
4b9 | |
4bb B46: # B47 <- B32 Freq: 2.99998e-11 | |
4bb # exception oop is in rax; no code emitted | |
4bb movq RSI, RAX # spill | |
4bb | |
4be B47: # N562 <- B45 B44 B46 Freq: 6.98583e-11 | |
4be addq rsp, 80 # Destroy frame | |
popq rbp | |
4c3 jmp rethrow_stub | |
4c3 | |
{method} | |
- this oop: 0x00007f624726bd80 | |
- method holder: 'java/lang/String' | |
- constants: 0x00007f6247268100 constant pool [678] {0x00007f6247268100} for 'java/lang/String' cache=0x00007f6247318478 | |
- access: 0x81000001 public | |
- name: 'getChars' | |
- signature: '(II[CI)V' | |
- max stack: 7 | |
- max locals: 5 | |
- size of params: 5 | |
- method size: 12 | |
- highest level: 3 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580ba7f8: 0xbaaba000 i2c: 0x00007f624911a820 c2i: 0x00007f624911a968 c2iUV: 0x00007f624911a93b | |
- compiled entry 0x00007f6249222ae0 | |
- code size: 62 | |
- code start: 0x00007f624726bcf8 | |
- code end (excl): 0x00007f624726bd36 | |
- method data: 0x00007f6247535b68 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f624726bd36 | |
- localvar length: 5 | |
- localvar start: 0x00007f624726bd42 | |
- compiled code: nmethod 283 89 3 java.lang.String::getChars (62 bytes) | |
# | |
# void ( java/lang/String:NotNull:exact *, int, int, char[int:>=0]:exact *, int ) | |
# | |
#r018 rsi:rsi : parm 0: java/lang/String:NotNull:exact * | |
#r016 rdx : parm 1: int | |
#r010 rcx : parm 2: int | |
#r004 r8:r8 : parm 3: char[int:>=0]:exact * | |
#r006 r9 : parm 4: int | |
# -- Old rsp -- Framesize: 48 -- | |
#r191 rsp+44: in_preserve | |
#r190 rsp+40: return address | |
#r189 rsp+36: in_preserve | |
#r188 rsp+32: saved fp register | |
#r187 rsp+28: pad2, stack alignment | |
#r186 rsp+24: pad2, stack alignment | |
#r185 rsp+20: Fixed slot 1 | |
#r184 rsp+16: Fixed slot 0 | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
000 N182: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 movl rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass | |
decode_klass_not_null rscratch1, rscratch1 | |
cmpq rax, rscratch1 # Inline cache check | |
jne SharedRuntime::_ic_miss_stub | |
nop # nops to align entry point | |
nop # 12 bytes pad for loops and calls | |
020 B1: # B15 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #32 # Create frame | |
02c movq RAX, R8 # spill | |
02f testl RDX, RDX | |
031 jl,s B15 P=0.000000 C=33544.000000 | |
031 | |
033 B2: # B18 B3 <- B1 Freq: 1 | |
033 movl RBP, [RSI + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
036 movl R11, [RBP + #12 (8-bit)] # range | |
03a NullCheck RBP | |
03a | |
03a B3: # B16 B4 <- B2 Freq: 0.999999 | |
03a cmpl RCX, R11 | |
03d jg,s B16 P=0.000000 C=33544.000000 | |
03d | |
03f B4: # B17 B5 <- B3 Freq: 0.999998 | |
03f cmpl RDX, RCX | |
041 jg B17 P=0.000000 C=33544.000000 | |
041 | |
047 B5: # B19 B6 <- B4 Freq: 0.999998 | |
047 movl RBX, RCX # spill | |
049 subl RBX, RDX # int | |
04b movl R8, [R8 + #12 (8-bit)] # range | |
04f NullCheck R8 | |
04f | |
04f B6: # B13 B7 <- B5 Freq: 0.999997 | |
04f decode_heap_oop_not_null RSI,RBP | |
052 movl R10, R9 # spill | |
055 testl R9, R9 | |
058 jl,s B13 P=0.000001 C=-1.000000 | |
058 | |
05a B7: # B13 B8 <- B6 Freq: 0.999996 | |
05a cmpl R11, RCX # unsigned | |
05d jb,us B13 P=0.000001 C=-1.000000 | |
05d | |
05f B8: # B13 B9 <- B7 Freq: 0.999995 | |
05f addl R9, RBX # int | |
062 cmpl R8, R9 # unsigned | |
065 jb,us B13 P=0.000001 C=-1.000000 | |
065 | |
067 B9: # B12 B10 <- B8 Freq: 0.999994 | |
067 testl RBX, RBX | |
069 jle,s B12 P=0.000001 C=-1.000000 | |
069 | |
06b B10: # B11 <- B9 Freq: 0.999992 | |
06b leaq RDI, [RBP + #16 + RDX << #1] # ptr posidxscaleoffnarrow | |
070 leaq RSI, [RAX + #16 + R10 << #1] # ptr posidxscaleoff | |
075 movslq RDX, RBX # i2l | |
078 call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
085 | |
085 B11: # N182 <- B10 B12 B14 Freq: 0.999996 | |
085 | |
085 addq rsp, 32 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
090 ret | |
090 | |
091 B12: # B11 B13 <- B9 Freq: 9.99994e-07 | |
091 testl RBX, RBX | |
093 jge,s B11 P=0.999999 C=-1.000000 | |
093 | |
095 B13: # B20 B14 <- B12 B6 B7 B8 Freq: 2.99999e-06 | |
095 movq RCX, RAX # spill | |
098 movl R8, R10 # spill | |
09b movl R9, RBX # spill | |
nop # 1 bytes pad for loops and calls | |
09f call,static wrapper for: slow_arraycopy | |
# java.lang.String::getChars @ bci:58 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ | |
# OopMap{off=164} | |
0a4 | |
0a4 B14: # B11 <- B13 Freq: 2.99993e-06 | |
# Block is sole successor of call | |
0a4 jmp,s B11 | |
0a4 | |
0a6 B15: # N182 <- B1 Freq: 4.76837e-07 | |
0a6 movl RSI, #5 # int | |
0ab movl RBP, RDX # spill | |
nop # 2 bytes pad for loops and calls | |
0af call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::getChars @ bci:4 L[0]=_ L[1]=RBP L[2]=_ L[3]=_ L[4]=_ | |
# OopMap{off=180} | |
0b4 int3 # ShouldNotReachHere | |
0b4 | |
0b9 B16: # N182 <- B3 Freq: 4.76836e-07 | |
0b9 movl RSI, #5 # int | |
0be movl RBP, RCX # spill | |
nop # 3 bytes pad for loops and calls | |
0c3 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::getChars @ bci:22 L[0]=_ L[1]=_ L[2]=RBP L[3]=_ L[4]=_ | |
# OopMap{off=200} | |
0c8 int3 # ShouldNotReachHere | |
0c8 | |
0cd B17: # N182 <- B4 Freq: 4.76836e-07 | |
0cd movl RSI, #5 # int | |
0d2 movl RBP, RDX # spill | |
0d4 movl [rsp + #0], RCX # spill | |
0d7 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::getChars @ bci:36 L[0]=_ L[1]=RBP L[2]=rsp + #0 L[3]=_ L[4]=_ | |
# OopMap{off=220} | |
0dc int3 # ShouldNotReachHere | |
0dc | |
0e1 B18: # N182 <- B2 Freq: 1.01328e-06 | |
0e1 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
0e7 call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::getChars @ bci:18 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ STK[0]=_ STK[1]=#NULL | |
# OopMap{off=236} | |
0ec int3 # ShouldNotReachHere | |
0ec | |
0f1 B19: # N182 <- B5 Freq: 1.01328e-06 | |
0f1 movl RSI, #-10 # int | |
0f6 movl [rsp + #0], RDX # spill | |
0f9 movl [rsp + #4], R9 # spill | |
0fe movl [rsp + #8], RBX # spill | |
nop # 1 bytes pad for loops and calls | |
103 call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::getChars @ bci:58 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ STK[0]=RBP STK[1]=rsp + #0 STK[2]=#NULL STK[3]=rsp + #4 STK[4]=rsp + #8 | |
# OopMap{rbp=NarrowOop off=264} | |
108 int3 # ShouldNotReachHere | |
108 | |
10d B20: # N182 <- B13 Freq: 2.99999e-11 | |
10d # exception oop is in rax; no code emitted | |
10d movq RSI, RAX # spill | |
110 addq rsp, 32 # Destroy frame | |
popq rbp | |
115 jmp rethrow_stub | |
115 | |
{method} | |
- this oop: 0x00007f624766fa70 | |
- method holder: 'LambdaJitTrace$$Lambda$1' | |
- constants: 0x00007f624766f850 constant pool [22] {0x00007f624766f850} for 'LambdaJitTrace$$Lambda$1' cache=0x00007f624766fae8 | |
- access: 0x81000001 public | |
- name: 'apply' | |
- signature: '(Ljava/lang/Object;)Ljava/lang/Object;' | |
- max stack: 2 | |
- max locals: 2 | |
- size of params: 2 | |
- method size: 12 | |
- highest level: 2 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580b9b40: 0xbb000000 i2c: 0x00007f6249106520 c2i: 0x00007f6249106638 c2iUV: 0x00007f624910660b | |
- compiled entry 0x00007f6249229640 | |
- code size: 8 | |
- code start: 0x00007f624766fa68 | |
- code end (excl): 0x00007f624766fa70 | |
- method data: 0x00007f6247673c30 | |
- checked ex length: 0 | |
- localvar length: 0 | |
- compiled code: nmethod 299 120 2 LambdaJitTrace$$Lambda$1/640070680::apply (8 bytes) | |
# | |
# java/lang/Object * ( LambdaJitTrace$$Lambda$1{method} | |
- this oop: 0x00007f624726f7e0 | |
- method holder: 'java/lang/String' | |
- constants: 0x00007f6247268100 constant pool [678] {0x00007f6247268100} for 'java/lang/Str:NotNull:exact *, java/lang/Object * ) | |
# | |
#r018 rsi:rsi : parm 0: LambdaJitTrace$$Lambda$1:NotNull:exact * | |
#r016 rdx:rdx : parm 1: java/lang/Object * | |
# -- Old rsp -- Framesize: 80 -- | |
#r191 rsp+76: in_preserve | |
#r190 rsp+72: return address | |
#r189 rsp+68: in_preserve | |
#r188 rsp+64: saved fp register | |
ing' cache=0x00007f6247318478 | |
- access: 0xc1000001 public | |
- name: 'trim' | |
- signature: '()Ljava/lang/String;' | |
- max stack: 4 | |
- max locals: 4 | |
- size of params: 1 | |
- method size: 12 | |
- highest level: 2 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580b9a90: 0xb0000000 i2c: 0x00007f6249106ae0 c2i: 0x00007f6249106bf4 c2iUV: 0x00007f6249106bc7 | |
- compiled entry 0x00007f6249229be0 | |
- code size: 77 | |
- code start: 0x00007f624726f750 | |
- code end (excl): 0x00007f624726f79d | |
- method data: 0x00007f624756af68 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f624726f79d | |
- localvar length: 4 | |
- localvar start: 0x00007f624726f7ae | |
- compiled code: nmethod 303 119 2 java.lang.String::trim (77 bytes) | |
# | |
# java/lang/String:exact * ( java/lang/String:NotNull:exact * )#r187 rsp+60: pad2, stack alignment | |
#r186 rsp+56: pad2, stack alignment | |
#r185 rsp+52: Fixed slot 1 | |
#r184 rsp+48: Fixed slot 0 | |
# | |
#r018 rsi:rsi : parm 0: java/lang/String:NotNull:exact * | |
# -- Old rsp -- Framesize: 80 -- | |
#r191 rsp+76: in_preserve | |
#r190 rsp+72: return address | |
#r189 rsp+68: in_preserve | |
#r188 rsp+64: saved fp register | |
#r187 rsp+60: pad2, stack alignment | |
#r186 rsp+56: pad2, stack alignment | |
#r185 rsp+52: Fixed slot 1 | |
#r184 rsp+48: Fixed slot 0 | |
#r203 rsp+44: spill | |
#r202 rsp+40: spill | |
#r201 rsp+36: spill | |
#r200 rsp+32: spill | |
#r199 rsp+28: spill | |
#r198 rsp+24: spill | |
#r197 rsp+20: spill | |
#r196 rsp+16: spill | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
000 #r203 rsp+44: spill | |
#r202 rsp+40: spill | |
#r201 rsp+36: spill | |
#r200 rsp+32: spill | |
#r199 rsp+28: spill | |
#r198 rsp+24: spill | |
#r197 rsp+20: spill | |
#r196 rsp+16: spill | |
#r195 rsp+12: spill | |
#r194 rsp+ 8: spill | |
#r193 rsp+ 4: spill | |
#r192 rsp+ 0: spill | |
# | |
000 N686: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 movl rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass | |
decode_klass_not_null rscratch1, rscratch1 | |
cmpq rax, rscratch1 # Inline cache check | |
jne SharedRuntime::_ic_miss_stub | |
N654: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 movl rscratch1, [j_rarg0 + oopDesc::klass_offset_in_bytes()] # compressed klass | |
decode_klass_not_null rscratch1, rscratch1 | |
cmpq rax, rscratch1 # Inline cache check | |
jne SharedRuntime::_ic_miss_stub | |
nop # nops to align entry point | |
nop # 12 bytes pad for loops and calls | |
020 B1: # B54 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #64 # Create frame | |
02c movq [rsp + #8], RSI # spill | |
031 movl RDI, [RSI + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
034 movl R9, [RDI + #12 (8-bit)] # range | |
038 NullCheck RDI | |
038 | |
038 B2: # B44 B3 <- B1 Freq: 0.999999 | |
038 movl R10, R9 # spill | |
03b decl R10 # int | |
03e testl R9, R9 | |
041 jle B44 P=0.000000 C=69687.000000 | |
041 | |
047 B3: # B38 B4 <- B2 Freq: 0.999999 | |
047 testl R9, R9 # unsigned | |
04a jbe,u B38 P=0.000001 C=-1.000000 | |
04a | |
050 B4: # B38 B5 <- B3 Freq: 0.999997 | |
050 cmpl R10, R9 # unsigned | |
053 jnb,u B38 P=0.000001 C=-1.000000 | |
053 | |
059 B5: # B6 <- B4 Freq: 0.999996 | |
059 xorl RCX, RCX # int | |
nop # 5 bytes pad for loops and calls | |
060 B6: # B8 B7 <- B5 B7 Loop: B6-B7 inner Freq: 2.99999 | |
060 movzwl R8, [RDI + #16 + nop # nops to align entry point | |
nop # 12 bytes pad for loops and calls | |
020 B1: # B57 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
RCX << #1] # ushort/char | |
066 cmpl R8, #32 | |
06a jg,s B8 P=0.333333 C=69687.000000 | |
06a | |
06c B7: # B6 B8 <- B6 Freq: 1.99999 | |
06c incl RCX # int | |
06e cmpl RCX, R9 | |
071 jl,s B6 # loop end P=1.000000 C=46458.000000 | |
071 | |
073 B8: # B45 B9 <- B7 B6 B44 Freq: 0.999997 | |
073 cmpl RCX, R9 | |
076 jge 020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #64 # Create frame | |
02c B45 P=0.000000 C=69687.000000 | |
076 | |
07c B9: # movq R11, RDX # spill | |
02f movl R10, [RDX + B39 B10 <- B8 Freq: 0.999996 | |
07c cmpl RCX, R9 # unsigned | |
07f jnb,u B39 P=0.000001 C=-1.000000 | |
07f | |
085 B10: # B39 B11 <- B9 Freq: 0.999995 | |
085 cmpl R10, R9 # unsigned | |
088 jnb,u B39 P=0.000001 C=-1.000000 | |
088 | |
08e B11: # B12 <- B10 Freq: 0.999994 | |
08e movl RBP, R9 # spill | |
091 movl R8, RCX # spill | |
nop # 12 bytes pad for loops and calls | |
0a0 B12: # B14 B13 <- B11 B13 Loop: B12-B13 inner Freq: 2.99998 | |
0a0 movzwl R11, [RDI + #14 + RBP << #1] # ushort/char | |
0a6 cmpl R11, #32 | |
0aa jg,s B14 P=0.333333 C=69687.000000 | |
0aa | |
0ac B13: # B12 B14 <- B12 Freq: 1.99999 | |
0ac decl RBP # int | |
0ae cmpl RBP, R8 | |
0b1 jg,s B12 # loop end P=1.000000 C=46458.000000 | |
0b1 | |
0b3 B14: # B46 B15 <- B13 B12 B45 Freq: 0.999995 | |
0b3 testl R8, R8 | |
#8 (8-bit)] # compressed klass ptr | |
033 NullCheck RDX | |
033 | |
033 B2: # 0b6 jle B46 P=0.000000 C=23229.000000 | |
0b6 | |
0bc B15: # B48 B16 <- B46 B14 Freq: 0.999995 | |
0bc testl R8, R8 | |
0bf jl B48 P=0.000000 C=38198.000000 | |
0bf | |
0c5 B16: # B49 B17 <- B15 Freq: 0.999994 | |
0c5 cmpl RBP, R9 | |
0c8 jg B49 P=0.000000 C=38198.000000 | |
0c8 | |
0ce B17: # B50 B18 <- B16 Freq: 0.999994 | |
0ce movl R11, RBP # spill | |
0d1 subl R11, R8 # int | |
0d4 movl [rsp + #4], R11 # spill | |
0d9 testl R11, R11 | |
0dc jl B50 P=0.000000 C=38198.000000 | |
0dc | |
0e2 B18: # B51 B19 <- B17 Freq: 0.999993 | |
B56 B3 <- B1 Freq: 0.999999 | |
0e2 testl R8, R8 | |
0e5 je B51 P=0.000000 C=38198.000000 | |
0e5 | |
0eb B19: # 033 cmpl B34 B20 <- B51 B18 Freq: 0.999993 | |
0eb # TLS is in R15 | |
0eb movq RBX, [R15 + #120 (8-bit)] # ptrR10, narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
03a jne,u B56 P=0.000000 C=-1.000000 | |
03a | |
040 B3: # B58 B4 <- B2 | |
0ef movq R10, RBX # spill | |
0f2 addq R10, #24 # ptr | |
0f6 # TLS is in R15 | |
0f6 cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
0fd jnb,u B34 P=0.000100 C=-1.000000 | |
0fd | |
Freq: 0.999999 | |
040 # checkcastPP of 103 B20: # B21 <- B19 Freq: 0.999893 | |
103 # TLS is in R15 | |
103 movq [R15 + #120 (8-bit)], R10 # ptr | |
107 PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
10fR11 | |
040 movq [rsp + #8], R11 # spill | |
045 movl RDI, [R11 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
049 movl R9 movl R11, narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
115 decode_klass_not_null R10,R11 | |
123 movq R10, [R10 + #176 (32-bit)] # ptr | |
12a movq [RBX], R10 # ptr | |
12d movl [RBX + , [RDI + #12 (8-bit)] # range | |
04d NullCheck RDI | |
04d | |
04d B4: # B46 B5 <- B3 #8 (8-bit)], narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
134 movl [RBX + #12 (8-bit)], R12 # int (R12_heapbase==0) | |
138 movq [RBX + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
13c movl [rsp + #32], R8 # spill | |
13c | |
141 B21: # B55 B22 <- B35 B20 Freq: 0.999993 | |
141 | |
141 MEMBAR-storestore (empty encoding) | |
141 # checkcastPP of RBX | |
141 Freq: 0.999998 | |
04d movl R10, R9 # spill | |
050 movq R10, [rsp + #8] # spill | |
146 movl RSI, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value decl R10 # int | |
053 testl R9, R9 | |
056 jle B46 | |
14a movl R8, [RSI + #12 (8-bit)] # range | |
14e NullCheck RSI | |
14e | |
14e B22: # B53 B23 <- B21 Freq: 0.999992 | |
14e movl R11, R8 # spill | |
151 subl R11, [RSP + #4 (32-bit)] # int | |
156 movl R9, [rsp + #32] # spill | |
15b cmpl R9, R11 | |
15e jg P=0.000000 C=69687.000000 | |
B53 P=0.000000 C=14575.000000 | |
15e | |
164 B23: # 056 | |
05c B5: # B40 B6 <- B4 B36 B24 <- B22 Freq: 0.999992 | |
164 decode_heap_oop_not_null R14,RSI | |
167 movslq R11, [RSP + #4 (32-bit)] # int -> long | |
16c salq R11, #1 | |
16f addq R11, #23 # long | |
173 movl R10, [rsp + #4] # spill | |
178 cmpl R10, #524288 # unsigned | |
17f jnbe,u B36 P=0.000001 C=-1.000000 | |
17f | |
185 B24: # B36 B25 <- B23 Freq: 0.999991 | |
185 # TLS is in R15 | |
185 movq RBP, [R15 + #120 (8-bit)] # ptr | |
189 Freq: 0.999997 | |
05c testl R9, R9 # unsigned | |
05f jbe movq R10, R11 # spill | |
18c andq R10, #-8 # long | |
190 movq R9, RBP # spill | |
193 addq R9, R10 # ptr | |
196 # TLS is in R15 | |
196 cmpq R9, [R15 + #136 (32-bit)] # raw ptr | |
19d jnb,u B36 P=0.000100 C=-1.000000 | |
19d | |
1a3 B25: # B26 <- B24 Freq: 0.999891 | |
1a3 # TLS is in R15 | |
1a3 movq [R15 + #120 (8-bit)],u B40 P=0.000001 C=-1.000000 | |
05f | |
065 B6: # B40 B7 <- B5 Freq: 0.999996 | |
065 cmpl R10, R9 # unsigned | |
068 jnb,u B40 P=0.000001 C=-1.000000 | |
, R9 # ptr | |
1a7 PREFETCHNTA [R9 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
1af movq [RBP], 0x0000000000000001 # ptr | |
1b7 PREFETCHNTA [R9 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
1bf movl [RBP + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
1c6 movl R10, [rsp + #4] # spill | |
1cb movl [RBP + #12 (8-bit)], R10 # int | |
1cf 068 | |
06e B7: # B8 <- B6 Freq: 0.999995 | |
06e xorl RCX, RCX # int | |
070 | |
070 B8: # B10 PREFETCHNTA [R9 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
B9 <- B7 B9 Loop: B8-B9 inner 1cf | |
1d7 B26: # B40 B27 <- B37 B25 Freq: 0.999992 | |
1d7 | |
1d7 # checkcastPP of RBP | |
1d7 movl R10, R8 # spill | |
1da subl R10, [RSP + #32 (32-bit)] # int | |
1df movq R13, RBP # spill | |
1e2 addq R13, #16 # ptr | |
1e6 cmpl R10, [RSP + #4 (32-bit)] | |
1eb movl R9, [rsp + #4] # spill | |
1f0 cmovll R9, R10 # signed, int | |
1f4 movl R10, [rsp + #32] # spill | |
1f9 addl Freq: 2.99998 | |
070 movzwl R8, [RDI + #16 + RCX << #1] # ushort/char | |
076 R10, R9 # int | |
1fc shrq R11, #3 | |
200 movq RCX, R11 # spill | |
203 addq RCX, #-2 # long | |
207 cmpl R8, R10 # unsigned | |
20a jb,u B40 P=0.000001 C=-1.000000 | |
20a | |
210 B27: # B40 B28 <- B26 Freq: 0.999991 | |
cmpl R8, #32 | |
07a210 movl R10, [rsp + #4] # spill | |
215 cmpl R10, R9 # unsigned | |
218 jb,u B40 P=0.000001 C=-1.000000 | |
218 | |
21e B28: # B42 B29 <- B27 Freq: 0.99999 | |
21e testl R9, R9 | |
221 jle B42 P=0.000001 C=-1.000000 | |
221 | |
227 B29: # B33 B30 <- B28 Freq: 0.999989 | |
227 movslq RDX, R9 # i2l | |
22a cmpl R9, R10 | |
22d jl B33 P=0.001000 C=-1.000000 | |
22d | |
233 B30: # B31 <- B29 B33 Freq: 0.999989 | |
233 movl R11, [rsp + #32] # spill | |
238 leaq jg,s B10 P=0.333333 C=69687.000000 | |
07a | |
07c B9: # B8 B10 <- B8 Freq: 1.99999 | |
07c incl RCX # int | |
07e cmpl RCX, R9 | |
081 jl,s RDI, [RSI + #16 + R11 << #1] # ptr posidxscaleoffnarrow | |
23d movq RSI, R13 # spill | |
240 call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
24d | |
24d B31: # B32 <- B30 B43 B41 Freq: 0.999992 | |
24d MEMBAR-storestore (empty encoding) | |
24d encode_heap_oop_not_null R10,RBP | |
358 movl [RBX + B8 # loop end P=1.000000 C=46458.000000 | |
081 | |
083 B10#12 (8-bit)], R10 # compressed ptr ! Field: java/lang/String.value | |
35c movq R10, : # B47 B11 <- RBX # ptr -> long | |
35f shrq R10, #9 | |
363 movq R11, 0x00007f62487ff000 # ptr | |
36d movb [R11 + R10], R12 # short/char (R12_heapbase==0) | |
371 MEMBAR-release ! (empty encoding) | |
371 | |
371 B32: # N654 <- B31 B52 B47 Freq: 0.999992 | |
371 B9 B8 B46 Freq: 0.999996 | |
083 cmpl RCX, R9 | |
086 jge B47 P=0.000000 C=69687.000000 | |
086 | |
08c B11: # B41 B12 <- B10 Freq: 0.999995 | |
08c cmpl RCX, R9 # unsigned | |
08f jnb,u B41 P=0.000001 C=-1.000000 | |
08f | |
095 B12: # B41 B13 <- B11 movq RAX, RBX # spill | |
374 addq rsp, 64 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
37f ret | |
37f | |
380 B33: # B30 <- B29 Freq: 0.000999989 | |
380 movq R10, RDX # spill | |
383 salq R10, #1 | |
386 addq R10, #16 # long | |
38a movq R8, R10 # spill | |
Freq: 0.999994 | |
095 cmpl R10, R9 # unsigned | |
098 jnb,u B41 P=0.000001 C=-1.000000 | |
098 | |
09e B13: # B14 <- B12 Freq: 0.999993 | |
09e movl RBP, R9 # spill | |
0a1 movl R8, RCX # spill | |
nop # 12 bytes pad for loops and calls | |
0b0 B14: # B16 B15 <- B13 B15 Loop: B14-B15 inner Freq: 2.99998 | |
0b0 movzwl R11, [RDI + #14 + RBP << #1] # ushort/char38d | |
0b6 cmpl R11, #32 | |
0ba jg,s B16andq R8, #-7 # long | |
391 movq RDI, RBP # spill | |
394 addq RDI, R8 # ptr | |
397 shrq R10, #3 | |
39b subq R11, R10 # long | |
39e movq RCX, R11 # spill | |
3a1 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
3ab jmp B30 | |
3ab | |
3b0 B34: # B58 B35 <- B19 Freq: 0.000100016 | |
3b0 movq RSI, precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # ptr | |
3ba movq RBP, [rsp + #8] # spill | |
3bf movl [rsp + #32], R8 # spill | |
nop # 3 bytes pad for loops and calls | |
3c7 call,static P=0.333333 C=69687.000000 | |
0ba | |
0bc B15: # B14 B16 <- B14 Freq: 1.99998 | |
0bc decl RBP # int | |
0be cmpl RBP, wrapper for: _new_instance_Java | |
# java.lang.String::substring @ bci:65 L[0]=RBP L[1]=rsp + #32 L[2]=_ L[3]=rsp + #4 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# OopMap{rbp=Oop [8]=Oop off=972} | |
R8 | |
0c1 jg,s B14 # loop end P=1.000000 C=46458.000000 | |
0c1 | |
0c3 B16: # B48 B17 <- B15 B14 3cc | |
3cc B35: # B21 <- B34 Freq: 0.000100014 | |
# Block is sole successor of call | |
3cc movq RBX, RAX # spill | |
3cf jmp B21 | |
3cf | |
3d4 B36: # B57 B37 <- B23 B24 Freq: 0.000101029 | |
3d4 movl [rsp + #40], R8 # spill | |
B47 Freq: 0.999994 | |
0c3 testl R8, R8 | |
0c6 jle B48 P=0.000000 C=23229.000000 | |
0c6 | |
0cc B17: # B50 B18 <- B48 B16 Freq: 0.999994 | |
0cc testl R8, R8 | |
0cf3d9 movl [rsp + #36], RSI # spill | |
3dd movq [rsp + #24], R11 # spill | |
3e2 jl B50 P=0.000000 C=33025.000000 | |
0cf | |
0d5 B18: # B51 B19 <- B17 Freq: 0.999993 | |
0d5 cmpl RBP, R9 | |
0d8 jg B51 P=0.000000 C=33025.000000 | |
0d8 | |
0de B19: # B52 B20 <- movq [rsp + #16], R14 # spill | |
3e7 movq [rsp + #8], RBX # spill | |
3ec movq [rsp - #8], rax # 32-bit mem-mem spill | |
movl rax, [rsp + #4] | |
movl [rsp + #0], rax | |
movq rax, [rsp - #8] | |
3fd movq RSI, precise B18 Freq: 0.999993 | |
0de movl RCX, RBP # spill | |
0e0 klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
407 movl RDX, [rsp + #0] # spill | |
nop # 1 bytes pad for loops and calls | |
40b call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=rsp + #16 L[1]=rsp + #32 L[2]=_ L[3]=rsp + #0 L[4]=_ | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #8 | |
# java.lang.String::subl RCX, R8 # int | |
0e3 movl [rsp + #4], RCX # spill | |
0e7 testl RCX, RCX | |
0e9 jl B52 P=0.000000 C=33025.000000 | |
0e9 | |
0ef B20: # B53 B21 <- B19 substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #8 | |
# java.lang.String::trim Freq: 0.999992 | |
0ef testl R8, R8 | |
0f2 je B53 P=0.000000 C=33025.000000 | |
0f2 | |
0f8 B21: # B36 B22 <- B53 B20 Freq: 0.999992 | |
0f8 # TLS is in R15 | |
0f8 movq RBX, [R15 + #120 (8-bit)] # ptr | |
0fc movq R10, RBX # spill | |
0ff addq R10, #24 # ptr | |
103 # TLS is in R15 | |
103 cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
10a jnb,u B36 P=0.000100 C=-1.000000 | |
10a | |
110 B22: # B23 <- B21 Freq: 0.999892 | |
110 # TLS is in R15 | |
110 movq [R15 + #120 (8-bit)], R10 # ptr | |
114 PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# OopMap{[8]=Oop [16]=Oop [36]=NarrowOop off=1040} | |
410 | |
410 B37: # B26 <- B36 Freq: 0.000101027 | |
# Block is sole successor of call | |
410 movq R9, [rsp + #8] # spill | |
415 movq R14, [rsp + #16] # spill | |
41a movq R11, [rsp + #24] # spill | |
41f movq RBP, RAX # spill | |
422 movl RSI, [rsp + #36] # spill | |
426 movl R8, [rsp + #40] # spill | |
42b movq RBX, R9 # spill | |
42e jmp B26 | |
42e | |
433 B38: # N654 <- B4 B3 Freq: 2.01327e-06 | |
433 movl RSI, #-122 # int | |
438 movl RBP, RDI # spill | |
43a pushq [rsp + #8] # 64-bit mem-mem spill | |
popq [rsp + #0] | |
443 movl [rsp + #8], R9 # spill | |
nop # 3 bytes pad for loops and calls | |
44b call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:18 L[0]=rsp + #0 L[1]=rsp + #8 L[2]=#0 L[3]=RBP | |
# OopMap{rbp=NarrowOop [0]=Oop off=1104} | |
450 int3 # ShouldNotReachHere | |
450 | |
455 B39: # N654 <- B10 B9 Freq: 2.02655e-06 | |
455 movl RSI, #-122 # int | |
45a movl RBP, RCX # spill | |
45c movl [rsp + #0], RDI # spill | |
45f movl [rsp + #4], R9 # spill | |
nop # 3 bytes pad for loops and calls | |
467 call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:37 L[0]=rsp + #8 L[1]=rsp + #4 L[2]=RBP L[3]=rsp + #0 | |
# OopMap{[0]=NarrowOop [8]=Oop off=1132} | |
46c int3 # ShouldNotReachHere | |
46c | |
471 B40: # B56 B41 <- B42 B26 B27 Freq: 1.99998e-06 | |
471 movq RDI, R13 # spill | |
474 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
47e movq RSI, R14 # spill | |
481 movl RDX, [rsp + #32] # spill | |
485 movq RCX, RBP # spill | |
488 xorl R8, R8 # int | |
48b movq [rsp + #8], RBX # spill | |
490 movq [rsp + #16], RBX # spill | |
nop # 2 bytes pad for loops and calls | |
497 call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOfRange @ bci:57 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=RBP | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #16 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #8 | |
# java.lang.String:: | |
11c movl R11, narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
122 trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop off=1180} | |
49c | |
49c B41: # B31 <- B40 Freq: 1.99994e-06 | |
# Block is sole successor of call | |
49c movq RBX, [rsp + #8] # spill | |
4a1 jmp B31 | |
4a1 | |
4a6 B42: # B40 B43 <- B28 Freq: 9.9999e-07 | |
4a6 testl R9, R9 | |
4a9 decode_klass_not_null R10,R11 | |
130 movq R10, [R10 + #176 (32-bit)] # ptr | |
137 movq [RBX], R10 # ptr | |
13a movl [RBX + #8 (8-bit)], narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
141 movl [RBX + #12 (8-bit)], R12 # int (R12_heapbase==0) | |
145 movq [RBX + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
149 movl [rsp + #32], R8 # spill | |
jl,s B40 P=0.000001 C=-1.000000 | |
4a9 | |
4ab B43: # B31 <- B42 Freq: 9.99989e-07 | |
4ab movq RDI, R13 # spill | |
4ae xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
4b8 | |
4b8 jmp B31 | |
4b8 | |
4bd B44: # B8 <- B2 Freq: 4.99999e-07 | |
4bd xorl R11, R11 # int | |
4c0 movl RCX, R11 # spill | |
4c3 jmp B8 | |
4c3 | |
4c8 B45: # B14 <- B8 Freq: 4.76836e-07 | |
4c8 movl RBP, R9 # spill | |
4cb movl R8, RCX # spill | |
4ce jmp B14 | |
4ce | |
4d3 B46: # 149 | |
14e B23: # B59 B24 <- B37 B22 Freq: 0.999992B15 B47 <- B14 Freq: 4.76835e-07 | |
4d3 cmpl RBP, R9 | |
4d6 | |
14e | |
14e MEMBAR-storestore (empty encoding) | |
14e # checkcastPP of RBX | |
14e movq R10, [rsp + #8] # spill | |
153 movl RSI, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
157 movl R8, [RSI + #12 (8-bit)] # range jl B15 P=0.500000 C=-1.000000 | |
4d6 | |
4dc B47: # B32 <- B46 Freq: 2.38417e-07 | |
4dc movq R10, [rsp + #8] # spill | |
4e1 movq RBX, R10 # spill | |
4e4 jmp B32 | |
4e4 | |
4e9 B48: # N654 <- B15 Freq: 4.76835e-07 | |
4e9 movl RSI, #5 # int | |
4ee movl RBP, R8 # spill | |
nop # 2 bytes pad for loops and calls | |
4f3 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::substring @ bci:4 L[0]=_ L[1]=RBP L[2]=_ L[3]=_ | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# OopMap{off=1272} | |
4f8 int3 # ShouldNotReachHere | |
4f8 | |
4fd | |
15b NullCheck RSI | |
15b | |
15b B24: # B55 B25 <- B23 Freq: 0.999991 | |
15b movl R11, R8 # spill | |
15e subl R11, [RSP + #4 (32-bit)] # int | |
163 B49: # N654 <- B16 Freq: 4.76834e-07 | |
4fd movl RSI, #5 # int | |
nop # 1 bytes pad for loops and calls | |
503 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::substring @ bci:22 L[0]=_ L[1]=_ L[2]=RBP L[3]=_ | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# OopMap{off=1288} | |
508 int3 # ShouldNotReachHere | |
508 | |
50d B50: # N654 <- B17 Freq: 4.76834e-07 | |
50d movl RSI, #5 # int | |
512 movl RBP, R11 # spill | |
nop # 2 bytes pad for loops and calls | |
517 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::substring @ bci:39 L[0]=_ L[1]=_ L[2]=_ L[3]=RBP | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# OopMap{off=1308} | |
51c int3 # ShouldNotReachHere | |
51c | |
521 B51: # B19 B52 <- B18 Freq: 4.76834e-07 | |
521 cmpl RBP, R9 | |
524 jne B19 P=0.900000 C=-1.000000 | |
524 | |
52a B52: # B32 <- B51 Freq: 4.76834e-08 | |
52a movq R10, [rsp + #8] # spill | |
52f movq RBX, R10 # spill | |
532 jmp B32 | |
532 | |
537 B53: # N654 <- B22 Freq: 4.76833e-07 | |
537 movl RSI, #5 # int | |
53c movq [rsp + #8], RBX # spill | |
nop # 2 bytes pad for loops and calls | |
543 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::<init> @ bci:38 L[0]=_ L[1]=_ L[2]=rsp + #32 L[3]=rsp + #4 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #8 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# OopMap{[8]=Oop off=1352} | |
548 int3 # ShouldNotReachHere | |
548 | |
54d B54: # N654 <- B1 Freq: 1.01328e-06 | |
54d movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
553 call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::trim @ bci:4 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=#NULL | |
# OopMap{off=1368} | |
558 int3 # ShouldNotReachHere | |
558 | |
55d B55: # N654 <- B21 Freq: 1.01327e-06 | |
55d movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
563 call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::<init> @ bci:32 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=_ STK[1]=#NULL | |
# java.lang.String::substring @ bci:75 movl R9, [rsp + #32] # spill | |
168 cmpl R9, R11 | |
16b jg B55 P=0.000000 C=14575.000000 | |
16b | |
171 B25: # L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=_ | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# OopMap{B38 B26 <- B24 Freq: 0.999991 | |
171 decode_heap_oop_not_null R14,RSI | |
174 movslq R11, [RSP + #4 (32-bit)] # int -> long | |
179 salq R11, off=1384} | |
568 #1 | |
17c int3 # ShouldNotReachHere | |
addq R11, #23568 | |
56d B56: # B59 <- B40 Freq: 1.99998e-11 | |
56d # exception oop is in rax; no code emitted | |
56d movq RSI, RAX # spill | |
570 jmp,s B59 | |
570 | |
572 B57: # B59 <- B36 Freq: 1.01029e-09 | |
572 # exception oop is in rax; no code emitted | |
572 movq RSI, RAX # spill | |
575 jmp,s B59 | |
575 | |
577 B58: # B59 <- B34 Freq: 1.00016e-09 | |
577 # exception oop is in rax; no code emitted | |
577 movq RSI, RAX # spill | |
577 | |
57a B59: # N654 <- B58 B57 B56 Freq: 2.03045e-09 | |
57a addq rsp, 64 # Destroy frame | |
popq rbp | |
57f jmp rethrow_stub | |
57f | |
# long | |
180 movl R10, [rsp + #4] # spill | |
185 cmpl R10, #524288 # unsigned | |
18c jnbe,u B38 P=0.000001 C=-1.000000 | |
18c | |
192 B26: # B38 B27 <- B25 Freq: 0.99999 | |
192 # TLS is in R15 | |
192 movq RBP, [R15 + #120 (8-bit)] # ptr | |
196 movq R10, R11 # spill | |
199 andq R10, #-8 # long | |
19d movq R9, RBP # spill | |
1a0 addq R9, R10 # ptr | |
1a3 # TLS is in R15 | |
1a3 cmpq R9, [R15 + #136 (32-bit)] # raw ptr | |
1aa jnb,u B38 P=0.000100 C=-1.000000 | |
1aa | |
1b0 B27: # B28 <- B26 Freq: 0.99989 | |
1b0 # TLS is in R15 | |
1b0 movq [R15 + #120 (8-bit)], R9 # ptr | |
1b4 PREFETCHNTA [R9 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
1bc movq [RBP], 0x0000000000000001 # ptr | |
1c4 PREFETCHNTA [R9 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
1cc movl [RBP + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
1d3 movl R10, [rsp + #4] # spill | |
1d8 movl [RBP + #12 (8-bit)], R10 # int | |
1dc PREFETCHNTA [R9 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
1dc | |
1e4 B28: # B42 B29 <- B39 B27 Freq: 0.999991 | |
1e4 | |
1e4 # checkcastPP of RBP | |
1e4 movl R10, R8 # spill | |
1e7 subl R10, [RSP + #32 (32-bit)] # int | |
1ec movq R13, RBP # spill | |
1ef addq R13, #16 # ptr | |
1f3 cmpl R10, [RSP + #4 (32-bit)] | |
1f8 movl R9, [rsp + #4] # spill | |
1fd cmovll R9, R10 # signed, int | |
201 movl R10, [rsp + #32] # spill | |
206 addl R10, R9 # int | |
209 shrq R11, #3 | |
20d movq RCX, R11 # spill | |
210 addq RCX, #-2 # long | |
214 cmpl R8, R10 # unsigned | |
217 jb,u B42 P=0.000001 C=-1.000000 | |
217 | |
21d B29: # B42 B30 <- B28 Freq: 0.99999 | |
21d movl R10, [rsp + #4] # spill | |
222 cmpl R10, R9 # unsigned | |
225 jb,u B42 P=0.000001 C=-1.000000 | |
225 | |
22b B30: # B44 B31 <- B29 Freq: 0.999989 | |
22b testl R9, R9 | |
22e jle B44 P=0.000001 C=-1.000000 | |
22e | |
234 B31: # B35 B32 <- B30 Freq: 0.999988 | |
234 movslq RDX, R9 # i2l | |
237 cmpl R9, R10 | |
23a jl B35 P=0.001000 C=-1.000000 | |
23a | |
240 B32: # B33 <- B31 B35 Freq: 0.999988 | |
240 movl R11, [rsp + #32] # spill | |
245 leaq RDI, [RSI + #16 + R11 << #1] # ptr posidxscaleoffnarrow | |
24a movq RSI, R13 # spill | |
24d call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
25a | |
25a B33: # B34 <- B32 B45 B43 Freq: 0.999991 | |
25a MEMBAR-storestore (empty encoding) | |
25a encode_heap_oop_not_null R10,RBP | |
365 movl [RBX + #12 (8-bit)], R10 # compressed ptr ! Field: java/lang/String.value | |
369 movq R10, RBX # ptr -> long | |
36c shrq R10, #9 | |
370 movq R11, 0x00007f62487ff000 # ptr | |
37a movb [R11 + R10], R12 # short/char (R12_heapbase==0) | |
37e MEMBAR-release ! (empty encoding) | |
37e | |
37e B34: # N686 <- B33 B54 B49 Freq: 0.999991 | |
37e movq RAX, RBX # spill | |
381 addq rsp, 64 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
38c ret | |
38c | |
38d B35: # B32 <- B31 Freq: 0.000999988 | |
38d movq R10, RDX # spill | |
390 salq R10, #1 | |
393 addq R10, #16 # long | |
397 movq R8, R10 # spill | |
39a andq R8, #-7 # long | |
39e movq RDI, RBP # spill | |
3a1 addq RDI, R8 # ptr | |
3a4 shrq R10, #3 | |
3a8 subq R11, R10 # long | |
3ab movq RCX, R11 # spill | |
3ae xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
3b8 jmp B32 | |
3b8 | |
3bd B36: # B62 B37 <- B21 Freq: 0.000100016 | |
3bd movq RSI, precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # ptr | |
3c7 movq RBP, [rsp + #8] # spill | |
3cc movl [rsp + #32], R8 # spill | |
nop # 2 bytes pad for loops and calls | |
3d3 call,static wrapper for: _new_instance_Java | |
# java.lang.String::substring @ bci:65 L[0]=RBP L[1]=rsp + #32 L[2]=_ L[3]=rsp + #4 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop off=984} | |
3d8 | |
3d8 B37: # B23 <- B36 Freq: 0.000100014 | |
# Block is sole successor of call | |
3d8 movq RBX, RAX # spill | |
3db jmp B23 | |
3db | |
3e0 B38: # B61 B39 <- B25 B26 Freq: 0.000101029 | |
3e0 movl [rsp + #40], R8 # spill | |
3e5 movl [rsp + #36], RSI # spill | |
3e9 movq [rsp + #24], R11 # spill | |
3ee movq [rsp + #16], R14 # spill | |
3f3 movq [rsp + #8], RBX # spill | |
3f8 movq [rsp - #8], rax # 32-bit mem-mem spill | |
movl rax, [rsp + #4] | |
movl [rsp + #0], rax | |
movq rax, [rsp - #8] | |
409 movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
413 movl RDX, [rsp + #0] # spill | |
nop # 1 bytes pad for loops and calls | |
417 call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=rsp + #16 L[1]=rsp + #32 L[2]=_ L[3]=rsp + #0 L[4]=_ | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #8 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #8 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{[8]=Oop [16]=Oop [36]=NarrowOop off=1052} | |
41c | |
41c B39: # B28 <- B38 Freq: 0.000101027 | |
# Block is sole successor of call | |
41c movq R9, [rsp + #8] # spill | |
421 movq R14, [rsp + #16] # spill | |
426 movq R11, [rsp + #24] # spill | |
42b movq RBP, RAX # spill | |
42e movl RSI, [rsp + #36] # spill | |
432 movl R8, [rsp + #40] # spill | |
437 movq RBX, R9 # spill | |
43a jmp B28 | |
43a | |
43f B40: # N686 <- B6 B5 Freq: 2.01327e-06 | |
43f movl RSI, #-122 # int | |
444 movl RBP, RDI # spill | |
446 movq [rsp + #0], R11 # spill | |
44a movl [rsp + #8], R9 # spill | |
44f call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:18 L[0]=rsp + #0 L[1]=rsp + #8 L[2]=#0 L[3]=RBP | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{rbp=NarrowOop [0]=Oop off=1108} | |
454 int3 # ShouldNotReachHere | |
454 | |
459 B41: # N686 <- B12 B11 Freq: 2.02655e-06 | |
459 movl RSI, #-122 # int | |
45e movl RBP, RCX # spill | |
460 movl [rsp + #0], RDI # spill | |
463 movl [rsp + #4], R9 # spill | |
nop # 3 bytes pad for loops and calls | |
46b call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:37 L[0]=rsp + #8 L[1]=rsp + #4 L[2]=RBP L[3]=rsp + #0 | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{[0]=NarrowOop [8]=Oop off=1136} | |
470 int3 # ShouldNotReachHere | |
470 | |
475 B42: # B60 B43 <- B44 B28 B29 Freq: 1.99998e-06 | |
475 movq RDI, R13 # spill | |
478 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
482 movq RSI, R14 # spill | |
485 movl RDX, [rsp + #32] # spill | |
489 movq RCX, RBP # spill | |
48c xorl R8, R8 # int | |
48f movq [rsp + #8], RBX # spill | |
494 movq [rsp + #16], RBX # spill | |
nop # 2 bytes pad for loops and calls | |
49b call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOfRange @ bci:57 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=RBP | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #16 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #8 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop off=1184} | |
4a0 | |
4a0 B43: # B33 <- B42 Freq: 1.99994e-06 | |
# Block is sole successor of call | |
4a0 movq RBX, [rsp + #8] # spill | |
4a5 jmp B33 | |
4a5 | |
4aa B44: # B42 B45 <- B30 Freq: 9.99989e-07 | |
4aa testl R9, R9 | |
4ad jl,s B42 P=0.000001 C=-1.000000 | |
4ad | |
4af B45: # B33 <- B44 Freq: 9.99988e-07 | |
4af movq RDI, R13 # spill | |
4b2 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
4bc | |
4bc jmp B33 | |
4bc | |
4c1 B46: # B10 <- B4 Freq: 4.99999e-07 | |
4c1 xorl R11, R11 # int | |
4c4 movl RCX, R11 # spill | |
4c7 jmp B10 | |
4c7 | |
4cc B47: # B16 <- B10 Freq: 4.76835e-07 | |
4cc movl RBP, R9 # spill | |
4cf movl R8, RCX # spill | |
4d2 jmp B16 | |
4d2 | |
4d7 B48: # B17 B49 <- B16 Freq: 4.76834e-07 | |
4d7 cmpl RBP, R9 | |
4da jl B17 P=0.500000 C=-1.000000 | |
4da | |
4e0 B49: # B34 <- B48 Freq: 2.38417e-07 | |
4e0 movq R10, [rsp + #8] # spill | |
4e5 movq RBX, R10 # spill | |
4e8 jmp B34 | |
4e8 | |
4ed B50: # N686 <- B17 Freq: 4.76834e-07 | |
4ed movl RSI, #5 # int | |
4f2 movl RBP, R8 # spill | |
nop # 2 bytes pad for loops and calls | |
4f7 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::substring @ bci:4 L[0]=_ L[1]=RBP L[2]=_ L[3]=_ | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{off=1276} | |
4fc int3 # ShouldNotReachHere | |
4fc | |
501 B51: # N686 <- B18 Freq: 4.76834e-07 | |
501 movl RSI, #5 # int | |
nop # 1 bytes pad for loops and calls | |
507 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::substring @ bci:22 L[0]=_ L[1]=_ L[2]=RBP L[3]=_ | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{off=1292} | |
50c int3 # ShouldNotReachHere | |
50c | |
511 B52: # N686 <- B19 Freq: 4.76834e-07 | |
511 movl RSI, #5 # int | |
516 movl RBP, RCX # spill | |
nop # 3 bytes pad for loops and calls | |
51b call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::substring @ bci:39 L[0]=_ L[1]=_ L[2]=_ L[3]=RBP | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{off=1312} | |
520 int3 # ShouldNotReachHere | |
520 | |
525 B53: # B21 B54 <- B20 Freq: 4.76833e-07 | |
525 cmpl RBP, R9 | |
528 jne B21 P=0.900000 C=-1.000000 | |
528 | |
52e B54: # B34 <- B53 Freq: 4.76834e-08 | |
52e movq R10, [rsp + #8] # spill | |
533 movq RBX, R10 # spill | |
536 jmp B34 | |
536 | |
53b B55: # N686 <- B24 Freq: 4.76833e-07 | |
53b movl RSI, #5 # int | |
540 movq [rsp + #8], RBX # spill | |
nop # 2 bytes pad for loops and calls | |
547 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::<init> @ bci:38 L[0]=_ L[1]=_ L[2]=rsp + #32 L[3]=rsp + #4 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #8 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{[8]=Oop off=1356} | |
54c int3 # ShouldNotReachHere | |
54c | |
551 B56: # N686 <- B2 Freq: 1e-35 | |
551 movl RSI, #-34 # int | |
556 movq RBP, RDX # spill | |
nop # 2 bytes pad for loops and calls | |
55b call,static wrapper for: uncommon_trap(reason='class_check' action='maybe_recompile') | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:1 L[0]=_ L[1]=_ STK[0]=RBP | |
# OopMap{rbp=Oop off=1376} | |
560 int3 # ShouldNotReachHere | |
560 | |
565 B57: # N686 <- B1 Freq: 1.01328e-06 | |
565 movl RSI, #-12 # int | |
nop # 1 bytes pad for loops and calls | |
56b call,static wrapper for: uncommon_trap(reason='null_check' action='make_not_entrant') | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:1 L[0]=_ L[1]=_ STK[0]=#NULL | |
# OopMap{off=1392} | |
570 int3 # ShouldNotReachHere | |
570 | |
575 B58: # N686 <- B3 Freq: 1.01328e-06 | |
575 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
57b call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::trim @ bci:4 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=#NULL | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{off=1408} | |
580 int3 # ShouldNotReachHere | |
580 | |
585 B59: # N686 <- B23 Freq: 1.01327e-06 | |
585 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
58b call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::<init> @ bci:32 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=_ STK[1]=#NULL | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=_ | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# OopMap{off=1424} | |
590 int3 # ShouldNotReachHere | |
590 | |
595 B60: # B63 <- B42 Freq: 1.99998e-11 | |
595 # exception oop is in rax; no code emitted | |
595 movq RSI, RAX # spill | |
598 jmp,s B63 | |
598 | |
59a B61: # B63 <- B38 Freq: 1.01029e-09 | |
59a # exception oop is in rax; no code emitted | |
59a movq RSI, RAX # spill | |
59d jmp,s B63 | |
59d | |
59f B62: # B63 <- B36 Freq: 1.00016e-09 | |
59f # exception oop is in rax; no code emitted | |
59f movq RSI, RAX # spill | |
59f | |
5a2 B63: # N686 <- B62 B61 B60 Freq: 2.03045e-09 | |
5a2 addq rsp, 64 # Destroy frame | |
popq rbp | |
5a7 jmp rethrow_stub | |
5a7 | |
{method} | |
- this oop: 0x00007f624726e198 | |
- method holder: 'java/lang/String' | |
- constants: 0x00007f6247268100 constant pool [678] {0x00007f6247268100} for 'java/lang/String' cache=0x00007f6247318478 | |
- access: 0x81000001 public | |
- name: 'substring' | |
- signature: '(II)Ljava/lang/String;' | |
- max stack: 6 | |
- max locals: 4 | |
- size of params: 3 | |
- method size: 12 | |
- highest level: 2 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580ba748: 0xbaa00000 i2c: 0x00007f6249119fe0 c2i: 0x00007f624911a120 c2iUV: 0x00007f624911a0f3 | |
- compiled entry 0x00007f6249237340 | |
- code size: 79 | |
- code start: 0x00007f624726e108 | |
- code end (excl): 0x00007f624726e157 | |
- method data: 0x00007f624756adb0 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f624726e157 | |
- localvar length: 4 | |
- localvar start: 0x00007f624726e166 | |
- compiled code: nmethod 337 116 2 java.lang.String::substring (79 bytes) | |
# | |
# java/lang/String:exact * ( java/lang/String:NotNull:exact *, int, int ) | |
# | |
#r018 rsi:rsi : parm 0: java/lang/String:NotNull:exact * | |
#r016 rdx : parm 1: int | |
#r010 rcx : parm 2: int | |
# -- Old rsp -- Framesize: 80 -- | |
#r191 rsp+76: in_preserve | |
#r190 rsp+72: return address | |
#r189 rsp+68: in_preserve | |
#r188 rsp+64: saved fp register | |
#r187 rsp+60: pad2, stack alignment | |
#r186 rsp+56: pad2, stack alignment | |
#r185 rsp+52: Fixed slot 1 | |
#r184 rsp+48: Fixed slot 0 | |
#r203 rsp+44: spill | |
#r202 rsp+40: spill | |
#r201 rsp+36: spill | |
#r200 rsp+32: spill |