Skip to content

Instantly share code, notes, and snippets.

@stsypanov
Last active August 13, 2020 14:46
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 stsypanov/2e4bd73c39d7465cbdd75ba26d4bc217 to your computer and use it in GitHub Desktop.
Save stsypanov/2e4bd73c39d7465cbdd75ba26d4bc217 to your computer and use it in GitHub Desktop.
Assembly for ConcurrentReferenceHashMap instantiation on Java 14
....[Hottest Region 1]..............................................................................
c2, level 4, org.springframework.util.ConcurrentReferenceHashMap::<init>, version 1086 (1978 bytes)
# parm3: r8:r8 = 'org/springframework/util/ConcurrentReferenceHashMap$ReferenceType'
# [sp+0xb0] (sp of caller)
0x00007f3717d45b60: mov 0x8(%rsi),%r10d ; {no_reloc}
0x00007f3717d45b64: movabs $0x800000000,%r12
0x00007f3717d45b6e: add %r12,%r10
0x00007f3717d45b71: xor %r12,%r12
0x00007f3717d45b74: cmp %r10,%rax
0x00007f3717d45b77: jne 0x00007f371022cd00 ; {runtime_call ic_miss_stub}
0x00007f3717d45b7d: data16 xchg %ax,%ax
[Verified Entry Point]
0.06% 0x00007f3717d45b80: mov %eax,-0x14000(%rsp)
0.01% 0x00007f3717d45b87: push %rbp
0.05% 0x00007f3717d45b88: sub $0xa0,%rsp ;*synchronization entry
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@-1 (line 171)
0.00% 0x00007f3717d45b8f: mov %r8,0x18(%rsp)
0.01% 0x00007f3717d45b94: mov %ecx,0x10(%rsp)
0.05% 0x00007f3717d45b98: vmovss %xmm0,0x8(%rsp)
0.01% 0x00007f3717d45b9e: mov %rsi,(%rsp)
0.00% 0x00007f3717d45ba2: mov %edx,0xc(%rsp)
0.01% 0x00007f3717d45ba6: test %edx,%edx
0x00007f3717d45ba8: jl 0x00007f3717d46e68 ;*iflt {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@5 (line 173)
0.05% 0x00007f3717d45bae: movabs $0x714c00028,%rdx ; {oop("Initial capacity must not be negative"{0x0000000714c00028})}
0.00% 0x00007f3717d45bb8: mov $0x1,%esi
0x00007f3717d45bbd: xchg %ax,%ax
0.01% 0x00007f3717d45bbf: callq 0x00007f3710900ba0 ; ImmutableOopMap {[0]=Oop [24]=Oop }
;*invokestatic isTrue {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@15 (line 173)
; {static_call}
0.13% 0x00007f3717d45bc4: vmovss 0x8(%rsp),%xmm0
0.00% 0x00007f3717d45bca: vucomiss -0x92(%rip),%xmm0 # 0x00007f3717d45b40
; {section_word}
0.06% 0x00007f3717d45bd2: jbe 0x00007f3717d46e94 ;*ifle {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@21 (line 174)
0.00% 0x00007f3717d45bd8: vmovss %xmm0,0x14(%rsp)
0x00007f3717d45bde: movabs $0x714c00040,%rdx ; {oop("Load factor must be positive"{0x0000000714c00040})}
0.00% 0x00007f3717d45be8: mov $0x1,%esi
0.05% 0x00007f3717d45bed: xchg %ax,%ax
0.00% 0x00007f3717d45bef: callq 0x00007f3710900ba0 ; ImmutableOopMap {[0]=Oop [24]=Oop }
;*invokestatic isTrue {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@31 (line 174)
; {static_call}
0.05% 0x00007f3717d45bf4: mov 0x10(%rsp),%ebp
0.05% 0x00007f3717d45bf8: test %ebp,%ebp
0x00007f3717d45bfa: jle 0x00007f3717d46eec ;*ifle {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@35 (line 175)
0.00% 0x00007f3717d45c00: movabs $0x714c00058,%rdx ; {oop("Concurrency level must be positive"{0x0000000714c00058})}
0.01% 0x00007f3717d45c0a: mov $0x1,%esi
0.00% 0x00007f3717d45c0f: callq 0x00007f3710900ba0 ; ImmutableOopMap {[0]=Oop [24]=Oop }
;*invokestatic isTrue {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@45 (line 175)
; {static_call}
0.07% 0x00007f3717d45c14: movabs $0x714c00070,%rdx ; {oop("Reference type must not be null"{0x0000000714c00070})}
0.00% 0x00007f3717d45c1e: mov 0x18(%rsp),%rsi
0.00% 0x00007f3717d45c23: callq 0x00007f3717d470ad ; ImmutableOopMap {[0]=Oop [24]=Oop }
;*invokestatic notNull {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@52 (line 176)
; {static_call}
0.09% 0x00007f3717d45c28: vmovss 0x8(%rsp),%xmm1
0.00% 0x00007f3717d45c2e: mov (%rsp),%r10
0.00% 0x00007f3717d45c32: vmovss %xmm1,0x14(%r10) ;*putfield loadFactor {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@57 (line 177)
0.06% 0x00007f3717d45c38: cmp $0x1,%ebp
╭ 0x00007f3717d45c3b: jle 0x00007f3717d45c78 ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.01% │ 0x00007f3717d45c3d: mov $0x1,%r10d
0.00% │ 0x00007f3717d45c43: xor %r13d,%r13d
│ 0x00007f3717d45c46: data16 nopw 0x0(%rax,%rax,1) ;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@9 (line 435)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.05% │↗ 0x00007f3717d45c50: cmp $0x10000,%r10d
0.00% ││ 0x00007f3717d45c57: jge 0x00007f3717d46f62 ;*goto {reexecute=0 rethrow=0 return_oop=0}
││ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
││ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.04% ││ 0x00007f3717d45c5d: mov 0x110(%r15),%r8
0.05% ││ 0x00007f3717d45c64: inc %r13d ;*iinc {reexecute=0 rethrow=0 return_oop=0}
││ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@18 (line 437)
││ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.05% ││ 0x00007f3717d45c67: shl %r10d ;*ishl {reexecute=0 rethrow=0 return_oop=0}
││ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@16 (line 436)
││ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.05% ││ 0x00007f3717d45c6a: mov (%rsp),%r11 ; ImmutableOopMap {r11=Oop [0]=Oop [24]=Oop }
││ ;*goto {reexecute=1 rethrow=0 return_oop=0}
││ ; - (reexecute) org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
││ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.06% ││ 0x00007f3717d45c6e: test %eax,(%r8) ;*goto {reexecute=0 rethrow=0 return_oop=0}
││ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
││ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
││ ; {poll}
0.06% ││ 0x00007f3717d45c71: cmp %ebp,%r10d
│╰ 0x00007f3717d45c74: jl 0x00007f3717d45c50 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@6 (line 435)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.05% │ ╭ 0x00007f3717d45c76: jmp 0x00007f3717d45c7b
↘ │ 0x00007f3717d45c78: xor %r13d,%r13d ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
↘ 0x00007f3717d45c7b: cmpb $0x0,0x30(%r15)
0.00% 0x00007f3717d45c80: jne 0x00007f3717d46b8c ;*putfield referenceType {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@81 (line 180)
0.00% 0x00007f3717d45c86: mov (%rsp),%r10
0.04% 0x00007f3717d45c8a: mov %r13d,0x18(%r10) ;*putfield shift {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@67 (line 178)
0.01% 0x00007f3717d45c8e: mov $0x1,%ebx
0.00% 0x00007f3717d45c93: mov %r13d,%ecx
0x00007f3717d45c96: shl %cl,%ebx ;*ishl {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@75 (line 179)
0.04% 0x00007f3717d45c98: mov 0xc(%rsp),%r11d
0.00% 0x00007f3717d45c9d: add %ebx,%r11d
0.05% 0x00007f3717d45ca0: mov 0x18(%rsp),%r9
0.00% 0x00007f3717d45ca5: mov %r9,%r8
0.00% 0x00007f3717d45ca8: shr $0x3,%r8
0.00% 0x00007f3717d45cac: mov %r8d,0x20(%r10) ;*putfield referenceType {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@81 (line 180)
0.04% 0x00007f3717d45cb0: movslq %r11d,%rbp
0.00% 0x00007f3717d45cb3: movslq %ebx,%r13 ;*i2l {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@93 (line 181)
0.00% 0x00007f3717d45cb6: dec %rbp
0x00007f3717d45cb9: mov %r9,%r11
0.05% 0x00007f3717d45cbc: xor %r10,%r11
0.00% 0x00007f3717d45cbf: shr $0x14,%r11
0.00% 0x00007f3717d45cc3: test %r11,%r11
╭ 0x00007f3717d45cc6: je 0x00007f3717d45ce7
0.00% │ 0x00007f3717d45cc8: test %r9,%r9
│╭ 0x00007f3717d45ccb: je 0x00007f3717d45ce7
0.04% ││ 0x00007f3717d45ccd: shr $0x9,%r10
0.00% ││ 0x00007f3717d45cd1: movabs $0x7f370a872000,%rdi
0.00% ││ 0x00007f3717d45cdb: add %r10,%rdi
││ 0x00007f3717d45cde: cmpb $0x8,(%rdi)
0.10% ││ 0x00007f3717d45ce1: jne 0x00007f3717d46c5c ;*putfield referenceType {reexecute=0 rethrow=0 return_oop=0}
││ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@81 (line 180)
0.00% ↘↘ 0x00007f3717d45ce7: test %r13,%r13
0x00007f3717d45cea: je 0x00007f3717d46e40 ;*ldiv {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@94 (line 181)
0.00% 0x00007f3717d45cf0: cmp $0x40000,%ebx
0x00007f3717d45cf6: ja 0x00007f3717d46e60
0.00% 0x00007f3717d45cfc: movslq %ebx,%rcx ;*invokestatic newArray {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.reflect.Array::newInstance@2 (line 78)
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@103 (line 182)
0.05% 0x00007f3717d45cff: mov %rbp,%rax
0.00% 0x00007f3717d45d02: movabs $0x8000000000000000,%rdx
0.00% 0x00007f3717d45d0c: cmp %rdx,%rax
╭ 0x00007f3717d45d0f: jne 0x00007f3717d45d19
│ 0x00007f3717d45d11: xor %edx,%edx
│ 0x00007f3717d45d13: cmp $0xffffffffffffffff,%r13
│╭ 0x00007f3717d45d17: je 0x00007f3717d45d1e
0.00% ↘│ 0x00007f3717d45d19: cqto
0.04% │ 0x00007f3717d45d1b: idiv %r13
0.94% ↘ 0x00007f3717d45d1e: mov %eax,%ebp ;*l2i {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@95 (line 181)
0.06% 0x00007f3717d45d20: cmp $0x40000,%ebx
0x00007f3717d45d26: ja 0x00007f3717d46ca2 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.00% 0x00007f3717d45d2c: mov 0x120(%r15),%r13
0.01% 0x00007f3717d45d33: shl $0x2,%rcx
0.00% 0x00007f3717d45d37: add $0x17,%rcx ;*invokestatic newArray {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.reflect.Array::newInstance@2 (line 78)
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@103 (line 182)
0.04% 0x00007f3717d45d3b: mov %rcx,%r10
0.00% 0x00007f3717d45d3e: and $0xfffffffffffffff8,%r10
0.01% 0x00007f3717d45d42: mov %r13,%r11
0.00% 0x00007f3717d45d45: add %r10,%r11
0.04% 0x00007f3717d45d48: cmp 0x130(%r15),%r11
0x00007f3717d45d4f: jae 0x00007f3717d46ca2
0.00% 0x00007f3717d45d55: mov %r11,0x120(%r15)
0.01% 0x00007f3717d45d5c: prefetchw 0xc0(%r11)
0.00% 0x00007f3717d45d64: movq $0x1,0x0(%r13)
0.04% 0x00007f3717d45d6c: prefetchw 0x100(%r11)
0.00% 0x00007f3717d45d74: movl $0x11ced8,0x8(%r13) ; {metadata('org/springframework/util/ConcurrentReferenceHashMap$Segment'[])}
0.01% 0x00007f3717d45d7c: mov %ebx,0xc(%r13)
0.00% 0x00007f3717d45d80: prefetchw 0x140(%r11)
0.10% 0x00007f3717d45d88: mov %r13,%rdi
0.00% 0x00007f3717d45d8b: add $0x10,%rdi
0.01% 0x00007f3717d45d8f: prefetchw 0x180(%r11)
0.02% 0x00007f3717d45d97: shr $0x3,%rcx
0.04% 0x00007f3717d45d9b: add $0xfffffffffffffffe,%rcx
0.00% 0x00007f3717d45d9f: xor %rax,%rax
0.01% 0x00007f3717d45da2: cmp $0x8,%rcx
╭ 0x00007f3717d45da6: jg 0x00007f3717d45db8
0.00% │ 0x00007f3717d45da8: dec %rcx
0.04% │╭ 0x00007f3717d45dab: js 0x00007f3717d45dbf
0.25% ││↗ 0x00007f3717d45dad: mov %rax,(%rdi,%rcx,8)
0.09% │││ 0x00007f3717d45db1: dec %rcx
││╰ 0x00007f3717d45db4: jge 0x00007f3717d45dad
││ ╭ 0x00007f3717d45db6: jmp 0x00007f3717d45dbf
↘│ │ 0x00007f3717d45db8: shl $0x3,%rcx
│ │ 0x00007f3717d45dbc: rep rex.W stos %al,%es:(%rdi) ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.06% ↘ ↘ 0x00007f3717d45dbf: cmpb $0x0,0x30(%r15)
0.00% 0x00007f3717d45dc4: jne 0x00007f3717d46bc7
0.00% 0x00007f3717d45dca: mov (%rsp),%r10
0.00% 0x00007f3717d45dce: mov %r13,%r8
0.05% 0x00007f3717d45dd1: shr $0x3,%r8
0.00% 0x00007f3717d45dd5: mov (%rsp),%r11
0.00% 0x00007f3717d45dd9: mov %r8d,0x1c(%r11)
0.02% 0x00007f3717d45ddd: mov %r13,%r11
0.04% 0x00007f3717d45de0: xor %r10,%r11
0x00007f3717d45de3: shr $0x14,%r11
0.00% 0x00007f3717d45de7: test %r11,%r11
╭ 0x00007f3717d45dea: je 0x00007f3717d45e06
│ 0x00007f3717d45dec: shr $0x9,%r10
│ 0x00007f3717d45df0: movabs $0x7f370a872000,%rdi
│ 0x00007f3717d45dfa: add %r10,%rdi
│ 0x00007f3717d45dfd: cmpb $0x8,(%rdi)
0.00% │ 0x00007f3717d45e00: jne 0x00007f3717d46c02 ;*putfield segments {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@112 (line 182)
0.01% ↘ 0x00007f3717d45e06: mov 0xc(%r13),%r11d
0.06% 0x00007f3717d45e0a: test %r11d,%r11d
0x00007f3717d45e0d: jbe 0x00007f3717d46370 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@125 (line 183)
0.00% 0x00007f3717d45e13: mov %r13,%r11
0.00% 0x00007f3717d45e16: shr $0x3,%r11
0.00% 0x00007f3717d45e1a: mov %r11d,0x58(%rsp)
0.05% 0x00007f3717d45e1f: mov (%rsp),%r10
0.00% 0x00007f3717d45e23: mov %r10,%rsi
0.00% 0x00007f3717d45e26: shr $0x3,%rsi ;*putfield this$0 {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@2 (line 484)
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.00% 0x00007f3717d45e2a: mov $0x1fbe0,%r11d ; {metadata('java/lang/ref/ReferenceQueue$Lock')}
0.04% 0x00007f3717d45e30: movabs $0x800000000,%r10
0.00% 0x00007f3717d45e3a: add %r11,%r10
0.00% 0x00007f3717d45e3d: mov %r10,0x60(%rsp)
0.00% 0x00007f3717d45e42: mov $0x1f738,%r11d ; {metadata('java/lang/ref/ReferenceQueue')}
0.04% 0x00007f3717d45e48: movabs $0x800000000,%r10
0.00% 0x00007f3717d45e52: add %r11,%r10
0.00% 0x00007f3717d45e55: mov %r10,0x68(%rsp)
0.00% 0x00007f3717d45e5a: mov $0xa8f20,%r11d ; {metadata('java/util/concurrent/locks/ReentrantLock$NonfairSync')}
0.04% 0x00007f3717d45e60: movabs $0x800000000,%r10
0.00% 0x00007f3717d45e6a: add %r11,%r10
0.00% 0x00007f3717d45e6d: mov %r10,0x18(%rsp)
0.01% 0x00007f3717d45e72: mov $0x11cc00,%r11d ; {metadata('org/springframework/util/ConcurrentReferenceHashMap$Segment')}
0.05% 0x00007f3717d45e78: movabs $0x800000000,%r12
0.00% 0x00007f3717d45e82: add %r12,%r11
0x00007f3717d45e85: xor %r12,%r12
0.00% 0x00007f3717d45e88: mov $0x11d538,%r8d ; {metadata('org/springframework/util/ConcurrentReferenceHashMap$ReferenceManager')}
0.04% 0x00007f3717d45e8e: movabs $0x800000000,%r9
0.00% 0x00007f3717d45e98: add %r8,%r9
0.00% 0x00007f3717d45e9b: xor %r10d,%r10d
0.01% ╭ 0x00007f3717d45e9e: jmpq 0x00007f3717d46093
0.84% │ ↗ 0x00007f3717d45ea3: mov $0x1,%edx ;*ishl {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@30 (line 486)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.00% │ │ 0x00007f3717d45ea8: cmp $0x40000,%edx
│ │ 0x00007f3717d45eae: ja 0x00007f3717d46cbc
0.01% │ │ 0x00007f3717d45eb4: movslq %edx,%rcx ;*anewarray {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::createReferenceArray@1 (line 656)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@40 (line 487)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.00% │ │ 0x00007f3717d45eb7: mov %edx,0x10(%r8) ;*putfield initialSize {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@31 (line 486)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.92% │ │ 0x00007f3717d45ebb: cmp $0x40000,%edx
│ │ 0x00007f3717d45ec1: ja 0x00007f3717d46b57
0.01% │ │ 0x00007f3717d45ec7: mov %r8,0x30(%rsp)
0.10% │ │ 0x00007f3717d45ecc: mov %r10d,0x28(%rsp)
0.03% │ │ 0x00007f3717d45ed1: mov %r9,0x20(%rsp)
0.81% │ │ 0x00007f3717d45ed6: mov %r11,0x10(%rsp)
0.04% │ │ 0x00007f3717d45edb: mov %esi,0xc(%rsp)
0.04% │ │ 0x00007f3717d45edf: mov %ebp,0x8(%rsp) ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.03% │ │ 0x00007f3717d45ee3: mov 0x120(%r15),%r9
0.83% │ │ 0x00007f3717d45eea: shl $0x2,%rcx
0.01% │ │ 0x00007f3717d45eee: add $0x17,%rcx ;*anewarray {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::createReferenceArray@1 (line 656)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@40 (line 487)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.01% │ │ 0x00007f3717d45ef2: mov %rcx,%r11
0.01% │ │ 0x00007f3717d45ef5: and $0xfffffffffffffff8,%r11
0.81% │ │ 0x00007f3717d45ef9: mov %r9,%r10
0.01% │ │ 0x00007f3717d45efc: add %r11,%r10
0.02% │ │ 0x00007f3717d45eff: cmp 0x130(%r15),%r10
0.00% │ │ 0x00007f3717d45f06: jae 0x00007f3717d46b73
0.13% │ │ 0x00007f3717d45f0c: mov %r10,0x120(%r15)
0.90% │ │ 0x00007f3717d45f13: prefetchw 0xc0(%r10)
0.04% │ │ 0x00007f3717d45f1b: movq $0x1,(%r9)
0.16% │ │ 0x00007f3717d45f22: prefetchw 0x100(%r10)
0.66% │ │ 0x00007f3717d45f2a: movl $0x11d978,0x8(%r9) ; {metadata('org/springframework/util/ConcurrentReferenceHashMap$Reference'[])}
0.87% │ │ 0x00007f3717d45f32: mov %edx,0xc(%r9)
0.14% │ │ 0x00007f3717d45f36: prefetchw 0x140(%r10)
0.57% │ │ 0x00007f3717d45f3e: mov %r9,%rdi
0.00% │ │ 0x00007f3717d45f41: add $0x10,%rdi
0.77% │ │ 0x00007f3717d45f45: prefetchw 0x180(%r10)
0.79% │ │ 0x00007f3717d45f4d: shr $0x3,%rcx
0.02% │ │ 0x00007f3717d45f51: add $0xfffffffffffffffe,%rcx
0.00% │ │ 0x00007f3717d45f55: xor %rax,%rax
0.76% │ │ 0x00007f3717d45f58: cmp $0x8,%rcx
│╭ │ 0x00007f3717d45f5c: jg 0x00007f3717d45f6e
0.06% ││ │ 0x00007f3717d45f5e: dec %rcx
0.02% ││╭ │ 0x00007f3717d45f61: js 0x00007f3717d45f75
0.01% │││↗ │ 0x00007f3717d45f63: mov %rax,(%rdi,%rcx,8)
0.84% ││││ │ 0x00007f3717d45f67: dec %rcx
0.00% │││╰ │ 0x00007f3717d45f6a: jge 0x00007f3717d45f63
0.04% │││ ╭ │ 0x00007f3717d45f6c: jmp 0x00007f3717d45f75
│↘│ │ │ 0x00007f3717d45f6e: shl $0x3,%rcx
│ │ │ │ 0x00007f3717d45f72: rep rex.W stos %al,%es:(%rdi) ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ │ │ │ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ │ │ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.01% │ ↘ ↘ │ 0x00007f3717d45f75: cmpb $0x0,0x30(%r15)
0.11% │ │ 0x00007f3717d45f7a: jne 0x00007f3717d46497
0.82% │ │ 0x00007f3717d45f80: mov 0x30(%rsp),%r8
0.06% │ │ 0x00007f3717d45f85: mov %r8,%r11
0.01% │ │ 0x00007f3717d45f88: mov %r9,%r10
0.00% │ │ 0x00007f3717d45f8b: shr $0x3,%r10
0.79% │ │ 0x00007f3717d45f8f: mov %r10d,0x20(%r8)
0.23% │ │ 0x00007f3717d45f93: mov %r9,%r10
0.01% │ │ 0x00007f3717d45f96: xor %r11,%r10
0.00% │ │ 0x00007f3717d45f99: shr $0x14,%r10
0.74% │ │ 0x00007f3717d45f9d: test %r10,%r10
0.00% │ ╭ │ 0x00007f3717d45fa0: je 0x00007f3717d45fbc
│ │ │ 0x00007f3717d45fa2: shr $0x9,%r11
│ │ │ 0x00007f3717d45fa6: movabs $0x7f370a872000,%rdi
│ │ │ 0x00007f3717d45fb0: add %r11,%rdi
│ │ │ 0x00007f3717d45fb3: cmpb $0x8,(%rdi)
│ │ │ 0x00007f3717d45fb6: jne 0x00007f3717d46732
0.08% │ ↘ │ 0x00007f3717d45fbc: lock addl $0x0,-0x40(%rsp) ;*putfield references {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@43 (line 487)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
21.08% │ │ 0x00007f3717d45fc2: mov 0x20(%r8),%r11d ;*getfield references {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@48 (line 488)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.12% │ │ 0x00007f3717d45fc6: mov 0xc(%r12,%r11,8),%r10d ; implicit exception: dispatches to 0x00007f3717d46fc8
│ │ ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@51 (line 488)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.01% │ │ 0x00007f3717d45fcb: vcvtsi2ss %r10d,%xmm0,%xmm0
0.86% │ │ 0x00007f3717d45fd0: mov (%rsp),%r10
0.01% │ │ 0x00007f3717d45fd4: vmulss 0x14(%r10),%xmm0,%xmm1
0.09% │ │ 0x00007f3717d45fda: vcvttss2si %xmm1,%r11d
1.06% │ │ 0x00007f3717d45fde: cmp $0x80000000,%r11d
0.00% │ ╭ │ 0x00007f3717d45fe5: jne 0x00007f3717d45ff7
│ │ │ 0x00007f3717d45fe7: sub $0x8,%rsp
│ │ │ 0x00007f3717d45feb: vmovss %xmm1,(%rsp)
│ │ │ 0x00007f3717d45ff0: callq Stub::f2i_fixup ; {runtime_call StubRoutines (2)}
│ │ │ 0x00007f3717d45ff5: pop %r11
0.06% │ ↘ │ 0x00007f3717d45ff7: mov %r11d,0x18(%r8) ;*synchronization entry
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@-1 (line 171)
0.06% │ │ 0x00007f3717d45ffb: mov 0x58(%rsp),%r11d
0.78% │ │ 0x00007f3717d46000: mov 0xc(%r12,%r11,8),%ecx ; implicit exception: dispatches to 0x00007f3717d46fe8
0.01% │ │ 0x00007f3717d46005: mov 0x28(%rsp),%r10d
0.00% │ │ 0x00007f3717d4600a: cmp %ecx,%r10d
│ │ 0x00007f3717d4600d: jae 0x00007f3717d46cc4
0.06% │ │ 0x00007f3717d46013: shl $0x3,%r11 ;*getfield segments {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@129 (line 184)
0.82% │ │ 0x00007f3717d46017: lea 0x10(%r11,%r10,4),%rbx ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.01% │ │ 0x00007f3717d4601c: cmpb $0x0,0x30(%r15)
0.01% │ │ 0x00007f3717d46021: jne 0x00007f3717d464d3 ;*aastore {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@144 (line 184)
0.06% │ │ 0x00007f3717d46027: mov %r8,%r11
0.79% │ │ 0x00007f3717d4602a: inc %r10d ;*iinc {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@145 (line 183)
0.00% │ │ 0x00007f3717d4602d: shr $0x3,%r8
0.00% │ │ 0x00007f3717d46031: mov %r8d,(%rbx)
0.06% │ │ 0x00007f3717d46034: mov %rbx,%r8
0.77% │ │ 0x00007f3717d46037: xor %r8,%r11
0.00% │ │ 0x00007f3717d4603a: shr $0x14,%r11
0.00% │ │ 0x00007f3717d4603e: test %r11,%r11
│ ╭ │ 0x00007f3717d46041: je 0x00007f3717d4605d
│ │ │ 0x00007f3717d46043: shr $0x9,%r8
0.00% │ │ │ 0x00007f3717d46047: movabs $0x7f370a872000,%rdi
│ │ │ 0x00007f3717d46051: add %r8,%rdi
│ │ │ 0x00007f3717d46054: cmpb $0x8,(%rdi)
0.00% │ │ │ 0x00007f3717d46057: jne 0x00007f3717d4677e ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ │ │ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ │ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.06% │ ↘ │ 0x00007f3717d4605d: mov 0x110(%r15),%r11 ; ImmutableOopMap {[0]=Oop [12]=NarrowOop }
│ │ ;*goto {reexecute=1 rethrow=0 return_oop=0}
│ │ ; - (reexecute) org.springframework.util.ConcurrentReferenceHashMap::<init>@148 (line 183)
0.77% │ │ 0x00007f3717d46064: test %eax,(%r11) ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@148 (line 183)
│ │ ; {poll}
0.05% │ │ 0x00007f3717d46067: mov (%rsp),%r11
0.00% │ │ 0x00007f3717d4606b: mov 0x1c(%r11),%ebp ;*getfield segments {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@121 (line 183)
0.05% │ │ 0x00007f3717d4606f: mov %ebp,0x58(%rsp)
0.81% │ │ 0x00007f3717d46073: mov 0xc(%r12,%rbp,8),%r8d ; implicit exception: dispatches to 0x00007f3717d4700c
0.08% │ │ 0x00007f3717d46078: cmp %r8d,%r10d
0.00% │ │ 0x00007f3717d4607b: jge 0x00007f3717d46370 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@125 (line 183)
0.03% │ │ 0x00007f3717d46081: mov 0x8(%rsp),%ebp
0.03% │ │ 0x00007f3717d46085: mov 0xc(%rsp),%esi
0.73% │ │ 0x00007f3717d46089: mov 0x10(%rsp),%r11
0.01% │ │ 0x00007f3717d4608e: mov 0x20(%rsp),%r9
0.08% ↘ │ 0x00007f3717d46093: mov 0x120(%r15),%r8
0.04% │ 0x00007f3717d4609a: mov %r8,%rcx
0.75% │ 0x00007f3717d4609d: add $0x28,%rcx
0.01% │ 0x00007f3717d460a1: cmp 0x130(%r15),%rcx
│ 0x00007f3717d460a8: jae 0x00007f3717d467ca ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.09% │ 0x00007f3717d460ae: mov %rcx,0x120(%r15)
0.04% │ 0x00007f3717d460b5: prefetchw 0xc0(%rcx)
0.73% │ 0x00007f3717d460bc: mov 0xb8(%r11),%rcx
0.02% │ 0x00007f3717d460c3: mov %rcx,(%r8)
0.10% │ 0x00007f3717d460c6: movl $0x11cc00,0x8(%r8) ; {metadata('org/springframework/util/ConcurrentReferenceHashMap$Segment')}
0.05% │ 0x00007f3717d460ce: movl $0x0,0xc(%r8)
0.73% │ 0x00007f3717d460d6: movq $0x0,0x10(%r8)
0.04% │ 0x00007f3717d460de: movq $0x0,0x18(%r8)
0.10% │ 0x00007f3717d460e6: movl $0x0,0x20(%r8) ;*new {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@134 (line 184)
0.06% │ 0x00007f3717d460ee: mov %esi,0x24(%r8)
0.74% │ 0x00007f3717d460f2: mov 0x120(%r15),%rax
0.02% │ 0x00007f3717d460f9: mov %rax,%rcx
0.06% │ 0x00007f3717d460fc: add $0x20,%rcx
0.04% │ 0x00007f3717d46100: cmp 0x130(%r15),%rcx
0.00% │ 0x00007f3717d46107: jae 0x00007f3717d4682d ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.78% │ 0x00007f3717d4610d: mov %rcx,0x120(%r15)
0.04% │ 0x00007f3717d46114: prefetchw 0xc0(%rcx)
0.12% │ 0x00007f3717d4611b: mov 0x18(%rsp),%rcx
0.03% │ 0x00007f3717d46120: mov 0xb8(%rcx),%rcx
0.80% │ 0x00007f3717d46127: mov %rcx,(%rax)
0.13% │ 0x00007f3717d4612a: movl $0xa8f20,0x8(%rax) ; {metadata('java/util/concurrent/locks/ReentrantLock$NonfairSync')}
0.09% │ 0x00007f3717d46131: movl $0x0,0xc(%rax)
0.07% │ 0x00007f3717d46138: movq $0x0,0x10(%rax)
0.77% │ 0x00007f3717d46140: movq $0x0,0x18(%rax) ;*new {reexecute=0 rethrow=0 return_oop=0}
│ ; - java.util.concurrent.locks.ReentrantLock::<init>@5 (line 294)
│ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@6 (line 484)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.06% │ 0x00007f3717d46148: mov %r8,%rcx
0.05% │ 0x00007f3717d4614b: mov %rax,%rbx
0.03% │ 0x00007f3717d4614e: shr $0x3,%rbx
0.74% │ 0x00007f3717d46152: mov %ebx,0xc(%r8)
0.06% │ 0x00007f3717d46156: mov %rax,%rbx
0.05% │ 0x00007f3717d46159: xor %rcx,%rbx
0.02% │ 0x00007f3717d4615c: shr $0x14,%rbx
0.72% │ 0x00007f3717d46160: test %rbx,%rbx
╭ │ 0x00007f3717d46163: je 0x00007f3717d4617f
│ │ 0x00007f3717d46165: shr $0x9,%rcx
│ │ 0x00007f3717d46169: movabs $0x7f370a872000,%rdi
│ │ 0x00007f3717d46173: add %rcx,%rdi
│ │ 0x00007f3717d46176: cmpb $0x8,(%rdi)
0.00% │ │ 0x00007f3717d46179: jne 0x00007f3717d46509
0.04% ↘ │ 0x00007f3717d4617f: movl $0x0,0x14(%r8)
0.08% │ 0x00007f3717d46187: lock addl $0x0,-0x40(%rsp)
23.74% │ 0x00007f3717d4618d: mov 0x120(%r15),%rbx
0.12% │ 0x00007f3717d46194: mov %rbx,%rcx
0.00% │ 0x00007f3717d46197: add $0x18,%rcx
0.82% │ 0x00007f3717d4619b: cmp 0x130(%r15),%rcx
│ 0x00007f3717d461a2: jae 0x00007f3717d468df ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.01% │ 0x00007f3717d461a8: mov %rcx,0x120(%r15)
0.00% │ 0x00007f3717d461af: prefetchw 0xc0(%rcx)
0.01% │ 0x00007f3717d461b6: mov 0xb8(%r9),%rcx
0.83% │ 0x00007f3717d461bd: mov %rcx,(%rbx)
0.01% │ 0x00007f3717d461c0: movl $0x11d538,0x8(%rbx) ; {metadata('org/springframework/util/ConcurrentReferenceHashMap$ReferenceManager')}
0.00% │ 0x00007f3717d461c7: movl $0x0,0xc(%rbx)
0.01% │ 0x00007f3717d461ce: movl $0x0,0x14(%rbx) ;*new {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::createReferenceManager@0 (line 207)
│ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@16 (line 485)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.85% │ 0x00007f3717d461d5: mov %esi,0x10(%rbx)
0.01% │ 0x00007f3717d461d8: mov 0x120(%r15),%rdx
0.01% │ 0x00007f3717d461df: mov %rdx,%rcx
0.00% │ 0x00007f3717d461e2: add $0x20,%rcx
0.87% │ 0x00007f3717d461e6: cmp 0x130(%r15),%rcx
│ 0x00007f3717d461ed: jae 0x00007f3717d469a8
0.01% │ 0x00007f3717d461f3: mov %rcx,0x120(%r15)
0.00% │ 0x00007f3717d461fa: prefetchw 0xc0(%rcx)
0.01% │ 0x00007f3717d46201: mov 0x68(%rsp),%rcx
0.83% │ 0x00007f3717d46206: mov 0xb8(%rcx),%rcx
0.01% │ 0x00007f3717d4620d: mov %rcx,(%rdx)
0.02% │ 0x00007f3717d46210: movl $0x1f738,0x8(%rdx) ; {metadata('java/lang/ref/ReferenceQueue')}
0.01% │ 0x00007f3717d46217: movl $0x0,0xc(%rdx)
0.80% │ 0x00007f3717d4621e: movq $0x0,0x10(%rdx)
0.01% │ 0x00007f3717d46226: movq $0x0,0x18(%rdx)
0.01% │ 0x00007f3717d4622e: mov 0x120(%r15),%rax
0.02% │ 0x00007f3717d46235: mov %rax,%rcx
0.80% │ 0x00007f3717d46238: add $0x10,%rcx
0.01% │ 0x00007f3717d4623c: cmp 0x130(%r15),%rcx
│ 0x00007f3717d46243: jae 0x00007f3717d46a7d ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.03% │ 0x00007f3717d46249: mov %rcx,0x120(%r15)
0.01% │ 0x00007f3717d46250: prefetchw 0xc0(%rcx)
0.83% │ 0x00007f3717d46257: mov 0x60(%rsp),%rcx
0.02% │ 0x00007f3717d4625c: mov 0xb8(%rcx),%rcx
0.03% │ 0x00007f3717d46263: mov %rcx,(%rax)
0.07% │ 0x00007f3717d46266: movl $0x1fbe0,0x8(%rax) ; {metadata('java/lang/ref/ReferenceQueue$Lock')}
0.84% │ 0x00007f3717d4626d: movl $0x0,0xc(%rax) ;*new {reexecute=0 rethrow=0 return_oop=0}
│ ; - java.lang.ref.ReferenceQueue::<init>@5 (line 56)
│ ; - org.springframework.util.ConcurrentReferenceHashMap$ReferenceManager::<init>@14 (line 984)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::createReferenceManager@5 (line 207)
│ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@16 (line 485)
│ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.02% │ 0x00007f3717d46274: mov %rbx,%r13
0.00% │ 0x00007f3717d46277: shr $0x3,%r13
0.01% │ 0x00007f3717d4627b: mov %rax,%r14
0.83% │ 0x00007f3717d4627e: shr $0x3,%r14
0.03% │ 0x00007f3717d46282: mov %r14d,0xc(%rdx)
0.01% │ 0x00007f3717d46286: mov %rax,%rdi
0.01% │ 0x00007f3717d46289: mov %rdx,%rcx
0.81% │ 0x00007f3717d4628c: xor %rcx,%rdi
0.02% │ 0x00007f3717d4628f: mov %rdx,%r14
0.01% │ 0x00007f3717d46292: shr $0x3,%r14
0.01% │ 0x00007f3717d46296: shr $0x14,%rdi
0.79% │ 0x00007f3717d4629a: test %rdi,%rdi
╭ │ 0x00007f3717d4629d: je 0x00007f3717d462b9
│ │ 0x00007f3717d4629f: shr $0x9,%rcx
│ │ 0x00007f3717d462a3: movabs $0x7f370a872000,%rdi
│ │ 0x00007f3717d462ad: add %rcx,%rdi
│ │ 0x00007f3717d462b0: cmpb $0x8,(%rdi)
│ │ 0x00007f3717d462b3: jne 0x00007f3717d4657d ;*putfield lock {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - java.lang.ref.ReferenceQueue::<init>@12 (line 56)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$ReferenceManager::<init>@14 (line 984)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::createReferenceManager@5 (line 207)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@16 (line 485)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.02% ↘ │ 0x00007f3717d462b9: movq $0x0,0x10(%rdx)
0.02% │ 0x00007f3717d462c1: cmpb $0x0,0x30(%r15)
0.04% │ 0x00007f3717d462c6: jne 0x00007f3717d46383
0.79% │ 0x00007f3717d462cc: mov %r14d,0xc(%rbx)
0.03% │ 0x00007f3717d462d0: mov %rdx,%rdi
0.00% │ 0x00007f3717d462d3: mov %rbx,%rcx
0.01% │ 0x00007f3717d462d6: xor %rcx,%rdi
0.80% │ 0x00007f3717d462d9: shr $0x14,%rdi
0.02% │ 0x00007f3717d462dd: test %rdi,%rdi
╭ │ 0x00007f3717d462e0: je 0x00007f3717d462fc
│ │ 0x00007f3717d462e2: shr $0x9,%rcx
│ │ 0x00007f3717d462e6: movabs $0x7f370a872000,%rdi
│ │ 0x00007f3717d462f0: add %rcx,%rdi
│ │ 0x00007f3717d462f3: cmpb $0x8,(%rdi)
│ │ 0x00007f3717d462f6: jne 0x00007f3717d46614 ;*goto {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
│ │ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@64 (line 178)
0.01% ↘ │ 0x00007f3717d462fc: cmpb $0x0,0x30(%r15)
0.03% │ 0x00007f3717d46301: jne 0x00007f3717d46464
0.81% │ 0x00007f3717d46307: mov %r13d,0x1c(%r8)
0.03% │ 0x00007f3717d4630b: mov %rbx,%rcx
0.00% │ 0x00007f3717d4630e: mov %r8,%rbx
0.01% │ 0x00007f3717d46311: xor %rbx,%rcx
0.81% │ 0x00007f3717d46314: shr $0x14,%rcx
0.02% │ 0x00007f3717d46318: test %rcx,%rcx
╭│ 0x00007f3717d4631b: je 0x00007f3717d46337
││ 0x00007f3717d4631d: shr $0x9,%rbx
││ 0x00007f3717d46321: movabs $0x7f370a872000,%rdi
││ 0x00007f3717d4632b: add %rbx,%rdi
││ 0x00007f3717d4632e: cmpb $0x8,(%rdi)
││ 0x00007f3717d46331: jne 0x00007f3717d466a8 ;*putfield referenceManager {reexecute=0 rethrow=0 return_oop=0}
││ ; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@19 (line 485)
││ ; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0.01% ↘│ 0x00007f3717d46337: cmp $0x1,%ebp
0.00% ╰ 0x00007f3717d4633a: jle 0x00007f3717d45ea3 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@21 (line 437)
; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@27 (line 486)
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0x00007f3717d46340: mov $0x1,%edi
0x00007f3717d46345: xor %ecx,%ecx ;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - org.springframework.util.ConcurrentReferenceHashMap::calculateShift@9 (line 435)
; - org.springframework.util.ConcurrentReferenceHashMap$Segment::<init>@27 (line 486)
; - org.springframework.util.ConcurrentReferenceHashMap::<init>@141 (line 184)
0x00007f3717d46347: cmp $0x40000000,%edi
0x00007f3717d4634d: jge 0x00007f3717d46e0a ;*goto {reexecute=0 rethrow=0 return_oop=0}
....................................................................................................
93.68% <total for region 1>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment