Skip to content

Instantly share code, notes, and snippets.

@franz1981
Created February 21, 2024 13:30
Show Gist options
  • Save franz1981/ab530fd60675da22485b620664d73780 to your computer and use it in GitHub Desktop.
Save franz1981/ab530fd60675da22485b620664d73780 to your computer and use it in GitHub Desktop.
============================= C2-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------
Compiled method (c2) 1259 774 4 red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase (12 bytes)
total in heap [0x00007f06e5229690,0x00007f06e522a3a0] = 3344
relocation [0x00007f06e52297f0,0x00007f06e5229818] = 40
main code [0x00007f06e5229820,0x00007f06e5229be0] = 960
stub code [0x00007f06e5229be0,0x00007f06e5229bf8] = 24
oops [0x00007f06e5229bf8,0x00007f06e5229c00] = 8
metadata [0x00007f06e5229c00,0x00007f06e5229c30] = 48
scopes data [0x00007f06e5229c30,0x00007f06e5229e68] = 568
scopes pcs [0x00007f06e5229e68,0x00007f06e522a368] = 1280
dependencies [0x00007f06e522a368,0x00007f06e522a378] = 16
nul chk table [0x00007f06e522a378,0x00007f06e522a3a0] = 40
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Entry Point]
# {method} {0x00007f06a6c81948} 'optimizedContentEqualsIgnoreCase' '()Z' in 'red/hat/puzzles/checks/LowerCaseComparison'
# [sp+0x40] (sp of caller)
0x00007f06e5229820: mov 0x8(%rsi),%r10d
0x00007f06e5229824: movabs $0x800000000,%r11
0x00007f06e522982e: add %r11,%r10
0x00007f06e5229831: cmp %r10,%rax
0x00007f06e5229834: jne 0x00007f06e4a63b80 ; {runtime_call ic_miss_stub}
0x00007f06e522983a: xchg %ax,%ax
0x00007f06e522983c: nopl 0x0(%rax)
[Verified Entry Point]
0x00007f06e5229840: mov %eax,-0x14000(%rsp)
0x00007f06e5229847: push %rbp
0x00007f06e5229848: sub $0x30,%rsp ;*synchronization entry
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@-1 (line 46)
0x00007f06e522984c: mov 0x14(%rsi),%r8d ;*getfield otherAscii {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@5 (line 46)
0x00007f06e5229850: mov 0x10(%rsi),%ebx ;*getfield asciiStrings {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@1 (line 46)
0x00007f06e5229853: mov 0x10(%r12,%rbx,8),%r10d ; implicit exception: dispatches to 0x00007f06e5229b86
;*getfield length {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::length@1 (line 76)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@16 (line 50)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229858: cmp %r8d,%ebx
0x00007f06e522985b: je 0x00007f06e5229b4c ;*if_acmpne {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@2 (line 46)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229861: mov 0x10(%r12,%r8,8),%ebp ; implicit exception: dispatches to 0x00007f06e5229ba0
;*getfield length {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::length@1 (line 76)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@12 (line 50)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229866: cmp %r10d,%ebp
0x00007f06e5229869: jne 0x00007f06e5229b60 ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@19 (line 50)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e522986f: mov 0xc(%r12,%r8,8),%r9d
0x00007f06e5229874: or 0xc(%r12,%rbx,8),%r9d ;*ior {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@42 (line 56)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229879: mov 0x14(%r12,%rbx,8),%r11d ;*getfield ascii {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@25 (line 54)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e522987e: mov 0x14(%r12,%r8,8),%ecx ;*getfield ascii {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@30 (line 55)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229883: test %r9d,%r9d
0x00007f06e5229886: jne 0x00007f06e5229b0c ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@43 (line 56)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e522988c: mov 0xc(%r12,%r11,8),%ebp ; implicit exception: dispatches to 0x00007f06e5229b94
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@51 (line 56)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229891: cmp %ebp,%r10d
0x00007f06e5229894: jne 0x00007f06e5229b2c ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@52 (line 56)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e522989a: test %ebp,%ebp
0x00007f06e522989c: jbe 0x00007f06e5229a1a ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@62 (line 57)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52298a2: mov %ebp,%edi
0x00007f06e52298a4: dec %edi
0x00007f06e52298a6: cmp %ebp,%edi
0x00007f06e52298a8: jae 0x00007f06e5229af8
0x00007f06e52298ae: mov 0xc(%r12,%rcx,8),%r8d ; implicit exception: dispatches to 0x00007f06e5229af8
0x00007f06e52298b3: test %r8d,%r8d
0x00007f06e52298b6: jbe 0x00007f06e5229af8
0x00007f06e52298bc: cmp %r8d,%edi
0x00007f06e52298bf: jae 0x00007f06e5229af8
0x00007f06e52298c5: movsbl 0x10(%r12,%rcx,8),%r9d ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@72 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52298cb: movsbl 0x10(%r12,%r11,8),%r8d ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@68 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52298d1: xor %ebx,%ebx
0x00007f06e52298d3: cmp %r9d,%r8d
0x00007f06e52298d6: jne 0x00007f06e5229a32 ;*iconst_1 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@16 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52298dc: lea (%r12,%rcx,8),%r10 ;*getfield ascii {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@30 (line 55)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52298e0: lea (%r12,%r11,8),%r14 ;*getfield ascii {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@25 (line 54)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52298e4: cmp $0x1,%edi
0x00007f06e52298e7: jle 0x00007f06e52299f4
0x00007f06e52298ed: mov $0x7d0,%edx ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@84 (line 57)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52298f2: mov $0x1,%eax
0x00007f06e52298f7: jmp 0x00007f06e522990b
0x00007f06e52298f9: mov 0x348(%r15),%r8 ; ImmutableOopMap {r10=Oop r11=NarrowOop rcx=NarrowOop r14=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@84 (line 57)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229900: test %eax,(%r8) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@84 (line 57)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
; {poll}
0x00007f06e5229903: cmp %edi,%eax
0x00007f06e5229905: jge 0x00007f06e52299f9 ;*aload_2 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@65 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e522990b: mov %ebp,%r13d
0x00007f06e522990e: sub %eax,%r13d
0x00007f06e5229911: dec %r13d
0x00007f06e5229914: cmp %eax,%edi
0x00007f06e5229916: cmovl %ebx,%r13d
0x00007f06e522991a: cmp $0x7d0,%r13d
0x00007f06e5229921: cmova %edx,%r13d
0x00007f06e5229925: add %eax,%r13d
0x00007f06e5229928: jmp 0x00007f06e5229948
0x00007f06e522992a: add $0x20,%r9d
0x00007f06e522992e: movsbl %r9b,%r9d ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::toLowerCase@16 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@10 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229932: cmp %r9d,%r8d
0x00007f06e5229935: jne 0x00007f06e52299d2 ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@13 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e522993b: nopl 0x0(%rax,%rax,1) ;*iconst_1 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@16 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229940: add $0x2,%eax ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@81 (line 57)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229943: cmp %r13d,%eax
0x00007f06e5229946: jge 0x00007f06e52298f9 ;*aload_2 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@65 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229948: movslq %eax,%rsi
0x00007f06e522994b: movsbl 0x10(%r14,%rsi,1),%r8d ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@68 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229951: movsbl 0x10(%r10,%rsi,1),%r9d ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@72 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229957: cmp %r9d,%r8d
0x00007f06e522995a: jne 0x00007f06e522999b ;*iconst_1 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@16 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e522995c: movsbl 0x11(%r10,%rsi,1),%r9d ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@72 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229962: movsbl 0x11(%r14,%rsi,1),%r8d ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@68 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229968: cmp %r9d,%r8d
0x00007f06e522996b: je 0x00007f06e5229940 ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@2 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e522996d: mov %eax,%esi
0x00007f06e522996f: inc %esi ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@81 (line 57)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229971: cmp $0x41,%r8d
0x00007f06e5229975: jl 0x00007f06e5229aaa ;*if_icmplt {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::isUpperCase@3 (line 25)
; - red.hat.puzzles.checks.AsciiString::toLowerCase@1 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@6 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e522997b: cmp $0x5a,%r8d
0x00007f06e522997f: jg 0x00007f06e5229989 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::toLowerCase@4 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@6 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229981: add $0x20,%r8d
0x00007f06e5229985: movsbl %r8b,%r8d ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::toLowerCase@16 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@6 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229989: cmp $0x41,%r9d
0x00007f06e522998d: jl 0x00007f06e5229ad2 ;*if_icmplt {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::isUpperCase@3 (line 25)
; - red.hat.puzzles.checks.AsciiString::toLowerCase@1 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@10 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229993: cmp $0x5a,%r9d
0x00007f06e5229997: jg 0x00007f06e5229932 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::toLowerCase@4 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@10 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229999: jmp 0x00007f06e522992a
0x00007f06e522999b: cmp $0x41,%r8d
0x00007f06e522999f: jl 0x00007f06e5229aa8 ;*if_icmplt {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::isUpperCase@3 (line 25)
; - red.hat.puzzles.checks.AsciiString::toLowerCase@1 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@6 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52299a5: cmp $0x5a,%r8d
0x00007f06e52299a9: jg 0x00007f06e52299b3 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::toLowerCase@4 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@6 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52299ab: add $0x20,%r8d
0x00007f06e52299af: movsbl %r8b,%r8d ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::toLowerCase@16 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@6 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52299b3: cmp $0x41,%r9d
0x00007f06e52299b7: jl 0x00007f06e5229ad0 ;*if_icmplt {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::isUpperCase@3 (line 25)
; - red.hat.puzzles.checks.AsciiString::toLowerCase@1 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@10 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52299bd: cmp $0x5a,%r9d
0x00007f06e52299c1: jg 0x00007f06e52299cb ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::toLowerCase@4 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@10 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52299c3: add $0x20,%r9d
0x00007f06e52299c7: movsbl %r9b,%r9d ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::toLowerCase@16 (line 21)
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@10 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52299cb: cmp %r9d,%r8d
0x00007f06e52299ce: je 0x00007f06e522995c ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@13 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e52299d0: mov %eax,%esi
0x00007f06e52299d2: mov %esi,%eax
0x00007f06e52299d4: mov $0xffffff45,%esi
0x00007f06e52299d9: mov %eax,%ebp
0x00007f06e52299db: mov %r8d,(%rsp)
0x00007f06e52299df: mov %r9d,0x4(%rsp)
0x00007f06e52299e4: mov %r11d,0x8(%rsp)
0x00007f06e52299e9: mov %ecx,0xc(%rsp)
0x00007f06e52299ed: xchg %ax,%ax
0x00007f06e52299ef: call 0x00007f06e4a6c480 ; ImmutableOopMap {[8]=NarrowOop [12]=NarrowOop }
;*if_icmpne {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@13 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
; {runtime_call UncommonTrapBlob}
0x00007f06e52299f4: mov $0x1,%eax
0x00007f06e52299f9: cmp %ebp,%eax
0x00007f06e52299fb: jge 0x00007f06e5229a1a
0x00007f06e52299fd: data16 xchg %ax,%ax ;*aload_2 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@65 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229a00: movslq %eax,%r9
0x00007f06e5229a03: movsbl 0x10(%r14,%r9,1),%r8d ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@68 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229a09: movsbl 0x10(%r10,%r9,1),%r9d ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@72 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229a0f: cmp %r9d,%r8d
0x00007f06e5229a12: jne 0x00007f06e5229a72 ;*iconst_1 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@16 (line 17)
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@73 (line 58)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229a14: inc %eax ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@81 (line 57)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229a16: cmp %ebp,%eax
0x00007f06e5229a18: jl 0x00007f06e5229a00 ;*iconst_1 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::optimizedContentEqualsIgnoreCase@87 (line 62)
; - red.hat.puzzles.checks.LowerCaseComparison::optimizedContentEqualsIgnoreCase@8 (line 46)
0x00007f06e5229a1a: mov $0x1,%eax
0x00007f06e5229a1f: add $0x30,%rsp
0x00007f06e5229a23: pop %rbp
0x00007f06e5229a24: cmp 0x340(%r15),%rsp ; {poll_return}
0x00007f06e5229a2b: ja 0x00007f06e5229bb4
0x00007f06e5229a31: ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment