Created
July 19, 2017 00:01
-
-
Save frsyuki/8ef2f49eedbcbf6427fcd100c532b8bb to your computer and use it in GitHub Desktop.
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 | |
#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 N473: # 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: # B29 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #64 # Create frame | |
02c movl [rsp + #0], RDX # spill | |
02f testl RDX, RDX | |
031 jl B29 P=0.000000 C=128042.000000 | |
031 | |
037 B2: # B35 B3 <- B1 Freq: 1 | |
037 movq RBP, RSI # spill | |
03a movl R10, [RSI + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
03e movl R11, [R10 + #12 (8-bit)] # range | |
042 NullCheck R10 | |
042 | |
042 B3: # B30 B4 <- B2 Freq: 0.999999 | |
042 cmpl RCX, R11 | |
045 jg B30 P=0.000000 C=128042.000000 | |
045 | |
04b B4: # B31 B5 <- B3 Freq: 0.999998 | |
04b movl R8, RCX # spill | |
04e subl R8, RDX # int | |
051 movl [rsp + #4], R8 # spill | |
056 testl R8, R8 | |
059 jl B31 P=0.000000 C=128042.000000 | |
059 | |
05f B5: # B32 B6 <- B4 Freq: 0.999998 | |
05f testl RDX, RDX | |
061 je B32 P=0.000000 C=128042.000000 | |
061 | |
067 B6: # B21 B7 <- B32 B5 Freq: 0.999997 | |
067 # TLS is in R15 | |
067 movq RBX, [R15 + #120 (8-bit)] # ptr | |
06b movq R10, RBX # spill | |
06e addq R10, #24 # ptr | |
072 # TLS is in R15 | |
072 cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
079 jnb,u B21 P=0.000100 C=-1.000000 | |
079 | |
07f B7: # B8 <- B6 Freq: 0.999897 | |
07f # TLS is in R15 | |
07f movq [R15 + #120 (8-bit)], R10 # ptr | |
083 PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
08b movl R11, narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
091 decode_klass_not_null R10,R11 | |
09f movq R10, [R10 + #176 (32-bit)] # ptr | |
0a6 movq [RBX], R10 # ptr | |
0a9 movl [RBX + #8 (8-bit)], narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
0b0 movl [RBX + #12 (8-bit)], R12 # int (R12_heapbase==0) | |
0b4 movq [RBX + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
0b4 | |
0b8 B8: # B36 B9 <- B22 B7 Freq: 0.999997 | |
0b8 | |
0b8 MEMBAR-storestore (empty encoding) | |
0b8 # checkcastPP of RBX | |
0b8 movl R8, [RBP + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
0bc movl R11, [R8 + #12 (8-bit)] # range | |
0c0 NullCheck R8 | |
0c0 | |
0c0 B9: # B34 B10 <- B8 Freq: 0.999996 | |
0c0 movl R9, R11 # spill | |
0c3 subl R9, [RSP + #4 (32-bit)] # int | |
0c8 movl RCX, [rsp + #0] # spill | |
0cb cmpl RCX, R9 | |
0ce jg B34 P=0.000000 C=14575.000000 | |
0ce | |
0d4 B10: # B23 B11 <- B9 Freq: 0.999996 | |
0d4 decode_heap_oop_not_null R14,R8 | |
0d7 movslq RSI, [RSP + #4 (32-bit)] # int -> long | |
0dc salq RSI, #1 | |
0df addq RSI, #23 # long | |
0e3 movl R10, [rsp + #4] # spill | |
0e8 cmpl R10, #524288 # unsigned | |
0ef jnbe,u B23 P=0.000001 C=-1.000000 | |
0ef | |
0f5 B11: # B23 B12 <- B10 Freq: 0.999995 | |
0f5 # TLS is in R15 | |
0f5 movq RBP, [R15 + #120 (8-bit)] # ptr | |
0f9 movq R10, RSI # spill | |
0fc andq R10, #-8 # long | |
100 movq RCX, RBP # spill | |
103 addq RCX, R10 # ptr | |
106 # TLS is in R15 | |
106 cmpq RCX, [R15 + #136 (32-bit)] # raw ptr | |
10d jnb,u B23 P=0.000100 C=-1.000000 | |
10d | |
113 B12: # B13 <- B11 Freq: 0.999895 | |
113 # TLS is in R15 | |
113 movq [R15 + #120 (8-bit)], RCX # ptr | |
117 PREFETCHNTA [RCX + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
11e movq [RBP], 0x0000000000000001 # ptr | |
126 PREFETCHNTA [RCX + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
12d movl [RBP + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
134 movl R9, [rsp + #4] # spill | |
139 movl [RBP + #12 (8-bit)], R9 # int | |
13d PREFETCHNTA [RCX + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
13d | |
144 B13: # B25 B14 <- B24 B12 Freq: 0.999996 | |
144 | |
144 # checkcastPP of RBP | |
144 movl R10, R11 # spill | |
147 subl R10, [RSP + #0 (32-bit)] # int | |
14b movq R13, RBP # spill | |
14e addq R13, #16 # ptr | |
152 cmpl R10, [RSP + #4 (32-bit)] | |
157 movl R9, [rsp + #4] # spill | |
15c cmovll R9, R10 # signed, int | |
160 movl R10, [rsp + #0] # spill | |
164 addl R10, R9 # int | |
167 shrq RSI, #3 | |
16b movq RCX, RSI # spill | |
16e addq RCX, #-2 # long | |
172 cmpl R11, R10 # unsigned | |
175 jb,u B25 P=0.000001 C=-1.000000 | |
175 | |
17b B14: # B25 B15 <- B13 Freq: 0.999995 | |
17b movl R10, [rsp + #4] # spill | |
180 cmpl R10, R9 # unsigned | |
183 jb,u B25 P=0.000001 C=-1.000000 | |
183 | |
189 B15: # B27 B16 <- B14 Freq: 0.999994 | |
189 testl R9, R9 | |
18c jle B27 P=0.000001 C=-1.000000 | |
18c | |
192 B16: # B20 B17 <- B15 Freq: 0.999993 | |
192 movslq RDX, R9 # i2l | |
195 cmpl R9, R10 | |
198 jl B20 P=0.001000 C=-1.000000 | |
198 | |
19e B17: # B18 <- B16 B20 Freq: 0.999993 | |
19e movl R11, [rsp + #0] # spill | |
1a2 leaq RDI, [R8 + #16 + R11 << #1] # ptr posidxscaleoffnarrow | |
1a7 movq RSI, R13 # spill | |
1aa call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
1b7 | |
1b7 B18: # B19 <- B17 B28 B26 Freq: 0.999996 | |
1b7 MEMBAR-storestore (empty encoding) | |
1b7 encode_heap_oop_not_null R11,RBP | |
2c2 movl [RBX + #12 (8-bit)], R11 # compressed ptr ! Field: java/lang/String.value | |
2c6 movq R10, RBX # ptr -> long | |
2c9 shrq R10, #9 | |
2cd movq R11, 0x00007f62487ff000 # ptr | |
2d7 movb [R11 + R10], R12 # short/char (R12_heapbase==0) | |
2db MEMBAR-release ! (empty encoding) | |
2db | |
2db B19: # N473 <- B18 B33 Freq: 0.999996 | |
2db movq RAX, RBX # spill | |
2de addq rsp, 64 # Destroy frame | |
popq rbp | |
testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
2e9 ret | |
2e9 | |
2ea B20: # B17 <- B16 Freq: 0.000999993 | |
2ea movq R10, RDX # spill | |
2ed salq R10, #1 | |
2f0 addq R10, #16 # long | |
2f4 movq R11, R10 # spill | |
2f7 andq R11, #-7 # long | |
2fb movq RDI, RBP # spill | |
2fe addq RDI, R11 # ptr | |
301 shrq R10, #3 | |
305 subq RSI, R10 # long | |
308 movq RCX, RSI # spill | |
30b xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
315 jmp B17 | |
315 | |
31a B21: # B39 B22 <- B6 Freq: 0.000100016 | |
31a movq RSI, precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # ptr | |
nop # 3 bytes pad for loops and calls | |
327 call,static wrapper for: _new_instance_Java | |
# java.lang.String::substring @ bci:65 L[0]=RBP L[1]=rsp + #0 L[2]=_ L[3]=rsp + #4 | |
# OopMap{rbp=Oop off=812} | |
32c | |
32c B22: # B8 <- B21 Freq: 0.000100014 | |
# Block is sole successor of call | |
32c movq RBX, RAX # spill | |
32f jmp B8 | |
32f | |
334 B23: # B38 B24 <- B10 B11 Freq: 0.000101029 | |
334 movl [rsp + #36], R11 # spill | |
339 movl [rsp + #32], R8 # spill | |
33e movq [rsp + #24], RSI # spill | |
343 movq [rsp + #16], R14 # spill | |
348 movq [rsp + #8], RBX # spill | |
34d movl RBP, [rsp + #0] # spill | |
350 movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
35a movl RDX, [rsp + #4] # spill | |
nop # 1 bytes pad for loops and calls | |
35f call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=rsp + #16 L[1]=RBP L[2]=_ L[3]=rsp + #4 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 | |
# OopMap{[8]=Oop [16]=Oop [32]=NarrowOop off=868} | |
364 | |
364 B24: # B13 <- B23 Freq: 0.000101027 | |
# Block is sole successor of call | |
364 movq R9, [rsp + #8] # spill | |
369 movq R14, [rsp + #16] # spill | |
36e movq RSI, [rsp + #24] # spill | |
373 movq RBP, RAX # spill | |
376 movl R8, [rsp + #32] # spill | |
37b movl R11, [rsp + #36] # spill | |
380 movq RBX, R9 # spill | |
383 jmp B13 | |
383 | |
388 B25: # B37 B26 <- B27 B13 B14 Freq: 1.99999e-06 | |
388 movq RDI, R13 # spill | |
38b xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
395 xorl R8, R8 # int | |
398 movq RSI, R14 # spill | |
39b movl RDX, [rsp + #0] # spill | |
39e movq RCX, RBP # spill | |
3a1 movq [rsp + #8], RBX # spill | |
3a6 movq [rsp + #16], RBX # spill | |
3ab 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 | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop off=944} | |
3b0 | |
3b0 B26: # B18 <- B25 Freq: 1.99995e-06 | |
# Block is sole successor of call | |
3b0 movq RBX, [rsp + #8] # spill | |
3b5 jmp B18 | |
3b5 | |
3ba B27: # B25 B28 <- B15 Freq: 9.99994e-07 | |
3ba testl R9, R9 | |
3bd jl,s B25 P=0.000001 C=-1.000000 | |
3bd | |
3bf B28: # B18 <- B27 Freq: 9.99993e-07 | |
3bf movq RDI, R13 # spill | |
3c2 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
3cc | |
3cc jmp B18 | |
3cc | |
3d1 B29: # N473 <- B1 Freq: 4.76837e-07 | |
3d1 movl RSI, #5 # int | |
3d6 movl RBP, RDX # spill | |
nop # 3 bytes pad for loops and calls | |
3db 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]=_ | |
# OopMap{off=992} | |
3e0 int3 # ShouldNotReachHere | |
3e0 | |
3e5 B30: # N473 <- B3 Freq: 4.76836e-07 | |
3e5 movl RSI, #5 # int | |
3ea movl RBP, RCX # spill | |
nop # 3 bytes pad for loops and calls | |
3ef 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]=_ | |
# OopMap{off=1012} | |
3f4 int3 # ShouldNotReachHere | |
3f4 | |
3f9 B31: # N473 <- B4 Freq: 4.76836e-07 | |
3f9 movl RSI, #5 # int | |
3fe movl RBP, R8 # spill | |
nop # 2 bytes pad for loops and calls | |
403 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 | |
# OopMap{off=1032} | |
408 int3 # ShouldNotReachHere | |
408 | |
40d B32: # B6 B33 <- B5 Freq: 4.76836e-07 | |
40d cmpl RCX, R11 | |
410 jne B6 P=0.900000 C=-1.000000 | |
410 | |
416 B33: # B19 <- B32 Freq: 4.76836e-08 | |
416 movq RBX, RSI # spill | |
419 jmp B19 | |
419 | |
41e B34: # N473 <- B9 Freq: 4.76835e-07 | |
41e movl RSI, #5 # int | |
423 movl RBP, RCX # spill | |
425 movq [rsp + #8], RBX # spill | |
nop # 1 bytes pad for loops and calls | |
42b 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 + #4 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #8 | |
# OopMap{[8]=Oop off=1072} | |
430 int3 # ShouldNotReachHere | |
430 | |
435 B35: # N473 <- B2 Freq: 1.01328e-06 | |
435 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
43b call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::substring @ bci:18 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=_ STK[1]=#NULL | |
# OopMap{off=1088} | |
440 int3 # ShouldNotReachHere | |
440 | |
445 B36: # N473 <- B8 Freq: 1.01328e-06 | |
445 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
44b 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]=_ | |
# OopMap{off=1104} | |
450 int3 # ShouldNotReachHere | |
450 | |
455 B37: # B40 <- B25 Freq: 1.99999e-11 | |
455 # exception oop is in rax; no code emitted | |
455 movq RSI, RAX # spill | |
458 jmp,s B40 | |
458 | |
45a B38: # B40 <- B23 Freq: 1.01029e-09 | |
45a # exception oop is in rax; no code emitted | |
45a movq RSI, RAX # spill | |
45d jmp,s B40 | |
45d | |
45f B39: # B40 <- B21 Freq: 1.00016e-09 | |
45f # exception oop is in rax; no code emitted | |
45f movq RSI, RAX # spill | |
45f | |
462 B40: # N473 <- B39 B38 B37 Freq: 2.03046e-09 | |
462 addq rsp, 64 # Destroy frame | |
popq rbp | |
467 jmp rethrow_stub | |
467 | |
{method} | |
- this oop: 0x00007f6247670b78 | |
- method holder: 'LambdaJitTrace$$Lambda$2' | |
- constants: 0x00007f6247670858 constant pool [31] {0x00007f6247670858} for 'LambdaJitTrace$$Lambda$2' cache=0x00007f6247670c30 | |
- access: 0x81000001 public | |
- name: 'apply' | |
- signature: '(Ljava/lang/Object;)Ljava/lang/Object;' | |
- max stack: 3 | |
- 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 0x00007f6249239180 | |
- code size: 12 | |
- code start: 0x00007f6247670b68 | |
- code end (excl): 0x00007f6247670b74 | |
- method data: 0x00007f6247670d38 | |
- checked ex length: 0 | |
- localvar length: 0 | |
- compiled code: nmethod 418 124 2 LambdaJitTrace$$Lambda$2/1072591677::apply (12 bytes) | |
# | |
# java/lang/Object * ( LambdaJitTrace$$Lambda$2:NotNull:exact *, java/lang/Object * ) | |
# | |
#r018 rsi:rsi : parm 0: LambdaJitTrace$$Lambda$2:NotNull:exact * | |
#r016 rdx:rdx : parm 1: java/lang/Object * | |
# -- Old rsp -- Framesize: 144 -- | |
#r191 rsp+140: in_preserve | |
#r190 rsp+136: return address | |
#r189 rsp+132: in_preserve | |
#r188 rsp+128: saved fp register | |
#r187 rsp+124: pad2, stack alignment | |
#r186 rsp+120: pad2, stack alignment | |
#r185 rsp+116: Fixed slot 1 | |
#r184 rsp+112: Fixed slot 0 | |
#r219 rsp+108: spill | |
#r218 rsp+104: spill | |
#r217 rsp+100: spill | |
#r216 rsp+96: spill | |
#r215 rsp+92: spill | |
#r214 rsp+88: spill | |
#r213 rsp+84: spill | |
#r212 rsp+80: spill | |
#r211 rsp+76: spill | |
#r210 rsp+72: spill | |
#r209 rsp+68: spill | |
#r208 rsp+64: spill | |
#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 N3243: # 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: # B206 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #128 # Create frame | |
02f movl R11, [RSI + #12 (8-bit)] # compressed ptr ! Field: LambdaJitTrace$$Lambda$2.arg$1 | |
033 movl R10, [RDX + #8 (8-bit)] # compressed klass ptr | |
037 NullCheck RDX | |
037 | |
037 B2: # B205 B3 <- B1 Freq: 0.999999 | |
037 cmpl R10, narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
03e jne,u B205 P=0.000000 C=-1.000000 | |
03e | |
044 B3: # B131 B4 <- B2 Freq: 0.999999 | |
044 # checkcastPP of RDX | |
044 movq [rsp + #72], RDX # spill | |
049 # TLS is in R15 | |
049 movq R8, [R15 + #120 (8-bit)] # ptr | |
04d movq R10, R8 # spill | |
050 addq R10, #48 # ptr | |
054 # TLS is in R15 | |
054 cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
05b jnb,u B131 P=0.000100 C=-1.000000 | |
05b | |
061 B4: # B5 <- B3 Freq: 0.999899 | |
061 # TLS is in R15 | |
061 movq [R15 + #120 (8-bit)], R10 # ptr | |
065 PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
06d movq [R8], 0x0000000000000001 # ptr | |
074 PREFETCHNTA [R10 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
07c movl [R8 + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
084 PREFETCHNTA [R10 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
08c movl [R8 + #12 (8-bit)], #16 # int | |
094 movq [R8 + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
098 movq [R8 + #24 (8-bit)], R12 # long (R12_heapbase==0) | |
09c movq [R8 + #32 (8-bit)], R12 # long (R12_heapbase==0) | |
0a0 movq [R8 + #40 (8-bit)], R12 # long (R12_heapbase==0) | |
0a0 | |
0a4 B5: # B207 B6 <- B132 B4 Freq: 0.999999 | |
0a4 | |
0a4 # checkcastPP of R8 | |
0a4 movq [rsp + #80], R8 # spill | |
0a9 movl R10, [R11 + #8 (8-bit)] # compressed klass ptr | |
0ad NullCheck R11 | |
0ad | |
0ad B6: # B156 B7 <- B5 Freq: 0.999998 | |
0ad cmpl R10, narrowklass: precise klass LambdaJitTrace$$Lambda$1: 0x00007f6214146078:Constant:exact * # compressed klass ptr | |
0b4 jne,u B156 P=0.000001 C=-1.000000 | |
0b4 | |
0ba B7: # B208 B8 <- B6 Freq: 0.999997 | |
0ba movq R10, [rsp + #72] # spill | |
0bf movl R8, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
0c3 movl R10, [R8 + #12 (8-bit)] # range | |
0c7 NullCheck R8 | |
0c7 | |
0c7 B8: # B172 B9 <- B7 Freq: 0.999996 | |
0c7 movl RCX, R10 # spill | |
0ca decl RCX # int | |
0cc decode_heap_oop_not_null R11,R11 | |
0cc # checkcastPP of R11 | |
0cc movq [rsp + #8], R11 # spill | |
0d1 testl R10, R10 | |
0d4 jle B172 P=0.000000 C=95694.000000 | |
0d4 | |
0da B9: # B152 B10 <- B8 Freq: 0.999995 | |
0da testl R10, R10 # unsigned | |
0dd jbe,u B152 P=0.000001 C=-1.000000 | |
0dd | |
0e3 B10: # B152 B11 <- B9 Freq: 0.999994 | |
0e3 cmpl RCX, R10 # unsigned | |
0e6 jnb,u B152 P=0.000001 C=-1.000000 | |
0e6 | |
0ec B11: # B12 <- B10 Freq: 0.999993 | |
0ec movl RBX, #16 # int | |
0f1 xorl R11, R11 # int | |
nop # 12 bytes pad for loops and calls | |
100 B12: # B14 B13 <- B11 B13 Loop: B12-B13 inner Freq: 2.99998 | |
100 movzwl RDI, [R8 + #16 + R11 << #1] # ushort/char | |
106 cmpl RDI, #32 | |
109 jg,s B14 P=0.333333 C=95694.000000 | |
109 | |
10b B13: # B12 B14 <- B12 Freq: 1.99998 | |
10b incl R11 # int | |
10e cmpl R11, R10 | |
111 jl,s B12 # loop end P=1.000000 C=63796.000000 | |
111 | |
113 B14: # B174 B15 <- B13 B12 B172 Freq: 0.999994 | |
113 cmpl R11, R10 | |
116 jge B174 P=0.000000 C=95694.000000 | |
116 | |
11c B15: # B153 B16 <- B14 Freq: 0.999993 | |
11c cmpl R11, R10 # unsigned | |
11f jnb,u B153 P=0.000001 C=-1.000000 | |
11f | |
125 B16: # B153 B17 <- B15 Freq: 0.999992 | |
125 cmpl RCX, R10 # unsigned | |
128 jnb,u B153 P=0.000001 C=-1.000000 | |
128 | |
12e B17: # B18 <- B16 Freq: 0.999991 | |
12e movl RBP, R10 # spill | |
12e | |
131 B18: # B20 B19 <- B17 B19 Loop: B18-B19 inner Freq: 2.99997 | |
131 movzwl R9, [R8 + #14 + RBP << #1] # ushort/char | |
137 cmpl R9, #32 | |
13b jg,s B20 P=0.333333 C=95694.000000 | |
13b | |
13d B19: # B18 B20 <- B18 Freq: 1.99998 | |
13d decl RBP # int | |
13f cmpl RBP, R11 | |
142 jg,s B18 # loop end P=1.000000 C=63796.000000 | |
142 | |
144 B20: # B175 B21 <- B19 B18 B174 Freq: 0.999992 | |
144 movl R8, narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
14a decode_klass_not_null R8,R8 | |
14e movq [rsp + #96], R8 # spill | |
153 testl R11, R11 | |
156 jle B175 P=0.000000 C=31898.000000 | |
156 | |
15c B21: # B177 B22 <- B175 B20 Freq: 0.999992 | |
15c testl R11, R11 | |
15f jl B177 P=0.000000 C=128042.000000 | |
15f | |
165 B22: # B178 B23 <- B21 Freq: 0.999991 | |
165 cmpl RBP, R10 | |
168 jg B178 P=0.000000 C=128042.000000 | |
168 | |
16e B23: # B179 B24 <- B22 Freq: 0.999991 | |
16e movl RDI, RBP # spill | |
170 subl RDI, R11 # int | |
173 testl RDI, RDI | |
175 jl B179 P=0.000000 C=128042.000000 | |
175 | |
17b B24: # B180 B25 <- B23 Freq: 0.99999 | |
17b testl R11, R11 | |
17e je B180 P=0.000000 C=128042.000000 | |
17e | |
184 B25: # B133 B26 <- B180 B24 Freq: 0.99999 | |
184 # TLS is in R15 | |
184 movq R8, [R15 + #120 (8-bit)] # ptr | |
188 movq R10, R8 # spill | |
18b addq R10, #24 # ptr | |
18f # TLS is in R15 | |
18f cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
196 jnb,u B133 P=0.000100 C=-1.000000 | |
196 | |
19c B26: # B27 <- B25 Freq: 0.99989 | |
19c # TLS is in R15 | |
19c movq [R15 + #120 (8-bit)], R10 # ptr | |
1a0 PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
1a8 movq R10, [rsp + #96] # spill | |
1ad movq R10, [R10 + #176 (32-bit)] # ptr | |
1b4 movq [R8], R10 # ptr | |
1b7 movl [R8 + #8 (8-bit)], narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
1bf movl [R8 + #12 (8-bit)], R12 # int (R12_heapbase==0) | |
1c3 movq [R8 + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
1c3 | |
1c7 B27: # B209 B28 <- B134 B26 Freq: 0.99999 | |
1c7 | |
1c7 # checkcastPP of R8 | |
1c7 movq [rsp + #16], R8 # spill | |
1cc movq R10, [rsp + #72] # spill | |
1d1 movl RBP, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
1d5 movl R10, [RBP + #12 (8-bit)] # range | |
1d9 NullCheck RBP | |
1d9 | |
1d9 B28: # B182 B29 <- B27 Freq: 0.999989 | |
1d9 movl R9, R10 # spill | |
1dc subl R9, RDI # int | |
1df cmpl R11, R9 | |
1e2 jg B182 P=0.000000 C=14575.000000 | |
1e2 | |
1e8 B29: # B135 B30 <- B28 Freq: 0.999989 | |
1e8 decode_heap_oop_not_null R13,RBP | |
1eb movslq R8, RDI # i2l | |
1ee salq R8, #1 | |
1f1 addq R8, #23 # long | |
1f5 cmpl RDI, #524288 # unsigned | |
1fb jnbe,u B135 P=0.000001 C=-1.000000 | |
1fb | |
201 B30: # B136 B31 <- B29 Freq: 0.999988 | |
201 movl [rsp + #64], R10 # spill | |
206 movl [rsp + #36], RBP # spill | |
20a # TLS is in R15 | |
20a movq RBP, [R15 + #120 (8-bit)] # ptr | |
20e movq R10, R8 # spill | |
211 andq R10, #-8 # long | |
215 movq R9, RBP # spill | |
218 addq R9, R10 # ptr | |
21b # TLS is in R15 | |
21b cmpq R9, [R15 + #136 (32-bit)] # raw ptr | |
222 jnb,u B136 P=0.000100 C=-1.000000 | |
222 | |
228 B31: # B32 <- B30 Freq: 0.999888 | |
228 # TLS is in R15 | |
228 movq [R15 + #120 (8-bit)], R9 # ptr | |
22c PREFETCHNTA [R9 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
234 movq [RBP], 0x0000000000000001 # ptr | |
23c PREFETCHNTA [R9 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
244 movl [RBP + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
24b movl [RBP + #12 (8-bit)], RDI # int | |
24e PREFETCHNTA [R9 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
24e | |
256 B32: # B157 B33 <- B137 B31 Freq: 0.999989 | |
256 | |
256 # checkcastPP of RBP | |
256 movl RDX, [rsp + #64] # spill | |
25a subl RDX, R11 # int | |
25d movq R10, RBP # spill | |
260 addq R10, #16 # ptr | |
264 cmpl RDX, RDI | |
266 movl R9, RDI # spill | |
269 cmovll R9, RDX # signed, int | |
26d movl RDX, R11 # spill | |
270 addl RDX, R9 # int | |
273 shrq R8, #3 | |
277 movq RCX, R8 # spill | |
27a addq RCX, #-2 # long | |
27e movl RSI, [rsp + #64] # spill | |
282 cmpl RSI, RDX # unsigned | |
284 jb,u B157 P=0.000001 C=-1.000000 | |
284 | |
28a B33: # B157 B34 <- B32 Freq: 0.999988 | |
28a cmpl RDI, R9 # unsigned | |
28d jb,u B157 P=0.000001 C=-1.000000 | |
28d | |
293 B34: # B161 B35 <- B33 Freq: 0.999987 | |
293 testl R9, R9 | |
296 jle B161 P=0.000001 C=-1.000000 | |
296 | |
29c B35: # B128 B36 <- B34 Freq: 0.999986 | |
29c movslq RDX, R9 # i2l | |
29f cmpl R9, RDI | |
2a2 jl B128 P=0.001000 C=-1.000000 | |
2a2 | |
2a8 B36: # B37 <- B35 B128 Freq: 0.999986 | |
2a8 movl R9, [rsp + #36] # spill | |
2ad leaq RDI, [R9 + #16 + R11 << #1] # ptr posidxscaleoffnarrow | |
2b2 movq RSI, R10 # spill | |
2b5 call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
2c2 | |
2c2 B37: # B38 <- B36 B162 B158 Freq: 0.999989 | |
2c2 MEMBAR-storestore (empty encoding) | |
2c2 encode_heap_oop_not_null R11,RBP | |
3cd movq R10, [rsp + #16] # spill | |
3d2 movl [R10 + #12 (8-bit)], R11 # compressed ptr ! Field: java/lang/String.value | |
3d6 movq R10, R10 # ptr -> long | |
3d6 shrq R10, #9 | |
3da movq R11, 0x00007f62487ff000 # ptr | |
3e4 movb [R11 + R10], R12 # short/char (R12_heapbase==0) | |
3e8 MEMBAR-release ! (empty encoding) | |
3e8 | |
3e8 B38: # B210 B39 <- B37 B181 B176 Freq: 0.999989 | |
3e8 movq R10, [rsp + #16] # spill | |
3ed movl R9, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
3f1 movl R8, [R9 + #12 (8-bit)] # range | |
3f5 NullCheck R9 | |
3f5 | |
3f5 B39: # B98 B40 <- B38 Freq: 0.999988 | |
3f5 movl R10, R8 # spill | |
3f8 addl R10, #-16 # int | |
3fc testl R10, R10 | |
3ff jg B98 P=0.013151 C=35434.000000 | |
3ff | |
405 B40: # B41 <- B39 Freq: 0.986837 | |
405 movq R14, [rsp + #80] # spill | |
405 | |
40a B41: # B183 B42 <- B109 B40 Freq: 0.999988 | |
40a movl R10, [R9 + #12 (8-bit)] # range | |
40e cmpl R8, R10 | |
411 jg B183 P=0.000000 C=33544.000000 | |
411 | |
417 B42: # B159 B43 <- B41 Freq: 0.999987 | |
417 movq R11, [rsp + #80] # spill | |
41c addq R11, #16 # ptr | |
420 movq [rsp + #24], R11 # spill | |
425 decode_heap_oop_not_null RSI,R9 | |
428 movslq R11, R8 # i2l | |
42b movq [rsp + #0], R11 # spill | |
42f cmpl R10, R8 # unsigned | |
432 jb,u B159 P=0.000001 C=-1.000000 | |
432 | |
438 B43: # B159 B44 <- B42 Freq: 0.999986 | |
438 cmpl RBX, R8 # unsigned | |
43b jb,u B159 P=0.000001 C=-1.000000 | |
43b | |
441 B44: # B46 B45 <- B43 Freq: 0.999985 | |
441 testl R8, R8 | |
444 jle,s B46 P=0.000001 C=-1.000000 | |
444 | |
446 B45: # B46 <- B44 Freq: 0.999984 | |
446 movl R13, R8 # spill | |
449 leaq RDI, [R9 + #16 (8-bit)] # ptr off8narrow | |
44d movq RSI, [rsp + #24] # spill | |
452 movq RDX, R11 # spill | |
455 call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
462 movl R8, R13 # spill | |
462 | |
465 B46: # B211 B47 <- B45 B44 B160 Freq: 0.999987 | |
465 | |
465 movq R10, [rsp + #72] # spill | |
46a movl R9, [R10 + #12 (8-bit)] # compressed ptr ! Field: {method} | |
- this oop: 0x00007f6247672b78 | |
- method holder: 'LambdaJitTrace$$Lambda$3' | |
- constants: 0x00007f6247672858 constant pool [31] {0x00007f6247672858} for 'LambdaJitTrace$$Lambda$3' cache=0x00007f6247672c30 | |
- access: 0x81000001 public | |
- name: 'applyAsInt' | |
- signature: '(Ljava/lang/Object;)I' | |
- max stack: 3 | |
- 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 0x00007f6249239720 | |
- code size: 12 | |
- code start: 0x00007f6247672b68 | |
- code end (excl): 0x00007f6247672b74 | |
- method data: 0x00007f6247672d20 | |
- checked ex length: 0 | |
- localvar length: 0 | |
- compiled code: nmethod 456 122 2 LambdaJitTrace$$Lambda$3/1554547125::applyAsInt (12 bytes) | |
# | |
# int ( LambdaJitTrace$$Lambda$3:NotNull:exact *, java/lang/Object * ) | |
# | |
#r018 rsi:rsi : parm 0: LambdaJitTrace$$Lambda$3:NotNull:exact * | |
java/lang/String.value | |
46e #r016 rdx:rdx : parm 1: java/lang/Object * | |
# -- Old rsp -- Framesize: 128 -- | |
#r191 rsp+124: in_preserve | |
#r190 rsp+120: return address | |
#r189 rsp+116: in_preserve | |
#r188 rsp+112: saved fp register | |
#r187 rsp+108: pad2, stack alignment | |
#r186 rsp+104: pad2, stack alignment | |
#r185 rsp+100: Fixed slot 1 | |
#r184 rsp+96: Fixed slot 0 | |
#r215 rsp+92: spill | |
movl R10#r214 rsp+88: spill | |
#r213 rsp+84: spill | |
#r212 rsp+80: spill | |
#r211 rsp+76: spill | |
#r210 rsp+72: spill | |
#r209 rsp+68: spill | |
#r208 rsp+64: spill | |
#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 | |
, [R9 + #12 (8-bit)] # range#r192 rsp+ 0: spill | |
# | |
000 N3091: # 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: # B206 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
020 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #112 # Create frame | |
02c movl RBP, [RSI + #12 (8-bit)] # compressed ptr ! Field: LambdaJitTrace$$Lambda$3 | |
472 NullCheck R9 | |
472 | |
472 B47: # B173 B48 <- B46 Freq: 0.999986 | |
472 movl RCX, R10 # spill | |
.475 decl arg$1 | |
02f movl R11, [RDX + #8 (8-bit)] # compressed klass ptr | |
033 NullCheck RDX | |
033 | |
033 B2: # B205 B3 <- B1 Freq: 0.999999 | |
033 cmpl R11, narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
03a jne,u B205 P=0.000000 C=-1.000000 | |
03a | |
040 B3: # B207 B4 <- B2 Freq: 0.999999 | |
040 # checkcastPP of RDX | |
040 movq [rsp + #72], RDX # spill | |
045 movl R11, [RBP + #8 (8-bit)] # compressed klass ptr | |
049 NullCheck RBP | |
049 | |
049 B4: # B155 B5 <- B3 Freq: 0.999998 | |
049 cmpl R11, narrowklass: precise klass LambdaJitTrace$$Lambda$2: 0x00007f6210081e88:Constant:exact *RCX # int | |
477 testl R10, R10 | |
47a jle B173 P=0.000000 C=95694.000000 | |
47a | |
480 B48: # B154 B49 <- B47 Freq: 0.999986 | |
480 # compressed klass ptr | |
050 jne,u B155 P=0.000001 C=-1.000000 | |
050 | |
056 B5: # B131 B6 <- B4 Freq: 0.999997 | |
056 decode_heap_oop_not_null R10,RBP | |
059 # checkcastPP of R10 | |
059 movl RCX, [R10 + #12 (8-bit)] # compressed ptr ! Field: LambdaJitTrace$$Lambda$2.arg$1 | |
05d # TLS is in R15 | |
05d movq R13, [R15 + #120 (8-bit)] # ptr | |
061 movq R10, R13 # spill | |
064 addq R10, #48 # ptr | |
068 # TLS is in R15 | |
068 cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
06f jnb,u B131testl R10, R10 # unsigned | |
483 jbe,u B154 P=0.000001 C=-1.000000 | |
483 | |
489 B49: # B154 B50 <- B48 Freq: 0.999985 | |
489 cmpl RCX, R10 # unsigned | |
48c jnb,u B154 P=0.000001 C=-1.000000 | |
48c | |
492 B50: # B51 <- B49 Freq: 0.999984 | |
492 xorl R11, R11 # int | |
P=0.000100 C=-1.000000 | |
06f | |
075 B6: # B7 <- B5 Freq: 0.999897 | |
075 # TLS is in R15 | |
075 movq [R15 + #120 (8-bit)], R10 # ptr | |
079 PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
081 movq [R13], 0x0000000000000001 # ptr | |
089 PREFETCHNTA [R10 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
091 movl [R13 + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
099 PREFETCHNTA [R10 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
nop # 11 bytes pad for loops and calls | |
4a0 B51: # B53 B52 <- B50 B52 Loop: B51-B52 inner Freq: 2.99995 | |
4a0 movzwl RDX, [R9 + #16 + R11 << #1] # ushort/char | |
4a6 cmpl RDX, #32 | |
4a9 0a1 movl [R13 + #12 (8-bit)], #16 # int | |
0a9 movq [R13 + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
0ad movq [R13 + #24 (8-bit)], R12 # long (R12_heapbase==0) | |
0b1 movq [R13 + #32 (8-bit)], R12 # long (R12_heapbase==0) | |
jg,s B53 P=0.333333 C=95694.0000000b5 movq [R13 + #40 (8-bit)], R12 # long (R12_heapbase==0) | |
0b5 | |
0b9 B7: # B208 B8 <- B132 B6 Freq: 0.999997 | |
0b9 | |
0b9 # checkcastPP of R13 | |
0b9 movl R10, [RCX + #8 (8-bit)] # compressed klass ptr | |
0bd NullCheck RCX | |
0bd | |
0bd B8: # B156 B9 <- B7 Freq: 0.999996 | |
0bd cmpl R10, narrowklass: precise klass LambdaJitTrace$$Lambda$1: 0x00007f6210084b68:Constant:exact * # compressed klass ptr | |
0c4 jne,u B156 | |
P=0.000001 C=-1.000000 | |
0c4 | |
0ca B9: # B209 B10 <- B8 Freq: 0.999995 | |
0ca movq R10, [rsp + #72] # spill | |
0cf movl R8, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
0d3 movl R11, [R8 + #12 (8-bit)] # range4a9 | |
4ab B52: # B51 B53 <- B51 Freq: 1.99997 | |
4ab incl R11 # int | |
4ae cmpl R11, R10 | |
4b1 | |
0d7 NullCheck R8 | |
0d7 | |
0d7 B10: # B172 B11 <- B9 Freq: 0.999994 | |
jl,s B51 # loop end P=1.000000 C=63796.000000 | |
4b1 | |
4b3 B53: # B184 B54 <- B52 B51 B173 Freq: 0.999984 | |
4b3 cmpl R11, R10 | |
4b6 jge B184 P=0.000000 C=95694.000000 | |
0d7 movl RSI, R11 # spill | |
0da decl RSI # int | |
0dc decode_heap_oop_not_null R14,RCX | |
0df # checkcastPP of R14 | |
0df testl R11, R11 | |
0e2 jle B172 P=0.000000 C=95694.000000 | |
0e2 | |
0e8 B11: # B151 B12 <- B10 Freq: 0.999993 | |
0e8 testl R11, R11 # unsigned | |
0eb jbe,u B151 P=0.000001 C=-1.000000 | |
0eb | |
0f1 B12: # B151 B13 <- B11 Freq: 0.999992 | |
0f1 cmpl RSI, R11 # unsigned | |
0f4 jnb,u B151 P=0.000001 C=-1.000000 | |
0f4 | |
0fa B13: # B14 <- B12 Freq: 0.999991 | |
0fa movl RBX, #16 # int | |
0ff xorl R10, R10 # int | |
102 | |
102 B14: # B16 B15 <- B13 B15 Loop: B14-B15 inner Freq: 2.99997 | |
102 movzwl RCX, [R8 + #16 + R10 << #1] # ushort/char | |
108 cmpl RCX, #32 | |
10b jg,s B16 P=0.333333 C=95694.000000 | |
10b | |
10d B15: # B14 B16 <- B14 Freq: 1.99998 | |
10d incl R10 # int | |
110 cmpl R10, R11 | |
113 jl,s B14 # loop end P=1.000000 C=63796.000000 | |
113 | |
115 B16: # B174 B17 <- B15 B14 B172 Freq: 0.999992 | |
115 cmpl R10, R11 | |
118 jge B174 P=0.000000 C=95694.000000 | |
118 | |
11e B17: # B152 B18 <- B16 Freq: 0.999991 | |
11e cmpl R10, R11 # unsigned | |
121 jnb,u B1524b6 | |
4bc B54: # B155 B55 <- B53 P=0.000001 C=-1.000000 | |
121 | |
127 B18: # B152 B19 <- B17 Freq: 0.99999 | |
127 cmpl RSI, R11 # unsigned | |
12a jnb,u B152 P=0.000001 C=-1.000000 | |
12a | |
130 B19: # B20 <- B18 Freq: 0.999989 | |
130 movl RBP, R11 # spill | |
nop # 13 bytes pad for loops and calls | |
140 B20: # B22 B21 <- B19 B21 Loop: B20-B21 inner Freq: 2.99996 | |
140 movzwl R9, [R8 + #14 + RBP << #1] # ushort/char | |
146 cmpl R9, #32 | |
14a jg,s B22 P=0.333333 C=95694.000000 | |
14a | |
14c B21: # B20 B22 <- B20 Freq: 1.99998 | |
14c decl RBP # int | |
14e cmpl RBP, R10 | |
151 jg,s B20 # loop end P=1.000000 C=63796.000000 | |
151 | |
153 B22: # B175 B23 <- B21 B20 B174 Freq: 0.99999 | |
153 movl R8, narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
159 decode_klass_not_null R8,R8 | |
15d movq [rsp + #8], R8 # spill | |
162 testl R10, R10 | |
165 jle B175 P=0.000000 C=31898.000000 | |
165 | |
16b B23: # B177 B24 <- B175 B22 Freq: 0.99999 | |
16b testl R10, R10 | |
16e jl B177 P=0.000000 C=128042.000000 | |
16e | |
174 B24: # B178 B25 <- B23 Freq: 0.999989 | |
174 cmpl RBP, R11 | |
177 jg B178 P=0.000000 C=128042.000000 | |
177 | |
17d B25: # B179 B26 <- B24 Freq: 0.999989 | |
17d movl R8, RBP # spill | |
180 subl R8, R10 # int | |
183 testl R8, R8 | |
186 jl B179 P=0.000000 C=128042.000000 | |
186 | |
18c B26: # B180 B27 <- B25 Freq: 0.999988 | |
18c testl R10, R10 | |
18f je B180 P=0.000000 C=128042.000000 | |
18f | |
195 B27: # B133 B28 <- B180 B26 Freq: 0.999988 | |
195 # TLS is in R15 | |
195 movq R9, [R15 + #120 (8-bit)] # ptr | |
199 movq R11, R9 # spill | |
19c addq R11, #24 # ptr | |
1a0 # TLS is in R15 | |
1a0 cmpq R11, [R15 + #136 (32-bit)] # raw ptr | |
1a7 jnb,u B133 P=0.000100 C=-1.000000 | |
1a7 | |
1ad B28: # B29 <- B27 Freq: 0.999888 | |
1ad # TLS is in R15 | |
1ad movq [R15 + #120 (8-bit)], R11 # ptr | |
1b1 PREFETCHNTA [R11 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
1b9 movq R11, [rsp + #8] # spill | |
1be movq R11, [R11 + #176 (32-bit)] # ptr | |
1c5 movq [R9], R11 # ptr | |
1c8 movl [R9 + #8 (8-bit)], narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
1d0 movl [R9 + #12 (8-bit)], R12 # int (R12_heapbase==0) | |
1d4 movq [R9 + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
1d4 | |
1d8 B29: # B210 B30 <- B134 B28 Freq: 0.999988 | |
1d8 | |
1d8 # checkcastPP of R9 | |
1d8 movq [rsp + #24], R9 # spill | |
1dd movq R11, [rsp + #72] # spill | |
1e2 movl RBP, [R11 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
1e6 Freq: 0.999984 | |
4bc cmpl R11, R10 # unsigned | |
4bf movl R11, [RBP + #12 (8-bit)] # range | |
1ea NullCheck RBP | |
1ea | |
1ea B30: # B182 B31 <- B29 Freq: 0.999987 | |
1ea movl RCX, R11 # spill | |
1ed subl RCX, R8 # int | |
1f0 cmpl R10, RCX | |
1f3 jg B182 P=0.000000 C=14575.000000 | |
1f3 | |
1f9 B31: # B135 B32 <- B30 Freq: 0.999987 | |
1f9 decode_heap_oop_not_null R9,RBP | |
1fc movq [rsp + #0], R9 # spill | |
200 movslq RSI, R8 # i2l | |
203 salq RSI, #1 | |
206 addq RSI, #23 # long | |
20a cmpl R8, #524288 # unsigned | |
211 jnbe,u B135 P=0.000001 C=-1.000000 | |
211 | |
217 B32: # B136 B33 <- B31 Freq: 0.999986 | |
217 movl [rsp + #64], R11 # spill | |
21c movl [rsp + #36], RBP # spill | |
220 # TLS is in R15 | |
220 movq RBP, [R15 + #120 (8-bit)] # ptr | |
224 movq R11, RSI # spill | |
227 andq R11, #-8 # long | |
22b movq R9, RBP # spill | |
22e addq R9, R11jnb,u B155 P=0.000001 C=-1.000000 | |
4bf | |
4c5 # ptr | |
231B55: # B155 B56 <- B54 Freq: 0.999983 | |
4c5 # TLS is in R15 | |
231 cmpq R9, [R15 + #136 (32-bit)] # raw ptr | |
238 jnb,u B136 P=0.000100 C=-1.000000 | |
238 | |
23e B33: # B34 <- B32 Freq: 0.999886 | |
23e # TLS is in R15 | |
23e movq [R15 + #120 (8-bit)], R9 # ptr | |
242 PREFETCHNTA [R9 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
cmpl RCX24a movq [RBP], 0x0000000000000001 # ptr | |
252 PREFETCHNTA [R9 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
25a movl [RBP + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr, R10 # unsigned | |
4c8 jnb,u B155 | |
261 movl [RBP + #12 (8-bit)], R8 # int | |
265 PREFETCHNTA [R9 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
265 | |
26d B34: # B157 B35 <- B137 B33 Freq: 0.999987 | |
26d | |
26d # checkcastPP of RBP | |
26d movl RDI, [rsp + #64] # spill | |
271 subl RDI, R10 # int | |
274 movq R11, RBP # spill | |
277 addq R11, #16 # ptr | |
27b cmpl RDI, R8 | |
27e movl R9, R8 # spill | |
281 cmovll R9, RDI # signed, int | |
285 movl RDI, R10 # spill | |
P=0.000001 C=-1.000000 | |
4c8 | |
4ce B56: # B57 <- B55 Freq: 0.999982 | |
4ce movl RBP, R10 # spill | |
4ce | |
4d1 B57: # 288 addl RDI, R9 # int | |
28b shrq RSI, #3 | |
28f movq RCX, RSI # spill | |
292 addq RCX, #-2 # long | |
296 B59 B58 <- B56 B58 Loop: B57-B58 inner movl RDX, [rsp + #64] # spill | |
29a cmpl RDX, RDI # unsigned | |
29c jb,u B157 P=0.000001 C=-1.000000 | |
29c | |
2a2 B35: # B157 B36 <- B34 Freq: 0.999986 | |
2a2 cmpl R8, R9 # unsigned | |
2a5 jb,u B157 P=0.000001 C=-1.000000 | |
2a5 | |
2ab B36: # B161 B37 <- B35 Freq: 0.999985 | |
2ab testl R9, R9 | |
2ae jle B161 P=0.000001 C=-1.000000 | |
2ae | |
2b4 B37: # B128 B38 <- B36 Freq: 0.999984 | |
2b4 movslq RDX, R9 # i2l | |
2b7 cmpl R9, R8 | |
2ba jl B128 P=0.001000 C=-1.000000 | |
2ba | |
2c0 B38: # B39 <- B37 B128 Freq: 0.999984 | |
2c0 movl R8, [rsp + #36] # spill | |
2c5 leaq RDI, [R8 + #16 + R10 << #1] # ptr posidxscaleoffnarrow | |
2ca movq RSI, R11 # spill | |
2cd call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
2da | |
2da B39: # B40 <- B38 B162 B158 Freq: 0.999987 | |
2da MEMBAR-storestore (empty encoding) | |
2da encode_heap_oop_not_null R11,RBP | |
3e5 movq R10, [rsp + #24] # spill | |
3ea movl [R10 + #12 (8-bit)], R11 # compressed ptr ! Field: java/lang/String.value | |
3ee movq R10, R10 # ptr -> long | |
3ee shrq R10, #9 | |
3f2 movq R11, 0x00007f62487ff000 # ptr | |
3fc movb [R11 + R10], R12 # short/char (R12_heapbase==0) | |
400 MEMBAR-release ! (empty encoding) | |
400 | |
400 B40: # B211 B41 <- B39 B181 B176 Freq: 0.999987 | |
400 movq R10, [rsp + #24] # spill | |
405 movl R11, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
409 movl R8, [R11 + #12 (8-bit)] # range | |
40d NullCheck R11 | |
40d | |
40d B41: # B98 B42 <- B40 Freq: 0.999986 | |
40d movl R10, R8 # spill | |
410 addl R10, #-16 # int | |
414 testl R10, R10 | |
417 jg B98 P=0.013151 C=35434.000000 | |
417 | |
41d B42: # B43 <- B41 Freq: 0.986835 | |
41d movq R9, R13 # spill | |
41d | |
420 B43: # B183 B44 <- B109 B42 Freq: 0.999986 | |
420 movl RCX, [R11 + #12 (8-bit)] # range | |
424 cmpl R8, RCX | |
427 jg B183 P=0.000000 C=33544.000000 | |
427 | |
42d B44: # B159 B45 <- B43 Freq: 0.999985 | |
42d movq R10, R13 # spill | |
430 addq R10, #16 # ptr | |
434 movq [rsp + #0], R10 # spill | |
438 decode_heap_oop_not_null RSI,R11 | |
43b movslq R10, R8 # i2l | |
43e movq [rsp + #88], R10 # spill | |
443 cmpl RCX, R8 # unsigned | |
446 jb,u B159 P=0.000001 C=-1.000000 | |
446 | |
44c B45: # B159 B46 <- B44 Freq: 0.999984 | |
44c cmpl RBX, R8 # unsigned | |
44f jb,u B159 P=0.000001 C=-1.000000 | |
44f | |
455 B46: # B48 B47 <- B45 Freq: 0.999983 | |
455 testl R8, R8 | |
458 jle,s B48 P=0.000001 C=-1.000000 | |
458 | |
45a B47: # B48 <- B46 Freq: 0.999982 | |
45a movq RBP, R9 # spill | |
45d movl R14, R8 # spill | |
460 leaq RDI, [R11 + #16 (8-bit)] # ptr off8narrow | |
464 movq RSI, [rsp + #0] # spill | |
468 movq RDX, R10 # spill | |
46b call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
478 movl R8, R14 # spill | |
47b movq R9, RBP # spill | |
47b | |
47e B48: # B212 B49 <- B47 B46 B160 Freq: 0.999985 | |
47e | |
47e movq R10, [rsp + #72] # spill | |
483 movl RDI, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
487 movl RCX, [RDI + #12 (8-bit)] # range | |
48a NullCheck RDI | |
48a | |
48a B49: # B173 B50 <- B48 Freq: 0.999984 | |
48a movl RDX, RCX # spill | |
48c decl RDX # int | |
48e testl RCX, RCX | |
490 jle B173 P=0.000000 C=95694.000000 | |
490 | |
496 B50: # B153 B51 <- B49 Freq: 0.999984 | |
496 testl RCX, RCX # unsigned | |
498 jbe,u B153 P=0.000001 C=-1.000000 | |
498 | |
49e B51: # B153 B52 <- B50 Freq: 0.999983 | |
49e cmpl RDX, RCX # unsigned | |
4a0 jnb,u B153 P=0.000001 C=-1.000000 | |
4a0 | |
4a6 B52: # B53 <- B51 Freq: 0.999982 | |
4a6 xorl R10, R10 # int | |
nop # 7 bytes pad for loops and calls | |
4b0 B53: # B55 B54 <- B52 B54 Loop: B53-B54 inner Freq: 2.99994 | |
4b0 movzwl R11, [RDI + #16 + R10 << #1] # ushort/char | |
4b6 cmpl R11, #32 | |
4ba jg,s B55 P=0.333333 C=95694.000000 | |
4ba | |
4bc B54: # B53 B55 <- B53 Freq: 1.99996 | |
4bc incl R10 # int | |
4bf cmpl R10, RCX | |
4c2 jl,s B53 # loop end P=1.000000 C=63796.000000 | |
4c2 | |
4c4 B55: # B184 B56 <- B54 B53 B173 Freq: 0.999982 | |
4c4 cmpl R10, RCX | |
4c7 jge B184 P=0.000000 C=95694.000000 | |
4c7 | |
4cd B56: # B154 B57 <- B55 Freq: 0.999982 | |
4cd cmpl R10, RCX # unsigned | |
4d0 jnb,u B154 P=0.000001 C=-1.000000 | |
4d0 | |
4d6 B57: # B154 B58 <- B56 Freq: 0.999981 | |
4d6 cmpl RDX, RCX # unsigned | |
4d8 jnb,u B154 P=0.000001 C=-1.000000 | |
4d8 | |
4de B58: # B59 <- B57 Freq: 0.99998 | |
4de movl RBP, RCX # spill | |
4de | |
4e0 B59: # B61 B60 <- B58 B60 Loop: B59-B60 inner Freq: 2.99994 | |
4e0 movzwl RDX, [RDI + #14 + RBP << #1] # ushort/char | |
4e5 cmpl RDX, #32 | |
4e8 jg,s B61 P=0.333333 C=95694.000000 | |
4e8 | |
4ea B60: # B59 B61 <- B59 Freq: 1.99996 | |
4ea decl RBP # int | |
4ec cmpl RBP, R10 | |
4ef jg,s B59 # loop end P=1.000000 C=63796.000000 | |
4ef | |
4f1 B61: # B185 B62 <- B60 B59 B184 Freq: 0.99998 | |
4f1 testl R10, R10 | |
4f4 jle B185 P=0.000000 C=31898.000000 | |
4f4 | |
4fa B62: # B187 B63 <- B185 B61 Freq: 0.99998 | |
4fa testl R10, R10 | |
4fd jl B187 P=0.000000 C=128042.000000 | |
4fd | |
503 B63: # B188 B64 <- B62 Freq: 0.99998 | |
503 cmpl RBP, RCX | |
505 jg B188 P=0.000000 C=128042.000000 | |
505 | |
50b B64: # B189 B65 <- B63 Freq: 0.999979 | |
50b movl R11, RBP # spill | |
50e subl R11, R10 # int | |
511 testl R11, R11 | |
514 jl B189 P=0.000000 C=128042.000000 | |
514 | |
51a B65: # B190 B66 <- B64 Freq: 0.999979 | |
51a testl R10, R10 | |
51d je B190 P=0.000000 C=128042.000000 | |
51d | |
523 B66: # B138 B67 <- B190 B65 Freq: 0.999979 | |
523 # TLS is in R15 | |
523 movq R14, [R15 + #120 (8-bit)] # ptr | |
527 movq RCX, R14 # spill | |
52a addq RCX, #24 # ptr | |
52e # TLS is in R15 | |
52e cmpq RCX, [R15 + #136 (32-bit)] # raw ptr | |
535 jnb,u B138 P=0.000100 C=-1.000000 | |
535 | |
53b B67: # B68 <- B66 Freq: 0.999879 | |
53b # TLS is in R15 | |
53b movq [R15 + #120 (8-bit)], RCX # ptr | |
53f PREFETCHNTA [RCX + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
546 movq RCX, [rsp + #8] # spill | |
54b movq RCX, [RCX + #176 (32-bit)] # ptr | |
552 movq [R14], RCX # ptr | |
555 movl [R14 + #8 (8-bit)], narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
55d movl [R14 + #12 (8-bit)], R12 # int (R12_heapbase==0) | |
561 movq [R14 + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
561 | |
565 B68: # B213 B69 <- B139 B67 Freq: 0.999979 | |
565 | |
565 # checkcastPP of R14 | |
565 movq RCX, [rsp + #72] # spill | |
56a movl RDX, [RCX + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
56d movl RDI, [RDX + #12 (8-bit)] # range | |
570 NullCheck RDX | |
570 | |
570 B69: # B192 B70 <- B68 Freq: 0.999978 | |
570 movl RCX, RDI # spill | |
572 subl RCX, R11 # int | |
575 cmpl R10, RCX | |
578 jg B192 P=0.000000 C=14575.000000 | |
578 | |
57e B70: # B140 B71 <- B69 Freq: 0.999977 | |
57e decode_heap_oop_not_null RCX,RDX | |
581 movq [rsp + #24], RCX # spill | |
586 movslq RBP, R11 # i2l | |
589 salq RBP, #1 | |
58c addq RBP, #23 # long | |
590 cmpl R11, #524288 # unsigned | |
597 jnbe,u B140 P=0.000001 C=-1.000000 | |
597 | |
59d B71: # B141 B72 <- B70 Freq: 0.999976 | |
59d movq [rsp + #16], R9 # spill | |
5a2 movl [rsp + #8], R8 # spill | |
5a7 movq [rsp + #80], R13 # spill | |
5ac movl [rsp + #72], RDI # spill | |
5b0 movl [rsp + #44], RDX # spill | |
Freq: 2.99994 | |
4d1 movzwl RCX, [R9 + #14 + RBP << #15b4 # TLS is in R15 | |
5b4 movq R13, [R15] # ushort/char | |
4d7 cmpl RCX, #32 | |
4da + #120 (8-bit)] # ptr | |
5b8 movq R8, RBP # spill | |
5bb andq R8, #-8 # long | |
5bf movq R9, R13 # spill | |
5c2 addq R9, R8 # ptr | |
5c5 # TLS is in R15 | |
5c5 cmpq R9, [R15 + #136 (32-bit)] # raw ptr | |
5cc jnb,u B141 P=0.000100 C=-1.000000 | |
5cc | |
jg,s B59 P=0.333333 C=95694.000000 | |
4da | |
5d2 B72: # B73 <- B71 Freq: 0.999876 | |
5d2 # TLS is in R15 | |
5d2 movq [R15 + #120 (8-bit)], R9 # ptr | |
5d6 PREFETCHNTA [R9 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
5de movq [R13], 0x0000000000000001 # ptr4dc B58: # B57 B59 <- B57 Freq: 1.99996 | |
4dc decl RBP # int | |
4de cmpl RBP, R11 | |
4e1 jg,s B57 # loop end P=1.000000 C=63796.000000 | |
4e1 | |
4e3 B59: # B185 B60 <- B58 B57 B184 Freq: 0.999982 | |
4e3 testl R11, R11 | |
4e6 jle B185 P=0.000000 C=31898.000000 | |
4e6 | |
4ec B60: # B187 B61 <- B185 B59 Freq: 0.999982 | |
4ec5e6 PREFETCHNTA [R9 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
5ee movl [R13 + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
5f6 movl [R13 + #12 (8-bit)], testl R11, R11 | |
4ef jl B187 P=0.000000 C=128042.000000 | |
4ef | |
4f5 B61: # B188 B62 <- B60 Freq: 0.999982 | |
4f5 cmpl R11 # int | |
5fa PREFETCHNTA [R9 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
5fa | |
602 B73: # B163 B74 <- B142 B72 Freq: 0.999977 | |
602 | |
602 # checkcastPP of R13 | |
602 movl RDI, [rsp + #72] # spill | |
606 subl RDI, R10 # int | |
609 movq R8, R13 # spill | |
60c addq R8, #16 # ptr | |
610 cmpl RDI, R11 | |
613 movl R9, R11 # spill | |
616 cmovll R9, RDI # signed, int | |
61a movl RSI, R10 # spill | |
61d addl RSI, R9 # int | |
620 shrq RBP, #3 | |
624 movq RCX, RBP # spill | |
627 addq RCX, #-2 # long | |
62b movl RDI, [rsp + #72] # spill | |
62f cmpl RDI, RSI # unsigned | |
631 jb,u B163 P=0.000001 C=-1.000000 | |
631 | |
RBP, R10 | |
4f8 jg B188637 B74: # B163 P=0.000000 C=128042.000000 | |
4f8 | |
4fe B62: # B189 B63 <- B61 Freq: 0.999981 | |
4fe movl RDI, RBP # spill | |
500 subl RDI, R11 # int | |
503 testl RDI, RDI | |
B75 <- B73 Freq: 0.999976 | |
637 cmpl R11, R9 # unsigned | |
63a jb,u B163 P=0.000001 C=-1.000000 | |
63a | |
640 B75: # B167 B76 <- B74 Freq: 0.999975 | |
640 testl R9, R9 | |
643 jle B167505 P=0.000001 C=-1.000000 | |
643 | |
649 B76: # B129 B77 <- B75 Freq: 0.999974 | |
649 movslq RDX, R9 # i2l | |
64c cmpl R9, R11 | |
64f jl B129 P=0.001000 C=-1.000000 | |
64f | |
655 jl B189 P=0.000000 C=128042.000000 | |
505 | |
50b B63: # B190 B64 <- B62 Freq: 0.999981 | |
50b B77: # B78 <- B76 B129 Freq: 0.999974 | |
655 movl R11, [rsp + #44] # spill | |
65a leaq RDI, [R11 + #16 + R10 << #1] # ptr posidxscaleoffnarrow | |
65f movq RSI, R8 # spill | |
662 call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
66f | |
66f B78: # B79 <- B77 B168 B164 Freq: 0.999977 | |
66f MEMBAR-storestore (empty encoding) | |
66f encode_heap_oop_not_null R10,R13 | |
77a movl [R14 + #12 (8-bit)], R10 # compressed ptr ! Field: java/lang/String.value | |
77e movq R10, R14 # ptr -> long | |
781 shrq R10, #9 | |
785 movq R11, 0x00007f62487ff000 # ptr | |
78f movb [R11 + R10], R12 # short/char (R12_heapbase==0) | |
793 MEMBAR-release ! (empty encoding) | |
793 movq R13, [rsp + #80] # spill | |
798 movl R8, [rsp + #8] # spill | |
79d movq R9, [rsp + #16] # spill | |
79d | |
7a2 B79: # B214 B80 <- B78 B191 B186 Freq: 0.999977 | |
7a2 movl R10, [R14 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
7a6 movl RBP, [R10 + #12 (8-bit)] # range | |
7aa NullCheck R10 | |
7aa | |
7aa B80: # B111 B81 <- B79 Freq: 0.999976 | |
7aa movl RCX, RBP # spill | |
7actestl R11, R11 | |
50e je B190 P=0.000000 C=128042.000000 | |
50e | |
514 B64: # B138 B65 <- B190 B63 Freq: 0.999981 | |
514 addl RCX, R8 # int | |
7af movl [rsp + #20], RCX # spill | |
7b3 movl R11, RCX # spill | |
7b6 subl R11, RBX # int | |
7b9 testl R11, R11 | |
7bc jg B111 P=0.013151 C=35434.000000 | |
7bc | |
7c2 B81: # B82 <- B80 Freq: 0.986826 | |
7c2 movl R9, [R13 + #12 (8-bit)] # TLS is in R15 | |
514 # range | |
7c6 movl [rsp + #48], R9 # spill | |
7cb movq [rsp + #32], R13 # spill | |
7cb | |
7d0 B82: # B193 B83 <- B125 B81 Freq: 0.999976 | |
7d0 movl R11, [R10 + #12 (8-bit)] # range | |
7d4 cmpl RBP, R11 | |
7d7 jg B193 P=0.000000 C=33544.000000 | |
7d7 | |
7dd B83: # B165 B84 <- B82 Freq: 0.999976 | |
7dd decode_heap_oop_not_null R9,R10 | |
7e0 movslq RBX, RBP # i2l | |
7e3 cmpl R11, RBP # unsigned | |
7e6 jb,u B165 P=0.000001 C=-1.000000 | |
7e6 | |
7ec B84: # B165 B85 <- B83 Freq: 0.999975 | |
7ec movl RCX, [rsp + #48] # spill | |
7f0 cmpl RCX, [RSP + #20 (32-bit)] # unsigned | |
7f4 jb,u B165 P=0.000001 C=-1.000000 | |
7f4 | |
7fa B85: # B87 B86 <- B84 Freq: 0.999974 | |
7fa testl RBP, RBP | |
7fc jle,s B87 P=0.000001 C=-1.000000 | |
7fc | |
7fe B86: # B87 <- B85 Freq: 0.999973 | |
7fe movq R11, [rsp + #88] # spill | |
803 leaq RSI, [R13 + #16 + R11 << #1] # ptr idxscaleoff | |
808 leaq RDI, [R10 + #16 (8-bit)] # ptr off8narrow | |
80c movq RDX, RBX # spill | |
80f call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
81c | |
81c B87: # B194 B88 <- B86 B85 B166 Freq: 0.999976 | |
81c | |
81c movl R10, [rsp + #20] # spill | |
821 testl R10, R10 | |
824 jl B194 P=0.000000 C=14575.000000 | |
824 | |
82a B88: # B195 B89 <- B87 Freq: 0.999976 | |
82a movl R10, [rsp + #48] # spill | |
82f subl R10, [RSP + #20 (32-bit)] # int | |
834 testl R10, R10 | |
837 jl B195 P=0.000000 C=14575.000000 | |
837 | |
83d B89: # B143 B90 <- B88 Freq: 0.999975 | |
83d addq RBX, [RSP + #88 (32-bit)] # long | |
842 salq RBX, #1 | |
845 addq RBX, #23 # long | |
849 movq [rsp + #24], RBX # spill | |
84e movq RBP, RBX # spill | |
851 andq RBP, #-8 # long | |
855 movl R11, [rsp + #20] # spill | |
85a cmpl R11, #524288 # unsigned | |
861 jnbe,u B143 P=0.000001 C=-1.000000 | |
861 | |
867 B90: # B143 B91 <- B89 Freq: 0.999974 | |
867 # TLS is in R15 | |
867 movq R11, [R15 + #120 (8-bit)] # ptr | |
86b movq R8, R11 # spill | |
86e addq R8, RBP # ptr | |
871 # TLS is in R15 | |
871 cmpq R8, [R15 + #136 (32-bit)] # raw ptr | |
878 jnb,u B143 P=0.000100 C=-1.000000 | |
878 | |
87e B91: # B92 <- B90 Freq: 0.999874 | |
87e # TLS is in R15 | |
87e movq R9, [R15 + #120 (8-bit)] # ptr | |
518 movq R10, R9 # spill | |
51b addq R10, #24 # ptr | |
51f # TLS is in R15 | |
51f cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
526 jnb,u B138 P=0.000100 C=-1.000000 | |
526 | |
52c B65: # B66 <- B64 Freq: 0.999881 | |
52c # TLS is in R15 | |
52c movq [R15 + #120 (8-bit)], movq [R15 + #120 (8-bit)], R8 # ptr | |
882 PREFETCHNTA [R8 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
88a movq [R11], 0x0000000000000001 # ptr | |
891 PREFETCHNTA [R8 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
899 movl [R11 + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
8a1 movl R10, [rsp + #20] # spill | |
8a6 movl [R11 + #12 (8-bit)], R10 # int | |
8aa PREFETCHNTA [R8 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
8aa | |
8b2 B92: # B169 B93 <- B144 B91 Freq: 0.999975 | |
8b2 | |
8b2 # checkcastPP of R11 | |
8b2 movl R10, [rsp + #48] # spill | |
8b7 cmpl R10, [RSP + #20 (32-bit)] | |
8bc movl R9, [rsp + #20] # spill | |
8c1 cmovll R9, [RSP + #48 (32-bit)] # signed, int | |
8c7 movq R8, R11 # spill | |
8ca addq R8, #16 # ptr | |
8ce movq RSI, [rsp + #24] # spill | |
8d3 shrq RSI, #3 | |
8d7 movq RCX, RSI # spill | |
8da addq RCX, #-2 # long | |
8de cmpl R10, R9 # unsigned | |
8e1 jb,u B169 P=0.000001 C=-1.000000 | |
8e1 | |
8e7 B93: # B169 B94 <- B92 Freq: 0.999974 | |
8e7 R10 # ptr | |
530 movl R10, [rsp + #20] # spill | |
8ec cmpl R10, R9 # unsigned | |
8ef jb,u B169 P=0.000001 C=-1.000000 | |
8ef | |
8f5 B94: # B171 B95 <- B93 Freq: 0.999973 | |
8f5 testl R9, R9 | |
8f8 jle B171 P=0.000001 C=-1.000000 | |
8f8 | |
8fe B95: # B130 B96 <- B94 Freq: 0.999972 | |
PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
538 movq R10, [rsp + #96] # spill8fe addq R13, #16 # ptr | |
902 cmpl R9, [RSP + #20 (32-bit)] | |
53d movq R10, [R10 + #176 (32-bit)] # ptr | |
544 movq [R9], R10 # ptr | |
547 movl [907 jl B130 P=0.001000 C=-1.000000 | |
907 | |
90d B96: # B97 <- B95 Freq: 0.998972 | |
90d R9 + #8 (8-bit)], narrowklass: precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
54f movl [R9 + #12 (8-bit)], R12 # int (R12_heapbase==0) | |
addq RBP, #-16 # long | |
911 shrq RBP, #3 | |
915 movq RDI, R13 # spill | |
918 movq RSI, R8 # spill | |
91b553 movq [R9 + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
553 | |
557 B66: # B212 B67 <- B139 movq RDX, RBP # spill | |
91e call_leaf_nofp,runtime jlong_disjoint_arraycopy B65 | |
No JVM State Info | |
# | |
92b | |
92b B97: # N3091 <- B130 B96 B170 B171 Freq: 0.999975 Freq: 0.999981 | |
557 | |
557 # checkcastPP of R9 | |
557 movq [rsp + #104], R9 # spill | |
55c movq R10, [rsp + #72] # spill | |
561 movl RBP, [R10 + #12 (8-bit)] # compressed ptr | |
92b | |
92b MEMBAR-release ! (empty encoding) | |
92b movl RAX, [rsp + #20] # spill | |
92f addq rsp, 112 # Destroy frame | |
popq rbp | |
! Field: java/lang/String.value | |
565 movl RCX, [RBP + #12 (8-bit)] # range | |
568 testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
93a ret | |
93a | |
93b B98: # B110 B99 <- B41 Freq: 0.013151 | |
93b movl R11NullCheck RBP | |
568 | |
568 B67: # B192, #34 # int | |
941 subl R11, R8 # int | |
B68 <- B66 Freq: 0.99998 | |
568 movl R10, RCX # spill | |
56b subl 944 testl R11, R11 | |
947 jge B110 P=0.500000 C=-1.000000 | |
947 | |
94d B99: # B100 <- B98 Freq: 0.00657552 | |
94d movl RBP, R8 # spill | |
R10, RDI # int | |
56e cmpl R11, R10 | |
57194d | |
jg 950 B100: # B147 B101 <- B99 B110 Freq: 0.013151 | |
950 movslq R10, RBP # i2l | |
953 cmpl RBP, #16 | |
B192 P=0.000000 C=14575.000000 | |
571 | |
577 B68: # B140 B69 <- 956 movl RCX, RBP # spill | |
958 cmovlg RCX, RBX # signed, int | |
95b salq R10, #1 | |
95e addq R10, #23 # long | |
962 movq RBX, R10 # spill | |
965 shrq RBX, #3 | |
969 andq R10, #-8 # long | |
96d movq RDI, RBX # spill | |
970 addq RDI, #-2 # long | |
974 cmpl RBP, #524288 # unsigned | |
97a jnbe,u B147 P=0.000001 C=-1.000000 | |
97a | |
B67 Freq: 0.999979 | |
577 movl R13, R8 # spill | |
57a movl [rsp + #88], RCX # spill | |
57e decode_heap_oop_not_null RSI,RBP | |
581 980 B101: # B147 B102 <- B100 Freq: 0.013151 | |
980 # TLS is in R15 | |
980 movq R9, [R15 + #120 (8-bit)] # ptr | |
984 movq R11, R9 # spill | |
987 addq R11, R10 # ptr | |
98a # TLS is in R15 | |
98a cmpq R11, [R15 + #136 (32-bit)] # raw ptr | |
991 jmovl [rsp + #52], RBP # spill | |
585nb,u B147 P=0.000100 C=-1.000000 | |
991 | |
997 B102: # B103 <- B101 Freq: 0.0131497 | |
997 # TLS is in R15 | |
997 movq [R15 + #120 (8-bit)], R11 # ptr | |
99b PREFETCHNTA [R11 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
9a3 movq [R9], 0x0000000000000001 # ptr | |
9aa PREFETCHNTA [R11 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
9b2 movl [R9 + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
9ba movl [R9 + #12 (8-bit)], RBP # int | |
9be PREFETCHNTA [R11 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
9be | |
9c6 B103: # B197 B104 <- B148 B102 movslq R8, RDI # i2l | |
588 salq R8, Freq: 0.013151 | |
9c6 | |
9c6 # checkcastPP of R9 | |
9c6 movq RSI, R9 # spill | |
9c9 addq RSI, #16 # ptr | |
#1 | |
58b addq R8, #23 # long | |
58f cmpl RDI, #524288 # unsigned | |
595 jnbe,u B140 P=0.000001 C=-1.000000 | |
595 | |
59b B69: # B140 B70 <- B68 Freq: 0.999978 | |
59b # TLS is in R15 | |
59b movq RBP, [9cd cmpl RCX, #16 # unsigned | |
9d0 jnbe,u B197 P=0.000001 C=-1.000000 | |
9d0 | |
9d6 B104: # B197 B105 <- B103 Freq: 0.013151 | |
9d6 cmpl RBP, RCX # unsigned | |
9d8 jb,u B197 P=0.000001 C=-1.000000 | |
9d8 | |
9de B105: # B200 B106 <- B104 Freq: 0.013151 | |
9de testl RCX, RCX | |
9e0 jle B200 P=0.000001 C=-1.000000 | |
9e0 | |
9e6 B106: # B145 B107 <- B105 Freq: 0.013151 | |
9e6 addq R15 + #120 (8-bit)] # ptr | |
59fR13, #16 # ptr | |
9ea cmpl RCX, RBP | |
9ec jl B145 P=0.001000 C=-1.000000 | |
movq R10, R8 # spill | |
5a2 andq R10, #-8 # long | |
5a6 movq R9, RBP # spill | |
5a9 addq R9, R10 # ptr | |
5ac # TLS is in R15 | |
5ac cmpq R9, [R15 + #136 (32-bit)] # raw ptr | |
5b3 jnb,u B1409ec | |
P=0.000100 C=-1.000000 | |
5b3 | |
5b9 B70: # B71 <- B69 Freq: 0.999878 | |
5b9 # TLS is in R15 | |
5b9 movq [R15 + #1209f2 B107: # B108 <- B106 Freq: 0.0131379 | |
9f2 movq [rsp + #0], R9 # spill | |
9f6 movl RBX, R8 # spill | |
9f9 (8-bit)], R9 # ptr | |
5bd addq R10, #-16 # long | |
9fd shrq R10, #3 | |
a01 movq RDI, R13 # spill | |
a04 movq RDX, R10 # spill | |
a07 call_leaf_nofp,runtime jlong_disjoint_arraycopy | |
No JVM State Info | |
# | |
a14 movl R8, RBX # spill | |
a17 movq R9, [rsp + #0] # spill | |
a17 | |
a1b B108: # B196 B109 <- B145 B107 B198 B200 Freq: 0.013151 | |
PREFETCHNTA [R9 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
5c5 movq [RBPa1b | |
a1b movq R10, [rsp + #24] # spill | |
a20 movl R11, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
a24 testl R11, R11 # compressed ptr | |
a27 je B196 P=0.000001 C=-1.000000 | |
a27 | |
a2d B109: # B43 <- B108 ], Freq: 0.013151 | |
a2d movl RBX, RBP # spill | |
a2f movq R13, R9 # spill | |
a32 jmp B43 | |
a32 | |
a37 B110: # B100 <- B98 Freq: 0.00657552 | |
a37 movl RBP, #34 # int | |
a3c jmp B100 | |
a3c | |
a41 B111: # B126 B112 <- B80 Freq: 0.0131509 | |
a41 movl R11, RBX # spill | |
a44 sall R11, #1 | |
a47 movl RDI, R11 # spill | |
a4a subl R11, RCX # int | |
a4d addl R11, #2 # int | |
a51 testl R11, R11 | |
a54 jge B126 P=0.500000 C=-1.000000 | |
a54 | |
a5a B112: # B115 B113 <- B111 Freq: 0.00657546 | |
a5a 0x0000000000000001 # ptr | |
5cd PREFETCHNTA [R9 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
5d5 movl [RBP + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
5dctestl RCX, RCX | |
a5c jge,s B115 P=0.500000 C=-1.000000 | |
a5c | |
a5e B113: # B204 B114 <- B112 B126 Freq: 0.00657546 | |
a5e testl RCX, RCX | |
a60 movl [RBP + #12 (8-bit)], RDI # int | |
5df PREFETCHNTA [R9 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
5df | |
5e7 B71: # B163 B72 <- B141 B70 Freq: 0.999979 | |
5e7 | |
5e7 # checkcastPP of RBP | |
5e7 movl RDX, [rsp + #88] # spill | |
5eb subl RDX, R11 # int | |
5ee movq R10, RBP # spill | |
5f1 addq R10, #16 # ptr | |
5f5 cmpl RDX, RDI | |
5f7 movl R9, RDI # spill | |
5fa cmovll R9, RDX # signed, intjl B204 P=0.000001 C=-1.000000 | |
a60 | |
a66 B114: # B116 <- B113 Freq: 0.00657545 | |
a66 movl R10, #2147483647 # int | |
a6c movl R11, R10 # spill | |
a6f jmp,s B116 | |
a6f | |
a71 B115: # B116 <- B112 Freq: 0.00328773 | |
5fe movl RAX, R11 # spill | |
601 addl RAX, R9 # int | |
604 shrq R8, #3 | |
608 movq RCX, R8 # spill | |
60b addq RCX, #-2 # long | |
60f movl RDX, [rsp + #88] # spill | |
613 cmpl RDX, RAX # unsigned | |
615a71 movl R11, RCX # spill | |
a71 | |
a74 B116: # B149 B117 <- B114 B115 B127 Freq: 0.0131509 | |
a74 movq [rsp + #40], R14 # spill | |
a79 movq R14, R9 # spill | |
a7c movl [rsp + #60], R8 # spill | |
a81 cmpl RBX, R11 | |
a84 movl R9, R11 # spill | |
a87 cmovll R9, RBX # signed, int | |
a8b movl [rsp + #48], R11 # spill | |
a90 movslq RCX, R11 # i2l | |
a93 jb,u B163 P=0.000001 C=-1.000000 | |
615 | |
salq RCX, #1 | |
a96 addq RCX, #23 # long | |
a9a movq R8, RCX # spill | |
a9d shrq R8, #3 | |
aa1 andq RCX, #-8 # long | |
aa5 movq RDI, R8 # spill | |
aa8 addq RDI, #-2 # long | |
aac cmpl R11, #524288 # unsigned | |
ab3 jnbe,u B149 P=0.000001 C=-1.000000 | |
ab3 | |
ab9 61b B72: # B163 B73 <- B71 Freq: 0.999978 | |
61b cmpl RDI, R9 # unsigned | |
61e jb,u B163 P=0.000001 C=-1.000000 | |
61e | |
624 B73: # B167 B74 <- B72 Freq: 0.999977 | |
624 B117: # B149 B118 <- B116 Freq: 0.0131509 | |
ab9 # TLS is in R15 | |
ab9 movq R10, [R15 + #120 (8-bit)] # ptr | |
abd movq RDX, R10 # spill | |
ac0 addq R10, RCX # ptr | |
ac3 # TLS is in R15 | |
ac3 cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
aca jnb,u B149 P=0.000100 C=-1.000000 | |
aca | |
ad0 B118: # B119 <- B117 Freq: 0.0131496 | |
ad0 # TLS is in R15 | |
ad0 movq [R15 + #120 (8-bit)], R10 # ptr | |
ad4 PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
adc movq [RDX], 0x0000000000000001 # ptr | |
ae3 PREFETCHNTA [R10 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
aeb movl [RDX + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * testl R9, R9 | |
627 # compressed klass ptr | |
af2 movl R11, [rsp + #48] # spill | |
af7 movl [RDX + #12 (8-bit)], R11 # int | |
afb PREFETCHNTA [R10 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
afb | |
b03 B119: # B201 B120 <- B150 B118 Freq: 0.0131509 | |
b03 | |
b03 movq R10, RDX # spill | |
jle B167 P=0.000001 C=-1.000000 | |
627 | |
62d B74: # B129 B75 <- B73 Freq: 0.999976 | |
62d movslq b06RDX, R9 # i2l | |
630 cmpl R9, RDI | |
633 # checkcastPP of R10 | |
b06 movq [rsp + #32], R10 # spill | |
b0b movq RSI, R10 # spill | |
b0e addq RSI, #16 # ptr | |
b12 cmpl RBX, R9 # unsigned | |
b15 jb,u B201 P=0.000001 C=-1.000000 | |
b15 | |
b1b B120: # B201 B121 <- B119 Freq: 0.0131509 | |
b1b jl B129 P=0.001000 C=-1.000000 | |
633 | |
639 B75: # B76 <- B74 B129 Freq: 0.999976 | |
639 movl R9, [rsp + #52] # spill | |
63e leaq RDI, [R9 + #16 + R11 << #1] # ptr posidxscaleoffnarrow | |
643 movq RSI, R10 # spill | |
646movl R11, [rsp + #48] # spill | |
call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
653 | |
b20 cmpl R11, R9 # unsigned | |
b23 653 B76: # B77 <- B75 B168 B164 Freq: 0.999979 | |
653 MEMBAR-storestore (empty encoding) | |
653 encode_heap_oop_not_null R11,RBP | |
75e movq R10, [rsp + #104] # spill | |
763 movl [R10 + #12 (8-bit)], jb,u B201 P=0.000001 C=-1.000000 | |
b23 | |
b29 B121: # B203 B122 <- B120 Freq: 0.0131509 | |
b29 testl R9, R9 | |
b2c jle B203 P=0.000001 C=-1.000000 | |
R11 # compressed ptr ! Field: java/lang/String.value | |
767 movq b2c | |
b32 B122: # B146 B123 <- B121 Freq: 0.0131509 | |
b32 cmpl R9, [RSP + #48 (32-bit)] | |
b37 R10, R10 # ptr -> long | |
767 shrq R10, #9 | |
76b movq R11, 0x00007f62487ff000 # ptr | |
775 movb [R11 + R10], R12 # short/char (R12_heapbase==0)jl B146 P=0.001000 C=-1.000000 | |
b37 | |
b3d B123: # B124 <- B122 Freq: 0.0131377 | |
b3d addq RCX, #-16 # long | |
b41 shrq RCX, #3 | |
b45 movq RDI, [rsp + #0] # spill | |
b49 movq RDX, RCX # spill | |
b4c call_leaf_nofp,runtime jlong_disjoint_arraycopy | |
No JVM State Info | |
# | |
b59 | |
b59 B124: # B199 B125 <- B146 B123 B202 B203 Freq: 0.0131509 | |
b59 | |
b59 movq R10, [rsp + #40] # spill | |
b5e movl R10, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
b62 testl R10, R10 # compressed ptr | |
b65 je B199 P=0.000001 C=-1.000000 | |
b65 | |
b6b B125: # B82 <- B124 Freq: 0.0131509 | |
b6b movq R11, [rsp + #32] # spill | |
b70 movq R13, R11 # spill | |
b73 movl R8, [rsp + #60] # spill | |
b78 jmp B82 | |
b78 | |
b7d B126: # B113 B127 <- B111 | |
779 MEMBAR-release ! (empty encoding) | |
779 movl R8, R13 # spill | |
779 | |
77c Freq: 0.00657546 | |
B77: # b7d movl R10, RDI # spill | |
b80 addl R10, #2 # int | |
b84 movl R11, R10 # spill | |
b87 testl R10, R10 | |
b8a jl B113 P=0.500000 C=-1.000000 | |
b8a | |
b90 B127: # B116 <- B126 Freq: 0.00328773 | |
b90 jmp B116 | |
b90 | |
b95 B128: # B38 <- B37 Freq: 0.000999984 | |
b95 movq R8, RDX # spill | |
b98 salq R8, #1 | |
b9b addq R8, #16 # long | |
b9f movq R9, R8 # spill | |
ba2 andq R9, #-7 # long | |
ba6 movq RDI, RBP # spill | |
ba9 addq RDI, R9 # ptr | |
bac shrq R8, #3 | |
bb0 subq RSI, R8 # long | |
bb3 movq RCX, RSI # spill | |
bb6 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
bc0 jmp B38 | |
bc0 | |
bc5 B129: # B77 <- B76 Freq: 0.000999974 | |
bc5 movq R11, RDX # spill | |
bc8 salq R11, #1 | |
bcb addq R11, #16 # long | |
bcf movq R9, R11 # spill | |
bd2 andq R9, #-7 # long | |
bd6 movq RDI, R13 # spill | |
bd9 addq RDI, R9 # ptr | |
bdc shrq R11, #3 | |
be0 subq RBP, R11 # long | |
be3 movq RCX, RBP # spill | |
be6 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
bf0 jmp B77 | |
bf0 | |
bf5 B130: # B97 <- B95 Freq: 0.000999972 | |
bf5 movslq RDX, R9 # i2l | |
bf8 movq R10, RDX # spill | |
bfb salq R10, #1 | |
bfe addq R10, #16 # long | |
c02 movq R9, R10 # spill | |
c05 andq R9, #-7 # long | |
c09 movq RDI, R11 # spill | |
c0c addq RDI, R9 # ptr | |
c0f shrq R10, #3 | |
c13 movq RCX, RSI # spill | |
c16 subq RCX, R10 # long | |
c19 B213 B78 <- B76 B191 B186 Freq: 0.999979 | |
77c movq R10, [rsp + #104] # spill | |
781 movl R11, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/Stringxorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
c23 movq RDI, R13 # spill | |
c26 movq RSI, R8 # spill | |
c29 call_leaf_nofp,runtime arrayof_jshort_disjoint_arraycopy | |
No JVM State Info | |
# | |
c36 jmp B97 | |
c36 | |
c3b B131: # B228 B132 <- B5 Freq: 0.000100016 | |
c3b .value | |
785 movl RBP, [R11 + #12 (8-bit)] # rangemovl [rsp + #0], RCX # spill | |
c3e movq RBP, RDX # spill | |
c41 movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
c4b movl RDX, #16 # int | |
nop # 3 bytes pad for loops and calls | |
c53 call,static wrapper for: _new_array_Java | |
# java.lang.AbstractStringBuilder::<init> @ bci:6 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0 | |
789 NullCheck R11 | |
789 | |
789 B78: # B111 B79 <- B77 Freq: 0.999978 | |
789 movl R13, RBP # spill | |
, [value :1]=#NULL } | |
# java.lang.StringBuilder::<init> @ bci:3 L[0]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:4 L[0]=rsp + #0 L[1]=RBP STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=#NULL } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [0]=NarrowOop [72]=Oop off=3160} | |
c58 | |
c58 B132: # B7 <- B131 Freq: 0.000100014 | |
# Block is sole successor of call | |
c58 movl RCX, [rsp + #0] # spill | |
c5b movq R13, RAX # spill | |
c5e jmp B7 | |
c5e | |
c63 B133: # B227 B134 <- B27 Freq: 0.000100015 | |
c63 movl [rsp + #32], R8 # spill | |
c68 movq R11, [rsp + #8] # spill | |
c6d movq [rsp + #24], R11 # spill | |
c72 movl [rsp + #4], R10 # spill | |
c77 movq [rsp + #16], R14 # spill | |
c7c movq [rsp + #8], R13 # spill | |
c8178c addl R13, R8 # int | |
78f movl R10, R13 # spill | |
792 subl R10, RBX # int | |
795 testl R10, R10 | |
798 jg B111 P=0.013151 C=35434.000000 | |
798 | |
79e B79: # B80 <- B78 Freq: 0.986828 | |
79e movq R10, [rsp + #80] # spill | |
7a3 movl R10, [R10 + #12 (8-bit)] # range | |
7a7 movl [rsp + #48], R10 # spill | |
7ac movq R10, [rsp + #80] # spill | |
7b1 movq [rsp + #8], R10 # spill | |
7b1 | |
7b6 B80: # B193 B81 <- B125 movl [rsp + #0], RBX # spill | |
c84 B79 Freq: 0.999978 | |
7b6 movl R9, [R11 + #12 (8-bit)] # range | |
7ba movq RBP, [rsp + #72] # spill | |
c89 movq RSI, precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # ptr | |
c93 call,static cmpl RBP, R9 | |
7bd jg B193 P=0.000000 C=33544.000000 | |
7bd | |
7c3 B81: # B165 B82 <- B80 wrapper for: _new_instance_Java | |
# java.lang.String::substring Freq: 0.999978 | |
7c3 decode_heap_oop_not_null R10,R11 | |
@ bci:65 7c6 L[0]=RBP L[1]=rsp + #4 L[2]=_ L[3]=rsp + #32 | |
# java.lang.String::movslq RBX, RBP # i2l | |
7c9 cmpl trimR9, RBP # unsigned | |
7cc jb,u B165 P=0.000001 C=-1.000000 | |
7cc | |
7d2 B82: # B165 B83 @ 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #16 L[1]=RBP STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #8 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_<- B81 Freq: 0.999977 | |
7d2 movl R14, [rsp + #48] # spill | |
7d7 cmpl R14, R13 # unsigned | |
7da L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# jb,u B165 P=0.000001 C=-1.000000 | |
7da | |
7e0 B83 LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop : # B85 B84 <- B82 Freq: 0.999976 | |
[8]=Oop [16]=Oop [72]=Oop off=3224} | |
c98 | |
c98 B134: # B29 <- B133 7e0 testl RBP, RBP | |
7e2 jle Freq: 0.000100013 | |
# Block is sole successor of call | |
,s B85 P=0.000001 C=-1.000000 | |
c987e2 | |
7e4 B84: # B85 <- B83 Freq: 0.999975 | |
7e4 movq R8, [rsp + #0] # spill | |
7e8 movq R9, [rsp + #80] # spill | |
7ed leaq RSI, [R9 + #16 + R8 << #1] # ptr idxscaleoff | |
7f2 leaq RDI, [R11 + #16 (8-bit)] # ptr off8narrow | |
7f6 movq RDX, RBX # spill | |
movl RBX, [rsp + #0] # spill | |
c9b movq R9, [rsp + #8] # spill | |
ca0 movq R10, [rsp + #16] # spill | |
ca5 movq R14, R10 # spill | |
ca8 7f9 call_leaf_nofp,runtime jshort_arraycopy | |
No JVM State Info | |
# | |
806 | |
806 B85: # B142 B86 <- B84 B83 B166 Freq: 0.999978 | |
806 | |
806 # TLS is in R15 | |
806 movq R14, [movl R10, [rsp + #4] # spill | |
cad R15 + #120 (8-bit)] # ptr | |
movq R8, [rsp + #24] # spill | |
cb2 movq [rsp + #8], R8 # spill | |
cb7 movl R8, [rsp + #32] # spill | |
80a movq R10, R14 # spill | |
80d addq R10, #24 # ptr | |
811 # TLS is in R15 | |
811 cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
818 jnb,u B142 P=0.000100 C=-1.000000 | |
818 | |
81e B86: # B87 <- B85 Freq: 0.999878 | |
81e # TLS is in R15 | |
81e movq [R15 + #120 (8-bit)], R10 # ptr | |
822 PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
82a movq R10, [rsp + #96] # spill | |
82f movq R10, [R10 + cbc movq R13, R9 # spill | |
cbf movq R9, RAX # spill | |
cc2 jmp B29 | |
cc2 | |
cc7 B135: # B136 <- B31 Freq: 1.01327e-06 | |
cc7 movl [rsp + #36], RBP # spill | |
ccb movl [rsp + #64], R11 # spill | |
ccb | |
cd0 B136: # B230 B137 <- B135 B32 Freq: 0.000101028 | |
cd0 movq [rsp + #56], RSI # spill | |
cd5 pushq [rsp + #0] # 64-bit mem-mem spill | |
popq [rsp + #48] | |
cde pushq [rsp + #24] # 64-bit mem-mem spill | |
popq [rsp + #40] | |
ce8 movl [rsp + #32], R8 # spill | |
ced movq R11, [rsp + #8] # spill | |
cf2 movq [rsp + #24], R11 # spill | |
cf7 movl [rsp + #4], R10 # spill | |
cfc movq [rsp + #16], R14 # spill | |
d01 movq [rsp + #8], R13 # spill | |
d06 movl [rsp + #0], RBX # spill | |
d09 movq RBP, [rsp + #72] # spill | |
d0e movq #176 (32-bit)] # ptrRSI, | |
836 movq [R14], R10 # ptr | |
839 movl [R14 + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
d18 movl RDX, R8 # spill | |
d1b call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=rsp + #48 L[1]=rsp + #4 L[2]=_ L[3]=rsp + #32 L[4]=_ | |
#precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # compressed klass ptr | |
841 movl [R14 + java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #40 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #40 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
##12 (8-bit)], R12 # int (R12_heapbase==0) LambdaJitTrace$$Lambda$1/640070680::apply | |
845 movq [R14 + #16 (8-bit)], R12 # long (R12_heapbase==0) | |
845 | |
849 B87: # B194 B88 <- B143 B86 Freq: 0.999978 | |
849 | |
849 MEMBAR-storestore (empty encoding) | |
849 # checkcastPP of R14 | |
849 testl R13 @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #16 L[1]=RBP STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #8 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply, R13 | |
84c jl B194 P=0.000000 C=14575.000000 | |
84c | |
852 B88: # B195 B89 <- B87 Freq: 0.999978 @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 | |
852 movl R10, [rsp + #48] # spill | |
857 @ bci:2 subl R10, R13 # int | |
85a testl R10, R10 | |
85d jl B195 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125:: P=0.000000 C=14575.000000 | |
85d | |
863 B89: # B144 B90 <- B88 Freq: 0.999977 | |
863 addq RBX, [RSP + #0 (32-bit)] # longapplyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop [36]=NarrowOop [40]=Oop [48]=Oop [72]=Oop off=3360} | |
d20 | |
d20 B137: # B34 <- B136 Freq: 0.000101026 | |
# Block is sole successor of call | |
d20 movl RBX, [rsp + #0] # spill | |
d23 movq R10, [rsp + #8] # spill | |
d28 movq R13, R10 # spill | |
d2b movq R10, [rsp + #16] # spill | |
d30 movq R14, R10 # spill | |
d33 movl R10, [rsp + #4] # spill | |
d38 movq R8, [rsp + #24] # spill | |
d3d | |
867 salq RBX, movq [rsp + #8], R8 # spill | |
d42 movl R8, [rsp + #32] # spill | |
d47 movq R9, [rsp + #40] # spill | |
#1 | |
86a addq RBX, #23 # long | |
86e movq R11, RBX # spill | |
871 andq R11, #-8 # long | |
875 cmpl R13, #524288 # unsigned | |
87c jnbe,u d4c movq RCX, [rsp + #48] # spill | |
d51 movq RSI, [rsp + #56] # spill | |
d56 movq RBP, RAX # spill | |
d59 movq [rsp + #24], R9 # spill | |
d5e movq [rsp + #0], RCX # spill | |
d62 jmp B34 | |
d62 | |
d67 B144 P=0.000001 C=-1.000000 | |
87c | |
882 B90: # B144 B91 <- B89 Freq: 0.999976 | |
882 # TLS is in R15 | |
882 movq RBP, [R15 + B138: # B226 B139 <- B66 Freq: 0.000100014 | |
d67 movl [rsp + #44], R11 # spill | |
d6c movl [rsp + #40], R10 # spill | |
d71 movq R10, [rsp + #0] # spill | |
d75 movq [rsp + #24], R10 # spill | |
d7a movq [rsp + #16], R9 # spill | |
d7f #120 (8-bit)] # ptr | |
886 movq R10, RBP # spill | |
889 addq R10, R11 # ptr | |
88c # TLS is in R15 | |
88c cmpq R10, movl [rsp + #4], R8 # spill | |
d84 movq [rsp + #8], R13 # spill | |
d89 movl [rsp + #0], RBX # spill | |
d8c movq RBP, [rsp + #72] # spill | |
d91 [movq RSI, precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # ptr | |
d9b call,static wrapper for: _new_instance_Java | |
# java.lang.String::substring @ bci:65 R15 + #136 (32-bit)] # raw ptr | |
L[0]=RBP L[1]=rsp + #40893 jnb,u B144 P=0.000100 C=-1.000000 | |
893 | |
L[2]=_ L[3]=rsp + #44 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
#899 B91: # B92 <- B90 Freq: 0.999876 LambdaJitTrace$$Lambda$1/640070680::apply | |
899 # TLS is in R15 | |
899 movq [R15 + #120 (8-bit)], R10 # ptr | |
89d PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
8a5 movq [RBP], 0x0000000000000001 # ptr | |
8ad PREFETCHNTA [R10 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
8b5 movl [RBP + @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count#8 (8-bit)] :0]=rsp + #4, [value :1]=rsp + #8 } | |
#, narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
8bc movl [RBP + #12 (8-bit)], R13 # int | |
8c0 PREFETCHNTA [R10 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
8c0 | |
8c8 B92: # B169 B93 <- B145 B91 Freq: 0.999977 | |
8c8 LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop [24]=Derived_oop_[8] [72]=Oop off=3488} | |
da0 | |
da0 B139: # B68 <- B138 Freq: 0.000100012 | |
# Block is sole successor of call | |
da0 movl RBX, [rsp + #0] # spill | |
da3 movq R9, [rsp + #8] # spill | |
da8 movl RDI, [rsp + #4] # spill | |
dac movq R10, [rsp + #24] # spill | |
db1 movq [rsp + #0], R10 # spill | |
db5 movl R10, [rsp + #40] # spill | |
dba movl R11, [rsp + #44] # spill | |
dbf movq R13, R9 # spill | |
dc2 movl R8, RDI # spill | |
dc5 movq R9, [rsp + #16] # spill | |
dca movq R14, RAX # spill | |
dcd jmp B68 | |
dcd | |
8c8 # checkcastPP of RBP | |
8c8 movl R8, [rsp + #48] # spill | |
8cd cmpl R8, R13 | |
8d0 movl R9, R13 # spill | |
8d3 cmovll R9, [RSP + #48 (32-bit)] # signed, int | |
8d9 dd2 B140: # B141 <- B70 Freq: 1.01326e-06 | |
dd2 movl [rsp + #44], RDX # spill | |
dd6 movl [rsp + #72], RDI # spill | |
dda movq [rsp + #80], R13 # spill | |
ddf movl [rsp + #8], R8 # spill | |
de4 movq [rsp + #16], R9 # spill | |
de4 | |
de9 B141: # B229 B142 <- B140 B71 Freq: 0.000101027 | |
de9 movq [rsp + #64], RBP # spill | |
dee movq [rsp + #56], RCX # spill | |
df3 movq [rsp + #48], R14 # spill | |
df8 movl [rsp + #40], R11 # spill | |
dfd movl [rsp + #12], R10 # spill | |
e02 movq R10, [rsp + #0] # spill | |
e06 movq [rsp + #24], R10 # spill | |
e0b movl RBP, RBX # spill | |
e0d movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
e17 movl RDX, R11 # spill | |
nop # 1 bytes pad for loops and calls | |
e1b call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=rsp + #56 L[1]=rsp + #12 L[2]=_ L[3]=rsp + #40movq R10, RBP # spill | |
8dc addq R10, #16 # ptr | |
8e0 shrq RBX, #3 | |
8e4 movq RCX, RBX # spill | |
8e7 addq RCX, #-2 # long | |
8eb L[4]=_ | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #48 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #48 | |
# 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677:: cmpl R8, R9 # unsigned | |
8ee jb,u B169 P=0.000001 C=-1.000000 | |
8ee | |
8f4 B93: # B169 B94 <- B92 Freq: 0.999976 | |
8f4 cmpl apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[16]=Oop [24]=Derived_oop_[80] [44]=NarrowOop [48]=Oop [56]=Oop [80]=Oop off=3616} | |
R13, R9 # unsigned | |
8f7 jb,u B169 P=0.000001 C=-1.000000 | |
8f7 | |
8fd B94: # B171 B95 <- B93 Freq: 0.999975 | |
8fd e20 | |
e20 B142: # B73 <- B141 Freq: 0.000101025 | |
# Block is sole successor of call | |
e20 movl RBX, RBP # spill | |
e22 movq R10, [rsp + #24] # spill | |
e27 movq [rsp + #0], R10 # spill | |
e2b movl R10, [rsp + #12] # spill | |
e30 movl R11, [rsp + #40] # spill | |
e35 movq R9, [rsp + #48] # spill | |
e3atestl R9, R9 | |
900 jle B171 P=0.000001 C=-1.000000 | |
900 | |
906 B95: # B130 B96 <- B94 Freq: 0.999974 | |
906 movq R8, [rsp + #80] # spill | |
90b addq R8, #16 # ptr | |
90f cmpl R9, R13 | |
912 jl B130 P=0.001000 C=-1.000000 | |
movq R14, R9 # spill | |
e3d movq R9, [rsp + #56] # spill | |
e42 movq RBP, [rsp + #64] # spill | |
e47 movq R13, RAX # spill | |
e4a movq [rsp + #24], R9 # spill | |
e4f 912 | |
918 B96: # B97 <- B95 Freq: 0.998974 | |
918 addq R11, #-16 # long | |
91c shrq R11, #3 | |
920 movq RDI, R8 # spill | |
923 movq RSI, R10 # spill | |
926 jmp B73 | |
e4f | |
e54 B143: # B231 B144 <- B89 B90 Freq: 0.000101027 | |
e54 movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
e5emovq RDX, R11 # spill movl RDX, [rsp + #20] # spill | |
e62 movq [rsp + #40], R13 # spill | |
e67 call,static | |
929 call_leaf_nofp,runtime jlong_disjoint_arraycopy | |
No JVM State Info | |
# | |
936 | |
936 B97 wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=rsp + #40 L[1]=#0 L[2]=_ L[3]=rsp + #20 L[4]=_ | |
# java.lang.String::<init>: # @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/String={ [value :0]=#NULL, [hashN3243 <- B130 B96 B170 B171 Freq: 0.999977 | |
936 MEMBAR-storestore (empty encoding) | |
936 encode_heap_oop_not_null R11,RBP | |
a41 movl [R14 + #12 (8-bit)], R11 # compressed ptr :1]=#0 ! Field: java/lang/String.value | |
a45 movq R10, } | |
# java.lang.StringBuilder::toString @ bci:13 L[0]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/String={ [value :0]=#NULL, [hash :1]=#0 } | |
# LambdaJitTrace::lambda$main$1 @ bci:33 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
R14 # ptr -> long | |
a48 shrq R10, #9 | |
a4c movq R11, 0x00007f62487ff000 # ptr | |
a56 movb [R11 + R10], R12 # short/char (R12_heapbase==0) | |
a5a MEMBAR-release ! (empty encoding) | |
a5a # LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[32]=Oop [40]=Oop off=3692} | |
movq RAX, R14 # spill | |
a5d addq rsp, 128 # Destroy frame | |
popq rbp | |
e6c | |
e6c B144: # B92 <- B143 Freq: 0.000101025 | |
# Block is sole successor of call | |
e6c movq R11, RAX # spill | |
e6f testl rax, [rip + #offset_to_poll_page] # Safepoint: poll for GC | |
a6b ret | |
a6b | |
a6c B98: # B110 B99 <- B39 Freq: 0.0131511 | |
a6c movl R11, #34 # int | |
a72 subl R11, R8 # int | |
a75 testl R11, R11 | |
movq R13, [rsp + #40] # spill | |
e74 jmp B92 | |
e74 | |
e79 B145: # B108 <- B106 Freq: 1.3151e-05 | |
e79 movq [rsp + #16], R9 # spilla78 jge B110 P=0.500000 C=-1.000000 | |
a78 | |
a7e B99: # B100 <- B98 Freq: 0.00657554 | |
a7e movl R13, R8 # spill | |
a7e | |
a81 B100: # B148 B101 <- B99 B110 Freq: 0.0131511 | |
a81 movslq R9, R13 # i2l | |
a84 | |
e7e cmpl R13, movl [rsp + #0], R8 # spill | |
e82 movslq RDX, RCX # i2l | |
e85 movq R10, RDX # spill | |
e88 salq R10, #1 | |
e8b addq R10, #16 # long | |
e8f movq R8, R10 # spill | |
e92 andq #16 | |
a88 movl R11, R13 # spill | |
a8b cmovlg R11, RBX # signed, int | |
a8f salq R9, #1 | |
a92 addq R9, #23 # long | |
a96 movq RCX, R9 # spill | |
a99 shrq RCX, #3 | |
a9d andq R9, #-8 # long | |
aa1 R8, #-7 # long | |
e96 movq RDI, R9 # spill | |
e99 addq RDI, R8 # ptr | |
e9c movq RDI, RCX # spill | |
aa4 addq RDI, #-2 # long | |
aa8 cmpl R13, #524288 # unsigned | |
aaf jnbe,u B148 P=0.000001 C=-1.000000 | |
aaf | |
ab5 B101: # B148 B102 <- B100 Freq: 0.0131511 | |
ab5 # TLS is in R15 | |
ab5 movq R14, [R15 + #120 (8-bit)] # ptr | |
ab9 shrq R10, #3 | |
ea0 subq RBX, R10 # long | |
ea3 movq RCX, RBX # spill | |
ea6 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
eb0 movq RDI, R13 # spill | |
eb3 call_leaf_nofp,runtime arrayof_jshort_disjoint_arraycopymovq R10, R14 # spill | |
abc addq R10, R9 # ptr | |
abf # TLS is in R15 | |
abf cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
ac6 jnb,u B148 P=0.000100 C=-1.000000 | |
ac6 | |
acc B102: # B103 <- B101 Freq: 0.0131497 | |
acc # TLS is in R15 | |
acc movq [R15 + #120 (8-bit)], R10 # ptr | |
ad0 | |
No JVM State Info | |
# | |
ec0 movl R8, [rsp + #0] # spill | |
ec4 movq R9, [rsp + #16] # spill | |
ec9 jmp B108 | |
ec9 | |
ece B146: # B124 <- B122 Freq: 1.31509e-05 | |
ece movslq RDX, R9 # i2l | |
ed1 movq R10, RDX # spill | |
ed4 salq R10, #1 | |
ed7 addq R10, #16 # long | |
edb movq R11, R10 # spill | |
ede andq R11, #-7 # long | |
ee2PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
ad8 movq [R14], 0x0000000000000001 # ptr | |
adf PREFETCHNTA [R10 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
ae7 movl [R14 + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
aef movl [R14 + #12 (8-bit)], R13 # int | |
af3 PREFETCHNTA [R10 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
af3 | |
afb B103: # B197 movq RDI, [rsp + #32] # spill | |
ee7 addq RDI, R11 # ptr | |
eea shrq R10, #3 | |
eee subq R8, R10 # long | |
ef1 movq RCX, R8 # spill | |
ef4 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
efe movq RDI, [rsp + #0] # spill | |
f02 call_leaf_nofp,runtime arrayof_jshort_disjoint_arraycopy | |
No JVM State Info | |
# | |
f0f jmp B124 | |
f0f | |
B104 <- B149 B102 Freq: 0.0131511 | |
afbf14 B147: # B224 B148 <- B100 | |
afb B101 Freq: 1.32865e-06 | |
f14 movq [rsp + #64], RDI # spill | |
f19 # checkcastPP of R14 | |
afb movq RBX, R14 # spill | |
afe addq RBX, #16 # ptr | |
b02 cmpl R11, #16 # unsigned | |
b06 jnbe,u B197 P=0.000001 C=-1.000000 | |
b06 | |
b0c B104: # B197 B105 <- B103 Freq: 0.0131511 | |
b0c cmpl movq [rsp + #56], RBX # spill | |
f1e movl [rsp + #48], RCX # spill | |
f22 movq [rsp + #40], R10 # spill | |
f27 movl [rsp + #36], RBP # spill | |
f2b movl [rsp + #32], R8 # spill | |
f30 pushq [rsp + #8] # 64-bit mem-mem spill | |
popq [rsp + #16] | |
f3a movq [rsp + #8], R14 # spill | |
f3f R13, R11 # unsigned | |
b0f jb,u B197 P=0.000001 C=-1.000000 | |
b0f | |
b15 B105: # B200 B106 <- B104 Freq: 0.013151 | |
b15 testl R11, R11 | |
b18 jle B200 P=0.000001 C=-1.000000 | |
b18 | |
b1e B106: # B146 B107 <- B105 Freq: 0.013151 | |
b1e movq R10, [rsp + #80] # spill | |
b23 movq [rsp + #0], R13 # spill | |
f43 movq RBP, [rsp + #72] # spill | |
f48 movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
f52 movl RDX, [rsp + #36] # spill | |
nop # 1 bytes pad for loops and calls | |
f57 call,static wrapper for: _new_array_nozero_Java | |
#addq R10, #16 # ptr java.util.Arrays::copyOf @ bci:1 L[0]=rsp + #0 L[1]=rsp + #36 L[2]=_ | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:43 L[0]=_ L[1]=_ L[2]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0 | |
b27 movq RDI, R10 # spill | |
b2a cmpl R11, R13 | |
b2d jl B146 P=0.001000 C=-1.000000 | |
b2d | |
b33 B107: # B108 <- B106 Freq: 0.0131379 | |
b33 movq RBP, R14 # spill | |
b36 movl R14, R8 # spill | |
b39 addq R9, , [value :1]=rsp + #0 } | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
##-16 # long | |
b3d shrq R9, java.lang.AbstractStringBuilder::append @ bci:21 L[0]=#ScObj0 L[1]=rsp + #24#3 | |
b41 movq RSI, RBX # spill | |
b44 movq RDX, R9 # spill | |
b47 call_leaf_nofp,runtime jlong_disjoint_arraycopy | |
No JVM State Info | |
# | |
b54 movl R8, R14 # spill | |
b57 movq R14, RBP # spill | |
b57 | |
b5a B108: # B196 B109 <- B146 B107 B198 B200 Freq: 0.0131511 | |
L[2]=rsp + #32 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #0 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #0 } | |
# LambdaJitTrace::lambda$main$1b5a | |
b5a @ bci:17 L[0]=rsp + #8 L[1]=RBP | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
#movq R10, [rsp + #16] # spill | |
b5f movl R9, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String.value | |
b63 testl R9, R9 # compressed ptr | |
b66 je B196 P=0.000001 C=-1.000000 | |
b66 | |
b6c B109: # B41 <- B108 Freq: 0.0131511 | |
LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [0]=Oop [8]=Oop [24]=Oop [72]b6c movl RBX, R13 # spill | |
b6f =Oop off=3932} | |
f5c | |
f5c B148: # B103 <- B147 Freq: 1.32862e-06 | |
movq [rsp + #80], R14 # spill | |
b74 jmp B41 | |
b74 | |
b79 B110: # B100 <- B98 Freq: 0.00657554 | |
b79 movl R13, #34 # int | |
b7f # Block is sole successor of call | |
f5c movq R8, [rsp + #0] # spill | |
f60 movq R14, [rsp + #8] # spill | |
f65 pushq [rsp + #16] # 64-bit mem-mem spill | |
popq [rsp + #8] | |
f6f movl R9, [rsp + #32] # spill | |
f74 movl RBP, [rsp + #36] # spill | |
f78 movq R10, [rsp + #40] # spill | |
f7d movl RCX, [rsp + #48] # spill | |
f81 movq RBX, [rsp + #56] # spill | |
f86 movq RDI, [rsp + #64] # spill | |
f8b movq R13, R8 # spill | |
f8e jmp B100 | |
b7f | |
b84 B111: # B126 B112 <- B78 movl R8, R9 # spill | |
f91 movq R9, RAX # spill | |
f94 jmp B103 | |
f94 | |
f99 B149: # Freq: 0.0131509 | |
b84 movl R11, RBX # spill | |
b87 sall R11, #1 | |
b8a movl RCX, R11 # spill | |
b8d subl R11, R13 # int | |
b90 addl R11, #2 # int | |
B221 B150 <- B116 B117 Freq: 1.32863e-06 | |
f99 movq [rsp + #80], RDI # spill | |
f9e movq [rsp + #72], R8 # spill | |
fa3 movq [rsp + #64], RCX # spill | |
fa8 movl [rsp + #56], R9 # spill | |
fad movl [rsp + #52], R11 # spill | |
fb2 movl R10, [rsp + #20] # spill | |
b94 testl R11, R11 | |
b97 fb7 movl [rsp + #48], R10 # spill | |
fbc movl [rsp + #12], RBP # spilljge B126 P=0.500000 C=-1.000000 | |
b97 | |
fc0 movq R10, [rsp + #0] # spill | |
fc4 movq [rsp + #24], R10 # spill | |
fc9 movq [rsp + #16], R14 # spill | |
fce movl R11, [rsp + #60] # spill | |
fd3 movl [rsp + #8], R11 # spill | |
fd8 movq [rsp + #0], R13 # spill | |
fdcb9d B112: # B115 B113 <- B111 Freq: 0.00657547 | |
movl RBP, RBX # spill | |
fde movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
fe8 movl RDX, [rsp + #52] # spill | |
nop # 3 bytes pad for loops and calls | |
fef b9d testl R13, R13 | |
call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfba0 @ bci:1 jge,s L[0]=rsp + #0 L[1]=rsp + #52B115 P=0.500000 C=-1.000000 | |
ba0 | |
ba2 B113: # B204 B114 <- B112 B126 Freq: 0.00657547 | |
ba2 testl R13, R13 | |
ba5 jl B204 P=0.000001 C=-1.000000 | |
ba5 | |
bab B114: # B116 <- B113 Freq: 0.00657547 | |
bab movl R10, #2147483647 # int | |
bb1 jmp,s L[2]=_ | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:43 L[0]=_ L[1]=_ L[2]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #0 } | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=#ScObj0 L[1]=rsp + #40 L[2]=rsp + #12 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #0 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #0 } | |
#B116 | |
bb1 | |
bb3 B115: # B116 <- B112 Freq: 0.00328774 | |
LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_bb3 movl R10, R13 # spill | |
bb3 | |
bb6 B116: # B150 B117 <- B114 B115 B127 Freq: 0.0131509 | |
bb6 movq RAX, R14 # spill | |
bb9 | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ movl R14, R8 # spill | |
bbc movq RSI, [rsp + #80] # spill | |
# OopMap{[0]=Oop [16]=Oop [24]=Derived_oop_[0] [40]=Oop off=4084} | |
ff4 | |
ff4 B150: # bc1 cmpl RBXB119 <- B149 Freq: 1.32861e-06 | |
# Block is sole successor of call | |
ff4 movl RBX, RBP # spill | |
ff6 movq R13, [rsp + #0] # spill | |
ffa movq R14, [rsp + #16] # spill | |
fff movq R10, [rsp + #24] # spill | |
1004 movq [rsp + #0], R10 # spill | |
1008 movl RBP, [rsp + #12] # spill | |
100c movl R8, [rsp + #48] # spill | |
1011 movl [rsp + #20], R8 # spill | |
1016 movl R10, [rsp + #52] # spill | |
101b , R10 | |
bc4 movl R11, R10 # spill | |
bc7 cmovllmovl [rsp + #48], R10 # spill | |
R11, RBX # signed, int | |
bcb movl [rsp + #48], R10 # spill | |
1020 movl R9, [rsp + #56] # spill | |
bd0 movslq RCX, 1025 movq RCX, [rsp + #64] # spill | |
102a movq R8, [rsp + #72] # spill | |
102f movq RDI, [rsp + #80] # spill | |
1034 movq RDX, RAX # spill | |
1037 jmp B119 | |
1037 | |
103c B151: # R10 # i2l | |
bd3 salq RCX, #1 | |
bd6 addq RCX, #23 # long | |
bda movq R9, RCX # spill | |
bdd shrq R9, #3 | |
be1 andq RCX, #-8 # long | |
be5 movq RDI, R9 # spill | |
be8 addq RDI, #-2 # long | |
bec movl R10, [rsp + #48] # spillN3091 <- B12 B11 Freq: 2.01326e-06 | |
103c movl RSI, #-122 # int | |
1041 movl RBP, R8 # spill | |
1044 movq [rsp + #0], R14 # spill | |
1048 movq R10, [rsp + #72] # spill | |
104d movq [rsp + #16], R10 # spill | |
1052 movl [rsp + #24], R11 # spill | |
bf1 cmpl R10, #524288 # unsigned | |
bf8 jnbe,u B150 P=0.000001 C=-1.000000 | |
bf8 | |
bfe B117: # B150 B118 <- B116 Freq: 0.0131509 | |
bfe # TLS is in R15 | |
bfe movq R10, [1057 movq [rsp + #32], R13 # spill | |
nop # 3 bytes pad for loops and calls | |
105f call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:18 L[0]=rsp + #72 L[1]=rsp + #24 L[2]=#0 L[3]=RBP | |
# LambdaJitTrace::lambda$main$0R15 + #120 (8-bit)] # ptr | |
c02 movq RDX, R10 # spill | |
c05 addq R10, RCX # ptr | |
c08 # TLS is in R15 | |
c08 cmpq R10, [R15 + #136 (32-bit)] # raw ptr | |
c0f jnb,u B150 P=0.000100 C=-1.000000 | |
c0f | |
c15 B118: # B119 <- B117 Freq: 0.0131496 | |
c15 # TLS is in R15 | |
c15 movq [R15 + #120 (8-bit)], R10 # ptr | |
c19 PREFETCHNTA [R10 + #256 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
c21 movq [RDX], 0x0000000000000001 # ptr | |
c28 PREFETCHNTA [R10 + #320 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
c30 movl [RDX + #8 (8-bit)], narrowklass: precise klass [C: 0x00007f625811e128:Constant:exact * # compressed klass ptr | |
c37 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #0 L[1]=rsp + #16 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #32 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=NarrowOop [0]=Oop [16]=Oop [32]=Oopmovl R8, [rsp + #48] # spill | |
c3c movl [RDX + #12 (8-bit)], R8 # int | |
[72]=Oop off=4196} | |
1064 int3 # ShouldNotReachHere | |
1064 | |
1069 B152: # N3091 <- B18 B17 Freq: 2.02654e-06 | |
1069 movl RSI, #-122 # int | |
106e movl RBP, R10 # spill | |
1071 movl [rsp + #0], R8 # spill | |
1075 movq [rsp + #8], R14 # spill | |
107a movq R10, [rsp + #72] # spill | |
107f c40 PREFETCHNTA [R10 + #384 (32-bit)] # Prefetch allocation to non-temporal cache for write | |
c40 | |
c48 B119: # B201 B120 <- B151 B118 movq [rsp + #24], R10 # spill | |
1084 movl [rsp + #4], R11 # spill | |
1089 movq [rsp + #32], R13 # spill | |
nop # 1 bytes pad for loops and calls | |
108f call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim Freq: 0.0131509 | |
c48 | |
c48 @ bci:37 movq R10, RDX # spill | |
c4b # checkcastPP of R10 | |
c4b movq [rsp + #8], R10 # spill | |
c50 addq R10, #16 # ptr | |
c54 cmpl RBX, R11 # unsigned | |
c57 jb,u L[0]=rsp + #72 L[1]=rsp + #4 L[2]=RBP L[3]=rsp + #0 | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::applyB201 P=0.000001 C=-1.000000 | |
c57 | |
c5d B120: # B201 @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #8 L[1]=rsp + #24 STK[0]=#ScObj0 | |
# ScObj0 B121 <- B119 Freq: 0.0131509 | |
c5d movl R8, [rsp + #48] # spill | |
c62 cmpl R8, R11 # unsigned | |
c65 jb,u java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #32 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
B201 P=0.000001 C=-1.000000 | |
c65 | |
c6b B121: # # LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[0]=NarrowOop [8]=Oop [24]=Oop [32]=Oop [72]=Oop off=4244} | |
1094 int3 # ShouldNotReachHere | |
1094 | |
1099 B153: # B203 B122 <- B120 Freq: 0.0131509 | |
c6b testl R11, R11 | |
c6e jle B203 P=0.000001 C=-1.000000 | |
c6e | |
N3091 <- B51 B50 Freq: 2.01325e-06 | |
c74 B122: # B147 B123 <- B121 Freq: 0.0131509 | |
c74 cmpl R11, [RSP + #48 (32-bit)] | |
c79 jl B147 P=0.001000 C=-1.000000 | |
c79 | |
c7f B123: # B124 <- B122 Freq: 0.0131378 | |
c7f addq RCX, #-16 # long | |
c83 shrq RCX, #3 | |
c87 movq RDI, [rsp + #24] # spill | |
c8c movq RSI, R10 # spill | |
c8f movq RDX, RCX # spill | |
c92 1099 movl RSI, #-122 # int | |
109e call_leaf_nofp,runtime jlong_disjoint_arraycopy | |
No JVM State Info | |
# | |
c9f | |
c9f B124: # B199 B125 <- B147 B123 B202 B203 Freq: 0.0131509movq RBP, [rsp + #72] # spill | |
10a3 movl [rsp + #0], RCX # spill | |
10a6 movl [rsp + #4], RDI # spill | |
10aa movl [rsp + #8], R8 # spill | |
10af movq [rsp + #16], R13 # spill | |
nop # 3 bytes pad for loops and calls | |
10b7 call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:18 L[0]=RBP L[1]=rsp + #0 L[2]=#0 L[3]=rsp + #4 | |
c9f | |
c9f movq R10, [rsp + #104] # spill | |
ca4 movl R11, [R10 + #12 (8-bit)] # compressed ptr ! Field: java/lang/String | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
#.value | |
ca8 testl R11, R11 # compressed ptr | |
cab je B199 P=0.000001 C=-1.000000 | |
cab | |
cb1 B125: # B80 LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_<- B124 Freq: 0.0131509 | |
cb1 pushq [rsp + #8] # 64-bit mem-mem spill | |
popq [rsp + #80] | |
cbb movl R8, R14 # spill | |
cbe jmp B80 | |
cbe | |
cc3 B126: # B113 B127 <- B111 Freq: 0.00657547 | |
cc3 movl R10, RCX # spill | |
cc6 L[1]=_ addl R10, #2 # int | |
cca testl R10, R10 | |
ccd jl B113 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #16 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply P=0.500000 C=-1.000000 | |
ccd | |
cd3 B127: # B116 <- B126 Freq: 0.00328774 | |
cd3 jmp B116 | |
cd3 | |
cd8 B128: # B36 <- B35 Freq: 0.000999986 | |
cd8 movq R9, RDX # spill | |
cdb salq R9, #1 | |
cde addq R9, #16 # long | |
ce2 movq RCX, R9 # spill | |
ce5 andq RCX, #-7 # long | |
ce9 movq RDI, RBP # spill | |
cec addq RDI, RCX # ptr | |
cef shrq R9, #3 | |
cf3 subq R8, R9 # long | |
cf6 movq RCX, R8 # spill | |
cf9 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
d03 @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [4]=NarrowOop [16]=Oop off=4284} | |
10bc int3 # ShouldNotReachHere | |
10bc | |
10c1 B154: # N3091 <- B57 B56 Freq: 2.02652e-06 | |
10c1 movl RSI, #-122 # int | |
10c6 movq RBP, [rsp + #72] # spill | |
10cb movl [rsp + #0], RCX # spill | |
10ce movl [rsp + #4], R10 # spill | |
10d3 movl [rsp + #8], RDI # spill | |
10d7 movl [rsp + #12], R8 # spill | |
10dc movq [rsp + #16], R13 # spill | |
nop # 2 bytes pad for loops and calls | |
jmp B36 | |
d03 | |
d08 B129: # B75 <- B74 Freq: 0.000999976 | |
d08 movq R9, RDX # spill | |
d0b salq R9, #1 | |
d0e addq R9, #16 # long | |
d12 movq RCX, R9 # spill | |
d15 andq RCX, #-7 # long | |
d19 movq RDI, RBP # spill | |
d1c 10e3 call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:37 L[0]=RBP L[1]=rsp + #0 L[2]=rsp + #4 L[3]=rsp + #8 | |
# LambdaJitTrace::lambda$main$0 addq RDI, RCX # ptr | |
d1f shrq R9, #3 | |
@ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #12, [value :1]=rsp + #16 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::d23 subq R8, R9 # long | |
d26 movq RCX, R8 # spill | |
d29lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{ xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
d33 jmp B75 | |
d33 | |
d38 B130: # B97 <- rbp=Oop [8]=NarrowOop [16]=Oop off=4328} | |
10e8 int3 # ShouldNotReachHere | |
10e8 | |
10ed B155: # N3091 <- B4 B95 Freq: 9.99998e-07 | |
10ed movl RSI, #-34 # int | |
nop # 1 bytes pad for loops and calls | |
10f3 call,static wrapper for: uncommon_trap(reason='class_check' action='maybe_recompile') | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ STK[0]=RBP STK[1]=rsp + #72 | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 Freq: 0.000999974 | |
d38 movslq RDX L[0]=_ L[1]=_ | |
# OopMap{rbp=NarrowOop [72]=Oop off=4344} | |
10f8 int3 # ShouldNotReachHere | |
10f8 | |
10fd B156: # N3091 <- B8 Freq: 9.99996e-07 | |
10fd movl RSI, #-34 # int | |
1102 movq R10, [rsp + #72] # spill | |
1107 movl [rsp + #8], RCX # spill | |
110b movq [rsp + #16], R10 # spill | |
1110 movq [rsp + #24], R13 # spill | |
nop # 2 bytes pad for loops and calls | |
, R9 # i2l | |
d3b movq R11, RDX # spill | |
d3e salq R11, #1 | |
d41 addq R11, #16 # long | |
d45 movq R9, R11 # spill | |
d48 andq R9, #-7 # long | |
d4c movq RDI, RBP # spill1117 call,static wrapper for: uncommon_trap(reason='class_check' action='maybe_recompile') | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #8 L[1]=rsp + #16 STK[0]=#ScObj0 STK[1]=rsp + #8 STK[2]=rsp + #72 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #24 | |
d4f addq RDI, R9 # ptr | |
d52 shrq R11, #3 | |
d56 } | |
# LambdaJitTrace$$Lambda$2/1072591677::applymovq RCX, RBX # spill | |
d59 subq RCX, R11 # long | |
d5c xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
d66 movq RDI, R8 # spill | |
d69 movq RSI, R10 # spill | |
@ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsIntd6c call_leaf_nofp,runtime arrayof_jshort_disjoint_arraycopy | |
No JVM State Info | |
# | |
d79 jmp B97 | |
d79 | |
d7e B131: # @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[8]=NarrowOop [16]=Oop [24]=Oop [72]=Oop off=4380} | |
111c int3 # ShouldNotReachHere | |
111c | |
1121 B227 B132 <- B3 Freq: 0.000100016 | |
d7e movl [rsp + #0], R11 # spill | |
d82 movq RBP, RDX # spill | |
d85 movq RSI, B157: # B219 B158 <- B161 B34 B35 precise klass [C: 0x00007f625811e128:Constant:exact * Freq: 1.99997e-06 | |
1121 movq [rsp + #40], RBP # spill | |
# ptr | |
d8f movl RDX1126 movq R8, [rsp + #0] # spill | |
112a pushq [rsp + #24] # 64-bit mem-mem spill | |
popq [rsp + #32] | |
1134 movq RDI, [rsp + #8] # spill | |
1139 movq [rsp + #24], RDI # spill | |
113e movq [rsp + #16], R14 # spill | |
1143 movq [rsp + #8], R13 # spill | |
1148 movl [rsp + #0], RBX # spill | |
114b movq RBP, [rsp + #72] # spill | |
1150 movq RDI, R11 # spill | |
1153 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
115d movq RSI, R8 # spill | |
1160 movl RDX, R10 # spill | |
1163 movq RCX, [rsp + #40] # spill | |
1168 xorl R8, R8 # int | |
116b call,static wrapper for: slow_arraycopy | |
#, #16 # int | |
java.util.Arrays::copyOfRange @ bci:57 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=rsp + #40 nop # 3 bytes pad for loops and calls | |
d97 call,static wrapper for: _new_array_Java | |
# | |
# java.lang.String::<init> java.lang.AbstractStringBuilder::<init> @ bci:55 @ bci:6 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #32 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count L[2]=_ L[3]=_ STK[0]=rsp + #32 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# :0]=#0, [value :1]=#NULL } | |
# java.lang.StringBuilder::<init> @ bci:3 L[0]=_ | |
# LambdaJitTrace:: LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #16 L[1]=RBP STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #8 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
#lambda$main$1 @ bci:4 L[0]=rsp + #0 L[1]=RBP STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value LambdaJitTrace$$Lambda$3/1554547125::applyAsInt :1]=#NULL } @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop [32]=Oop [40]=Oop [72]=Oop off=4464} | |
1170 | |
1170 B158: # B39 <- B157 Freq: 1.99993e-06 | |
# Block is sole successor of call | |
1170 movl RBX, [rsp + #0] # spill | |
1173 movq R10, [rsp + #8] # spill | |
1178 movq R13, R10 # spill | |
117b movq R10, [rsp + #16] # spill | |
1180 movq R14, R10 # spill | |
1183 movq R10, [rsp + #24] # spill | |
1188 movq [rsp + #8], R10 # spill | |
118d movq R10, [rsp + #32] # spill | |
1192 movq RBP, [rsp + #40] # spill | |
1197 movq [rsp + #24], R10 # spill | |
119c jmp B39 | |
119c | |
# LambdaJitTrace$$Lambda$2/1072591677::apply11a1 @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [0]=NarrowOop [72]=Oop B159: # off=3484} | |
d9c | |
d9c B132: # B5 <- B131 Freq: 0.000100014 | |
# Block is sole successor of call | |
d9c B223movl R11, [rsp + #0] # spill | |
da0 movq R8, RAX # spill B160 <- B45 B44 Freq: 1.99997e-06 | |
11a1 movq R10, [rsp + #0] # spill | |
11a5 movq [rsp + #40], R10 # spill | |
11aa movq [rsp + #32], R9 # spill | |
11af movl [rsp + #4], R8 # spill | |
11b4 movq R10, [rsp + #8] # spill | |
11b9 movq [rsp + #24], R10 # spill | |
11be movq [rsp + #16], R14 # spill | |
da3 jmp B5 | |
da3 | |
da8 B133: # B226 B134 <- B25 Freq: 0.000100016 | |
da8 | |
11c3 movq [rsp + #8], R13 # spill | |
11c8 movl [rsp + #0], RBX # spill | |
11cb movq RBP, [rsp + #72] # spill | |
11d0 xorl RDX, RDX # int | |
11d2 movq RCX, R13 # spill | |
11d5 xorl R8, R8 # int | |
11d8 movl R9, [rsp + #4] # spill | |
nop # 2 bytes pad for loops and calls | |
11df 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]=#ScObj0 L[1]=_ L[2]=rsp + #4 | |
# ScObj0 java/lang/StringBuilder={ [count movl [rsp + #32], RDI # spill | |
dac movl [rsp + #4], R11 # spill | |
db1 movq R10, [rsp + #8] # spill | |
db6 movq [rsp + #16], R10 # spill | |
dbb :0]=#0, [value :1]=rsp + #8 } | |
movq R10, [rsp + #80] # spill | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [countdc0 movq [rsp + #8], R10 # spill | |
dc5 movl [rsp + #0], RBX # spill | |
dc8 movq RBP, [rsp + #72] # spill | |
dcd movq RSI, precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # ptr | |
dd7 call,static wrapper for: _new_instance_Java | |
# java.lang.String::substring @ bci:65 L[0]=RBP L[1]=rsp + #4 L[2]=_ L[3]=rsp + #32 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# :0]=#0, [value :1]=rsp + #8 } | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=rsp + #16 L[1]=RBP | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop [32]=Oop [40]=Derived_oop_[8] [72]=Oop off=4580} | |
11e4 | |
11e4 B160: # B48 <- B159 Freq: 1.99993e-06 | |
# Block is sole successor of call | |
11e4 LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #16 L[1]=RBP STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #8 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop [72]=Oop [80]=Oop off=3548} | |
movl RBX, [rsp + #0] # spill | |
11e7 movq R10, [rsp + #8] # spill | |
11ec movq R11, [rsp + #24] # spill | |
11f1 movq [rsp + #8], R11 # spill | |
11f6 movl R11, [rsp + #4] # spill | |
11fb movq R9, [rsp + #32] # spill | |
1200 movq R8, [rsp + #40] # spill | |
1205 ddc | |
ddc B134: # B27 <- B133 Freq: 0.000100014 | |
# Block is sole successor of call | |
ddc movl RBX, [rsp + #0] # spill | |
ddf movq R11, [rsp + #16] # spill | |
de4 movq [rsp + #8], R11 # spill | |
de9 movl R11, [rsp + #4] # spill | |
dee movl RDI, [rsp + #32] # spill | |
df2 movq R8, RAX # spill | |
movq [rsp + #0], R8 # spill | |
1209 movq R13, R10 # spill | |
120c movl R8, R11 # spill | |
120f jmp B48 | |
120f | |
1214 B161: # B157 B162 <- B36 Freq: 9.99985e-07 | |
1214 testl R9, R9 | |
1217 jl B157 P=0.000001 C=-1.000000 | |
1217 | |
df5 jmp B27 | |
df5 | |
121d B162: # B39 <- B161 Freq: 9.99984e-07 | |
121d movq RDI, R11 # spill | |
1220 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
122a | |
122a jmp B39 | |
122a | |
122f B163: # B218 B164 <- B167 B73 B74 dfa B135: # B136 <- B29 Freq: 1.01327e-06 | |
dfa Freq: 1.99995e-06 | |
122f movq [rsp + #48], R13 # spill | |
1234 movq RDX, [rsp + #24] # spill | |
1239 movq [rsp + #40], R14 # spill | |
123e movl R11, R10 # spill | |
1241 movq R10, [rsp + #0] # spill movl [rsp + #36], RBP # spill | |
dfe movl [rsp + #64], R10 # spill | |
dfe | |
e03 B136: # B229 B137 <- B135 | |
1245 movq [rsp + #24], R10 # spill | |
124a movl RBP, RBX # spill | |
124c movq RDI, R8 # spill | |
124f xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
B30 Freq: 0.000101029 | |
e03 movq [rsp + #56], R8 # spill | |
e08 movq [rsp + #48], R13 # spill | |
rep stosb # Store rax to *rdi++ while rcx-- | |
1259 movq RSI, RDX # spill | |
125c movl RDX, R11 # spill | |
125f movq RCX, R13 # spill | |
e0d 1262 xorl R8, R8 # int | |
nop # 2 bytes pad for loops and calls | |
1267 call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOfRange @ bci:57 movq R10, [rsp + #16] # spill | |
e12 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=rsp + #48 | |
#movq [rsp + #40], R10 # spill | |
java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #40e17 movl [rsp + #32], RDI # spill | |
e1b movl [rsp + #4], R11 # spill | |
e20 movq R10, [rsp + #8] # spill | |
e25 movq [rsp + #16], R10 # spill | |
e2a movq R10, [rsp + #80] # spill | |
e2f movq [rsp + #8], R10 # spill | |
e34 movl [rsp + #0], RBX # spill | |
e37 movq RBP, [rsp + #72] # spill | |
e3c movq RSI, precise klass [C: 0x00007f625811e128 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #40:Constant:exact * # ptr | |
e46 | |
# 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]=_ | |
# LambdaJitTrace::movl RDX, RDI # spill | |
nop # 3 bytes pad for loops and calls | |
e4b call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=rsp + #48 L[1]=rsp + #4 L[2]=_ L[3]=rsp + #32 L[4]=_ | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #40 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #40 | |
# java.lang.String::trimlambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[16]=Oop [24]=Derived_oop_[80] [40]=Oop [48]=Oop [80]=Oop off=4716} | |
@ 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]=_ | |
# LambdaJitTrace::lambda$main$1126c | |
126c B164: # @ bci:9 L[0]=rsp + #16 L[1]=RBP STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #8 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop [36]=NarrowOop [40]=Oop [48]=Oop [72]=Oop [80]=Oop off=3664} | |
e50 | |
e50 B137: # B78 <- B163 Freq: 1.99991e-06 | |
# Block is sole successor of call | |
126c movl RBX, RBP # spill | |
126e movq R10, [rsp + #24] # spill | |
1273 movq [rsp + #0], R10 # spill | |
1277B32 <- B136 Freq: 0.000101027 | |
# Block is sole successor of call | |
e50 movl RBX, [rsp + #0] # spill | |
e53 movq R11, [rsp + #16] # spill | |
e58 movq [rsp + #8], R11 # spill | |
e5d movq R10, [rsp + #40] # spill | |
127c movq R14, R10 # spill | |
127f movq R13, [rsp + #48] # spillmovl R11, [rsp + #4] # spill | |
e62 movl RDI, [rsp + #32] # spill | |
e66 movq R9, [rsp + #40] # spill | |
e6b movq RCX, [rsp + #48] # spill | |
e70 movq R8, [rsp + #56] # spill | |
e75 movq RBP, RAX # spill | |
e78 movq [rsp + #16], R9 # spill | |
e7d movq R13, RCX # spill | |
e80 jmp B32 | |
e80 | |
e85 B138: # | |
1284 jmp B78 | |
1284 | |
1289 B165: # B220 B166B225 B139 <- B64 Freq: 0.000100015 | |
e85 movl [rsp + #52], RDI # spill | |
e89 movl [rsp + #48], R11 # spill | |
<- B84 B83 Freq: 1.99995e-06 | |
1289 movq [rsp + #40], RBX # spill | |
128e movq R10, R9 # spill | |
1291 movl [rsp + #4], RBP # spill | |
1295 movl [rsp + #0], R8 # spill | |
1299 movq RBP, R13 # spill | |
129c movq RSI, R10 # spill | |
129f xorl RDX, RDX # int | |
12a1 movq RCX, R13 # spill | |
12a4 movl R9, [rsp + #4] # spill | |
nop # 2 bytes pad for loops and calls | |
12ab call,static wrapper for: slow_arraycopy | |
# java.lang.String::getCharse8e movq R10, [rsp + #0] # spill | |
e92 movq [rsp + #40], R10 # spill | |
e97 @ bci:58 L[0]=_ L[1]=_ L[2]=_movq R10, [rsp + #24] # spill | |
e9c movq [rsp + #32], R10 # spill | |
ea1 movq [rsp + #24], R14 # spill | |
ea6 L[3]=_ L[4]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=#ScObj0 L[1]=_ L[2]=rsp + #4 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #0, [value :1]=RBP } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #0, [movl [rsp + #4], R8 # spill | |
eab movl [rsp + #0], RBX # spill | |
eae movq RBP, [rsp + #72] # spill | |
eb3 movq RSI, precise klass java/lang/String: 0x00007f6258128b28:Constant:exact * # ptr | |
nop # 2 bytes pad for loops and calls | |
ebf call,static wrapper for: _new_instance_Java | |
value :1]=RBP } | |
# LambdaJitTrace::lambda$main$1 @ bci:30 # java.lang.String::substring @ bci:65 L[0]=RBP L[1]=rsp + #48 L[2]=_ L[3]=rsp + #52 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [32]=Oop off=4784} | |
12b0 | |
java/lang/StringBuilder={ [count :0]=rsp + #4, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [24]=Oop [32]=Derived_oop_[80] [72]=Oop [80]=Oop off=3780} | |
ec4 | |
ec4 B139: # B66 <- B138 Freq: 0.000100013 | |
# Block is sole successor of call | |
ec4 movl RBX, [rsp + #0] # spill | |
ec7 movl RCX, [rsp + #4] # spill | |
ecb movq R9, [rsp + #24] # spill | |
ed0 movq R11, [rsp + #32] # spill | |
ed5 movq [rsp + #24], R11 # spill | |
eda 12b0 B166: # B87 <- B165 Freq: 1.99991e-06 | |
# Block is sole successor of call | |
12b0 movq RBX, [rsp + #40] # spill | |
12b5 movq R13, RBP # spill | |
12b8 jmp B87 | |
12b8 | |
12bd B167: # B163 B168 <- B75 Freq: 9.99975e-07 | |
12bd testl R9, R9 | |
12c0 jl B163movq R11, [rsp + #40] # spill | |
edf movq [rsp + #0], R11 # spill | |
ee3 movl R11, [rsp + #48] # spill | |
ee8 P=0.000001 C=-1.000000 | |
12c0 | |
12c6 B168: # B78 <- B167 Freq: 9.99974e-07 | |
12c6 movq RDI, R8 # spill | |
12c9 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
12d3 | |
12d3 jmp B78 | |
12d3 | |
12d8 B169: # B217 B170 <- B92 B93 Freq: 1.99995e-06 | |
12d8 movq RDI, R8 # spill | |
12db xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
12e5 movq RSI, [rsp + #32] # spill | |
12ea xorl RDX, RDX # int | |
12ec movl RDI, [rsp + #52] # spill | |
eec movl R8, RCX # spill | |
eef movq R14, R9 # spill | |
ef2 movq R9, RAX # spill | |
ef5 jmp B66 | |
ef5 | |
efa B140: # B228 B141 <- B68 B69 Freq: 0.000101028 | |
efa movq [rsp + #72], R8 # spill | |
eff movq [rsp + #64], RSI # spill | |
f04 pushq [rsp + #104] # 64-bit mem-mem spill | |
popq [rsp + #56] | |
f0e movl [rsp + #48], RDI # spill | |
movq RCX, R11 # spill | |
12ef xorl R8, R8 # int | |
12f2 movq RBP, R11 # spill | |
nop # 2 bytes pad for loops and calls | |
12f7 call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOfRangef12 @ 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]=#ScObj0 | |
# ScObj0 movl [rsp + #20], R11 # spill | |
f17 movq R10, [rsp + #0] # spill | |
f1b movq [rsp + #40], R10 # spill | |
f20 movq R10, [rsp + #24] # spill | |
f25 movq [rsp + #32], R10 # spill | |
java/lang/String={ [value :0]=#NULL, [hash :1]=#0 } | |
# java.lang.StringBuilder::toString @ bci:13 L[0]=_ STK[0]=#ScObj0 | |
# ScObj0 f2a movq [rsp + #24], R14 # spill | |
f2f movl [rsp + #16], R13 # spill | |
f34 movl RBP, RBX # spill | |
java/lang/String={ [value :0]=#NULL, [hash :1]=#0 } | |
# LambdaJitTrace::lambda$main$1f36 @ bci:33 L[0]=_movq L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
#RSI, LambdaJitTrace$$Lambda$3/1554547125::applyAsIntprecise @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop off=4860} | |
12fc | |
12fc klass [C: 0x00007f625811e128:Constant:exact *B170: # B97 <- B169 Freq: 1.99991e-06 | |
# Block is sole successor of call | |
12fc jmp # ptr | |
f40 movl RDX, RDI # spill | |
nop # 1 bytes pad for loops and calls | |
f43 call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::B97 | |
12fc | |
1301 B171: # B97 <- B94 Freq: 9.99973e-07 | |
1301 movq RDI, R8 # spill | |
1304 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
130e | |
130e jmp B97 | |
130e | |
1313 B172: # B16 <- B10 Freq: 4.99997e-07 | |
1313 movl RBX, #16 # int | |
1318 xorl R10, R10 # int | |
131b jmp B16 | |
131b | |
1320 B173: # B55 <- B49 Freq: 4.99992e-07 | |
1320 xorl R10, R10 # int | |
1323 jmp B55 | |
1323 | |
1328 copyOfRange @ bci:40 L[0]=rsp + #64 L[1]=rsp + #20 L[2]=_ L[3]=rsp + #48 L[4]=_ | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #56 | |
# java.lang.String::substring @ bci:75 L[0]=_B174: # B22 <- B16 Freq: 4.76833e-07 | |
1328 movl RBP, R11 # spill | |
132b L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #56 | |
# 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_jmp B22 | |
132b | |
1330 B175: # B23 B176 <- B22 Freq: 4.76832e-07 | |
1330 cmpl RBP, R11 | |
1333 jl B23 P=0.500000 C=-1.000000 | |
1333 | |
1339 B176: # B40 <- B175 Freq: 2.38416e-07 | |
1339 movq R10, [rsp + #72] # spill | |
133e movq [rsp + #24], R10 # spill | |
1343 jmp B40 | |
1343 | |
1348 B177: # N3091 <- B23 Freq: 4.76832e-07 | |
L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #16, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply1348 movl RSI, #5 # int | |
134d movl RBP, R10 # spill | |
1350 @ bci:8 L[0]=_ L[1]=_ | |
# movq [rsp + #0], R14 # spill | |
1354 movq [rsp + #16], R13 # spill | |
nop # 2 bytes pad for loops and calls | |
135bOopMap{[24]=Oop [32]=Derived_oop_[80] [52]=NarrowOop [56]=Oop [64]=Oop [80]=Oop [104]=Oop off=3912} | |
f48 | |
f48 B141: # B71 <- B140 Freq: 0.000101026 | |
# Block is sole successor of call | |
f48 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:: movl RBX, RBP # spill | |
f4a movl R11, [rsp + #16] # spill | |
f4f movl R13, R11 # spilltrim @ 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]=_ | |
f52 movq R11, [rsp + #24] # spill | |
L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #0 L[1]=rsp + #72 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [valuef57 :1]=rsp + #16 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[0]=Oop [16]=Oop [72]=Oop off=4960} | |
1360 int3 # ShouldNotReachHere | |
1360 | |
1365 B178: # N3091 <- B24 Freq: 4.76832e-07 | |
1365 movq R14, R11 # spill | |
f5a movl RSI, #5 # int | |
136a movq [rsp + #0], R14 # spill | |
136e movq [rsp + #16], R13 # spill | |
1373 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]=_ | |
#movq R11, [rsp + #32] # spill LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #0 L[1]=rsp + #72 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value | |
f5f movq [rsp + #24], R11 # spill | |
f64 :1]=rsp + #16 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ movq R11, [rsp + #40] # spill | |
f69 movq [rsp + #0], R11 # spill | |
f6d movl R11, [rsp + #20] # spill | |
f72 movl RDI, [rsp + #48] # spill | |
f76 movq R8, [rsp + #64] # spill | |
f7b L[1]=_ | |
# OopMap{[0]=Oop [16]=Oop [72]=Oop off=4984} | |
1378 int3 # ShouldNotReachHere | |
1378 | |
137d B179: # N3091 <- B25 Freq: 4.76832e-07 | |
137d movl RSI, #5 # int | |
1382 movq RBP, R14 # spill | |
1385 movl [rsp + #8], R8 # spill | |
138a movq [rsp + #16], R13 # spill | |
138f 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]=rsp + #8 | |
# java.lang.String::trim @ bci:69 L[0]=_ L[1]=_ L[2]=_ L[3]=_ | |
# LambdaJitTrace::movq RSI, R8 # spill | |
f7e movq R8, [rsp + #72] # spill | |
f83 movq RBP, RAX # spill | |
f86 jmp B71lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=RBP L[1]=rsp + #72 STK[0]=#ScObj0 | |
# ScObj0 | |
f86 | |
f8b B142: # B231 B143 <- B85 Freq: 0.000100014 | |
f8b movq [rsp + #24], RBX # spill | |
f90 movq R10, [rsp + #8] # spill | |
f95 movq [rsp + #16], R10 # spill | |
f9a movl [rsp + #8], R13 # spill | |
f9f movq RSI, precise klass java/lang/String: 0x00007f6258128b28:Constant:exact *java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #16 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [16]=Oop [72]=Oop # ptr | |
nop # 2 bytes pad for loops and calls | |
fab call,static wrapper for: _new_instance_Java | |
# java.lang.StringBuilder::toString @ bci:0 L[0]=#ScObj0 | |
# ScObj0 off=5012} | |
1394 int3 # ShouldNotReachHere | |
1394 | |
1399 B180: # B27 B181 <- B26 Freq: 4.76832e-07 | |
1399 cmpl RBP, R11 | |
139c jne B27 P=0.900000 C=-1.000000 | |
139c | |
13a2 java/lang/StringBuilder={ [count :0]=rsp + #8, [valueB181: # B40 <- B180 :1]=rsp + #80 } | |
# Freq: 4.76832e-08 | |
13a2 movq R10, [rsp + #72] # spill | |
13a7 movq [rsp + #24], R10 # spill | |
13ac jmp B40 | |
13ac | |
13b1 B182: # N3091 <- B30 Freq: 4.76831e-07 | |
13b1 movl RSI, #5 # int | |
13b6 movl RBP, R10 # spill | |
13b9 movq [rsp + #0], R14 # spill | |
13bd movq [rsp + #16], R9 # spill | |
13c2 movl [rsp + #24], R8 # spill | |
13c7 movq [rsp + #32], R13 # spill | |
nop # 3 bytes pad for loops and calls | |
13cf call,static LambdaJitTrace::lambda$main$1 @ bci:33 L[0]=_ L[1]=_ | |
# 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 + #24 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #16 | |
# 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]=_ | |
# LambdaJitTrace::lambda$main$1 LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[16]=Oop [80]=Oop off=4016} | |
fb0 | |
fb0 B143: # B87 <- B142 Freq: 0.000100012 | |
# Block is sole successor of call | |
@ bci:9 L[0]=rsp + #0 L[1]=rsp + #72 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #32 } | |
# LambdaJitTrace$$Lambda$2/1072591677::applyfb0 movl R13, [rsp + #8] # spill | |
fb5 movq R8, [rsp + #16] # spill | |
fba movq [rsp + #8], R8 # spill | |
fbf movq RBX, [rsp + #24] # spill | |
fc4 movq R14, RAX # spill | |
fc7 jmp @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[0]=Oop [16]=B87 | |
fc7 | |
fcc B144: # B230 B145 <- B89 B90 Freq: 0.000101027 | |
fcc movq [rsp + #32], R11 # spill | |
fd1 movq [rsp + #24], R14 # spill | |
fd6 movq [rsp + #16], RBX # spill | |
fdb movl [rsp + #0], R13 # spill | |
fdf Oop [32]=Oop [72]=Oop off=5076} | |
13d4 int3 # ShouldNotReachHere | |
13d4 | |
13d9 B183: # N3091 <- B43 Freq: 4.7683e-07 | |
13d9 movl RSI, #5 # int | |
13de movq RBP, R14 # spill | |
13e1 movl [rsp + #12], R8 # spill | |
13e6 movq [rsp + #16], R13 # spill | |
13eb call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::getChars @ bci:22 movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * L[0]=_ L[1]=_ L[2]=rsp + #12 L[3]=_ L[4]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=#ScObj0 L[1]=_ L[2]=rsp + #12 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #16 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #16 } | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=RBP L[1]=rsp + #72 | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [16]=Oop [72]=Oop off=5104} | |
13f0 int3 # ShouldNotReachHere | |
13f0 | |
13f5 B184: # B61 <- B55 Freq: 4.76829e-07 | |
13f5 movl RBP, RCX # spill | |
13f7 jmp B61 | |
13f7 | |
13fc B185: # B62 B186 <- B61 Freq: 4.76828e-07 | |
13fc cmpl RBP, RCX | |
13fe jl B62 P=0.500000 C=-1.000000 | |
13fe | |
1404 B186: # B79 <- B185 Freq: 2.38414e-07 | |
1404 movq R10, [rsp + #72] # spill | |
1409 movq R14, R10 # spill | |
140c jmp B79 | |
140c | |
1411 B187: # N3091 <- B62 Freq: 4.76828e-07 | |
1411 movl RSI, #5 # int | |
1416 movl RBP, R10 # spill | |
1419 movl [rsp + #0], R8 # spill | |
141d # ptr | |
fe9 movl RDX, R13 # spill | |
nop # 3 bytes pad for loops and calls | |
fef call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOfRange @ bci:40 L[0]=rsp + #80 L[1]=#0 L[2]=_ L[3]=rsp + #0 L[4]=_ | |
# java.lang.String::<init> @ bci:55 L[0]=_ movq [rsp + #8], R13 # spill | |
nop # 1 bytes pad for loops and calls | |
1423 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 L[1]=_ L[2]=_ @ 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #0, [value :1]=rsp + #8 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[3]=_ STK[0]=rsp + #24 | |
# java.lang.StringBuilder:: L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[8]=Oop off=5160} | |
1428 int3 # ShouldNotReachHere | |
1428 | |
142d B188: # N3091 <- B63 Freq: 4.76827e-07 | |
142d movl RSI, #5 # int | |
1432 movl [rsp + #0], R8 # spill | |
1436 movq [rsp + #8], R13 # spill | |
143b call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::substring @ bci:22 toString @ bci:13 L[0]=_ STK[0]=rsp + #24 | |
# LambdaJitTrace::lambda$main$1 L[0]=_ @ bci:33 L[0]=_ L[1]=_ 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #0, [value :1]=rsp + #8 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[8]=Oop off=5184} | |
1440 int3 # ShouldNotReachHere | |
1440 | |
1445 B189: # N3091 <- B64 Freq: 4.76827e-07 | |
1445 movl RSI, #5 # int | |
144a movl RBP, R11 # spill | |
144d movl [rsp + #0], R8 # spill | |
1451 movq [rsp + #8], R13 # spill | |
nop # 1 bytes pad for loops and calls | |
1457 call,static wrapper for: uncommon_trap | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 (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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[0]=_ L[1]=_ | |
# OopMap{[8]=Oop [24]=Oop [80]=Oop off=4084} | |
ff4 | |
ff4 B145 L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count: # B92 <- B144 Freq: 0.000101025 | |
# Block is sole successor of call | |
ff4 movl R13, [rsp + #0] # spill | |
ff8 movq RBX, [rsp + #16] # spill | |
ffd movq R9, [rsp + #24] # spill | |
1002 :0]=rsp + #0, [value :1]=rsp + #8 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[8]=Oop movq R11, [rsp + #32] # spill | |
1007 movq RBP, RAX # spill | |
100a movq R14, R9 # spilloff=5212} | |
145c int3 # ShouldNotReachHere | |
145c | |
1461 B190: # B66 B191 <- B65 Freq: 4.76827e-07 | |
1461 cmpl RBP, RCX | |
1463 jne B66 P=0.900000 C=-1.000000 | |
1463 | |
1469 B191: # B79 <- B190 Freq: 4.76827e-08 | |
1469 movq R10, [rsp + #72] # spill | |
146e movq R14, R10 # spill | |
1471 jmp B79 | |
1471 | |
100d jmp B92 | |
100d | |
1012 B146: # B108 <- B106 Freq: 1.3151e-05 | |
1012 movl RBP, R8 # spill | |
1015 movq R10, RDI # spill | |
10181476 B192: # N3091 <- B69 Freq: 4.76827e-07 | |
1476 movl RSI, #5 # int | |
147b movq RBP, R14 # spill | |
147e movl [rsp + #0], R10 # spill | |
1482 movl [rsp + #4], R11 # spill | |
1487 movl [rsp + #8], R8 # spill | |
148c movq [rsp + #16], R13 # spill | |
nop # 2 bytes pad for loops and calls | |
1493 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# movslq RDX, R11 # i2l | |
101b movq R11, RDX # spill | |
101e java.lang.String::<init> @ bci:38 L[0]=_ L[1]=_ L[2]=rsp + #0 L[3]=rsp + #4 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=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 salq R11, #1 @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #16 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [16]=Oop off=5272} | |
1498 int3 # ShouldNotReachHere | |
1021 addq R11, #16 # long | |
1025 movq R8, R11 # spill | |
1028 andq R8, #-7 # long | |
102c1498 | |
149d B193: # N3091 <- B82 Freq: 4.76826e-07 | |
149d movl RSI, #5 # int | |
14a2 movl [rsp + #4], R8 # spill | |
14a7 movq [rsp + #8], R13 # spill | |
nop # 3 bytes pad for loops and calls | |
14af 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]=_ | |
# java.lang.AbstractStringBuilder:: movq RDI, R14 # spill | |
102f addq RDI, R8 # ptr | |
1032 shrq R11, #3 | |
1036 subq RCX, R11 # long | |
1039 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
append @ bci:35 L[0]=#ScObj0 L[1]=_ L[2]=RBP | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #4, [value :1]=rsp + #8 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #4, [value :1]=rsp + #8 } | |
# LambdaJitTrace::lambda$main$1rep stosb # Store rax to *rdi++ while rcx-- | |
1043 movq RDI, R10 # spill | |
1046 movq RSI, RBX # spill | |
1049 call_leaf_nofp,runtime arrayof_jshort_disjoint_arraycopy @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[8]=Oop off=5300} | |
14b4 int3 # ShouldNotReachHere | |
14b4 | |
14b9 B194: # N3091 <- B87 Freq: 4.76826e-07 | |
14b9 | |
No JVM State Info | |
# | |
1056 movl R8, RBP # spill | |
1059 jmp B108 | |
1059 | |
105e B147: # B124 <- B122 Freq: 1.31509e-05 | |
105e movslq RDX, R11 # i2l | |
1061 movq R11, RDX # spill | |
1064 salq R11, movl RSI, #5 # int | |
#1 | |
1067 addq R11, #16 # long | |
106b movq R8, R11 # spill | |
106e nop # 1 bytes pad for loops and calls | |
14bf 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]=rsp + #20 | |
# java.lang.StringBuilder::toString @ bci:13 L[0]=_ STK[0]=#ScObj0 | |
# ScObj0 andq java/lang/String={ [value :0]=#NULL, [hash :1]=#0 } | |
# LambdaJitTrace::lambda$main$1 @ bci:33 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2R8, #-7 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125:: # long | |
1072applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{ movq RDI, [rsp + #8] # spill | |
1077 addq RDI, R8off=5316} | |
14c4 int3 # ShouldNotReachHere | |
14c4 | |
14c9 B195: # N3091 <- B88 Freq: 4.76825e-07 | |
14c9 movl RSI, #5 # int | |
nop # 1 bytes pad for loops and calls | |
14cf call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::<init> # ptr | |
107a shrq R11, #3 | |
107e subq R9, R11 # long | |
1081 movq RCX, R9 # spill | |
1084 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
@ bci:38 L[0]=_ L[1]=_ L[2]=#0 L[3]=rsp + #20 | |
# java.lang.StringBuilder::toString @ bci:13 L[0]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/String={ [value :0]=#NULL, [hash :1]=#0 } | |
# LambdaJitTrace::lambda$main$1 @ bci:33 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2108e movq RDI, [rsp + #24] # spill | |
@ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_1093 movq RSI, R10 # spill | |
1096 call_leaf_nofp,runtime arrayof_jshort_disjoint_arraycopy | |
No JVM State Info | |
# | |
10a3 jmp B124 | |
10a3 | |
10a8 B148: # B223 B149 <- B100 | |
# OopMap{off=5332} | |
14d4 int3 # ShouldNotReachHere | |
14d4 | |
14d9 B196: # N3091 <- B108 Freq: 1.33257e-08B101 Freq: 1.32865e-06 | |
10a8 movq [rsp + #64], RDI # spill | |
10ad movq [rsp + #56], RCX # spill | |
10b2 movl [rsp + #48], R11 # spill | |
10b7 movq [rsp + #40], R9 # spill | |
10bc movl [rsp + #36], R13 # spill | |
10c1 movl [rsp + #32], R8 # spill | |
10c6 movq R10, [rsp + #16] # spill | |
10cb movq [rsp + #24], R10 # spill | |
10d0 movq R10, [rsp + #80] # spill | |
10d5 movq [rsp + #0], R10 # spill | |
10d9 movq RBP, [rsp + #72] # spill | |
10de movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
10e8 movl RDX, R13 # spill | |
10eb call,static wrapper for: _new_array_nozero_Java | |
# | |
14d9 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
14df 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]=_ | |
# java.lang.StringBuilder::append @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply java.util.Arrays::copyOf @ bci:1 L[0]=rsp + #0 L[1]=rsp + #36 L[2]=_ | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:43 L[0]=_ L[1]=_ L[2]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=5348} | |
:1]=rsp + #0 } | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append14e4 int3 # ShouldNotReachHere | |
14e4 | |
14e9 B197: # B216 B198 <- B103 B104 Freq: 2.64767e-08 | |
14e9 movq [rsp + #40], R9 # spill | |
@ bci:21 L[0]=#ScObj0 L[1]=rsp + #24 L[2]=rsp + #32 | |
# ScObj0 java/lang/StringBuilder={ [count14ee movl R11, RCX # spill | |
14f1 movl [rsp + #36], RBP # spill | |
14f5 movl [rsp + #32], R8 # spill | |
14fa pushq [rsp + #8] # 64-bit mem-mem spill | |
popq [rsp + #16] | |
1504 movq [rsp + #8], R14 # spill | |
1509 movq [rsp + #0], R13 # spill | |
150d movq RBP, [rsp + #72] # spill | |
1512 movq RCX, RDI # spill | |
1515 :0]=#0, [value :1]=rsp + #0 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value movq RDI, RSI # spill | |
:1]=rsp + #0 } | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=rsp + #8 L[1]=RBP | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [0]=Oop [8]=Oop [24]=Oop [72]=Oop [80]=1518 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
1522 movq RSI, R13 # spill | |
1525 xorl RDX, RDX # int | |
1527 movq RCX, R9 # spill | |
152a xorl R8, R8 # int | |
152dOop off=4336} | |
10f0 | |
10f0 B149: # movl R9, R11 # spill | |
nop # 3 bytes pad for loops and calls | |
1533 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]=_B103 <- B148 Freq: 1.32862e-06 | |
# Block is sole successor of call | |
10f0 movq RDX, [rsp + #24] # spill | |
10f5 movl RBX, [rsp + #32] # spill | |
10f9 movl R13, [rsp + #36] # spill | |
10fe movq R9, [rsp + #40] # spill | |
1103 movl R11, [rsp + #48] # spill | |
1108 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #0 } | |
# java.lang.AbstractStringBuilder::ensureCapacityInternalmovq RCX, [rsp + #56] # spill | |
110d movq RDI, [rsp + #64] # spill | |
1112 movl R8, RBX # spill | |
1115 movq R14, RAX # spill | |
1118 movq [rsp + #16], RDX # spill | |
111d jmp B103 | |
111d | |
@ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=#ScObj0 L[1]=rsp + #24 L[2]=rsp + #32 | |
1122 B150: # B220 B151 <- B116 B117 Freq: 1.32864e-06 | |
1122 movq [rsp + #88], RDI # spill | |
1127 movq [rsp + #80], R9 # spill | |
112c movq [rsp + #72], RCX # spill | |
1131 movl [rsp + #64], R11 # spill | |
1136 movl R10, [rsp + #48] # spill | |
113b movl [rsp + #60], R10 # spill | |
1140 movl [rsp + #56], R13 # spill | |
1145 movl [rsp + #20], RBP # spill | |
1149 movq R10, [rsp + #0] # spill | |
114d movq [rsp + #40], R10 # spill | |
1152 movq R10, [rsp + #24] # spill | |
1157 movq [rsp + #32], R10 # spill | |
115c movq [rsp + #24], RAX # spill | |
1161 movl [rsp + #16], R14 # spill | |
1166 movq [rsp + #0], RSI # spill | |
116a movl RBP, RBX # spill | |
116c # ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #0 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #0 } | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=rsp + #8 L[1]=RBP | |
# LambdaJitTrace$$Lambda$2/1072591677::apply movq RSI, precise klass [C: 0x00007f625811e128:Constant:exact * # ptr | |
1176 movl RDX, [rsp + #60] # spill | |
nop # 1 bytes pad for loops and calls | |
117b @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=call,static wrapper for: _new_array_nozero_Java | |
# java.util.Arrays::copyOf @ bci:1 L[0]=rsp + #0 L[1]=rsp + #60 L[2]=_ | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:43 L[0]=_ L[1]=_ L[2]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #16, [value :1]=rsp + #0 } | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=#ScObj0 L[1]=rsp + #104 L[2]=rsp + #20 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #16, [value :1]=rsp + #0 } | |
# java.lang.StringBuilder::appendOop [0]=Oop [8]=Oop [24]=Oop [40]=Oop [72]=Oop off=5432} | |
1538 | |
1538 B198: # B108 @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #16, [value :1]=rsp + #0 } | |
# LambdaJitTrace::lambda$main$1<- B197 Freq: 2.64762e-08 | |
# Block is sole successor of call | |
1538 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[0]=Oop [24]=Oop [32]=Derived_oop_[0] [104]=Oop off=4480} | |
1180 | |
1180 B151: # B119 <- B150 Freq: 1.32861e-06 | |
# Block is sole successor of call | |
1180 movq R8, RAX # spill | |
1183 movq R14, [rsp + #8] # spill | |
153d pushq [rsp + #16] # 64-bit mem-mem spill | |
popq [rsp + #8] | |
1547 movl R11, [rsp + #32] # spill | |
154cmovl RBX, RBP # spill | |
1185 movq RSI, [rsp + #0] # spill | |
1189 movl R11, [rsp + #16] # spill | |
118e movl R14, R11 # spill | |
1191 movq RAX, [rsp + #24] # spill | |
1196 movq R10, [rsp + #32] # spill | |
119b movq [rsp + #24], R10 # spill | |
11a0 movq R10, [rsp + #40] # spill | |
11a5 movq [rsp + #0], R10 # spill | |
11a9 movl RBP, [rsp + #20] # spill | |
11ad movl R13, [rsp + #56] # spill | |
11b2 movl R11, [rsp + #60] # spill | |
11b7 movl [rsp + #48], R11 # spill | |
11bc movl RBP, [rsp + #36] # spill | |
1550 movq R10, [rsp + #40] # spill | |
1555 movl R8, R11 # spill | |
movl R11, [rsp + #64] # spill | |
11c1 movq RCX, [rsp + #72] # spill | |
11c6 movq R9, [rsp + #80] # spill | |
11cb movq RDI, [rsp + #88] # spill | |
11d0 movq RDX, R8 # spill | |
11d3 jmp B119 | |
11d3 | |
11d8 B152: # N3243 <- B10 B9 Freq: 2.01327e-06 | |
11d81558 movq R9, R10 # spill | |
155b jmp B108 | |
155b | |
1560 B199: # N3091 <- B124 Freq: 1.33255e-08 | |
1560 movl RSI, #-122 # int | |
11dd movl RSI, #-10 # int | |
nop # 2 bytes pad for loops and calls | |
1567 call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# java.lang.String::getChars @ bci:18 movl RBP, R8 # spill | |
11e0 movq [rsp + #0], R11 # spill | |
11e4 movq R11, [rsp + #72] # spill | |
11e9 movq [rsp + #16], R11 # spill | |
11ee movl [rsp + #24], R10 # spill | |
11f3 call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:18 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ STK[0]=_ L[0]=rsp + #72 L[1]=rsp + #24 L[2]=#0 L[3]=RBP | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply STK[1]=#NULL | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=_ L[1]=_ L[2]=_ | |
# @ bci:4 java.lang.StringBuilder::append @ bci:2 L[0]=_ L[1]=_ | |
# L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #0 L[1]=rsp + #16 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=NarrowOop [0]=Oop [16]=Oop [72]=Oop LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=5484} | |
[80]=Oop off=4600} | |
11f8 156c int3 # ShouldNotReachHere | |
156c | |
1571 B200: # B108 <- B105 Freq: 1.3151e-08 | |
1571 movq RCX, RDI # spill | |
1574 movq RDI, RSI # spill | |
1577 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
1581 | |
1581 jmp B108 | |
1581 | |
1586 B201: # B215 B202 <- B119 B120 Freq: 2.63018e-08 | |
1586 movq RCX, RDI # spill | |
1589 movq RDI, RSI # spill | |
158c xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
1596 movq RSI, R14 # spill | |
1599 xorl RDX, RDX # int | |
159b movq RCX, [rsp + #32] # spill | |
15a0 xorl R8, R8int3 # ShouldNotReachHere | |
11f8 | |
11fd B153: # # int | |
15a3 movq [rsp + #24], R13 # spill | |
nop # 3 bytes pad for loops and calls | |
15ab call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOf @ bci:14 L[0]=_ L[1]=_ L[2]=rsp + #32N3243 <- B16 B15 Freq: 2.02654e-06 | |
11fd movl RSI, | |
# java.lang.AbstractStringBuilder::expandCapacity @ bci:43 L[0]=_ L[1]=_ L[2]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #60, [value :1]=rsp + #24 } | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=#ScObj0 L[1]=rsp + #40 L[2]=RBP | |
#-122 # int | |
1202 movl RBP, R11 # spill | |
1205 movl [rsp + #0], R8 # spill | |
1209 movq R11, [rsp + #72] # spill | |
120e movq [rsp + #24], R11 # spill | |
1213 movl [rsp + #4], R10 # spill | |
nop # 3 bytes pad for loops and calls | |
121b call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:37 L[0]=rsp + #72 L[1]=rsp + #4 L[2]=RBP L[3]=rsp + #0 # ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #60, [value :1]=rsp + #24 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #60, [value :1]=rsp + #24 } | |
# LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[24]=Oop [32]=Oop [40]=Oop off=5552} | |
15b0 | |
15b0 B202: # B124 <- B201 Freq: 2.63013e-08 | |
# Block is sole successor of call | |
15b0 jmp B124 | |
15b0 | |
15b5 B203: # B124 <- B121 Freq: 1.31509e-08 | |
15b5 movq RCX, RDI # spill | |
15b8 movq RDI, RSI # spill | |
15bb xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
15c5 | |
15c5 jmp B124 | |
15c5 | |
15ca B204 | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 : # N3091 <- B113 Freq: 6.57546e-09 | |
15ca movl RSI, #6 # int | |
15cf movq [rsp + #0], R14 # spill | |
15d3 movl [rsp + #8], R8 # spill | |
15d8 movq [rsp + #16], R13 # spill | |
nop # 2 bytes pad for loops and calls | |
15df 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]=#ScObj0 L[1]=rsp + #0 L[2]=RBP | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #16 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #16 } | |
# LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[0]=Oop [16] L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 =Oop off=5604} | |
15e4 int3 # ShouldNotReachHere | |
15e4 | |
15e9 B205: # N3091 <- B2 Freq: 1e-35 | |
15e9 movl RSI, #-34 # int | |
15ee movq [rsp + #0], RDX # spill | |
nop # 1 bytes pad for loops and calls | |
15f3 call,static wrapper for: uncommon_trap(reason='class_check' action='maybe_recompile') | |
# L[0]=rsp + #8 L[1]=rsp + #24 LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:5 L[0]=_ L[1]=_ STK[0]=RBP STK[1]=rsp + #0 | |
# OopMap{rbp=NarrowOop [0]=Oop off=5624} | |
15f8 int3 # ShouldNotReachHere | |
15f8 | |
15fd B206: # N3091 <- B1 Freq: 1.01328e-06 | |
15fd movl RSI, #-12 # int | |
nop # 1 bytes pad for loops and calls | |
1603 call,static wrapper for: uncommon_trap(reason='null_check' action='make_not_entrant') | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:5 L[0]=_ L[1]=_ STK[0]=RBP STK[1]=#NULL STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder | |
# OopMap{rbp=NarrowOop off=5640} | |
1608 int3 # ShouldNotReachHere | |
1608 | |
160d B207: # N3091 <- B3 Freq: 1.01328e-06 | |
160d movl RSI, #-10 # int | |
1612 movq RBP, RDX # spill | |
nop # 2 bytes pad for loops and calls | |
1617 call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ STK[0]=#NULL STK[1]=RBP | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop off=5660} | |
161c int3 # ShouldNotReachHere | |
161c | |
1621 B208: # N3091 <- B7 Freq: 1.01328e-06 | |
1621={ [count :0]=#0, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[0]=NarrowOop [8]=Oop [24]=Oop movl RSI, #-10 # int | |
1626 movq RBP, [rsp + #72] # spill | |
162b call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
[72]=Oop # LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=_ L[1]=_ STK[0]=_ STK[1]=#NULL STK[2]=RBP | |
[80]=Oop off=4640} | |
1220 int3 # ShouldNotReachHere | |
1220 | |
1225 B154: # N3243 <- B49 B48 Freq: 2.01325e-06 | |
1225 movl RSI # LambdaJitTrace$$Lambda$2/1072591677::, #-122 # int | |
122a movq RBP, [rsp + #72] # spill | |
122f movl [rsp + #0], R10 # spill | |
1233 movl [rsp + #4], R9 # spill | |
1238 movl [rsp + #8], R8 # spill | |
apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 nop # 2 bytes pad for loops and calls | |
123f call,static wrapper for: uncommon_trap @ bci:2 (reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:18 L[0]=RBP L[1]=rsp + #0 L[2]=#0 L[3]=rsp + #4 | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop off=5680} | |
1630 int3 # ShouldNotReachHere | |
1630 | |
1635 B209: # N3091 <- B9 java/lang/StringBuilder={ [count Freq: 1.01327e-06 | |
1635 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
163b call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# :0]=rsp + #8, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [4]=NarrowOop [80]=Oop off=4676} | |
1244 int3 # ShouldNotReachHere | |
1244 | |
1249 B155: # N3243 <- B55 B54 Freq: 2.02652e-06 | |
1249 movl RSI, #-122 # int | |
124e movq RBP, [rsp + #72] # spill | |
1253 movl [rsp + #0], R10 # spill | |
1257 movl [rsp + #4], R11 # spill | |
125c movl [rsp + #8], R9 # spill | |
1261 movl [rsp + #12], R8 # spill | |
nop # 1 bytes pad for loops and calls | |
1267 call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# java.lang.String::trim @ bci:37 L[0]=RBP L[1]=rsp + #0 L[2]=rsp + #4 L[3]=rsp + #8 | |
# LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply @ bci:4 L[0]=_ L[1]=_ | |
# java.lang.String::trim @ bci:4 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=#NULL | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #12, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=NarrowOop [80]=Oop off=4716} | |
126c int3 # ShouldNotReachHere | |
126c | |
1271 B156 LambdaJitTrace::lambda$main$0 @ bci:1 L[0]=_ | |
# LambdaJitTrace$$Lambda$1/640070680::apply: # N3243 <- B6 Freq: 9.99998e-07 | |
1271 @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=_ L[1]=_ STK[0]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# movl RSI, LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=5696} | |
1640 int3 # ShouldNotReachHere | |
1640 | |
1645 B210: # N3091 <- B29 #-34 # int | |
1276 movq R10, [rsp + #72] # spill | |
127b movl [rsp + #8], R11 # spill | |
1280 movq [rsp + #16], R10 # spill | |
nop # 2 bytes pad for loops and calls | |
1287 call,static wrapper for: uncommon_trap(reason='class_check' action='maybe_recompile') | |
# Freq: 1.01327e-06 | |
1645 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
164b 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:: LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #8 L[1]=rsp + #16 STK[0]=#ScObj0 STK[1]=rsp + #8 STK[2]=rsp + #72 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
#substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=_ LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[8]=NarrowOop [16]=Oop | |
# 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 [72]=Oop [80]=Oop off=4748} | |
128c int3 # ShouldNotReachHere | |
128c | |
1291 B157: # B218 B158 <- B161 B32 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=_ L[1]=_ STK[0]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=5712} | |
1650B33 int3 # ShouldNotReachHere | |
1650 | |
1655 B211: # N3091 <- B40 Freq: 1.01327e-06 | |
1655 movl RSI, #-10 # int | |
Freq: 1.99998e-06 | |
1291 movq [rsp + #40], RBP # spill | |
1296 nop # 1 bytes pad for loops and calls | |
165b 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::append @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace::movq R8, [rsp + #16] # spilllambda$main$1 | |
129b movq [rsp + #32], R8 # spill | |
12a0 movl R8, R11 # spill | |
12a3 movq R11, [rsp + #8] # spill | |
12a8 movq [rsp + #16], R11 # spill | |
12ad movq R11, [rsp + #80] # spill | |
12b2 movq [rsp + #8], R11 # spill | |
12b7 movl [rsp + #0], RBX # spill | |
12ba movq RBP, [rsp + #72] # spill | |
12bf movq RDI, R10 # spill | |
12c2 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
12cc movq RSI, R13 # spill @ bci:17 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply | |
12cf movl RDX, R8 # spill | |
12d2 movq RCX, [rsp + #40] # spill | |
12d7 xorl R8, R8 # int | |
nop # 1 bytes pad for loops and calls | |
12db call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOfRange @ bci:57 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=rsp + #40 | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #32 | |
# @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #32 | |
# 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 OopMap{off=5728} | |
1660 int3 # ShouldNotReachHere | |
1660 | |
1665 L[0]=rsp + #16 L[1]=RBP STK[0]=#ScObj0 | |
B212: # N3091 <- B48 Freq: 1.01326e-06 | |
1665 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
166b call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# # ScObj0 java/lang/StringBuilder={ [count 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]=_ | |
# :0]=#0, [value :1]=rsp + #8 } | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=5744} | |
1670 int3 # ShouldNotReachHere | |
1670 | |
1675 B213: # N3091 <- B68 Freq: 1.01326e-06 | |
1675 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop [32]=Oop [40]=Oop [72]=Oop [80]=Oop off=4832} | |
12e0 | |
12e0 B158: # B37 <- B157 Freq: 1.99994e-06 | |
# Block is sole successor of call | |
12e0 movl RBX, [rsp + #0] # spill | |
12e3 movq R10, [rsp + #16] # spill | |
12e8 movq [rsp + #8], R10 # spill | |
12ed movq R10, [rsp + #32] # spill | |
12f2167b 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 movq RBP, [rsp + #40] # spill | |
12f7 @ bci:4 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::applymovq [rsp + #16], R10 # spill | |
12fc jmp B37 | |
12fc | |
1301 B159: # B222 B160 <- B43 B42 Freq: 1.99997e-06 @ bci:8 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$2 | |
1301 movq [rsp + #48], R11 # spill | |
1306 movq R10, [rsp + #24] # spill | |
130b movq [rsp + #40], R10 # spill | |
1310 movq [rsp + #32], R14 # spill | |
@ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=5760} | |
1680 int3 # ShouldNotReachHere | |
1680 | |
1685 B214: # N3091 <- B79 Freq: 1.01326e-06 | |
1685 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
168b call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
#1315 movl [rsp + #4], R8 # spill | |
131a movq R10, [rsp + #8] # spill | |
131f movq [rsp + #16], R10 # spill | |
1324 movl [rsp + #0], RBX # spill | |
1327 movq RBP, [rsp + #72] # spill | |
132c xorl RDX, RDX # int | |
132e movq RCX, [rsp + #80] # spill | |
1333 java.lang.String::length @ bci:4 L[0]=_ STK[0]=#NULL xorl R8, R8 # int | |
1336 movl R9, [rsp + #4] # spill | |
133b call,static | |
# java.lang.AbstractStringBuilder::append wrapper for: slow_arraycopy | |
# java.lang.String::getChars @ bci:10 L[0]=_ L[1]=_ L[2]=_ | |
# @ bci:58 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=#ScObj0 L[1]=_ L[2]=rsp + #4 | |
java.lang.StringBuilder::append @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:30 # ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_={ [count :0]=#0, [value :1]=rsp + #80 } | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=rsp + #16 L[1]=RBP | |
# LambdaJitTrace$$Lambda$2/1072591677::apply L[1]=_ | |
# LambdaJitTrace::lambda$main$2 @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$3/1554547125::applyAsInt @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=5776} | |
1690 int3 # ShouldNotReachHere | |
1690 | |
1695 B215: # B222 <- B201 Freq: 2.63018e-13 | |
1695 # exception oop is in rax; no code emitted | |
1695 jmp,s B222 | |
1695 | |
1697 B216: # B225 <- B197 Freq: 2.64767e-13 | |
1697 # exception oop is in rax; no code emitted | |
1697 jmp,s B225 | |
1697 | |
1699 @ bci:8 L[0]=_ L[1]=_ | |
# B217: # B232 <- B169 Freq: 1.99995e-11 | |
1699 # exception oop is in rax; no code emitted | |
1699 jmp,s B232 | |
1699 | |
169b B218: # B233 <- B163 Freq: 1.99995e-11 | |
169b # exception oop is in rax; no code emitted | |
169b movq RSI, RAX # spill | |
169e jmp,s B233 | |
169e | |
16a0 B219: # B233 <- B157 Freq: 1.99997e-11 | |
16a0 OopMap{rbp=Oop [16]=Oop [32]=Oop [40]=Derived_oop_[80]# exception oop is in rax; no code emitted | |
16a0 movq RSI, RAX # spill | |
16a3 jmp,s B233 | |
16a3 | |
16a5 B220: # B222 <- B165 Freq: 1.99995e-11 | |
16a5 # exception oop is in rax; no code emitted | |
[72]=Oop [80]=Oop off=4928} | |
1340 | |
1340 B160: # B46 <- B159 Freq: 1.99993e-06 | |
16a5 jmp,s B222 | |
16a5 | |
16a7 B221 # Block is sole successor of call | |
: # B222 <- B149 Freq: 1.32863e-11 | |
16a7 # exception oop is in rax; no code emitted | |
16a7 | |
16a7 B222: # B233 <- B221 B215 B220 Freq: 3.35489e-11 | |
16a7 movq RSI, RAX # spill | |
16aa jmp,s B233 | |
16aa | |
16ac B223: # 1340 movl RBX, [rsp + #0] # spill | |
1343 movl R11, [rsp + #4] # spill | |
1348 B225 <- B159 Freq: 1.99997e-11 | |
16ac # exception oop is in rax; no code emitted | |
16ac jmp,s B225 | |
16ac | |
16ae B224: # B225 <- B147 Freq: 1.32865e-11 | |
16aemovq R8, [rsp + #40] # spill | |
134d movq [rsp + #24], R8 # spill | |
1352 movq R8, [rsp + #48] # spill | |
1357 movq [rsp + #0], R8 # spill | |
# exception oop is in rax; no code emitted | |
16ae | |
16ae B225: # B233 <- B224 B216 B223 Freq: 3.35509e-11 | |
16ae movq RSI, RAX # spill | |
16b1 jmp,s B233 | |
16b1 | |
16b3 B226: # B233 <- B138 Freq: 1.00014e-09 | |
16b3 # exception oop is in rax; no code emitted | |
16b3 movq RSI, RAX # spill | |
16b6 jmp,s B233 | |
16b6 | |
16b8 B227: # B233 <- B133 Freq: 1.00015e-09 | |
16b8 # exception oop is in rax; no code emitted135b movl R8, R11 # spill | |
135e movq R14, [rsp + #32] # spill | |
1363 jmp B46 | |
1363 | |
1368 B161: # | |
16b8 movq RSI, RAX # spill | |
16bb jmp,s B233 | |
16bb | |
16bd B228: # B233 <- B131 Freq: 1.00016e-09 | |
16bd # exception oop is in rax; no code emitted | |
16bd movq RSI, RAX # spill | |
16c0 jmp,s B233 | |
16c0 | |
16c2 B229: # B233 <- B141 Freq: 1.01027e-09 | |
16c2 # exception oop is in rax; no code emitted | |
16c2 movq RSI, RAX # spill | |
16c5 jmp,s B233 | |
16c5 | |
16c7 B230: # B233 <- B136 Freq: 1.01028e-09 | |
16c7 # exception oop is in rax; no code emitted | |
16c7 movq RSI, RAX # spill | |
16ca jmp,s B233 | |
16ca | |
16cc B231: # B232 <- B143 Freq: 1.01027e-09 | |
16cc # exception oop is in rax; no code emitted | |
16cc | |
16cc B232: # B233 <- B217 B231 Freq: 1.03027e-09 | |
16cc movq RSI, RAX # spill | |
16cc | |
16cf B233: # N3091 <- B232 B228 B227 B230 B219 B225 B226 B229 B218 B222 Freq: 6.15839e-09 | |
16cf addq rsp, 112 # Destroy frame | |
B157 B162 <- B34 Freq: 9.99987e-07 | |
1368 testl R9, R9 | |
136b jl popq rbp | |
16d4 jmp rethrow_stub | |
16d4 | |
B157 P=0.000001 C=-1.000000 | |
136b | |
1371 B162: # B37 <- B161 Freq: 9.99986e-07 | |
1371 movq RDI, R10 # spill | |
1374 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
137e | |
137e jmp B37 | |
137e | |
1383 B163: # B217 B164 <- B167 B71 B72 Freq: 1.99996e-06 | |
1383 movq [rsp + #56], RBP # spill | |
1388 pushq [rsp + #104] # 64-bit mem-mem spill | |
popq [rsp + #48] | |
1392 movq R8, [rsp + #0] # spill | |
1396 movq [rsp + #40], R8 # spill | |
139b movq R8, [rsp + #24] # spill | |
13a0 movq [rsp + #32], R8 # spill | |
13a5 movq [rsp + #24], R14 # spill | |
13aa movl [rsp + #16], R13 # spill | |
13af movl RBP, RBX # spill | |
13b1 movq RDI, R10 # spill | |
13b4 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
13be movl RDX, R11 # spill | |
13c1 movq RCX, [rsp + #56] # spill | |
13c6 xorl R8, R8 # int | |
nop # 2 bytes pad for loops and calls | |
13cb call,static wrapper for: slow_arraycopy | |
# java.util.Arrays::copyOfRange @ bci:57 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=rsp + #56 | |
# java.lang.String::<init> @ bci:55 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #48 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #48 | |
# 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #16, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[24]=Oop [32]=Derived_oop_[80] [48]=Oop [56]=Oop [80]=Oop [104]=Oop off=5072} | |
13d0 | |
13d0 B164: # B76 <- B163 Freq: 1.99992e-06 | |
# Block is sole successor of call | |
13d0 movl RBX, RBP # spill | |
13d2 movl R10, [rsp + #16] # spill | |
13d7 movl R13, R10 # spill | |
13da movq R10, [rsp + #24] # spill | |
13df movq R14, R10 # spill | |
13e2 movq R10, [rsp + #32] # spill | |
13e7 movq [rsp + #24], R10 # spill | |
13ec movq R10, [rsp + #40] # spill | |
13f1 movq [rsp + #0], R10 # spill | |
13f5 movq RBP, [rsp + #56] # spill | |
13fa jmp B76 | |
13fa | |
13ff B165: # B219 B166 <- B82 B81 Freq: 1.99996e-06 | |
13ff movq [rsp + #40], RBX # spill | |
1404 movq R11, R10 # spill | |
1407 movq R10, [rsp + #8] # spill | |
140c movq [rsp + #32], R10 # spill | |
1411 movl [rsp + #24], R13 # spill | |
1416 movl [rsp + #12], RBP # spill | |
141a movq R10, [rsp + #0] # spill | |
141e movq [rsp + #16], R10 # spill | |
1423 movl [rsp + #8], R8 # spill | |
1428 movq RSI, R11 # spill | |
142b xorl RDX, RDX # int | |
142d movq RCX, [rsp + #80] # spill | |
1432 movl R9, [rsp + #12] # spill | |
1437 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]=#ScObj0 L[1]=_ L[2]=rsp + #12 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #80 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #80 } | |
# LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[32]=Oop [80]=Oop off=5180} | |
143c | |
143c B166: # B85 <- B165 Freq: 1.99992e-06 | |
# Block is sole successor of call | |
143c movq R11, [rsp + #16] # spill | |
1441 movq [rsp + #0], R11 # spill | |
1445 movl R13, [rsp + #24] # spill | |
144a movq R11, [rsp + #32] # spill | |
144f movq [rsp + #8], R11 # spill | |
1454 movq RBX, [rsp + #40] # spill | |
1459 jmp B85 | |
1459 | |
145e B167: # B163 B168 <- B73 Freq: 9.99977e-07 | |
145e testl R9, R9 | |
1461 jl B163 P=0.000001 C=-1.000000 | |
1461 | |
1467 B168: # B76 <- B167 Freq: 9.99976e-07 | |
1467 movq RDI, R10 # spill | |
146a xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
1474 | |
1474 jmp B76 | |
1474 | |
1479 B169: # B216 B170 <- B92 B93 Freq: 1.99995e-06 | |
1479 movq RDI, R10 # spill | |
147c xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
1486 movq RSI, [rsp + #8] # spill | |
148b xorl RDX, RDX # int | |
148d movq RCX, RBP # spill | |
1490 xorl R8, R8 # int | |
1493 movq [rsp + #8], R14 # spill | |
1498 movq [rsp + #16], R14 # spill | |
nop # 2 bytes pad for loops and calls | |
149f 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.StringBuilder::toString @ bci:13 L[0]=_ STK[0]=rsp + #8 | |
# LambdaJitTrace::lambda$main$1 @ bci:33 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [16]=Oop off=5284} | |
14a4 | |
14a4 B170: # B97 <- B169 Freq: 1.99991e-06 | |
# Block is sole successor of call | |
14a4 movq R14, [rsp + #8] # spill | |
14a9 jmp B97 | |
14a9 | |
14ae B171: # B97 <- B94 Freq: 9.99975e-07 | |
14ae movq RDI, R10 # spill | |
14b1 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
14bb | |
14bb jmp B97 | |
14bb | |
14c0 B172: # B14 <- B8 Freq: 4.99998e-07 | |
14c0 movl RBX, #16 # int | |
14c5 xorl R11, R11 # int | |
14c8 jmp B14 | |
14c8 | |
14cd B173: # B53 <- B47 Freq: 4.99993e-07 | |
14cd xorl R11, R11 # int | |
14d0 jmp B53 | |
14d0 | |
14d5 B174: # B20 <- B14 Freq: 4.76834e-07 | |
14d5 movl RBP, R10 # spill | |
14d8 jmp B20 | |
14d8 | |
14dd B175: # B21 B176 <- B20 Freq: 4.76833e-07 | |
14dd cmpl RBP, R10 | |
14e0 jl B21 P=0.500000 C=-1.000000 | |
14e0 | |
14e6 B176: # B38 <- B175 Freq: 2.38417e-07 | |
14e6 movq R10, [rsp + #72] # spill | |
14eb movq [rsp + #16], R10 # spill | |
14f0 jmp B38 | |
14f0 | |
14f5 B177: # N3243 <- B21 Freq: 4.76833e-07 | |
14f5 movl RSI, #5 # int | |
14fa movl RBP, R11 # spill | |
14fd movq R10, [rsp + #8] # spill | |
1502 movq [rsp + #0], R10 # spill | |
nop # 1 bytes pad for loops and calls | |
1507 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #0 L[1]=rsp + #72 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[0]=Oop [72]=Oop [80]=Oop off=5388} | |
150c int3 # ShouldNotReachHere | |
150c | |
1511 B178: # N3243 <- B22 Freq: 4.76833e-07 | |
1511 movl RSI, #5 # int | |
1516 movq R10, [rsp + #8] # spill | |
151b movq [rsp + #0], R10 # spill | |
151f 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #0 L[1]=rsp + #72 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[0]=Oop [72]=Oop [80]=Oop off=5412} | |
1524 int3 # ShouldNotReachHere | |
1524 | |
1529 B179: # N3243 <- B23 Freq: 4.76833e-07 | |
1529 movl RSI, #5 # int | |
152e movq RBP, [rsp + #8] # spill | |
1533 movl [rsp + #8], RDI # spill | |
1537 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]=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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=RBP L[1]=rsp + #72 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [72]=Oop [80]=Oop off=5436} | |
153c int3 # ShouldNotReachHere | |
153c | |
1541 B180: # B25 B181 <- B24 Freq: 4.76832e-07 | |
1541 cmpl RBP, R10 | |
1544 jne B25 P=0.900000 C=-1.000000 | |
1544 | |
154a B181: # B38 <- B180 Freq: 4.76833e-08 | |
154a movq R10, [rsp + #72] # spill | |
154f movq [rsp + #16], R10 # spill | |
1554 jmp B38 | |
1554 | |
1559 B182: # N3243 <- B28 Freq: 4.76832e-07 | |
1559 movl RSI, #5 # int | |
155e movl RBP, R11 # spill | |
1561 movq R10, [rsp + #8] # spill | |
1566 movq [rsp + #0], R10 # spill | |
156a movl [rsp + #24], RDI # spill | |
nop # 1 bytes pad for loops and calls | |
156f 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 + #24 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=rsp + #16 | |
# 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=rsp + #0 L[1]=rsp + #72 STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[0]=Oop [16]=Oop [72]=Oop [80]=Oop off=5492} | |
1574 int3 # ShouldNotReachHere | |
1574 | |
1579 B183: # N3243 <- B41 Freq: 4.76831e-07 | |
1579 movl RSI, #5 # int | |
157e movq RBP, [rsp + #8] # spill | |
1583 movl [rsp + #12], R8 # spill | |
nop # 3 bytes pad for loops and calls | |
158b 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]=#ScObj0 L[1]=_ L[2]=rsp + #12 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=RBP L[1]=rsp + #72 | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [72]=Oop [80]=Oop off=5520} | |
1590 int3 # ShouldNotReachHere | |
1590 | |
1595 B184: # B59 <- B53 Freq: 4.7683e-07 | |
1595 movl RBP, R10 # spill | |
1598 jmp B59 | |
1598 | |
159d B185: # B60 B186 <- B59 Freq: 4.76829e-07 | |
159d cmpl RBP, R10 | |
15a0 jl B60 P=0.500000 C=-1.000000 | |
15a0 | |
15a6 B186: # B77 <- B185 Freq: 2.38414e-07 | |
15a6 movq R10, [rsp + #72] # spill | |
15ab movq [rsp + #104], R10 # spill | |
15b0 jmp B77 | |
15b0 | |
15b5 B187: # N3243 <- B60 Freq: 4.76829e-07 | |
15b5 movl RSI, #5 # int | |
15ba movl RBP, R11 # spill | |
15bd movl [rsp + #0], R8 # spill | |
nop # 2 bytes pad for loops and calls | |
15c3 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #0, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[80]=Oop off=5576} | |
15c8 int3 # ShouldNotReachHere | |
15c8 | |
15cd B188: # N3243 <- B61 Freq: 4.76828e-07 | |
15cd movl RSI, #5 # int | |
15d2 movl [rsp + #0], R8 # spill | |
nop # 1 bytes pad for loops and calls | |
15d7 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #0, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[80]=Oop off=5596} | |
15dc int3 # ShouldNotReachHere | |
15dc | |
15e1 B189: # N3243 <- B62 Freq: 4.76828e-07 | |
15e1 movl RSI, #5 # int | |
15e6 movl RBP, RDI # spill | |
15e8 movl [rsp + #0], R8 # spill | |
nop # 3 bytes pad for loops and calls | |
15ef 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #0, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[80]=Oop off=5620} | |
15f4 int3 # ShouldNotReachHere | |
15f4 | |
15f9 B190: # B64 B191 <- B63 Freq: 4.76828e-07 | |
15f9 cmpl RBP, R10 | |
15fc jne B64 P=0.900000 C=-1.000000 | |
15fc | |
1602 B191: # B77 <- B190 Freq: 4.76828e-08 | |
1602 movq R10, [rsp + #72] # spill | |
1607 movq [rsp + #104], R10 # spill | |
160c jmp B77 | |
160c | |
1611 B192: # N3243 <- B67 Freq: 4.76827e-07 | |
1611 movl RSI, #5 # int | |
1616 movq RBP, R9 # spill | |
1619 movl [rsp + #0], R11 # spill | |
161d movl [rsp + #4], RDI # spill | |
1621 movl [rsp + #8], R8 # spill | |
nop # 1 bytes pad for loops and calls | |
1627 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 + #0 L[3]=rsp + #4 | |
# java.lang.String::substring @ bci:75 L[0]=_ L[1]=_ L[2]=_ L[3]=_ STK[0]=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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #80 } | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [80]=Oop off=5676} | |
162c int3 # ShouldNotReachHere | |
162c | |
1631 B193: # N3243 <- B80 Freq: 4.76827e-07 | |
1631 movl RSI, #5 # int | |
1636 movl [rsp + #4], R8 # spill | |
163b 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]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:35 L[0]=#ScObj0 L[1]=_ L[2]=RBP | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #4, [value :1]=rsp + #80 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #4, [value :1]=rsp + #80 } | |
# LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[80]=Oop off=5696} | |
1640 int3 # ShouldNotReachHere | |
1640 | |
1645 B194: # N3243 <- B87 Freq: 4.76827e-07 | |
1645 movl RSI, #5 # int | |
164a movq RBP, R14 # spill | |
164d movl [rsp + #0], R13 # spill | |
nop # 2 bytes pad for loops and calls | |
1653 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]=rsp + #0 | |
# java.lang.StringBuilder::toString @ bci:13 L[0]=_ STK[0]=RBP | |
# LambdaJitTrace::lambda$main$1 @ bci:33 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop off=5720} | |
1658 int3 # ShouldNotReachHere | |
1658 | |
165d B195: # N3243 <- B88 Freq: 4.76826e-07 | |
165d movl RSI, #5 # int | |
1662 movq RBP, R14 # spill | |
1665 movl [rsp + #0], R13 # spill | |
nop # 2 bytes pad for loops and calls | |
166b call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='5') | |
# java.lang.String::<init> @ bci:38 L[0]=_ L[1]=_ L[2]=#0 L[3]=rsp + #0 | |
# java.lang.StringBuilder::toString @ bci:13 L[0]=_ STK[0]=RBP | |
# LambdaJitTrace::lambda$main$1 @ bci:33 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop off=5744} | |
1670 int3 # ShouldNotReachHere | |
1670 | |
1675 B196: # N3243 <- B108 Freq: 1.33257e-08 | |
1675 movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
167b 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]=_ | |
# java.lang.StringBuilder::append @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=5760} | |
1680 int3 # ShouldNotReachHere | |
1680 | |
1685 B197: # B215 B198 <- B103 B104 Freq: 2.64768e-08 | |
1685 movq [rsp + #40], R14 # spill | |
168a movl R10, R11 # spill | |
168d movl [rsp + #36], R13 # spill | |
1692 movl [rsp + #32], R8 # spill | |
1697 movq R11, [rsp + #16] # spill | |
169c movq [rsp + #24], R11 # spill | |
16a1 movq R11, [rsp + #80] # spill | |
16a6 movq RBP, [rsp + #72] # spill | |
16ab movq RCX, RDI # spill | |
16ae movq RDI, RBX # spill | |
16b1 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
16bb movq RSI, R11 # spill | |
16be xorl RDX, RDX # int | |
16c0 movq RCX, R14 # spill | |
16c3 xorl R8, R8 # int | |
16c6 movl R9, R10 # spill | |
nop # 2 bytes pad for loops and calls | |
16cb 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]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=#ScObj0 L[1]=rsp + #24 L[2]=rsp + #32 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=#0, [value :1]=rsp + #80 } | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=rsp + #8 L[1]=RBP | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop [8]=Oop [24]=Oop [40]=Oop [72]=Oop [80]=Oop off=5840} | |
16d0 | |
16d0 B198: # B108 <- B197 Freq: 2.64762e-08 | |
# Block is sole successor of call | |
16d0 movq R9, [rsp + #24] # spill | |
16d5 movl R11, [rsp + #32] # spill | |
16da movl R13, [rsp + #36] # spill | |
16df movq R10, [rsp + #40] # spill | |
16e4 movl R8, R11 # spill | |
16e7 movq R14, R10 # spill | |
16ea movq [rsp + #16], R9 # spill | |
16ef jmp B108 | |
16ef | |
16f4 B199: # N3243 <- B124 Freq: 1.33256e-08 | |
16f4 movl RSI, #-10 # int | |
nop # 2 bytes pad for loops and calls | |
16fb 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]=_ | |
# java.lang.StringBuilder::append @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=5888} | |
1700 int3 # ShouldNotReachHere | |
1700 | |
1705 B200: # B108 <- B105 Freq: 1.3151e-08 | |
1705 movq RCX, RDI # spill | |
1708 movq RDI, RBX # spill | |
170b xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
1715 | |
1715 jmp B108 | |
1715 | |
171a B201: # B214 B202 <- B119 B120 Freq: 2.63019e-08 | |
171a movq R8, [rsp + #8] # spill | |
171f movq [rsp + #40], R8 # spill | |
1724 movl R9, R11 # spill | |
1727 movl [rsp + #32], R13 # spill | |
172c movl [rsp + #12], RBP # spill | |
1730 movq R11, [rsp + #0] # spill | |
1734 movq [rsp + #16], R11 # spill | |
1739 movq R11, RAX # spill | |
173c movl [rsp + #8], R14 # spill | |
1741 movq RBP, RSI # spill | |
1744 movq RCX, RDI # spill | |
1747 movq RDI, R10 # spill | |
174a xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
1754 movq RSI, R11 # spill | |
1757 xorl RDX, RDX # int | |
1759 movq RCX, [rsp + #40] # spill | |
175e xorl R8, R8 # int | |
nop # 2 bytes pad for loops and calls | |
1763 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]=#ScObj0 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=RBP } | |
# java.lang.AbstractStringBuilder::ensureCapacityInternal @ bci:12 L[0]=_ L[1]=_ | |
# java.lang.AbstractStringBuilder::append @ bci:21 L[0]=#ScObj0 L[1]=rsp + #104 L[2]=rsp + #12 | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=RBP } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=RBP } | |
# LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_{method} | |
- this oop: 0x00007f6247667610 | |
- method holder: 'LambdaJitTrace' | |
- constants: 0x00007f62476670b0 constant pool [115]/operands[21] {0x00007f62476670b0} for 'LambdaJitTrace' cache=0x00007f62476678e8 | |
- access: 0xc1000009 public static | |
- name: 'main' | |
- signature: '([Ljava/lang/String;)V' | |
- max stack: 4 | |
- max locals: 6 | |
- size of params: 1 | |
- method size: 12 | |
- highest level: 3 | |
- vtable index: -2 | |
- i2i entry: 0x00007f624901e2e0 | |
- adapters: AHE@0x00007f62580b9a90: 0xb0000000 i2c: 0x00007f6249106ae0 c2i: 0x00007f6249106bf4 c2iUV: 0x00007f6249106bc7 | |
- compiled entry 0x00007f624924c220 | |
- code size: 79 | |
- code start: 0x00007f62476675b0 | |
- code end (excl): 0x00007f62476675ff | |
- method data: 0x00007f6247674e48 | |
- checked ex length: 0 | |
- linenumber start: 0x00007f62476675ff | |
- localvar length: 0 | |
- compiled code: nmethod 555 138 3 LambdaJitTrace::main (79 bytes) | |
# | |
# void ( rawptr:BotPTR ) | |
# | |
#r018 rsi:rsi : parm 0: rawptr:BotPTR | |
# -- 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 N145: # B1 <- BLOCK HEAD IS JUNK Freq: 1 | |
000 # breakpoint | |
nop # 11 bytes pad for loops and calls | |
010 B1: # B11 B2 <- BLOCK HEAD IS JUNK Freq: 1 | |
010 # stack bang | |
pushq rbp # Save rbp | |
subq rsp, #32 # Create frame | |
01c movl RBX, [RSI] # int | |
01e movq R13, [RSI + #16 (8-bit)] # ptr | |
022 movl RBP, [RSI + #8 (8-bit)] # int | |
025 movq RDI, RSI # spill | |
028 call_leaf,runtime OSR_migration_end | |
No JVM State Info | |
# | |
035 testq R13, R13 # ptr | |
038 je B11 P=0.000001 C=-1.000000 | |
038 | |
03e B2: # B9 B3 <- B1 Freq: 0.999999 | |
03e movl R11, [R13 + #8 (8-bit)] # compressed klass ptr | |
042 decode_klass_not_null RSI,R11 | |
050 movq R10, [RSI + #32 (8-bit)] # class | |
054 movq RAX, precise klass java/util/function/ToIntFunction: 0x00007f622c01c168:Constant:exact * # ptr | |
05e cmpq R10, RAX # ptr | |
061 jne,us B9 P=0.170000 C=-1.000000 | |
061 | |
063 B3: # B12 B4 <- B2 B9 Freq: 0.999999 | |
063 # checkcastPP of R13 | |
063 movl R11, [R13 + #8 (8-bit)] # compressed klass ptr | |
067 cmpl R11, narrowklass: precise klass LambdaJitTrace$$Lambda$3: 0x00007f622c019d98:Constant:exact * # compressed klass ptr | |
06e jne,u B12 P=0.000001 C=-1.000000 | |
06e | |
074 B4: # B7 <- B3 Freq: 0.999998 | |
074 movq R10, R13 # spill | |
077 # checkcastPP of R10 | |
077 jmp,s B7 | |
nop # 7 bytes pad for loops and calls | |
080 B5: # B13 B6 <- B7 top-of-loop Freq: 95448.4 | |
080 movq [rsp + #8], R10 # spill | |
085 movl [rsp + #0], RBX # spill | |
088 movq RSI, R10 # spill | |
08b movq RDX, java/lang/String:exact * # ptr | |
nop # 2 bytes pad for loops and calls | |
097 call,static LambdaJitTrace$$Lambda$3/1554547125::applyAsInt | |
# LambdaJitTrace::main @ bci:38 L[0]=_ L[1]=_ L[2]=_ L[3]=rsp + #8 L[4]=_ L[5]=rsp + #0 STK[0]=RBP | |
# OopMap{[8]=Oop off=156} | |
09c | |
09c B6: # B7 <- B5 Freq: 95446.5 | |
# Block is sole successor of call | |
09c addl RBP, RAX # int | |
09e movl RBX, [rsp + #0] # spill | |
0a1 incl RBX # int | |
0a3 movq R10, [rsp + #8] # spill | |
0a3 | |
0a8 B7: # B5 B8 <- B4 B6 Loop: B7-B6 inner Freq: 95448.5 | |
0a8 cmpl RBX, #1000000 | |
0ae jl,s B5 P=1.000000 C=858327.000000 | |
0ae | |
0b0 B8: # N145 <- B7 Freq: 0.0455134 | |
0b0 movl RSI, #56 # int | |
nop # 2 bytes pad for loops and calls | |
0b7 call,static wrapper for: uncommon_trap(reason='unloaded' action='reinterpret' index='56') | |
# LambdaJitTrace::main @ bci:52 L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=RBP L[5]=_ | |
# OopMap{off=188} | |
0bc int3 # ShouldNotReachHere | |
0bc | |
0c1 B9: # B3 B10 <- B2 Freq: 0.17 | |
0c1 movq rdi, [RSI + in_bytes(Klass::secondary_supers_offset())] | |
movl rcx, [rdi + Array<Klass*>::length_offset_in_bytes()] # length to scan | |
addq rdi, Array<Klass*>::base_offset_in_bytes() # Skip to start of data; set NZ in case count is zero | |
repne scasq # Scan *rdi++ for a match with rax while cx-- != 0 | |
jne,s miss # Missed: flags nz | |
movq [RSI + in_bytes(Klass::secondary_super_cache_offset())], RAX # Hit: update cache | |
miss: | |
0ec je B3 P=0.999999 C=-1.000000 | |
0ec | |
0f2 B10: # N145 <- B9 Freq: 1.7e-07 | |
0f2 movl RSI, #-99 # int | |
0f7 movl [rsp + #0], RBX # spill | |
0fa movq [rsp + #8], R13 # spill | |
0ff call,static wrapper for: uncommon_trap(reason='constraint' action='reinterpret') | |
# LambdaJitTrace::main @ bci:26 L[0]=_ L[1]=_ L[2]=_ L[3]=rsp + #8 L[4]=RBP L[5]=rsp + #0 | |
# OopMap{[8]=Oop off=260} | |
104 int3 # ShouldNotReachHere | |
104 | |
109 B11: # B12 <- B1 Freq: 1.01328e-06 | |
109 xorl R13, R13 # ptr | |
10c | |
10c B12: # N145 <- B3 B11 Freq: 2.01328e-06 | |
10c movl RSI, #-122 # int | |
111 movl [rsp + #0], RBX # spill | |
114 movq [rsp + #8], R13 # spill | |
nop # 2 bytes pad for loops and calls | |
11b call,static wrapper for: uncommon_trap(reason='predicate' action='maybe_recompile') | |
# LambdaJitTrace::main @ bci:26 L[0]=_ L[1]=_ L[2]=_ L[3]=rsp + #8 L[4]=RBP L[5]=rsp + #0 | |
# OopMap{[8]=Oop off=288} | |
120 int3 # ShouldNotReachHere | |
120 | |
125 B13: # N145 <- B5 Freq: 0.954484 | |
125 # exception oop is in rax; no code emitted | |
125 movq RSI, RAX # spill | |
128 addq rsp, 32 # Destroy frame | |
popq rbp | |
12d jmp rethrow_stub | |
12d | |
L[1]=_ | |
# OopMap{rbp=Oop [40]=Oop [104]=Oop off=5992} | |
1768 | |
1768 B202: # B124 <- B201 Freq: 2.63013e-08 | |
# Block is sole successor of call | |
1768 movl R10, [rsp + #8] # spill | |
176d movl R14, R10 # spill | |
1770 movq R10, [rsp + #16] # spill | |
1775 movq [rsp + #0], R10 # spill | |
1779 movl RBP, [rsp + #12] # spill | |
177d movl R13, [rsp + #32] # spill | |
1782 movq R11, [rsp + #40] # spill | |
1787 movq [rsp + #8], R11 # spill | |
178c jmp B124 | |
178c | |
1791 B203: # B124 <- B121 Freq: 1.31509e-08 | |
1791 movq RCX, RDI # spill | |
1794 movq RDI, R10 # spill | |
1797 xorq rax, rax # ClearArray: | |
shlq rcx,3 # Convert doublewords to bytes | |
rep stosb # Store rax to *rdi++ while rcx-- | |
17a1 | |
17a1 jmp B124 | |
17a1 | |
17a6 B204: # N3243 <- B113 Freq: 6.57547e-09 | |
17a6 movl RSI, #6 # int | |
17ab movl [rsp + #8], R8 # spill | |
nop # 3 bytes pad for loops and calls | |
17b3 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]=#ScObj0 L[1]=rsp + #104 L[2]=RBP | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #80 } | |
# java.lang.StringBuilder::append @ bci:2 L[0]=#ScObj0 L[1]=_ | |
# ScObj0 java/lang/StringBuilder={ [count :0]=rsp + #8, [value :1]=rsp + #80 } | |
# LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{[80]=Oop [104]=Oop off=6072} | |
17b8 int3 # ShouldNotReachHere | |
17b8 | |
17bd B205: # N3243 <- B2 Freq: 1e-35 | |
17bd movl RSI, #-34 # int | |
17c2 movl RBP, R11 # spill | |
17c5 movq [rsp + #0], RDX # spill | |
nop # 2 bytes pad for loops and calls | |
17cb call,static wrapper for: uncommon_trap(reason='class_check' action='maybe_recompile') | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:5 L[0]=_ L[1]=_ STK[0]=RBP STK[1]=rsp + #0 | |
# OopMap{rbp=NarrowOop [0]=Oop off=6096} | |
17d0 int3 # ShouldNotReachHere | |
17d0 | |
17d5 B206: # N3243 <- B1 Freq: 1.01328e-06 | |
17d5 movl RSI, #-12 # int | |
17da movl RBP, R11 # spill | |
nop # 2 bytes pad for loops and calls | |
17df call,static wrapper for: uncommon_trap(reason='null_check' action='make_not_entrant') | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:5 L[0]=_ L[1]=_ STK[0]=RBP STK[1]=#NULL | |
# OopMap{rbp=NarrowOop off=6116} | |
17e4 int3 # ShouldNotReachHere | |
17e4 | |
17e9 B207: # N3243 <- B5 Freq: 1.01328e-06 | |
17e9 movl RSI, #-10 # int | |
17ee movq RBP, [rsp + #72] # spill | |
17f3 call,static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile') | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=_ L[1]=_ STK[0]=_ STK[1]=#NULL STK[2]=RBP | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{rbp=Oop off=6136} | |
17f8 int3 # ShouldNotReachHere | |
17f8 | |
17fd B208: # N3243 <- B7 Freq: 1.01328e-06 | |
17fd movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
1803 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=_ L[1]=_ STK[0]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=6152} | |
1808 int3 # ShouldNotReachHere | |
1808 | |
180d B209: # N3243 <- B27 Freq: 1.01327e-06 | |
180d movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
1813 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:9 L[0]=_ L[1]=_ STK[0]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=6168} | |
1818 int3 # ShouldNotReachHere | |
1818 | |
181d B210: # N3243 <- B38 Freq: 1.01327e-06 | |
181d movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
1823 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::append @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:17 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=6184} | |
1828 int3 # ShouldNotReachHere | |
1828 | |
182d B211: # N3243 <- B46 Freq: 1.01327e-06 | |
182d movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
1833 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=6200} | |
1838 int3 # ShouldNotReachHere | |
1838 | |
183d B212: # N3243 <- B66 Freq: 1.01326e-06 | |
183d movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
1843 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]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:22 L[0]=_ L[1]=_ STK[0]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=6216} | |
1848 int3 # ShouldNotReachHere | |
1848 | |
184d B213: # N3243 <- B77 Freq: 1.01326e-06 | |
184d movl RSI, #-10 # int | |
nop # 1 bytes pad for loops and calls | |
1853 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::append @ bci:2 L[0]=_ L[1]=_ | |
# LambdaJitTrace::lambda$main$1 @ bci:30 L[0]=_ L[1]=_ | |
# LambdaJitTrace$$Lambda$2/1072591677::apply @ bci:8 L[0]=_ L[1]=_ | |
# OopMap{off=6232} | |
1858 int3 # ShouldNotReachHere | |
1858 | |
185d B214: # B221 <- B201 Freq: 2.63019e-13 | |
185d # exception oop is in rax; no code emitted | |
185d jmp,s B221 | |
185d | |
185f B215: # B224 <- B197 Freq: 2.64768e-13 | |
185f # exception oop is in rax; no code emitted | |
185f jmp,s B224 | |
185f | |
1861 B216: # B232 <- B169 Freq: 1.99995e-11 | |
1861 # exception oop is in rax; no code emitted | |
1861 jmp,s B232 | |
1861 | |
1863 B217: # B233 <- B163 Freq: 1.99996e-11 | |
1863 # exception oop is in rax; no code emitted | |
1863 movq RSI, RAX # spill | |
1866 jmp,s B233 | |
1866 | |
1868 B218: # B233 <- B157 Freq: 1.99998e-11 | |
1868 # exception oop is in rax; no code emitted | |
1868 movq RSI, RAX # spill | |
186b jmp,s B233 | |
186b | |
186d B219: # B221 <- B165 Freq: 1.99996e-11 | |
186d # exception oop is in rax; no code emitted | |
186d jmp,s B221 | |
186d | |
186f B220: # B221 <- B150 Freq: 1.32864e-11 | |
186f # exception oop is in rax; no code emitted | |
186f | |
186f B221: # B233 <- B220 B214 B219 Freq: 3.35489e-11 | |
186f movq RSI, RAX # spill | |
1872 jmp,s B233 | |
1872 | |
1874 B222: # B224 <- B159 Freq: 1.99997e-11 | |
1874 # exception oop is in rax; no code emitted | |
1874 jmp,s B224 | |
1874 | |
1876 B223: # B224 <- B148 Freq: 1.32865e-11 | |
1876 # exception oop is in rax; no code emitted | |
1876 | |
1876 B224: # B233 <- B223 B215 B222 Freq: 3.3551e-11 | |
1876 movq RSI, RAX # spill | |
1879 jmp,s B233 | |
1879 | |
187b B225: # B233 <- B138 Freq: 1.00015e-09 | |
187b # exception oop is in rax; no code emitted | |
187b movq RSI, RAX # spill | |
187e jmp,s B233 | |
187e | |
1880 B226: # B233 <- B133 Freq: 1.00016e-09 | |
1880 # exception oop is in rax; no code emitted | |
1880 movq RSI, RAX # spill | |
1883 jmp,s B233 | |
1883 | |
1885 B227: # B233 <- B131 Freq: 1.00016e-09 | |
1885 # exception oop is in rax; no code emitted | |
1885 movq RSI, RAX # spill | |
1888 jmp,s B233 | |
1888 | |
188a B228: # B233 <- B140 Freq: 1.01028e-09 | |
188a # exception oop is in rax; no code emitted | |
188a movq RSI, RAX # spill | |
188d jmp,s B233 | |
188d | |
188f B229: # B233 <- B136 Freq: 1.01029e-09 | |
188f # exception oop is in rax; no code emitted | |
188f movq RSI, RAX # spill | |
1892 jmp,s B233 | |
1892 | |
1894 B230: # B232 <- B144 Freq: 1.01027e-09 | |
1894 # exception oop is in rax; no code emitted | |
1894 jmp,s B232 | |
1894 | |
1896 B231: # B232 <- B142 Freq: 1.00014e-09 | |
1896 # exception oop is in rax; no code emitted | |
1896 | |
1896 B232: # B233 <- B231 B230 B216 Freq: 2.03042e-09 | |
1896 movq RSI, RAX # spill | |
1896 | |
1899 B233: # N3243 <- B232 B227 B226 B229 B218 B224 B225 B228 B217 B221 Freq: 7.15855e-09 | |
1899 addq rsp, 128 # Destroy frame | |
popq rbp | |
18a1 jmp rethrow_stub | |
18a1 | |
total length: 2000000 |
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
import java.util.function.Function; | |
import java.util.function.ToIntFunction; | |
public class LambdaJitTrace | |
{ | |
public static void main(String[] args) | |
{ | |
Function<String, String> trim = (x) -> x.trim(); | |
Function<String, String> trimDup = (x) -> trim.apply(x) + trim.apply(x); | |
ToIntFunction<String> trimDupSize = (x) -> trimDup.apply(x).length(); | |
int totalLength = 0; | |
for (int i = 0; i < 1000000; i++) { | |
totalLength += trimDupSize.applyAsInt(" a "); | |
} | |
System.out.println("total length: " + totalLength); | |
} | |
} | |
// javac LambdaJitTrace.java | |
// java -cp . -XX:+PrintOptoAssembly LambdaJitTrace > jitasm.txt | |
// javap -cp . -c -p LambdaJitTrace > bytecode.txt |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment