Skip to content

Instantly share code, notes, and snippets.

@franz1981
Created February 21, 2024 13:29
Show Gist options
  • Save franz1981/a5252d97b67baca8d172becd86f51278 to your computer and use it in GitHub Desktop.
Save franz1981/a5252d97b67baca8d172becd86f51278 to your computer and use it in GitHub Desktop.
============================= C2-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------
Compiled method (c2) 204 763 4 red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase (12 bytes)
total in heap [0x00007f0279223e90,0x00007f0279224bd8] = 3400
relocation [0x00007f0279223ff0,0x00007f0279224018] = 40
main code [0x00007f0279224020,0x00007f0279224420] = 1024
stub code [0x00007f0279224420,0x00007f0279224438] = 24
oops [0x00007f0279224438,0x00007f0279224440] = 8
metadata [0x00007f0279224440,0x00007f0279224478] = 56
scopes data [0x00007f0279224478,0x00007f0279224660] = 488
scopes pcs [0x00007f0279224660,0x00007f0279224ba0] = 1344
dependencies [0x00007f0279224ba0,0x00007f0279224bb0] = 16
nul chk table [0x00007f0279224bb0,0x00007f0279224bd8] = 40
--------------------------------------------------------------------------------
[Constant Pool (empty)]
--------------------------------------------------------------------------------
[Entry Point]
# {method} {0x00007f023ac81880} 'unoptimizedContentEqualsIgnoreCase' '()Z' in 'red/hat/puzzles/checks/LowerCaseComparison'
# [sp+0x40] (sp of caller)
0x00007f0279224020: mov 0x8(%rsi),%r10d
0x00007f0279224024: movabs $0x800000000,%r11
0x00007f027922402e: add %r11,%r10
0x00007f0279224031: cmp %r10,%rax
0x00007f0279224034: jne 0x00007f0278a63b80 ; {runtime_call ic_miss_stub}
0x00007f027922403a: xchg %ax,%ax
0x00007f027922403c: nopl 0x0(%rax)
[Verified Entry Point]
0x00007f0279224040: mov %eax,-0x14000(%rsp)
0x00007f0279224047: push %rbp
0x00007f0279224048: sub $0x30,%rsp ;*synchronization entry
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@-1 (line 40)
0x00007f027922404c: mov 0x14(%rsi),%r11d ;*getfield otherAscii {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@5 (line 40)
0x00007f0279224050: mov 0x10(%rsi),%r8d ;*getfield asciiStrings {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@1 (line 40)
0x00007f0279224054: mov 0x10(%r12,%r8,8),%ecx ; implicit exception: dispatches to 0x00007f02792243cc
;*getfield length {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::length@1 (line 76)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@16 (line 33)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224059: cmp %r11d,%r8d
0x00007f027922405c: je 0x00007f0279224390 ;*if_acmpne {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@2 (line 29)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224062: mov 0x10(%r12,%r11,8),%ebp ; implicit exception: dispatches to 0x00007f02792243dc
;*getfield length {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::length@1 (line 76)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@12 (line 33)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224067: cmp %ecx,%ebp
0x00007f0279224069: jne 0x00007f02792243a4 ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@19 (line 33)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922406f: mov 0xc(%r12,%r8,8),%ebx ;*getfield offset {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::arrayOffset@1 (line 72)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@25 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224074: add %ebx,%ecx ;*iadd {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@39 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224076: cmp %ecx,%ebx
0x00007f0279224078: jge 0x00007f027922428a ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@45 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922407e: mov 0xc(%r12,%r11,8),%ebp ;*getfield offset {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::arrayOffset@1 (line 72)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@30 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224083: mov 0x14(%r12,%r8,8),%edi ;*getfield ascii {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@49 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224088: mov 0xc(%r12,%rdi,8),%r10d ; implicit exception: dispatches to 0x00007f0279224374
;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@53 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922408d: cmp %r10d,%ebx
0x00007f0279224090: jae 0x00007f0279224374
0x00007f0279224096: movslq %r10d,%r10
0x00007f0279224099: movslq %ecx,%rdx
0x00007f027922409c: mov %rdx,%r9
0x00007f027922409f: dec %r9
0x00007f02792240a2: cmp %r10,%r9
0x00007f02792240a5: jae 0x00007f0279224374
0x00007f02792240ab: mov 0x14(%r12,%r11,8),%r9d ;*getfield ascii {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@55 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792240b0: mov 0xc(%r12,%r9,8),%r10d ; implicit exception: dispatches to 0x00007f0279224374
0x00007f02792240b5: mov %ebp,%r13d
0x00007f02792240b8: sub %ebx,%r13d ;*getfield offset {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::arrayOffset@1 (line 72)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@30 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792240bb: movslq %r10d,%r10
0x00007f02792240be: movslq %r13d,%rsi
0x00007f02792240c1: movslq %ebx,%rax
0x00007f02792240c4: add %rsi,%rax
0x00007f02792240c7: cmp %r10,%rax
0x00007f02792240ca: jae 0x00007f0279224374
0x00007f02792240d0: add %rsi,%rdx
0x00007f02792240d3: dec %rdx
0x00007f02792240d6: cmp %r10,%rdx
0x00007f02792240d9: jae 0x00007f0279224374
0x00007f02792240df: shl $0x3,%r9
0x00007f02792240e3: mov %ebx,%r10d
0x00007f02792240e6: inc %r10d
0x00007f02792240e9: lea (%r12,%rdi,8),%rbp ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@48 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792240ed: movsbl 0x10(%rbp,%rbx,1),%edi ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@53 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792240f2: mov %ebx,%eax
0x00007f02792240f4: add %r13d,%eax ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@48 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792240f7: movsbl 0x10(%r9,%rax,1),%edx ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@59 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792240fd: cmp %edx,%edi
0x00007f02792240ff: jne 0x00007f02792242a2 ;*iconst_1 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@16 (line 17)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224105: inc %ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@68 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224107: cmp %r10d,%ebx
0x00007f027922410a: jl 0x00007f02792240ed ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@45 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922410c: mov %ecx,%r14d
0x00007f027922410f: dec %r14d
0x00007f0279224112: mov $0x80000000,%edi
0x00007f0279224117: cmp %r14d,%ecx
0x00007f027922411a: cmovl %edi,%r14d
0x00007f027922411e: cmp %r14d,%ebx
0x00007f0279224121: jge 0x00007f0279224269
0x00007f0279224127: lea (%r12,%r11,8),%rdx ;*getfield otherAscii {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@5 (line 40)
0x00007f027922412b: lea (%r12,%r8,8),%rax ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@74 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922412f: jmp 0x00007f0279224157
0x00007f0279224131: mov 0x348(%r15),%r10
0x00007f0279224138: add $0x2,%r11d ; ImmutableOopMap {r8=NarrowOop r9=Oop rbp=Oop xmm0=Oop xmm1=NarrowOop xmm2=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@74 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922413c: test %eax,(%r10) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@74 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
; {poll}
0x00007f027922413f: cmp %r14d,%ebx
0x00007f0279224142: jge 0x00007f0279224264
0x00007f0279224148: vmovd %xmm1,%r11d
0x00007f027922414d: vmovq %xmm0,%rdx
0x00007f0279224152: vmovq %xmm2,%rax ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@48 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224157: mov %r14d,%esi
0x00007f027922415a: sub %ebx,%esi
0x00007f027922415c: xor %r10d,%r10d
0x00007f027922415f: cmp %ebx,%r14d
0x00007f0279224162: cmovl %r10d,%esi
0x00007f0279224166: cmp $0x7d0,%esi
0x00007f027922416c: mov $0x7d0,%edi
0x00007f0279224171: cmova %edi,%esi
0x00007f0279224174: add %ebx,%esi
0x00007f0279224176: vmovd %r11d,%xmm1
0x00007f027922417b: vmovq %rdx,%xmm0
0x00007f0279224180: vmovq %rax,%xmm2
0x00007f0279224185: jmp 0x00007f02792241a7
0x00007f0279224187: add $0x20,%edx
0x00007f027922418a: movsbl %dl,%edx ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922418d: cmp %edx,%edi
0x00007f027922418f: jne 0x00007f0279224235 ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@13 (line 17)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224195: data16 data16 nopw 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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241a0: add $0x2,%ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@68 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241a3: cmp %esi,%ebx
0x00007f02792241a5: jge 0x00007f0279224131 ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@48 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241a7: movsbl 0x10(%rbp,%rbx,1),%edi ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@53 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241ac: mov %ebx,%r11d
0x00007f02792241af: add %r13d,%r11d ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@48 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241b2: movsbl 0x10(%r9,%r11,1),%edx ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@59 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241b8: cmp %edx,%edi
0x00007f02792241ba: jne 0x00007f0279224202 ;*iconst_1 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@16 (line 17)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241bc: movslq %ebx,%r10
0x00007f02792241bf: movsbl 0x11(%rbp,%r10,1),%edi ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@53 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241c5: movslq %r11d,%r10
0x00007f02792241c8: movsbl 0x11(%r9,%r10,1),%edx ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@59 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241ce: cmp %edx,%edi
0x00007f02792241d0: je 0x00007f02792241a0 ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@2 (line 17)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241d2: mov %ebx,%r10d
0x00007f02792241d5: inc %r10d ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@68 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241d8: mov %r11d,%eax
0x00007f02792241db: inc %eax ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@48 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241dd: cmp $0x41,%edi
0x00007f02792241e0: jl 0x00007f027922430b ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241e6: cmp $0x5a,%edi
0x00007f02792241e9: jg 0x00007f02792241f2 ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241eb: add $0x20,%edi
0x00007f02792241ee: movsbl %dil,%edi ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241f2: cmp $0x41,%edx
0x00007f02792241f5: jl 0x00007f0279224342 ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f02792241fb: cmp $0x5a,%edx
0x00007f02792241fe: jg 0x00007f027922418d ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224200: jmp 0x00007f0279224187
0x00007f0279224202: cmp $0x41,%edi
0x00007f0279224205: jl 0x00007f0279224305 ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922420b: cmp $0x5a,%edi
0x00007f027922420e: jg 0x00007f0279224217 ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224210: add $0x20,%edi
0x00007f0279224213: movsbl %dil,%edi ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224217: cmp $0x41,%edx
0x00007f027922421a: jl 0x00007f027922433c ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224220: cmp $0x5a,%edx
0x00007f0279224223: jg 0x00007f027922422b ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224225: add $0x20,%edx
0x00007f0279224228: movsbl %dl,%edx ;*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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922422b: cmp %edx,%edi
0x00007f027922422d: je 0x00007f02792241bc ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@13 (line 17)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922422f: mov %r11d,%eax
0x00007f0279224232: mov %ebx,%r10d
0x00007f0279224235: vmovd %xmm1,%r11d
0x00007f027922423a: mov %r10d,%ebx
0x00007f027922423d: mov $0xffffff45,%esi
0x00007f0279224242: mov %ebx,%ebp
0x00007f0279224244: mov %eax,(%rsp)
0x00007f0279224247: mov %ecx,0x4(%rsp)
0x00007f027922424b: mov %edi,0x8(%rsp)
0x00007f027922424f: mov %edx,0xc(%rsp)
0x00007f0279224253: mov %r8d,0x10(%rsp)
0x00007f0279224258: mov %r11d,0x14(%rsp)
0x00007f027922425d: xchg %ax,%ax
0x00007f027922425f: call 0x00007f0278a6c480 ; ImmutableOopMap {[16]=NarrowOop [20]=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::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
; {runtime_call UncommonTrapBlob}
0x00007f0279224264: vmovd %xmm1,%r11d
0x00007f0279224269: cmp %ecx,%ebx
0x00007f027922426b: jge 0x00007f027922428a
0x00007f027922426d: data16 xchg %ax,%ax ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@48 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224270: movsbl 0x10(%rbp,%rbx,1),%edi ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@53 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224275: mov %ebx,%eax
0x00007f0279224277: add %r13d,%eax ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@48 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922427a: movsbl 0x10(%r9,%rax,1),%edx ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@59 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224280: cmp %edx,%edi
0x00007f0279224282: jne 0x00007f02792242db ;*iconst_1 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::equalsIgnoreCase@16 (line 17)
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@60 (line 38)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224284: inc %ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@68 (line 37)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f0279224286: cmp %ecx,%ebx
0x00007f0279224288: jl 0x00007f0279224270 ;*iconst_1 {reexecute=0 rethrow=0 return_oop=0}
; - red.hat.puzzles.checks.AsciiString::unoptimizedContentEqualsIgnoreCase@77 (line 42)
; - red.hat.puzzles.checks.LowerCaseComparison::unoptimizedContentEqualsIgnoreCase@8 (line 40)
0x00007f027922428a: mov $0x1,%eax
0x00007f027922428f: add $0x30,%rsp
0x00007f0279224293: pop %rbp
0x00007f0279224294: cmp 0x340(%r15),%rsp ; {poll_return}
0x00007f027922429b: ja 0x00007f02792243f0
0x00007f02792242a1: ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment