- 将 hsdis-amd64.dll 和 hsdis-amd64.lib 文件放入 JRE_HOMEbinserver 目录下。
- 配置需要查看汇编指令的 Java 入口类的运行配置。
在 Run/Debug Configurations 中编辑如下配置:
VM Options:-server -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:CompileCommand=compileonly,*VolatileDemo.* JRE:E:Program FilesJavajdk1.8.0_291jre
- Java入口类 VolatileDemo 如下:
package org.example;
public class VolatileDemo {
public static boolean stop = false;
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(() -> {
int i = 0;
while (!stop) {
i++;
}
});
t1.start();
System.out.println("begin start thread");
Thread.sleep(1000);
stop = true;
}
}
运行代码,汇编指令打印如下:
"E:Program FilesJavajdk1.8.0_291jrebinjava.exe" -server -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly "-XX:CompileCommand=compileonly,*VolatileDemo.*" "-javaagent:E:Program Files (x86)JetBrainsIntelliJ IDEA 2020.1libidea_rt.jar=53076:E:Program Files (x86)JetBrainsIntelliJ IDEA 2020.1bin" -Dfile.encoding=UTF-8 -classpath "E:Program FilesJavajdk1.8.0_291jrelibcharsets.jar;E:Program FilesJavajdk1.8.0_291jrelibdeploy.jar;E:Program FilesJavajdk1.8.0_291jrelibextaccess-bridge-64.jar;E:Program FilesJavajdk1.8.0_291jrelibextcldrdata.jar;E:Program FilesJavajdk1.8.0_291jrelibextdnsns.jar;E:Program FilesJavajdk1.8.0_291jrelibextjaccess.jar;E:Program FilesJavajdk1.8.0_291jrelibextjfxrt.jar;E:Program FilesJavajdk1.8.0_291jrelibextlocaledata.jar;E:Program FilesJavajdk1.8.0_291jrelibextnashorn.jar;E:Program FilesJavajdk1.8.0_291jrelibextsunec.jar;E:Program FilesJavajdk1.8.0_291jrelibextsunjce_provider.jar;E:Program FilesJavajdk1.8.0_291jrelibextsunmscapi.jar;E:Program FilesJavajdk1.8.0_291jrelibextsunpkcs11.jar;E:Program FilesJavajdk1.8.0_291jrelibextzipfs.jar;E:Program FilesJavajdk1.8.0_291jrelibjavaws.jar;E:Program FilesJavajdk1.8.0_291jrelibjce.jar;E:Program FilesJavajdk1.8.0_291jrelibjfr.jar;E:Program FilesJavajdk1.8.0_291jrelibjfxswt.jar;E:Program FilesJavajdk1.8.0_291jrelibjsse.jar;E:Program FilesJavajdk1.8.0_291jrelibmanagement-agent.jar;E:Program FilesJavajdk1.8.0_291jrelibplugin.jar;E:Program FilesJavajdk1.8.0_291jrelibresources.jar;E:Program FilesJavajdk1.8.0_291jrelibrt.jar;H:IDEAWorkspaceGuPaoStudyThreadVolatiletargetclasses" org.example.VolatileDemo
Java HotSpot(TM) 64-Bit Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output
CompilerOracle: compileonly *VolatileDemo.*
Loaded disassembler from E:Program FilesJavajdk1.8.0_291jrebinserverhsdis-amd64.dll
Decoding compiled method 0x000001aa313b62d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313b6420 Code size: 0x000001b8
[Disassembling for mach='amd64']
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001aa45452e00} '' '()V' in 'org/example/VolatileDemo'
# [sp+0x40] (sp of caller)
0x000001aa313b6420: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001aa313b6427: push rbp
0x000001aa313b6428: sub rsp,30h
0x000001aa313b642c: mov rsi,1aa45453048h ; {metadata(method data for {method} {0x000001aa45452e00} '' '()V' in 'org/example/VolatileDemo')}
0x000001aa313b6436: mov edi,dword ptr [rsi+0dch]
0x000001aa313b643c: add edi,8h
0x000001aa313b643f: mov dword ptr [rsi+0dch],edi
0x000001aa313b6445: mov rsi,1aa45452df8h ; {metadata({method} {0x000001aa45452e00} '' '()V' in 'org/example/VolatileDemo')}
0x000001aa313b644f: and edi,0h
0x000001aa313b6452: cmp edi,0h
0x000001aa313b6455: je 1aa313b647ah ;*iconst_0
; - org.example.VolatileDemo::@0 (line 10)
0x000001aa313b645b: nop dword ptr [rax+rax+0h]
0x000001aa313b6460: jmp 1aa313b64e8h ; {no_reloc}
0x000001aa313b6465: add byte ptr [rax],al
0x000001aa313b6467: add byte ptr [rax],al
0x000001aa313b6469: add dh,al
0x000001aa313b646b: push 0ffffffffc4834800h ;*putstatic stop
; - org.example.VolatileDemo::@1 (line 10)
0x000001aa313b6471: xor byte ptr [rbp+0ffffffffffffff85h],bl
; {poll_return}
0x000001aa313b6474: add eax,0fdaa9c87h
0x000001aa313b6479: ret
0x000001aa313b647a: mov qword ptr [rsp+8h],rsi
0x000001aa313b647f: mov qword ptr [rsp],0ffffffffffffffffh
0x000001aa313b6487: call 1aa313b4160h ; OopMap{off=108}
;*synchronization entry
; - org.example.VolatileDemo::@-1 (line 10)
; {runtime_call}
0x000001aa313b648c: jmp 1aa313b645bh
0x000001aa313b648e: mov rsi,0h ; {oop(NULL)}
0x000001aa313b6498: push rax
0x000001aa313b6499: push rbx
0x000001aa313b649a: mov rbx,qword ptr [rsi+48h]
0x000001aa313b649e: push rdi
0x000001aa313b649f: push rsi
0x000001aa313b64a0: push rdx
0x000001aa313b64a1: push rcx
0x000001aa313b64a2: push r8
0x000001aa313b64a4: push r9
0x000001aa313b64a6: push r10
0x000001aa313b64a8: mov r10,rsp
0x000001aa313b64ab: and rsp,0fffffffffffffff0h
0x000001aa313b64af: push r10
0x000001aa313b64b1: push r11
0x000001aa313b64b3: mov ecx,1ch
0x000001aa313b64b8: mov r10,7ffc1ce95e40h ; {runtime_call}
0x000001aa313b64c2: call indirect r10
0x000001aa313b64c5: pop r11
0x000001aa313b64c7: pop rsp
0x000001aa313b64c8: pop r10
0x000001aa313b64ca: pop r9
0x000001aa313b64cc: pop r8
0x000001aa313b64ce: pop rcx
0x000001aa313b64cf: pop rdx
0x000001aa313b64d0: pop rsi
0x000001aa313b64d1: pop rdi
0x000001aa313b64d2: cmp rax,qword ptr [rbx+118h]
0x000001aa313b64d9: pop rbx
0x000001aa313b64da: pop rax
0x000001aa313b64db: jne 1aa313b64e8h
0x000001aa313b64e1: jmp 1aa313b646ah
0x000001aa313b64e3: mov eax,0a505a00h
0x000001aa313b64e8: call 1aa313b1c20h ; OopMap{off=205}
;*putstatic stop
; - org.example.VolatileDemo::@1 (line 10)
; {runtime_call}
0x000001aa313b64ed: jmp 1aa313b6460h
0x000001aa313b64f2: nop
0x000001aa313b64f3: nop
0x000001aa313b64f4: mov rax,qword ptr [r15+2b0h]
0x000001aa313b64fb: mov r10,0h
0x000001aa313b6505: mov qword ptr [r15+2b0h],r10
0x000001aa313b650c: mov r10,0h
0x000001aa313b6516: mov qword ptr [r15+2b8h],r10
0x000001aa313b651d: add rsp,30h
0x000001aa313b6521: pop rbp
0x000001aa313b6522: jmp 1aa31324060h ; {runtime_call}
0x000001aa313b6527: hlt
0x000001aa313b6528: hlt
0x000001aa313b6529: hlt
0x000001aa313b652a: hlt
0x000001aa313b652b: hlt
0x000001aa313b652c: hlt
0x000001aa313b652d: hlt
0x000001aa313b652e: hlt
0x000001aa313b652f: hlt
0x000001aa313b6530: hlt
0x000001aa313b6531: hlt
0x000001aa313b6532: hlt
0x000001aa313b6533: hlt
0x000001aa313b6534: hlt
0x000001aa313b6535: hlt
0x000001aa313b6536: hlt
0x000001aa313b6537: hlt
0x000001aa313b6538: hlt
0x000001aa313b6539: hlt
0x000001aa313b653a: hlt
0x000001aa313b653b: hlt
0x000001aa313b653c: hlt
0x000001aa313b653d: hlt
0x000001aa313b653e: hlt
0x000001aa313b653f: hlt
[Exception Handler]
[Stub Code]
0x000001aa313b6540: call 1aa313b3b60h ; {no_reloc}
0x000001aa313b6545: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x000001aa313b654a: sub rsp,80h
0x000001aa313b6551: mov qword ptr [rsp+78h],rax
0x000001aa313b6556: mov qword ptr [rsp+70h],rcx
0x000001aa313b655b: mov qword ptr [rsp+68h],rdx
0x000001aa313b6560: mov qword ptr [rsp+60h],rbx
0x000001aa313b6565: mov qword ptr [rsp+50h],rbp
0x000001aa313b656a: mov qword ptr [rsp+48h],rsi
0x000001aa313b656f: mov qword ptr [rsp+40h],rdi
0x000001aa313b6574: mov qword ptr [rsp+38h],r8
0x000001aa313b6579: mov qword ptr [rsp+30h],r9
0x000001aa313b657e: mov qword ptr [rsp+28h],r10
0x000001aa313b6583: mov qword ptr [rsp+20h],r11
0x000001aa313b6588: mov qword ptr [rsp+18h],r12
0x000001aa313b658d: mov qword ptr [rsp+10h],r13
0x000001aa313b6592: mov qword ptr [rsp+8h],r14
0x000001aa313b6597: mov qword ptr [rsp],r15
0x000001aa313b659b: mov rcx,7313f980h ; {external_word}
0x000001aa313b65a5: mov rdx,1aa313b6545h ; {internal_word}
0x000001aa313b65af: mov r8,rsp
0x000001aa313b65b2: and rsp,0fffffffffffffff0h
0x000001aa313b65b6: mov r10,72e1d730h ; {runtime_call}
0x000001aa313b65c0: call indirect r10
0x000001aa313b65c3: hlt
[Deopt Handler Code]
0x000001aa313b65c4: mov r10,1aa313b65c4h ; {section_word}
0x000001aa313b65ce: push r10
0x000001aa313b65d0: jmp 1aa312f7600h ; {runtime_call}
0x000001aa313b65d5: hlt
0x000001aa313b65d6: hlt
0x000001aa313b65d7: hlt
Decoding compiled method 0x000001aa313b5f50:
Code:
Argument 0 is unknown.RIP: 0x1aa313b60a0 Code size: 0x00000178
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001aa45452e00} '' '()V' in 'org/example/VolatileDemo'
# [sp+0x40] (sp of caller)
0x000001aa313b60a0: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001aa313b60a7: push rbp
0x000001aa313b60a8: sub rsp,30h ;*iconst_0
; - org.example.VolatileDemo::@0 (line 10)
0x000001aa313b60ac: nop dword ptr [rax+0h]
0x000001aa313b60b0: jmp 1aa313b6124h ; {no_reloc}
0x000001aa313b60b5: add byte ptr [rax],al
0x000001aa313b60b7: add byte ptr [rax],al
0x000001aa313b60b9: add dh,al
0x000001aa313b60bb: push 0ffffffffc4834800h ;*putstatic stop
; - org.example.VolatileDemo::@1 (line 10)
0x000001aa313b60c1: xor byte ptr [rbp+0ffffffffffffff85h],bl
; {poll_return}
0x000001aa313b60c4: add eax,0fdaaa037h
0x000001aa313b60c9: ret
0x000001aa313b60ca: mov rsi,0h ; {oop(NULL)}
0x000001aa313b60d4: push rax
0x000001aa313b60d5: push rbx
0x000001aa313b60d6: mov rbx,qword ptr [rsi+48h]
0x000001aa313b60da: push rdi
0x000001aa313b60db: push rsi
0x000001aa313b60dc: push rdx
0x000001aa313b60dd: push rcx
0x000001aa313b60de: push r8
0x000001aa313b60e0: push r9
0x000001aa313b60e2: push r10
0x000001aa313b60e4: mov r10,rsp
0x000001aa313b60e7: and rsp,0fffffffffffffff0h
0x000001aa313b60eb: push r10
0x000001aa313b60ed: push r11
0x000001aa313b60ef: mov ecx,1ch
0x000001aa313b60f4: mov r10,7ffc1ce95e40h ; {runtime_call}
0x000001aa313b60fe: call indirect r10
0x000001aa313b6101: pop r11
0x000001aa313b6103: pop rsp
0x000001aa313b6104: pop r10
0x000001aa313b6106: pop r9
0x000001aa313b6108: pop r8
0x000001aa313b610a: pop rcx
0x000001aa313b610b: pop rdx
0x000001aa313b610c: pop rsi
0x000001aa313b610d: pop rdi
0x000001aa313b610e: cmp rax,qword ptr [rbx+118h]
0x000001aa313b6115: pop rbx
0x000001aa313b6116: pop rax
0x000001aa313b6117: jne 1aa313b6124h
0x000001aa313b611d: jmp 1aa313b60bah
0x000001aa313b611f: mov eax,0a505a00h
0x000001aa313b6124: call 1aa313b1c20h ; OopMap{off=137}
;*putstatic stop
; - org.example.VolatileDemo::@1 (line 10)
; {runtime_call}
0x000001aa313b6129: jmp 1aa313b60b0h
0x000001aa313b612b: nop
0x000001aa313b612c: nop
0x000001aa313b612d: nop
0x000001aa313b612e: nop
0x000001aa313b612f: nop
0x000001aa313b6130: mov rax,qword ptr [r15+2b0h]
0x000001aa313b6137: mov r10,0h
0x000001aa313b6141: mov qword ptr [r15+2b0h],r10
0x000001aa313b6148: mov r10,0h
0x000001aa313b6152: mov qword ptr [r15+2b8h],r10
0x000001aa313b6159: add rsp,30h
0x000001aa313b615d: pop rbp
0x000001aa313b615e: jmp 1aa31324060h ; {runtime_call}
0x000001aa313b6163: hlt
0x000001aa313b6164: hlt
0x000001aa313b6165: hlt
0x000001aa313b6166: hlt
0x000001aa313b6167: hlt
0x000001aa313b6168: hlt
0x000001aa313b6169: hlt
0x000001aa313b616a: hlt
0x000001aa313b616b: hlt
0x000001aa313b616c: hlt
0x000001aa313b616d: hlt
0x000001aa313b616e: hlt
0x000001aa313b616f: hlt
0x000001aa313b6170: hlt
0x000001aa313b6171: hlt
0x000001aa313b6172: hlt
0x000001aa313b6173: hlt
0x000001aa313b6174: hlt
0x000001aa313b6175: hlt
0x000001aa313b6176: hlt
0x000001aa313b6177: hlt
0x000001aa313b6178: hlt
0x000001aa313b6179: hlt
0x000001aa313b617a: hlt
0x000001aa313b617b: hlt
0x000001aa313b617c: hlt
0x000001aa313b617d: hlt
0x000001aa313b617e: hlt
0x000001aa313b617f: hlt
[Exception Handler]
[Stub Code]
0x000001aa313b6180: call 1aa313b3b60h ; {no_reloc}
0x000001aa313b6185: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x000001aa313b618a: sub rsp,80h
0x000001aa313b6191: mov qword ptr [rsp+78h],rax
0x000001aa313b6196: mov qword ptr [rsp+70h],rcx
0x000001aa313b619b: mov qword ptr [rsp+68h],rdx
0x000001aa313b61a0: mov qword ptr [rsp+60h],rbx
0x000001aa313b61a5: mov qword ptr [rsp+50h],rbp
0x000001aa313b61aa: mov qword ptr [rsp+48h],rsi
0x000001aa313b61af: mov qword ptr [rsp+40h],rdi
0x000001aa313b61b4: mov qword ptr [rsp+38h],r8
0x000001aa313b61b9: mov qword ptr [rsp+30h],r9
0x000001aa313b61be: mov qword ptr [rsp+28h],r10
0x000001aa313b61c3: mov qword ptr [rsp+20h],r11
0x000001aa313b61c8: mov qword ptr [rsp+18h],r12
0x000001aa313b61cd: mov qword ptr [rsp+10h],r13
0x000001aa313b61d2: mov qword ptr [rsp+8h],r14
0x000001aa313b61d7: mov qword ptr [rsp],r15
0x000001aa313b61db: mov rcx,7313f980h ; {external_word}
0x000001aa313b61e5: mov rdx,1aa313b6185h ; {internal_word}
0x000001aa313b61ef: mov r8,rsp
0x000001aa313b61f2: and rsp,0fffffffffffffff0h
0x000001aa313b61f6: mov r10,72e1d730h ; {runtime_call}
0x000001aa313b6200: call indirect r10
0x000001aa313b6203: hlt
[Deopt Handler Code]
0x000001aa313b6204: mov r10,1aa313b6204h ; {section_word}
0x000001aa313b620e: push r10
0x000001aa313b6210: jmp 1aa312f7600h ; {runtime_call}
0x000001aa313b6215: hlt
0x000001aa313b6216: hlt
0x000001aa313b6217: hlt
Decoding compiled method 0x000001aa313b98d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313b9a80 Code size: 0x00000510
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001aa45452ca0} 'main' '([Ljava/lang/String;)V' in 'org/example/VolatileDemo'
# parm0: rdx:rdx = '[Ljava/lang/String;'
# [sp+0x40] (sp of caller)
0x000001aa313b9a80: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001aa313b9a87: push rbp
0x000001aa313b9a88: sub rsp,30h
0x000001aa313b9a8c: mov rsi,1aa45453180h ; {metadata(method data for {method} {0x000001aa45452ca0} 'main' '([Ljava/lang/String;)V' in 'org/example/VolatileDemo')}
0x000001aa313b9a96: mov edi,dword ptr [rsi+0dch]
0x000001aa313b9a9c: add edi,8h
0x000001aa313b9a9f: mov dword ptr [rsi+0dch],edi
0x000001aa313b9aa5: mov rsi,1aa45452c98h ; {metadata({method} {0x000001aa45452ca0} 'main' '([Ljava/lang/String;)V' in 'org/example/VolatileDemo')}
0x000001aa313b9aaf: and edi,0h
0x000001aa313b9ab2: cmp edi,0h
0x000001aa313b9ab5: je 1aa313b9d86h
0x000001aa313b9abb: nop dword ptr [rax+rax+0h]
0x000001aa313b9ac0: jmp 1aa313b9dach ; {no_reloc}
0x000001aa313b9ac5: add byte ptr [rax],al
0x000001aa313b9ac7: add byte ptr [rax],al
0x000001aa313b9ac9: add byte ptr [rcx+0ffffffffffffff8bh],cl
0x000001aa313b9acc: Fatal error: Disassembling failed with error code: 15Decoding compiled method 0x000001aa313b7d50:
Code:
Argument 0 is unknown.RIP: 0x1aa313b7e80 Code size: 0x00000038
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001aa45452ca0} 'main' '([Ljava/lang/String;)V' in 'org/example/VolatileDemo'
# parm0: rdx:rdx = '[Ljava/lang/String;'
# [sp+0x20] (sp of caller)
0x000001aa313b7e80: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001aa313b7e87: push rbp
0x000001aa313b7e88: sub rsp,10h ;*synchronization entry
; - org.example.VolatileDemo::main@-1 (line 13)
0x000001aa313b7e8c: mov edx,2h
0x000001aa313b7e91: nop
0x000001aa313b7e93: call 1aa312f57a0h ; OopMap{off=24}
;*new ; - org.example.VolatileDemo::main@0 (line 13)
; {runtime_call}
0x000001aa313b7e98: int3 ;*new ; - org.example.VolatileDemo::main@0 (line 13)
0x000001aa313b7e99: hlt
0x000001aa313b7e9a: hlt
0x000001aa313b7e9b: hlt
0x000001aa313b7e9c: hlt
0x000001aa313b7e9d: hlt
0x000001aa313b7e9e: hlt
0x000001aa313b7e9f: hlt
[Exception Handler]
[Stub Code]
0x000001aa313b7ea0: jmp 1aa313213a0h ; {no_reloc}
[Deopt Handler Code]
0x000001aa313b7ea5: call 1aa313b7eaah
0x000001aa313b7eaa: sub qword ptr [rsp],5h
0x000001aa313b7eaf: jmp 1aa312f7600h ; {runtime_call}
0x000001aa313b7eb4: hlt
0x000001aa313b7eb5: hlt
0x000001aa313b7eb6: hlt
0x000001aa313b7eb7: hlt
Decoding compiled method 0x000001aa313b7290:
Code:
Argument 0 is unknown.RIP: 0x1aa313b73c0 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa4534de90} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/invoke/MemberName' (sp of caller)
0x000001aa313b73c0: mov rbx,qword ptr [rsp+8h]
0x000001aa313b73c5: mov rbx,qword ptr [rbx+18h]
0x000001aa313b73c9: test rbx,rbx
0x000001aa313b73cc: je 1aa313b73d5h
0x000001aa313b73d2: jmp indirect qword ptr [rbx+40h]
0x000001aa313b73d5: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313b73da: hlt
0x000001aa313b73db: hlt
0x000001aa313b73dc: hlt
0x000001aa313b73dd: hlt
0x000001aa313b73de: hlt
0x000001aa313b73df: hlt
Decoding compiled method 0x000001aa313b5b90:
Code:
Argument 0 is unknown.RIP: 0x1aa313b5cc0 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453643f8} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313b5cc0: mov rbx,qword ptr [rdi+18h]
0x000001aa313b5cc4: test rbx,rbx
0x000001aa313b5cc7: je 1aa313b5cd0h
0x000001aa313b5ccd: jmp indirect qword ptr [rbx+40h]
0x000001aa313b5cd0: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313b5cd5: hlt
0x000001aa313b5cd6: hlt
0x000001aa313b5cd7: hlt
Decoding compiled method 0x000001aa313c3310:
Code:
Argument 0 is unknown.RIP: 0x1aa313c3440 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa45366070} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c3440: mov rbx,qword ptr [r8+18h]
0x000001aa313c3444: test rbx,rbx
0x000001aa313c3447: je 1aa313c3450h
0x000001aa313c344d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c3450: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c3455: hlt
0x000001aa313c3456: hlt
0x000001aa313c3457: hlt
Decoding compiled method 0x000001aa313c24d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c2600 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa45392598} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c2600: mov rbx,qword ptr [r8+18h]
0x000001aa313c2604: test rbx,rbx
0x000001aa313c2607: je 1aa313c2610h
0x000001aa313c260d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c2610: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c2615: hlt
0x000001aa313c2616: hlt
0x000001aa313c2617: hlt
Decoding compiled method 0x000001aa313c2350:
Code:
Argument 0 is unknown.RIP: 0x1aa313c2480 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453926f0} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)J' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c2480: mov rbx,qword ptr [r8+18h]
0x000001aa313c2484: test rbx,rbx
0x000001aa313c2487: je 1aa313c2490h
0x000001aa313c248d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c2490: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c2495: hlt
0x000001aa313c2496: hlt
0x000001aa313c2497: hlt
Decoding compiled method 0x000001aa313c21d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c2300 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa45392808} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c2300: mov rbx,qword ptr [r9+18h]
0x000001aa313c2304: test rbx,rbx
0x000001aa313c2307: je 1aa313c2310h
0x000001aa313c230d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c2310: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c2315: hlt
0x000001aa313c2316: hlt
0x000001aa313c2317: hlt
Decoding compiled method 0x000001aa313c2050:
Code:
Argument 0 is unknown.RIP: 0x1aa313c2180 Code size: 0x00000028
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa45392920} 'linkToVirtual' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c2180: mov r10d,dword ptr [rdx+8h]
0x000001aa313c2184: shl r10,3h
0x000001aa313c2188: mov r11,qword ptr [r9+10h]
0x000001aa313c218c: mov rbx,qword ptr [r10+r11*8+1b8h]
0x000001aa313c2194: test rbx,rbx
0x000001aa313c2197: je 1aa313c21a0h
0x000001aa313c219d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c21a0: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c21a5: hlt
0x000001aa313c21a6: hlt
0x000001aa313c21a7: hlt
Decoding compiled method 0x000001aa313c3890:
Code:
Argument 0 is unknown.RIP: 0x1aa313c3a00 Code size: 0x000001f8
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001aa45452d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo'
# [sp+0x40] (sp of caller)
0x000001aa313c3a00: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001aa313c3a07: push rbp
0x000001aa313c3a08: sub rsp,30h
0x000001aa313c3a0c: mov rsi,1aa45453388h ; {metadata(method data for {method} {0x000001aa45452d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001aa313c3a16: mov edi,dword ptr [rsi+0dch]
0x000001aa313c3a1c: add edi,8h
0x000001aa313c3a1f: mov dword ptr [rsi+0dch],edi
0x000001aa313c3a25: mov rsi,1aa45452d48h ; {metadata({method} {0x000001aa45452d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001aa313c3a2f: and edi,0h
0x000001aa313c3a32: cmp edi,0h
0x000001aa313c3a35: je 1aa313c3ae5h ;*iconst_0
; - org.example.VolatileDemo::lambda$main$0@0 (line 14)
0x000001aa313c3a3b: mov esi,0h
0x000001aa313c3a40: jmp 1aa313c3a92h ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001aa313c3a45: nop
0x000001aa313c3a48: inc esi
0x000001aa313c3a4a: mov rdi,1aa45453388h ; {metadata(method data for {method} {0x000001aa45452d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001aa313c3a54: mov ebx,dword ptr [rdi+0e0h]
0x000001aa313c3a5a: add ebx,8h
0x000001aa313c3a5d: mov dword ptr [rdi+0e0h],ebx
0x000001aa313c3a63: mov rdi,1aa45452d48h ; {metadata({method} {0x000001aa45452d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001aa313c3a6d: and ebx,0fff8h
0x000001aa313c3a73: cmp ebx,0h
0x000001aa313c3a76: je 1aa313c3afch ; OopMap{off=124}
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001aa313c3a7c: test dword ptr [1aa2ee60100h],eax
; {poll}
0x000001aa313c3a82: mov rdi,1aa45453388h ; {metadata(method data for {method} {0x000001aa45452d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001aa313c3a8c: inc dword ptr [rdi+128h] ;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001aa313c3a92: mov rdi,0d60037e0h ; {oop(a 'java/lang/Class' = 'org/example/VolatileDemo')}
0x000001aa313c3a9c: movsx edi,byte ptr [rdi+68h] ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001aa313c3aa0: cmp edi,0h
0x000001aa313c3aa3: mov rdi,1aa45453388h ; {metadata(method data for {method} {0x000001aa45452d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001aa313c3aad: mov rbx,108h
0x000001aa313c3ab7: jne 1aa313c3ac7h
0x000001aa313c3abd: mov rbx,118h
0x000001aa313c3ac7: mov rax,qword ptr [rdi+rbx]
0x000001aa313c3acb: lea rax,[rax+1h]
0x000001aa313c3acf: mov qword ptr [rdi+rbx],rax
0x000001aa313c3ad3: je 1aa313c3a48h ;*ifne
; - org.example.VolatileDemo::lambda$main$0@5 (line 15)
0x000001aa313c3ad9: add rsp,30h
0x000001aa313c3add: pop rbp
0x000001aa313c3ade: test dword ptr [1aa2ee60100h],eax
; {poll_return}
0x000001aa313c3ae4: ret
0x000001aa313c3ae5: mov qword ptr [rsp+8h],rsi
0x000001aa313c3aea: mov qword ptr [rsp],0ffffffffffffffffh
0x000001aa313c3af2: call 1aa313b4160h ; OopMap{off=247}
;*synchronization entry
; - org.example.VolatileDemo::lambda$main$0@-1 (line 14)
; {runtime_call}
0x000001aa313c3af7: jmp 1aa313c3a3bh
0x000001aa313c3afc: mov qword ptr [rsp+8h],rdi
0x000001aa313c3b01: mov qword ptr [rsp],0bh
0x000001aa313c3b09: call 1aa313b4160h ; OopMap{off=270}
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
; {runtime_call}
0x000001aa313c3b0e: jmp 1aa313c3a7ch
0x000001aa313c3b13: nop
0x000001aa313c3b14: nop
0x000001aa313c3b15: mov rax,qword ptr [r15+2b0h]
0x000001aa313c3b1c: mov r10,0h
0x000001aa313c3b26: mov qword ptr [r15+2b0h],r10
0x000001aa313c3b2d: mov r10,0h
0x000001aa313c3b37: mov qword ptr [r15+2b8h],r10
0x000001aa313c3b3e: add rsp,30h
0x000001aa313c3b42: pop rbp
0x000001aa313c3b43: jmp 1aa31324060h ; {runtime_call}
0x000001aa313c3b48: hlt
0x000001aa313c3b49: hlt
0x000001aa313c3b4a: hlt
0x000001aa313c3b4b: hlt
0x000001aa313c3b4c: hlt
0x000001aa313c3b4d: hlt
0x000001aa313c3b4e: hlt
0x000001aa313c3b4f: hlt
0x000001aa313c3b50: hlt
0x000001aa313c3b51: hlt
0x000001aa313c3b52: hlt
0x000001aa313c3b53: hlt
0x000001aa313c3b54: hlt
0x000001aa313c3b55: hlt
0x000001aa313c3b56: hlt
0x000001aa313c3b57: hlt
0x000001aa313c3b58: hlt
0x000001aa313c3b59: hlt
0x000001aa313c3b5a: hlt
0x000001aa313c3b5b: hlt
0x000001aa313c3b5c: hlt
0x000001aa313c3b5d: hlt
0x000001aa313c3b5e: hlt
0x000001aa313c3b5f: hlt
[Exception Handler]
[Stub Code]
0x000001aa313c3b60: call 1aa313b3b60h ; {no_reloc}
0x000001aa313c3b65: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x000001aa313c3b6a: sub rsp,80h
0x000001aa313c3b71: mov qword ptr [rsp+78h],rax
0x000001aa313c3b76: mov qword ptr [rsp+70h],rcx
0x000001aa313c3b7b: mov qword ptr [rsp+68h],rdx
0x000001aa313c3b80: mov qword ptr [rsp+60h],rbx
0x000001aa313c3b85: mov qword ptr [rsp+50h],rbp
0x000001aa313c3b8a: mov qword ptr [rsp+48h],rsi
0x000001aa313c3b8f: mov qword ptr [rsp+40h],rdi
0x000001aa313c3b94: mov qword ptr [rsp+38h],r8
0x000001aa313c3b99: mov qword ptr [rsp+30h],r9
0x000001aa313c3b9e: mov qword ptr [rsp+28h],r10
0x000001aa313c3ba3: mov qword ptr [rsp+20h],r11
0x000001aa313c3ba8: mov qword ptr [rsp+18h],r12
0x000001aa313c3bad: mov qword ptr [rsp+10h],r13
0x000001aa313c3bb2: mov qword ptr [rsp+8h],r14
0x000001aa313c3bb7: mov qword ptr [rsp],r15
0x000001aa313c3bbb: mov rcx,7313f980h ; {external_word}
0x000001aa313c3bc5: mov rdx,1aa313c3b65h ; {internal_word}
0x000001aa313c3bcf: mov r8,rsp
0x000001aa313c3bd2: and rsp,0fffffffffffffff0h
0x000001aa313c3bd6: mov r10,72e1d730h ; {runtime_call}
0x000001aa313c3be0: call indirect r10
0x000001aa313c3be3: hlt
[Deopt Handler Code]
0x000001aa313c3be4: mov r10,1aa313c3be4h ; {section_word}
0x000001aa313c3bee: push r10
0x000001aa313c3bf0: jmp 1aa312f7600h ; {runtime_call}
0x000001aa313c3bf5: hlt
0x000001aa313c3bf6: hlt
0x000001aa313c3bf7: hlt
Decoding compiled method 0x000001aa313c3d10:
Code:
Argument 0 is unknown.RIP: 0x1aa313c3e40 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453997a8} 'linkToStatic' '(Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c3e40: mov rbx,qword ptr [rdx+18h]
0x000001aa313c3e44: test rbx,rbx
0x000001aa313c3e47: je 1aa313c3e50h
0x000001aa313c3e4d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c3e50: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c3e55: hlt
0x000001aa313c3e56: hlt
0x000001aa313c3e57: hlt
Decoding compiled method 0x000001aa313c3e90:
Code:
Argument 0 is unknown.RIP: 0x1aa313c3fc0 Code size: 0x00000028
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa4539a188} 'linkToVirtual' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c3fc0: mov r10d,dword ptr [rdx+8h]
0x000001aa313c3fc4: shl r10,3h
0x000001aa313c3fc8: mov r11,qword ptr [r8+10h]
0x000001aa313c3fcc: mov rbx,qword ptr [r10+r11*8+1b8h]
0x000001aa313c3fd4: test rbx,rbx
0x000001aa313c3fd7: je 1aa313c3fe0h
0x000001aa313c3fdd: jmp indirect qword ptr [rbx+40h]
0x000001aa313c3fe0: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c3fe5: hlt
0x000001aa313c3fe6: hlt
0x000001aa313c3fe7: hlt
Decoding compiled method 0x000001aa313c4250:
Code:
Argument 0 is unknown.RIP: 0x1aa313c4380 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa4539e340} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c4380: mov rbx,qword ptr [r9+18h]
0x000001aa313c4384: test rbx,rbx
0x000001aa313c4387: je 1aa313c4390h
0x000001aa313c438d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c4390: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c4395: hlt
0x000001aa313c4396: hlt
0x000001aa313c4397: hlt
Decoding compiled method 0x000001aa313c43d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c4500 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa4539ea60} 'invokeBasic' '(Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001aa313c4500: mov ebx,dword ptr [rdx+14h]
0x000001aa313c4503: mov ebx,dword ptr [rbx+28h]
0x000001aa313c4506: mov rbx,qword ptr [rbx+18h]
0x000001aa313c450a: test rbx,rbx
0x000001aa313c450d: je 1aa313c4516h
0x000001aa313c4513: jmp indirect qword ptr [rbx+40h]
0x000001aa313c4516: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c451b: hlt
0x000001aa313c451c: hlt
0x000001aa313c451d: hlt
0x000001aa313c451e: hlt
0x000001aa313c451f: hlt
Decoding compiled method 0x000001aa313c4550:
Code:
Argument 0 is unknown.RIP: 0x1aa313c4680 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa4539eb78} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c4680: cmp rax,qword ptr [rdx]
0x000001aa313c4683: mov rbx,qword ptr [r9+18h]
0x000001aa313c4687: test rbx,rbx
0x000001aa313c468a: je 1aa313c4693h
0x000001aa313c4690: jmp indirect qword ptr [rbx+40h]
0x000001aa313c4693: jmp 1aa312b52a0h ; {runtime_call}
Decoding compiled method 0x000001aa313c46d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c4800 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa4539ffa8} 'linkToStatic' '(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c4800: mov rbx,qword ptr [rdx+18h]
0x000001aa313c4804: test rbx,rbx
0x000001aa313c4807: je 1aa313c4810h
0x000001aa313c480d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c4810: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c4815: hlt
0x000001aa313c4816: hlt
0x000001aa313c4817: hlt
Decoding compiled method 0x000001aa313c4850:
Code:
Argument 0 is unknown.RIP: 0x1aa313c4980 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a0bc0} 'invokeBasic' '()Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# [sp+0x0] (sp of caller)
0x000001aa313c4980: mov ebx,dword ptr [rdx+14h]
0x000001aa313c4983: mov ebx,dword ptr [rbx+28h]
0x000001aa313c4986: mov rbx,qword ptr [rbx+18h]
0x000001aa313c498a: test rbx,rbx
0x000001aa313c498d: je 1aa313c4996h
0x000001aa313c4993: jmp indirect qword ptr [rbx+40h]
0x000001aa313c4996: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c499b: hlt
0x000001aa313c499c: hlt
0x000001aa313c499d: hlt
0x000001aa313c499e: hlt
0x000001aa313c499f: hlt
Decoding compiled method 0x000001aa313c49d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c4b00 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a0cd8} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c4b00: cmp rax,qword ptr [rdx]
0x000001aa313c4b03: mov rbx,qword ptr [r8+18h]
0x000001aa313c4b07: test rbx,rbx
0x000001aa313c4b0a: je 1aa313c4b13h
0x000001aa313c4b10: jmp indirect qword ptr [rbx+40h]
0x000001aa313c4b13: jmp 1aa312b52a0h ; {runtime_call}
Decoding compiled method 0x000001aa313c4b50:
Code:
Argument 0 is unknown.RIP: 0x1aa313c4c80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a1178} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001aa313c4c80: mov ebx,dword ptr [rdx+14h]
0x000001aa313c4c83: mov ebx,dword ptr [rbx+28h]
0x000001aa313c4c86: mov rbx,qword ptr [rbx+18h]
0x000001aa313c4c8a: test rbx,rbx
0x000001aa313c4c8d: je 1aa313c4c96h
0x000001aa313c4c93: jmp indirect qword ptr [rbx+40h]
0x000001aa313c4c96: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c4c9b: hlt
0x000001aa313c4c9c: hlt
0x000001aa313c4c9d: hlt
0x000001aa313c4c9e: hlt
0x000001aa313c4c9f: hlt
Decoding compiled method 0x000001aa313c4cd0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c4e00 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a1290} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c4e00: cmp rax,qword ptr [rdx]
0x000001aa313c4e03: mov rbx,qword ptr [rdi+18h]
0x000001aa313c4e07: test rbx,rbx
0x000001aa313c4e0a: je 1aa313c4e13h
0x000001aa313c4e10: jmp indirect qword ptr [rbx+40h]
0x000001aa313c4e13: jmp 1aa312b52a0h ; {runtime_call}
Decoding compiled method 0x000001aa313c4e50:
Code:
Argument 0 is unknown.RIP: 0x1aa313c4f80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a1558} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001aa313c4f80: mov ebx,dword ptr [rdx+14h]
0x000001aa313c4f83: mov ebx,dword ptr [rbx+28h]
0x000001aa313c4f86: mov rbx,qword ptr [rbx+18h]
0x000001aa313c4f8a: test rbx,rbx
0x000001aa313c4f8d: je 1aa313c4f96h
0x000001aa313c4f93: jmp indirect qword ptr [rbx+40h]
0x000001aa313c4f96: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c4f9b: hlt
0x000001aa313c4f9c: hlt
0x000001aa313c4f9d: hlt
0x000001aa313c4f9e: hlt
0x000001aa313c4f9f: hlt
Decoding compiled method 0x000001aa313c4fd0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5100 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a1670} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c5100: cmp rax,qword ptr [rdx]
0x000001aa313c5103: mov rbx,qword ptr [rsi+18h]
0x000001aa313c5107: test rbx,rbx
0x000001aa313c510a: je 1aa313c5113h
0x000001aa313c5110: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5113: jmp 1aa312b52a0h ; {runtime_call}
Decoding compiled method 0x000001aa313c5150:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5280 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a1788} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c5280: mov rbx,qword ptr [rsi+18h]
0x000001aa313c5284: test rbx,rbx
0x000001aa313c5287: je 1aa313c5290h
0x000001aa313c528d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5290: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c5295: hlt
0x000001aa313c5296: hlt
0x000001aa313c5297: hlt
Decoding compiled method 0x000001aa313c52d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5400 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a18a0} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001aa313c5400: mov ebx,dword ptr [rdx+14h]
0x000001aa313c5403: mov ebx,dword ptr [rbx+28h]
0x000001aa313c5406: mov rbx,qword ptr [rbx+18h]
0x000001aa313c540a: test rbx,rbx
0x000001aa313c540d: je 1aa313c5416h
0x000001aa313c5413: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5416: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c541b: hlt
0x000001aa313c541c: hlt
0x000001aa313c541d: hlt
0x000001aa313c541e: hlt
0x000001aa313c541f: hlt
Decoding compiled method 0x000001aa313c5450:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5580 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a19b8} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c5580: cmp rax,qword ptr [rdx]
0x000001aa313c5583: mov rbx,qword ptr [rcx+18h]
0x000001aa313c5587: test rbx,rbx
0x000001aa313c558a: je 1aa313c5593h
0x000001aa313c5590: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5593: jmp 1aa312b52a0h ; {runtime_call}
Decoding compiled method 0x000001aa313c55d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5700 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a1c58} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c5700: mov rbx,qword ptr [rcx+18h]
0x000001aa313c5704: test rbx,rbx
0x000001aa313c5707: je 1aa313c5710h
0x000001aa313c570d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5710: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c5715: hlt
0x000001aa313c5716: hlt
0x000001aa313c5717: hlt
Decoding compiled method 0x000001aa313c5750:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5880 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a1ea0} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001aa313c5880: mov ebx,dword ptr [rdx+14h]
0x000001aa313c5883: mov ebx,dword ptr [rbx+28h]
0x000001aa313c5886: mov rbx,qword ptr [rbx+18h]
0x000001aa313c588a: test rbx,rbx
0x000001aa313c588d: je 1aa313c5896h
0x000001aa313c5893: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5896: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c589b: hlt
0x000001aa313c589c: hlt
0x000001aa313c589d: hlt
0x000001aa313c589e: hlt
0x000001aa313c589f: hlt
Decoding compiled method 0x000001aa313c58d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5a00 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a1fb8} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/invoke/MemberName' (sp of caller)
0x000001aa313c5a00: mov rbx,qword ptr [rsp+8h]
0x000001aa313c5a05: cmp rax,qword ptr [rdx]
0x000001aa313c5a08: mov rbx,qword ptr [rbx+18h]
0x000001aa313c5a0c: test rbx,rbx
0x000001aa313c5a0f: je 1aa313c5a18h
0x000001aa313c5a15: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5a18: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c5a1d: hlt
0x000001aa313c5a1e: hlt
0x000001aa313c5a1f: hlt
Decoding compiled method 0x000001aa313c5a50:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5b80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a2438} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
0x000001aa313c5b80: mov ebx,dword ptr [rdx+14h]
0x000001aa313c5b83: mov ebx,dword ptr [rbx+28h]
0x000001aa313c5b86: mov rbx,qword ptr [rbx+18h]
0x000001aa313c5b8a: test rbx,rbx
0x000001aa313c5b8d: je 1aa313c5b96h
0x000001aa313c5b93: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5b96: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c5b9b: hlt
0x000001aa313c5b9c: hlt
0x000001aa313c5b9d: hlt
0x000001aa313c5b9e: hlt
0x000001aa313c5b9f: hlt
Decoding compiled method 0x000001aa313c5bd0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5d00 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a2550} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/invoke/MemberName'
0x000001aa313c5d00: mov rbx,qword ptr [rsp+10h]
0x000001aa313c5d05: cmp rax,qword ptr [rdx]
0x000001aa313c5d08: mov rbx,qword ptr [rbx+18h]
0x000001aa313c5d0c: test rbx,rbx
0x000001aa313c5d0f: je 1aa313c5d18h
0x000001aa313c5d15: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5d18: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c5d1d: hlt
0x000001aa313c5d1e: hlt
0x000001aa313c5d1f: hlt
Decoding compiled method 0x000001aa313c5d50:
Code:
Argument 0 is unknown.RIP: 0x1aa313c5e80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a2b18} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/invoke/MemberName'
0x000001aa313c5e80: mov rbx,qword ptr [rsp+10h]
0x000001aa313c5e85: mov rbx,qword ptr [rbx+18h]
0x000001aa313c5e89: test rbx,rbx
0x000001aa313c5e8c: je 1aa313c5e95h
0x000001aa313c5e92: jmp indirect qword ptr [rbx+40h]
0x000001aa313c5e95: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c5e9a: hlt
0x000001aa313c5e9b: hlt
0x000001aa313c5e9c: hlt
0x000001aa313c5e9d: hlt
0x000001aa313c5e9e: hlt
0x000001aa313c5e9f: hlt
Decoding compiled method 0x000001aa313c5ed0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6000 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a2ef0} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm6: [sp+0x8] = 'java/lang/Object'
0x000001aa313c6000: mov ebx,dword ptr [rdx+14h]
0x000001aa313c6003: mov ebx,dword ptr [rbx+28h]
0x000001aa313c6006: mov rbx,qword ptr [rbx+18h]
0x000001aa313c600a: test rbx,rbx
0x000001aa313c600d: je 1aa313c6016h
0x000001aa313c6013: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6016: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c601b: hlt
0x000001aa313c601c: hlt
0x000001aa313c601d: hlt
0x000001aa313c601e: hlt
0x000001aa313c601f: hlt
Decoding compiled method 0x000001aa313c6050:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6180 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a3008} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/invoke/MemberName'
0x000001aa313c6180: mov rbx,qword ptr [rsp+18h]
0x000001aa313c6185: cmp rax,qword ptr [rdx]
0x000001aa313c6188: mov rbx,qword ptr [rbx+18h]
0x000001aa313c618c: test rbx,rbx
0x000001aa313c618f: je 1aa313c6198h
0x000001aa313c6195: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6198: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c619d: hlt
0x000001aa313c619e: hlt
0x000001aa313c619f: hlt
Decoding compiled method 0x000001aa313c61d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6300 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a3120} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/invoke/MemberName'
0x000001aa313c6300: mov rbx,qword ptr [rsp+18h]
0x000001aa313c6305: mov rbx,qword ptr [rbx+18h]
0x000001aa313c6309: test rbx,rbx
0x000001aa313c630c: je 1aa313c6315h
0x000001aa313c6312: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6315: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c631a: hlt
0x000001aa313c631b: hlt
0x000001aa313c631c: hlt
0x000001aa313c631d: hlt
0x000001aa313c631e: hlt
0x000001aa313c631f: hlt
Decoding compiled method 0x000001aa313c6350:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6480 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a33f0} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm6: [sp+0x8] = 'java/lang/Object'
# parm7: [sp+0x10] = 'java/lang/Object'
0x000001aa313c6480: mov ebx,dword ptr [rdx+14h]
0x000001aa313c6483: mov ebx,dword ptr [rbx+28h]
0x000001aa313c6486: mov rbx,qword ptr [rbx+18h]
0x000001aa313c648a: test rbx,rbx
0x000001aa313c648d: je 1aa313c6496h
0x000001aa313c6493: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6496: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c649b: hlt
0x000001aa313c649c: hlt
0x000001aa313c649d: hlt
0x000001aa313c649e: hlt
0x000001aa313c649f: hlt
Decoding compiled method 0x000001aa313c64d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6600 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a3640} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/invoke/MemberName'
0x000001aa313c6600: mov rbx,qword ptr [rsp+20h]
0x000001aa313c6605: cmp rax,qword ptr [rdx]
0x000001aa313c6608: mov rbx,qword ptr [rbx+18h]
0x000001aa313c660c: test rbx,rbx
0x000001aa313c660f: je 1aa313c6618h
0x000001aa313c6615: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6618: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c661d: hlt
0x000001aa313c661e: hlt
0x000001aa313c661f: hlt
Decoding compiled method 0x000001aa313c6650:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6780 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a3e88} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/invoke/MemberName'
0x000001aa313c6780: mov rbx,qword ptr [rsp+20h]
0x000001aa313c6785: mov rbx,qword ptr [rbx+18h]
0x000001aa313c6789: test rbx,rbx
0x000001aa313c678c: je 1aa313c6795h
0x000001aa313c6792: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6795: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c679a: hlt
0x000001aa313c679b: hlt
0x000001aa313c679c: hlt
0x000001aa313c679d: hlt
0x000001aa313c679e: hlt
0x000001aa313c679f: hlt
Decoding compiled method 0x000001aa313c67d0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6900 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a40f0} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm6: [sp+0x8] = 'java/lang/Object'
# parm7: [sp+0x10] = 'java/lang/Object'
# parm8: [sp+0x18] = 'java/lang/Object'
0x000001aa313c6900: mov ebx,dword ptr [rdx+14h]
0x000001aa313c6903: mov ebx,dword ptr [rbx+28h]
0x000001aa313c6906: mov rbx,qword ptr [rbx+18h]
0x000001aa313c690a: test rbx,rbx
0x000001aa313c690d: je 1aa313c6916h
0x000001aa313c6913: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6916: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c691b: hlt
0x000001aa313c691c: hlt
0x000001aa313c691d: hlt
0x000001aa313c691e: hlt
0x000001aa313c691f: hlt
Decoding compiled method 0x000001aa313c6950:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6a80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a4208} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/invoke/MemberName'
0x000001aa313c6a80: mov rbx,qword ptr [rsp+28h]
0x000001aa313c6a85: cmp rax,qword ptr [rdx]
0x000001aa313c6a88: mov rbx,qword ptr [rbx+18h]
0x000001aa313c6a8c: test rbx,rbx
0x000001aa313c6a8f: je 1aa313c6a98h
0x000001aa313c6a95: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6a98: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c6a9d: hlt
0x000001aa313c6a9e: hlt
0x000001aa313c6a9f: hlt
Decoding compiled method 0x000001aa313c6ad0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6c00 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a4970} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/invoke/MemberName'
0x000001aa313c6c00: mov rbx,qword ptr [rsp+28h]
0x000001aa313c6c05: mov rbx,qword ptr [rbx+18h]
0x000001aa313c6c09: test rbx,rbx
0x000001aa313c6c0c: je 1aa313c6c15h
0x000001aa313c6c12: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6c15: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c6c1a: hlt
0x000001aa313c6c1b: hlt
0x000001aa313c6c1c: hlt
0x000001aa313c6c1d: hlt
0x000001aa313c6c1e: hlt
0x000001aa313c6c1f: hlt
Decoding compiled method 0x000001aa313c6c50:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6d80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a4be8} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm6: [sp+0x8] = 'java/lang/Object'
# parm7: [sp+0x10] = 'java/lang/Object'
# parm8: [sp+0x18] = 'java/lang/Object'
# parm9: [sp+0x20] = 'java/lang/Object'
0x000001aa313c6d80: mov ebx,dword ptr [rdx+14h]
0x000001aa313c6d83: mov ebx,dword ptr [rbx+28h]
0x000001aa313c6d86: mov rbx,qword ptr [rbx+18h]
0x000001aa313c6d8a: test rbx,rbx
0x000001aa313c6d8d: je 1aa313c6d96h
0x000001aa313c6d93: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6d96: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c6d9b: hlt
0x000001aa313c6d9c: hlt
0x000001aa313c6d9d: hlt
0x000001aa313c6d9e: hlt
0x000001aa313c6d9f: hlt
Decoding compiled method 0x000001aa313c6dd0:
Code:
Argument 0 is unknown.RIP: 0x1aa313c6f00 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a4d00} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/Object'
# parm11: [sp+0x28] = 'java/lang/invoke/MemberName'
0x000001aa313c6f00: mov rbx,qword ptr [rsp+30h]
0x000001aa313c6f05: cmp rax,qword ptr [rdx]
0x000001aa313c6f08: mov rbx,qword ptr [rbx+18h]
0x000001aa313c6f0c: test rbx,rbx
0x000001aa313c6f0f: je 1aa313c6f18h
0x000001aa313c6f15: jmp indirect qword ptr [rbx+40h]
0x000001aa313c6f18: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c6f1d: hlt
0x000001aa313c6f1e: hlt
0x000001aa313c6f1f: hlt
Decoding compiled method 0x000001aa313c6f50:
Code:
Argument 0 is unknown.RIP: 0x1aa313c7080 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a83c8} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/Object'
# parm11: [sp+0x28] = 'java/lang/invoke/MemberName'
0x000001aa313c7080: mov rbx,qword ptr [rsp+30h]
0x000001aa313c7085: mov rbx,qword ptr [rbx+18h]
0x000001aa313c7089: test rbx,rbx
0x000001aa313c708c: je 1aa313c7095h
0x000001aa313c7092: jmp indirect qword ptr [rbx+40h]
0x000001aa313c7095: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c709a: hlt
0x000001aa313c709b: hlt
0x000001aa313c709c: hlt
0x000001aa313c709d: hlt
0x000001aa313c709e: hlt
0x000001aa313c709f: hlt
Decoding compiled method 0x000001aa313c7390:
Code:
Argument 0 is unknown.RIP: 0x1aa313c74c0 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a84e0} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/Object'
# parm11: [sp+0x28] = 'java/lang/Object'
# parm12: [sp+0x30] = 'java/lang/invoke/MemberName'
0x000001aa313c74c0: mov rbx,qword ptr [rsp+38h]
0x000001aa313c74c5: mov rbx,qword ptr [rbx+18h]
0x000001aa313c74c9: test rbx,rbx
0x000001aa313c74cc: je 1aa313c74d5h
0x000001aa313c74d2: jmp indirect qword ptr [rbx+40h]
0x000001aa313c74d5: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c74da: hlt
0x000001aa313c74db: hlt
0x000001aa313c74dc: hlt
0x000001aa313c74dd: hlt
0x000001aa313c74de: hlt
0x000001aa313c74df: hlt
Decoding compiled method 0x000001aa313c7510:
Code:
Argument 0 is unknown.RIP: 0x1aa313c7640 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a8b90} 'linkToStatic' '(Ljava/lang/Object;ILjava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8 = int
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c7640: mov rbx,qword ptr [r9+18h]
0x000001aa313c7644: test rbx,rbx
0x000001aa313c7647: je 1aa313c7650h
0x000001aa313c764d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c7650: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c7655: hlt
0x000001aa313c7656: hlt
0x000001aa313c7657: hlt
Decoding compiled method 0x000001aa313c7690:
Code:
Argument 0 is unknown.RIP: 0x1aa313c77c0 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453a8dd8} 'linkToStatic' '(ILjava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
# parm0: rdx = int
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c77c0: mov rbx,qword ptr [r9+18h]
0x000001aa313c77c4: test rbx,rbx
0x000001aa313c77c7: je 1aa313c77d0h
0x000001aa313c77cd: jmp indirect qword ptr [rbx+40h]
0x000001aa313c77d0: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c77d5: hlt
0x000001aa313c77d6: hlt
0x000001aa313c77d7: hlt
Decoding compiled method 0x000001aa313c7810:
Code:
Argument 0 is unknown.RIP: 0x1aa313c7940 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453b45e8} 'linkToStatic' '(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx = int
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c7940: mov rbx,qword ptr [rdi+18h]
0x000001aa313c7944: test rbx,rbx
0x000001aa313c7947: je 1aa313c7950h
0x000001aa313c794d: jmp indirect qword ptr [rbx+40h]
0x000001aa313c7950: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c7955: hlt
0x000001aa313c7956: hlt
0x000001aa313c7957: hlt
Decoding compiled method 0x000001aa313c7990:
Code:
Argument 0 is unknown.RIP: 0x1aa313c7ac0 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453b48d0} 'invokeBasic' '(ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8 = int
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001aa313c7ac0: mov ebx,dword ptr [rdx+14h]
0x000001aa313c7ac3: mov ebx,dword ptr [rbx+28h]
0x000001aa313c7ac6: mov rbx,qword ptr [rbx+18h]
0x000001aa313c7aca: test rbx,rbx
0x000001aa313c7acd: je 1aa313c7ad6h
0x000001aa313c7ad3: jmp indirect qword ptr [rbx+40h]
0x000001aa313c7ad6: jmp 1aa312b52a0h ; {runtime_call}
0x000001aa313c7adb: hlt
0x000001aa313c7adc: hlt
0x000001aa313c7add: hlt
0x000001aa313c7ade: hlt
0x000001aa313c7adf: hlt
Decoding compiled method 0x000001aa313c7b10:
Code:
Argument 0 is unknown.RIP: 0x1aa313c7c40 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001aa453b4df0} 'linkToSpecial' '(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8 = int
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001aa313c7c40: cmp rax,qword ptr [rdx]
0x000001aa313c7c43: mov rbx,qword ptr [rsi+18h]
0x000001aa313c7c47: test rbx,rbx
0x000001aa313c7c4a: je 1aa313c7c53h
0x000001aa313c7c50: jmp indirect qword ptr [rbx+40h]
0x000001aa313c7c53: jmp 1aa312b52a0h ; {runtime_call}
begin start thread
Decoding compiled method 0x000001aa313cadd0:
Code:
Argument 0 is unknown.RIP: 0x1aa313caf00 Code size: 0x00000058
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001aa45452d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo'
# [sp+0x20] (sp of caller)
0x000001aa313caf00: sub rsp,18h
0x000001aa313caf07: mov qword ptr [rsp+10h],rbp ;*synchronization entry
; - org.example.VolatileDemo::lambda$main$0@-1 (line 14)
0x000001aa313caf0c: mov r10,0d60037e0h ; {oop(a 'java/lang/Class' = 'org/example/VolatileDemo')}
0x000001aa313caf16: movzx r10d,byte ptr [r10+68h]
0x000001aa313caf1b: test r10d,r10d
0x000001aa313caf1e: je 1aa313caf2ch ;*ifne
; - org.example.VolatileDemo::lambda$main$0@5 (line 15)
0x000001aa313caf20: add rsp,10h
0x000001aa313caf24: pop rbp
0x000001aa313caf25: test dword ptr [1aa2ee60000h],eax
; {poll_return}
0x000001aa313caf2b: ret
0x000001aa313caf2c: mov r10d,1h ; OopMap{off=50}
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001aa313caf32: test dword ptr [1aa2ee60000h],eax
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
; {poll}
0x000001aa313caf38: inc r10d
0x000001aa313caf3b: jmp 1aa313caf32h ;*iinc
; - org.example.VolatileDemo::lambda$main$0@8 (line 16)
0x000001aa313caf3d: int3
0x000001aa313caf3e: hlt
0x000001aa313caf3f: hlt
[Exception Handler]
[Stub Code]
0x000001aa313caf40: jmp 1aa313213a0h ; {no_reloc}
[Deopt Handler Code]
0x000001aa313caf45: call 1aa313caf4ah
0x000001aa313caf4a: sub qword ptr [rsp],5h
0x000001aa313caf4f: jmp 1aa312f7600h ; {runtime_call}
0x000001aa313caf54: hlt
0x000001aa313caf55: hlt
0x000001aa313caf56: hlt
0x000001aa313caf57: hlt
Decoding compiled method 0x000001aa313cb050:
Code:
Argument 0 is unknown.RIP: 0x1aa313cb180 Code size: 0x00000098
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001aa45452d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo'
0x000001aa313cb180: int3
0x000001aa313cb181: nop word ptr [rax+rax+0h]
0x000001aa313cb18c: nop
0x000001aa313cb190: sub rsp,38h
0x000001aa313cb197: mov qword ptr [rsp+30h],rbp
0x000001aa313cb19c: mov ebx,dword ptr [rdx]
0x000001aa313cb19e: mov rcx,rdx
0x000001aa313cb1a1: mov r10,72d63140h
0x000001aa313cb1ab: call indirect r10 ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001aa313cb1ae: mov r10,0d60037e0h ; {oop(a 'java/lang/Class' = 'org/example/VolatileDemo')}
0x000001aa313cb1b8: movzx r11d,byte ptr [r10+68h]
0x000001aa313cb1bd: test r11d,r11d
0x000001aa313cb1c0: jne 1aa313cb1d4h ;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001aa313cb1c2: inc ebx ; OopMap{off=68}
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001aa313cb1c4: test dword ptr [1aa2ee60000h],eax
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
; {poll}
0x000001aa313cb1ca: inc ebx ; OopMap{off=76}
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001aa313cb1cc: test dword ptr [1aa2ee60000h],eax
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
; {poll}
0x000001aa313cb1d2: jmp 1aa313cb1cah
0x000001aa313cb1d4: add rsp,30h
0x000001aa313cb1d8: pop rbp
0x000001aa313cb1d9: test dword ptr [1aa2ee60000h],eax
; {poll_return}
0x000001aa313cb1df: ret ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001aa313cb1e0: int3
0x000001aa313cb1e1: hlt
0x000001aa313cb1e2: hlt
0x000001aa313cb1e3: hlt
0x000001aa313cb1e4: hlt
0x000001aa313cb1e5: hlt
0x000001aa313cb1e6: hlt
0x000001aa313cb1e7: hlt
0x000001aa313cb1e8: hlt
0x000001aa313cb1e9: hlt
0x000001aa313cb1ea: hlt
0x000001aa313cb1eb: hlt
0x000001aa313cb1ec: hlt
0x000001aa313cb1ed: hlt
0x000001aa313cb1ee: hlt
0x000001aa313cb1ef: hlt
0x000001aa313cb1f0: hlt
0x000001aa313cb1f1: hlt
0x000001aa313cb1f2: hlt
0x000001aa313cb1f3: hlt
0x000001aa313cb1f4: hlt
0x000001aa313cb1f5: hlt
0x000001aa313cb1f6: hlt
0x000001aa313cb1f7: hlt
0x000001aa313cb1f8: hlt
0x000001aa313cb1f9: hlt
0x000001aa313cb1fa: hlt
0x000001aa313cb1fb: hlt
0x000001aa313cb1fc: hlt
0x000001aa313cb1fd: hlt
0x000001aa313cb1fe: hlt
0x000001aa313cb1ff: hlt
[Exception Handler]
[Stub Code]
0x000001aa313cb200: jmp 1aa313213a0h ; {no_reloc}
[Deopt Handler Code]
0x000001aa313cb205: call 1aa313cb20ah
0x000001aa313cb20a: sub qword ptr [rsp],5h
0x000001aa313cb20f: jmp 1aa312f7600h ; {runtime_call}
0x000001aa313cb214: hlt
0x000001aa313cb215: hlt
0x000001aa313cb216: hlt
0x000001aa313cb217: hlt
其中没有lock指令。
- Java入口类 VolatileDemo 做如下更改(加了 volatile 关键字):
package org.example;
public class VolatileDemo {
public static volatile boolean stop = false;
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(() -> {
int i = 0;
while (!stop) {
i++;
}
});
t1.start();
System.out.println("begin start thread");
Thread.sleep(1000);
stop = true;
}
}
打印汇编指令如下:
"E:Program FilesJavajdk1.8.0_291jrebinjava.exe" -server -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly "-XX:CompileCommand=compileonly,*VolatileDemo.*" "-javaagent:E:Program Files (x86)JetBrainsIntelliJ IDEA 2020.1libidea_rt.jar=53221:E:Program Files (x86)JetBrainsIntelliJ IDEA 2020.1bin" -Dfile.encoding=UTF-8 -classpath "E:Program FilesJavajdk1.8.0_291jrelibcharsets.jar;E:Program FilesJavajdk1.8.0_291jrelibdeploy.jar;E:Program FilesJavajdk1.8.0_291jrelibextaccess-bridge-64.jar;E:Program FilesJavajdk1.8.0_291jrelibextcldrdata.jar;E:Program FilesJavajdk1.8.0_291jrelibextdnsns.jar;E:Program FilesJavajdk1.8.0_291jrelibextjaccess.jar;E:Program FilesJavajdk1.8.0_291jrelibextjfxrt.jar;E:Program FilesJavajdk1.8.0_291jrelibextlocaledata.jar;E:Program FilesJavajdk1.8.0_291jrelibextnashorn.jar;E:Program FilesJavajdk1.8.0_291jrelibextsunec.jar;E:Program FilesJavajdk1.8.0_291jrelibextsunjce_provider.jar;E:Program FilesJavajdk1.8.0_291jrelibextsunmscapi.jar;E:Program FilesJavajdk1.8.0_291jrelibextsunpkcs11.jar;E:Program FilesJavajdk1.8.0_291jrelibextzipfs.jar;E:Program FilesJavajdk1.8.0_291jrelibjavaws.jar;E:Program FilesJavajdk1.8.0_291jrelibjce.jar;E:Program FilesJavajdk1.8.0_291jrelibjfr.jar;E:Program FilesJavajdk1.8.0_291jrelibjfxswt.jar;E:Program FilesJavajdk1.8.0_291jrelibjsse.jar;E:Program FilesJavajdk1.8.0_291jrelibmanagement-agent.jar;E:Program FilesJavajdk1.8.0_291jrelibplugin.jar;E:Program FilesJavajdk1.8.0_291jrelibresources.jar;E:Program FilesJavajdk1.8.0_291jrelibrt.jar;H:IDEAWorkspaceGuPaoStudyThreadVolatiletargetclasses" org.example.VolatileDemo
Java HotSpot(TM) 64-Bit Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output
CompilerOracle: compileonly *VolatileDemo.*
Loaded disassembler from E:Program FilesJavajdk1.8.0_291jrebinserverhsdis-amd64.dll
Decoding compiled method 0x000001c48638fc50:
Code:
Argument 0 is unknown.RIP: 0x1c48638fda0 Code size: 0x000001b8
[Disassembling for mach='amd64']
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001c49a422e00} '' '()V' in 'org/example/VolatileDemo'
# [sp+0x40] (sp of caller)
0x000001c48638fda0: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001c48638fda7: push rbp
0x000001c48638fda8: sub rsp,30h
0x000001c48638fdac: mov rsi,1c49a423048h ; {metadata(method data for {method} {0x000001c49a422e00} '' '()V' in 'org/example/VolatileDemo')}
0x000001c48638fdb6: mov edi,dword ptr [rsi+0dch]
0x000001c48638fdbc: add edi,8h
0x000001c48638fdbf: mov dword ptr [rsi+0dch],edi
0x000001c48638fdc5: mov rsi,1c49a422df8h ; {metadata({method} {0x000001c49a422e00} '' '()V' in 'org/example/VolatileDemo')}
0x000001c48638fdcf: and edi,0h
0x000001c48638fdd2: cmp edi,0h
0x000001c48638fdd5: je 1c48638fe04h ;*iconst_0
; - org.example.VolatileDemo::@0 (line 10)
0x000001c48638fddb: nop dword ptr [rax+rax+0h]
0x000001c48638fde0: jmp 1c48638fe75h ; {no_reloc}
0x000001c48638fde5: add byte ptr [rax],al
0x000001c48638fde7: add byte ptr [rax],al
0x000001c48638fde9: add byte ptr [rdi+0h],bh
0x000001c48638fdef: mov byte ptr [rsi+68h],dil
0x000001c48638fdf3: lock add dword ptr [rsp],0h ;*putstatic stop
; - org.example.VolatileDemo::@1 (line 10)
0x000001c48638fdf8: add rsp,30h
0x000001c48638fdfc: pop rbp
0x000001c48638fdfd: test dword ptr [1c483c90100h],eax
; {poll_return}
0x000001c48638fe03: ret
0x000001c48638fe04: mov qword ptr [rsp+8h],rsi
0x000001c48638fe09: mov qword ptr [rsp],0ffffffffffffffffh
0x000001c48638fe11: call 1c48638f3a0h ; OopMap{off=118}
;*synchronization entry
; - org.example.VolatileDemo::@-1 (line 10)
; {runtime_call}
0x000001c48638fe16: jmp 1c48638fddbh
0x000001c48638fe18: mov rsi,0h ; {oop(NULL)}
0x000001c48638fe22: push rax
0x000001c48638fe23: push rbx
0x000001c48638fe24: mov rbx,qword ptr [rsi+48h]
0x000001c48638fe28: push rdi
0x000001c48638fe29: push rsi
0x000001c48638fe2a: push rdx
0x000001c48638fe2b: push rcx
0x000001c48638fe2c: push r8
0x000001c48638fe2e: push r9
0x000001c48638fe30: push r10
0x000001c48638fe32: mov r10,rsp
0x000001c48638fe35: and rsp,0fffffffffffffff0h
0x000001c48638fe39: push r10
0x000001c48638fe3b: push r11
0x000001c48638fe3d: mov ecx,1ch
0x000001c48638fe42: mov r10,7ffc1ce95e40h ; {runtime_call}
0x000001c48638fe4c: call indirect r10
0x000001c48638fe4f: pop r11
0x000001c48638fe51: pop rsp
0x000001c48638fe52: pop r10
0x000001c48638fe54: pop r9
0x000001c48638fe56: pop r8
0x000001c48638fe58: pop rcx
0x000001c48638fe59: pop rdx
0x000001c48638fe5a: pop rsi
0x000001c48638fe5b: pop rdi
0x000001c48638fe5c: cmp rax,qword ptr [rbx+118h]
0x000001c48638fe63: pop rbx
0x000001c48638fe64: pop rax
0x000001c48638fe65: jne 1c48638fe75h
0x000001c48638fe6b: jmp 1c48638fdeah
0x000001c48638fe70: mov eax,0a535d00h
0x000001c48638fe75: call 1c48638e5a0h ; OopMap{off=218}
;*putstatic stop
; - org.example.VolatileDemo::@1 (line 10)
; {runtime_call}
0x000001c48638fe7a: jmp 1c48638fde0h
0x000001c48638fe7f: nop
0x000001c48638fe80: nop
0x000001c48638fe81: mov rax,qword ptr [r15+2b0h]
0x000001c48638fe88: mov r10,0h
0x000001c48638fe92: mov qword ptr [r15+2b0h],r10
0x000001c48638fe99: mov r10,0h
0x000001c48638fea3: mov qword ptr [r15+2b8h],r10
0x000001c48638feaa: add rsp,30h
0x000001c48638feae: pop rbp
0x000001c48638feaf: jmp 1c4862f47a0h ; {runtime_call}
0x000001c48638feb4: hlt
0x000001c48638feb5: hlt
0x000001c48638feb6: hlt
0x000001c48638feb7: hlt
0x000001c48638feb8: hlt
0x000001c48638feb9: hlt
0x000001c48638feba: hlt
0x000001c48638febb: hlt
0x000001c48638febc: hlt
0x000001c48638febd: hlt
0x000001c48638febe: hlt
0x000001c48638febf: hlt
[Exception Handler]
[Stub Code]
0x000001c48638fec0: call 1c4862f4160h ; {no_reloc}
0x000001c48638fec5: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x000001c48638feca: sub rsp,80h
0x000001c48638fed1: mov qword ptr [rsp+78h],rax
0x000001c48638fed6: mov qword ptr [rsp+70h],rcx
0x000001c48638fedb: mov qword ptr [rsp+68h],rdx
0x000001c48638fee0: mov qword ptr [rsp+60h],rbx
0x000001c48638fee5: mov qword ptr [rsp+50h],rbp
0x000001c48638feea: mov qword ptr [rsp+48h],rsi
0x000001c48638feef: mov qword ptr [rsp+40h],rdi
0x000001c48638fef4: mov qword ptr [rsp+38h],r8
0x000001c48638fef9: mov qword ptr [rsp+30h],r9
0x000001c48638fefe: mov qword ptr [rsp+28h],r10
0x000001c48638ff03: mov qword ptr [rsp+20h],r11
0x000001c48638ff08: mov qword ptr [rsp+18h],r12
0x000001c48638ff0d: mov qword ptr [rsp+10h],r13
0x000001c48638ff12: mov qword ptr [rsp+8h],r14
0x000001c48638ff17: mov qword ptr [rsp],r15
0x000001c48638ff1b: mov rcx,7313f980h ; {external_word}
0x000001c48638ff25: mov rdx,1c48638fec5h ; {internal_word}
0x000001c48638ff2f: mov r8,rsp
0x000001c48638ff32: and rsp,0fffffffffffffff0h
0x000001c48638ff36: mov r10,72e1d730h ; {runtime_call}
0x000001c48638ff40: call indirect r10
0x000001c48638ff43: hlt
[Deopt Handler Code]
0x000001c48638ff44: mov r10,1c48638ff44h ; {section_word}
0x000001c48638ff4e: push r10
0x000001c48638ff50: jmp 1c4862c7600h ; {runtime_call}
0x000001c48638ff55: hlt
0x000001c48638ff56: hlt
0x000001c48638ff57: hlt
Decoding compiled method 0x000001c486390010:
Code:
Argument 0 is unknown.RIP: 0x1c486390160 Code size: 0x00000178
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001c49a422e00} '' '()V' in 'org/example/VolatileDemo'
# [sp+0x40] (sp of caller)
0x000001c486390160: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001c486390167: push rbp
0x000001c486390168: sub rsp,30h ;*iconst_0
; - org.example.VolatileDemo::@0 (line 10)
0x000001c48639016c: nop dword ptr [rax+0h]
0x000001c486390170: jmp 1c4863901eeh ; {no_reloc}
0x000001c486390175: add byte ptr [rax],al
0x000001c486390177: add byte ptr [rax],al
0x000001c486390179: add byte ptr [rdi+0h],bh
0x000001c48639017f: mov byte ptr [rsi+68h],dil
0x000001c486390183: lock add dword ptr [rsp],0h ;*putstatic stop
; - org.example.VolatileDemo::@1 (line 10)
0x000001c486390188: add rsp,30h
0x000001c48639018c: pop rbp
0x000001c48639018d: test dword ptr [1c483c90100h],eax
; {poll_return}
0x000001c486390193: ret
0x000001c486390194: mov rsi,0h ; {oop(NULL)}
0x000001c48639019e: push rax
0x000001c48639019f: push rbx
0x000001c4863901a0: mov rbx,qword ptr [rsi+48h]
0x000001c4863901a4: push rdi
0x000001c4863901a5: push rsi
0x000001c4863901a6: push rdx
0x000001c4863901a7: push rcx
0x000001c4863901a8: push r8
0x000001c4863901aa: push r9
0x000001c4863901ac: push r10
0x000001c4863901ae: mov r10,rsp
0x000001c4863901b1: and rsp,0fffffffffffffff0h
0x000001c4863901b5: push r10
0x000001c4863901b7: push r11
0x000001c4863901b9: mov ecx,1ch
0x000001c4863901be: mov r10,7ffc1ce95e40h ; {runtime_call}
0x000001c4863901c8: call indirect r10
0x000001c4863901cb: pop r11
0x000001c4863901cd: pop rsp
0x000001c4863901ce: pop r10
0x000001c4863901d0: pop r9
0x000001c4863901d2: pop r8
0x000001c4863901d4: pop rcx
0x000001c4863901d5: pop rdx
0x000001c4863901d6: pop rsi
0x000001c4863901d7: pop rdi
0x000001c4863901d8: cmp rax,qword ptr [rbx+118h]
0x000001c4863901df: pop rbx
0x000001c4863901e0: pop rax
0x000001c4863901e1: jne 1c4863901eeh
0x000001c4863901e7: jmp 1c48639017ah
0x000001c4863901e9: mov eax,0a505a00h
0x000001c4863901ee: call 1c48638e5a0h ; OopMap{off=147}
;*putstatic stop
; - org.example.VolatileDemo::@1 (line 10)
; {runtime_call}
0x000001c4863901f3: jmp 1c486390170h
0x000001c4863901f8: nop
0x000001c4863901f9: nop
0x000001c4863901fa: mov rax,qword ptr [r15+2b0h]
0x000001c486390201: mov r10,0h
0x000001c48639020b: mov qword ptr [r15+2b0h],r10
0x000001c486390212: mov r10,0h
0x000001c48639021c: mov qword ptr [r15+2b8h],r10
0x000001c486390223: add rsp,30h
0x000001c486390227: pop rbp
0x000001c486390228: jmp 1c4862f47a0h ; {runtime_call}
0x000001c48639022d: hlt
0x000001c48639022e: hlt
0x000001c48639022f: hlt
0x000001c486390230: hlt
0x000001c486390231: hlt
0x000001c486390232: hlt
0x000001c486390233: hlt
0x000001c486390234: hlt
0x000001c486390235: hlt
0x000001c486390236: hlt
0x000001c486390237: hlt
0x000001c486390238: hlt
0x000001c486390239: hlt
0x000001c48639023a: hlt
0x000001c48639023b: hlt
0x000001c48639023c: hlt
0x000001c48639023d: hlt
0x000001c48639023e: hlt
0x000001c48639023f: hlt
[Exception Handler]
[Stub Code]
0x000001c486390240: call 1c4862f4160h ; {no_reloc}
0x000001c486390245: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x000001c48639024a: sub rsp,80h
0x000001c486390251: mov qword ptr [rsp+78h],rax
0x000001c486390256: mov qword ptr [rsp+70h],rcx
0x000001c48639025b: mov qword ptr [rsp+68h],rdx
0x000001c486390260: mov qword ptr [rsp+60h],rbx
0x000001c486390265: mov qword ptr [rsp+50h],rbp
0x000001c48639026a: mov qword ptr [rsp+48h],rsi
0x000001c48639026f: mov qword ptr [rsp+40h],rdi
0x000001c486390274: mov qword ptr [rsp+38h],r8
0x000001c486390279: mov qword ptr [rsp+30h],r9
0x000001c48639027e: mov qword ptr [rsp+28h],r10
0x000001c486390283: mov qword ptr [rsp+20h],r11
0x000001c486390288: mov qword ptr [rsp+18h],r12
0x000001c48639028d: mov qword ptr [rsp+10h],r13
0x000001c486390292: mov qword ptr [rsp+8h],r14
0x000001c486390297: mov qword ptr [rsp],r15
0x000001c48639029b: mov rcx,7313f980h ; {external_word}
0x000001c4863902a5: mov rdx,1c486390245h ; {internal_word}
0x000001c4863902af: mov r8,rsp
0x000001c4863902b2: and rsp,0fffffffffffffff0h
0x000001c4863902b6: mov r10,72e1d730h ; {runtime_call}
0x000001c4863902c0: call indirect r10
0x000001c4863902c3: hlt
[Deopt Handler Code]
0x000001c4863902c4: mov r10,1c4863902c4h ; {section_word}
0x000001c4863902ce: push r10
0x000001c4863902d0: jmp 1c4862c7600h ; {runtime_call}
0x000001c4863902d5: hlt
0x000001c4863902d6: hlt
0x000001c4863902d7: hlt
Decoding compiled method 0x000001c486390390:
Code:
Argument 0 is unknown.RIP: 0x1c486390540 Code size: 0x00000530
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001c49a422ca0} 'main' '([Ljava/lang/String;)V' in 'org/example/VolatileDemo'
# parm0: rdx:rdx = '[Ljava/lang/String;'
# [sp+0x40] (sp of caller)
0x000001c486390540: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001c486390547: push rbp
0x000001c486390548: sub rsp,30h
0x000001c48639054c: mov rsi,1c49a423180h ; {metadata(method data for {method} {0x000001c49a422ca0} 'main' '([Ljava/lang/String;)V' in 'org/example/VolatileDemo')}
0x000001c486390556: mov edi,dword ptr [rsi+0dch]
0x000001c48639055c: add edi,8h
0x000001c48639055f: mov dword ptr [rsi+0dch],edi
0x000001c486390565: mov rsi,1c49a422c98h ; {metadata({method} {0x000001c49a422ca0} 'main' '([Ljava/lang/String;)V' in 'org/example/VolatileDemo')}
0x000001c48639056f: and edi,0h
0x000001c486390572: cmp edi,0h
0x000001c486390575: je 1c486390850h
0x000001c48639057b: nop dword ptr [rax+rax+0h]
0x000001c486390580: jmp 1c486390876h ; {no_reloc}
0x000001c486390585: add byte ptr [rax],al
0x000001c486390587: add byte ptr [rax],al
0x000001c486390589: add byte ptr [rcx+0ffffffffffffff8bh],cl
0x000001c48639058c: Fatal error: Disassembling failed with error code: 15Decoding compiled method 0x000001c486393910:
Code:
Argument 0 is unknown.RIP: 0x1c486393a40 Code size: 0x00000038
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001c49a422ca0} 'main' '([Ljava/lang/String;)V' in 'org/example/VolatileDemo'
# parm0: rdx:rdx = '[Ljava/lang/String;'
# [sp+0x20] (sp of caller)
0x000001c486393a40: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001c486393a47: push rbp
0x000001c486393a48: sub rsp,10h ;*synchronization entry
; - org.example.VolatileDemo::main@-1 (line 13)
0x000001c486393a4c: mov edx,2h
0x000001c486393a51: nop
0x000001c486393a53: call 1c4862c57a0h ; OopMap{off=24}
;*new ; - org.example.VolatileDemo::main@0 (line 13)
; {runtime_call}
0x000001c486393a58: int3 ;*new ; - org.example.VolatileDemo::main@0 (line 13)
0x000001c486393a59: hlt
0x000001c486393a5a: hlt
0x000001c486393a5b: hlt
0x000001c486393a5c: hlt
0x000001c486393a5d: hlt
0x000001c486393a5e: hlt
0x000001c486393a5f: hlt
[Exception Handler]
[Stub Code]
0x000001c486393a60: jmp 1c4862f13a0h ; {no_reloc}
[Deopt Handler Code]
0x000001c486393a65: call 1c486393a6ah
0x000001c486393a6a: sub qword ptr [rsp],5h
0x000001c486393a6f: jmp 1c4862c7600h ; {runtime_call}
0x000001c486393a74: hlt
0x000001c486393a75: hlt
0x000001c486393a76: hlt
0x000001c486393a77: hlt
Decoding compiled method 0x000001c486393110:
Code:
Argument 0 is unknown.RIP: 0x1c486393240 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a31de90} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/invoke/MemberName' (sp of caller)
0x000001c486393240: mov rbx,qword ptr [rsp+8h]
0x000001c486393245: mov rbx,qword ptr [rbx+18h]
0x000001c486393249: test rbx,rbx
0x000001c48639324c: je 1c486393255h
0x000001c486393252: jmp indirect qword ptr [rbx+40h]
0x000001c486393255: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639325a: hlt
0x000001c48639325b: hlt
0x000001c48639325c: hlt
0x000001c48639325d: hlt
0x000001c48639325e: hlt
0x000001c48639325f: hlt
Decoding compiled method 0x000001c486392550:
Code:
Argument 0 is unknown.RIP: 0x1c486392680 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3343f8} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486392680: mov rbx,qword ptr [rdi+18h]
0x000001c486392684: test rbx,rbx
0x000001c486392687: je 1c486392690h
0x000001c48639268d: jmp indirect qword ptr [rbx+40h]
0x000001c486392690: jmp 1c4862852a0h ; {runtime_call}
0x000001c486392695: hlt
0x000001c486392696: hlt
0x000001c486392697: hlt
Decoding compiled method 0x000001c4863923d0:
Code:
Argument 0 is unknown.RIP: 0x1c486392500 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a336070} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486392500: mov rbx,qword ptr [r8+18h]
0x000001c486392504: test rbx,rbx
0x000001c486392507: je 1c486392510h
0x000001c48639250d: jmp indirect qword ptr [rbx+40h]
0x000001c486392510: jmp 1c4862852a0h ; {runtime_call}
0x000001c486392515: hlt
0x000001c486392516: hlt
0x000001c486392517: hlt
Decoding compiled method 0x000001c486391590:
Code:
Argument 0 is unknown.RIP: 0x1c4863916c0 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a362598} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c4863916c0: mov rbx,qword ptr [r8+18h]
0x000001c4863916c4: test rbx,rbx
0x000001c4863916c7: je 1c4863916d0h
0x000001c4863916cd: jmp indirect qword ptr [rbx+40h]
0x000001c4863916d0: jmp 1c4862852a0h ; {runtime_call}
0x000001c4863916d5: hlt
0x000001c4863916d6: hlt
0x000001c4863916d7: hlt
Decoding compiled method 0x000001c486391410:
Code:
Argument 0 is unknown.RIP: 0x1c486391540 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3626f0} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)J' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486391540: mov rbx,qword ptr [r8+18h]
0x000001c486391544: test rbx,rbx
0x000001c486391547: je 1c486391550h
0x000001c48639154d: jmp indirect qword ptr [rbx+40h]
0x000001c486391550: jmp 1c4862852a0h ; {runtime_call}
0x000001c486391555: hlt
0x000001c486391556: hlt
0x000001c486391557: hlt
Decoding compiled method 0x000001c486391290:
Code:
Argument 0 is unknown.RIP: 0x1c4863913c0 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a362808} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c4863913c0: mov rbx,qword ptr [r9+18h]
0x000001c4863913c4: test rbx,rbx
0x000001c4863913c7: je 1c4863913d0h
0x000001c4863913cd: jmp indirect qword ptr [rbx+40h]
0x000001c4863913d0: jmp 1c4862852a0h ; {runtime_call}
0x000001c4863913d5: hlt
0x000001c4863913d6: hlt
0x000001c4863913d7: hlt
Decoding compiled method 0x000001c486391110:
Code:
Argument 0 is unknown.RIP: 0x1c486391240 Code size: 0x00000028
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a362920} 'linkToVirtual' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486391240: mov r10d,dword ptr [rdx+8h]
0x000001c486391244: shl r10,3h
0x000001c486391248: mov r11,qword ptr [r9+10h]
0x000001c48639124c: mov rbx,qword ptr [r10+r11*8+1b8h]
0x000001c486391254: test rbx,rbx
0x000001c486391257: je 1c486391260h
0x000001c48639125d: jmp indirect qword ptr [rbx+40h]
0x000001c486391260: jmp 1c4862852a0h ; {runtime_call}
0x000001c486391265: hlt
0x000001c486391266: hlt
0x000001c486391267: hlt
Decoding compiled method 0x000001c486393b10:
Code:
Argument 0 is unknown.RIP: 0x1c486393c80 Code size: 0x000001f8
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001c49a422d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo'
# [sp+0x40] (sp of caller)
0x000001c486393c80: mov dword ptr [rsp+0ffffffffffffa000h],eax
0x000001c486393c87: push rbp
0x000001c486393c88: sub rsp,30h
0x000001c486393c8c: mov rsi,1c49a423388h ; {metadata(method data for {method} {0x000001c49a422d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001c486393c96: mov edi,dword ptr [rsi+0dch]
0x000001c486393c9c: add edi,8h
0x000001c486393c9f: mov dword ptr [rsi+0dch],edi
0x000001c486393ca5: mov rsi,1c49a422d48h ; {metadata({method} {0x000001c49a422d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001c486393caf: and edi,0h
0x000001c486393cb2: cmp edi,0h
0x000001c486393cb5: je 1c486393d65h ;*iconst_0
; - org.example.VolatileDemo::lambda$main$0@0 (line 14)
0x000001c486393cbb: mov esi,0h
0x000001c486393cc0: jmp 1c486393d12h ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001c486393cc5: nop
0x000001c486393cc8: inc esi
0x000001c486393cca: mov rdi,1c49a423388h ; {metadata(method data for {method} {0x000001c49a422d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001c486393cd4: mov ebx,dword ptr [rdi+0e0h]
0x000001c486393cda: add ebx,8h
0x000001c486393cdd: mov dword ptr [rdi+0e0h],ebx
0x000001c486393ce3: mov rdi,1c49a422d48h ; {metadata({method} {0x000001c49a422d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001c486393ced: and ebx,0fff8h
0x000001c486393cf3: cmp ebx,0h
0x000001c486393cf6: je 1c486393d7ch ; OopMap{off=124}
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001c486393cfc: test dword ptr [1c483c90100h],eax
; {poll}
0x000001c486393d02: mov rdi,1c49a423388h ; {metadata(method data for {method} {0x000001c49a422d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001c486393d0c: inc dword ptr [rdi+128h] ;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001c486393d12: mov rdi,0d60037b0h ; {oop(a 'java/lang/Class' = 'org/example/VolatileDemo')}
0x000001c486393d1c: movsx edi,byte ptr [rdi+68h] ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001c486393d20: cmp edi,0h
0x000001c486393d23: mov rdi,1c49a423388h ; {metadata(method data for {method} {0x000001c49a422d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo')}
0x000001c486393d2d: mov rbx,108h
0x000001c486393d37: jne 1c486393d47h
0x000001c486393d3d: mov rbx,118h
0x000001c486393d47: mov rax,qword ptr [rdi+rbx]
0x000001c486393d4b: lea rax,[rax+1h]
0x000001c486393d4f: mov qword ptr [rdi+rbx],rax
0x000001c486393d53: je 1c486393cc8h ;*ifne
; - org.example.VolatileDemo::lambda$main$0@5 (line 15)
0x000001c486393d59: add rsp,30h
0x000001c486393d5d: pop rbp
0x000001c486393d5e: test dword ptr [1c483c90100h],eax
; {poll_return}
0x000001c486393d64: ret
0x000001c486393d65: mov qword ptr [rsp+8h],rsi
0x000001c486393d6a: mov qword ptr [rsp],0ffffffffffffffffh
0x000001c486393d72: call 1c48638f3a0h ; OopMap{off=247}
;*synchronization entry
; - org.example.VolatileDemo::lambda$main$0@-1 (line 14)
; {runtime_call}
0x000001c486393d77: jmp 1c486393cbbh
0x000001c486393d7c: mov qword ptr [rsp+8h],rdi
0x000001c486393d81: mov qword ptr [rsp],0bh
0x000001c486393d89: call 1c48638f3a0h ; OopMap{off=270}
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
; {runtime_call}
0x000001c486393d8e: jmp 1c486393cfch
0x000001c486393d93: nop
0x000001c486393d94: nop
0x000001c486393d95: mov rax,qword ptr [r15+2b0h]
0x000001c486393d9c: mov r10,0h
0x000001c486393da6: mov qword ptr [r15+2b0h],r10
0x000001c486393dad: mov r10,0h
0x000001c486393db7: mov qword ptr [r15+2b8h],r10
0x000001c486393dbe: add rsp,30h
0x000001c486393dc2: pop rbp
0x000001c486393dc3: jmp 1c4862f47a0h ; {runtime_call}
0x000001c486393dc8: hlt
0x000001c486393dc9: hlt
0x000001c486393dca: hlt
0x000001c486393dcb: hlt
0x000001c486393dcc: hlt
0x000001c486393dcd: hlt
0x000001c486393dce: hlt
0x000001c486393dcf: hlt
0x000001c486393dd0: hlt
0x000001c486393dd1: hlt
0x000001c486393dd2: hlt
0x000001c486393dd3: hlt
0x000001c486393dd4: hlt
0x000001c486393dd5: hlt
0x000001c486393dd6: hlt
0x000001c486393dd7: hlt
0x000001c486393dd8: hlt
0x000001c486393dd9: hlt
0x000001c486393dda: hlt
0x000001c486393ddb: hlt
0x000001c486393ddc: hlt
0x000001c486393ddd: hlt
0x000001c486393dde: hlt
0x000001c486393ddf: hlt
[Exception Handler]
[Stub Code]
0x000001c486393de0: call 1c4862f4160h ; {no_reloc}
0x000001c486393de5: mov qword ptr [rsp+0ffffffffffffffd8h],rsp
0x000001c486393dea: sub rsp,80h
0x000001c486393df1: mov qword ptr [rsp+78h],rax
0x000001c486393df6: mov qword ptr [rsp+70h],rcx
0x000001c486393dfb: mov qword ptr [rsp+68h],rdx
0x000001c486393e00: mov qword ptr [rsp+60h],rbx
0x000001c486393e05: mov qword ptr [rsp+50h],rbp
0x000001c486393e0a: mov qword ptr [rsp+48h],rsi
0x000001c486393e0f: mov qword ptr [rsp+40h],rdi
0x000001c486393e14: mov qword ptr [rsp+38h],r8
0x000001c486393e19: mov qword ptr [rsp+30h],r9
0x000001c486393e1e: mov qword ptr [rsp+28h],r10
0x000001c486393e23: mov qword ptr [rsp+20h],r11
0x000001c486393e28: mov qword ptr [rsp+18h],r12
0x000001c486393e2d: mov qword ptr [rsp+10h],r13
0x000001c486393e32: mov qword ptr [rsp+8h],r14
0x000001c486393e37: mov qword ptr [rsp],r15
0x000001c486393e3b: mov rcx,7313f980h ; {external_word}
0x000001c486393e45: mov rdx,1c486393de5h ; {internal_word}
0x000001c486393e4f: mov r8,rsp
0x000001c486393e52: and rsp,0fffffffffffffff0h
0x000001c486393e56: mov r10,72e1d730h ; {runtime_call}
0x000001c486393e60: call indirect r10
0x000001c486393e63: hlt
[Deopt Handler Code]
0x000001c486393e64: mov r10,1c486393e64h ; {section_word}
0x000001c486393e6e: push r10
0x000001c486393e70: jmp 1c4862c7600h ; {runtime_call}
0x000001c486393e75: hlt
0x000001c486393e76: hlt
0x000001c486393e77: hlt
Decoding compiled method 0x000001c486390cd0:
Code:
Argument 0 is unknown.RIP: 0x1c486390e00 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3697a8} 'linkToStatic' '(Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486390e00: mov rbx,qword ptr [rdx+18h]
0x000001c486390e04: test rbx,rbx
0x000001c486390e07: je 1c486390e10h
0x000001c486390e0d: jmp indirect qword ptr [rbx+40h]
0x000001c486390e10: jmp 1c4862852a0h ; {runtime_call}
0x000001c486390e15: hlt
0x000001c486390e16: hlt
0x000001c486390e17: hlt
Decoding compiled method 0x000001c486393f90:
Code:
Argument 0 is unknown.RIP: 0x1c4863940c0 Code size: 0x00000028
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a36a188} 'linkToVirtual' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c4863940c0: mov r10d,dword ptr [rdx+8h]
0x000001c4863940c4: shl r10,3h
0x000001c4863940c8: mov r11,qword ptr [r8+10h]
0x000001c4863940cc: mov rbx,qword ptr [r10+r11*8+1b8h]
0x000001c4863940d4: test rbx,rbx
0x000001c4863940d7: je 1c4863940e0h
0x000001c4863940dd: jmp indirect qword ptr [rbx+40h]
0x000001c4863940e0: jmp 1c4862852a0h ; {runtime_call}
0x000001c4863940e5: hlt
0x000001c4863940e6: hlt
0x000001c4863940e7: hlt
Decoding compiled method 0x000001c486394350:
Code:
Argument 0 is unknown.RIP: 0x1c486394480 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a36e340} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486394480: mov rbx,qword ptr [r9+18h]
0x000001c486394484: test rbx,rbx
0x000001c486394487: je 1c486394490h
0x000001c48639448d: jmp indirect qword ptr [rbx+40h]
0x000001c486394490: jmp 1c4862852a0h ; {runtime_call}
0x000001c486394495: hlt
0x000001c486394496: hlt
0x000001c486394497: hlt
Decoding compiled method 0x000001c4863944d0:
Code:
Argument 0 is unknown.RIP: 0x1c486394600 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a36ea60} 'invokeBasic' '(Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001c486394600: mov ebx,dword ptr [rdx+14h]
0x000001c486394603: mov ebx,dword ptr [rbx+28h]
0x000001c486394606: mov rbx,qword ptr [rbx+18h]
0x000001c48639460a: test rbx,rbx
0x000001c48639460d: je 1c486394616h
0x000001c486394613: jmp indirect qword ptr [rbx+40h]
0x000001c486394616: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639461b: hlt
0x000001c48639461c: hlt
0x000001c48639461d: hlt
0x000001c48639461e: hlt
0x000001c48639461f: hlt
Decoding compiled method 0x000001c486394650:
Code:
Argument 0 is unknown.RIP: 0x1c486394780 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a36eb78} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486394780: cmp rax,qword ptr [rdx]
0x000001c486394783: mov rbx,qword ptr [r9+18h]
0x000001c486394787: test rbx,rbx
0x000001c48639478a: je 1c486394793h
0x000001c486394790: jmp indirect qword ptr [rbx+40h]
0x000001c486394793: jmp 1c4862852a0h ; {runtime_call}
Decoding compiled method 0x000001c4863947d0:
Code:
Argument 0 is unknown.RIP: 0x1c486394900 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a36ffa8} 'linkToStatic' '(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486394900: mov rbx,qword ptr [rdx+18h]
0x000001c486394904: test rbx,rbx
0x000001c486394907: je 1c486394910h
0x000001c48639490d: jmp indirect qword ptr [rbx+40h]
0x000001c486394910: jmp 1c4862852a0h ; {runtime_call}
0x000001c486394915: hlt
0x000001c486394916: hlt
0x000001c486394917: hlt
Decoding compiled method 0x000001c486394950:
Code:
Argument 0 is unknown.RIP: 0x1c486394a80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a370bc0} 'invokeBasic' '()Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# [sp+0x0] (sp of caller)
0x000001c486394a80: mov ebx,dword ptr [rdx+14h]
0x000001c486394a83: mov ebx,dword ptr [rbx+28h]
0x000001c486394a86: mov rbx,qword ptr [rbx+18h]
0x000001c486394a8a: test rbx,rbx
0x000001c486394a8d: je 1c486394a96h
0x000001c486394a93: jmp indirect qword ptr [rbx+40h]
0x000001c486394a96: jmp 1c4862852a0h ; {runtime_call}
0x000001c486394a9b: hlt
0x000001c486394a9c: hlt
0x000001c486394a9d: hlt
0x000001c486394a9e: hlt
0x000001c486394a9f: hlt
Decoding compiled method 0x000001c486394ad0:
Code:
Argument 0 is unknown.RIP: 0x1c486394c00 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a370cd8} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486394c00: cmp rax,qword ptr [rdx]
0x000001c486394c03: mov rbx,qword ptr [r8+18h]
0x000001c486394c07: test rbx,rbx
0x000001c486394c0a: je 1c486394c13h
0x000001c486394c10: jmp indirect qword ptr [rbx+40h]
0x000001c486394c13: jmp 1c4862852a0h ; {runtime_call}
Decoding compiled method 0x000001c486394c50:
Code:
Argument 0 is unknown.RIP: 0x1c486394d80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a371178} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001c486394d80: mov ebx,dword ptr [rdx+14h]
0x000001c486394d83: mov ebx,dword ptr [rbx+28h]
0x000001c486394d86: mov rbx,qword ptr [rbx+18h]
0x000001c486394d8a: test rbx,rbx
0x000001c486394d8d: je 1c486394d96h
0x000001c486394d93: jmp indirect qword ptr [rbx+40h]
0x000001c486394d96: jmp 1c4862852a0h ; {runtime_call}
0x000001c486394d9b: hlt
0x000001c486394d9c: hlt
0x000001c486394d9d: hlt
0x000001c486394d9e: hlt
0x000001c486394d9f: hlt
Decoding compiled method 0x000001c486394dd0:
Code:
Argument 0 is unknown.RIP: 0x1c486394f00 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a372128} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486394f00: cmp rax,qword ptr [rdx]
0x000001c486394f03: mov rbx,qword ptr [rdi+18h]
0x000001c486394f07: test rbx,rbx
0x000001c486394f0a: je 1c486394f13h
0x000001c486394f10: jmp indirect qword ptr [rbx+40h]
0x000001c486394f13: jmp 1c4862852a0h ; {runtime_call}
Decoding compiled method 0x000001c4863959d0:
Code:
Argument 0 is unknown.RIP: 0x1c486395b00 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a388798} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001c486395b00: mov ebx,dword ptr [rdx+14h]
0x000001c486395b03: mov ebx,dword ptr [rbx+28h]
0x000001c486395b06: mov rbx,qword ptr [rbx+18h]
0x000001c486395b0a: test rbx,rbx
0x000001c486395b0d: je 1c486395b16h
0x000001c486395b13: jmp indirect qword ptr [rbx+40h]
0x000001c486395b16: jmp 1c4862852a0h ; {runtime_call}
0x000001c486395b1b: hlt
0x000001c486395b1c: hlt
0x000001c486395b1d: hlt
0x000001c486395b1e: hlt
0x000001c486395b1f: hlt
Decoding compiled method 0x000001c486395d90:
Code:
Argument 0 is unknown.RIP: 0x1c486395ec0 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3904b0} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486395ec0: cmp rax,qword ptr [rdx]
0x000001c486395ec3: mov rbx,qword ptr [rsi+18h]
0x000001c486395ec7: test rbx,rbx
0x000001c486395eca: je 1c486395ed3h
0x000001c486395ed0: jmp indirect qword ptr [rbx+40h]
0x000001c486395ed3: jmp 1c4862852a0h ; {runtime_call}
Decoding compiled method 0x000001c486396110:
Code:
Argument 0 is unknown.RIP: 0x1c486396240 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3a7c38} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486396240: mov rbx,qword ptr [rsi+18h]
0x000001c486396244: test rbx,rbx
0x000001c486396247: je 1c486396250h
0x000001c48639624d: jmp indirect qword ptr [rbx+40h]
0x000001c486396250: jmp 1c4862852a0h ; {runtime_call}
0x000001c486396255: hlt
0x000001c486396256: hlt
0x000001c486396257: hlt
Decoding compiled method 0x000001c4863964d0:
Code:
Argument 0 is unknown.RIP: 0x1c486396600 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3c7a10} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001c486396600: mov ebx,dword ptr [rdx+14h]
0x000001c486396603: mov ebx,dword ptr [rbx+28h]
0x000001c486396606: mov rbx,qword ptr [rbx+18h]
0x000001c48639660a: test rbx,rbx
0x000001c48639660d: je 1c486396616h
0x000001c486396613: jmp indirect qword ptr [rbx+40h]
0x000001c486396616: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639661b: hlt
0x000001c48639661c: hlt
0x000001c48639661d: hlt
0x000001c48639661e: hlt
0x000001c48639661f: hlt
Decoding compiled method 0x000001c486396650:
Code:
Argument 0 is unknown.RIP: 0x1c486396780 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3c7d28} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486396780: cmp rax,qword ptr [rdx]
0x000001c486396783: mov rbx,qword ptr [rcx+18h]
0x000001c486396787: test rbx,rbx
0x000001c48639678a: je 1c486396793h
0x000001c486396790: jmp indirect qword ptr [rbx+40h]
0x000001c486396793: jmp 1c4862852a0h ; {runtime_call}
Decoding compiled method 0x000001c4863967d0:
Code:
Argument 0 is unknown.RIP: 0x1c486396900 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3da4c0} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486396900: mov rbx,qword ptr [rcx+18h]
0x000001c486396904: test rbx,rbx
0x000001c486396907: je 1c486396910h
0x000001c48639690d: jmp indirect qword ptr [rbx+40h]
0x000001c486396910: jmp 1c4862852a0h ; {runtime_call}
0x000001c486396915: hlt
0x000001c486396916: hlt
0x000001c486396917: hlt
Decoding compiled method 0x000001c486396950:
Code:
Argument 0 is unknown.RIP: 0x1c486396a80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dbde8} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001c486396a80: mov ebx,dword ptr [rdx+14h]
0x000001c486396a83: mov ebx,dword ptr [rbx+28h]
0x000001c486396a86: mov rbx,qword ptr [rbx+18h]
0x000001c486396a8a: test rbx,rbx
0x000001c486396a8d: je 1c486396a96h
0x000001c486396a93: jmp indirect qword ptr [rbx+40h]
0x000001c486396a96: jmp 1c4862852a0h ; {runtime_call}
0x000001c486396a9b: hlt
0x000001c486396a9c: hlt
0x000001c486396a9d: hlt
0x000001c486396a9e: hlt
0x000001c486396a9f: hlt
Decoding compiled method 0x000001c486396ad0:
Code:
Argument 0 is unknown.RIP: 0x1c486396c00 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dc070} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/invoke/MemberName' (sp of caller)
0x000001c486396c00: mov rbx,qword ptr [rsp+8h]
0x000001c486396c05: cmp rax,qword ptr [rdx]
0x000001c486396c08: mov rbx,qword ptr [rbx+18h]
0x000001c486396c0c: test rbx,rbx
0x000001c486396c0f: je 1c486396c18h
0x000001c486396c15: jmp indirect qword ptr [rbx+40h]
0x000001c486396c18: jmp 1c4862852a0h ; {runtime_call}
0x000001c486396c1d: hlt
0x000001c486396c1e: hlt
0x000001c486396c1f: hlt
Decoding compiled method 0x000001c486396c50:
Code:
Argument 0 is unknown.RIP: 0x1c486396d80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dc188} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
0x000001c486396d80: mov ebx,dword ptr [rdx+14h]
0x000001c486396d83: mov ebx,dword ptr [rbx+28h]
0x000001c486396d86: mov rbx,qword ptr [rbx+18h]
0x000001c486396d8a: test rbx,rbx
0x000001c486396d8d: je 1c486396d96h
0x000001c486396d93: jmp indirect qword ptr [rbx+40h]
0x000001c486396d96: jmp 1c4862852a0h ; {runtime_call}
0x000001c486396d9b: hlt
0x000001c486396d9c: hlt
0x000001c486396d9d: hlt
0x000001c486396d9e: hlt
0x000001c486396d9f: hlt
Decoding compiled method 0x000001c486396dd0:
Code:
Argument 0 is unknown.RIP: 0x1c486396f00 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dc3f0} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/invoke/MemberName'
0x000001c486396f00: mov rbx,qword ptr [rsp+10h]
0x000001c486396f05: cmp rax,qword ptr [rdx]
0x000001c486396f08: mov rbx,qword ptr [rbx+18h]
0x000001c486396f0c: test rbx,rbx
0x000001c486396f0f: je 1c486396f18h
0x000001c486396f15: jmp indirect qword ptr [rbx+40h]
0x000001c486396f18: jmp 1c4862852a0h ; {runtime_call}
0x000001c486396f1d: hlt
0x000001c486396f1e: hlt
0x000001c486396f1f: hlt
Decoding compiled method 0x000001c486396f50:
Code:
Argument 0 is unknown.RIP: 0x1c486397080 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dc6e8} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/invoke/MemberName'
0x000001c486397080: mov rbx,qword ptr [rsp+10h]
0x000001c486397085: mov rbx,qword ptr [rbx+18h]
0x000001c486397089: test rbx,rbx
0x000001c48639708c: je 1c486397095h
0x000001c486397092: jmp indirect qword ptr [rbx+40h]
0x000001c486397095: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639709a: hlt
0x000001c48639709b: hlt
0x000001c48639709c: hlt
0x000001c48639709d: hlt
0x000001c48639709e: hlt
0x000001c48639709f: hlt
Decoding compiled method 0x000001c4863970d0:
Code:
Argument 0 is unknown.RIP: 0x1c486397200 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dcac0} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm6: [sp+0x8] = 'java/lang/Object'
0x000001c486397200: mov ebx,dword ptr [rdx+14h]
0x000001c486397203: mov ebx,dword ptr [rbx+28h]
0x000001c486397206: mov rbx,qword ptr [rbx+18h]
0x000001c48639720a: test rbx,rbx
0x000001c48639720d: je 1c486397216h
0x000001c486397213: jmp indirect qword ptr [rbx+40h]
0x000001c486397216: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639721b: hlt
0x000001c48639721c: hlt
0x000001c48639721d: hlt
0x000001c48639721e: hlt
0x000001c48639721f: hlt
Decoding compiled method 0x000001c486397250:
Code:
Argument 0 is unknown.RIP: 0x1c486397380 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dcbd8} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/invoke/MemberName'
0x000001c486397380: mov rbx,qword ptr [rsp+18h]
0x000001c486397385: cmp rax,qword ptr [rdx]
0x000001c486397388: mov rbx,qword ptr [rbx+18h]
0x000001c48639738c: test rbx,rbx
0x000001c48639738f: je 1c486397398h
0x000001c486397395: jmp indirect qword ptr [rbx+40h]
0x000001c486397398: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639739d: hlt
0x000001c48639739e: hlt
0x000001c48639739f: hlt
Decoding compiled method 0x000001c4863973d0:
Code:
Argument 0 is unknown.RIP: 0x1c486397500 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dce28} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/invoke/MemberName'
0x000001c486397500: mov rbx,qword ptr [rsp+18h]
0x000001c486397505: mov rbx,qword ptr [rbx+18h]
0x000001c486397509: test rbx,rbx
0x000001c48639750c: je 1c486397515h
0x000001c486397512: jmp indirect qword ptr [rbx+40h]
0x000001c486397515: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639751a: hlt
0x000001c48639751b: hlt
0x000001c48639751c: hlt
0x000001c48639751d: hlt
0x000001c48639751e: hlt
0x000001c48639751f: hlt
Decoding compiled method 0x000001c486397550:
Code:
Argument 0 is unknown.RIP: 0x1c486397680 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dd0f8} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm6: [sp+0x8] = 'java/lang/Object'
# parm7: [sp+0x10] = 'java/lang/Object'
0x000001c486397680: mov ebx,dword ptr [rdx+14h]
0x000001c486397683: mov ebx,dword ptr [rbx+28h]
0x000001c486397686: mov rbx,qword ptr [rbx+18h]
0x000001c48639768a: test rbx,rbx
0x000001c48639768d: je 1c486397696h
0x000001c486397693: jmp indirect qword ptr [rbx+40h]
0x000001c486397696: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639769b: hlt
0x000001c48639769c: hlt
0x000001c48639769d: hlt
0x000001c48639769e: hlt
0x000001c48639769f: hlt
Decoding compiled method 0x000001c4863976d0:
Code:
Argument 0 is unknown.RIP: 0x1c486397800 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dd210} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/invoke/MemberName'
0x000001c486397800: mov rbx,qword ptr [rsp+20h]
0x000001c486397805: cmp rax,qword ptr [rdx]
0x000001c486397808: mov rbx,qword ptr [rbx+18h]
0x000001c48639780c: test rbx,rbx
0x000001c48639780f: je 1c486397818h
0x000001c486397815: jmp indirect qword ptr [rbx+40h]
0x000001c486397818: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639781d: hlt
0x000001c48639781e: hlt
0x000001c48639781f: hlt
Decoding compiled method 0x000001c486397850:
Code:
Argument 0 is unknown.RIP: 0x1c486397980 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3ddba8} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/invoke/MemberName'
0x000001c486397980: mov rbx,qword ptr [rsp+20h]
0x000001c486397985: mov rbx,qword ptr [rbx+18h]
0x000001c486397989: test rbx,rbx
0x000001c48639798c: je 1c486397995h
0x000001c486397992: jmp indirect qword ptr [rbx+40h]
0x000001c486397995: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639799a: hlt
0x000001c48639799b: hlt
0x000001c48639799c: hlt
0x000001c48639799d: hlt
0x000001c48639799e: hlt
0x000001c48639799f: hlt
Decoding compiled method 0x000001c4863979d0:
Code:
Argument 0 is unknown.RIP: 0x1c486397b00 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3ddcc0} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm6: [sp+0x8] = 'java/lang/Object'
# parm7: [sp+0x10] = 'java/lang/Object'
# parm8: [sp+0x18] = 'java/lang/Object'
0x000001c486397b00: mov ebx,dword ptr [rdx+14h]
0x000001c486397b03: mov ebx,dword ptr [rbx+28h]
0x000001c486397b06: mov rbx,qword ptr [rbx+18h]
0x000001c486397b0a: test rbx,rbx
0x000001c486397b0d: je 1c486397b16h
0x000001c486397b13: jmp indirect qword ptr [rbx+40h]
0x000001c486397b16: jmp 1c4862852a0h ; {runtime_call}
0x000001c486397b1b: hlt
0x000001c486397b1c: hlt
0x000001c486397b1d: hlt
0x000001c486397b1e: hlt
0x000001c486397b1f: hlt
Decoding compiled method 0x000001c486397b50:
Code:
Argument 0 is unknown.RIP: 0x1c486397c80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3dddd8} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/invoke/MemberName'
0x000001c486397c80: mov rbx,qword ptr [rsp+28h]
0x000001c486397c85: cmp rax,qword ptr [rdx]
0x000001c486397c88: mov rbx,qword ptr [rbx+18h]
0x000001c486397c8c: test rbx,rbx
0x000001c486397c8f: je 1c486397c98h
0x000001c486397c95: jmp indirect qword ptr [rbx+40h]
0x000001c486397c98: jmp 1c4862852a0h ; {runtime_call}
0x000001c486397c9d: hlt
0x000001c486397c9e: hlt
0x000001c486397c9f: hlt
Decoding compiled method 0x000001c486397cd0:
Code:
Argument 0 is unknown.RIP: 0x1c486397e00 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3de540} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/invoke/MemberName'
0x000001c486397e00: mov rbx,qword ptr [rsp+28h]
0x000001c486397e05: mov rbx,qword ptr [rbx+18h]
0x000001c486397e09: test rbx,rbx
0x000001c486397e0c: je 1c486397e15h
0x000001c486397e12: jmp indirect qword ptr [rbx+40h]
0x000001c486397e15: jmp 1c4862852a0h ; {runtime_call}
0x000001c486397e1a: hlt
0x000001c486397e1b: hlt
0x000001c486397e1c: hlt
0x000001c486397e1d: hlt
0x000001c486397e1e: hlt
0x000001c486397e1f: hlt
Decoding compiled method 0x000001c486397e50:
Code:
Argument 0 is unknown.RIP: 0x1c486397f80 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3de7b8} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8:r8 = 'java/lang/Object'
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# parm3: rsi:rsi = 'java/lang/Object'
# parm4: rcx:rcx = 'java/lang/Object'
# parm5: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm6: [sp+0x8] = 'java/lang/Object'
# parm7: [sp+0x10] = 'java/lang/Object'
# parm8: [sp+0x18] = 'java/lang/Object'
# parm9: [sp+0x20] = 'java/lang/Object'
0x000001c486397f80: mov ebx,dword ptr [rdx+14h]
0x000001c486397f83: mov ebx,dword ptr [rbx+28h]
0x000001c486397f86: mov rbx,qword ptr [rbx+18h]
0x000001c486397f8a: test rbx,rbx
0x000001c486397f8d: je 1c486397f96h
0x000001c486397f93: jmp indirect qword ptr [rbx+40h]
0x000001c486397f96: jmp 1c4862852a0h ; {runtime_call}
0x000001c486397f9b: hlt
0x000001c486397f9c: hlt
0x000001c486397f9d: hlt
0x000001c486397f9e: hlt
0x000001c486397f9f: hlt
Decoding compiled method 0x000001c486397fd0:
Code:
Argument 0 is unknown.RIP: 0x1c486398100 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3de8d0} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/Object'
# parm11: [sp+0x28] = 'java/lang/invoke/MemberName'
0x000001c486398100: mov rbx,qword ptr [rsp+30h]
0x000001c486398105: cmp rax,qword ptr [rdx]
0x000001c486398108: mov rbx,qword ptr [rbx+18h]
0x000001c48639810c: test rbx,rbx
0x000001c48639810f: je 1c486398118h
0x000001c486398115: jmp indirect qword ptr [rbx+40h]
0x000001c486398118: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639811d: hlt
0x000001c48639811e: hlt
0x000001c48639811f: hlt
Decoding compiled method 0x000001c486398150:
Code:
Argument 0 is unknown.RIP: 0x1c486398280 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3e1f78} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/Object'
# parm11: [sp+0x28] = 'java/lang/invoke/MemberName'
0x000001c486398280: mov rbx,qword ptr [rsp+30h]
0x000001c486398285: mov rbx,qword ptr [rbx+18h]
0x000001c486398289: test rbx,rbx
0x000001c48639828c: je 1c486398295h
0x000001c486398292: jmp indirect qword ptr [rbx+40h]
0x000001c486398295: jmp 1c4862852a0h ; {runtime_call}
0x000001c48639829a: hlt
0x000001c48639829b: hlt
0x000001c48639829c: hlt
0x000001c48639829d: hlt
0x000001c48639829e: hlt
0x000001c48639829f: hlt
Decoding compiled method 0x000001c486398590:
Code:
Argument 0 is unknown.RIP: 0x1c4863986c0 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3e21f8} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/Object'
# parm5: rcx:rcx = 'java/lang/Object'
# parm6: [sp+0x0] = 'java/lang/Object' (sp of caller)
# parm7: [sp+0x8] = 'java/lang/Object'
# parm8: [sp+0x10] = 'java/lang/Object'
# parm9: [sp+0x18] = 'java/lang/Object'
# parm10: [sp+0x20] = 'java/lang/Object'
# parm11: [sp+0x28] = 'java/lang/Object'
# parm12: [sp+0x30] = 'java/lang/invoke/MemberName'
0x000001c4863986c0: mov rbx,qword ptr [rsp+38h]
0x000001c4863986c5: mov rbx,qword ptr [rbx+18h]
0x000001c4863986c9: test rbx,rbx
0x000001c4863986cc: je 1c4863986d5h
0x000001c4863986d2: jmp indirect qword ptr [rbx+40h]
0x000001c4863986d5: jmp 1c4862852a0h ; {runtime_call}
0x000001c4863986da: hlt
0x000001c4863986db: hlt
0x000001c4863986dc: hlt
0x000001c4863986dd: hlt
0x000001c4863986de: hlt
0x000001c4863986df: hlt
Decoding compiled method 0x000001c486398710:
Code:
Argument 0 is unknown.RIP: 0x1c486398840 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3e28a8} 'linkToStatic' '(Ljava/lang/Object;ILjava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8 = int
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486398840: mov rbx,qword ptr [r9+18h]
0x000001c486398844: test rbx,rbx
0x000001c486398847: je 1c486398850h
0x000001c48639884d: jmp indirect qword ptr [rbx+40h]
0x000001c486398850: jmp 1c4862852a0h ; {runtime_call}
0x000001c486398855: hlt
0x000001c486398856: hlt
0x000001c486398857: hlt
Decoding compiled method 0x000001c486398890:
Code:
Argument 0 is unknown.RIP: 0x1c4863989c0 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3e29c0} 'linkToStatic' '(ILjava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
# parm0: rdx = int
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c4863989c0: mov rbx,qword ptr [r9+18h]
0x000001c4863989c4: test rbx,rbx
0x000001c4863989c7: je 1c4863989d0h
0x000001c4863989cd: jmp indirect qword ptr [rbx+40h]
0x000001c4863989d0: jmp 1c4862852a0h ; {runtime_call}
0x000001c4863989d5: hlt
0x000001c4863989d6: hlt
0x000001c4863989d7: hlt
Decoding compiled method 0x000001c486398a10:
Code:
Argument 0 is unknown.RIP: 0x1c486398b40 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3ee5d8} 'linkToStatic' '(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx = int
# parm1: r8:r8 = 'java/lang/Object'
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486398b40: mov rbx,qword ptr [rdi+18h]
0x000001c486398b44: test rbx,rbx
0x000001c486398b47: je 1c486398b50h
0x000001c486398b4d: jmp indirect qword ptr [rbx+40h]
0x000001c486398b50: jmp 1c4862852a0h ; {runtime_call}
0x000001c486398b55: hlt
0x000001c486398b56: hlt
0x000001c486398b57: hlt
Decoding compiled method 0x000001c486398b90:
Code:
Argument 0 is unknown.RIP: 0x1c486398cc0 Code size: 0x00000020
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3ee8c0} 'invokeBasic' '(ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# this: rdx:rdx = 'java/lang/invoke/MethodHandle'
# parm0: r8 = int
# parm1: r9:r9 = 'java/lang/Object'
# parm2: rdi:rdi = 'java/lang/Object'
# [sp+0x0] (sp of caller)
0x000001c486398cc0: mov ebx,dword ptr [rdx+14h]
0x000001c486398cc3: mov ebx,dword ptr [rbx+28h]
0x000001c486398cc6: mov rbx,qword ptr [rbx+18h]
0x000001c486398cca: test rbx,rbx
0x000001c486398ccd: je 1c486398cd6h
0x000001c486398cd3: jmp indirect qword ptr [rbx+40h]
0x000001c486398cd6: jmp 1c4862852a0h ; {runtime_call}
0x000001c486398cdb: hlt
0x000001c486398cdc: hlt
0x000001c486398cdd: hlt
0x000001c486398cde: hlt
0x000001c486398cdf: hlt
Decoding compiled method 0x000001c486398d10:
Code:
Argument 0 is unknown.RIP: 0x1c486398e40 Code size: 0x00000018
[Entry Point]
[Verified Entry Point]
# {method} {0x000001c49a3ee9d8} 'linkToSpecial' '(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: r8 = int
# parm2: r9:r9 = 'java/lang/Object'
# parm3: rdi:rdi = 'java/lang/Object'
# parm4: rsi:rsi = 'java/lang/invoke/MemberName'
# [sp+0x0] (sp of caller)
0x000001c486398e40: cmp rax,qword ptr [rdx]
0x000001c486398e43: mov rbx,qword ptr [rsi+18h]
0x000001c486398e47: test rbx,rbx
0x000001c486398e4a: je 1c486398e53h
0x000001c486398e50: jmp indirect qword ptr [rbx+40h]
0x000001c486398e53: jmp 1c4862852a0h ; {runtime_call}
begin start thread
Decoding compiled method 0x000001c48639bfd0:
Code:
Argument 0 is unknown.RIP: 0x1c48639c100 Code size: 0x00000078
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001c49a422d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo'
# [sp+0x20] (sp of caller)
0x000001c48639c100: sub rsp,18h
0x000001c48639c107: mov qword ptr [rsp+10h],rbp ;*synchronization entry
; - org.example.VolatileDemo::lambda$main$0@-1 (line 14)
0x000001c48639c10c: mov r10,0d60037b0h ; {oop(a 'java/lang/Class' = 'org/example/VolatileDemo')}
0x000001c48639c116: movzx r8d,byte ptr [r10+68h] ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001c48639c11b: test r8d,r8d
0x000001c48639c11e: je 1c48639c12ch ;*ifne
; - org.example.VolatileDemo::lambda$main$0@5 (line 15)
0x000001c48639c120: add rsp,10h
0x000001c48639c124: pop rbp
0x000001c48639c125: test dword ptr [1c483c90000h],eax
; {poll_return}
0x000001c48639c12b: ret
0x000001c48639c12c: mov r8d,1h
0x000001c48639c132: jmp 1c48639c143h
0x000001c48639c134: nop dword ptr [rax+rax+0h]
0x000001c48639c13c: nop
0x000001c48639c140: inc r8d ; OopMap{r10=Oop off=67}
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001c48639c143: test dword ptr [1c483c90000h],eax
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
; {poll}
0x000001c48639c149: movzx r9d,byte ptr [r10+68h] ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001c48639c14e: test r9d,r9d
0x000001c48639c151: je 1c48639c140h ;*ifne
; - org.example.VolatileDemo::lambda$main$0@5 (line 15)
0x000001c48639c153: jmp 1c48639c120h
0x000001c48639c155: hlt
0x000001c48639c156: hlt
0x000001c48639c157: hlt
0x000001c48639c158: hlt
0x000001c48639c159: hlt
0x000001c48639c15a: hlt
0x000001c48639c15b: hlt
0x000001c48639c15c: hlt
0x000001c48639c15d: hlt
0x000001c48639c15e: hlt
0x000001c48639c15f: hlt
[Exception Handler]
[Stub Code]
0x000001c48639c160: jmp 1c4862f13a0h ; {no_reloc}
[Deopt Handler Code]
0x000001c48639c165: call 1c48639c16ah
0x000001c48639c16a: sub qword ptr [rsp],5h
0x000001c48639c16f: jmp 1c4862c7600h ; {runtime_call}
0x000001c48639c174: hlt
0x000001c48639c175: hlt
0x000001c48639c176: hlt
0x000001c48639c177: hlt
Decoding compiled method 0x000001c48639c290:
Code:
Argument 0 is unknown.RIP: 0x1c48639c3c0 Code size: 0x00000078
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000001c49a422d50} 'lambda$main$0' '()V' in 'org/example/VolatileDemo'
0x000001c48639c3c0: int3
0x000001c48639c3c1: nop word ptr [rax+rax+0h]
0x000001c48639c3cc: nop
0x000001c48639c3d0: sub rsp,38h
0x000001c48639c3d7: mov qword ptr [rsp+30h],rbp
0x000001c48639c3dc: mov ebp,dword ptr [rdx]
0x000001c48639c3de: mov rcx,rdx
0x000001c48639c3e1: mov r10,72d63140h
0x000001c48639c3eb: call indirect r10 ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001c48639c3ee: mov r10,0d60037b0h ; {oop(a 'java/lang/Class' = 'org/example/VolatileDemo')}
0x000001c48639c3f8: jmp 1c48639c408h
0x000001c48639c3fa: nop word ptr [rax+rax+0h]
0x000001c48639c400: inc ebp ; OopMap{r10=Oop off=66}
;*goto
; - org.example.VolatileDemo::lambda$main$0@11 (line 16)
0x000001c48639c402: test dword ptr [1c483c90000h],eax
; {poll}
0x000001c48639c408: movzx r11d,byte ptr [r10+68h] ;*getstatic stop
; - org.example.VolatileDemo::lambda$main$0@2 (line 15)
0x000001c48639c40d: test r11d,r11d
0x000001c48639c410: je 1c48639c400h ;*ifne
; - org.example.VolatileDemo::lambda$main$0@5 (line 15)
0x000001c48639c412: add rsp,30h
0x000001c48639c416: pop rbp
0x000001c48639c417: test dword ptr [1c483c90000h],eax
; {poll_return}
0x000001c48639c41d: ret
0x000001c48639c41e: hlt
0x000001c48639c41f: hlt
[Exception Handler]
[Stub Code]
0x000001c48639c420: jmp 1c4862f13a0h ; {no_reloc}
[Deopt Handler Code]
0x000001c48639c425: call 1c48639c42ah
0x000001c48639c42a: sub qword ptr [rsp],5h
0x000001c48639c42f: jmp 1c4862c7600h ; {runtime_call}
0x000001c48639c434: hlt
0x000001c48639c435: hlt
0x000001c48639c436: hlt
0x000001c48639c437: hlt
Process finished with exit code 0
加了 volatile 关键字后,汇编指令中存在 lock 指令。



