Skip to content

Instantly share code, notes, and snippets.

@frsyuki
Created July 19, 2017 00:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save frsyuki/8ef2f49eedbcbf6427fcd100c532b8bb to your computer and use it in GitHub Desktop.
Save frsyuki/8ef2f49eedbcbf6427fcd100c532b8bb to your computer and use it in GitHub Desktop.
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
}
{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
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