這誰頂得住?java反編譯的彙編程式碼private volatile static Singleton instance
原始碼
package cn.com.suntree.utils.myself;
public class Singleton {
private volatile static Singleton instance ;
private Singleton(){} // 私有化建構函式
public static Singleton getInstance(){
if (instance == null) { // 雙重鎖
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
public static void main(String[] args) {
Singleton.getInstance();
}
}
反編譯的彙編程式碼
反彙編指令:java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly Singleton > singleton.asm
Loaded disassembler from E:\soft\Java\jre\bin\server\hsdis-amd64.dll
Decoding compiled method 0x0000022b84711f10:
Code:
Argument 0 is unknown.RIP: 0x22b847120a0 Code size: 0x00000558
[Disassembling for mach='amd64']
[Entry Point]
[Constants]
# {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String'
# this: rdx:rdx = 'java/lang/String'
# parm0: r8:r8 = 'java/lang/Object'
# [sp+0x40] (sp of caller)
0x0000022b847120a0: mov r10d,dword ptr [rdx+8h]
0x0000022b847120a4: shl r10,3h
0x0000022b847120a8: cmp r10,rax
0x0000022b847120ab: jne 22b84655f60h ; {runtime_call}
0x0000022b847120b1: nop dword ptr [rax+rax+0h]
0x0000022b847120b9: nop dword ptr [rax+0h]
[Verified Entry Point]
0x0000022b847120c0: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b847120c7: push rbp
0x0000022b847120c8: sub rsp,30h
0x0000022b847120cc: mov rax,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b847120d6: mov esi,dword ptr [rax+0dch]
0x0000022b847120dc: add esi,8h
0x0000022b847120df: mov dword ptr [rax+0dch],esi
0x0000022b847120e5: mov rax,22b9a4a43e0h ; {metadata({method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b847120ef: and esi,1ff8h
0x0000022b847120f5: cmp esi,0h
0x0000022b847120f8: je 22b847124ceh ;*aload_0
; - java.lang.String::equals@0
0x0000022b847120fe: cmp rdx,r8
0x0000022b84712101: mov rax,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b8471210b: mov rsi,108h
0x0000022b84712115: jne 22b84712125h
0x0000022b8471211b: mov rsi,118h
0x0000022b84712125: mov rdi,qword ptr [rax+rsi]
0x0000022b84712129: lea rdi,[rdi+1h]
0x0000022b8471212d: mov qword ptr [rax+rsi],rdi
0x0000022b84712131: je 22b847124bdh ;*if_acmpne
; - java.lang.String::equals@2
0x0000022b84712137: cmp r8,0h
0x0000022b8471213b: jne 22b84712156h
0x0000022b8471213d: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b84712147: or dword ptr [rdi+120h],100h
0x0000022b84712151: jmp 22b84712218h
0x0000022b84712156: mov rbx,7c00016d0h ; {metadata('java/lang/String')}
0x0000022b84712160: mov esi,dword ptr [r8+8h]
0x0000022b84712164: shl rsi,3h
0x0000022b84712168: cmp rbx,rsi
0x0000022b8471216b: jne 22b847121fch
0x0000022b84712171: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b8471217b: mov ebx,dword ptr [r8+8h]
0x0000022b8471217f: shl rbx,3h
0x0000022b84712183: cmp rbx,qword ptr [rdi+130h]
0x0000022b8471218a: jne 22b84712199h
0x0000022b8471218c: add qword ptr [rdi+138h],1h
0x0000022b84712194: jmp 22b8471221dh
0x0000022b84712199: cmp rbx,qword ptr [rdi+140h]
0x0000022b847121a0: jne 22b847121afh
0x0000022b847121a2: add qword ptr [rdi+148h],1h
0x0000022b847121aa: jmp 22b8471221dh
0x0000022b847121af: cmp qword ptr [rdi+130h],0h
0x0000022b847121ba: jne 22b847121d3h
0x0000022b847121bc: mov qword ptr [rdi+130h],rbx
0x0000022b847121c3: mov qword ptr [rdi+138h],1h
0x0000022b847121ce: jmp 22b8471221dh
0x0000022b847121d3: cmp qword ptr [rdi+140h],0h
0x0000022b847121de: jne 22b847121f7h
0x0000022b847121e0: mov qword ptr [rdi+140h],rbx
0x0000022b847121e7: mov qword ptr [rdi+148h],1h
0x0000022b847121f2: jmp 22b8471221dh
0x0000022b847121f7: jmp 22b8471221dh
0x0000022b847121fc: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b84712206: sub qword ptr [rdi+128h],1h
0x0000022b8471220e: jmp 22b84712218h
0x0000022b84712213: jmp 22b8471221dh
0x0000022b84712218: xor rax,rax
0x0000022b8471221b: jmp 22b84712227h
0x0000022b8471221d: mov rax,1h ;*instanceof
; - java.lang.String::equals@8
0x0000022b84712227: cmp eax,0h
0x0000022b8471222a: mov rax,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b84712234: mov rsi,158h
0x0000022b8471223e: je 22b8471224eh
0x0000022b84712244: mov rsi,168h
0x0000022b8471224e: mov rdi,qword ptr [rax+rsi]
0x0000022b84712252: lea rdi,[rdi+1h]
0x0000022b84712256: mov qword ptr [rax+rsi],rdi
0x0000022b8471225a: je 22b847124ach ;*ifeq
; - java.lang.String::equals@11
0x0000022b84712260: cmp r8,0h
0x0000022b84712264: jne 22b8471227fh
0x0000022b84712266: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b84712270: or dword ptr [rdi+170h],100h
0x0000022b8471227a: jmp 22b84712341h
0x0000022b8471227f: mov rbx,7c00016d0h ; {metadata('java/lang/String')}
0x0000022b84712289: mov esi,dword ptr [r8+8h]
0x0000022b8471228d: shl rsi,3h
0x0000022b84712291: cmp rbx,rsi
0x0000022b84712294: jne 22b84712325h
0x0000022b8471229a: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b847122a4: mov ebx,dword ptr [r8+8h]
0x0000022b847122a8: shl rbx,3h
0x0000022b847122ac: cmp rbx,qword ptr [rdi+180h]
0x0000022b847122b3: jne 22b847122c2h
0x0000022b847122b5: add qword ptr [rdi+188h],1h
0x0000022b847122bd: jmp 22b84712341h
0x0000022b847122c2: cmp rbx,qword ptr [rdi+190h]
0x0000022b847122c9: jne 22b847122d8h
0x0000022b847122cb: add qword ptr [rdi+198h],1h
0x0000022b847122d3: jmp 22b84712341h
0x0000022b847122d8: cmp qword ptr [rdi+180h],0h
0x0000022b847122e3: jne 22b847122fch
0x0000022b847122e5: mov qword ptr [rdi+180h],rbx
0x0000022b847122ec: mov qword ptr [rdi+188h],1h
0x0000022b847122f7: jmp 22b84712341h
0x0000022b847122fc: cmp qword ptr [rdi+190h],0h
0x0000022b84712307: jne 22b84712320h
0x0000022b84712309: mov qword ptr [rdi+190h],rbx
0x0000022b84712310: mov qword ptr [rdi+198h],1h
0x0000022b8471231b: jmp 22b84712341h
0x0000022b84712320: jmp 22b84712341h
0x0000022b84712325: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b8471232f: sub qword ptr [rdi+178h],1h
0x0000022b84712337: jmp 22b847124e5h
0x0000022b8471233c: jmp 22b84712341h
0x0000022b84712341: mov rax,r8 ;*checkcast
; - java.lang.String::equals@15
0x0000022b84712344: mov esi,dword ptr [rdx+0ch]
0x0000022b84712347: shl rsi,3h ;*getfield value
; - java.lang.String::equals@20
0x0000022b8471234b: mov edi,dword ptr [rsi+0ch] ;*arraylength
; - java.lang.String::equals@23
; implicit exception: dispatches to 0x0000022b847124ee
0x0000022b8471234e: mov eax,dword ptr [rax+0ch] ; implicit exception: dispatches to 0x0000022b847124f3
0x0000022b84712351: shl rax,3h ;*getfield value
; - java.lang.String::equals@27
0x0000022b84712355: mov ebx,dword ptr [rax+0ch] ;*arraylength
; - java.lang.String::equals@30
; implicit exception: dispatches to 0x0000022b847124f8
0x0000022b84712358: cmp edi,ebx
0x0000022b8471235a: mov rbx,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b84712364: mov rdx,1a8h
0x0000022b8471236e: jne 22b8471237eh
0x0000022b84712374: mov rdx,1b8h
0x0000022b8471237e: mov rcx,qword ptr [rbx+rdx]
0x0000022b84712382: lea rcx,[rcx+1h]
0x0000022b84712386: mov qword ptr [rbx+rdx],rcx
0x0000022b8471238a: jne 22b847124ach ;*if_icmpne
; - java.lang.String::equals@31
0x0000022b84712390: mov ebx,0h
0x0000022b84712395: jmp 22b84712447h ;*iload_3
; - java.lang.String::equals@49
0x0000022b8471239a: nop word ptr [rax+rax+0h]
0x0000022b847123a0: movsxd rdi,ebx
0x0000022b847123a3: cmp ebx,dword ptr [rsi+0ch]
0x0000022b847123a6: jnb 22b847124fdh
0x0000022b847123ac: movzx edi,word ptr [rsi+rdi*2+10h]
;*caload
; - java.lang.String::equals@60
0x0000022b847123b1: movsxd rcx,ebx
0x0000022b847123b4: cmp ebx,dword ptr [rax+0ch]
0x0000022b847123b7: jnb 22b84712506h
0x0000022b847123bd: movzx ecx,word ptr [rax+rcx*2+10h]
;*caload
; - java.lang.String::equals@65
0x0000022b847123c2: cmp edi,ecx
0x0000022b847123c4: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b847123ce: mov rcx,1e8h
0x0000022b847123d8: je 22b847123e8h
0x0000022b847123de: mov rcx,1f8h
0x0000022b847123e8: mov r8,qword ptr [rdi+rcx]
0x0000022b847123ec: lea r8,[r8+1h]
0x0000022b847123f0: mov qword ptr [rdi+rcx],r8
0x0000022b847123f4: jne 22b8471248ah ;*if_icmpeq
; - java.lang.String::equals@66
0x0000022b847123fa: inc ebx
0x0000022b847123fc: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b84712406: mov ecx,dword ptr [rdi+0e0h]
0x0000022b8471240c: add ecx,8h
0x0000022b8471240f: mov dword ptr [rdi+0e0h],ecx
0x0000022b84712415: mov rdi,22b9a4a43e0h ; {metadata({method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b8471241f: and ecx,0fff8h
0x0000022b84712425: cmp ecx,0h
0x0000022b84712428: je 22b8471250fh ; OopMap{rax=Oop rsi=Oop off=910}
;*goto
; - java.lang.String::equals@74
0x0000022b8471242e: test dword ptr [22b82bc0100h],eax
; {poll}
0x0000022b84712434: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b8471243e: inc dword ptr [rdi+208h]
0x0000022b84712444: mov rdi,rdx ;*goto
; - java.lang.String::equals@74
0x0000022b84712447: mov rdx,rdi
0x0000022b8471244a: dec edx
0x0000022b8471244c: cmp edi,0h
0x0000022b8471244f: mov rdi,22b9a691eb8h ; {metadata(method data for {method} {0x0000022b9a4a43e8} 'equals' '(Ljava/lang/Object;)Z' in 'java/lang/String')}
0x0000022b84712459: mov rcx,1c8h
0x0000022b84712463: je 22b84712473h
0x0000022b84712469: mov rcx,1d8h
0x0000022b84712473: mov r8,qword ptr [rdi+rcx]
0x0000022b84712477: lea r8,[r8+1h]
0x0000022b8471247b: mov qword ptr [rdi+rcx],r8
0x0000022b8471247f: je 22b8471249bh
0x0000022b84712485: jmp 22b847123a0h ;*ifeq
; - java.lang.String::equals@53
0x0000022b8471248a: mov eax,0h
0x0000022b8471248f: add rsp,30h
0x0000022b84712493: pop rbp
0x0000022b84712494: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b8471249a: ret ;*ireturn
; - java.lang.String::equals@70
0x0000022b8471249b: mov eax,1h
0x0000022b847124a0: add rsp,30h
0x0000022b847124a4: pop rbp
0x0000022b847124a5: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b847124ab: ret ;*ireturn
; - java.lang.String::equals@78
0x0000022b847124ac: mov eax,0h
0x0000022b847124b1: add rsp,30h
0x0000022b847124b5: pop rbp
0x0000022b847124b6: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b847124bc: ret ;*ireturn
; - java.lang.String::equals@80
0x0000022b847124bd: mov eax,1h
0x0000022b847124c2: add rsp,30h
0x0000022b847124c6: pop rbp
0x0000022b847124c7: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b847124cd: ret
0x0000022b847124ce: mov qword ptr [rsp+8h],rax
0x0000022b847124d3: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b847124db: call 22b84710ce0h ; OopMap{rdx=Oop r8=Oop off=1088}
;*synchronization entry
; - java.lang.String::equals@-1
; {runtime_call}
0x0000022b847124e0: jmp 22b847120feh
0x0000022b847124e5: mov qword ptr [rsp],r8
0x0000022b847124e9: call 22b8470e400h ; OopMap{rdx=Oop off=1102}
;*checkcast
; - java.lang.String::equals@15
; {runtime_call}
0x0000022b847124ee: call 22b8470c000h ; OopMap{rax=Oop rsi=Oop off=1107}
;*arraylength
; - java.lang.String::equals@23
; {runtime_call}
0x0000022b847124f3: call 22b8470c000h ; OopMap{rsi=Oop off=1112}
;*getfield value
; - java.lang.String::equals@27
; {runtime_call}
0x0000022b847124f8: call 22b8470c000h ; OopMap{rsi=Oop rax=Oop off=1117}
;*arraylength
; - java.lang.String::equals@30
; {runtime_call}
0x0000022b847124fd: mov qword ptr [rsp],rbx
0x0000022b84712501: call 22b8467e580h ; OopMap{rax=Oop rsi=Oop off=1126}
;*caload
; - java.lang.String::equals@60
; {runtime_call}
0x0000022b84712506: mov qword ptr [rsp],rbx
0x0000022b8471250a: call 22b8467e580h ; OopMap{rax=Oop rsi=Oop off=1135}
;*caload
; - java.lang.String::equals@65
; {runtime_call}
0x0000022b8471250f: mov qword ptr [rsp+8h],rdi
0x0000022b84712514: mov qword ptr [rsp],4ah
0x0000022b8471251c: call 22b84710ce0h ; OopMap{rax=Oop rsi=Oop off=1153}
;*goto
; - java.lang.String::equals@74
; {runtime_call}
0x0000022b84712521: jmp 22b8471242eh
0x0000022b84712526: nop
0x0000022b84712527: nop
0x0000022b84712528: mov rax,qword ptr [r15+2a8h]
0x0000022b8471252f: mov r10,0h
0x0000022b84712539: mov qword ptr [r15+2a8h],r10
0x0000022b84712540: mov r10,0h
0x0000022b8471254a: mov qword ptr [r15+2b0h],r10
0x0000022b84712551: add rsp,30h
0x0000022b84712555: pop rbp
0x0000022b84712556: jmp 22b8467ea20h ; {runtime_call}
0x0000022b8471255b: hlt
0x0000022b8471255c: hlt
0x0000022b8471255d: hlt
0x0000022b8471255e: hlt
0x0000022b8471255f: hlt
[Exception Handler]
[Stub Code]
0x0000022b84712560: call 22b8470e060h ; {no_reloc}
0x0000022b84712565: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x0000022b8471256a: sub rsp,80h
0x0000022b84712571: mov qword ptr [rsp+78h],rax
0x0000022b84712576: mov qword ptr [rsp+70h],rcx
0x0000022b8471257b: mov qword ptr [rsp+68h],rdx
0x0000022b84712580: mov qword ptr [rsp+60h],rbx
0x0000022b84712585: mov qword ptr [rsp+50h],rbp
0x0000022b8471258a: mov qword ptr [rsp+48h],rsi
0x0000022b8471258f: mov qword ptr [rsp+40h],rdi
0x0000022b84712594: mov qword ptr [rsp+38h],r8
0x0000022b84712599: mov qword ptr [rsp+30h],r9
0x0000022b8471259e: mov qword ptr [rsp+28h],r10
0x0000022b847125a3: mov qword ptr [rsp+20h],r11
0x0000022b847125a8: mov qword ptr [rsp+18h],r12
0x0000022b847125ad: mov qword ptr [rsp+10h],r13
0x0000022b847125b2: mov qword ptr [rsp+8h],r14
0x0000022b847125b7: mov qword ptr [rsp],r15
0x0000022b847125bb: mov rcx,776ad740h ; {external_word}
0x0000022b847125c5: mov rdx,22b84712565h ; {internal_word}
0x0000022b847125cf: mov r8,rsp
0x0000022b847125d2: and rsp,0fffffffffffffff0h
0x0000022b847125d6: mov r10,7738d310h ; {runtime_call}
0x0000022b847125e0: call indirect r10
0x0000022b847125e3: hlt
[Deopt Handler Code]
0x0000022b847125e4: mov r10,22b847125e4h ; {section_word}
0x0000022b847125ee: push r10
0x0000022b847125f0: jmp 22b84657200h ; {runtime_call}
0x0000022b847125f5: hlt
0x0000022b847125f6: hlt
0x0000022b847125f7: hlt
Decoding compiled method 0x0000022b84714250:
Code:
Argument 0 is unknown.RIP: 0x22b847143c0 Code size: 0x00000298
[Entry Point]
[Constants]
# {method} {0x0000022b9a4a4d30} 'hashCode' '()I' in 'java/lang/String'
# [sp+0x40] (sp of caller)
0x0000022b847143c0: mov r10d,dword ptr [rdx+8h]
0x0000022b847143c4: shl r10,3h
0x0000022b847143c8: cmp r10,rax
0x0000022b847143cb: jne 22b84655f60h ; {runtime_call}
0x0000022b847143d1: nop dword ptr [rax+rax+0h]
0x0000022b847143d9: nop dword ptr [rax+0h]
[Verified Entry Point]
0x0000022b847143e0: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b847143e7: push rbp
0x0000022b847143e8: sub rsp,30h
0x0000022b847143ec: mov rax,22b9a67dac8h ; {metadata(method data for {method} {0x0000022b9a4a4d30} 'hashCode' '()I' in 'java/lang/String')}
0x0000022b847143f6: mov esi,dword ptr [rax+0dch]
0x0000022b847143fc: add esi,8h
0x0000022b847143ff: mov dword ptr [rax+0dch],esi
0x0000022b84714405: mov rax,22b9a4a4d28h ; {metadata({method} {0x0000022b9a4a4d30} 'hashCode' '()I' in 'java/lang/String')}
0x0000022b8471440f: and esi,1ff8h
0x0000022b84714415: cmp esi,0h
0x0000022b84714418: je 22b84714551h ;*aload_0
; - java.lang.String::hashCode@0
0x0000022b8471441e: mov eax,dword ptr [rdx+10h] ;*getfield hash
; - java.lang.String::hashCode@1
0x0000022b84714421: cmp eax,0h
0x0000022b84714424: mov rsi,22b9a67dac8h ; {metadata(method data for {method} {0x0000022b9a4a4d30} 'hashCode' '()I' in 'java/lang/String')}
0x0000022b8471442e: mov rdi,108h
0x0000022b84714438: jne 22b84714448h
0x0000022b8471443e: mov rdi,118h
0x0000022b84714448: mov rbx,qword ptr [rsi+rdi]
0x0000022b8471444c: lea rbx,[rbx+1h]
0x0000022b84714450: mov qword ptr [rsi+rdi],rbx
0x0000022b84714454: jne 22b84714545h ;*ifne
; - java.lang.String::hashCode@6
0x0000022b8471445a: mov esi,dword ptr [rdx+0ch]
0x0000022b8471445d: shl rsi,3h ;*getfield value
; - java.lang.String::hashCode@10
0x0000022b84714461: mov edi,dword ptr [rsi+0ch] ;*arraylength
; - java.lang.String::hashCode@13
; implicit exception: dispatches to 0x0000022b84714568
0x0000022b84714464: cmp edi,0h
0x0000022b84714467: mov rbx,22b9a67dac8h ; {metadata(method data for {method} {0x0000022b9a4a4d30} 'hashCode' '()I' in 'java/lang/String')}
0x0000022b84714471: mov rcx,128h
0x0000022b8471447b: jle 22b8471448bh
0x0000022b84714481: mov rcx,138h
0x0000022b8471448b: mov r8,qword ptr [rbx+rcx]
0x0000022b8471448f: lea r8,[r8+1h]
0x0000022b84714493: mov qword ptr [rbx+rcx],r8
0x0000022b84714497: jle 22b84714545h ;*ifle
; - java.lang.String::hashCode@14
0x0000022b8471449d: mov ebx,0h
0x0000022b847144a2: jmp 22b8471450ah ;*iload_3
; - java.lang.String::hashCode@24
0x0000022b847144a7: nop
0x0000022b847144a8: movsxd rcx,ebx
0x0000022b847144ab: movzx ecx,word ptr [rsi+rcx*2+10h]
;*caload
; - java.lang.String::hashCode@39
0x0000022b847144b0: mov r8,rax
0x0000022b847144b3: shl eax,5h
0x0000022b847144b6: sub eax,r8d
0x0000022b847144b9: add eax,ecx
0x0000022b847144bb: inc ebx
0x0000022b847144bd: mov rcx,22b9a67dac8h ; {metadata(method data for {method} {0x0000022b9a4a4d30} 'hashCode' '()I' in 'java/lang/String')}
0x0000022b847144c7: mov r8d,dword ptr [rcx+0e0h]
0x0000022b847144ce: add r8d,8h
0x0000022b847144d2: mov dword ptr [rcx+0e0h],r8d
0x0000022b847144d9: mov rcx,22b9a4a4d28h ; {metadata({method} {0x0000022b9a4a4d30} 'hashCode' '()I' in 'java/lang/String')}
0x0000022b847144e3: and r8d,0fff8h
0x0000022b847144ea: cmp r8d,0h
0x0000022b847144ee: je 22b8471456dh ; OopMap{rsi=Oop rdx=Oop off=308}
;*goto
; - java.lang.String::hashCode@45
0x0000022b847144f4: test dword ptr [22b82bc0100h],eax
; {poll}
0x0000022b847144fa: mov rcx,22b9a67dac8h ; {metadata(method data for {method} {0x0000022b9a4a4d30} 'hashCode' '()I' in 'java/lang/String')}
0x0000022b84714504: inc dword ptr [rcx+168h] ;*goto
; - java.lang.String::hashCode@45
0x0000022b8471450a: cmp ebx,edi
0x0000022b8471450c: mov rcx,22b9a67dac8h ; {metadata(method data for {method} {0x0000022b9a4a4d30} 'hashCode' '()I' in 'java/lang/String')}
0x0000022b84714516: mov r8,148h
0x0000022b84714520: jnl 22b84714530h
0x0000022b84714526: mov r8,158h
0x0000022b84714530: mov r9,qword ptr [rcx+r8]
0x0000022b84714534: lea r9,[r9+1h]
0x0000022b84714538: mov qword ptr [rcx+r8],r9
0x0000022b8471453c: jl 22b847144a8h ;*if_icmpge
; - java.lang.String::hashCode@30
0x0000022b84714542: mov dword ptr [rdx+10h],eax ;*putfield hash
; - java.lang.String::hashCode@50
0x0000022b84714545: add rsp,30h
0x0000022b84714549: pop rbp
0x0000022b8471454a: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b84714550: ret
0x0000022b84714551: mov qword ptr [rsp+8h],rax
0x0000022b84714556: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b8471455e: call 22b84710ce0h ; OopMap{rdx=Oop off=419}
;*synchronization entry
; - java.lang.String::hashCode@-1
; {runtime_call}
0x0000022b84714563: jmp 22b8471441eh
0x0000022b84714568: call 22b8470c000h ; OopMap{rdx=Oop rsi=Oop off=429}
;*arraylength
; - java.lang.String::hashCode@13
; {runtime_call}
0x0000022b8471456d: mov qword ptr [rsp+8h],rcx
0x0000022b84714572: mov qword ptr [rsp],2dh
0x0000022b8471457a: call 22b84710ce0h ; OopMap{rsi=Oop rdx=Oop off=447}
;*goto
; - java.lang.String::hashCode@45
; {runtime_call}
0x0000022b8471457f: jmp 22b847144f4h
0x0000022b84714584: nop
0x0000022b84714585: nop
0x0000022b84714586: mov rax,qword ptr [r15+2a8h]
0x0000022b8471458d: mov r10,0h
0x0000022b84714597: mov qword ptr [r15+2a8h],r10
0x0000022b8471459e: mov r10,0h
0x0000022b847145a8: mov qword ptr [r15+2b0h],r10
0x0000022b847145af: add rsp,30h
0x0000022b847145b3: pop rbp
0x0000022b847145b4: jmp 22b8467ea20h ; {runtime_call}
0x0000022b847145b9: hlt
0x0000022b847145ba: hlt
0x0000022b847145bb: hlt
0x0000022b847145bc: hlt
0x0000022b847145bd: hlt
0x0000022b847145be: hlt
0x0000022b847145bf: hlt
[Exception Handler]
[Stub Code]
0x0000022b847145c0: call 22b8470e060h ; {no_reloc}
0x0000022b847145c5: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x0000022b847145ca: sub rsp,80h
0x0000022b847145d1: mov qword ptr [rsp+78h],rax
0x0000022b847145d6: mov qword ptr [rsp+70h],rcx
0x0000022b847145db: mov qword ptr [rsp+68h],rdx
0x0000022b847145e0: mov qword ptr [rsp+60h],rbx
0x0000022b847145e5: mov qword ptr [rsp+50h],rbp
0x0000022b847145ea: mov qword ptr [rsp+48h],rsi
0x0000022b847145ef: mov qword ptr [rsp+40h],rdi
0x0000022b847145f4: mov qword ptr [rsp+38h],r8
0x0000022b847145f9: mov qword ptr [rsp+30h],r9
0x0000022b847145fe: mov qword ptr [rsp+28h],r10
0x0000022b84714603: mov qword ptr [rsp+20h],r11
0x0000022b84714608: mov qword ptr [rsp+18h],r12
0x0000022b8471460d: mov qword ptr [rsp+10h],r13
0x0000022b84714612: mov qword ptr [rsp+8h],r14
0x0000022b84714617: mov qword ptr [rsp],r15
0x0000022b8471461b: mov rcx,776ad740h ; {external_word}
0x0000022b84714625: mov rdx,22b847145c5h ; {internal_word}
0x0000022b8471462f: mov r8,rsp
0x0000022b84714632: and rsp,0fffffffffffffff0h
0x0000022b84714636: mov r10,7738d310h ; {runtime_call}
0x0000022b84714640: call indirect r10
0x0000022b84714643: hlt
[Deopt Handler Code]
0x0000022b84714644: mov r10,22b84714644h ; {section_word}
0x0000022b8471464e: push r10
0x0000022b84714650: jmp 22b84657200h ; {runtime_call}
0x0000022b84714655: hlt
0x0000022b84714656: hlt
0x0000022b84714657: hlt
Decoding compiled method 0x0000022b84713d90:
Code:
Argument 0 is unknown.RIP: 0x22b84713f00 Code size: 0x00000268
[Entry Point]
# {method} {0x0000022b9a4b8808} 'arraycopy' '(Ljava/lang/Object;ILjava/lang/Object;II)V' in 'java/lang/System'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8 = int
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi = int
# parm4: rsi = int
# [sp+0x90] (sp of caller)
0x0000022b84713f00: mov r10d,dword ptr [rdx+8h]
0x0000022b84713f04: shl r10,3h
0x0000022b84713f08: cmp rax,r10
0x0000022b84713f0b: je 22b84713f18h
0x0000022b84713f11: jmp 22b84655f60h ; {runtime_call}
0x0000022b84713f16: nop
[Verified Entry Point]
0x0000022b84713f18: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b84713f1f: push rbp
0x0000022b84713f20: mov rbp,rsp
0x0000022b84713f23: sub rsp,80h
0x0000022b84713f2a: mov qword ptr [rsp+30h],rsi
0x0000022b84713f2f: mov qword ptr [rsp+28h],rdi
0x0000022b84713f34: mov qword ptr [rsp+48h],r9
0x0000022b84713f39: cmp r9,0h
0x0000022b84713f3d: lea rax,[rsp+48h]
0x0000022b84713f42: cmove rax,qword ptr [rsp+48h]
0x0000022b84713f48: mov qword ptr [rsp+20h],rax
0x0000022b84713f4d: mov r9,r8
0x0000022b84713f50: mov qword ptr [rsp+38h],rdx
0x0000022b84713f55: cmp rdx,0h
0x0000022b84713f59: lea r8,[rsp+38h]
0x0000022b84713f5e: cmove r8,qword ptr [rsp+38h]
0x0000022b84713f64: mov r14,783000c78h ; {oop(a 'java/lang/Class' = 'java/lang/System')}
0x0000022b84713f6e: mov qword ptr [rsp+68h],r14
0x0000022b84713f73: lea r14,[rsp+68h]
0x0000022b84713f78: mov rdx,r14 ; OopMap{[72]=Oop [56]=Oop [104]=Oop off=123}
0x0000022b84713f7b: mov r10,22b84713f7bh ; {section_word}
0x0000022b84713f85: mov qword ptr [r15+1e0h],r10
0x0000022b84713f8c: mov qword ptr [r15+1d8h],rsp
0x0000022b84713f93: mov r10,77885d47h ; {external_word}
0x0000022b84713f9d: cmp byte ptr [r10],0h
0x0000022b84713fa1: je 22b84713ff9h
0x0000022b84713fa7: push rdx
0x0000022b84713fa8: push r8
0x0000022b84713faa: push r9
0x0000022b84713fac: mov rdx,22b9a4b8800h ; {metadata({method} {0x0000022b9a4b8808} 'arraycopy' '(Ljava/lang/Object;ILjava/lang/Object;II)V' in 'java/lang/System')}
0x0000022b84713fb6: mov rcx,r15
0x0000022b84713fb9: sub rsp,20h
0x0000022b84713fbd: test esp,0fh
0x0000022b84713fc3: je 22b84713fe3h
0x0000022b84713fc9: sub rsp,8h
0x0000022b84713fcd: mov r10,772d44c0h ; {runtime_call}
0x0000022b84713fd7: call indirect r10
0x0000022b84713fda: add rsp,8h
0x0000022b84713fde: jmp 22b84713ff0h
0x0000022b84713fe3: mov r10,772d44c0h ; {runtime_call}
0x0000022b84713fed: call indirect r10
0x0000022b84713ff0: add rsp,20h
0x0000022b84713ff4: pop r9
0x0000022b84713ff6: pop r8
0x0000022b84713ff8: pop rdx
0x0000022b84713ff9: lea rcx,[r15+1f8h]
0x0000022b84714000: mov dword ptr [r15+270h],4h
0x0000022b8471400b: mov r10,7ffb9bc2077dh ; {runtime_call}
0x0000022b84714015: call indirect r10
0x0000022b84714018: vzeroupper
0x0000022b8471401b: mov dword ptr [r15+270h],5h
0x0000022b84714026: mov ecx,r15d
0x0000022b84714029: shr ecx,4h
0x0000022b8471402c: and ecx,0ffch
0x0000022b84714032: mov r10,22b82bd0000h ; {external_word}
0x0000022b8471403c: mov dword ptr [r10+rcx],ecx
0x0000022b84714040: mov r10,77886a10h ; {external_word}
0x0000022b8471404a: cmp dword ptr [r10],0h
0x0000022b84714051: jne 22b84714065h
0x0000022b84714057: cmp dword ptr [r15+30h],0h
0x0000022b8471405f: je 22b84714086h
0x0000022b84714065: mov rcx,r15
0x0000022b84714068: mov r12,rsp
0x0000022b8471406b: sub rsp,20h
0x0000022b8471406f: and rsp,0fffffffffffffff0h
0x0000022b84714073: mov r10,772e7c30h ; {runtime_call}
0x0000022b8471407d: call indirect r10
0x0000022b84714080: mov rsp,r12
0x0000022b84714083: xor r12,r12
0x0000022b84714086: mov dword ptr [r15+270h],8h
0x0000022b84714091: cmp dword ptr [r15+29ch],1h
0x0000022b8471409c: je 22b84714143h
0x0000022b847140a2: mov r10,77885d47h ; {external_word}
0x0000022b847140ac: cmp byte ptr [r10],0h
0x0000022b847140b0: je 22b847140feh
0x0000022b847140b6: mov rdx,22b9a4b8800h ; {metadata({method} {0x0000022b9a4b8808} 'arraycopy' '(Ljava/lang/Object;ILjava/lang/Object;II)V' in 'java/lang/System')}
0x0000022b847140c0: mov rcx,r15
0x0000022b847140c3: sub rsp,20h
0x0000022b847140c7: test esp,0fh
0x0000022b847140cd: je 22b847140edh
0x0000022b847140d3: sub rsp,8h
0x0000022b847140d7: mov r10,772d44c0h ; {runtime_call}
0x0000022b847140e1: call indirect r10
0x0000022b847140e4: add rsp,8h
0x0000022b847140e8: jmp 22b847140fah
0x0000022b847140ed: mov r10,772d44c0h ; {runtime_call}
0x0000022b847140f7: call indirect r10
0x0000022b847140fa: add rsp,20h
0x0000022b847140fe: mov r10,0h
0x0000022b84714108: mov qword ptr [r15+1d8h],r10
0x0000022b8471410f: mov r10,0h
0x0000022b84714119: mov qword ptr [r15+1e0h],r10
0x0000022b84714120: mov rcx,qword ptr [r15+38h]
0x0000022b84714124: mov dword ptr [rcx+100h],0h
0x0000022b8471412e: leave
0x0000022b8471412f: cmp qword ptr [r15+8h],0h
0x0000022b84714137: jne 22b8471413eh
0x0000022b8471413d: ret
0x0000022b8471413e: jmp 22b846107e0h ; {runtime_call}
0x0000022b84714143: mov r12,rsp
0x0000022b84714146: sub rsp,20h
0x0000022b8471414a: and rsp,0fffffffffffffff0h
0x0000022b8471414e: mov r10,772d7da0h ; {runtime_call}
0x0000022b84714158: call indirect r10
0x0000022b8471415b: mov rsp,r12
0x0000022b8471415e: xor r12,r12
0x0000022b84714161: jmp 22b847140a2h
0x0000022b84714166: hlt
0x0000022b84714167: hlt
Decoding compiled method 0x0000022b847139d0:
Code:
Argument 0 is unknown.RIP: 0x22b84713b20 Code size: 0x000000d8
[Entry Point]
[Constants]
# {method} {0x0000022b9a4a3bf8} 'charAt' '(I)C' in 'java/lang/String'
# this: rdx:rdx = 'java/lang/String'
# parm0: r8 = int
# [sp+0x30] (sp of caller)
0x0000022b84713b20: mov r10d,dword ptr [rdx+8h]
0x0000022b84713b24: shl r10,3h
0x0000022b84713b28: cmp rax,r10
0x0000022b84713b2b: jne 22b84655f60h ; {runtime_call}
0x0000022b84713b31: nop
0x0000022b84713b34: nop word ptr [rax+rax+0h]
0x0000022b84713b3a: nop word ptr [rax+rax+0h]
[Verified Entry Point]
0x0000022b84713b40: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b84713b47: push rbp
0x0000022b84713b48: sub rsp,20h ;*synchronization entry
; - java.lang.String::charAt@-1
0x0000022b84713b4c: test r8d,r8d
0x0000022b84713b4f: jl 22b84713b8dh ;*iflt
; - java.lang.String::charAt@1
0x0000022b84713b51: mov r10d,dword ptr [rdx+0ch]
;*getfield value
; - java.lang.String::charAt@6
0x0000022b84713b55: mov ebp,dword ptr [r12+r10*8+0ch]
;*arraylength
; - java.lang.String::charAt@9
; implicit exception: dispatches to 0x0000022b84713bb5
0x0000022b84713b5a: cmp r8d,ebp
0x0000022b84713b5d: jnl 22b84713ba1h ;*if_icmplt
; - java.lang.String::charAt@10
0x0000022b84713b5f: cmp r8d,ebp
0x0000022b84713b62: jnb 22b84713b7ah
0x0000022b84713b64: shl r10,3h
0x0000022b84713b68: movzx eax,word ptr [r10+r8*2+10h]
0x0000022b84713b6e: add rsp,20h
0x0000022b84713b72: pop rbp
0x0000022b84713b73: test dword ptr [22b82bc0000h],eax
; {poll_return}
0x0000022b84713b79: ret
0x0000022b84713b7a: mov edx,0ffffffe4h
0x0000022b84713b7f: mov ebp,r8d
0x0000022b84713b82: mov dword ptr [rsp],r10d
0x0000022b84713b86: nop
0x0000022b84713b87: call 22b846557a0h ; OopMap{[0]=NarrowOop off=108}
;*caload
; - java.lang.String::charAt@27
; {runtime_call}
0x0000022b84713b8c: int3 ;*caload
; - java.lang.String::charAt@27
0x0000022b84713b8d: mov rbp,rdx
0x0000022b84713b90: mov dword ptr [rsp+4h],r8d
0x0000022b84713b95: mov edx,0ffffff65h
0x0000022b84713b9a: nop
0x0000022b84713b9b: call 22b846557a0h ; OopMap{rbp=Oop off=128}
;*iflt
; - java.lang.String::charAt@1
; {runtime_call}
0x0000022b84713ba0: int3 ;*iflt
; - java.lang.String::charAt@1
0x0000022b84713ba1: mov qword ptr [rsp],rdx
0x0000022b84713ba5: mov dword ptr [rsp+0ch],r8d
0x0000022b84713baa: mov edx,0ffffff65h
0x0000022b84713baf: call 22b846557a0h ; OopMap{[0]=Oop off=148}
;*if_icmplt
; - java.lang.String::charAt@10
; {runtime_call}
0x0000022b84713bb4: int3 ;*if_icmplt
; - java.lang.String::charAt@10
0x0000022b84713bb5: mov edx,0fffffff6h
0x0000022b84713bba: nop
0x0000022b84713bbb: call 22b846557a0h ; OopMap{off=160}
;*arraylength
; - java.lang.String::charAt@9
; {runtime_call}
0x0000022b84713bc0: int3 ;*arraylength
; - java.lang.String::charAt@9
0x0000022b84713bc1: hlt
0x0000022b84713bc2: hlt
0x0000022b84713bc3: hlt
0x0000022b84713bc4: hlt
0x0000022b84713bc5: hlt
0x0000022b84713bc6: hlt
0x0000022b84713bc7: hlt
0x0000022b84713bc8: hlt
0x0000022b84713bc9: hlt
0x0000022b84713bca: hlt
0x0000022b84713bcb: hlt
0x0000022b84713bcc: hlt
0x0000022b84713bcd: hlt
0x0000022b84713bce: hlt
0x0000022b84713bcf: hlt
0x0000022b84713bd0: hlt
0x0000022b84713bd1: hlt
0x0000022b84713bd2: hlt
0x0000022b84713bd3: hlt
0x0000022b84713bd4: hlt
0x0000022b84713bd5: hlt
0x0000022b84713bd6: hlt
0x0000022b84713bd7: hlt
0x0000022b84713bd8: hlt
0x0000022b84713bd9: hlt
0x0000022b84713bda: hlt
0x0000022b84713bdb: hlt
0x0000022b84713bdc: hlt
0x0000022b84713bdd: hlt
0x0000022b84713bde: hlt
0x0000022b84713bdf: hlt
[Exception Handler]
[Stub Code]
0x0000022b84713be0: jmp 22b8467ed20h ; {no_reloc}
[Deopt Handler Code]
0x0000022b84713be5: call 22b84713beah
0x0000022b84713bea: sub qword ptr [rsp],5h
0x0000022b84713bef: jmp 22b84657200h ; {runtime_call}
0x0000022b84713bf4: hlt
0x0000022b84713bf5: hlt
0x0000022b84713bf6: hlt
0x0000022b84713bf7: hlt
Decoding compiled method 0x0000022b8471ee50:
Code:
Argument 0 is unknown.RIP: 0x22b8471f020 Code size: 0x00000500
[Entry Point]
[Constants]
# {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String'
# this: rdx:rdx = 'java/lang/String'
# parm0: r8:r8 = '[C'
# parm1: r9 = int
# parm2: rdi = int
# [sp+0x70] (sp of caller)
0x0000022b8471f020: mov r10d,dword ptr [rdx+8h]
0x0000022b8471f024: shl r10,3h
0x0000022b8471f028: cmp r10,rax
0x0000022b8471f02b: jne 22b84655f60h ; {runtime_call}
0x0000022b8471f031: nop dword ptr [rax+rax+0h]
0x0000022b8471f039: nop dword ptr [rax+0h]
[Verified Entry Point]
0x0000022b8471f040: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b8471f047: push rbp
0x0000022b8471f048: sub rsp,60h
0x0000022b8471f04c: mov rsi,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f056: mov ebx,dword ptr [rsi+0dch]
0x0000022b8471f05c: add ebx,8h
0x0000022b8471f05f: mov dword ptr [rsi+0dch],ebx
0x0000022b8471f065: mov rsi,22b9a4a3078h ; {metadata({method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f06f: and ebx,1ff8h
0x0000022b8471f075: cmp ebx,0h
0x0000022b8471f078: je 22b8471f34eh ;*aload_0
; - java.lang.String::<init>@0
0x0000022b8471f07e: mov rsi,rdx
0x0000022b8471f081: mov rbx,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f08b: add qword ptr [rbx+108h],1h
0x0000022b8471f093: mov rsi,22b9a5cb098h ; {metadata(method data for {method} {0x0000022b9a4a0470} '<init>' '()V' in 'java/lang/Object')}
0x0000022b8471f09d: mov ebx,dword ptr [rsi+0dch]
0x0000022b8471f0a3: add ebx,8h
0x0000022b8471f0a6: mov dword ptr [rsi+0dch],ebx
0x0000022b8471f0ac: mov rsi,22b9a4a0468h ; {metadata({method} {0x0000022b9a4a0470} '<init>' '()V' in 'java/lang/Object')}
0x0000022b8471f0b6: and ebx,7ffff8h
0x0000022b8471f0bc: cmp ebx,0h
0x0000022b8471f0bf: je 22b8471f365h
0x0000022b8471f0c5: cmp r9d,0h
0x0000022b8471f0c9: mov rsi,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f0d3: mov rbx,118h
0x0000022b8471f0dd: jnl 22b8471f0edh
0x0000022b8471f0e3: mov rbx,128h
0x0000022b8471f0ed: mov rax,qword ptr [rsi+rbx]
0x0000022b8471f0f1: lea rax,[rax+1h]
0x0000022b8471f0f5: mov qword ptr [rsi+rbx],rax
0x0000022b8471f0f9: jl 22b8471f30eh ;*ifge
; - java.lang.String::<init>@5
0x0000022b8471f0ff: cmp edi,0h
0x0000022b8471f102: mov rsi,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f10c: mov rbx,148h
0x0000022b8471f116: jnle 22b8471f126h
0x0000022b8471f11c: mov rbx,158h
0x0000022b8471f126: mov rax,qword ptr [rsi+rbx]
0x0000022b8471f12a: lea rax,[rax+1h]
0x0000022b8471f12e: mov qword ptr [rsi+rbx],rax
0x0000022b8471f132: jnle 22b8471f1aeh ;*ifgt
; - java.lang.String::<init>@18
0x0000022b8471f138: cmp edi,0h
0x0000022b8471f13b: mov rsi,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f145: mov rbx,168h
0x0000022b8471f14f: jnl 22b8471f15fh
0x0000022b8471f155: mov rbx,178h
0x0000022b8471f15f: mov rax,qword ptr [rsi+rbx]
0x0000022b8471f163: lea rax,[rax+1h]
0x0000022b8471f167: mov qword ptr [rsi+rbx],rax
0x0000022b8471f16b: jl 22b8471f2ceh ;*ifge
; - java.lang.String::<init>@22
0x0000022b8471f171: mov esi,dword ptr [r8+0ch] ;*arraylength
; - java.lang.String::<init>@36
; implicit exception: dispatches to 0x0000022b8471f37c
0x0000022b8471f175: cmp r9d,esi
0x0000022b8471f178: mov rsi,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f182: mov rbx,198h
0x0000022b8471f18c: jnle 22b8471f19ch
0x0000022b8471f192: mov rbx,1a8h
0x0000022b8471f19c: mov rax,qword ptr [rsi+rbx]
0x0000022b8471f1a0: lea rax,[rax+1h]
0x0000022b8471f1a4: mov qword ptr [rsi+rbx],rax
0x0000022b8471f1a8: jle 22b8471f24ah ;*if_icmpgt
; - java.lang.String::<init>@37
0x0000022b8471f1ae: mov esi,dword ptr [r8+0ch] ;*arraylength
; - java.lang.String::<init>@52
; implicit exception: dispatches to 0x0000022b8471f381
0x0000022b8471f1b2: sub esi,edi
0x0000022b8471f1b4: cmp r9d,esi
0x0000022b8471f1b7: mov rsi,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f1c1: mov rbx,1b8h
0x0000022b8471f1cb: jle 22b8471f1dbh
0x0000022b8471f1d1: mov rbx,1c8h
0x0000022b8471f1db: mov rax,qword ptr [rsi+rbx]
0x0000022b8471f1df: lea rax,[rax+1h]
0x0000022b8471f1e3: mov qword ptr [rsi+rbx],rax
0x0000022b8471f1e7: jnle 22b8471f284h ;*if_icmple
; - java.lang.String::<init>@55
0x0000022b8471f1ed: mov qword ptr [rsp+38h],rdx
0x0000022b8471f1f2: mov rsi,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f1fc: add qword ptr [rsi+1e8h],1h
0x0000022b8471f204: add edi,r9d
0x0000022b8471f207: mov rdx,r8
0x0000022b8471f20a: mov r8,r9
0x0000022b8471f20d: mov r9,rdi ;*invokestatic copyOfRange
; - java.lang.String::<init>@75
0x0000022b8471f210: nop
0x0000022b8471f211: nop
0x0000022b8471f212: nop
0x0000022b8471f213: nop
0x0000022b8471f214: nop
0x0000022b8471f215: nop
0x0000022b8471f216: nop
0x0000022b8471f217: call 22b84656620h ; OopMap{[56]=Oop off=508}
;*invokestatic copyOfRange
; - java.lang.String::<init>@75
; {static_call}
0x0000022b8471f21c: mov rdx,qword ptr [rsp+38h]
0x0000022b8471f221: mov r10,rax
0x0000022b8471f224: shr r10,3h
0x0000022b8471f228: mov dword ptr [rdx+0ch],r10d
0x0000022b8471f22c: shr rdx,9h
0x0000022b8471f230: mov rax,22b90188000h
0x0000022b8471f23a: mov byte ptr [rdx+rax],0h ;*putfield value
; - java.lang.String::<init>@78
0x0000022b8471f23e: add rsp,60h
0x0000022b8471f242: pop rbp
0x0000022b8471f243: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b8471f249: ret ;*return
; - java.lang.String::<init>@81
0x0000022b8471f24a: mov rax,78300ad38h ; {oop("")}
0x0000022b8471f254: mov eax,dword ptr [rax+0ch] ; implicit exception: dispatches to 0x0000022b8471f386
0x0000022b8471f257: shl rax,3h ;*getfield value
; - java.lang.String::<init>@43
0x0000022b8471f25b: mov r10,rax
0x0000022b8471f25e: shr r10,3h
0x0000022b8471f262: mov dword ptr [rdx+0ch],r10d
0x0000022b8471f266: shr rdx,9h
0x0000022b8471f26a: mov rax,22b90188000h
0x0000022b8471f274: mov byte ptr [rdx+rax],0h ;*putfield value
; - java.lang.String::<init>@46
0x0000022b8471f278: add rsp,60h
0x0000022b8471f27c: pop rbp
0x0000022b8471f27d: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b8471f283: ret ;*return
; - java.lang.String::<init>@49
0x0000022b8471f284: nop dword ptr [rax+0h]
0x0000022b8471f288: jmp 22b8471f39ah ; {no_reloc}
0x0000022b8471f28d: add byte ptr [rax],al
0x0000022b8471f28f: add byte ptr [rax],al
0x0000022b8471f291: add cl,ch
0x0000022b8471f293: or eax,4c000001h ;*new ; - java.lang.String::<init>@58
0x0000022b8471f298: mov eax,eax
0x0000022b8471f29a: mov rdx,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f2a4: add qword ptr [rdx+1d8h],1h
0x0000022b8471f2ac: add edi,r9d
0x0000022b8471f2af: mov r8,rdi
0x0000022b8471f2b2: mov rdx,rax ;*invokespecial <init>
; - java.lang.String::<init>@65
0x0000022b8471f2b5: mov qword ptr [rsp+40h],rax
0x0000022b8471f2ba: nop
0x0000022b8471f2bb: nop
0x0000022b8471f2bc: nop
0x0000022b8471f2bd: nop
0x0000022b8471f2be: nop
0x0000022b8471f2bf: call 22b846561a0h ; OopMap{[64]=Oop off=676}
;*invokespecial <init>
; - java.lang.String::<init>@65
; {optimized virtual_call}
0x0000022b8471f2c4: mov rax,qword ptr [rsp+40h]
0x0000022b8471f2c9: jmp 22b8471f428h ;*athrow
; - java.lang.String::<init>@68
0x0000022b8471f2ce: nop
0x0000022b8471f2d0: jmp 22b8471f3c0h ; {no_reloc}
0x0000022b8471f2d5: add byte ptr [rax],al
0x0000022b8471f2d7: add byte ptr [rax],al
0x0000022b8471f2d9: add cl,ch
0x0000022b8471f2db: jmp 22b8471f2ddh
0x0000022b8471f2dd: add byte ptr [rax],al ;*new
; - java.lang.String::<init>@25
0x0000022b8471f2df: mov r8,rax
0x0000022b8471f2e2: mov rdx,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f2ec: add qword ptr [rdx+188h],1h
0x0000022b8471f2f4: mov r8,rdi
0x0000022b8471f2f7: mov rdx,rax ;*invokespecial <init>
; - java.lang.String::<init>@30
0x0000022b8471f2fa: mov qword ptr [rsp+48h],rax
0x0000022b8471f2ff: call 22b846561a0h ; OopMap{[72]=Oop off=740}
;*invokespecial <init>
; - java.lang.String::<init>@30
; {optimized virtual_call}
0x0000022b8471f304: mov rax,qword ptr [rsp+48h]
0x0000022b8471f309: jmp 22b8471f428h ;*athrow
; - java.lang.String::<init>@33
0x0000022b8471f30e: nop
0x0000022b8471f310: jmp 22b8471f3e6h ; {no_reloc}
0x0000022b8471f315: add byte ptr [rax],al
0x0000022b8471f317: add byte ptr [rax],al
0x0000022b8471f319: add cl,ch
0x0000022b8471f31b: rol dword ptr [rax],1h
0x0000022b8471f31d: add byte ptr [rax],al ;*new
; - java.lang.String::<init>@8
0x0000022b8471f31f: mov r8,rax
0x0000022b8471f322: mov rdx,22b9a69a428h ; {metadata(method data for {method} {0x0000022b9a4a3080} '<init>' '([CII)V' in 'java/lang/String')}
0x0000022b8471f32c: add qword ptr [rdx+138h],1h
0x0000022b8471f334: mov r8,r9
0x0000022b8471f337: mov rdx,rax ;*invokespecial <init>
; - java.lang.String::<init>@13
0x0000022b8471f33a: mov qword ptr [rsp+50h],rax
0x0000022b8471f33f: call 22b846561a0h ; OopMap{[80]=Oop off=804}
;*invokespecial <init>
; - java.lang.String::<init>@13
; {optimized virtual_call}
0x0000022b8471f344: mov rax,qword ptr [rsp+50h]
0x0000022b8471f349: jmp 22b8471f428h
0x0000022b8471f34e: mov qword ptr [rsp+8h],rsi
0x0000022b8471f353: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b8471f35b: call 22b84710ce0h ; OopMap{rdx=Oop r8=Oop off=832}
;*synchronization entry
; - java.lang.String::<init>@-1
; {runtime_call}
0x0000022b8471f360: jmp 22b8471f07eh
0x0000022b8471f365: mov qword ptr [rsp+8h],rsi
0x0000022b8471f36a: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b8471f372: call 22b84710ce0h ; OopMap{rdx=Oop r8=Oop off=855}
;*synchronization entry
; - java.lang.Object::<init>@-1
; - java.lang.String::<init>@1
; {runtime_call}
0x0000022b8471f377: jmp 22b8471f0c5h
0x0000022b8471f37c: call 22b8470c000h ; OopMap{rdx=Oop r8=Oop off=865}
;*arraylength
; - java.lang.String::<init>@36
; {runtime_call}
0x0000022b8471f381: call 22b8470c000h ; OopMap{rdx=Oop r8=Oop off=870}
;*arraylength
; - java.lang.String::<init>@52
; {runtime_call}
0x0000022b8471f386: call 22b8470c000h ; OopMap{rdx=Oop off=875}
;*getfield value
; - java.lang.String::<init>@43
; {runtime_call}
0x0000022b8471f38b: mov rdx,0h ; {metadata(NULL)}
0x0000022b8471f395: mov eax,0a050f00h
0x0000022b8471f39a: call 22b8470f8a0h ; OopMap{off=895}
;*new ; - java.lang.String::<init>@58
; {runtime_call}
0x0000022b8471f39f: jmp 22b8471f288h
0x0000022b8471f3a4: mov rdx,rdx
0x0000022b8471f3a7: call 22b8470c4e0h ; OopMap{off=908}
;*new ; - java.lang.String::<init>@58
; {runtime_call}
0x0000022b8471f3ac: jmp 22b8471f297h
0x0000022b8471f3b1: mov rdx,0h ; {metadata(NULL)}
0x0000022b8471f3bb: mov eax,0a050f00h
0x0000022b8471f3c0: call 22b8470f8a0h ; OopMap{off=933}
;*new ; - java.lang.String::<init>@25
; {runtime_call}
0x0000022b8471f3c5: jmp 22b8471f2d0h
0x0000022b8471f3ca: mov rdx,rdx
0x0000022b8471f3cd: call 22b8470c4e0h ; OopMap{off=946}
;*new ; - java.lang.String::<init>@25
; {runtime_call}
0x0000022b8471f3d2: jmp 22b8471f2dfh
0x0000022b8471f3d7: mov rdx,0h ; {metadata(NULL)}
0x0000022b8471f3e1: mov eax,0a050f00h
0x0000022b8471f3e6: call 22b8470f8a0h ; OopMap{off=971}
;*new ; - java.lang.String::<init>@8
; {runtime_call}
0x0000022b8471f3eb: jmp 22b8471f310h
0x0000022b8471f3f0: mov rdx,rdx
0x0000022b8471f3f3: call 22b8470c4e0h ; OopMap{off=984}
;*new ; - java.lang.String::<init>@8
; {runtime_call}
0x0000022b8471f3f8: jmp 22b8471f31fh
0x0000022b8471f3fd: nop
0x0000022b8471f3fe: nop
0x0000022b8471f3ff: mov rax,qword ptr [r15+2a8h]
0x0000022b8471f406: mov r10,0h
0x0000022b8471f410: mov qword ptr [r15+2a8h],r10
0x0000022b8471f417: mov r10,0h
0x0000022b8471f421: mov qword ptr [r15+2b0h],r10
0x0000022b8471f428: add rsp,60h
0x0000022b8471f42c: pop rbp
0x0000022b8471f42d: jmp 22b8467ea20h ; {runtime_call}
0x0000022b8471f432: hlt
0x0000022b8471f433: hlt
0x0000022b8471f434: hlt
0x0000022b8471f435: hlt
0x0000022b8471f436: hlt
0x0000022b8471f437: hlt
0x0000022b8471f438: hlt
0x0000022b8471f439: hlt
0x0000022b8471f43a: hlt
0x0000022b8471f43b: hlt
0x0000022b8471f43c: hlt
0x0000022b8471f43d: hlt
0x0000022b8471f43e: hlt
0x0000022b8471f43f: hlt
[Stub Code]
0x0000022b8471f440: nop ; {no_reloc}
0x0000022b8471f441: nop
0x0000022b8471f442: nop
0x0000022b8471f443: nop
0x0000022b8471f444: nop
0x0000022b8471f445: mov rbx,0h ; {static_stub}
0x0000022b8471f44f: jmp 22b8471f44fh ; {runtime_call}
0x0000022b8471f454: nop
0x0000022b8471f455: mov rbx,0h ; {static_stub}
0x0000022b8471f45f: jmp 22b8471f45fh ; {runtime_call}
0x0000022b8471f464: nop
0x0000022b8471f465: mov rbx,0h ; {static_stub}
0x0000022b8471f46f: jmp 22b8471f46fh ; {runtime_call}
0x0000022b8471f474: nop
0x0000022b8471f475: mov rbx,0h ; {static_stub}
0x0000022b8471f47f: jmp 22b8471f47fh ; {runtime_call}
[Exception Handler]
0x0000022b8471f484: call 22b8470e060h ; {runtime_call}
0x0000022b8471f489: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x0000022b8471f48e: sub rsp,80h
0x0000022b8471f495: mov qword ptr [rsp+78h],rax
0x0000022b8471f49a: mov qword ptr [rsp+70h],rcx
0x0000022b8471f49f: mov qword ptr [rsp+68h],rdx
0x0000022b8471f4a4: mov qword ptr [rsp+60h],rbx
0x0000022b8471f4a9: mov qword ptr [rsp+50h],rbp
0x0000022b8471f4ae: mov qword ptr [rsp+48h],rsi
0x0000022b8471f4b3: mov qword ptr [rsp+40h],rdi
0x0000022b8471f4b8: mov qword ptr [rsp+38h],r8
0x0000022b8471f4bd: mov qword ptr [rsp+30h],r9
0x0000022b8471f4c2: mov qword ptr [rsp+28h],r10
0x0000022b8471f4c7: mov qword ptr [rsp+20h],r11
0x0000022b8471f4cc: mov qword ptr [rsp+18h],r12
0x0000022b8471f4d1: mov qword ptr [rsp+10h],r13
0x0000022b8471f4d6: mov qword ptr [rsp+8h],r14
0x0000022b8471f4db: mov qword ptr [rsp],r15
0x0000022b8471f4df: mov rcx,776ad740h ; {external_word}
0x0000022b8471f4e9: mov rdx,22b8471f489h ; {internal_word}
0x0000022b8471f4f3: mov r8,rsp
0x0000022b8471f4f6: and rsp,0fffffffffffffff0h
0x0000022b8471f4fa: mov r10,7738d310h ; {runtime_call}
0x0000022b8471f504: call indirect r10
0x0000022b8471f507: hlt
[Deopt Handler Code]
0x0000022b8471f508: mov r10,22b8471f508h ; {section_word}
0x0000022b8471f512: push r10
0x0000022b8471f514: jmp 22b84657200h ; {runtime_call}
0x0000022b8471f519: hlt
0x0000022b8471f51a: hlt
0x0000022b8471f51b: hlt
0x0000022b8471f51c: hlt
0x0000022b8471f51d: hlt
0x0000022b8471f51e: hlt
0x0000022b8471f51f: hlt
Decoding compiled method 0x0000022b84715150:
Code:
Argument 0 is unknown.RIP: 0x22b84715360 Code size: 0x00000b40
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000022b9a5b1760} 'copyOfRange' '([CII)[C' in 'java/util/Arrays'
# parm0: rdx:rdx = '[C'
# parm1: r8 = int
# parm2: r9 = int
# [sp+0xb0] (sp of caller)
0x0000022b84715360: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b84715367: push rbp
0x0000022b84715368: sub rsp,0a0h
0x0000022b8471536f: mov r11,rdx
0x0000022b84715372: mov rbx,22b9a69a678h ; {metadata(method data for {method} {0x0000022b9a5b1760} 'copyOfRange' '([CII)[C' in 'java/util/Arrays')}
0x0000022b8471537c: mov edx,dword ptr [rbx+0dch]
0x0000022b84715382: add edx,8h
0x0000022b84715385: mov dword ptr [rbx+0dch],edx
0x0000022b8471538b: mov rbx,22b9a5b1758h ; {metadata({method} {0x0000022b9a5b1760} 'copyOfRange' '([CII)[C' in 'java/util/Arrays')}
0x0000022b84715395: and edx,1ff8h
0x0000022b8471539b: cmp edx,0h
0x0000022b8471539e: je 22b84715c09h ;*iload_2
; - java.util.Arrays::copyOfRange@0
0x0000022b847153a4: mov r13,r9
0x0000022b847153a7: sub r13d,r8d
0x0000022b847153aa: cmp r13d,0h
0x0000022b847153ae: mov rbx,22b9a69a678h ; {metadata(method data for {method} {0x0000022b9a5b1760} 'copyOfRange' '([CII)[C' in 'java/util/Arrays')}
0x0000022b847153b8: mov rdx,108h
0x0000022b847153c2: jnl 22b847153d2h
0x0000022b847153c8: mov rdx,118h
0x0000022b847153d2: mov rsi,qword ptr [rbx+rdx]
0x0000022b847153d6: lea rsi,[rsi+1h]
0x0000022b847153da: mov qword ptr [rbx+rdx],rsi
0x0000022b847153de: jl 22b847155a6h ;*ifge
; - java.util.Arrays::copyOfRange@5
0x0000022b847153e4: mov rbx,r13
0x0000022b847153e7: mov rdx,7c0000208h ; {metadata({type array char})}
0x0000022b847153f1: movsxd rbx,ebx
0x0000022b847153f4: mov rdi,rbx
0x0000022b847153f7: cmp rbx,0ffffffh
0x0000022b847153fe: jnbe 22b84715c20h
0x0000022b84715404: mov rsi,17h
0x0000022b8471540e: lea rsi,[rsi+rbx*2]
0x0000022b84715412: and rsi,0fffffffffffffff8h
0x0000022b84715416: mov rax,qword ptr [r15+60h]
0x0000022b8471541a: lea rsi,[rax+rsi]
0x0000022b8471541e: cmp rsi,qword ptr [r15+70h]
0x0000022b84715422: jnbe 22b84715c20h
0x0000022b84715428: mov qword ptr [r15+60h],rsi
0x0000022b8471542c: sub rsi,rax
0x0000022b8471542f: mov qword ptr [rax],1h
0x0000022b84715436: mov rcx,rdx
0x0000022b84715439: shr rcx,3h
0x0000022b8471543d: mov dword ptr [rax+8h],ecx
0x0000022b84715440: mov dword ptr [rax+0ch],ebx
0x0000022b84715443: sub rsi,10h
0x0000022b84715447: je 22b8471545eh
0x0000022b8471544d: xor rbx,rbx
0x0000022b84715450: shr rsi,3h
0x0000022b84715454: mov qword ptr [rax+rsi*8+8h],rbx
0x0000022b84715459: dec rsi
0x0000022b8471545c: jne 22b84715454h ;*newarray
; - java.util.Arrays::copyOfRange@40
0x0000022b8471545e: mov edx,dword ptr [r11+0ch] ;*arraylength
; - java.util.Arrays::copyOfRange@50
; implicit exception: dispatches to 0x0000022b84715c2a
0x0000022b84715462: sub edx,r8d
0x0000022b84715465: mov r9,22b9a69a678h ; {metadata(method data for {method} {0x0000022b9a5b1760} 'copyOfRange' '([CII)[C' in 'java/util/Arrays')}
0x0000022b8471546f: add qword ptr [r9+208h],1h
0x0000022b84715477: mov r9,22b9a69c828h ; {metadata(method data for {method} {0x0000022b9a58dc70} 'min' '(II)I' in 'java/lang/Math')}
0x0000022b84715481: mov edi,dword ptr [r9+0dch]
0x0000022b84715488: add edi,8h
0x0000022b8471548b: mov dword ptr [r9+0dch],edi
0x0000022b84715492: mov r9,22b9a58dc68h ; {metadata({method} {0x0000022b9a58dc70} 'min' '(II)I' in 'java/lang/Math')}
0x0000022b8471549c: and edi,7ffff8h
0x0000022b847154a2: cmp edi,0h
0x0000022b847154a5: je 22b84715c2fh
0x0000022b847154ab: cmp edx,r13d
0x0000022b847154ae: mov r9,22b9a69c828h ; {metadata(method data for {method} {0x0000022b9a58dc70} 'min' '(II)I' in 'java/lang/Math')}
0x0000022b847154b8: mov rdi,108h
0x0000022b847154c2: jnle 22b847154d2h
0x0000022b847154c8: mov rdi,118h
0x0000022b847154d2: mov rsi,qword ptr [r9+rdi]
0x0000022b847154d6: lea rsi,[rsi+1h]
0x0000022b847154da: mov qword ptr [r9+rdi],rsi
0x0000022b847154de: jnle 22b847154fdh ;*if_icmpgt
; - java.lang.Math::min@2
; - java.util.Arrays::copyOfRange@54
0x0000022b847154e4: mov r9,22b9a69c828h ; {metadata(method data for {method} {0x0000022b9a58dc70} 'min' '(II)I' in 'java/lang/Math')}
0x0000022b847154ee: inc dword ptr [r9+128h]
0x0000022b847154f5: mov rsi,rdx
0x0000022b847154f8: jmp 22b84715500h ;*goto
; - java.lang.Math::min@6
; - java.util.Arrays::copyOfRange@54
0x0000022b847154fd: mov rsi,r13 ;*ireturn
; - java.lang.Math::min@10
; - java.util.Arrays::copyOfRange@54
0x0000022b84715500: mov rdx,22b9a69a678h ; {metadata(method data for {method} {0x0000022b9a5b1760} 'copyOfRange' '([CII)[C' in 'java/util/Arrays')}
0x0000022b8471550a: add qword ptr [rdx+218h],1h
0x0000022b84715512: mov rdx,r11
0x0000022b84715515: mov r9,rax
0x0000022b84715518: mov edi,0h
0x0000022b8471551d: mov qword ptr [rsp+70h],rax
0x0000022b84715522: test r8d,r8d
0x0000022b84715525: jl 22b84715c46h
0x0000022b8471552b: lea rcx,[r8+rsi]
0x0000022b8471552f: cmp ecx,dword ptr [rdx+0ch]
0x0000022b84715532: jnbe 22b84715c46h
0x0000022b84715538: lea rcx,[rdi+rsi]
0x0000022b8471553c: cmp ecx,dword ptr [r9+0ch]
0x0000022b84715540: jnbe 22b84715c46h
0x0000022b84715546: test esi,esi
0x0000022b84715548: jl 22b84715c46h
0x0000022b8471554e: je 22b84715592h
0x0000022b84715554: movsxd r8,r8d
0x0000022b84715557: movsxd rdi,edi
0x0000022b8471555a: lea rcx,[rdx+r8*2+10h]
0x0000022b8471555f: lea rdx,[r9+rdi*2+10h]
0x0000022b84715564: mov r8,rsi
0x0000022b84715567: sub rsp,20h
0x0000022b8471556b: test esp,0fh
0x0000022b84715571: je 22b84715589h
0x0000022b84715577: sub rsp,8h
0x0000022b8471557b: call 22b84662820h ; {runtime_call}
0x0000022b84715580: add rsp,8h
0x0000022b84715584: jmp 22b8471558eh
0x0000022b84715589: call 22b84662820h ; {runtime_call}
0x0000022b8471558e: add rsp,20h ;*invokestatic arraycopy
; - java.util.Arrays::copyOfRange@57
0x0000022b84715592: mov rax,qword ptr [rsp+70h]
0x0000022b84715597: add rsp,0a0h
0x0000022b8471559e: pop rbp
0x0000022b8471559f: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b847155a5: ret ;*areturn
; - java.util.Arrays::copyOfRange@62
0x0000022b847155a6: mov dword ptr [rsp+80h],r9d
0x0000022b847155ae: nop
0x0000022b847155b0: jmp 22b84715c60h ; {no_reloc}
0x0000022b847155b5: add byte ptr [rax],al
0x0000022b847155b7: add byte ptr [rax],al
0x0000022b847155b9: add byte ptr [rcx+0ffffffffffffff8bh],cl
0x0000022b847155bc: Fatal error: Disassembling failed with error code: 15Decoding compiled method 0x0000022b84713690:
Code:
Argument 0 is unknown.RIP: 0x22b847137e0 Code size: 0x00000158
[Entry Point]
[Constants]
# {method} {0x0000022b9a4a0470} '<init>' '()V' in 'java/lang/Object'
# [sp+0x60] (sp of caller)
0x0000022b847137e0: mov r10d,dword ptr [rdx+8h]
0x0000022b847137e4: shl r10,3h
0x0000022b847137e8: cmp r10,rax
0x0000022b847137eb: jne 22b84655f60h ; {runtime_call}
0x0000022b847137f1: nop dword ptr [rax+rax+0h]
0x0000022b847137f9: nop dword ptr [rax+0h]
[Verified Entry Point]
0x0000022b84713800: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b84713807: push rbp
0x0000022b84713808: sub rsp,50h
0x0000022b8471380c: mov rcx,22b9a5cb098h ; {metadata(method data for {method} {0x0000022b9a4a0470} '<init>' '()V' in 'java/lang/Object')}
0x0000022b84713816: mov esi,dword ptr [rcx+0dch]
0x0000022b8471381c: add esi,8h
0x0000022b8471381f: mov dword ptr [rcx+0dch],esi
0x0000022b84713825: mov rcx,22b9a4a0468h ; {metadata({method} {0x0000022b9a4a0470} '<init>' '()V' in 'java/lang/Object')}
0x0000022b8471382f: and esi,1ff8h
0x0000022b84713835: cmp esi,0h
0x0000022b84713838: je 22b84713857h
0x0000022b8471383e: mov rcx,rdx ;*return
; - java.lang.Object::<init>@0
0x0000022b84713841: mov qword ptr [rsp+40h],rdx
0x0000022b84713846: call 22b8470c220h ; OopMap{[64]=Oop off=107}
;*return
; - java.lang.Object::<init>@0
; {runtime_call}
0x0000022b8471384b: add rsp,50h
0x0000022b8471384f: pop rbp
0x0000022b84713850: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b84713856: ret
0x0000022b84713857: mov qword ptr [rsp+8h],rcx
0x0000022b8471385c: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b84713864: call 22b84710ce0h ; OopMap{rdx=Oop off=137}
;*synchronization entry
; - java.lang.Object::<init>@-1
; {runtime_call}
0x0000022b84713869: jmp 22b8471383eh
0x0000022b8471386b: nop
0x0000022b8471386c: nop
0x0000022b8471386d: mov rax,qword ptr [r15+2a8h]
0x0000022b84713874: mov r10,0h
0x0000022b8471387e: mov qword ptr [r15+2a8h],r10
0x0000022b84713885: mov r10,0h
0x0000022b8471388f: mov qword ptr [r15+2b0h],r10
0x0000022b84713896: add rsp,50h
0x0000022b8471389a: pop rbp
0x0000022b8471389b: jmp 22b8467ea20h ; {runtime_call}
[Exception Handler]
[Stub Code]
0x0000022b847138a0: call 22b8470e060h ; {no_reloc}
0x0000022b847138a5: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x0000022b847138aa: sub rsp,80h
0x0000022b847138b1: mov qword ptr [rsp+78h],rax
0x0000022b847138b6: mov qword ptr [rsp+70h],rcx
0x0000022b847138bb: mov qword ptr [rsp+68h],rdx
0x0000022b847138c0: mov qword ptr [rsp+60h],rbx
0x0000022b847138c5: mov qword ptr [rsp+50h],rbp
0x0000022b847138ca: mov qword ptr [rsp+48h],rsi
0x0000022b847138cf: mov qword ptr [rsp+40h],rdi
0x0000022b847138d4: mov qword ptr [rsp+38h],r8
0x0000022b847138d9: mov qword ptr [rsp+30h],r9
0x0000022b847138de: mov qword ptr [rsp+28h],r10
0x0000022b847138e3: mov qword ptr [rsp+20h],r11
0x0000022b847138e8: mov qword ptr [rsp+18h],r12
0x0000022b847138ed: mov qword ptr [rsp+10h],r13
0x0000022b847138f2: mov qword ptr [rsp+8h],r14
0x0000022b847138f7: mov qword ptr [rsp],r15
0x0000022b847138fb: mov rcx,776ad740h ; {external_word}
0x0000022b84713905: mov rdx,22b847138a5h ; {internal_word}
0x0000022b8471390f: mov r8,rsp
0x0000022b84713912: and rsp,0fffffffffffffff0h
0x0000022b84713916: mov r10,7738d310h ; {runtime_call}
0x0000022b84713920: call indirect r10
0x0000022b84713923: hlt
[Deopt Handler Code]
0x0000022b84713924: mov r10,22b84713924h ; {section_word}
0x0000022b8471392e: push r10
0x0000022b84713930: jmp 22b84657200h ; {runtime_call}
0x0000022b84713935: hlt
0x0000022b84713936: hlt
0x0000022b84713937: hlt
Decoding compiled method 0x0000022b84720910:
Code:
Argument 0 is unknown.RIP: 0x22b84720aa0 Code size: 0x00000480
[Entry Point]
[Constants]
# {method} {0x0000022b9a510798} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder'
# this: rdx:rdx = 'java/lang/AbstractStringBuilder'
# parm0: r8 = int
# [sp+0xb0] (sp of caller)
0x0000022b84720aa0: mov r10d,dword ptr [rdx+8h]
0x0000022b84720aa4: shl r10,3h
0x0000022b84720aa8: cmp r10,rax
0x0000022b84720aab: jne 22b84655f60h ; {runtime_call}
0x0000022b84720ab1: nop dword ptr [rax+rax+0h]
0x0000022b84720ab9: nop dword ptr [rax+0h]
[Verified Entry Point]
0x0000022b84720ac0: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b84720ac7: push rbp
0x0000022b84720ac8: sub rsp,0a0h
0x0000022b84720acf: mov rsi,22b9a6b0520h ; {metadata(method data for {method} {0x0000022b9a510798} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000022b84720ad9: mov edi,dword ptr [rsi+0dch]
0x0000022b84720adf: add edi,8h
0x0000022b84720ae2: mov dword ptr [rsi+0dch],edi
0x0000022b84720ae8: mov rsi,22b9a510790h ; {metadata({method} {0x0000022b9a510798} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000022b84720af2: and edi,1ff8h
0x0000022b84720af8: cmp edi,0h
0x0000022b84720afb: je 22b84720db9h ;*iload_1
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@0
0x0000022b84720b01: mov esi,dword ptr [rdx+10h]
0x0000022b84720b04: shl rsi,3h ;*getfield value
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@2
0x0000022b84720b08: mov edi,dword ptr [rsi+0ch] ;*arraylength
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@5
; implicit exception: dispatches to 0x0000022b84720dd0
0x0000022b84720b0b: mov rbx,r8
0x0000022b84720b0e: sub ebx,edi
0x0000022b84720b10: cmp ebx,0h
0x0000022b84720b13: mov rbx,22b9a6b0520h ; {metadata(method data for {method} {0x0000022b9a510798} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000022b84720b1d: mov rax,108h
0x0000022b84720b27: jle 22b84720b37h
0x0000022b84720b2d: mov rax,118h
0x0000022b84720b37: mov rcx,qword ptr [rbx+rax]
0x0000022b84720b3b: lea rcx,[rcx+1h]
0x0000022b84720b3f: mov qword ptr [rbx+rax],rcx
0x0000022b84720b43: jle 22b84720daah ;*ifle
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@7
0x0000022b84720b49: mov dword ptr [rsp+78h],edi
0x0000022b84720b4d: mov qword ptr [rsp+80h],rsi
0x0000022b84720b55: mov rbx,rdx
0x0000022b84720b58: mov rax,22b9a6b0520h ; {metadata(method data for {method} {0x0000022b9a510798} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000022b84720b62: add qword ptr [rax+128h],1h
0x0000022b84720b6a: mov rbx,rdx
0x0000022b84720b6d: mov rdx,rbx ;*invokespecial newCapacity
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@17
0x0000022b84720b70: mov qword ptr [rsp+88h],rbx
0x0000022b84720b78: nop
0x0000022b84720b79: nop
0x0000022b84720b7a: nop
0x0000022b84720b7b: nop
0x0000022b84720b7c: nop
0x0000022b84720b7d: nop
0x0000022b84720b7e: nop
0x0000022b84720b7f: call 22b846561a0h ; OopMap{[136]=Oop [128]=Oop off=228}
;*invokespecial newCapacity
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@17
; {optimized virtual_call}
0x0000022b84720b84: mov r8,rax ;*invokespecial newCapacity
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@17
0x0000022b84720b87: mov rbx,22b9a6b0520h ; {metadata(method data for {method} {0x0000022b9a510798} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000022b84720b91: add qword ptr [rbx+138h],1h
0x0000022b84720b99: mov rbx,22b9a6b08a0h ; {metadata(method data for {method} {0x0000022b9a5b1010} 'copyOf' '([CI)[C' in 'java/util/Arrays')}
0x0000022b84720ba3: mov edx,dword ptr [rbx+0dch]
0x0000022b84720ba9: add edx,8h
0x0000022b84720bac: mov dword ptr [rbx+0dch],edx
0x0000022b84720bb2: mov rbx,22b9a5b1008h ; {metadata({method} {0x0000022b9a5b1010} 'copyOf' '([CI)[C' in 'java/util/Arrays')}
0x0000022b84720bbc: and edx,7ffff8h
0x0000022b84720bc2: cmp edx,0h
0x0000022b84720bc5: je 22b84720dd5h
0x0000022b84720bcb: mov rbx,r8
0x0000022b84720bce: mov rdx,7c0000208h ; {metadata({type array char})}
0x0000022b84720bd8: movsxd rbx,ebx
0x0000022b84720bdb: mov rdi,rbx
0x0000022b84720bde: cmp rbx,0ffffffh
0x0000022b84720be5: jnbe 22b84720dech
0x0000022b84720beb: mov rsi,17h
0x0000022b84720bf5: lea rsi,[rsi+rbx*2]
0x0000022b84720bf9: and rsi,0fffffffffffffff8h
0x0000022b84720bfd: mov rax,qword ptr [r15+60h]
0x0000022b84720c01: lea rsi,[rax+rsi]
0x0000022b84720c05: cmp rsi,qword ptr [r15+70h]
0x0000022b84720c09: jnbe 22b84720dech
0x0000022b84720c0f: mov qword ptr [r15+60h],rsi
0x0000022b84720c13: sub rsi,rax
0x0000022b84720c16: mov qword ptr [rax],1h
0x0000022b84720c1d: mov rcx,rdx
0x0000022b84720c20: shr rcx,3h
0x0000022b84720c24: mov dword ptr [rax+8h],ecx
0x0000022b84720c27: mov dword ptr [rax+0ch],ebx
0x0000022b84720c2a: sub rsi,10h
0x0000022b84720c2e: je 22b84720c45h
0x0000022b84720c34: xor rbx,rbx
0x0000022b84720c37: shr rsi,3h
0x0000022b84720c3b: mov qword ptr [rax+rsi*8+8h],rbx
0x0000022b84720c40: dec rsi
0x0000022b84720c43: jne 22b84720c3bh ;*newarray
; - java.util.Arrays::copyOf@1
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@20
0x0000022b84720c45: mov rdx,22b9a6b08a0h ; {metadata(method data for {method} {0x0000022b9a5b1010} 'copyOf' '([CI)[C' in 'java/util/Arrays')}
0x0000022b84720c4f: add qword ptr [rdx+108h],1h
0x0000022b84720c57: mov rdx,22b9a69c828h ; {metadata(method data for {method} {0x0000022b9a58dc70} 'min' '(II)I' in 'java/lang/Math')}
0x0000022b84720c61: mov r9d,dword ptr [rdx+0dch]
0x0000022b84720c68: add r9d,8h
0x0000022b84720c6c: mov dword ptr [rdx+0dch],r9d
0x0000022b84720c73: mov rdx,22b9a58dc68h ; {metadata({method} {0x0000022b9a58dc70} 'min' '(II)I' in 'java/lang/Math')}
0x0000022b84720c7d: and r9d,7ffff8h
0x0000022b84720c84: cmp r9d,0h
0x0000022b84720c88: je 22b84720df6h
0x0000022b84720c8e: mov edi,dword ptr [rsp+78h]
0x0000022b84720c92: cmp edi,r8d
0x0000022b84720c95: mov rdx,22b9a69c828h ; {metadata(method data for {method} {0x0000022b9a58dc70} 'min' '(II)I' in 'java/lang/Math')}
0x0000022b84720c9f: mov r9,108h
0x0000022b84720ca9: jnle 22b84720cb9h
0x0000022b84720caf: mov r9,118h
0x0000022b84720cb9: mov rsi,qword ptr [rdx+r9]
0x0000022b84720cbd: lea rsi,[rsi+1h]
0x0000022b84720cc1: mov qword ptr [rdx+r9],rsi
0x0000022b84720cc5: jnle 22b84720ce3h ;*if_icmpgt
; - java.lang.Math::min@2
; - java.util.Arrays::copyOf@11
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@20
0x0000022b84720ccb: mov rdx,22b9a69c828h ; {metadata(method data for {method} {0x0000022b9a58dc70} 'min' '(II)I' in 'java/lang/Math')}
0x0000022b84720cd5: inc dword ptr [rdx+128h]
0x0000022b84720cdb: mov rsi,rdi
0x0000022b84720cde: jmp 22b84720ce6h ;*goto
; - java.lang.Math::min@6
; - java.util.Arrays::copyOf@11
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@20
0x0000022b84720ce3: mov rsi,r8 ;*ireturn
; - java.lang.Math::min@10
; - java.util.Arrays::copyOf@11
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@20
0x0000022b84720ce6: mov rdx,qword ptr [rsp+80h]
0x0000022b84720cee: mov r8,22b9a6b08a0h ; {metadata(method data for {method} {0x0000022b9a5b1010} 'copyOf' '([CI)[C' in 'java/util/Arrays')}
0x0000022b84720cf8: add qword ptr [r8+118h],1h
0x0000022b84720d00: mov r8d,0h
0x0000022b84720d06: mov r9,rax
0x0000022b84720d09: mov edi,0h
0x0000022b84720d0e: mov qword ptr [rsp+90h],rax
0x0000022b84720d16: lea rcx,[r8+rsi]
0x0000022b84720d1a: cmp ecx,dword ptr [rdx+0ch]
0x0000022b84720d1d: jnbe 22b84720e0dh
0x0000022b84720d23: lea rcx,[rdi+rsi]
0x0000022b84720d27: cmp ecx,dword ptr [r9+0ch]
0x0000022b84720d2b: jnbe 22b84720e0dh
0x0000022b84720d31: test esi,esi
0x0000022b84720d33: jl 22b84720e0dh
0x0000022b84720d39: je 22b84720d7dh
0x0000022b84720d3f: movsxd r8,r8d
0x0000022b84720d42: movsxd rdi,edi
0x0000022b84720d45: lea rcx,[rdx+r8*2+10h]
0x0000022b84720d4a: lea rdx,[r9+rdi*2+10h]
0x0000022b84720d4f: mov r8,rsi
0x0000022b84720d52: sub rsp,20h
0x0000022b84720d56: test esp,0fh
0x0000022b84720d5c: je 22b84720d74h
0x0000022b84720d62: sub rsp,8h
0x0000022b84720d66: call 22b84662820h ; {runtime_call}
0x0000022b84720d6b: add rsp,8h
0x0000022b84720d6f: jmp 22b84720d79h
0x0000022b84720d74: call 22b84662820h ; {runtime_call}
0x0000022b84720d79: add rsp,20h ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@20
0x0000022b84720d7d: mov rax,qword ptr [rsp+90h]
0x0000022b84720d85: mov rdx,qword ptr [rsp+88h]
0x0000022b84720d8d: mov r10,rax
0x0000022b84720d90: shr r10,3h
0x0000022b84720d94: mov dword ptr [rdx+10h],r10d
0x0000022b84720d98: shr rdx,9h
0x0000022b84720d9c: mov rsi,22b90188000h
0x0000022b84720da6: mov byte ptr [rdx+rsi],0h ;*putfield value
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@23
0x0000022b84720daa: add rsp,0a0h
0x0000022b84720db1: pop rbp
0x0000022b84720db2: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b84720db8: ret
0x0000022b84720db9: mov qword ptr [rsp+8h],rsi
0x0000022b84720dbe: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b84720dc6: call 22b84710ce0h ; OopMap{rdx=Oop off=811}
;*synchronization entry
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@-1
; {runtime_call}
0x0000022b84720dcb: jmp 22b84720b01h
0x0000022b84720dd0: call 22b8470c000h ; OopMap{rdx=Oop rsi=Oop off=821}
;*arraylength
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@5
; {runtime_call}
0x0000022b84720dd5: mov qword ptr [rsp+8h],rbx
0x0000022b84720dda: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b84720de2: call 22b84710ce0h ; OopMap{[136]=Oop [128]=Oop off=839}
;*synchronization entry
; - java.util.Arrays::copyOf@-1
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@20
; {runtime_call}
0x0000022b84720de7: jmp 22b84720bcbh
0x0000022b84720dec: call 22b8470d180h ; OopMap{[136]=Oop [128]=Oop off=849}
;*newarray
; - java.util.Arrays::copyOf@1
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@20
; {runtime_call}
0x0000022b84720df1: jmp 22b84720c45h
0x0000022b84720df6: mov qword ptr [rsp+8h],rdx
0x0000022b84720dfb: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b84720e03: call 22b84710ce0h ; OopMap{[136]=Oop [128]=Oop rax=Oop off=872}
;*synchronization entry
; - java.lang.Math::min@-1
; - java.util.Arrays::copyOf@11
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@20
; {runtime_call}
0x0000022b84720e08: jmp 22b84720c8eh
0x0000022b84720e0d: nop
0x0000022b84720e0e: nop
0x0000022b84720e0f: call 22b84656620h ; OopMap{[136]=Oop [144]=Oop off=884}
;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14
; - java.lang.AbstractStringBuilder::ensureCapacityInternal@20
; {static_call}
0x0000022b84720e14: jmp 22b84720d7dh
0x0000022b84720e19: nop
0x0000022b84720e1a: nop
0x0000022b84720e1b: mov rax,qword ptr [r15+2a8h]
0x0000022b84720e22: mov r10,0h
0x0000022b84720e2c: mov qword ptr [r15+2a8h],r10
0x0000022b84720e33: mov r10,0h
0x0000022b84720e3d: mov qword ptr [r15+2b0h],r10
0x0000022b84720e44: add rsp,0a0h
0x0000022b84720e4b: pop rbp
0x0000022b84720e4c: jmp 22b8467ea20h ; {runtime_call}
0x0000022b84720e51: hlt
0x0000022b84720e52: hlt
0x0000022b84720e53: hlt
0x0000022b84720e54: hlt
0x0000022b84720e55: hlt
0x0000022b84720e56: hlt
0x0000022b84720e57: hlt
0x0000022b84720e58: hlt
0x0000022b84720e59: hlt
0x0000022b84720e5a: hlt
0x0000022b84720e5b: hlt
0x0000022b84720e5c: hlt
0x0000022b84720e5d: hlt
0x0000022b84720e5e: hlt
0x0000022b84720e5f: hlt
[Stub Code]
0x0000022b84720e60: nop ; {no_reloc}
0x0000022b84720e61: nop
0x0000022b84720e62: nop
0x0000022b84720e63: nop
0x0000022b84720e64: nop
0x0000022b84720e65: mov rbx,0h ; {static_stub}
0x0000022b84720e6f: jmp 22b84720e6fh ; {runtime_call}
0x0000022b84720e74: nop
0x0000022b84720e75: mov rbx,0h ; {static_stub}
0x0000022b84720e7f: jmp 22b84720e7fh ; {runtime_call}
[Exception Handler]
0x0000022b84720e84: call 22b8470e060h ; {runtime_call}
0x0000022b84720e89: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x0000022b84720e8e: sub rsp,80h
0x0000022b84720e95: mov qword ptr [rsp+78h],rax
0x0000022b84720e9a: mov qword ptr [rsp+70h],rcx
0x0000022b84720e9f: mov qword ptr [rsp+68h],rdx
0x0000022b84720ea4: mov qword ptr [rsp+60h],rbx
0x0000022b84720ea9: mov qword ptr [rsp+50h],rbp
0x0000022b84720eae: mov qword ptr [rsp+48h],rsi
0x0000022b84720eb3: mov qword ptr [rsp+40h],rdi
0x0000022b84720eb8: mov qword ptr [rsp+38h],r8
0x0000022b84720ebd: mov qword ptr [rsp+30h],r9
0x0000022b84720ec2: mov qword ptr [rsp+28h],r10
0x0000022b84720ec7: mov qword ptr [rsp+20h],r11
0x0000022b84720ecc: mov qword ptr [rsp+18h],r12
0x0000022b84720ed1: mov qword ptr [rsp+10h],r13
0x0000022b84720ed6: mov qword ptr [rsp+8h],r14
0x0000022b84720edb: mov qword ptr [rsp],r15
0x0000022b84720edf: mov rcx,776ad740h ; {external_word}
0x0000022b84720ee9: mov rdx,22b84720e89h ; {internal_word}
0x0000022b84720ef3: mov r8,rsp
0x0000022b84720ef6: and rsp,0fffffffffffffff0h
0x0000022b84720efa: mov r10,7738d310h ; {runtime_call}
0x0000022b84720f04: call indirect r10
0x0000022b84720f07: hlt
[Deopt Handler Code]
0x0000022b84720f08: mov r10,22b84720f08h ; {section_word}
0x0000022b84720f12: push r10
0x0000022b84720f14: jmp 22b84657200h ; {runtime_call}
0x0000022b84720f19: hlt
0x0000022b84720f1a: hlt
0x0000022b84720f1b: hlt
0x0000022b84720f1c: hlt
0x0000022b84720f1d: hlt
0x0000022b84720f1e: hlt
0x0000022b84720f1f: hlt
Decoding compiled method 0x0000022b8471e950:
Code:
Argument 0 is unknown.RIP: 0x22b8471eaa0 Code size: 0x00000118
[Entry Point]
[Constants]
# {method} {0x0000022b9a4a0470} '<init>' '()V' in 'java/lang/Object'
# [sp+0x60] (sp of caller)
0x0000022b8471eaa0: mov r10d,dword ptr [rdx+8h]
0x0000022b8471eaa4: shl r10,3h
0x0000022b8471eaa8: cmp r10,rax
0x0000022b8471eaab: jne 22b84655f60h ; {runtime_call}
0x0000022b8471eab1: nop dword ptr [rax+rax+0h]
0x0000022b8471eab9: nop dword ptr [rax+0h]
[Verified Entry Point]
0x0000022b8471eac0: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b8471eac7: push rbp
0x0000022b8471eac8: sub rsp,50h
0x0000022b8471eacc: mov rcx,rdx ;*return
; - java.lang.Object::<init>@0
0x0000022b8471eacf: mov qword ptr [rsp+40h],rdx
0x0000022b8471ead4: call 22b8470c220h ; OopMap{[64]=Oop off=57}
;*return
; - java.lang.Object::<init>@0
; {runtime_call}
0x0000022b8471ead9: add rsp,50h
0x0000022b8471eadd: pop rbp
0x0000022b8471eade: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b8471eae4: ret
0x0000022b8471eae5: nop
0x0000022b8471eae6: nop
0x0000022b8471eae7: mov rax,qword ptr [r15+2a8h]
0x0000022b8471eaee: mov r10,0h
0x0000022b8471eaf8: mov qword ptr [r15+2a8h],r10
0x0000022b8471eaff: mov r10,0h
0x0000022b8471eb09: mov qword ptr [r15+2b0h],r10
0x0000022b8471eb10: add rsp,50h
0x0000022b8471eb14: pop rbp
0x0000022b8471eb15: jmp 22b8467ea20h ; {runtime_call}
0x0000022b8471eb1a: hlt
0x0000022b8471eb1b: hlt
0x0000022b8471eb1c: hlt
0x0000022b8471eb1d: hlt
0x0000022b8471eb1e: hlt
0x0000022b8471eb1f: hlt
[Exception Handler]
[Stub Code]
0x0000022b8471eb20: call 22b8470e060h ; {no_reloc}
0x0000022b8471eb25: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x0000022b8471eb2a: sub rsp,80h
0x0000022b8471eb31: mov qword ptr [rsp+78h],rax
0x0000022b8471eb36: mov qword ptr [rsp+70h],rcx
0x0000022b8471eb3b: mov qword ptr [rsp+68h],rdx
0x0000022b8471eb40: mov qword ptr [rsp+60h],rbx
0x0000022b8471eb45: mov qword ptr [rsp+50h],rbp
0x0000022b8471eb4a: mov qword ptr [rsp+48h],rsi
0x0000022b8471eb4f: mov qword ptr [rsp+40h],rdi
0x0000022b8471eb54: mov qword ptr [rsp+38h],r8
0x0000022b8471eb59: mov qword ptr [rsp+30h],r9
0x0000022b8471eb5e: mov qword ptr [rsp+28h],r10
0x0000022b8471eb63: mov qword ptr [rsp+20h],r11
0x0000022b8471eb68: mov qword ptr [rsp+18h],r12
0x0000022b8471eb6d: mov qword ptr [rsp+10h],r13
0x0000022b8471eb72: mov qword ptr [rsp+8h],r14
0x0000022b8471eb77: mov qword ptr [rsp],r15
0x0000022b8471eb7b: mov rcx,776ad740h ; {external_word}
0x0000022b8471eb85: mov rdx,22b8471eb25h ; {internal_word}
0x0000022b8471eb8f: mov r8,rsp
0x0000022b8471eb92: and rsp,0fffffffffffffff0h
0x0000022b8471eb96: mov r10,7738d310h ; {runtime_call}
0x0000022b8471eba0: call indirect r10
0x0000022b8471eba3: hlt
[Deopt Handler Code]
0x0000022b8471eba4: mov r10,22b8471eba4h ; {section_word}
0x0000022b8471ebae: push r10
0x0000022b8471ebb0: jmp 22b84657200h ; {runtime_call}
0x0000022b8471ebb5: hlt
0x0000022b8471ebb6: hlt
0x0000022b8471ebb7: hlt
Decoding compiled method 0x0000022b8471e6d0:
Code:
Argument 0 is unknown.RIP: 0x22b8471e800 Code size: 0x00000078
[Entry Point]
[Constants]
# {method} {0x0000022b9a4a3ab8} 'length' '()I' in 'java/lang/String'
# [sp+0x20] (sp of caller)
0x0000022b8471e800: mov r10d,dword ptr [rdx+8h]
0x0000022b8471e804: shl r10,3h
0x0000022b8471e808: cmp rax,r10
0x0000022b8471e80b: jne 22b84655f60h ; {runtime_call}
0x0000022b8471e811: nop
0x0000022b8471e814: nop word ptr [rax+rax+0h]
0x0000022b8471e81a: nop word ptr [rax+rax+0h]
[Verified Entry Point]
0x0000022b8471e820: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b8471e827: push rbp
0x0000022b8471e828: sub rsp,10h ;*synchronization entry
; - java.lang.String::length@-1
0x0000022b8471e82c: mov r11d,dword ptr [rdx+0ch]
;*getfield value
; - java.lang.String::length@1
0x0000022b8471e830: mov eax,dword ptr [r12+r11*8+0ch]
; implicit exception: dispatches to 0x0000022b8471e841
0x0000022b8471e835: add rsp,10h
0x0000022b8471e839: pop rbp
0x0000022b8471e83a: test dword ptr [22b82bc0000h],eax
; {poll_return}
0x0000022b8471e840: ret
0x0000022b8471e841: mov edx,0fffffff6h
0x0000022b8471e846: nop
0x0000022b8471e847: call 22b846557a0h ; OopMap{off=76}
;*arraylength
; - java.lang.String::length@4
; {runtime_call}
0x0000022b8471e84c: int3 ;*arraylength
; - java.lang.String::length@4
0x0000022b8471e84d: hlt
0x0000022b8471e84e: hlt
0x0000022b8471e84f: hlt
0x0000022b8471e850: hlt
0x0000022b8471e851: hlt
0x0000022b8471e852: hlt
0x0000022b8471e853: hlt
0x0000022b8471e854: hlt
0x0000022b8471e855: hlt
0x0000022b8471e856: hlt
0x0000022b8471e857: hlt
0x0000022b8471e858: hlt
0x0000022b8471e859: hlt
0x0000022b8471e85a: hlt
0x0000022b8471e85b: hlt
0x0000022b8471e85c: hlt
0x0000022b8471e85d: hlt
0x0000022b8471e85e: hlt
0x0000022b8471e85f: hlt
[Exception Handler]
[Stub Code]
0x0000022b8471e860: jmp 22b8467ed20h ; {no_reloc}
[Deopt Handler Code]
0x0000022b8471e865: call 22b8471e86ah
0x0000022b8471e86a: sub qword ptr [rsp],5h
0x0000022b8471e86f: jmp 22b84657200h ; {runtime_call}
0x0000022b8471e874: hlt
0x0000022b8471e875: hlt
0x0000022b8471e876: hlt
0x0000022b8471e877: hlt
Decoding compiled method 0x0000022b8471fe50:
Code:
Argument 0 is unknown.RIP: 0x22b84720000 Code size: 0x000005b8
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000022b9a6629d0} 'of' '(I)Ljava/lang/CharacterData;' in 'java/lang/CharacterData'
# parm0: rdx = int
# [sp+0x40] (sp of caller)
0x0000022b84720000: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b84720007: push rbp
0x0000022b84720008: sub rsp,30h
0x0000022b8472000c: mov rax,22b9a67dde8h ; {metadata(method data for {method} {0x0000022b9a6629d0} 'of' '(I)Ljava/lang/CharacterData;' in 'java/lang/CharacterData')}
0x0000022b84720016: mov esi,dword ptr [rax+0dch]
0x0000022b8472001c: add esi,8h
0x0000022b8472001f: mov dword ptr [rax+0dch],esi
0x0000022b84720025: mov rax,22b9a6629c8h ; {metadata({method} {0x0000022b9a6629d0} 'of' '(I)Ljava/lang/CharacterData;' in 'java/lang/CharacterData')}
0x0000022b8472002f: and esi,1ff8h
0x0000022b84720035: cmp esi,0h
0x0000022b84720038: je 22b847201bch ;*iload_0
; - java.lang.CharacterData::of@0
0x0000022b8472003e: mov rax,rdx
0x0000022b84720041: shr eax,8h
0x0000022b84720044: cmp eax,0h
0x0000022b84720047: mov rax,22b9a67dde8h ; {metadata(method data for {method} {0x0000022b9a6629d0} 'of' '(I)Ljava/lang/CharacterData;' in 'java/lang/CharacterData')}
0x0000022b84720051: mov rsi,108h
0x0000022b8472005b: jne 22b8472006bh
0x0000022b84720061: mov rsi,118h
0x0000022b8472006b: mov rdi,qword ptr [rax+rsi]
0x0000022b8472006f: lea rdi,[rdi+1h]
0x0000022b84720073: mov qword ptr [rax+rsi],rdi
0x0000022b84720077: je 22b847201a6h ;*ifne
; - java.lang.CharacterData::of@4
0x0000022b8472007d: shr edx,10h
0x0000022b84720080: cmp edx,0h
0x0000022b84720083: je 22b8472017eh
0x0000022b84720089: cmp edx,1h
0x0000022b8472008c: je 22b84720156h
0x0000022b84720092: cmp edx,2h
0x0000022b84720095: je 22b8472012eh
0x0000022b8472009b: cmp edx,0eh
0x0000022b8472009e: je 22b84720106h
0x0000022b847200a4: cmp edx,0fh
0x0000022b847200a7: je 22b847200b6h
0x0000022b847200ad: cmp edx,10h
0x0000022b847200b0: jne 22b847200deh ;*tableswitch
; - java.lang.CharacterData::of@15
0x0000022b847200b6: nop
0x0000022b847200b8: jmp 22b84720230h ; {no_reloc}
0x0000022b847200bd: add byte ptr [rax],al
0x0000022b847200bf: add byte ptr [rax],al
0x0000022b847200c1: add byte ptr [rsi+0fh],ah
0x0000022b847200c4: Fatal error: Disassembling failed with error code: 15Decoding compiled method 0x0000022b8471f9d0:
Code:
Argument 0 is unknown.RIP: 0x22b8471fb20 Code size: 0x00000198
[Entry Point]
[Constants]
# {method} {0x0000022b9a663070} 'getProperties' '(I)I' in 'java/lang/CharacterDataLatin1'
# this: rdx:rdx = 'java/lang/CharacterDataLatin1'
# parm0: r8 = int
# [sp+0x40] (sp of caller)
0x0000022b8471fb20: mov r10d,dword ptr [rdx+8h]
0x0000022b8471fb24: shl r10,3h
0x0000022b8471fb28: cmp r10,rax
0x0000022b8471fb2b: jne 22b84655f60h ; {runtime_call}
0x0000022b8471fb31: nop dword ptr [rax+rax+0h]
0x0000022b8471fb39: nop dword ptr [rax+0h]
[Verified Entry Point]
0x0000022b8471fb40: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b8471fb47: push rbp
0x0000022b8471fb48: sub rsp,30h
0x0000022b8471fb4c: mov rax,22b9a67e218h ; {metadata(method data for {method} {0x0000022b9a663070} 'getProperties' '(I)I' in 'java/lang/CharacterDataLatin1')}
0x0000022b8471fb56: mov esi,dword ptr [rax+0dch]
0x0000022b8471fb5c: add esi,8h
0x0000022b8471fb5f: mov dword ptr [rax+0dch],esi
0x0000022b8471fb65: mov rax,22b9a663068h ; {metadata({method} {0x0000022b9a663070} 'getProperties' '(I)I' in 'java/lang/CharacterDataLatin1')}
0x0000022b8471fb6f: and esi,1ff8h
0x0000022b8471fb75: cmp esi,0h
0x0000022b8471fb78: je 22b8471fbach ;*iload_1
; - java.lang.CharacterDataLatin1::getProperties@0
0x0000022b8471fb7e: and r8d,0ffffh
0x0000022b8471fb85: mov rax,7830b1218h ; {oop([I)}
0x0000022b8471fb8f: movsxd rsi,r8d
0x0000022b8471fb92: cmp r8d,dword ptr [rax+0ch] ; implicit exception: dispatches to 0x0000022b8471fbc0
0x0000022b8471fb96: jnb 22b8471fbcah
0x0000022b8471fb9c: mov eax,dword ptr [rax+rsi*4+10h]
;*iaload
; - java.lang.CharacterDataLatin1::getProperties@7
0x0000022b8471fba0: add rsp,30h
0x0000022b8471fba4: pop rbp
0x0000022b8471fba5: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b8471fbab: ret
0x0000022b8471fbac: mov qword ptr [rsp+8h],rax
0x0000022b8471fbb1: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b8471fbb9: call 22b84710ce0h ; OopMap{rdx=Oop off=158}
;*synchronization entry
; - java.lang.CharacterDataLatin1::getProperties@-1
; {runtime_call}
0x0000022b8471fbbe: jmp 22b8471fb7eh
0x0000022b8471fbc0: call 22b8470c000h ; OopMap{rax=Oop off=165}
;*iaload
; - java.lang.CharacterDataLatin1::getProperties@7
; {runtime_call}
0x0000022b8471fbc5: call 22b8470c000h ; OopMap{rax=Oop off=170}
;*iaload
; - java.lang.CharacterDataLatin1::getProperties@7
; {runtime_call}
0x0000022b8471fbca: mov qword ptr [rsp],r8
0x0000022b8471fbce: call 22b8467e580h ; OopMap{rax=Oop off=179}
;*iaload
; - java.lang.CharacterDataLatin1::getProperties@7
; {runtime_call}
0x0000022b8471fbd3: nop
0x0000022b8471fbd4: nop
0x0000022b8471fbd5: mov rax,qword ptr [r15+2a8h]
0x0000022b8471fbdc: mov r10,0h
0x0000022b8471fbe6: mov qword ptr [r15+2a8h],r10
0x0000022b8471fbed: mov r10,0h
0x0000022b8471fbf7: mov qword ptr [r15+2b0h],r10
0x0000022b8471fbfe: add rsp,30h
0x0000022b8471fc02: pop rbp
0x0000022b8471fc03: jmp 22b8467ea20h ; {runtime_call}
0x0000022b8471fc08: hlt
0x0000022b8471fc09: hlt
0x0000022b8471fc0a: hlt
0x0000022b8471fc0b: hlt
0x0000022b8471fc0c: hlt
0x0000022b8471fc0d: hlt
0x0000022b8471fc0e: hlt
0x0000022b8471fc0f: hlt
0x0000022b8471fc10: hlt
0x0000022b8471fc11: hlt
0x0000022b8471fc12: hlt
0x0000022b8471fc13: hlt
0x0000022b8471fc14: hlt
0x0000022b8471fc15: hlt
0x0000022b8471fc16: hlt
0x0000022b8471fc17: hlt
0x0000022b8471fc18: hlt
0x0000022b8471fc19: hlt
0x0000022b8471fc1a: hlt
0x0000022b8471fc1b: hlt
0x0000022b8471fc1c: hlt
0x0000022b8471fc1d: hlt
0x0000022b8471fc1e: hlt
0x0000022b8471fc1f: hlt
[Exception Handler]
[Stub Code]
0x0000022b8471fc20: call 22b8470e060h ; {no_reloc}
0x0000022b8471fc25: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x0000022b8471fc2a: sub rsp,80h
0x0000022b8471fc31: mov qword ptr [rsp+78h],rax
0x0000022b8471fc36: mov qword ptr [rsp+70h],rcx
0x0000022b8471fc3b: mov qword ptr [rsp+68h],rdx
0x0000022b8471fc40: mov qword ptr [rsp+60h],rbx
0x0000022b8471fc45: mov qword ptr [rsp+50h],rbp
0x0000022b8471fc4a: mov qword ptr [rsp+48h],rsi
0x0000022b8471fc4f: mov qword ptr [rsp+40h],rdi
0x0000022b8471fc54: mov qword ptr [rsp+38h],r8
0x0000022b8471fc59: mov qword ptr [rsp+30h],r9
0x0000022b8471fc5e: mov qword ptr [rsp+28h],r10
0x0000022b8471fc63: mov qword ptr [rsp+20h],r11
0x0000022b8471fc68: mov qword ptr [rsp+18h],r12
0x0000022b8471fc6d: mov qword ptr [rsp+10h],r13
0x0000022b8471fc72: mov qword ptr [rsp+8h],r14
0x0000022b8471fc77: mov qword ptr [rsp],r15
0x0000022b8471fc7b: mov rcx,776ad740h ; {external_word}
0x0000022b8471fc85: mov rdx,22b8471fc25h ; {internal_word}
0x0000022b8471fc8f: mov r8,rsp
0x0000022b8471fc92: and rsp,0fffffffffffffff0h
0x0000022b8471fc96: mov r10,7738d310h ; {runtime_call}
0x0000022b8471fca0: call indirect r10
0x0000022b8471fca3: hlt
[Deopt Handler Code]
0x0000022b8471fca4: mov r10,22b8471fca4h ; {section_word}
0x0000022b8471fcae: push r10
0x0000022b8471fcb0: jmp 22b84657200h ; {runtime_call}
0x0000022b8471fcb5: hlt
0x0000022b8471fcb6: hlt
0x0000022b8471fcb7: hlt
Decoding compiled method 0x0000022b84723950:
Code:
Argument 0 is unknown.RIP: 0x22b84723ac0 Code size: 0x00000240
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000022b9a536270} 'toLowerCase' '(I)I' in 'java/lang/Character'
# parm0: rdx = int
# [sp+0x40] (sp of caller)
0x0000022b84723ac0: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b84723ac7: push rbp
0x0000022b84723ac8: sub rsp,30h
0x0000022b84723acc: mov rsi,22b9a67dc60h ; {metadata(method data for {method} {0x0000022b9a536270} 'toLowerCase' '(I)I' in 'java/lang/Character')}
0x0000022b84723ad6: mov edi,dword ptr [rsi+0dch]
0x0000022b84723adc: add edi,8h
0x0000022b84723adf: mov dword ptr [rsi+0dch],edi
0x0000022b84723ae5: mov rsi,22b9a536268h ; {metadata({method} {0x0000022b9a536270} 'toLowerCase' '(I)I' in 'java/lang/Character')}
0x0000022b84723aef: and edi,1ff8h
0x0000022b84723af5: cmp edi,0h
0x0000022b84723af8: je 22b84723be0h ;*iload_0
; - java.lang.Character::toLowerCase@0
0x0000022b84723afe: mov rsi,22b9a67dc60h ; {metadata(method data for {method} {0x0000022b9a536270} 'toLowerCase' '(I)I' in 'java/lang/Character')}
0x0000022b84723b08: add qword ptr [rsi+108h],1h
0x0000022b84723b10: mov rsi,rdx
0x0000022b84723b13: mov rdx,rsi ;*invokestatic of
; - java.lang.Character::toLowerCase@1
0x0000022b84723b16: mov dword ptr [rsp+20h],esi
0x0000022b84723b1a: nop
0x0000022b84723b1b: nop
0x0000022b84723b1c: nop
0x0000022b84723b1d: nop
0x0000022b84723b1e: nop
0x0000022b84723b1f: call 22b84656620h ; OopMap{off=100}
;*invokestatic of
; - java.lang.Character::toLowerCase@1
; {static_call}
0x0000022b84723b24: cmp rax,qword ptr [rax] ; implicit exception: dispatches to 0x0000022b84723bf7
0x0000022b84723b27: mov r8,rax
0x0000022b84723b2a: mov rdx,22b9a67dc60h ; {metadata(method data for {method} {0x0000022b9a536270} 'toLowerCase' '(I)I' in 'java/lang/Character')}
0x0000022b84723b34: mov r8d,dword ptr [r8+8h]
0x0000022b84723b38: shl r8,3h
0x0000022b84723b3c: cmp r8,qword ptr [rdx+120h]
0x0000022b84723b43: jne 22b84723b52h
0x0000022b84723b45: add qword ptr [rdx+128h],1h
0x0000022b84723b4d: jmp 22b84723bb8h
0x0000022b84723b52: cmp r8,qword ptr [rdx+130h]
0x0000022b84723b59: jne 22b84723b68h
0x0000022b84723b5b: add qword ptr [rdx+138h],1h
0x0000022b84723b63: jmp 22b84723bb8h
0x0000022b84723b68: cmp qword ptr [rdx+120h],0h
0x0000022b84723b73: jne 22b84723b8ch
0x0000022b84723b75: mov qword ptr [rdx+120h],r8
0x0000022b84723b7c: mov qword ptr [rdx+128h],1h
0x0000022b84723b87: jmp 22b84723bb8h
0x0000022b84723b8c: cmp qword ptr [rdx+130h],0h
0x0000022b84723b97: jne 22b84723bb0h
0x0000022b84723b99: mov qword ptr [rdx+130h],r8
0x0000022b84723ba0: mov qword ptr [rdx+138h],1h
0x0000022b84723bab: jmp 22b84723bb8h
0x0000022b84723bb0: add qword ptr [rdx+118h],1h
0x0000022b84723bb8: mov r8d,dword ptr [rsp+20h]
0x0000022b84723bbd: mov rdx,rax ;*invokevirtual toLowerCase
; - java.lang.Character::toLowerCase@5
0x0000022b84723bc0: nop
0x0000022b84723bc1: nop
0x0000022b84723bc2: nop
0x0000022b84723bc3: nop
0x0000022b84723bc4: nop
0x0000022b84723bc5: mov rax,0ffffffffffffffffh
0x0000022b84723bcf: call 22b846563e0h ; OopMap{off=276}
;*invokevirtual toLowerCase
; - java.lang.Character::toLowerCase@5
; {virtual_call}
0x0000022b84723bd4: add rsp,30h
0x0000022b84723bd8: pop rbp
0x0000022b84723bd9: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b84723bdf: ret
0x0000022b84723be0: mov qword ptr [rsp+8h],rsi
0x0000022b84723be5: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b84723bed: call 22b84710ce0h ; OopMap{off=306}
;*synchronization entry
; - java.lang.Character::toLowerCase@-1
; {runtime_call}
0x0000022b84723bf2: jmp 22b84723afeh
0x0000022b84723bf7: call 22b8470c000h ; OopMap{rax=Oop off=316}
;*invokevirtual toLowerCase
; - java.lang.Character::toLowerCase@5
; {runtime_call}
0x0000022b84723bfc: nop
0x0000022b84723bfd: nop
0x0000022b84723bfe: mov rax,qword ptr [r15+2a8h]
0x0000022b84723c05: mov r10,0h
0x0000022b84723c0f: mov qword ptr [r15+2a8h],r10
0x0000022b84723c16: mov r10,0h
0x0000022b84723c20: mov qword ptr [r15+2b0h],r10
0x0000022b84723c27: add rsp,30h
0x0000022b84723c2b: pop rbp
0x0000022b84723c2c: jmp 22b8467ea20h ; {runtime_call}
0x0000022b84723c31: hlt
0x0000022b84723c32: hlt
0x0000022b84723c33: hlt
0x0000022b84723c34: hlt
0x0000022b84723c35: hlt
0x0000022b84723c36: hlt
0x0000022b84723c37: hlt
0x0000022b84723c38: hlt
0x0000022b84723c39: hlt
0x0000022b84723c3a: hlt
0x0000022b84723c3b: hlt
0x0000022b84723c3c: hlt
0x0000022b84723c3d: hlt
0x0000022b84723c3e: hlt
0x0000022b84723c3f: hlt
[Stub Code]
0x0000022b84723c40: nop ; {no_reloc}
0x0000022b84723c41: nop
0x0000022b84723c42: nop
0x0000022b84723c43: nop
0x0000022b84723c44: nop
0x0000022b84723c45: mov rbx,0h ; {static_stub}
0x0000022b84723c4f: jmp 22b84723c4fh ; {runtime_call}
0x0000022b84723c54: nop
0x0000022b84723c55: mov rbx,0h ; {static_stub}
0x0000022b84723c5f: jmp 22b84723c5fh ; {runtime_call}
[Exception Handler]
0x0000022b84723c64: call 22b8470e060h ; {runtime_call}
0x0000022b84723c69: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x0000022b84723c6e: sub rsp,80h
0x0000022b84723c75: mov qword ptr [rsp+78h],rax
0x0000022b84723c7a: mov qword ptr [rsp+70h],rcx
0x0000022b84723c7f: mov qword ptr [rsp+68h],rdx
0x0000022b84723c84: mov qword ptr [rsp+60h],rbx
0x0000022b84723c89: mov qword ptr [rsp+50h],rbp
0x0000022b84723c8e: mov qword ptr [rsp+48h],rsi
0x0000022b84723c93: mov qword ptr [rsp+40h],rdi
0x0000022b84723c98: mov qword ptr [rsp+38h],r8
0x0000022b84723c9d: mov qword ptr [rsp+30h],r9
0x0000022b84723ca2: mov qword ptr [rsp+28h],r10
0x0000022b84723ca7: mov qword ptr [rsp+20h],r11
0x0000022b84723cac: mov qword ptr [rsp+18h],r12
0x0000022b84723cb1: mov qword ptr [rsp+10h],r13
0x0000022b84723cb6: mov qword ptr [rsp+8h],r14
0x0000022b84723cbb: mov qword ptr [rsp],r15
0x0000022b84723cbf: mov rcx,776ad740h ; {external_word}
0x0000022b84723cc9: mov rdx,22b84723c69h ; {internal_word}
0x0000022b84723cd3: mov r8,rsp
0x0000022b84723cd6: and rsp,0fffffffffffffff0h
0x0000022b84723cda: mov r10,7738d310h ; {runtime_call}
0x0000022b84723ce4: call indirect r10
0x0000022b84723ce7: hlt
[Deopt Handler Code]
0x0000022b84723ce8: mov r10,22b84723ce8h ; {section_word}
0x0000022b84723cf2: push r10
0x0000022b84723cf4: jmp 22b84657200h ; {runtime_call}
0x0000022b84723cf9: hlt
0x0000022b84723cfa: hlt
0x0000022b84723cfb: hlt
0x0000022b84723cfc: hlt
0x0000022b84723cfd: hlt
0x0000022b84723cfe: hlt
0x0000022b84723cff: hlt
Decoding compiled method 0x0000022b847233d0:
Code:
Argument 0 is unknown.RIP: 0x22b84723540 Code size: 0x00000278
[Entry Point]
[Constants]
# {method} {0x0000022b9a6637f0} 'toLowerCase' '(I)I' in 'java/lang/CharacterDataLatin1'
# this: rdx:rdx = 'java/lang/CharacterDataLatin1'
# parm0: r8 = int
# [sp+0x50] (sp of caller)
0x0000022b84723540: mov r10d,dword ptr [rdx+8h]
0x0000022b84723544: shl r10,3h
0x0000022b84723548: cmp r10,rax
0x0000022b8472354b: jne 22b84655f60h ; {runtime_call}
0x0000022b84723551: nop dword ptr [rax+rax+0h]
0x0000022b84723559: nop dword ptr [rax+0h]
[Verified Entry Point]
0x0000022b84723560: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x0000022b84723567: push rbp
0x0000022b84723568: sub rsp,40h
0x0000022b8472356c: mov rax,22b9a67e058h ; {metadata(method data for {method} {0x0000022b9a6637f0} 'toLowerCase' '(I)I' in 'java/lang/CharacterDataLatin1')}
0x0000022b84723576: mov esi,dword ptr [rax+0dch]
0x0000022b8472357c: add esi,8h
0x0000022b8472357f: mov dword ptr [rax+0dch],esi
0x0000022b84723585: mov rax,22b9a6637e8h ; {metadata({method} {0x0000022b9a6637f0} 'toLowerCase' '(I)I' in 'java/lang/CharacterDataLatin1')}
0x0000022b8472358f: and esi,1ff8h
0x0000022b84723595: cmp esi,0h
0x0000022b84723598: je 22b847236a7h ;*iload_1
; - java.lang.CharacterDataLatin1::toLowerCase@0
0x0000022b8472359e: mov rax,22b9a67e058h ; {metadata(method data for {method} {0x0000022b9a6637f0} 'toLowerCase' '(I)I' in 'java/lang/CharacterDataLatin1')}
0x0000022b847235a8: add qword ptr [rax+118h],1h
0x0000022b847235b0: mov rax,22b9a67e218h ; {metadata(method data for {method} {0x0000022b9a663070} 'getProperties' '(I)I' in 'java/lang/CharacterDataLatin1')}
0x0000022b847235ba: mov esi,dword ptr [rax+0dch]
0x0000022b847235c0: add esi,8h
0x0000022b847235c3: mov dword ptr [rax+0dch],esi
0x0000022b847235c9: mov rax,22b9a663068h ; {metadata({method} {0x0000022b9a663070} 'getProperties' '(I)I' in 'java/lang/CharacterDataLatin1')}
0x0000022b847235d3: and esi,7ffff8h
0x0000022b847235d9: cmp esi,0h
0x0000022b847235dc: je 22b847236beh
0x0000022b847235e2: mov rax,r8
0x0000022b847235e5: and eax,0ffffh
0x0000022b847235eb: mov rsi,7830b1218h ; {oop([I)}
0x0000022b847235f5: movsxd rdi,eax
0x0000022b847235f8: cmp eax,dword ptr [rsi+0ch] ; implicit exception: dispatches to 0x0000022b847236d5
0x0000022b847235fb: jnb 22b847236dfh
0x0000022b84723601: mov eax,dword ptr [rsi+rdi*4+10h]
;*iaload
; - java.lang.CharacterDataLatin1::getProperties@7
; - java.lang.CharacterDataLatin1::toLowerCase@4
0x0000022b84723605: mov rsi,rax
0x0000022b84723608: and esi,20000h
0x0000022b8472360e: cmp esi,0h
0x0000022b84723611: mov rsi,22b9a67e058h ; {metadata(method data for {method} {0x0000022b9a6637f0} 'toLowerCase' '(I)I' in 'java/lang/CharacterDataLatin1')}
0x0000022b8472361b: mov rdi,138h
0x0000022b84723625: je 22b84723635h
0x0000022b8472362b: mov rdi,148h
0x0000022b84723635: mov rbx,qword ptr [rsi+rdi]
0x0000022b84723639: lea rbx,[rbx+1h]
0x0000022b8472363d: mov qword ptr [rsi+rdi],rbx
0x0000022b84723641: je 22b84723698h ;*ifeq
; - java.lang.CharacterDataLatin1::toLowerCase@12
0x0000022b84723647: mov rsi,rax
0x0000022b8472364a: and esi,7fc0000h
0x0000022b84723650: cmp esi,7fc0000h
0x0000022b84723656: mov rsi,22b9a67e058h ; {metadata(method data for {method} {0x0000022b9a6637f0} 'toLowerCase' '(I)I' in 'java/lang/CharacterDataLatin1')}
0x0000022b84723660: mov rdi,158h
0x0000022b8472366a: je 22b8472367ah
0x0000022b84723670: mov rdi,168h
0x0000022b8472367a: mov rbx,qword ptr [rsi+rdi]
0x0000022b8472367e: lea rbx,[rbx+1h]
0x0000022b84723682: mov qword ptr [rsi+rdi],rbx
0x0000022b84723686: je 22b84723698h ;*if_icmpeq
; - java.lang.CharacterDataLatin1::toLowerCase@21
0x0000022b8472368c: shl eax,5h
0x0000022b8472368f: sar eax,17h
0x0000022b84723692: add eax,r8d
0x0000022b84723695: mov r8,rax ;*iload_2
; - java.lang.CharacterDataLatin1::toLowerCase@37
0x0000022b84723698: mov rax,r8
0x0000022b8472369b: add rsp,40h
0x0000022b8472369f: pop rbp
0x0000022b847236a0: test dword ptr [22b82bc0100h],eax
; {poll_return}
0x0000022b847236a6: ret
0x0000022b847236a7: mov qword ptr [rsp+8h],rax
0x0000022b847236ac: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b847236b4: call 22b84710ce0h ; OopMap{rdx=Oop off=377}
;*synchronization entry
; - java.lang.CharacterDataLatin1::toLowerCase@-1
; {runtime_call}
0x0000022b847236b9: jmp 22b8472359eh
0x0000022b847236be: mov qword ptr [rsp+8h],rax
0x0000022b847236c3: mov qword ptr [rsp],0ffffffffffffffffh
0x0000022b847236cb: call 22b84710ce0h ; OopMap{off=400}
;*synchronization entry
; - java.lang.CharacterDataLatin1::getProperties@-1
; - java.lang.CharacterDataLatin1::toLowerCase@4
; {runtime_call}
0x0000022b847236d0: jmp 22b847235e2h
0x0000022b847236d5: call 22b8470c000h ; OopMap{rsi=Oop off=410}
;*iaload
; - java.lang.CharacterDataLatin1::getProperties@7
; - java.lang.CharacterDataLatin1::toLowerCase@4
; {runtime_call}
0x0000022b847236da: call 22b8470c000h ; OopMap{rsi=Oop off=415}
;*iaload
; - java.lang.CharacterDataLatin1::getProperties@7
; - java.lang.CharacterDataLatin1::toLowerCase@4
; {runtime_call}
0x0000022b847236df: mov qword ptr [rsp],rax
0x0000022b847236e3: call 22b8467e580h ; OopMap{rsi=Oop off=424}
;*iaload
; - java.lang.CharacterDataLatin1::getProperties@7
; - java.lang.CharacterDataLatin1::toLowerCase@4
; {runtime_call}
0x0000022b847236e8: nop
0x0000022b847236e9: nop
0x0000022b847236ea: mov rax,qword ptr [r15+2a8h]
0x0000022b847236f1: mov r10,0h
0x0000022b847236fb: mov qword ptr [r15+2a8h],r10
0x0000022b84723702: mov r10,0h
0x0000022b8472370c: mov qword ptr [r15+2b0h],r10
0x0000022b84723713: add rsp,40h
0x0000022b84723717: pop rbp
0x0000022b84723718: jmp 22b8467ea20h ; {runtime_call}
0x0000022b8472371d: hlt
0x0000022b8472371e: hlt
0x0000022b8472371f: hlt
0x0000022b847250bc: mov rbx,0h ;*aload_0
; - java.io.BufferedReader::readLine@32
; {oop(NULL)}
0x0000022b847250c6: mov dword ptr [rsp+78h],edi
0x0000022b847250ca: mov qword ptr [rsp+80h],rbx
0x0000022b847250d2: nop word ptr [rax+rax+0h]
0x0000022b847250d8: mov eax,dword ptr [rdx+18h] ;*getfield nextChar
; - java.io.BufferedReader::readLine@33
0x0000022b847250db: mov ecx,dword ptr [rdx+14h] ;*getfield nChars
; - java.io.BufferedReader::readLine@37
0x0000022b847250de: cmp eax,ecx
0x0000022b847250e0: mov rax,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b847250ea: mov rcx,170h
0x0000022b847250f4: jl 22b84725104h
0x0000022b847250fa: mov rcx,180h
0x0000022b84725104: mov r8,qword ptr [rax+rcx]
0x0000022b84725108: lea r8,[r8+1h]
0x0000022b8472510c: mov qword ptr [rax+rcx],r8
0x0000022b84725110: jl 22b84725141h ;*if_icmplt
; - java.io.BufferedReader::readLine@40
0x0000022b84725116: mov rax,rdx
0x0000022b84725119: mov rcx,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b84725123: add qword ptr [rcx+190h],1h
0x0000022b8472512b: mov rax,rdx
0x0000022b8472512e: mov rdx,rax ;*invokespecial fill
; - java.io.BufferedReader::readLine@44
0x0000022b84725131: nop
0x0000022b84725132: nop
0x0000022b84725133: nop
0x0000022b84725134: nop
0x0000022b84725135: nop
0x0000022b84725136: nop
0x0000022b84725137: call 22b846561a0h ; OopMap{[112]=Oop [136]=Oop [128]=Oop [200]=Oop off=732}
;*invokespecial fill
; - java.io.BufferedReader::readLine@44
; {optimized virtual_call}
0x0000022b8472513c: mov rdx,qword ptr [rsp+70h]
0x0000022b84725141: mov esi,dword ptr [rdx+18h] ;*getfield nextChar
; - java.io.BufferedReader::readLine@48
0x0000022b84725144: mov edi,dword ptr [rdx+14h] ;*getfield nChars
; - java.io.BufferedReader::readLine@52
0x0000022b84725147: cmp esi,edi
0x0000022b84725149: mov rax,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b84725153: mov rcx,1a0h
0x0000022b8472515d: jl 22b8472516dh
0x0000022b84725163: mov rcx,1b0h
0x0000022b8472516d: mov rbx,qword ptr [rax+rcx]
0x0000022b84725171: lea rbx,[rbx+1h]
0x0000022b84725175: mov qword ptr [rax+rcx],rbx
0x0000022b84725179: jnl 22b84725a97h ;*if_icmplt
; - java.io.BufferedReader::readLine@55
0x0000022b8472517f: mov ebx,dword ptr [rsp+78h]
0x0000022b84725183: cmp ebx,0h
0x0000022b84725186: mov rax,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b84725190: mov rcx,260h
0x0000022b8472519a: je 22b847251aah
0x0000022b847251a0: mov rcx,270h
0x0000022b847251aa: mov rbx,qword ptr [rax+rcx]
0x0000022b847251ae: lea rbx,[rbx+1h]
0x0000022b847251b2: mov qword ptr [rax+rcx],rbx
0x0000022b847251b6: je 22b84725212h ;*ifeq
; - java.io.BufferedReader::readLine@90
0x0000022b847251bc: mov eax,dword ptr [rdx+2ch]
0x0000022b847251bf: shl rax,3h ;*getfield cb
; - java.io.BufferedReader::readLine@94
0x0000022b847251c3: movsxd rcx,esi
0x0000022b847251c6: cmp esi,dword ptr [rax+0ch] ; implicit exception: dispatches to 0x0000022b84725f54
0x0000022b847251c9: jnb 22b84725f5eh
0x0000022b847251cf: movzx eax,word ptr [rax+rcx*2+10h]
;*caload
; - java.io.BufferedReader::readLine@101
0x0000022b847251d4: cmp eax,0ah
0x0000022b847251d7: mov rax,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b847251e1: mov rcx,280h
0x0000022b847251eb: jne 22b847251fbh
0x0000022b847251f1: mov rcx,290h
0x0000022b847251fb: mov rbx,qword ptr [rax+rcx]
0x0000022b847251ff: lea rbx,[rbx+1h]
0x0000022b84725203: mov qword ptr [rax+rcx],rbx
0x0000022b84725207: jne 22b84725212h ;*if_icmpne
; - java.io.BufferedReader::readLine@104
0x0000022b8472520d: inc esi
0x0000022b8472520f: mov dword ptr [rdx+18h],esi ;*putfield nextChar
; - java.io.BufferedReader::readLine@114
0x0000022b84725212: mov byte ptr [rdx+24h],0h ;*putfield skipLF
; - java.io.BufferedReader::readLine@119
0x0000022b84725216: mov r9d,dword ptr [rdx+18h] ;*getfield nextChar
; - java.io.BufferedReader::readLine@126
0x0000022b8472521a: mov r8,r9
0x0000022b8472521d: mov esi,0h
0x0000022b84725222: jmp 22b847252feh ;*iload
; - java.io.BufferedReader::readLine@131
0x0000022b84725227: nop
0x0000022b84725228: mov esi,dword ptr [rdx+2ch]
0x0000022b8472522b: shl rsi,3h ;*getfield cb
; - java.io.BufferedReader::readLine@141
0x0000022b8472522f: movsxd rax,r8d
0x0000022b84725232: cmp r8d,dword ptr [rsi+0ch] ; implicit exception: dispatches to 0x0000022b84725f67
0x0000022b84725236: jnb 22b84725f71h
0x0000022b8472523c: movzx esi,word ptr [rsi+rax*2+10h]
;*caload
; - java.io.BufferedReader::readLine@146
0x0000022b84725241: cmp esi,0ah
0x0000022b84725244: mov rax,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b8472524e: mov rcx,2c0h
0x0000022b84725258: je 22b84725268h
0x0000022b8472525e: mov rcx,2d0h
0x0000022b84725268: mov rbx,qword ptr [rax+rcx]
0x0000022b8472526c: lea rbx,[rbx+1h]
0x0000022b84725270: mov qword ptr [rax+rcx],rbx
0x0000022b84725274: je 22b84725341h ;*if_icmpeq
; - java.io.BufferedReader::readLine@153
0x0000022b8472527a: cmp esi,0dh
0x0000022b8472527d: mov rax,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b84725287: mov rcx,2e0h
0x0000022b84725291: jne 22b847252a1h
0x0000022b84725297: mov rcx,2f0h
0x0000022b847252a1: mov rbx,qword ptr [rax+rcx]
0x0000022b847252a5: lea rbx,[rbx+1h]
0x0000022b847252a9: mov qword ptr [rax+rcx],rbx
0x0000022b847252ad: je 22b84725341h ;*if_icmpne
; - java.io.BufferedReader::readLine@160
0x0000022b847252b3: inc r8d
0x0000022b847252b6: mov rax,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b847252c0: mov ecx,dword ptr [rax+0e0h]
0x0000022b847252c6: add ecx,8h
0x0000022b847252c9: mov dword ptr [rax+0e0h],ecx
0x0000022b847252cf: mov rax,22b9a63aba8h ; {metadata({method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b847252d9: and ecx,0fff8h
0x0000022b847252df: cmp ecx,0h
0x0000022b847252e2: je 22b84725f7ah ; OopMap{[136]=Oop [128]=Oop rdx=Oop [112]=Oop [200]=Oop off=1160}
;*goto
; - java.io.BufferedReader::readLine@172
0x0000022b847252e8: test dword ptr [22b82bc0100h],eax
; {poll}
0x0000022b847252ee: mov rax,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b847252f8: inc dword ptr [rax+318h] ;*goto
; - java.io.BufferedReader::readLine@172
0x0000022b847252fe: cmp r8d,edi
0x0000022b84725301: mov rax,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b8472530b: mov rcx,2a0h
0x0000022b84725315: jnl 22b84725325h
0x0000022b8472531b: mov rcx,2b0h
0x0000022b84725325: mov rbx,qword ptr [rax+rcx]
0x0000022b84725329: lea rbx,[rbx+1h]
0x0000022b8472532d: mov qword ptr [rax+rcx],rbx
0x0000022b84725331: jl 22b84725228h ;*if_icmpge
; - java.io.BufferedReader::readLine@137
0x0000022b84725337: mov edi,0h
0x0000022b8472533c: jmp 22b84725356h ;*aload_0
; - java.io.BufferedReader::readLine@175
0x0000022b84725341: mov rdi,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b8472534b: inc dword ptr [rdi+300h]
0x0000022b84725351: mov edi,1h ;*goto
; - java.io.BufferedReader::readLine@166
0x0000022b84725356: mov dword ptr [rdx+18h],r8d ;*putfield nextChar
; - java.io.BufferedReader::readLine@183
0x0000022b8472535a: cmp edi,0h
0x0000022b8472535d: mov rdi,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b84725367: mov rax,330h
0x0000022b84725371: je 22b84725381h
0x0000022b84725377: mov rax,340h
0x0000022b84725381: mov rcx,qword ptr [rdi+rax]
0x0000022b84725385: lea rcx,[rcx+1h]
0x0000022b84725389: mov qword ptr [rdi+rax],rcx
0x0000022b8472538d: jne 22b8472570ah ;*ifeq
; - java.io.BufferedReader::readLine@188
0x0000022b84725393: mov rbx,qword ptr [rsp+80h]
0x0000022b8472539b: cmp rbx,0h
0x0000022b8472539f: mov rsi,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b847253a9: mov rdi,418h
0x0000022b847253b3: jne 22b847253c3h
0x0000022b847253b9: mov rdi,428h
0x0000022b847253c3: mov rax,qword ptr [rsi+rdi]
0x0000022b847253c7: lea rax,[rax+1h]
0x0000022b847253cb: mov qword ptr [rsi+rdi],rax
0x0000022b847253cf: mov r11,rdx
0x0000022b847253d2: jne 22b84725598h ;*ifnonnull
; - java.io.BufferedReader::readLine@265
0x0000022b847253d8: mov rdx,7c000dd08h ; {metadata('java/lang/StringBuilder')}
0x0000022b847253e2: mov rax,qword ptr [r15+60h]
0x0000022b847253e6: lea rdi,[rax+18h]
0x0000022b847253ea: cmp rdi,qword ptr [r15+70h]
0x0000022b847253ee: jnbe 22b84725f91h
0x0000022b847253f4: mov qword ptr [r15+60h],rdi
0x0000022b847253f8: mov rcx,qword ptr [rdx+0a8h]
0x0000022b847253ff: mov qword ptr [rax],rcx
0x0000022b84725402: mov rcx,rdx
0x0000022b84725405: shr rcx,3h
0x0000022b84725409: mov dword ptr [rax+8h],ecx
0x0000022b8472540c: xor rcx,rcx
0x0000022b8472540f: mov dword ptr [rax+0ch],ecx
0x0000022b84725412: xor rcx,rcx
0x0000022b84725415: mov qword ptr [rax+10h],rcx
0x0000022b84725419: mov r13,rax ;*new ; - java.io.BufferedReader::readLine@268
0x0000022b8472541c: mov rbx,7830a38f0h ; {oop(a 'java/lang/Class' = 'java/io/BufferedReader')}
0x0000022b84725426: mov ebx,dword ptr [rbx+74h] ;*getstatic defaultExpectedLineLength
; - java.io.BufferedReader::readLine@272
0x0000022b84725429: mov rdx,r13
0x0000022b8472542c: mov rsi,22b9a6e2750h ; {metadata(method data for {method} {0x0000022b9a63abb0} 'readLine' '(Z)Ljava/lang/String;' in 'java/io/BufferedReader')}
0x0000022b84725436: add qword ptr [rsi+438h],1h
0x0000022b8472543e: mov rdx,22b9a6e3430h ; {metadata(method data for {method} {0x0000022b9a514048} '<init>' '(I)V' in 'java/lang/StringBuilder')}
0x0000022b84725448: mov esi,dword ptr [rdx+0dch]
0x0000022b8472544e: add esi,8h
0x0000022b84725451: mov dword ptr [rdx+0dch],esi
0x0000022b84725457: mov rdx,22b9a514040h ; {metadata({method} {0x0000022b9a514048} '<init>' '(I)V' in 'java/lang/StringBuilder')}
0x0000022b84725461: and esi,7ffff8h
0x0000022b84725467: cmp esi,0h
0x0000022b8472546a: je 22b84725f9eh
0x0000022b84725470: mov rdx,r13
0x0000022b84725473: mov rsi,22b9a6e3430h ; {metadata(method data for {method} {0x0000022b9a514048} '<init>' '(I)V' in 'java/lang/StringBuilder')}
0x0000022b8472547d: add qword ptr [rsi+108h],1h
0x0000022b84725485: mov rdx,22b9a69bd10h ; {metadata(method data for {method} {0x0000022b9a510538} '<init>' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000022b8472548f: mov esi,dword ptr [rdx+0dch]
0x0000022b84725495: add esi,8h
0x0000022b84725498: mov dword ptr [rdx+0dch],esi
0x0000022b8472549e: mov rdx,22b9a510530h ; {metadata({method} {0x0000022b9a510538} '<init>' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000022b847254a8: and esi,7ffff8h
0x0000022b847254ae: cmp esi,0h
0x0000022b847254b1: je 22b84725fb5h
0x0000022b847254b7: mov rdx,r13
0x0000022b847254ba: mov rsi,22b9a69bd10h ; {metadata(method data for {method} {0x0000022b9a510538} '<init>' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000022b847254c4: add qword ptr [rsi+108h],1h
0x0000022b847254cc: mov rdx,22b9a5cb098h ; {metadata(method data for {method} {0x0000022b9a4a0470} '<init>' '()V' in 'java/lang/Object')}
0x0000022b847254d6: mov esi,dword ptr [rdx+0dch]
0x0000022b847254dc: add esi,8h
0x0000022b847254df: mov dword ptr [rdx+0dch],esi
0x0000022b847254e5: mov rdx,22b9a4a0468h ; {metadata({method} {0x0000022b9a4a0470} '<init>' '()V' in 'java/lang/Object')}
0x0000022b847254ef: and esi,7ffff8h
0x0000022b847254f5: cmp esi,0h
0x0000022b847254f8: je 22b84725fcch
0x0000022b847254fe: mov rdx,7c0000208h ; {metadata({type array char})}
0x0000022b84725508: movsxd rbx,ebx
0x0000022b8472550b: mov rdi,rbx
0x0000022b8472550e: cmp rbx,0ffffffh
0x0000022b84725515: jnbe 22b84725fe3h
0x0000022b8472551b: mov rsi,17h
0x0000022b84725525: lea rsi,[rsi+rbx*2]
0x0000022b84725529: and rsi,0fffffffffffffff8h
0x0000022b8472552d: mov rax,qword ptr [r15+60h]
0x0000022b84725531: lea rsi,[rax+rsi]
0x0000022b84725535: cmp rsi,qword ptr [r15+70h]
0x0000022b84725539: jnbe 22b84725fe3h
0x0000022b8472553f: mov qword ptr [r15+60h],rsi
0x0000022b84725543: sub rsi,rax
0x0000022b84725546: mov qword ptr [rax],1h
0x0000022b8472554d: mov rcx,rdx
0x0000022b84725550: shr rcx,3h
0x0000022b84725554: mov dword ptr [rax+8h],ecx
0x0000022b84725557: mov dword ptr [rax+0ch],ebx
0x0000022b8472555a: sub rsi,10h
0x0000022b8472555e: je 22b84725575h
0x0000022b84725564: xor rbx,rbx
0x0000022b84725567: shr rsi,3h
0x0000022b8472556b: mov qword ptr [rax+rsi*8+8h],rbx
0x0000022b84725570: dec rsi
相關文章
- Java 反彙編、反編譯、volitale解讀Java編譯
- Java程式碼的編譯與反編譯那些事兒Java編譯
- Java編譯與反編譯Java編譯
- java反編譯工具Java編譯
- Flink 靈魂兩百問,這誰頂得住?
- Cython加密python程式碼防止反編譯加密Python編譯
- 深入彙編指令理解Java關鍵字volatileJava
- Java Jar原始碼反編譯工具那家強JavaJAR原始碼編譯
- 小程式反編譯教程編譯
- c#程式反編譯C#編譯
- 程式碼混淆防止APP被反編譯指南APP編譯
- 使用Reflector和Filedisassembler逆向編譯反編譯.cs.dll檔案程式碼編譯
- 彙編程式碼Helloworld
- java 程式碼編譯檢查工具Java編譯
- 將Java編譯為原生程式碼Java編譯
- 反彙編命令U
- 反彙編測試
- x86彙編反編譯到c語言之——(2)if語句編譯C語言
- android 反編譯Android編譯
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- android 反編譯APK取原始碼。Android編譯APK原始碼
- python反編譯之位元組碼Python編譯
- 如何反編譯微信小程式?編譯微信小程式
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- 反編譯之JD-GUI程式碼邏輯分析編譯GUI
- 反編譯獲取任何微信小程式原始碼編譯微信小程式原始碼
- Sublime 編寫編譯 swift程式碼編譯Swift
- Java程式碼如何檢視位元組碼及彙編碼Java
- java反編譯luyten使用,以及中文亂碼,如何解決Java編譯
- Android 反編譯指南Android編譯
- Eclipse配置反編譯Eclipse編譯
- liunx進行 idea java 執行時反彙編IdeaJava
- 微信小程式反編譯~2020年微信小程式編譯
- GCC編譯過程(預處理->編譯->彙編->連結)GC編譯
- 寫Java這麼久,JDK原始碼編譯過沒?編譯JDK原始碼踩坑紀實JavaJDK原始碼編譯
- Unity單例模式,但是是取自Ultrakill反編譯程式碼Unity單例模式編譯
- CatFly【彙編程式碼還原】
- 反彙編專用工具——objdumpOBJ