Last active
October 25, 2016 19:38
-
-
Save MLLeKander/e7cdf8fa3c1d8667e15f8a920d41b19f to your computer and use it in GitHub Desktop.
JVM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ java -XX:+UnlockDiagnosticVMOptions '-XX:CompileCommand=print,*test3.main' test3 | |
CompilerOracle: print *test3.main | |
OpenJDK 64-Bit Server VM warning: printing of assembly code is enabled; turning on DebugNonSafepoints to gain additional output | |
Compiled method (c1) 42 19 % 3 test3::main @ 8 (84 bytes) | |
total in heap [0x00007f9961110610,0x00007f9961111468] = 3672 | |
relocation [0x00007f9961110738,0x00007f99611107e0] = 168 | |
main code [0x00007f99611107e0,0x00007f9961110f20] = 1856 | |
stub code [0x00007f9961110f20,0x00007f9961110fc8] = 168 | |
oops [0x00007f9961110fc8,0x00007f9961110fd0] = 8 | |
metadata [0x00007f9961110fd0,0x00007f9961110fe8] = 24 | |
scopes data [0x00007f9961110fe8,0x00007f9961111138] = 336 | |
scopes pcs [0x00007f9961111138,0x00007f9961111418] = 736 | |
dependencies [0x00007f9961111418,0x00007f9961111420] = 8 | |
nul chk table [0x00007f9961111420,0x00007f9961111468] = 72 | |
Loaded disassembler from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/hsdis-amd64.so | |
Decoding compiled method 0x00007f9961110610: | |
Code: | |
[Disassembling for mach='i386:x86-64'] | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3' | |
0x00007f99611107e0: mov %eax,-0x14000(%rsp) | |
0x00007f99611107e7: push %rbp | |
0x00007f99611107e8: sub $0x70,%rsp | |
0x00007f99611107ec: mov $0x7f993fc00878,%rbx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611107f6: mov 0xdc(%rbx),%edx | |
0x00007f99611107fc: add $0x8,%edx | |
0x00007f99611107ff: mov %edx,0xdc(%rbx) | |
0x00007f9961110805: mov $0x7f993fc00368,%rbx ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996111080f: and $0x1ff8,%edx | |
0x00007f9961110815: cmp $0x0,%edx | |
0x00007f9961110818: je 0x00007f9961110d7d ;*ldc | |
; - test3::main@0 (line 4) | |
0x00007f996111081e: mov $0x186a0,%ebx | |
0x00007f9961110823: mov $0x1000603e8,%rdx ; {metadata('test3$Node'[])} | |
0x00007f996111082d: movslq %ebx,%rbx | |
0x00007f9961110830: mov %rbx,%rdi | |
0x00007f9961110833: cmp $0xffffff,%rbx | |
0x00007f996111083a: ja 0x00007f9961110d94 | |
0x00007f9961110840: mov $0x17,%rsi | |
0x00007f996111084a: lea (%rsi,%rbx,4),%rsi | |
0x00007f996111084e: and $0xfffffffffffffff8,%rsi | |
0x00007f9961110852: mov 0x60(%r15),%rax | |
0x00007f9961110856: lea (%rax,%rsi,1),%rsi | |
0x00007f996111085a: cmp 0x70(%r15),%rsi | |
0x00007f996111085e: ja 0x00007f9961110d94 | |
0x00007f9961110864: mov %rsi,0x60(%r15) | |
0x00007f9961110868: sub %rax,%rsi | |
0x00007f996111086b: movq $0x1,(%rax) | |
0x00007f9961110872: mov %rdx,%rcx | |
0x00007f9961110875: shr $0x3,%rcx | |
0x00007f9961110879: mov %ecx,0x8(%rax) | |
0x00007f996111087c: mov %ebx,0xc(%rax) | |
0x00007f996111087f: sub $0x10,%rsi | |
0x00007f9961110883: je 0x00007f996111089a | |
0x00007f9961110889: xor %rbx,%rbx | |
0x00007f996111088c: shr $0x3,%rsi | |
0x00007f9961110890: mov %rbx,0x8(%rax,%rsi,8) | |
0x00007f9961110895: dec %rsi | |
0x00007f9961110898: jne 0x00007f9961110890 ;*anewarray | |
; - test3::main@2 (line 4) | |
0x00007f996111089a: mov %rax,%rbx | |
0x00007f996111089d: mov $0x0,%r8d | |
0x00007f99611108a3: jmpq 0x00007f9961110aef ;*iload_2 | |
; - test3::main@8 (line 5) | |
0x00007f99611108a8: mov $0x100060208,%rdx ; {metadata('test3$Node')} | |
0x00007f99611108b2: mov 0x60(%r15),%rax | |
0x00007f99611108b6: lea 0x10(%rax),%rdi | |
0x00007f99611108ba: cmp 0x70(%r15),%rdi | |
0x00007f99611108be: ja 0x00007f9961110d9e | |
0x00007f99611108c4: mov %rdi,0x60(%r15) | |
0x00007f99611108c8: mov 0xa8(%rdx),%rcx | |
0x00007f99611108cf: mov %rcx,(%rax) | |
0x00007f99611108d2: mov %rdx,%rcx | |
0x00007f99611108d5: shr $0x3,%rcx | |
0x00007f99611108d9: mov %ecx,0x8(%rax) | |
0x00007f99611108dc: xor %rcx,%rcx | |
0x00007f99611108df: mov %ecx,0xc(%rax) | |
0x00007f99611108e2: xor %rcx,%rcx ;*new ; - test3::main@16 (line 6) | |
0x00007f99611108e5: mov %rax,%rdx | |
0x00007f99611108e8: mov $0x7f993fc00878,%rsi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611108f2: addq $0x1,0x128(%rsi) | |
0x00007f99611108fa: mov $0x7f993fc00740,%rdx ; {metadata(method data for {method} {0x00007f993fc00660} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f9961110904: mov 0xdc(%rdx),%esi | |
0x00007f996111090a: add $0x8,%esi | |
0x00007f996111090d: mov %esi,0xdc(%rdx) | |
0x00007f9961110913: mov $0x7f993fc00660,%rdx ; {metadata({method} {0x00007f993fc00660} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f996111091d: and $0x7ffff8,%esi | |
0x00007f9961110923: cmp $0x0,%esi | |
0x00007f9961110926: je 0x00007f9961110dab | |
0x00007f996111092c: mov %rax,%rdx | |
0x00007f996111092f: mov $0x7f993fc00740,%rsi ; {metadata(method data for {method} {0x00007f993fc00660} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f9961110939: addq $0x1,0x108(%rsi) | |
0x00007f9961110941: mov $0x7f993f9741b0,%rdx ; {metadata(method data for {method} {0x00007f993f800480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f996111094b: mov 0xdc(%rdx),%esi | |
0x00007f9961110951: add $0x8,%esi | |
0x00007f9961110954: mov %esi,0xdc(%rdx) | |
0x00007f996111095a: mov $0x7f993f800480,%rdx ; {metadata({method} {0x00007f993f800480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f9961110964: and $0x7ffff8,%esi | |
0x00007f996111096a: cmp $0x0,%esi | |
0x00007f996111096d: je 0x00007f9961110dc2 | |
0x00007f9961110973: mov %r8d,0xc(%rax) ;*putfield i | |
; - test3$Node::<init>@6 (line 18) | |
; - test3::main@21 (line 6) | |
0x00007f9961110977: movslq %r8d,%rdx | |
0x00007f996111097a: lea 0x10(%rbx,%rdx,4),%rdx | |
0x00007f996111097f: cmp 0xc(%rbx),%r8d ; implicit exception: dispatches to 0x00007f9961110dd9 | |
0x00007f9961110983: jae 0x00007f9961110de3 | |
0x00007f9961110989: cmp $0x0,%rax | |
0x00007f996111098d: jne 0x00007f99611109a8 | |
0x00007f996111098f: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110999: orl $0x100,0x130(%rdi) | |
0x00007f99611109a3: jmpq 0x00007f9961110a8c | |
0x00007f99611109a8: mov 0x8(%rbx),%esi ; implicit exception: dispatches to 0x00007f9961110dec | |
0x00007f99611109ab: shl $0x3,%rsi | |
0x00007f99611109af: mov 0x8(%rax),%edi | |
0x00007f99611109b2: shl $0x3,%rdi | |
0x00007f99611109b6: mov 0xe0(%rsi),%rsi | |
0x00007f99611109bd: cmp %rsi,%rdi | |
0x00007f99611109c0: je 0x00007f99611109ee | |
0x00007f99611109c6: mov 0xc(%rsi),%ecx | |
0x00007f99611109c9: cmp (%rdi,%rcx,1),%rsi | |
0x00007f99611109cd: je 0x00007f99611109ee | |
0x00007f99611109d3: cmp $0x18,%ecx | |
0x00007f99611109d6: jne 0x00007f9961110a75 | |
0x00007f99611109dc: push %rdi | |
0x00007f99611109dd: push %rsi | |
0x00007f99611109de: callq 0x00007f99610fb960 ; {runtime_call} | |
0x00007f99611109e3: pop %rdi | |
0x00007f99611109e4: pop %rsi | |
0x00007f99611109e5: cmp $0x0,%esi | |
0x00007f99611109e8: je 0x00007f9961110a75 | |
0x00007f99611109ee: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611109f8: mov 0x8(%rax),%esi | |
0x00007f99611109fb: shl $0x3,%rsi | |
0x00007f99611109ff: cmp 0x140(%rdi),%rsi | |
0x00007f9961110a06: jne 0x00007f9961110a15 | |
0x00007f9961110a08: addq $0x1,0x148(%rdi) | |
0x00007f9961110a10: jmpq 0x00007f9961110a8c | |
0x00007f9961110a15: cmp 0x150(%rdi),%rsi | |
0x00007f9961110a1c: jne 0x00007f9961110a2b | |
0x00007f9961110a1e: addq $0x1,0x158(%rdi) | |
0x00007f9961110a26: jmpq 0x00007f9961110a8c | |
0x00007f9961110a2b: cmpq $0x0,0x140(%rdi) | |
0x00007f9961110a36: jne 0x00007f9961110a4f | |
0x00007f9961110a38: mov %rsi,0x140(%rdi) | |
0x00007f9961110a3f: movq $0x1,0x148(%rdi) | |
0x00007f9961110a4a: jmpq 0x00007f9961110a8c | |
0x00007f9961110a4f: cmpq $0x0,0x150(%rdi) | |
0x00007f9961110a5a: jne 0x00007f9961110a73 | |
0x00007f9961110a5c: mov %rsi,0x150(%rdi) | |
0x00007f9961110a63: movq $0x1,0x158(%rdi) | |
0x00007f9961110a6e: jmpq 0x00007f9961110a8c | |
0x00007f9961110a73: jmp 0x00007f9961110a8c | |
0x00007f9961110a75: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110a7f: subq $0x1,0x138(%rdi) | |
0x00007f9961110a87: jmpq 0x00007f9961110df1 | |
0x00007f9961110a8c: mov %rax,%r10 | |
0x00007f9961110a8f: mov %r10d,(%rdx) | |
0x00007f9961110a92: shr $0x9,%rdx | |
0x00007f9961110a96: mov $0x7f9973d52000,%rsi | |
0x00007f9961110aa0: movb $0x0,(%rdx,%rsi,1) ;*aastore | |
; - test3::main@24 (line 6) | |
0x00007f9961110aa4: inc %r8d | |
0x00007f9961110aa7: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110ab1: mov 0xe0(%rdx),%esi | |
0x00007f9961110ab7: add $0x8,%esi | |
0x00007f9961110aba: mov %esi,0xe0(%rdx) | |
0x00007f9961110ac0: mov $0x7f993fc00368,%rdx ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110aca: and $0xfff8,%esi | |
0x00007f9961110ad0: cmp $0x0,%esi | |
0x00007f9961110ad3: je 0x00007f9961110dfa ; OopMap{rbx=Oop off=761} | |
;*goto | |
; - test3::main@28 (line 5) | |
0x00007f9961110ad9: test %eax,0x16dd3621(%rip) # 0x00007f9977ee4100 | |
; {poll} | |
0x00007f9961110adf: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110ae9: incl 0x168(%rdx) ;*goto | |
; - test3::main@28 (line 5) | |
0x00007f9961110aef: cmp $0x186a0,%r8d | |
0x00007f9961110af6: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110b00: mov $0x108,%rsi | |
0x00007f9961110b0a: jge 0x00007f9961110b1a | |
0x00007f9961110b10: mov $0x118,%rsi | |
0x00007f9961110b1a: mov (%rdx,%rsi,1),%rdi | |
0x00007f9961110b1e: lea 0x1(%rdi),%rdi | |
0x00007f9961110b22: mov %rdi,(%rdx,%rsi,1) | |
0x00007f9961110b26: jl 0x00007f99611108a8 ;*if_icmpge | |
; - test3::main@11 (line 5) | |
0x00007f9961110b2c: mov $0x0,%edx | |
0x00007f9961110b31: mov $0x0,%rsi | |
0x00007f9961110b3b: jmpq 0x00007f9961110c3c ;*iload | |
; - test3::main@36 (line 9) | |
0x00007f9961110b40: mov $0x0,%edi | |
0x00007f9961110b45: jmpq 0x00007f9961110bb6 ;*iload | |
; - test3::main@46 (line 10) | |
0x00007f9961110b4a: nopw 0x0(%rax,%rax,1) | |
0x00007f9961110b50: movslq %edx,%rax | |
0x00007f9961110b53: cmp 0xc(%rbx),%edx ; implicit exception: dispatches to 0x00007f9961110e11 | |
0x00007f9961110b56: jae 0x00007f9961110e1b | |
0x00007f9961110b5c: mov 0x10(%rbx,%rax,4),%eax ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f9961110b60: mov 0xc(%rax),%eax ;*getfield i | |
; - test3::main@58 (line 11) | |
; implicit exception: dispatches to 0x00007f9961110e24 | |
0x00007f9961110b63: movslq %eax,%rax | |
0x00007f9961110b66: add %rsi,%rax | |
0x00007f9961110b69: inc %edi | |
0x00007f9961110b6b: mov $0x7f993fc00878,%rsi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110b75: mov 0xe0(%rsi),%ecx | |
0x00007f9961110b7b: add $0x8,%ecx | |
0x00007f9961110b7e: mov %ecx,0xe0(%rsi) | |
0x00007f9961110b84: mov $0x7f993fc00368,%rsi ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110b8e: and $0xfff8,%ecx | |
0x00007f9961110b94: cmp $0x0,%ecx | |
0x00007f9961110b97: je 0x00007f9961110e29 ; OopMap{rbx=Oop off=957} | |
;*goto | |
; - test3::main@67 (line 10) | |
0x00007f9961110b9d: test %eax,0x16dd355d(%rip) # 0x00007f9977ee4100 | |
; {poll} | |
0x00007f9961110ba3: mov $0x7f993fc00878,%rsi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110bad: incl 0x1c0(%rsi) | |
0x00007f9961110bb3: mov %rax,%rsi ;*goto | |
; - test3::main@67 (line 10) | |
0x00007f9961110bb6: cmp $0x186a0,%edi | |
0x00007f9961110bbc: mov $0x7f993fc00878,%rax ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110bc6: mov $0x1a0,%rcx | |
0x00007f9961110bd0: jge 0x00007f9961110be0 | |
0x00007f9961110bd6: mov $0x1b0,%rcx | |
0x00007f9961110be0: mov (%rax,%rcx,1),%r8 | |
0x00007f9961110be4: lea 0x1(%r8),%r8 | |
0x00007f9961110be8: mov %r8,(%rax,%rcx,1) | |
0x00007f9961110bec: jl 0x00007f9961110b50 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f9961110bf2: inc %edx | |
0x00007f9961110bf4: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110bfe: mov 0xe0(%rdi),%eax | |
0x00007f9961110c04: add $0x8,%eax | |
0x00007f9961110c07: mov %eax,0xe0(%rdi) | |
0x00007f9961110c0d: mov $0x7f993fc00368,%rdi ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110c17: and $0xfff8,%eax | |
0x00007f9961110c1d: cmp $0x0,%eax | |
0x00007f9961110c20: je 0x00007f9961110e40 ; OopMap{rbx=Oop off=1094} | |
;*goto | |
; - test3::main@73 (line 9) | |
0x00007f9961110c26: test %eax,0x16dd34d4(%rip) # 0x00007f9977ee4100 | |
; {poll} | |
0x00007f9961110c2c: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110c36: incl 0x1d8(%rdi) ;*goto | |
; - test3::main@73 (line 9) | |
0x00007f9961110c3c: cmp $0x186a0,%edx | |
0x00007f9961110c42: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110c4c: mov $0x180,%rax | |
0x00007f9961110c56: jge 0x00007f9961110c66 | |
0x00007f9961110c5c: mov $0x190,%rax | |
0x00007f9961110c66: mov (%rdi,%rax,1),%rcx | |
0x00007f9961110c6a: lea 0x1(%rcx),%rcx | |
0x00007f9961110c6e: mov %rcx,(%rdi,%rax,1) | |
0x00007f9961110c72: jl 0x00007f9961110b40 ;*if_icmpge | |
; - test3::main@40 (line 9) | |
0x00007f9961110c78: jmpq 0x00007f9961110eac ; {no_reloc} | |
0x00007f9961110c7d: add %al,(%rax) | |
0x00007f9961110c7f: add %al,(%rax) | |
0x00007f9961110c81: add %ah,0xf(%rsi) | |
0x00007f9961110c84: (bad) | |
0x00007f9961110c85: add %r8b,(%rax) | |
0x00007f9961110c88: jmpq 0x00007f9961110ec6 ; implicit exception: dispatches to 0x00007f9961110eb6 | |
0x00007f9961110c8d: nop ;*getstatic out | |
; - test3::main@76 (line 14) | |
0x00007f9961110c8e: cmp (%rdi),%rax ; implicit exception: dispatches to 0x00007f9961110ed0 | |
0x00007f9961110c91: mov %rdi,%rdx | |
0x00007f9961110c94: mov $0x7f993fc00878,%rbx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961110c9e: mov 0x8(%rdx),%edx | |
0x00007f9961110ca1: shl $0x3,%rdx | |
0x00007f9961110ca5: cmp 0x1f8(%rbx),%rdx | |
0x00007f9961110cac: jne 0x00007f9961110cbb | |
0x00007f9961110cae: addq $0x1,0x200(%rbx) | |
0x00007f9961110cb6: jmpq 0x00007f9961110d21 | |
0x00007f9961110cbb: cmp 0x208(%rbx),%rdx | |
0x00007f9961110cc2: jne 0x00007f9961110cd1 | |
0x00007f9961110cc4: addq $0x1,0x210(%rbx) | |
0x00007f9961110ccc: jmpq 0x00007f9961110d21 | |
0x00007f9961110cd1: cmpq $0x0,0x1f8(%rbx) | |
0x00007f9961110cdc: jne 0x00007f9961110cf5 | |
0x00007f9961110cde: mov %rdx,0x1f8(%rbx) | |
0x00007f9961110ce5: movq $0x1,0x200(%rbx) | |
0x00007f9961110cf0: jmpq 0x00007f9961110d21 | |
0x00007f9961110cf5: cmpq $0x0,0x208(%rbx) | |
0x00007f9961110d00: jne 0x00007f9961110d19 | |
0x00007f9961110d02: mov %rdx,0x208(%rbx) | |
0x00007f9961110d09: movq $0x1,0x210(%rbx) | |
0x00007f9961110d14: jmpq 0x00007f9961110d21 | |
0x00007f9961110d19: addq $0x1,0x1f0(%rbx) | |
0x00007f9961110d21: mov %rsi,%rdx | |
0x00007f9961110d24: mov %rdi,%rsi ;*invokevirtual println | |
; - test3::main@80 (line 14) | |
0x00007f9961110d27: nop | |
0x00007f9961110d28: nop | |
0x00007f9961110d29: nop | |
0x00007f9961110d2a: nop | |
0x00007f9961110d2b: nop | |
0x00007f9961110d2c: nop | |
0x00007f9961110d2d: mov $0xffffffffffffffff,%rax | |
0x00007f9961110d37: callq 0x00007f9961045f60 ; OopMap{off=1372} | |
;*invokevirtual println | |
; - test3::main@80 (line 14) | |
; {virtual_call} | |
0x00007f9961110d3c: add $0x70,%rsp | |
0x00007f9961110d40: pop %rbp | |
0x00007f9961110d41: test %eax,0x16dd33b9(%rip) # 0x00007f9977ee4100 | |
; {poll_return} | |
0x00007f9961110d47: retq ;*return | |
; - test3::main@83 (line 15) | |
0x00007f9961110d48: mov %eax,-0x14000(%rsp) | |
0x00007f9961110d4f: push %rbp | |
0x00007f9961110d50: sub $0x70,%rsp | |
0x00007f9961110d54: mov 0x20(%rsi),%rbx | |
0x00007f9961110d58: mov 0x18(%rsi),%eax | |
0x00007f9961110d5b: mov %rsi,%rdi | |
0x00007f9961110d5e: mov %rbx,0x58(%rsp) | |
0x00007f9961110d63: mov %eax,0x50(%rsp) | |
0x00007f9961110d67: callq 0x00007f9976ad0ea0 ; {runtime_call} | |
0x00007f9961110d6c: mov 0x50(%rsp),%eax | |
0x00007f9961110d70: mov %rax,%r8 | |
0x00007f9961110d73: mov 0x58(%rsp),%rbx | |
0x00007f9961110d78: jmpq 0x00007f9961110aef | |
0x00007f9961110d7d: mov %rbx,0x8(%rsp) | |
0x00007f9961110d82: movq $0xffffffffffffffff,(%rsp) | |
0x00007f9961110d8a: callq 0x00007f99610fd820 ; OopMap{rsi=Oop off=1455} | |
;*synchronization entry | |
; - test3::main@-1 (line 4) | |
; {runtime_call} | |
0x00007f9961110d8f: jmpq 0x00007f996111081e | |
0x00007f9961110d94: callq 0x00007f99610fa860 ; OopMap{off=1465} | |
;*anewarray | |
; - test3::main@2 (line 4) | |
; {runtime_call} | |
0x00007f9961110d99: jmpq 0x00007f996111089a | |
0x00007f9961110d9e: mov %rdx,%rdx | |
0x00007f9961110da1: callq 0x00007f99610f9b20 ; OopMap{rbx=Oop off=1478} | |
;*new ; - test3::main@16 (line 6) | |
; {runtime_call} | |
0x00007f9961110da6: jmpq 0x00007f99611108e5 | |
0x00007f9961110dab: mov %rdx,0x8(%rsp) | |
0x00007f9961110db0: movq $0xffffffffffffffff,(%rsp) | |
0x00007f9961110db8: callq 0x00007f99610fd820 ; OopMap{rbx=Oop rax=Oop off=1501} | |
;*synchronization entry | |
; - test3$Node::<init>@-1 (line 18) | |
; - test3::main@21 (line 6) | |
; {runtime_call} | |
0x00007f9961110dbd: jmpq 0x00007f996111092c | |
0x00007f9961110dc2: mov %rdx,0x8(%rsp) | |
0x00007f9961110dc7: movq $0xffffffffffffffff,(%rsp) | |
0x00007f9961110dcf: callq 0x00007f99610fd820 ; OopMap{rbx=Oop rax=Oop off=1524} | |
;*synchronization entry | |
; - java.lang.Object::<init>@-1 (line 37) | |
; - test3$Node::<init>@1 (line 18) | |
; - test3::main@21 (line 6) | |
; {runtime_call} | |
0x00007f9961110dd4: jmpq 0x00007f9961110973 | |
0x00007f9961110dd9: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop rax=Oop off=1534} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f9961110dde: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop rax=Oop off=1539} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f9961110de3: mov %r8,(%rsp) | |
0x00007f9961110de7: callq 0x00007f99610f86c0 ; OopMap{rbx=Oop rax=Oop off=1548} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f9961110dec: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop rax=Oop off=1553} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f9961110df1: mov %rax,(%rsp) | |
0x00007f9961110df5: callq 0x00007f99610fb2c0 ; OopMap{rbx=Oop rax=Oop off=1562} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f9961110dfa: mov %rdx,0x8(%rsp) | |
0x00007f9961110dff: movq $0x1c,(%rsp) | |
0x00007f9961110e07: callq 0x00007f99610fd820 ; OopMap{rbx=Oop off=1580} | |
;*goto | |
; - test3::main@28 (line 5) | |
; {runtime_call} | |
0x00007f9961110e0c: jmpq 0x00007f9961110ad9 | |
0x00007f9961110e11: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop off=1590} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f9961110e16: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop off=1595} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f9961110e1b: mov %rdx,(%rsp) | |
0x00007f9961110e1f: callq 0x00007f99610f86c0 ; OopMap{rbx=Oop off=1604} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f9961110e24: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop off=1609} | |
;*getfield i | |
; - test3::main@58 (line 11) | |
; {runtime_call} | |
0x00007f9961110e29: mov %rsi,0x8(%rsp) | |
0x00007f9961110e2e: movq $0x43,(%rsp) | |
0x00007f9961110e36: callq 0x00007f99610fd820 ; OopMap{rbx=Oop off=1627} | |
;*goto | |
; - test3::main@67 (line 10) | |
; {runtime_call} | |
0x00007f9961110e3b: jmpq 0x00007f9961110b9d | |
0x00007f9961110e40: mov %rdi,0x8(%rsp) | |
0x00007f9961110e45: movq $0x49,(%rsp) | |
0x00007f9961110e4d: callq 0x00007f99610fd820 ; OopMap{rbx=Oop off=1650} | |
;*goto | |
; - test3::main@73 (line 9) | |
; {runtime_call} | |
0x00007f9961110e52: jmpq 0x00007f9961110c26 | |
0x00007f9961110e57: mov $0x0,%rdx ; {oop(NULL)} | |
0x00007f9961110e61: push %rax | |
0x00007f9961110e62: push %rbx | |
0x00007f9961110e63: mov 0x48(%rdx),%rbx | |
0x00007f9961110e67: push %rdi | |
0x00007f9961110e68: push %rsi | |
0x00007f9961110e69: push %rdx | |
0x00007f9961110e6a: push %rcx | |
0x00007f9961110e6b: push %r8 | |
0x00007f9961110e6d: push %r9 | |
0x00007f9961110e6f: push %r10 | |
0x00007f9961110e71: mov %rsp,%r10 | |
0x00007f9961110e74: and $0xfffffffffffffff0,%rsp | |
0x00007f9961110e78: push %r10 | |
0x00007f9961110e7a: push %r11 | |
0x00007f9961110e7c: mov $0x1,%edi | |
0x00007f9961110e81: callq 0x00007f99770c33e0 ; {runtime_call} | |
0x00007f9961110e86: pop %r11 | |
0x00007f9961110e88: pop %rsp | |
0x00007f9961110e89: pop %r10 | |
0x00007f9961110e8b: pop %r9 | |
0x00007f9961110e8d: pop %r8 | |
0x00007f9961110e8f: pop %rcx | |
0x00007f9961110e90: pop %rdx | |
0x00007f9961110e91: pop %rsi | |
0x00007f9961110e92: pop %rdi | |
0x00007f9961110e93: cmp 0x108(%rbx),%rax | |
0x00007f9961110e9a: pop %rbx | |
0x00007f9961110e9b: pop %rax | |
0x00007f9961110e9c: jne 0x00007f9961110eac | |
0x00007f9961110ea2: jmpq 0x00007f9961110c82 | |
0x00007f9961110ea7: mov $0xa4b5500,%eax | |
0x00007f9961110eac: callq 0x00007f99610fcc20 ; OopMap{off=1745} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f9961110eb1: jmpq 0x00007f9961110c78 | |
0x00007f9961110eb6: callq 0x00007f99610f93c0 ; OopMap{rdx=Oop off=1755} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f9961110ebb: mov 0x0(%rdx),%edi | |
0x00007f9961110ec1: mov $0x6050b00,%eax | |
0x00007f9961110ec6: callq 0x00007f99610fc420 ; OopMap{rdx=Oop off=1771} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f9961110ecb: jmpq 0x00007f9961110c88 | |
0x00007f9961110ed0: callq 0x00007f99610f93c0 ; OopMap{rdi=Oop off=1781} | |
;*invokevirtual println | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f9961110ed5: nop | |
0x00007f9961110ed6: nop | |
0x00007f9961110ed7: mov 0x290(%r15),%rax | |
0x00007f9961110ede: mov $0x0,%r10 | |
0x00007f9961110ee8: mov %r10,0x290(%r15) | |
0x00007f9961110eef: mov $0x0,%r10 | |
0x00007f9961110ef9: mov %r10,0x298(%r15) | |
0x00007f9961110f00: add $0x70,%rsp | |
0x00007f9961110f04: pop %rbp | |
0x00007f9961110f05: jmpq 0x00007f99610f8b60 ; {runtime_call} | |
0x00007f9961110f0a: hlt | |
0x00007f9961110f0b: hlt | |
0x00007f9961110f0c: hlt | |
0x00007f9961110f0d: hlt | |
0x00007f9961110f0e: hlt | |
0x00007f9961110f0f: hlt | |
0x00007f9961110f10: hlt | |
0x00007f9961110f11: hlt | |
0x00007f9961110f12: hlt | |
0x00007f9961110f13: hlt | |
0x00007f9961110f14: hlt | |
0x00007f9961110f15: hlt | |
0x00007f9961110f16: hlt | |
0x00007f9961110f17: hlt | |
0x00007f9961110f18: hlt | |
0x00007f9961110f19: hlt | |
0x00007f9961110f1a: hlt | |
0x00007f9961110f1b: hlt | |
0x00007f9961110f1c: hlt | |
0x00007f9961110f1d: hlt | |
0x00007f9961110f1e: hlt | |
0x00007f9961110f1f: hlt | |
[Stub Code] | |
0x00007f9961110f20: nop ; {no_reloc} | |
0x00007f9961110f21: nop | |
0x00007f9961110f22: nop | |
0x00007f9961110f23: nop | |
0x00007f9961110f24: nop | |
0x00007f9961110f25: mov $0x0,%rbx ; {static_stub} | |
0x00007f9961110f2f: jmpq 0x00007f9961110f2f ; {runtime_call} | |
[Exception Handler] | |
0x00007f9961110f34: callq 0x00007f99610fb1a0 ; {runtime_call} | |
0x00007f9961110f39: mov %rsp,-0x28(%rsp) | |
0x00007f9961110f3e: sub $0x80,%rsp | |
0x00007f9961110f45: mov %rax,0x78(%rsp) | |
0x00007f9961110f4a: mov %rcx,0x70(%rsp) | |
0x00007f9961110f4f: mov %rdx,0x68(%rsp) | |
0x00007f9961110f54: mov %rbx,0x60(%rsp) | |
0x00007f9961110f59: mov %rbp,0x50(%rsp) | |
0x00007f9961110f5e: mov %rsi,0x48(%rsp) | |
0x00007f9961110f63: mov %rdi,0x40(%rsp) | |
0x00007f9961110f68: mov %r8,0x38(%rsp) | |
0x00007f9961110f6d: mov %r9,0x30(%rsp) | |
0x00007f9961110f72: mov %r10,0x28(%rsp) | |
0x00007f9961110f77: mov %r11,0x20(%rsp) | |
0x00007f9961110f7c: mov %r12,0x18(%rsp) | |
0x00007f9961110f81: mov %r13,0x10(%rsp) | |
0x00007f9961110f86: mov %r14,0x8(%rsp) | |
0x00007f9961110f8b: mov %r15,(%rsp) | |
0x00007f9961110f8f: mov $0x7f9976bf1fbe,%rdi ; {external_word} | |
0x00007f9961110f99: mov $0x7f9961110f39,%rsi ; {internal_word} | |
0x00007f9961110fa3: mov %rsp,%rdx | |
0x00007f9961110fa6: and $0xfffffffffffffff0,%rsp | |
0x00007f9961110faa: callq 0x00007f99769510b0 ; {runtime_call} | |
0x00007f9961110faf: hlt | |
[Deopt Handler Code] | |
0x00007f9961110fb0: mov $0x7f9961110fb0,%r10 ; {section_word} | |
0x00007f9961110fba: push %r10 | |
0x00007f9961110fbc: jmpq 0x00007f9961047100 ; {runtime_call} | |
0x00007f9961110fc1: hlt | |
0x00007f9961110fc2: hlt | |
0x00007f9961110fc3: hlt | |
0x00007f9961110fc4: hlt | |
0x00007f9961110fc5: hlt | |
0x00007f9961110fc6: hlt | |
0x00007f9961110fc7: hlt | |
OopMapSet contains 25 OopMaps | |
#0 | |
OopMap{rbx=Oop off=761} | |
#1 | |
OopMap{rbx=Oop off=957} | |
#2 | |
OopMap{rbx=Oop off=1094} | |
#3 | |
OopMap{off=1372} | |
#4 | |
OopMap{rsi=Oop off=1455} | |
#5 | |
OopMap{off=1465} | |
#6 | |
OopMap{rbx=Oop off=1478} | |
#7 | |
OopMap{rbx=Oop rax=Oop off=1501} | |
#8 | |
OopMap{rbx=Oop rax=Oop off=1524} | |
#9 | |
OopMap{rbx=Oop rax=Oop off=1534} | |
#10 | |
OopMap{rbx=Oop rax=Oop off=1539} | |
#11 | |
OopMap{rbx=Oop rax=Oop off=1548} | |
#12 | |
OopMap{rbx=Oop rax=Oop off=1553} | |
#13 | |
OopMap{rbx=Oop rax=Oop off=1562} | |
#14 | |
OopMap{rbx=Oop off=1580} | |
#15 | |
OopMap{rbx=Oop off=1590} | |
#16 | |
OopMap{rbx=Oop off=1595} | |
#17 | |
OopMap{rbx=Oop off=1604} | |
#18 | |
OopMap{rbx=Oop off=1609} | |
#19 | |
OopMap{rbx=Oop off=1627} | |
#20 | |
OopMap{rbx=Oop off=1650} | |
#21 | |
OopMap{off=1745} | |
#22 | |
OopMap{rdx=Oop off=1755} | |
#23 | |
OopMap{rdx=Oop off=1771} | |
#24 | |
OopMap{rdi=Oop off=1781} | |
Compiled method (c1) 49 20 % 3 test3::main @ 46 (84 bytes) | |
total in heap [0x00007f996110f7d0,0x00007f99611105f8] = 3624 | |
relocation [0x00007f996110f8f8,0x00007f996110f998] = 160 | |
main code [0x00007f996110f9a0,0x00007f99611100e0] = 1856 | |
stub code [0x00007f99611100e0,0x00007f9961110188] = 168 | |
oops [0x00007f9961110188,0x00007f9961110190] = 8 | |
metadata [0x00007f9961110190,0x00007f99611101a8] = 24 | |
scopes data [0x00007f99611101a8,0x00007f99611102f8] = 336 | |
scopes pcs [0x00007f99611102f8,0x00007f99611105b8] = 704 | |
dependencies [0x00007f99611105b8,0x00007f99611105c0] = 8 | |
nul chk table [0x00007f99611105c0,0x00007f99611105f8] = 56 | |
Decoding compiled method 0x00007f996110f7d0: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3' | |
0x00007f996110f9a0: mov %eax,-0x14000(%rsp) | |
0x00007f996110f9a7: push %rbp | |
0x00007f996110f9a8: sub $0x70,%rsp | |
0x00007f996110f9ac: mov $0x7f993fc00878,%rbx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110f9b6: mov 0xdc(%rbx),%edx | |
0x00007f996110f9bc: add $0x8,%edx | |
0x00007f996110f9bf: mov %edx,0xdc(%rbx) | |
0x00007f996110f9c5: mov $0x7f993fc00368,%rbx ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110f9cf: and $0x1ff8,%edx | |
0x00007f996110f9d5: cmp $0x0,%edx | |
0x00007f996110f9d8: je 0x00007f996110ff53 ;*ldc | |
; - test3::main@0 (line 4) | |
0x00007f996110f9de: mov $0x186a0,%ebx | |
0x00007f996110f9e3: mov $0x1000603e8,%rdx ; {metadata('test3$Node'[])} | |
0x00007f996110f9ed: movslq %ebx,%rbx | |
0x00007f996110f9f0: mov %rbx,%rdi | |
0x00007f996110f9f3: cmp $0xffffff,%rbx | |
0x00007f996110f9fa: ja 0x00007f996110ff6a | |
0x00007f996110fa00: mov $0x17,%rsi | |
0x00007f996110fa0a: lea (%rsi,%rbx,4),%rsi | |
0x00007f996110fa0e: and $0xfffffffffffffff8,%rsi | |
0x00007f996110fa12: mov 0x60(%r15),%rax | |
0x00007f996110fa16: lea (%rax,%rsi,1),%rsi | |
0x00007f996110fa1a: cmp 0x70(%r15),%rsi | |
0x00007f996110fa1e: ja 0x00007f996110ff6a | |
0x00007f996110fa24: mov %rsi,0x60(%r15) | |
0x00007f996110fa28: sub %rax,%rsi | |
0x00007f996110fa2b: movq $0x1,(%rax) | |
0x00007f996110fa32: mov %rdx,%rcx | |
0x00007f996110fa35: shr $0x3,%rcx | |
0x00007f996110fa39: mov %ecx,0x8(%rax) | |
0x00007f996110fa3c: mov %ebx,0xc(%rax) | |
0x00007f996110fa3f: sub $0x10,%rsi | |
0x00007f996110fa43: je 0x00007f996110fa5a | |
0x00007f996110fa49: xor %rbx,%rbx | |
0x00007f996110fa4c: shr $0x3,%rsi | |
0x00007f996110fa50: mov %rbx,0x8(%rax,%rsi,8) | |
0x00007f996110fa55: dec %rsi | |
0x00007f996110fa58: jne 0x00007f996110fa50 | |
0x00007f996110fa5a: mov %rax,%rbx ;*anewarray | |
; - test3::main@2 (line 4) | |
0x00007f996110fa5d: mov $0x0,%r8d | |
0x00007f996110fa63: jmpq 0x00007f996110fcaf ;*iload_2 | |
; - test3::main@8 (line 5) | |
0x00007f996110fa68: mov $0x100060208,%rdx ; {metadata('test3$Node')} | |
0x00007f996110fa72: mov 0x60(%r15),%rax | |
0x00007f996110fa76: lea 0x10(%rax),%rdi | |
0x00007f996110fa7a: cmp 0x70(%r15),%rdi | |
0x00007f996110fa7e: ja 0x00007f996110ff74 | |
0x00007f996110fa84: mov %rdi,0x60(%r15) | |
0x00007f996110fa88: mov 0xa8(%rdx),%rcx | |
0x00007f996110fa8f: mov %rcx,(%rax) | |
0x00007f996110fa92: mov %rdx,%rcx | |
0x00007f996110fa95: shr $0x3,%rcx | |
0x00007f996110fa99: mov %ecx,0x8(%rax) | |
0x00007f996110fa9c: xor %rcx,%rcx | |
0x00007f996110fa9f: mov %ecx,0xc(%rax) | |
0x00007f996110faa2: xor %rcx,%rcx ;*new ; - test3::main@16 (line 6) | |
0x00007f996110faa5: mov %rax,%rsi | |
0x00007f996110faa8: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fab2: addq $0x1,0x128(%rdi) | |
0x00007f996110faba: mov $0x7f993fc00740,%rsi ; {metadata(method data for {method} {0x00007f993fc00660} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f996110fac4: mov 0xdc(%rsi),%edi | |
0x00007f996110faca: add $0x8,%edi | |
0x00007f996110facd: mov %edi,0xdc(%rsi) | |
0x00007f996110fad3: mov $0x7f993fc00660,%rsi ; {metadata({method} {0x00007f993fc00660} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f996110fadd: and $0x7ffff8,%edi | |
0x00007f996110fae3: cmp $0x0,%edi | |
0x00007f996110fae6: je 0x00007f996110ff81 | |
0x00007f996110faec: mov %rax,%rsi | |
0x00007f996110faef: mov $0x7f993fc00740,%rdi ; {metadata(method data for {method} {0x00007f993fc00660} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f996110faf9: addq $0x1,0x108(%rdi) | |
0x00007f996110fb01: mov $0x7f993f9741b0,%rsi ; {metadata(method data for {method} {0x00007f993f800480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f996110fb0b: mov 0xdc(%rsi),%edi | |
0x00007f996110fb11: add $0x8,%edi | |
0x00007f996110fb14: mov %edi,0xdc(%rsi) | |
0x00007f996110fb1a: mov $0x7f993f800480,%rsi ; {metadata({method} {0x00007f993f800480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f996110fb24: and $0x7ffff8,%edi | |
0x00007f996110fb2a: cmp $0x0,%edi | |
0x00007f996110fb2d: je 0x00007f996110ff98 | |
0x00007f996110fb33: mov %r8d,0xc(%rax) ;*putfield i | |
; - test3$Node::<init>@6 (line 18) | |
; - test3::main@21 (line 6) | |
0x00007f996110fb37: movslq %r8d,%rsi | |
0x00007f996110fb3a: lea 0x10(%rbx,%rsi,4),%rsi | |
0x00007f996110fb3f: cmp 0xc(%rbx),%r8d | |
0x00007f996110fb43: jae 0x00007f996110ffaf | |
0x00007f996110fb49: cmp $0x0,%rax | |
0x00007f996110fb4d: jne 0x00007f996110fb68 | |
0x00007f996110fb4f: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fb59: orl $0x100,0x130(%rdx) | |
0x00007f996110fb63: jmpq 0x00007f996110fc4c | |
0x00007f996110fb68: mov 0x8(%rbx),%edi ; implicit exception: dispatches to 0x00007f996110ffb8 | |
0x00007f996110fb6b: shl $0x3,%rdi | |
0x00007f996110fb6f: mov 0x8(%rax),%edx | |
0x00007f996110fb72: shl $0x3,%rdx | |
0x00007f996110fb76: mov 0xe0(%rdi),%rdi | |
0x00007f996110fb7d: cmp %rdi,%rdx | |
0x00007f996110fb80: je 0x00007f996110fbae | |
0x00007f996110fb86: mov 0xc(%rdi),%ecx | |
0x00007f996110fb89: cmp (%rdx,%rcx,1),%rdi | |
0x00007f996110fb8d: je 0x00007f996110fbae | |
0x00007f996110fb93: cmp $0x18,%ecx | |
0x00007f996110fb96: jne 0x00007f996110fc35 | |
0x00007f996110fb9c: push %rdx | |
0x00007f996110fb9d: push %rdi | |
0x00007f996110fb9e: callq 0x00007f99610fb960 ; {runtime_call} | |
0x00007f996110fba3: pop %rdx | |
0x00007f996110fba4: pop %rdi | |
0x00007f996110fba5: cmp $0x0,%edi | |
0x00007f996110fba8: je 0x00007f996110fc35 | |
0x00007f996110fbae: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fbb8: mov 0x8(%rax),%edi | |
0x00007f996110fbbb: shl $0x3,%rdi | |
0x00007f996110fbbf: cmp 0x140(%rdx),%rdi | |
0x00007f996110fbc6: jne 0x00007f996110fbd5 | |
0x00007f996110fbc8: addq $0x1,0x148(%rdx) | |
0x00007f996110fbd0: jmpq 0x00007f996110fc4c | |
0x00007f996110fbd5: cmp 0x150(%rdx),%rdi | |
0x00007f996110fbdc: jne 0x00007f996110fbeb | |
0x00007f996110fbde: addq $0x1,0x158(%rdx) | |
0x00007f996110fbe6: jmpq 0x00007f996110fc4c | |
0x00007f996110fbeb: cmpq $0x0,0x140(%rdx) | |
0x00007f996110fbf6: jne 0x00007f996110fc0f | |
0x00007f996110fbf8: mov %rdi,0x140(%rdx) | |
0x00007f996110fbff: movq $0x1,0x148(%rdx) | |
0x00007f996110fc0a: jmpq 0x00007f996110fc4c | |
0x00007f996110fc0f: cmpq $0x0,0x150(%rdx) | |
0x00007f996110fc1a: jne 0x00007f996110fc33 | |
0x00007f996110fc1c: mov %rdi,0x150(%rdx) | |
0x00007f996110fc23: movq $0x1,0x158(%rdx) | |
0x00007f996110fc2e: jmpq 0x00007f996110fc4c | |
0x00007f996110fc33: jmp 0x00007f996110fc4c | |
0x00007f996110fc35: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fc3f: subq $0x1,0x138(%rdx) | |
0x00007f996110fc47: jmpq 0x00007f996110ffbd | |
0x00007f996110fc4c: mov %rax,%r10 | |
0x00007f996110fc4f: mov %r10d,(%rsi) | |
0x00007f996110fc52: shr $0x9,%rsi | |
0x00007f996110fc56: mov $0x7f9973d52000,%rdi | |
0x00007f996110fc60: movb $0x0,(%rsi,%rdi,1) ;*aastore | |
; - test3::main@24 (line 6) | |
0x00007f996110fc64: inc %r8d | |
0x00007f996110fc67: mov $0x7f993fc00878,%rsi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fc71: mov 0xe0(%rsi),%edi | |
0x00007f996110fc77: add $0x8,%edi | |
0x00007f996110fc7a: mov %edi,0xe0(%rsi) | |
0x00007f996110fc80: mov $0x7f993fc00368,%rsi ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fc8a: and $0xfff8,%edi | |
0x00007f996110fc90: cmp $0x0,%edi | |
0x00007f996110fc93: je 0x00007f996110ffc6 ; OopMap{rbx=Oop off=761} | |
;*goto | |
; - test3::main@28 (line 5) | |
0x00007f996110fc99: test %eax,0x16dd4461(%rip) # 0x00007f9977ee4100 | |
; {poll} | |
0x00007f996110fc9f: mov $0x7f993fc00878,%rsi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fca9: incl 0x168(%rsi) ;*goto | |
; - test3::main@28 (line 5) | |
0x00007f996110fcaf: cmp $0x186a0,%r8d | |
0x00007f996110fcb6: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fcc0: mov $0x108,%rsi | |
0x00007f996110fcca: jge 0x00007f996110fcda | |
0x00007f996110fcd0: mov $0x118,%rsi | |
0x00007f996110fcda: mov (%rdx,%rsi,1),%rdi | |
0x00007f996110fcde: lea 0x1(%rdi),%rdi | |
0x00007f996110fce2: mov %rdi,(%rdx,%rsi,1) | |
0x00007f996110fce6: jl 0x00007f996110fa68 ;*if_icmpge | |
; - test3::main@11 (line 5) | |
0x00007f996110fcec: mov $0x0,%esi | |
0x00007f996110fcf1: mov $0x0,%rdi | |
0x00007f996110fcfb: jmpq 0x00007f996110fdfc ;*iload | |
; - test3::main@36 (line 9) | |
0x00007f996110fd00: mov $0x0,%eax | |
0x00007f996110fd05: jmpq 0x00007f996110fd76 ;*iload | |
; - test3::main@46 (line 10) | |
0x00007f996110fd0a: nopw 0x0(%rax,%rax,1) | |
0x00007f996110fd10: movslq %esi,%rdx | |
0x00007f996110fd13: cmp 0xc(%rbx),%esi ; implicit exception: dispatches to 0x00007f996110ffdd | |
0x00007f996110fd16: jae 0x00007f996110ffe7 | |
0x00007f996110fd1c: mov 0x10(%rbx,%rdx,4),%edx ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f996110fd20: mov 0xc(%rdx),%edx ;*getfield i | |
; - test3::main@58 (line 11) | |
; implicit exception: dispatches to 0x00007f996110fff0 | |
0x00007f996110fd23: movslq %edx,%rdx | |
0x00007f996110fd26: add %rdi,%rdx | |
0x00007f996110fd29: inc %eax | |
0x00007f996110fd2b: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fd35: mov 0xe0(%rdi),%ecx | |
0x00007f996110fd3b: add $0x8,%ecx | |
0x00007f996110fd3e: mov %ecx,0xe0(%rdi) | |
0x00007f996110fd44: mov $0x7f993fc00368,%rdi ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fd4e: and $0xfff8,%ecx | |
0x00007f996110fd54: cmp $0x0,%ecx | |
0x00007f996110fd57: je 0x00007f996110fff5 ; OopMap{rbx=Oop off=957} | |
;*goto | |
; - test3::main@67 (line 10) | |
0x00007f996110fd5d: test %eax,0x16dd439d(%rip) # 0x00007f9977ee4100 | |
; {poll} | |
0x00007f996110fd63: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fd6d: incl 0x1c0(%rdi) | |
0x00007f996110fd73: mov %rdx,%rdi ;*goto | |
; - test3::main@67 (line 10) | |
0x00007f996110fd76: cmp $0x186a0,%eax | |
0x00007f996110fd7c: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fd86: mov $0x1a0,%rcx | |
0x00007f996110fd90: jge 0x00007f996110fda0 | |
0x00007f996110fd96: mov $0x1b0,%rcx | |
0x00007f996110fda0: mov (%rdx,%rcx,1),%r8 | |
0x00007f996110fda4: lea 0x1(%r8),%r8 | |
0x00007f996110fda8: mov %r8,(%rdx,%rcx,1) | |
0x00007f996110fdac: jl 0x00007f996110fd10 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f996110fdb2: inc %esi | |
0x00007f996110fdb4: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fdbe: mov 0xe0(%rdx),%eax | |
0x00007f996110fdc4: add $0x8,%eax | |
0x00007f996110fdc7: mov %eax,0xe0(%rdx) | |
0x00007f996110fdcd: mov $0x7f993fc00368,%rdx ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fdd7: and $0xfff8,%eax | |
0x00007f996110fddd: cmp $0x0,%eax | |
0x00007f996110fde0: je 0x00007f996111000c ; OopMap{rbx=Oop off=1094} | |
;*goto | |
; - test3::main@73 (line 9) | |
0x00007f996110fde6: test %eax,0x16dd4314(%rip) # 0x00007f9977ee4100 | |
; {poll} | |
0x00007f996110fdec: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fdf6: incl 0x1d8(%rdx) ;*goto | |
; - test3::main@73 (line 9) | |
0x00007f996110fdfc: cmp $0x186a0,%esi | |
0x00007f996110fe02: mov $0x7f993fc00878,%rax ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fe0c: mov $0x180,%rdx | |
0x00007f996110fe16: jge 0x00007f996110fe26 | |
0x00007f996110fe1c: mov $0x190,%rdx | |
0x00007f996110fe26: mov (%rax,%rdx,1),%rcx | |
0x00007f996110fe2a: lea 0x1(%rcx),%rcx | |
0x00007f996110fe2e: mov %rcx,(%rax,%rdx,1) | |
0x00007f996110fe32: jl 0x00007f996110fd00 ;*if_icmpge | |
; - test3::main@40 (line 9) | |
0x00007f996110fe38: jmpq 0x00007f9961110078 ; {no_reloc} | |
0x00007f996110fe3d: add %al,(%rax) | |
0x00007f996110fe3f: add %al,(%rax) | |
0x00007f996110fe41: add %ah,0xf(%rsi) | |
0x00007f996110fe44: (bad) | |
0x00007f996110fe45: add %r8b,(%rax) | |
0x00007f996110fe48: jmpq 0x00007f9961110092 ; implicit exception: dispatches to 0x00007f9961110082 | |
0x00007f996110fe4d: nop ;*getstatic out | |
; - test3::main@76 (line 14) | |
0x00007f996110fe4e: cmp (%rsi),%rax ; implicit exception: dispatches to 0x00007f996111009c | |
0x00007f996110fe51: mov %rsi,%rdx | |
0x00007f996110fe54: mov $0x7f993fc00878,%rbx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996110fe5e: mov 0x8(%rdx),%edx | |
0x00007f996110fe61: shl $0x3,%rdx | |
0x00007f996110fe65: cmp 0x1f8(%rbx),%rdx | |
0x00007f996110fe6c: jne 0x00007f996110fe7b | |
0x00007f996110fe6e: addq $0x1,0x200(%rbx) | |
0x00007f996110fe76: jmpq 0x00007f996110fee1 | |
0x00007f996110fe7b: cmp 0x208(%rbx),%rdx | |
0x00007f996110fe82: jne 0x00007f996110fe91 | |
0x00007f996110fe84: addq $0x1,0x210(%rbx) | |
0x00007f996110fe8c: jmpq 0x00007f996110fee1 | |
0x00007f996110fe91: cmpq $0x0,0x1f8(%rbx) | |
0x00007f996110fe9c: jne 0x00007f996110feb5 | |
0x00007f996110fe9e: mov %rdx,0x1f8(%rbx) | |
0x00007f996110fea5: movq $0x1,0x200(%rbx) | |
0x00007f996110feb0: jmpq 0x00007f996110fee1 | |
0x00007f996110feb5: cmpq $0x0,0x208(%rbx) | |
0x00007f996110fec0: jne 0x00007f996110fed9 | |
0x00007f996110fec2: mov %rdx,0x208(%rbx) | |
0x00007f996110fec9: movq $0x1,0x210(%rbx) | |
0x00007f996110fed4: jmpq 0x00007f996110fee1 | |
0x00007f996110fed9: addq $0x1,0x1f0(%rbx) | |
0x00007f996110fee1: mov %rdi,%rdx ;*invokevirtual println | |
; - test3::main@80 (line 14) | |
0x00007f996110fee4: nop | |
0x00007f996110fee5: mov $0xffffffffffffffff,%rax | |
0x00007f996110feef: callq 0x00007f9961045f60 ; OopMap{off=1364} | |
;*invokevirtual println | |
; - test3::main@80 (line 14) | |
; {virtual_call} | |
0x00007f996110fef4: add $0x70,%rsp | |
0x00007f996110fef8: pop %rbp | |
0x00007f996110fef9: test %eax,0x16dd4201(%rip) # 0x00007f9977ee4100 | |
; {poll_return} | |
0x00007f996110feff: retq ;*return | |
; - test3::main@83 (line 15) | |
0x00007f996110ff00: mov %eax,-0x14000(%rsp) | |
0x00007f996110ff07: push %rbp | |
0x00007f996110ff08: sub $0x70,%rsp | |
0x00007f996110ff0c: mov 0x20(%rsi),%rbx | |
0x00007f996110ff10: mov 0x10(%rsi),%rax | |
0x00007f996110ff14: mov 0x8(%rsi),%edx | |
0x00007f996110ff17: mov (%rsi),%ecx | |
0x00007f996110ff19: mov %rsi,%rdi | |
0x00007f996110ff1c: mov %rbx,0x60(%rsp) | |
0x00007f996110ff21: mov %rax,0x58(%rsp) | |
0x00007f996110ff26: mov %edx,0x54(%rsp) | |
0x00007f996110ff2a: mov %ecx,0x50(%rsp) | |
0x00007f996110ff2e: callq 0x00007f9976ad0ea0 ; {runtime_call} | |
0x00007f996110ff33: mov 0x50(%rsp),%ecx | |
0x00007f996110ff37: mov %rcx,%rax | |
0x00007f996110ff3a: mov 0x54(%rsp),%edx | |
0x00007f996110ff3e: mov %rdx,%rsi | |
0x00007f996110ff41: mov 0x58(%rsp),%rdx | |
0x00007f996110ff46: mov %rdx,%rdi | |
0x00007f996110ff49: mov 0x60(%rsp),%rbx | |
0x00007f996110ff4e: jmpq 0x00007f996110fd76 | |
0x00007f996110ff53: mov %rbx,0x8(%rsp) | |
0x00007f996110ff58: movq $0xffffffffffffffff,(%rsp) | |
0x00007f996110ff60: callq 0x00007f99610fd820 ; OopMap{rsi=Oop off=1477} | |
;*synchronization entry | |
; - test3::main@-1 (line 4) | |
; {runtime_call} | |
0x00007f996110ff65: jmpq 0x00007f996110f9de | |
0x00007f996110ff6a: callq 0x00007f99610fa860 ; OopMap{off=1487} | |
;*anewarray | |
; - test3::main@2 (line 4) | |
; {runtime_call} | |
0x00007f996110ff6f: jmpq 0x00007f996110fa5a | |
0x00007f996110ff74: mov %rdx,%rdx | |
0x00007f996110ff77: callq 0x00007f99610f9b20 ; OopMap{rbx=Oop off=1500} | |
;*new ; - test3::main@16 (line 6) | |
; {runtime_call} | |
0x00007f996110ff7c: jmpq 0x00007f996110faa5 | |
0x00007f996110ff81: mov %rsi,0x8(%rsp) | |
0x00007f996110ff86: movq $0xffffffffffffffff,(%rsp) | |
0x00007f996110ff8e: callq 0x00007f99610fd820 ; OopMap{rbx=Oop rax=Oop off=1523} | |
;*synchronization entry | |
; - test3$Node::<init>@-1 (line 18) | |
; - test3::main@21 (line 6) | |
; {runtime_call} | |
0x00007f996110ff93: jmpq 0x00007f996110faec | |
0x00007f996110ff98: mov %rsi,0x8(%rsp) | |
0x00007f996110ff9d: movq $0xffffffffffffffff,(%rsp) | |
0x00007f996110ffa5: callq 0x00007f99610fd820 ; OopMap{rbx=Oop rax=Oop off=1546} | |
;*synchronization entry | |
; - java.lang.Object::<init>@-1 (line 37) | |
; - test3$Node::<init>@1 (line 18) | |
; - test3::main@21 (line 6) | |
; {runtime_call} | |
0x00007f996110ffaa: jmpq 0x00007f996110fb33 | |
0x00007f996110ffaf: mov %r8,(%rsp) | |
0x00007f996110ffb3: callq 0x00007f99610f86c0 ; OopMap{rbx=Oop rax=Oop off=1560} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f996110ffb8: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop rax=Oop off=1565} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f996110ffbd: mov %rax,(%rsp) | |
0x00007f996110ffc1: callq 0x00007f99610fb2c0 ; OopMap{rbx=Oop rax=Oop off=1574} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f996110ffc6: mov %rsi,0x8(%rsp) | |
0x00007f996110ffcb: movq $0x1c,(%rsp) | |
0x00007f996110ffd3: callq 0x00007f99610fd820 ; OopMap{rbx=Oop off=1592} | |
;*goto | |
; - test3::main@28 (line 5) | |
; {runtime_call} | |
0x00007f996110ffd8: jmpq 0x00007f996110fc99 | |
0x00007f996110ffdd: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop off=1602} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f996110ffe2: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop off=1607} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f996110ffe7: mov %rsi,(%rsp) | |
0x00007f996110ffeb: callq 0x00007f99610f86c0 ; OopMap{rbx=Oop off=1616} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f996110fff0: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop off=1621} | |
;*getfield i | |
; - test3::main@58 (line 11) | |
; {runtime_call} | |
0x00007f996110fff5: mov %rdi,0x8(%rsp) | |
0x00007f996110fffa: movq $0x43,(%rsp) | |
0x00007f9961110002: callq 0x00007f99610fd820 ; OopMap{rbx=Oop off=1639} | |
;*goto | |
; - test3::main@67 (line 10) | |
; {runtime_call} | |
0x00007f9961110007: jmpq 0x00007f996110fd5d | |
0x00007f996111000c: mov %rdx,0x8(%rsp) | |
0x00007f9961110011: movq $0x49,(%rsp) | |
0x00007f9961110019: callq 0x00007f99610fd820 ; OopMap{rbx=Oop off=1662} | |
;*goto | |
; - test3::main@73 (line 9) | |
; {runtime_call} | |
0x00007f996111001e: jmpq 0x00007f996110fde6 | |
0x00007f9961110023: mov $0x0,%rdx ; {oop(NULL)} | |
0x00007f996111002d: push %rax | |
0x00007f996111002e: push %rbx | |
0x00007f996111002f: mov 0x48(%rdx),%rbx | |
0x00007f9961110033: push %rdi | |
0x00007f9961110034: push %rsi | |
0x00007f9961110035: push %rdx | |
0x00007f9961110036: push %rcx | |
0x00007f9961110037: push %r8 | |
0x00007f9961110039: push %r9 | |
0x00007f996111003b: push %r10 | |
0x00007f996111003d: mov %rsp,%r10 | |
0x00007f9961110040: and $0xfffffffffffffff0,%rsp | |
0x00007f9961110044: push %r10 | |
0x00007f9961110046: push %r11 | |
0x00007f9961110048: mov $0x1,%edi | |
0x00007f996111004d: callq 0x00007f99770c33e0 ; {runtime_call} | |
0x00007f9961110052: pop %r11 | |
0x00007f9961110054: pop %rsp | |
0x00007f9961110055: pop %r10 | |
0x00007f9961110057: pop %r9 | |
0x00007f9961110059: pop %r8 | |
0x00007f996111005b: pop %rcx | |
0x00007f996111005c: pop %rdx | |
0x00007f996111005d: pop %rsi | |
0x00007f996111005e: pop %rdi | |
0x00007f996111005f: cmp 0x108(%rbx),%rax | |
0x00007f9961110066: pop %rbx | |
0x00007f9961110067: pop %rax | |
0x00007f9961110068: jne 0x00007f9961110078 | |
0x00007f996111006e: jmpq 0x00007f996110fe42 | |
0x00007f9961110073: mov $0xa4b5500,%eax | |
0x00007f9961110078: callq 0x00007f99610fcc20 ; OopMap{off=1757} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f996111007d: jmpq 0x00007f996110fe38 | |
0x00007f9961110082: callq 0x00007f99610f93c0 ; OopMap{rdx=Oop off=1767} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f9961110087: mov 0x0(%rdx),%esi | |
0x00007f996111008d: mov $0x6050b00,%eax | |
0x00007f9961110092: callq 0x00007f99610fc420 ; OopMap{rdx=Oop off=1783} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f9961110097: jmpq 0x00007f996110fe48 | |
0x00007f996111009c: callq 0x00007f99610f93c0 ; OopMap{rsi=Oop off=1793} | |
;*invokevirtual println | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f99611100a1: nop | |
0x00007f99611100a2: nop | |
0x00007f99611100a3: mov 0x290(%r15),%rax | |
0x00007f99611100aa: mov $0x0,%r10 | |
0x00007f99611100b4: mov %r10,0x290(%r15) | |
0x00007f99611100bb: mov $0x0,%r10 | |
0x00007f99611100c5: mov %r10,0x298(%r15) | |
0x00007f99611100cc: add $0x70,%rsp | |
0x00007f99611100d0: pop %rbp | |
0x00007f99611100d1: jmpq 0x00007f99610f8b60 ; {runtime_call} | |
0x00007f99611100d6: hlt | |
0x00007f99611100d7: hlt | |
0x00007f99611100d8: hlt | |
0x00007f99611100d9: hlt | |
0x00007f99611100da: hlt | |
0x00007f99611100db: hlt | |
0x00007f99611100dc: hlt | |
0x00007f99611100dd: hlt | |
0x00007f99611100de: hlt | |
0x00007f99611100df: hlt | |
[Stub Code] | |
0x00007f99611100e0: nop ; {no_reloc} | |
0x00007f99611100e1: nop | |
0x00007f99611100e2: nop | |
0x00007f99611100e3: nop | |
0x00007f99611100e4: nop | |
0x00007f99611100e5: mov $0x0,%rbx ; {static_stub} | |
0x00007f99611100ef: jmpq 0x00007f99611100ef ; {runtime_call} | |
[Exception Handler] | |
0x00007f99611100f4: callq 0x00007f99610fb1a0 ; {runtime_call} | |
0x00007f99611100f9: mov %rsp,-0x28(%rsp) | |
0x00007f99611100fe: sub $0x80,%rsp | |
0x00007f9961110105: mov %rax,0x78(%rsp) | |
0x00007f996111010a: mov %rcx,0x70(%rsp) | |
0x00007f996111010f: mov %rdx,0x68(%rsp) | |
0x00007f9961110114: mov %rbx,0x60(%rsp) | |
0x00007f9961110119: mov %rbp,0x50(%rsp) | |
0x00007f996111011e: mov %rsi,0x48(%rsp) | |
0x00007f9961110123: mov %rdi,0x40(%rsp) | |
0x00007f9961110128: mov %r8,0x38(%rsp) | |
0x00007f996111012d: mov %r9,0x30(%rsp) | |
0x00007f9961110132: mov %r10,0x28(%rsp) | |
0x00007f9961110137: mov %r11,0x20(%rsp) | |
0x00007f996111013c: mov %r12,0x18(%rsp) | |
0x00007f9961110141: mov %r13,0x10(%rsp) | |
0x00007f9961110146: mov %r14,0x8(%rsp) | |
0x00007f996111014b: mov %r15,(%rsp) | |
0x00007f996111014f: mov $0x7f9976bf1fbe,%rdi ; {external_word} | |
0x00007f9961110159: mov $0x7f99611100f9,%rsi ; {internal_word} | |
0x00007f9961110163: mov %rsp,%rdx | |
0x00007f9961110166: and $0xfffffffffffffff0,%rsp | |
0x00007f996111016a: callq 0x00007f99769510b0 ; {runtime_call} | |
0x00007f996111016f: hlt | |
[Deopt Handler Code] | |
0x00007f9961110170: mov $0x7f9961110170,%r10 ; {section_word} | |
0x00007f996111017a: push %r10 | |
0x00007f996111017c: jmpq 0x00007f9961047100 ; {runtime_call} | |
0x00007f9961110181: hlt | |
0x00007f9961110182: hlt | |
0x00007f9961110183: hlt | |
0x00007f9961110184: hlt | |
0x00007f9961110185: hlt | |
0x00007f9961110186: hlt | |
0x00007f9961110187: hlt | |
OopMapSet contains 23 OopMaps | |
#0 | |
OopMap{rbx=Oop off=761} | |
#1 | |
OopMap{rbx=Oop off=957} | |
#2 | |
OopMap{rbx=Oop off=1094} | |
#3 | |
OopMap{off=1364} | |
#4 | |
OopMap{rsi=Oop off=1477} | |
#5 | |
OopMap{off=1487} | |
#6 | |
OopMap{rbx=Oop off=1500} | |
#7 | |
OopMap{rbx=Oop rax=Oop off=1523} | |
#8 | |
OopMap{rbx=Oop rax=Oop off=1546} | |
#9 | |
OopMap{rbx=Oop rax=Oop off=1560} | |
#10 | |
OopMap{rbx=Oop rax=Oop off=1565} | |
#11 | |
OopMap{rbx=Oop rax=Oop off=1574} | |
#12 | |
OopMap{rbx=Oop off=1592} | |
#13 | |
OopMap{rbx=Oop off=1602} | |
#14 | |
OopMap{rbx=Oop off=1607} | |
#15 | |
OopMap{rbx=Oop off=1616} | |
#16 | |
OopMap{rbx=Oop off=1621} | |
#17 | |
OopMap{rbx=Oop off=1639} | |
#18 | |
OopMap{rbx=Oop off=1662} | |
#19 | |
OopMap{off=1757} | |
#20 | |
OopMap{rdx=Oop off=1767} | |
#21 | |
OopMap{rdx=Oop off=1783} | |
#22 | |
OopMap{rsi=Oop off=1793} | |
Compiled method (c2) 56 21 % 4 test3::main @ 46 (84 bytes) | |
total in heap [0x00007f996110f290,0x00007f996110f7b0] = 1312 | |
relocation [0x00007f996110f3b8,0x00007f996110f3d0] = 24 | |
main code [0x00007f996110f3e0,0x00007f996110f560] = 384 | |
stub code [0x00007f996110f560,0x00007f996110f578] = 24 | |
oops [0x00007f996110f578,0x00007f996110f580] = 8 | |
metadata [0x00007f996110f580,0x00007f996110f598] = 24 | |
scopes data [0x00007f996110f598,0x00007f996110f5f8] = 96 | |
scopes pcs [0x00007f996110f5f8,0x00007f996110f798] = 416 | |
dependencies [0x00007f996110f798,0x00007f996110f7a0] = 8 | |
nul chk table [0x00007f996110f7a0,0x00007f996110f7b0] = 16 | |
Decoding compiled method 0x00007f996110f290: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3' | |
0x00007f996110f3e0: callq 0x00007f9976a26fb0 ; {runtime_call} | |
0x00007f996110f3e5: nopw 0x0(%rax,%rax,1) | |
0x00007f996110f3f0: mov %eax,-0x14000(%rsp) | |
0x00007f996110f3f7: push %rbp | |
0x00007f996110f3f8: sub $0x30,%rsp | |
0x00007f996110f3fc: mov (%rsi),%r13d | |
0x00007f996110f3ff: mov 0x20(%rsi),%r14 | |
0x00007f996110f403: mov 0x10(%rsi),%rbx | |
0x00007f996110f407: mov 0x8(%rsi),%ebp | |
0x00007f996110f40a: mov %rsi,%rdi | |
0x00007f996110f40d: mov $0x7f9976ad0ea0,%r10 | |
0x00007f996110f417: callq *%r10 | |
0x00007f996110f41a: test %r14,%r14 | |
0x00007f996110f41d: je 0x00007f996110f4fd | |
0x00007f996110f423: mov 0x8(%r14),%r10d | |
0x00007f996110f427: cmp $0x2000c07d,%r10d ; {metadata('test3$Node'[])} | |
0x00007f996110f42e: jne 0x00007f996110f530 | |
0x00007f996110f434: mov 0xc(%r14),%r10d | |
0x00007f996110f438: cmp %r10d,%ebp | |
0x00007f996110f43b: jae 0x00007f996110f500 ;*iload | |
; - test3::main@46 (line 10) | |
0x00007f996110f441: mov 0x10(%r14,%rbp,4),%r10d ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f996110f446: movslq 0xc(%r10),%r10 ;*i2l ; - test3::main@61 (line 11) | |
; implicit exception: dispatches to 0x00007f996110f500 | |
0x00007f996110f44a: cmp $0x186a0,%r13d | |
0x00007f996110f451: jge 0x00007f996110f4df ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f996110f457: mov %r13d,%r11d | |
0x00007f996110f45a: inc %r11d ;*goto | |
; - test3::main@67 (line 10) | |
0x00007f996110f45d: add %r10,%rbx ;*ladd | |
; - test3::main@62 (line 11) | |
0x00007f996110f460: mov %r13d,%r9d | |
0x00007f996110f463: inc %r9d ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f996110f466: cmp %r11d,%r9d | |
0x00007f996110f469: jge 0x00007f996110f470 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f996110f46b: mov %r9d,%r13d | |
0x00007f996110f46e: jmp 0x00007f996110f45d | |
0x00007f996110f470: cmp $0x18691,%r9d | |
0x00007f996110f477: jge 0x00007f996110f51d | |
0x00007f996110f47d: jmp 0x00007f996110f483 | |
0x00007f996110f47f: nop | |
0x00007f996110f480: mov %r13d,%r9d ;*goto | |
; - test3::main@67 (line 10) | |
0x00007f996110f483: add %r10,%rbx | |
0x00007f996110f486: add %r10,%rbx | |
0x00007f996110f489: add %r10,%rbx | |
0x00007f996110f48c: add %r10,%rbx | |
0x00007f996110f48f: add %r10,%rbx | |
0x00007f996110f492: add %r10,%rbx | |
0x00007f996110f495: add %r10,%rbx | |
0x00007f996110f498: add %r10,%rbx | |
0x00007f996110f49b: add %r10,%rbx | |
0x00007f996110f49e: add %r10,%rbx | |
0x00007f996110f4a1: add %r10,%rbx | |
0x00007f996110f4a4: add %r10,%rbx | |
0x00007f996110f4a7: add %r10,%rbx | |
0x00007f996110f4aa: add %r10,%rbx | |
0x00007f996110f4ad: add %r10,%rbx | |
0x00007f996110f4b0: add %r10,%rbx ;*ladd | |
; - test3::main@62 (line 11) | |
0x00007f996110f4b3: mov %r9d,%r13d | |
0x00007f996110f4b6: add $0x10,%r13d ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f996110f4ba: cmp $0x18691,%r13d | |
0x00007f996110f4c1: jl 0x00007f996110f480 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f996110f4c3: add $0xf,%r9d ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f996110f4c7: cmp $0x186a0,%r13d | |
0x00007f996110f4ce: jge 0x00007f996110f528 ;*goto | |
; - test3::main@67 (line 10) | |
0x00007f996110f4d0: add %r10,%rbx ;*ladd | |
; - test3::main@62 (line 11) | |
0x00007f996110f4d3: inc %r13d ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f996110f4d6: cmp $0x186a0,%r13d | |
0x00007f996110f4dd: jl 0x00007f996110f4d0 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f996110f4df: mov $0xffffff65,%esi | |
0x00007f996110f4e4: mov %rbx,(%rsp) | |
0x00007f996110f4e8: mov %r13d,0xc(%rsp) | |
0x00007f996110f4ed: mov %r14,0x10(%rsp) | |
0x00007f996110f4f2: nop | |
0x00007f996110f4f3: callq 0x00007f9961004ee0 ; OopMap{[16]=Oop off=280} | |
;*if_icmpge | |
; - test3::main@50 (line 10) | |
; {runtime_call} | |
0x00007f996110f4f8: callq 0x00007f9976a26fb0 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
; {runtime_call} | |
0x00007f996110f4fd: xor %r14d,%r14d | |
0x00007f996110f500: mov $0xffffff86,%esi | |
0x00007f996110f505: mov %rbx,(%rsp) | |
0x00007f996110f509: mov %r13d,0x8(%rsp) | |
0x00007f996110f50e: mov %r14,0x10(%rsp) | |
0x00007f996110f513: callq 0x00007f9961004ee0 ; OopMap{[16]=Oop off=312} | |
;*iload | |
; - test3::main@46 (line 10) | |
; {runtime_call} | |
0x00007f996110f518: callq 0x00007f9976a26fb0 ;*iload | |
; - test3::main@46 (line 10) | |
; {runtime_call} | |
0x00007f996110f51d: mov %r13d,%r11d | |
0x00007f996110f520: mov %r9d,%r13d | |
0x00007f996110f523: mov %r11d,%r9d | |
0x00007f996110f526: jmp 0x00007f996110f4c7 | |
0x00007f996110f528: mov %r9d,%r13d | |
0x00007f996110f52b: inc %r13d ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f996110f52e: jmp 0x00007f996110f4df | |
0x00007f996110f530: mov $0xffffff9d,%esi | |
0x00007f996110f535: mov %rbx,(%rsp) | |
0x00007f996110f539: mov %r13d,0x8(%rsp) | |
0x00007f996110f53e: mov %r14,0x10(%rsp) | |
0x00007f996110f543: callq 0x00007f9961004ee0 ; OopMap{[16]=Oop off=360} | |
;*iload | |
; - test3::main@46 (line 10) | |
; {runtime_call} | |
0x00007f996110f548: callq 0x00007f9976a26fb0 ;*iinc | |
; - test3::main@64 (line 10) | |
; {runtime_call} | |
0x00007f996110f54d: hlt | |
0x00007f996110f54e: hlt | |
0x00007f996110f54f: hlt | |
0x00007f996110f550: hlt | |
0x00007f996110f551: hlt | |
0x00007f996110f552: hlt | |
0x00007f996110f553: hlt | |
0x00007f996110f554: hlt | |
0x00007f996110f555: hlt | |
0x00007f996110f556: hlt | |
0x00007f996110f557: hlt | |
0x00007f996110f558: hlt | |
0x00007f996110f559: hlt | |
0x00007f996110f55a: hlt | |
0x00007f996110f55b: hlt | |
0x00007f996110f55c: hlt | |
0x00007f996110f55d: hlt | |
0x00007f996110f55e: hlt | |
0x00007f996110f55f: hlt | |
[Exception Handler] | |
[Stub Code] | |
0x00007f996110f560: jmpq 0x00007f99610f8e20 ; {no_reloc} | |
[Deopt Handler Code] | |
0x00007f996110f565: callq 0x00007f996110f56a | |
0x00007f996110f56a: subq $0x5,(%rsp) | |
0x00007f996110f56f: jmpq 0x00007f9961047100 ; {runtime_call} | |
0x00007f996110f574: hlt | |
0x00007f996110f575: hlt | |
0x00007f996110f576: hlt | |
0x00007f996110f577: hlt | |
OopMapSet contains 3 OopMaps | |
#0 | |
OopMap{[16]=Oop off=280} | |
#1 | |
OopMap{[16]=Oop off=312} | |
#2 | |
OopMap{[16]=Oop off=360} | |
Compiled method (c2) 61 22 4 test3::main (84 bytes) | |
total in heap [0x00007f996110eb10,0x00007f996110f268] = 1880 | |
relocation [0x00007f996110ec38,0x00007f996110ec68] = 48 | |
main code [0x00007f996110ec80,0x00007f996110eec0] = 576 | |
stub code [0x00007f996110eec0,0x00007f996110eee8] = 40 | |
oops [0x00007f996110eee8,0x00007f996110eef0] = 8 | |
metadata [0x00007f996110eef0,0x00007f996110ef08] = 24 | |
scopes data [0x00007f996110ef08,0x00007f996110efd8] = 208 | |
scopes pcs [0x00007f996110efd8,0x00007f996110f208] = 560 | |
dependencies [0x00007f996110f208,0x00007f996110f210] = 8 | |
handler table [0x00007f996110f210,0x00007f996110f258] = 72 | |
nul chk table [0x00007f996110f258,0x00007f996110f268] = 16 | |
Decoding compiled method 0x00007f996110eb10: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3' | |
# parm0: rsi:rsi = '[Ljava/lang/String;' | |
# [sp+0x50] (sp of caller) | |
0x00007f996110ec80: mov %eax,-0x14000(%rsp) | |
0x00007f996110ec87: push %rbp | |
0x00007f996110ec88: sub $0x40,%rsp ;*synchronization entry | |
; - test3::main@-1 (line 4) | |
0x00007f996110ec8c: mov 0x60(%r15),%r8 | |
0x00007f996110ec90: mov %r8,%r10 | |
0x00007f996110ec93: add $0x61a90,%r10 | |
0x00007f996110ec9a: cmp 0x70(%r15),%r10 | |
0x00007f996110ec9e: jae 0x00007f996110ee71 | |
0x00007f996110eca4: mov %r10,0x60(%r15) | |
0x00007f996110eca8: prefetchnta 0xc0(%r10) | |
0x00007f996110ecb0: movq $0x1,(%r8) | |
0x00007f996110ecb7: prefetchnta 0x100(%r10) | |
0x00007f996110ecbf: movl $0x2000c07d,0x8(%r8) ; {metadata('test3$Node'[])} | |
0x00007f996110ecc7: prefetchnta 0x140(%r10) | |
0x00007f996110eccf: movl $0x186a0,0xc(%r8) | |
0x00007f996110ecd7: prefetchnta 0x180(%r10) | |
0x00007f996110ecdf: mov %r8,%rdi | |
0x00007f996110ece2: add $0x10,%rdi | |
0x00007f996110ece6: mov $0xc350,%ecx | |
0x00007f996110eceb: xor %rax,%rax | |
0x00007f996110ecee: shl $0x3,%rcx | |
0x00007f996110ecf2: rex.W rep stos %al,%es:(%rdi) ;*anewarray | |
; - test3::main@2 (line 4) | |
0x00007f996110ecf5: mov $0x2000c041,%r11d ; {metadata('test3$Node')} | |
0x00007f996110ecfb: mov $0x0,%rbp | |
0x00007f996110ed05: lea 0x0(%rbp,%r11,8),%rbp | |
0x00007f996110ed0a: xor %r10d,%r10d | |
0x00007f996110ed0d: xor %r11d,%r11d | |
0x00007f996110ed10: jmp 0x00007f996110ed25 | |
0x00007f996110ed12: nopw 0x0(%rax,%rax,1) | |
0x00007f996110ed1c: xchg %ax,%ax | |
0x00007f996110ed20: mov 0x18(%rsp),%r11d ;*aload_1 | |
; - test3::main@14 (line 6) | |
0x00007f996110ed25: mov 0x60(%r15),%rax | |
0x00007f996110ed29: mov %rax,%r9 | |
0x00007f996110ed2c: add $0x10,%r9 | |
0x00007f996110ed30: cmp 0x70(%r15),%r9 | |
0x00007f996110ed34: jae 0x00007f996110ee4d | |
0x00007f996110ed3a: mov %r9,0x60(%r15) | |
0x00007f996110ed3e: prefetchnta 0xc0(%r9) | |
0x00007f996110ed46: mov 0xa8(%rbp),%r9 | |
0x00007f996110ed4d: mov %r9,(%rax) | |
0x00007f996110ed50: movl $0x2000c041,0x8(%rax) ; {metadata('test3$Node')} | |
0x00007f996110ed57: mov %r12d,0xc(%rax) | |
0x00007f996110ed5b: mov %r10d,(%rsp) | |
0x00007f996110ed5f: mov %r8,0x10(%rsp) | |
0x00007f996110ed64: mov %r11d,0x18(%rsp) | |
0x00007f996110ed69: mov %rax,0x8(%rsp) ;*new ; - test3::main@16 (line 6) | |
0x00007f996110ed6e: mov %rax,%rsi | |
0x00007f996110ed71: mov (%rsp),%edx | |
0x00007f996110ed74: xchg %ax,%ax | |
0x00007f996110ed77: callq 0x00007f9961045d60 ; OopMap{[8]=Oop [16]=Oop off=252} | |
;*invokespecial <init> | |
; - test3::main@21 (line 6) | |
; {optimized virtual_call} | |
0x00007f996110ed7c: mov (%rsp),%r9d | |
0x00007f996110ed80: mov 0x10(%rsp),%r8 | |
0x00007f996110ed85: lea 0x10(%r8,%r9,4),%r10 | |
0x00007f996110ed8a: mov 0x8(%rsp),%r11 | |
0x00007f996110ed8f: mov %r11d,(%r10) | |
0x00007f996110ed92: shr $0x9,%r10 | |
0x00007f996110ed96: mov $0x7f9973d52000,%r11 | |
0x00007f996110eda0: mov %r12b,(%r11,%r10,1) ;*aastore | |
; - test3::main@24 (line 6) | |
0x00007f996110eda4: mov (%rsp),%r10d | |
0x00007f996110eda8: inc %r10d ;*iinc | |
; - test3::main@25 (line 5) | |
0x00007f996110edab: cmp $0x186a0,%r10d | |
0x00007f996110edb2: jl 0x00007f996110ed20 ;*if_icmpge | |
; - test3::main@11 (line 5) | |
0x00007f996110edb8: xor %r10d,%r10d | |
0x00007f996110edbb: jmp 0x00007f996110edde | |
0x00007f996110edbd: xchg %ax,%ax ;*lload_2 | |
; - test3::main@53 (line 11) | |
0x00007f996110edc0: add %r11,%r10 ;*ladd | |
; - test3::main@62 (line 11) | |
0x00007f996110edc3: inc %ebx ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f996110edc5: cmp $0x186a0,%ebx | |
0x00007f996110edcb: jl 0x00007f996110edc0 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f996110edcd: inc %r9d ;*iinc | |
; - test3::main@70 (line 9) | |
0x00007f996110edd0: cmp $0x186a0,%r9d | |
0x00007f996110edd7: jge 0x00007f996110ee39 ;*if_icmpge | |
; - test3::main@40 (line 9) | |
0x00007f996110edd9: mov %r9d,0x18(%rsp) ;*iconst_0 | |
; - test3::main@43 (line 10) | |
0x00007f996110edde: mov 0x18(%rsp),%r9d | |
0x00007f996110ede3: mov 0x10(%r8,%r9,4),%r11d ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f996110ede8: movslq 0xc(%r11),%r11 ;*i2l ; - test3::main@61 (line 11) | |
; implicit exception: dispatches to 0x00007f996110ee90 | |
0x00007f996110edec: add %r11,%r10 ;*ladd | |
; - test3::main@62 (line 11) | |
0x00007f996110edef: mov $0x1,%ebx ;*lload_2 | |
; - test3::main@53 (line 11) | |
0x00007f996110edf4: add %r11,%r10 | |
0x00007f996110edf7: add %r11,%r10 | |
0x00007f996110edfa: add %r11,%r10 | |
0x00007f996110edfd: add %r11,%r10 | |
0x00007f996110ee00: add %r11,%r10 | |
0x00007f996110ee03: add %r11,%r10 | |
0x00007f996110ee06: add %r11,%r10 | |
0x00007f996110ee09: add %r11,%r10 | |
0x00007f996110ee0c: add %r11,%r10 | |
0x00007f996110ee0f: add %r11,%r10 | |
0x00007f996110ee12: add %r11,%r10 | |
0x00007f996110ee15: add %r11,%r10 | |
0x00007f996110ee18: add %r11,%r10 | |
0x00007f996110ee1b: add %r11,%r10 | |
0x00007f996110ee1e: add %r11,%r10 | |
0x00007f996110ee21: add %r11,%r10 ;*ladd | |
; - test3::main@62 (line 11) | |
0x00007f996110ee24: add $0x10,%ebx ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f996110ee27: cmp $0x18691,%ebx | |
0x00007f996110ee2d: jl 0x00007f996110edf4 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f996110ee2f: cmp $0x186a0,%ebx | |
0x00007f996110ee35: jl 0x00007f996110edc0 | |
0x00007f996110ee37: jmp 0x00007f996110edcd ;*if_icmpge | |
; - test3::main@40 (line 9) | |
0x00007f996110ee39: mov $0x1e,%esi | |
0x00007f996110ee3e: mov %r10,%rbp | |
0x00007f996110ee41: xchg %ax,%ax | |
0x00007f996110ee43: callq 0x00007f9961004ee0 ; OopMap{off=456} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f996110ee48: callq 0x00007f9976a26fb0 ;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f996110ee4d: mov %r11d,0x18(%rsp) | |
0x00007f996110ee52: mov %r8,0x10(%rsp) | |
0x00007f996110ee57: mov %r10d,(%rsp) ;*aload_1 | |
; - test3::main@14 (line 6) | |
0x00007f996110ee5b: mov $0x100060208,%rsi ; {metadata('test3$Node')} | |
0x00007f996110ee65: xchg %ax,%ax | |
0x00007f996110ee67: callq 0x00007f99611016a0 ; OopMap{[16]=Oop off=492} | |
;*new ; - test3::main@16 (line 6) | |
; {runtime_call} | |
0x00007f996110ee6c: jmpq 0x00007f996110ed69 | |
0x00007f996110ee71: mov $0x1000603e8,%rsi ; {metadata('test3$Node'[])} | |
0x00007f996110ee7b: mov $0x186a0,%edx | |
0x00007f996110ee80: xchg %ax,%ax | |
0x00007f996110ee83: callq 0x00007f99611017a0 ; OopMap{off=520} | |
;*anewarray | |
; - test3::main@2 (line 4) | |
; {runtime_call} | |
0x00007f996110ee88: mov %rax,%r8 | |
0x00007f996110ee8b: jmpq 0x00007f996110ecf5 | |
0x00007f996110ee90: mov $0xffffff86,%esi | |
0x00007f996110ee95: mov %r8,%rbp | |
0x00007f996110ee98: mov %r10,(%rsp) | |
0x00007f996110ee9c: xchg %ax,%ax | |
0x00007f996110ee9f: callq 0x00007f9961004ee0 ; OopMap{rbp=Oop off=548} | |
;*lload_2 | |
; - test3::main@53 (line 11) | |
; {runtime_call} | |
0x00007f996110eea4: callq 0x00007f9976a26fb0 ;*anewarray | |
; - test3::main@2 (line 4) | |
; {runtime_call} | |
0x00007f996110eea9: mov %rax,%rsi | |
0x00007f996110eeac: jmp 0x00007f996110eeb6 ;*new | |
; - test3::main@16 (line 6) | |
0x00007f996110eeae: mov %rax,%rsi | |
0x00007f996110eeb1: jmp 0x00007f996110eeb6 ;*invokespecial <init> | |
; - test3::main@21 (line 6) | |
0x00007f996110eeb3: mov %rax,%rsi ;*anewarray | |
; - test3::main@2 (line 4) | |
0x00007f996110eeb6: add $0x40,%rsp | |
0x00007f996110eeba: pop %rbp | |
0x00007f996110eebb: jmpq 0x00007f99611018a0 ; {runtime_call} | |
[Stub Code] | |
0x00007f996110eec0: mov $0x0,%rbx ; {no_reloc} | |
0x00007f996110eeca: jmpq 0x00007f996110eeca ; {runtime_call} | |
[Exception Handler] | |
0x00007f996110eecf: jmpq 0x00007f99610f8e20 ; {runtime_call} | |
[Deopt Handler Code] | |
0x00007f996110eed4: callq 0x00007f996110eed9 | |
0x00007f996110eed9: subq $0x5,(%rsp) | |
0x00007f996110eede: jmpq 0x00007f9961047100 ; {runtime_call} | |
0x00007f996110eee3: hlt | |
0x00007f996110eee4: hlt | |
0x00007f996110eee5: hlt | |
0x00007f996110eee6: hlt | |
0x00007f996110eee7: hlt | |
OopMapSet contains 5 OopMaps | |
#0 | |
OopMap{[8]=Oop [16]=Oop off=252} | |
#1 | |
OopMap{off=456} | |
#2 | |
OopMap{[16]=Oop off=492} | |
#3 | |
OopMap{off=520} | |
#4 | |
OopMap{rbp=Oop off=548} | |
Compiled method (c1) 63 23 % 3 test3::main @ 46 (84 bytes) | |
total in heap [0x00007f9961114fd0,0x00007f9961115df8] = 3624 | |
relocation [0x00007f99611150f8,0x00007f9961115198] = 160 | |
main code [0x00007f99611151a0,0x00007f99611158e0] = 1856 | |
stub code [0x00007f99611158e0,0x00007f9961115988] = 168 | |
oops [0x00007f9961115988,0x00007f9961115990] = 8 | |
metadata [0x00007f9961115990,0x00007f99611159a8] = 24 | |
scopes data [0x00007f99611159a8,0x00007f9961115af8] = 336 | |
scopes pcs [0x00007f9961115af8,0x00007f9961115db8] = 704 | |
dependencies [0x00007f9961115db8,0x00007f9961115dc0] = 8 | |
nul chk table [0x00007f9961115dc0,0x00007f9961115df8] = 56 | |
Decoding compiled method 0x00007f9961114fd0: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3' | |
0x00007f99611151a0: mov %eax,-0x14000(%rsp) | |
0x00007f99611151a7: push %rbp | |
0x00007f99611151a8: sub $0x70,%rsp | |
0x00007f99611151ac: mov $0x7f993fc00878,%rbx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611151b6: mov 0xdc(%rbx),%edx | |
0x00007f99611151bc: add $0x8,%edx | |
0x00007f99611151bf: mov %edx,0xdc(%rbx) | |
0x00007f99611151c5: mov $0x7f993fc00368,%rbx ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611151cf: and $0x1ff8,%edx | |
0x00007f99611151d5: cmp $0x0,%edx | |
0x00007f99611151d8: je 0x00007f9961115753 ;*ldc | |
; - test3::main@0 (line 4) | |
0x00007f99611151de: mov $0x186a0,%ebx | |
0x00007f99611151e3: mov $0x1000603e8,%rdx ; {metadata('test3$Node'[])} | |
0x00007f99611151ed: movslq %ebx,%rbx | |
0x00007f99611151f0: mov %rbx,%rdi | |
0x00007f99611151f3: cmp $0xffffff,%rbx | |
0x00007f99611151fa: ja 0x00007f996111576a | |
0x00007f9961115200: mov $0x17,%rsi | |
0x00007f996111520a: lea (%rsi,%rbx,4),%rsi | |
0x00007f996111520e: and $0xfffffffffffffff8,%rsi | |
0x00007f9961115212: mov 0x60(%r15),%rax | |
0x00007f9961115216: lea (%rax,%rsi,1),%rsi | |
0x00007f996111521a: cmp 0x70(%r15),%rsi | |
0x00007f996111521e: ja 0x00007f996111576a | |
0x00007f9961115224: mov %rsi,0x60(%r15) | |
0x00007f9961115228: sub %rax,%rsi | |
0x00007f996111522b: movq $0x1,(%rax) | |
0x00007f9961115232: mov %rdx,%rcx | |
0x00007f9961115235: shr $0x3,%rcx | |
0x00007f9961115239: mov %ecx,0x8(%rax) | |
0x00007f996111523c: mov %ebx,0xc(%rax) | |
0x00007f996111523f: sub $0x10,%rsi | |
0x00007f9961115243: je 0x00007f996111525a | |
0x00007f9961115249: xor %rbx,%rbx | |
0x00007f996111524c: shr $0x3,%rsi | |
0x00007f9961115250: mov %rbx,0x8(%rax,%rsi,8) | |
0x00007f9961115255: dec %rsi | |
0x00007f9961115258: jne 0x00007f9961115250 | |
0x00007f996111525a: mov %rax,%rbx ;*anewarray | |
; - test3::main@2 (line 4) | |
0x00007f996111525d: mov $0x0,%r8d | |
0x00007f9961115263: jmpq 0x00007f99611154af ;*iload_2 | |
; - test3::main@8 (line 5) | |
0x00007f9961115268: mov $0x100060208,%rdx ; {metadata('test3$Node')} | |
0x00007f9961115272: mov 0x60(%r15),%rax | |
0x00007f9961115276: lea 0x10(%rax),%rdi | |
0x00007f996111527a: cmp 0x70(%r15),%rdi | |
0x00007f996111527e: ja 0x00007f9961115774 | |
0x00007f9961115284: mov %rdi,0x60(%r15) | |
0x00007f9961115288: mov 0xa8(%rdx),%rcx | |
0x00007f996111528f: mov %rcx,(%rax) | |
0x00007f9961115292: mov %rdx,%rcx | |
0x00007f9961115295: shr $0x3,%rcx | |
0x00007f9961115299: mov %ecx,0x8(%rax) | |
0x00007f996111529c: xor %rcx,%rcx | |
0x00007f996111529f: mov %ecx,0xc(%rax) | |
0x00007f99611152a2: xor %rcx,%rcx ;*new ; - test3::main@16 (line 6) | |
0x00007f99611152a5: mov %rax,%rsi | |
0x00007f99611152a8: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611152b2: addq $0x1,0x128(%rdi) | |
0x00007f99611152ba: mov $0x7f993fc00740,%rsi ; {metadata(method data for {method} {0x00007f993fc00660} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f99611152c4: mov 0xdc(%rsi),%edi | |
0x00007f99611152ca: add $0x8,%edi | |
0x00007f99611152cd: mov %edi,0xdc(%rsi) | |
0x00007f99611152d3: mov $0x7f993fc00660,%rsi ; {metadata({method} {0x00007f993fc00660} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f99611152dd: and $0x7ffff8,%edi | |
0x00007f99611152e3: cmp $0x0,%edi | |
0x00007f99611152e6: je 0x00007f9961115781 | |
0x00007f99611152ec: mov %rax,%rsi | |
0x00007f99611152ef: mov $0x7f993fc00740,%rdi ; {metadata(method data for {method} {0x00007f993fc00660} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f99611152f9: addq $0x1,0x108(%rdi) | |
0x00007f9961115301: mov $0x7f993f9741b0,%rsi ; {metadata(method data for {method} {0x00007f993f800480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f996111530b: mov 0xdc(%rsi),%edi | |
0x00007f9961115311: add $0x8,%edi | |
0x00007f9961115314: mov %edi,0xdc(%rsi) | |
0x00007f996111531a: mov $0x7f993f800480,%rsi ; {metadata({method} {0x00007f993f800480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f9961115324: and $0x7ffff8,%edi | |
0x00007f996111532a: cmp $0x0,%edi | |
0x00007f996111532d: je 0x00007f9961115798 | |
0x00007f9961115333: mov %r8d,0xc(%rax) ;*putfield i | |
; - test3$Node::<init>@6 (line 18) | |
; - test3::main@21 (line 6) | |
0x00007f9961115337: movslq %r8d,%rsi | |
0x00007f996111533a: lea 0x10(%rbx,%rsi,4),%rsi | |
0x00007f996111533f: cmp 0xc(%rbx),%r8d | |
0x00007f9961115343: jae 0x00007f99611157af | |
0x00007f9961115349: cmp $0x0,%rax | |
0x00007f996111534d: jne 0x00007f9961115368 | |
0x00007f996111534f: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961115359: orl $0x100,0x130(%rdx) | |
0x00007f9961115363: jmpq 0x00007f996111544c | |
0x00007f9961115368: mov 0x8(%rbx),%edi ; implicit exception: dispatches to 0x00007f99611157b8 | |
0x00007f996111536b: shl $0x3,%rdi | |
0x00007f996111536f: mov 0x8(%rax),%edx | |
0x00007f9961115372: shl $0x3,%rdx | |
0x00007f9961115376: mov 0xe0(%rdi),%rdi | |
0x00007f996111537d: cmp %rdi,%rdx | |
0x00007f9961115380: je 0x00007f99611153ae | |
0x00007f9961115386: mov 0xc(%rdi),%ecx | |
0x00007f9961115389: cmp (%rdx,%rcx,1),%rdi | |
0x00007f996111538d: je 0x00007f99611153ae | |
0x00007f9961115393: cmp $0x18,%ecx | |
0x00007f9961115396: jne 0x00007f9961115435 | |
0x00007f996111539c: push %rdx | |
0x00007f996111539d: push %rdi | |
0x00007f996111539e: callq 0x00007f99610fb960 ; {runtime_call} | |
0x00007f99611153a3: pop %rdx | |
0x00007f99611153a4: pop %rdi | |
0x00007f99611153a5: cmp $0x0,%edi | |
0x00007f99611153a8: je 0x00007f9961115435 | |
0x00007f99611153ae: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611153b8: mov 0x8(%rax),%edi | |
0x00007f99611153bb: shl $0x3,%rdi | |
0x00007f99611153bf: cmp 0x140(%rdx),%rdi | |
0x00007f99611153c6: jne 0x00007f99611153d5 | |
0x00007f99611153c8: addq $0x1,0x148(%rdx) | |
0x00007f99611153d0: jmpq 0x00007f996111544c | |
0x00007f99611153d5: cmp 0x150(%rdx),%rdi | |
0x00007f99611153dc: jne 0x00007f99611153eb | |
0x00007f99611153de: addq $0x1,0x158(%rdx) | |
0x00007f99611153e6: jmpq 0x00007f996111544c | |
0x00007f99611153eb: cmpq $0x0,0x140(%rdx) | |
0x00007f99611153f6: jne 0x00007f996111540f | |
0x00007f99611153f8: mov %rdi,0x140(%rdx) | |
0x00007f99611153ff: movq $0x1,0x148(%rdx) | |
0x00007f996111540a: jmpq 0x00007f996111544c | |
0x00007f996111540f: cmpq $0x0,0x150(%rdx) | |
0x00007f996111541a: jne 0x00007f9961115433 | |
0x00007f996111541c: mov %rdi,0x150(%rdx) | |
0x00007f9961115423: movq $0x1,0x158(%rdx) | |
0x00007f996111542e: jmpq 0x00007f996111544c | |
0x00007f9961115433: jmp 0x00007f996111544c | |
0x00007f9961115435: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996111543f: subq $0x1,0x138(%rdx) | |
0x00007f9961115447: jmpq 0x00007f99611157bd | |
0x00007f996111544c: mov %rax,%r10 | |
0x00007f996111544f: mov %r10d,(%rsi) | |
0x00007f9961115452: shr $0x9,%rsi | |
0x00007f9961115456: mov $0x7f9973d52000,%rdi | |
0x00007f9961115460: movb $0x0,(%rsi,%rdi,1) ;*aastore | |
; - test3::main@24 (line 6) | |
0x00007f9961115464: inc %r8d | |
0x00007f9961115467: mov $0x7f993fc00878,%rsi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961115471: mov 0xe0(%rsi),%edi | |
0x00007f9961115477: add $0x8,%edi | |
0x00007f996111547a: mov %edi,0xe0(%rsi) | |
0x00007f9961115480: mov $0x7f993fc00368,%rsi ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996111548a: and $0xfff8,%edi | |
0x00007f9961115490: cmp $0x0,%edi | |
0x00007f9961115493: je 0x00007f99611157c6 ; OopMap{rbx=Oop off=761} | |
;*goto | |
; - test3::main@28 (line 5) | |
0x00007f9961115499: test %eax,0x16dcec61(%rip) # 0x00007f9977ee4100 | |
; {poll} | |
0x00007f996111549f: mov $0x7f993fc00878,%rsi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611154a9: incl 0x168(%rsi) ;*goto | |
; - test3::main@28 (line 5) | |
0x00007f99611154af: cmp $0x186a0,%r8d | |
0x00007f99611154b6: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611154c0: mov $0x108,%rsi | |
0x00007f99611154ca: jge 0x00007f99611154da | |
0x00007f99611154d0: mov $0x118,%rsi | |
0x00007f99611154da: mov (%rdx,%rsi,1),%rdi | |
0x00007f99611154de: lea 0x1(%rdi),%rdi | |
0x00007f99611154e2: mov %rdi,(%rdx,%rsi,1) | |
0x00007f99611154e6: jl 0x00007f9961115268 ;*if_icmpge | |
; - test3::main@11 (line 5) | |
0x00007f99611154ec: mov $0x0,%esi | |
0x00007f99611154f1: mov $0x0,%rdi | |
0x00007f99611154fb: jmpq 0x00007f99611155fc ;*iload | |
; - test3::main@36 (line 9) | |
0x00007f9961115500: mov $0x0,%eax | |
0x00007f9961115505: jmpq 0x00007f9961115576 ;*iload | |
; - test3::main@46 (line 10) | |
0x00007f996111550a: nopw 0x0(%rax,%rax,1) | |
0x00007f9961115510: movslq %esi,%rdx | |
0x00007f9961115513: cmp 0xc(%rbx),%esi ; implicit exception: dispatches to 0x00007f99611157dd | |
0x00007f9961115516: jae 0x00007f99611157e7 | |
0x00007f996111551c: mov 0x10(%rbx,%rdx,4),%edx ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f9961115520: mov 0xc(%rdx),%edx ;*getfield i | |
; - test3::main@58 (line 11) | |
; implicit exception: dispatches to 0x00007f99611157f0 | |
0x00007f9961115523: movslq %edx,%rdx | |
0x00007f9961115526: add %rdi,%rdx | |
0x00007f9961115529: inc %eax | |
0x00007f996111552b: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961115535: mov 0xe0(%rdi),%ecx | |
0x00007f996111553b: add $0x8,%ecx | |
0x00007f996111553e: mov %ecx,0xe0(%rdi) | |
0x00007f9961115544: mov $0x7f993fc00368,%rdi ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996111554e: and $0xfff8,%ecx | |
0x00007f9961115554: cmp $0x0,%ecx | |
0x00007f9961115557: je 0x00007f99611157f5 ; OopMap{rbx=Oop off=957} | |
;*goto | |
; - test3::main@67 (line 10) | |
0x00007f996111555d: test %eax,0x16dceb9d(%rip) # 0x00007f9977ee4100 | |
; {poll} | |
0x00007f9961115563: mov $0x7f993fc00878,%rdi ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996111556d: incl 0x1c0(%rdi) | |
0x00007f9961115573: mov %rdx,%rdi ;*goto | |
; - test3::main@67 (line 10) | |
0x00007f9961115576: cmp $0x186a0,%eax | |
0x00007f996111557c: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f9961115586: mov $0x1a0,%rcx | |
0x00007f9961115590: jge 0x00007f99611155a0 | |
0x00007f9961115596: mov $0x1b0,%rcx | |
0x00007f99611155a0: mov (%rdx,%rcx,1),%r8 | |
0x00007f99611155a4: lea 0x1(%r8),%r8 | |
0x00007f99611155a8: mov %r8,(%rdx,%rcx,1) | |
0x00007f99611155ac: jl 0x00007f9961115510 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f99611155b2: inc %esi | |
0x00007f99611155b4: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611155be: mov 0xe0(%rdx),%eax | |
0x00007f99611155c4: add $0x8,%eax | |
0x00007f99611155c7: mov %eax,0xe0(%rdx) | |
0x00007f99611155cd: mov $0x7f993fc00368,%rdx ; {metadata({method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611155d7: and $0xfff8,%eax | |
0x00007f99611155dd: cmp $0x0,%eax | |
0x00007f99611155e0: je 0x00007f996111580c ; OopMap{rbx=Oop off=1094} | |
;*goto | |
; - test3::main@73 (line 9) | |
0x00007f99611155e6: test %eax,0x16dceb14(%rip) # 0x00007f9977ee4100 | |
; {poll} | |
0x00007f99611155ec: mov $0x7f993fc00878,%rdx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f99611155f6: incl 0x1d8(%rdx) ;*goto | |
; - test3::main@73 (line 9) | |
0x00007f99611155fc: cmp $0x186a0,%esi | |
0x00007f9961115602: mov $0x7f993fc00878,%rax ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996111560c: mov $0x180,%rdx | |
0x00007f9961115616: jge 0x00007f9961115626 | |
0x00007f996111561c: mov $0x190,%rdx | |
0x00007f9961115626: mov (%rax,%rdx,1),%rcx | |
0x00007f996111562a: lea 0x1(%rcx),%rcx | |
0x00007f996111562e: mov %rcx,(%rax,%rdx,1) | |
0x00007f9961115632: jl 0x00007f9961115500 ;*if_icmpge | |
; - test3::main@40 (line 9) | |
0x00007f9961115638: jmpq 0x00007f9961115878 ; {no_reloc} | |
0x00007f996111563d: add %al,(%rax) | |
0x00007f996111563f: add %al,(%rax) | |
0x00007f9961115641: add %ah,0xf(%rsi) | |
0x00007f9961115644: (bad) | |
0x00007f9961115645: add %r8b,(%rax) | |
0x00007f9961115648: jmpq 0x00007f9961115892 ; implicit exception: dispatches to 0x00007f9961115882 | |
0x00007f996111564d: nop ;*getstatic out | |
; - test3::main@76 (line 14) | |
0x00007f996111564e: cmp (%rsi),%rax ; implicit exception: dispatches to 0x00007f996111589c | |
0x00007f9961115651: mov %rsi,%rdx | |
0x00007f9961115654: mov $0x7f993fc00878,%rbx ; {metadata(method data for {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f996111565e: mov 0x8(%rdx),%edx | |
0x00007f9961115661: shl $0x3,%rdx | |
0x00007f9961115665: cmp 0x1f8(%rbx),%rdx | |
0x00007f996111566c: jne 0x00007f996111567b | |
0x00007f996111566e: addq $0x1,0x200(%rbx) | |
0x00007f9961115676: jmpq 0x00007f99611156e1 | |
0x00007f996111567b: cmp 0x208(%rbx),%rdx | |
0x00007f9961115682: jne 0x00007f9961115691 | |
0x00007f9961115684: addq $0x1,0x210(%rbx) | |
0x00007f996111568c: jmpq 0x00007f99611156e1 | |
0x00007f9961115691: cmpq $0x0,0x1f8(%rbx) | |
0x00007f996111569c: jne 0x00007f99611156b5 | |
0x00007f996111569e: mov %rdx,0x1f8(%rbx) | |
0x00007f99611156a5: movq $0x1,0x200(%rbx) | |
0x00007f99611156b0: jmpq 0x00007f99611156e1 | |
0x00007f99611156b5: cmpq $0x0,0x208(%rbx) | |
0x00007f99611156c0: jne 0x00007f99611156d9 | |
0x00007f99611156c2: mov %rdx,0x208(%rbx) | |
0x00007f99611156c9: movq $0x1,0x210(%rbx) | |
0x00007f99611156d4: jmpq 0x00007f99611156e1 | |
0x00007f99611156d9: addq $0x1,0x1f0(%rbx) | |
0x00007f99611156e1: mov %rdi,%rdx ;*invokevirtual println | |
; - test3::main@80 (line 14) | |
0x00007f99611156e4: nop | |
0x00007f99611156e5: mov $0xffffffffffffffff,%rax | |
0x00007f99611156ef: callq 0x00007f9961045f60 ; OopMap{off=1364} | |
;*invokevirtual println | |
; - test3::main@80 (line 14) | |
; {virtual_call} | |
0x00007f99611156f4: add $0x70,%rsp | |
0x00007f99611156f8: pop %rbp | |
0x00007f99611156f9: test %eax,0x16dcea01(%rip) # 0x00007f9977ee4100 | |
; {poll_return} | |
0x00007f99611156ff: retq ;*return | |
; - test3::main@83 (line 15) | |
0x00007f9961115700: mov %eax,-0x14000(%rsp) | |
0x00007f9961115707: push %rbp | |
0x00007f9961115708: sub $0x70,%rsp | |
0x00007f996111570c: mov 0x20(%rsi),%rbx | |
0x00007f9961115710: mov 0x10(%rsi),%rax | |
0x00007f9961115714: mov 0x8(%rsi),%edx | |
0x00007f9961115717: mov (%rsi),%ecx | |
0x00007f9961115719: mov %rsi,%rdi | |
0x00007f996111571c: mov %rbx,0x60(%rsp) | |
0x00007f9961115721: mov %rax,0x58(%rsp) | |
0x00007f9961115726: mov %edx,0x54(%rsp) | |
0x00007f996111572a: mov %ecx,0x50(%rsp) | |
0x00007f996111572e: callq 0x00007f9976ad0ea0 ; {runtime_call} | |
0x00007f9961115733: mov 0x50(%rsp),%ecx | |
0x00007f9961115737: mov %rcx,%rax | |
0x00007f996111573a: mov 0x54(%rsp),%edx | |
0x00007f996111573e: mov %rdx,%rsi | |
0x00007f9961115741: mov 0x58(%rsp),%rdx | |
0x00007f9961115746: mov %rdx,%rdi | |
0x00007f9961115749: mov 0x60(%rsp),%rbx | |
0x00007f996111574e: jmpq 0x00007f9961115576 | |
0x00007f9961115753: mov %rbx,0x8(%rsp) | |
0x00007f9961115758: movq $0xffffffffffffffff,(%rsp) | |
0x00007f9961115760: callq 0x00007f99610fd820 ; OopMap{rsi=Oop off=1477} | |
;*synchronization entry | |
; - test3::main@-1 (line 4) | |
; {runtime_call} | |
0x00007f9961115765: jmpq 0x00007f99611151de | |
0x00007f996111576a: callq 0x00007f99610fa860 ; OopMap{off=1487} | |
;*anewarray | |
; - test3::main@2 (line 4) | |
; {runtime_call} | |
0x00007f996111576f: jmpq 0x00007f996111525a | |
0x00007f9961115774: mov %rdx,%rdx | |
0x00007f9961115777: callq 0x00007f99610f9b20 ; OopMap{rbx=Oop off=1500} | |
;*new ; - test3::main@16 (line 6) | |
; {runtime_call} | |
0x00007f996111577c: jmpq 0x00007f99611152a5 | |
0x00007f9961115781: mov %rsi,0x8(%rsp) | |
0x00007f9961115786: movq $0xffffffffffffffff,(%rsp) | |
0x00007f996111578e: callq 0x00007f99610fd820 ; OopMap{rbx=Oop rax=Oop off=1523} | |
;*synchronization entry | |
; - test3$Node::<init>@-1 (line 18) | |
; - test3::main@21 (line 6) | |
; {runtime_call} | |
0x00007f9961115793: jmpq 0x00007f99611152ec | |
0x00007f9961115798: mov %rsi,0x8(%rsp) | |
0x00007f996111579d: movq $0xffffffffffffffff,(%rsp) | |
0x00007f99611157a5: callq 0x00007f99610fd820 ; OopMap{rbx=Oop rax=Oop off=1546} | |
;*synchronization entry | |
; - java.lang.Object::<init>@-1 (line 37) | |
; - test3$Node::<init>@1 (line 18) | |
; - test3::main@21 (line 6) | |
; {runtime_call} | |
0x00007f99611157aa: jmpq 0x00007f9961115333 | |
0x00007f99611157af: mov %r8,(%rsp) | |
0x00007f99611157b3: callq 0x00007f99610f86c0 ; OopMap{rbx=Oop rax=Oop off=1560} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f99611157b8: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop rax=Oop off=1565} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f99611157bd: mov %rax,(%rsp) | |
0x00007f99611157c1: callq 0x00007f99610fb2c0 ; OopMap{rbx=Oop rax=Oop off=1574} | |
;*aastore | |
; - test3::main@24 (line 6) | |
; {runtime_call} | |
0x00007f99611157c6: mov %rsi,0x8(%rsp) | |
0x00007f99611157cb: movq $0x1c,(%rsp) | |
0x00007f99611157d3: callq 0x00007f99610fd820 ; OopMap{rbx=Oop off=1592} | |
;*goto | |
; - test3::main@28 (line 5) | |
; {runtime_call} | |
0x00007f99611157d8: jmpq 0x00007f9961115499 | |
0x00007f99611157dd: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop off=1602} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f99611157e2: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop off=1607} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f99611157e7: mov %rsi,(%rsp) | |
0x00007f99611157eb: callq 0x00007f99610f86c0 ; OopMap{rbx=Oop off=1616} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f99611157f0: callq 0x00007f99610f93c0 ; OopMap{rbx=Oop off=1621} | |
;*getfield i | |
; - test3::main@58 (line 11) | |
; {runtime_call} | |
0x00007f99611157f5: mov %rdi,0x8(%rsp) | |
0x00007f99611157fa: movq $0x43,(%rsp) | |
0x00007f9961115802: callq 0x00007f99610fd820 ; OopMap{rbx=Oop off=1639} | |
;*goto | |
; - test3::main@67 (line 10) | |
; {runtime_call} | |
0x00007f9961115807: jmpq 0x00007f996111555d | |
0x00007f996111580c: mov %rdx,0x8(%rsp) | |
0x00007f9961115811: movq $0x49,(%rsp) | |
0x00007f9961115819: callq 0x00007f99610fd820 ; OopMap{rbx=Oop off=1662} | |
;*goto | |
; - test3::main@73 (line 9) | |
; {runtime_call} | |
0x00007f996111581e: jmpq 0x00007f99611155e6 | |
0x00007f9961115823: mov $0x0,%rdx ; {oop(NULL)} | |
0x00007f996111582d: push %rax | |
0x00007f996111582e: push %rbx | |
0x00007f996111582f: mov 0x48(%rdx),%rbx | |
0x00007f9961115833: push %rdi | |
0x00007f9961115834: push %rsi | |
0x00007f9961115835: push %rdx | |
0x00007f9961115836: push %rcx | |
0x00007f9961115837: push %r8 | |
0x00007f9961115839: push %r9 | |
0x00007f996111583b: push %r10 | |
0x00007f996111583d: mov %rsp,%r10 | |
0x00007f9961115840: and $0xfffffffffffffff0,%rsp | |
0x00007f9961115844: push %r10 | |
0x00007f9961115846: push %r11 | |
0x00007f9961115848: mov $0x1,%edi | |
0x00007f996111584d: callq 0x00007f99770c33e0 ; {runtime_call} | |
0x00007f9961115852: pop %r11 | |
0x00007f9961115854: pop %rsp | |
0x00007f9961115855: pop %r10 | |
0x00007f9961115857: pop %r9 | |
0x00007f9961115859: pop %r8 | |
0x00007f996111585b: pop %rcx | |
0x00007f996111585c: pop %rdx | |
0x00007f996111585d: pop %rsi | |
0x00007f996111585e: pop %rdi | |
0x00007f996111585f: cmp 0x108(%rbx),%rax | |
0x00007f9961115866: pop %rbx | |
0x00007f9961115867: pop %rax | |
0x00007f9961115868: jne 0x00007f9961115878 | |
0x00007f996111586e: jmpq 0x00007f9961115642 | |
0x00007f9961115873: mov $0xa4b5500,%eax | |
0x00007f9961115878: callq 0x00007f99610fcc20 ; OopMap{off=1757} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f996111587d: jmpq 0x00007f9961115638 | |
0x00007f9961115882: callq 0x00007f99610f93c0 ; OopMap{rdx=Oop off=1767} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f9961115887: mov 0x0(%rdx),%esi | |
0x00007f996111588d: mov $0x6050b00,%eax | |
0x00007f9961115892: callq 0x00007f99610fc420 ; OopMap{rdx=Oop off=1783} | |
;*getstatic out | |
; - test3::main@76 (line 14) | |
; {runtime_call} | |
0x00007f9961115897: jmpq 0x00007f9961115648 | |
0x00007f996111589c: callq 0x00007f99610f93c0 ; OopMap{rsi=Oop off=1793} | |
;*invokevirtual println | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f99611158a1: nop | |
0x00007f99611158a2: nop | |
0x00007f99611158a3: mov 0x290(%r15),%rax | |
0x00007f99611158aa: mov $0x0,%r10 | |
0x00007f99611158b4: mov %r10,0x290(%r15) | |
0x00007f99611158bb: mov $0x0,%r10 | |
0x00007f99611158c5: mov %r10,0x298(%r15) | |
0x00007f99611158cc: add $0x70,%rsp | |
0x00007f99611158d0: pop %rbp | |
0x00007f99611158d1: jmpq 0x00007f99610f8b60 ; {runtime_call} | |
0x00007f99611158d6: hlt | |
0x00007f99611158d7: hlt | |
0x00007f99611158d8: hlt | |
0x00007f99611158d9: hlt | |
0x00007f99611158da: hlt | |
0x00007f99611158db: hlt | |
0x00007f99611158dc: hlt | |
0x00007f99611158dd: hlt | |
0x00007f99611158de: hlt | |
0x00007f99611158df: hlt | |
[Stub Code] | |
0x00007f99611158e0: nop ; {no_reloc} | |
0x00007f99611158e1: nop | |
0x00007f99611158e2: nop | |
0x00007f99611158e3: nop | |
0x00007f99611158e4: nop | |
0x00007f99611158e5: mov $0x0,%rbx ; {static_stub} | |
0x00007f99611158ef: jmpq 0x00007f99611158ef ; {runtime_call} | |
[Exception Handler] | |
0x00007f99611158f4: callq 0x00007f99610fb1a0 ; {runtime_call} | |
0x00007f99611158f9: mov %rsp,-0x28(%rsp) | |
0x00007f99611158fe: sub $0x80,%rsp | |
0x00007f9961115905: mov %rax,0x78(%rsp) | |
0x00007f996111590a: mov %rcx,0x70(%rsp) | |
0x00007f996111590f: mov %rdx,0x68(%rsp) | |
0x00007f9961115914: mov %rbx,0x60(%rsp) | |
0x00007f9961115919: mov %rbp,0x50(%rsp) | |
0x00007f996111591e: mov %rsi,0x48(%rsp) | |
0x00007f9961115923: mov %rdi,0x40(%rsp) | |
0x00007f9961115928: mov %r8,0x38(%rsp) | |
0x00007f996111592d: mov %r9,0x30(%rsp) | |
0x00007f9961115932: mov %r10,0x28(%rsp) | |
0x00007f9961115937: mov %r11,0x20(%rsp) | |
0x00007f996111593c: mov %r12,0x18(%rsp) | |
0x00007f9961115941: mov %r13,0x10(%rsp) | |
0x00007f9961115946: mov %r14,0x8(%rsp) | |
0x00007f996111594b: mov %r15,(%rsp) | |
0x00007f996111594f: mov $0x7f9976bf1fbe,%rdi ; {external_word} | |
0x00007f9961115959: mov $0x7f99611158f9,%rsi ; {internal_word} | |
0x00007f9961115963: mov %rsp,%rdx | |
0x00007f9961115966: and $0xfffffffffffffff0,%rsp | |
0x00007f996111596a: callq 0x00007f99769510b0 ; {runtime_call} | |
0x00007f996111596f: hlt | |
[Deopt Handler Code] | |
0x00007f9961115970: mov $0x7f9961115970,%r10 ; {section_word} | |
0x00007f996111597a: push %r10 | |
0x00007f996111597c: jmpq 0x00007f9961047100 ; {runtime_call} | |
0x00007f9961115981: hlt | |
0x00007f9961115982: hlt | |
0x00007f9961115983: hlt | |
0x00007f9961115984: hlt | |
0x00007f9961115985: hlt | |
0x00007f9961115986: hlt | |
0x00007f9961115987: hlt | |
OopMapSet contains 23 OopMaps | |
#0 | |
OopMap{rbx=Oop off=761} | |
#1 | |
OopMap{rbx=Oop off=957} | |
#2 | |
OopMap{rbx=Oop off=1094} | |
#3 | |
OopMap{off=1364} | |
#4 | |
OopMap{rsi=Oop off=1477} | |
#5 | |
OopMap{off=1487} | |
#6 | |
OopMap{rbx=Oop off=1500} | |
#7 | |
OopMap{rbx=Oop rax=Oop off=1523} | |
#8 | |
OopMap{rbx=Oop rax=Oop off=1546} | |
#9 | |
OopMap{rbx=Oop rax=Oop off=1560} | |
#10 | |
OopMap{rbx=Oop rax=Oop off=1565} | |
#11 | |
OopMap{rbx=Oop rax=Oop off=1574} | |
#12 | |
OopMap{rbx=Oop off=1592} | |
#13 | |
OopMap{rbx=Oop off=1602} | |
#14 | |
OopMap{rbx=Oop off=1607} | |
#15 | |
OopMap{rbx=Oop off=1616} | |
#16 | |
OopMap{rbx=Oop off=1621} | |
#17 | |
OopMap{rbx=Oop off=1639} | |
#18 | |
OopMap{rbx=Oop off=1662} | |
#19 | |
OopMap{off=1757} | |
#20 | |
OopMap{rdx=Oop off=1767} | |
#21 | |
OopMap{rdx=Oop off=1783} | |
#22 | |
OopMap{rsi=Oop off=1793} | |
Compiled method (c2) 145 24 % 4 test3::main @ 46 (84 bytes) | |
total in heap [0x00007f9961111ad0,0x00007f9961112188] = 1720 | |
relocation [0x00007f9961111bf8,0x00007f9961111c18] = 32 | |
main code [0x00007f9961111c20,0x00007f9961111e00] = 480 | |
stub code [0x00007f9961111e00,0x00007f9961111e18] = 24 | |
oops [0x00007f9961111e18,0x00007f9961111e20] = 8 | |
metadata [0x00007f9961111e20,0x00007f9961111e38] = 24 | |
scopes data [0x00007f9961111e38,0x00007f9961111ee8] = 176 | |
scopes pcs [0x00007f9961111ee8,0x00007f9961112128] = 576 | |
dependencies [0x00007f9961112128,0x00007f9961112130] = 8 | |
nul chk table [0x00007f9961112130,0x00007f9961112188] = 88 | |
Decoding compiled method 0x00007f9961111ad0: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f993fc00368} 'main' '([Ljava/lang/String;)V' in 'test3' | |
0x00007f9961111c20: callq 0x00007f9976a26fb0 ; {runtime_call} | |
0x00007f9961111c25: nopw 0x0(%rax,%rax,1) | |
0x00007f9961111c30: mov %eax,-0x14000(%rsp) | |
0x00007f9961111c37: push %rbp | |
0x00007f9961111c38: sub $0x30,%rsp | |
0x00007f9961111c3c: mov (%rsi),%r13d | |
0x00007f9961111c3f: mov 0x20(%rsi),%rbx | |
0x00007f9961111c43: mov 0x10(%rsi),%r14 | |
0x00007f9961111c47: mov 0x8(%rsi),%ebp | |
0x00007f9961111c4a: mov %rsi,%rdi | |
0x00007f9961111c4d: mov $0x7f9976ad0ea0,%r10 | |
0x00007f9961111c57: callq *%r10 | |
0x00007f9961111c5a: test %rbx,%rbx | |
0x00007f9961111c5d: je 0x00007f9961111d6e | |
0x00007f9961111c63: mov 0x8(%rbx),%r10d | |
0x00007f9961111c67: cmp $0x2000c07d,%r10d ; {metadata('test3$Node'[])} | |
0x00007f9961111c6e: jne 0x00007f9961111db5 ;*iload | |
; - test3::main@46 (line 10) | |
0x00007f9961111c74: mov %rbx,%rax | |
0x00007f9961111c77: add $0xc,%rax | |
0x00007f9961111c7b: jmpq 0x00007f9961111d30 | |
0x00007f9961111c80: mov %rdx,%r14 | |
0x00007f9961111c83: mov 0x10(%rbx,%rbp,4),%r11d ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f9961111c88: mov 0xc(%r11),%r8d ;*getfield i | |
; - test3::main@58 (line 11) | |
; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111c8c: mov 0x10(%rbx,%rbp,4),%r10d ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f9961111c91: mov 0xc(%r10),%r11d ;*getfield i | |
; - test3::main@58 (line 11) | |
; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111c95: mov 0x10(%rbx,%rbp,4),%r9d ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f9961111c9a: mov 0xc(%r9),%ecx ;*getfield i | |
; - test3::main@58 (line 11) | |
; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111c9e: mov 0x10(%rbx,%rbp,4),%r10d ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f9961111ca3: mov 0xc(%r10),%r9d ;*getfield i | |
; - test3::main@58 (line 11) | |
; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111ca7: mov 0x10(%rbx,%rbp,4),%edi | |
0x00007f9961111cab: movslq 0xc(%rdi),%rdi ; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111caf: mov 0x10(%rbx,%rbp,4),%r10d | |
0x00007f9961111cb4: movslq 0xc(%r10),%rsi ; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111cb8: mov 0x10(%rbx,%rbp,4),%r10d | |
0x00007f9961111cbd: movslq 0xc(%r10),%r10 ; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111cc1: mov 0x10(%rbx,%rbp,4),%edx ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f9961111cc5: movslq 0xc(%rdx),%rdx ; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111cc9: movslq %r9d,%r9 | |
0x00007f9961111ccc: movslq %ecx,%rcx | |
0x00007f9961111ccf: movslq %r8d,%r8 | |
0x00007f9961111cd2: add %r14,%r8 | |
0x00007f9961111cd5: movslq %r11d,%r11 | |
0x00007f9961111cd8: add %r8,%r11 | |
0x00007f9961111cdb: add %r11,%rcx | |
0x00007f9961111cde: add %rcx,%r9 | |
0x00007f9961111ce1: add %r9,%rdi | |
0x00007f9961111ce4: add %rdi,%rsi | |
0x00007f9961111ce7: add %rsi,%r10 | |
0x00007f9961111cea: add %r10,%rdx ;*ladd | |
; - test3::main@62 (line 11) | |
0x00007f9961111ced: add $0x8,%r13d ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f9961111cf1: cmp $0x18699,%r13d | |
0x00007f9961111cf8: jl 0x00007f9961111c80 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f9961111cfa: cmp $0x186a0,%r13d | |
0x00007f9961111d01: jge 0x00007f9961111d1c | |
0x00007f9961111d03: nop | |
0x00007f9961111d04: mov 0x10(%rbx,%rbp,4),%r11d ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f9961111d09: movslq 0xc(%r11),%r10 ; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111d0d: add %r10,%rdx ;*ladd | |
; - test3::main@62 (line 11) | |
0x00007f9961111d10: inc %r13d ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f9961111d13: cmp $0x186a0,%r13d | |
0x00007f9961111d1a: jl 0x00007f9961111d04 ;*iload | |
; - test3::main@46 (line 10) | |
0x00007f9961111d1c: inc %ebp ;*iinc | |
; - test3::main@70 (line 9) | |
0x00007f9961111d1e: cmp $0x186a0,%ebp | |
0x00007f9961111d24: jge 0x00007f9961111dd5 ;*if_icmpge | |
; - test3::main@40 (line 9) | |
0x00007f9961111d2a: mov %rdx,%r14 | |
0x00007f9961111d2d: xor %r13d,%r13d ;*iload | |
; - test3::main@46 (line 10) | |
0x00007f9961111d30: cmp $0x186a0,%r13d | |
0x00007f9961111d37: jge 0x00007f9961111d77 ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f9961111d39: mov %r13d,%r11d | |
0x00007f9961111d3c: inc %r11d | |
0x00007f9961111d3f: test %rbx,%rbx | |
0x00007f9961111d42: je 0x00007f9961111d7c | |
0x00007f9961111d44: mov (%rax),%r10d | |
0x00007f9961111d47: cmp %r10d,%ebp | |
0x00007f9961111d4a: jae 0x00007f9961111d8d | |
0x00007f9961111d4c: mov 0x10(%rbx,%rbp,4),%r10d ;*aaload | |
; - test3::main@57 (line 11) | |
0x00007f9961111d51: movslq 0xc(%r10),%r10 ; implicit exception: dispatches to 0x00007f9961111ded | |
0x00007f9961111d55: add %r10,%r14 ;*ladd | |
; - test3::main@62 (line 11) | |
0x00007f9961111d58: inc %r13d ;*iinc | |
; - test3::main@64 (line 10) | |
0x00007f9961111d5b: cmp %r11d,%r13d | |
0x00007f9961111d5e: jl 0x00007f9961111d3f ;*if_icmpge | |
; - test3::main@50 (line 10) | |
0x00007f9961111d60: cmp $0x18699,%r13d | |
0x00007f9961111d67: jge 0x00007f9961111dad | |
0x00007f9961111d69: jmpq 0x00007f9961111c83 | |
0x00007f9961111d6e: mov $0xc,%eax | |
0x00007f9961111d73: xor %ebx,%ebx | |
0x00007f9961111d75: jmp 0x00007f9961111d30 | |
0x00007f9961111d77: mov %r14,%rdx | |
0x00007f9961111d7a: jmp 0x00007f9961111d1c | |
0x00007f9961111d7c: mov $0xfffffff6,%esi | |
0x00007f9961111d81: xchg %ax,%ax | |
0x00007f9961111d83: callq 0x00007f9961004ee0 ; OopMap{off=360} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f9961111d88: callq 0x00007f9976a26fb0 ; {runtime_call} | |
0x00007f9961111d8d: mov $0xffffffe4,%esi | |
0x00007f9961111d92: mov %r13d,0x8(%rsp) | |
0x00007f9961111d97: mov %r14,0x10(%rsp) | |
0x00007f9961111d9c: mov %rbx,0x18(%rsp) | |
0x00007f9961111da1: xchg %ax,%ax | |
0x00007f9961111da3: callq 0x00007f9961004ee0 ; OopMap{[24]=Oop off=392} | |
;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f9961111da8: callq 0x00007f9976a26fb0 ;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f9961111dad: mov %r14,%rdx | |
0x00007f9961111db0: jmpq 0x00007f9961111cfa | |
0x00007f9961111db5: mov $0xffffff9d,%esi | |
0x00007f9961111dba: mov %rbx,(%rsp) | |
0x00007f9961111dbe: mov %r14,0x8(%rsp) | |
0x00007f9961111dc3: mov %r13d,0x10(%rsp) | |
0x00007f9961111dc8: xchg %ax,%ax | |
0x00007f9961111dcb: callq 0x00007f9961004ee0 ; OopMap{[0]=Oop off=432} | |
;*iload | |
; - test3::main@46 (line 10) | |
; {runtime_call} | |
0x00007f9961111dd0: callq 0x00007f9976a26fb0 ;*if_icmpge | |
; - test3::main@40 (line 9) | |
; {runtime_call} | |
0x00007f9961111dd5: mov $0xffffff65,%esi | |
0x00007f9961111dda: mov %rbx,(%rsp) | |
0x00007f9961111dde: mov %rdx,0x8(%rsp) | |
0x00007f9961111de3: callq 0x00007f9961004ee0 ; OopMap{[0]=Oop off=456} | |
;*if_icmpge | |
; - test3::main@40 (line 9) | |
; {runtime_call} | |
0x00007f9961111de8: callq 0x00007f9976a26fb0 ;*getfield i | |
; - test3::main@58 (line 11) | |
; {runtime_call} | |
0x00007f9961111ded: mov $0xfffffff6,%esi | |
0x00007f9961111df2: nop | |
0x00007f9961111df3: callq 0x00007f9961004ee0 ; OopMap{off=472} | |
;*getfield i | |
; - test3::main@58 (line 11) | |
; {runtime_call} | |
0x00007f9961111df8: callq 0x00007f9976a26fb0 ;*aaload | |
; - test3::main@57 (line 11) | |
; {runtime_call} | |
0x00007f9961111dfd: hlt | |
0x00007f9961111dfe: hlt | |
0x00007f9961111dff: hlt | |
[Exception Handler] | |
[Stub Code] | |
0x00007f9961111e00: jmpq 0x00007f99610f8e20 ; {no_reloc} | |
[Deopt Handler Code] | |
0x00007f9961111e05: callq 0x00007f9961111e0a | |
0x00007f9961111e0a: subq $0x5,(%rsp) | |
0x00007f9961111e0f: jmpq 0x00007f9961047100 ; {runtime_call} | |
0x00007f9961111e14: hlt | |
0x00007f9961111e15: hlt | |
0x00007f9961111e16: hlt | |
0x00007f9961111e17: hlt | |
OopMapSet contains 5 OopMaps | |
#0 | |
OopMap{off=360} | |
#1 | |
OopMap{[24]=Oop off=392} | |
#2 | |
OopMap{[0]=Oop off=432} | |
#3 | |
OopMap{[0]=Oop off=456} | |
#4 | |
OopMap{off=472} | |
499995000000000 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ java -XX:+UnlockDiagnosticVMOptions '-XX:CompileCommand=print,*test3.main' test3 | |
CompilerOracle: print *test3.main | |
OpenJDK 64-Bit Server VM warning: printing of assembly code is enabled; turning on DebugNonSafepoints to gain additional output | |
Compiled method (c1) 39 19 % 3 test3::main @ 9 (88 bytes) | |
total in heap [0x00007f53c5110690,0x00007f53c5111520] = 3728 | |
relocation [0x00007f53c51107b8,0x00007f53c5110860] = 168 | |
main code [0x00007f53c5110860,0x00007f53c5110fc0] = 1888 | |
stub code [0x00007f53c5110fc0,0x00007f53c5111068] = 168 | |
oops [0x00007f53c5111068,0x00007f53c5111070] = 8 | |
metadata [0x00007f53c5111070,0x00007f53c5111088] = 24 | |
scopes data [0x00007f53c5111088,0x00007f53c51111e0] = 344 | |
scopes pcs [0x00007f53c51111e0,0x00007f53c51114d0] = 752 | |
dependencies [0x00007f53c51114d0,0x00007f53c51114d8] = 8 | |
nul chk table [0x00007f53c51114d8,0x00007f53c5111520] = 72 | |
Loaded disassembler from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/hsdis-amd64.so | |
Decoding compiled method 0x00007f53c5110690: | |
Code: | |
[Disassembling for mach='i386:x86-64'] | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3' | |
0x00007f53c5110860: mov %eax,-0x14000(%rsp) | |
0x00007f53c5110867: push %rbp | |
0x00007f53c5110868: sub $0x70,%rsp | |
0x00007f53c511086c: mov $0x7f53d8a94968,%rbx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110876: mov 0xdc(%rbx),%edx | |
0x00007f53c511087c: add $0x8,%edx | |
0x00007f53c511087f: mov %edx,0xdc(%rbx) | |
0x00007f53c5110885: mov $0x7f53d8a94388,%rbx ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c511088f: and $0x1ff8,%edx | |
0x00007f53c5110895: cmp $0x0,%edx | |
0x00007f53c5110898: je 0x00007f53c5110e15 | |
0x00007f53c511089e: mov $0xd6fe0408,%rbx ; {oop(a 'java/lang/Class' = 'test3')} | |
0x00007f53c51108a8: mov 0x68(%rbx),%ebx ;*getstatic MAX | |
; - test3::main@0 (line 4) | |
0x00007f53c51108ab: mov $0x1000603e8,%rdx ; {metadata('test3$Node'[])} | |
0x00007f53c51108b5: movslq %ebx,%rbx | |
0x00007f53c51108b8: mov %rbx,%rdi | |
0x00007f53c51108bb: cmp $0xffffff,%rbx | |
0x00007f53c51108c2: ja 0x00007f53c5110e2c | |
0x00007f53c51108c8: mov $0x17,%rsi | |
0x00007f53c51108d2: lea (%rsi,%rbx,4),%rsi | |
0x00007f53c51108d6: and $0xfffffffffffffff8,%rsi | |
0x00007f53c51108da: mov 0x60(%r15),%rax | |
0x00007f53c51108de: lea (%rax,%rsi,1),%rsi | |
0x00007f53c51108e2: cmp 0x70(%r15),%rsi | |
0x00007f53c51108e6: ja 0x00007f53c5110e2c | |
0x00007f53c51108ec: mov %rsi,0x60(%r15) | |
0x00007f53c51108f0: sub %rax,%rsi | |
0x00007f53c51108f3: movq $0x1,(%rax) | |
0x00007f53c51108fa: mov %rdx,%rcx | |
0x00007f53c51108fd: shr $0x3,%rcx | |
0x00007f53c5110901: mov %ecx,0x8(%rax) | |
0x00007f53c5110904: mov %ebx,0xc(%rax) | |
0x00007f53c5110907: sub $0x10,%rsi | |
0x00007f53c511090b: je 0x00007f53c5110922 | |
0x00007f53c5110911: xor %rbx,%rbx | |
0x00007f53c5110914: shr $0x3,%rsi | |
0x00007f53c5110918: mov %rbx,0x8(%rax,%rsi,8) | |
0x00007f53c511091d: dec %rsi | |
0x00007f53c5110920: jne 0x00007f53c5110918 ;*anewarray | |
; - test3::main@3 (line 4) | |
0x00007f53c5110922: mov %rax,%rbx | |
0x00007f53c5110925: mov $0x0,%r8d | |
0x00007f53c511092b: jmpq 0x00007f53c5110b77 ;*iload_2 | |
; - test3::main@9 (line 5) | |
0x00007f53c5110930: mov $0x100060208,%rdx ; {metadata('test3$Node')} | |
0x00007f53c511093a: mov 0x60(%r15),%rax | |
0x00007f53c511093e: lea 0x10(%rax),%rdi | |
0x00007f53c5110942: cmp 0x70(%r15),%rdi | |
0x00007f53c5110946: ja 0x00007f53c5110e36 | |
0x00007f53c511094c: mov %rdi,0x60(%r15) | |
0x00007f53c5110950: mov 0xa8(%rdx),%rcx | |
0x00007f53c5110957: mov %rcx,(%rax) | |
0x00007f53c511095a: mov %rdx,%rcx | |
0x00007f53c511095d: shr $0x3,%rcx | |
0x00007f53c5110961: mov %ecx,0x8(%rax) | |
0x00007f53c5110964: xor %rcx,%rcx | |
0x00007f53c5110967: mov %ecx,0xc(%rax) | |
0x00007f53c511096a: xor %rcx,%rcx ;*new ; - test3::main@18 (line 6) | |
0x00007f53c511096d: mov %rax,%rdx | |
0x00007f53c5110970: mov $0x7f53d8a94968,%rsi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c511097a: addq $0x1,0x128(%rsi) | |
0x00007f53c5110982: mov $0x7f53d8a94830,%rdx ; {metadata(method data for {method} {0x00007f53d8a94750} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f53c511098c: mov 0xdc(%rdx),%esi | |
0x00007f53c5110992: add $0x8,%esi | |
0x00007f53c5110995: mov %esi,0xdc(%rdx) | |
0x00007f53c511099b: mov $0x7f53d8a94750,%rdx ; {metadata({method} {0x00007f53d8a94750} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f53c51109a5: and $0x7ffff8,%esi | |
0x00007f53c51109ab: cmp $0x0,%esi | |
0x00007f53c51109ae: je 0x00007f53c5110e43 | |
0x00007f53c51109b4: mov %rax,%rdx | |
0x00007f53c51109b7: mov $0x7f53d8a94830,%rsi ; {metadata(method data for {method} {0x00007f53d8a94750} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f53c51109c1: addq $0x1,0x108(%rsi) | |
0x00007f53c51109c9: mov $0x7f53d88081b0,%rdx ; {metadata(method data for {method} {0x00007f53d8694480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f53c51109d3: mov 0xdc(%rdx),%esi | |
0x00007f53c51109d9: add $0x8,%esi | |
0x00007f53c51109dc: mov %esi,0xdc(%rdx) | |
0x00007f53c51109e2: mov $0x7f53d8694480,%rdx ; {metadata({method} {0x00007f53d8694480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f53c51109ec: and $0x7ffff8,%esi | |
0x00007f53c51109f2: cmp $0x0,%esi | |
0x00007f53c51109f5: je 0x00007f53c5110e5a | |
0x00007f53c51109fb: mov %r8d,0xc(%rax) ;*putfield i | |
; - test3$Node::<init>@6 (line 18) | |
; - test3::main@23 (line 6) | |
0x00007f53c51109ff: movslq %r8d,%rdx | |
0x00007f53c5110a02: lea 0x10(%rbx,%rdx,4),%rdx | |
0x00007f53c5110a07: cmp 0xc(%rbx),%r8d ; implicit exception: dispatches to 0x00007f53c5110e71 | |
0x00007f53c5110a0b: jae 0x00007f53c5110e7b | |
0x00007f53c5110a11: cmp $0x0,%rax | |
0x00007f53c5110a15: jne 0x00007f53c5110a30 | |
0x00007f53c5110a17: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110a21: orl $0x100,0x130(%rdi) | |
0x00007f53c5110a2b: jmpq 0x00007f53c5110b14 | |
0x00007f53c5110a30: mov 0x8(%rbx),%esi ; implicit exception: dispatches to 0x00007f53c5110e84 | |
0x00007f53c5110a33: shl $0x3,%rsi | |
0x00007f53c5110a37: mov 0x8(%rax),%edi | |
0x00007f53c5110a3a: shl $0x3,%rdi | |
0x00007f53c5110a3e: mov 0xe0(%rsi),%rsi | |
0x00007f53c5110a45: cmp %rsi,%rdi | |
0x00007f53c5110a48: je 0x00007f53c5110a76 | |
0x00007f53c5110a4e: mov 0xc(%rsi),%ecx | |
0x00007f53c5110a51: cmp (%rdi,%rcx,1),%rsi | |
0x00007f53c5110a55: je 0x00007f53c5110a76 | |
0x00007f53c5110a5b: cmp $0x18,%ecx | |
0x00007f53c5110a5e: jne 0x00007f53c5110afd | |
0x00007f53c5110a64: push %rdi | |
0x00007f53c5110a65: push %rsi | |
0x00007f53c5110a66: callq 0x00007f53c50fb960 ; {runtime_call} | |
0x00007f53c5110a6b: pop %rdi | |
0x00007f53c5110a6c: pop %rsi | |
0x00007f53c5110a6d: cmp $0x0,%esi | |
0x00007f53c5110a70: je 0x00007f53c5110afd | |
0x00007f53c5110a76: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110a80: mov 0x8(%rax),%esi | |
0x00007f53c5110a83: shl $0x3,%rsi | |
0x00007f53c5110a87: cmp 0x140(%rdi),%rsi | |
0x00007f53c5110a8e: jne 0x00007f53c5110a9d | |
0x00007f53c5110a90: addq $0x1,0x148(%rdi) | |
0x00007f53c5110a98: jmpq 0x00007f53c5110b14 | |
0x00007f53c5110a9d: cmp 0x150(%rdi),%rsi | |
0x00007f53c5110aa4: jne 0x00007f53c5110ab3 | |
0x00007f53c5110aa6: addq $0x1,0x158(%rdi) | |
0x00007f53c5110aae: jmpq 0x00007f53c5110b14 | |
0x00007f53c5110ab3: cmpq $0x0,0x140(%rdi) | |
0x00007f53c5110abe: jne 0x00007f53c5110ad7 | |
0x00007f53c5110ac0: mov %rsi,0x140(%rdi) | |
0x00007f53c5110ac7: movq $0x1,0x148(%rdi) | |
0x00007f53c5110ad2: jmpq 0x00007f53c5110b14 | |
0x00007f53c5110ad7: cmpq $0x0,0x150(%rdi) | |
0x00007f53c5110ae2: jne 0x00007f53c5110afb | |
0x00007f53c5110ae4: mov %rsi,0x150(%rdi) | |
0x00007f53c5110aeb: movq $0x1,0x158(%rdi) | |
0x00007f53c5110af6: jmpq 0x00007f53c5110b14 | |
0x00007f53c5110afb: jmp 0x00007f53c5110b14 | |
0x00007f53c5110afd: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110b07: subq $0x1,0x138(%rdi) | |
0x00007f53c5110b0f: jmpq 0x00007f53c5110e89 | |
0x00007f53c5110b14: mov %rax,%r10 | |
0x00007f53c5110b17: mov %r10d,(%rdx) | |
0x00007f53c5110b1a: shr $0x9,%rdx | |
0x00007f53c5110b1e: mov $0x7f53d98df000,%rsi | |
0x00007f53c5110b28: movb $0x0,(%rdx,%rsi,1) ;*aastore | |
; - test3::main@26 (line 6) | |
0x00007f53c5110b2c: inc %r8d | |
0x00007f53c5110b2f: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110b39: mov 0xe0(%rdx),%esi | |
0x00007f53c5110b3f: add $0x8,%esi | |
0x00007f53c5110b42: mov %esi,0xe0(%rdx) | |
0x00007f53c5110b48: mov $0x7f53d8a94388,%rdx ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110b52: and $0xfff8,%esi | |
0x00007f53c5110b58: cmp $0x0,%esi | |
0x00007f53c5110b5b: je 0x00007f53c5110e92 ; OopMap{rbx=Oop off=769} | |
;*goto | |
; - test3::main@30 (line 5) | |
0x00007f53c5110b61: test %eax,0x18960599(%rip) # 0x00007f53dda71100 | |
; {poll} | |
0x00007f53c5110b67: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110b71: incl 0x168(%rdx) ;*goto | |
; - test3::main@30 (line 5) | |
0x00007f53c5110b77: mov $0xd6fe0408,%rdx ; {oop(a 'java/lang/Class' = 'test3')} | |
0x00007f53c5110b81: mov 0x68(%rdx),%r9d ;*getstatic MAX | |
; - test3::main@10 (line 5) | |
0x00007f53c5110b85: cmp %r9d,%r8d | |
0x00007f53c5110b88: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110b92: mov $0x108,%rsi | |
0x00007f53c5110b9c: jge 0x00007f53c5110bac | |
0x00007f53c5110ba2: mov $0x118,%rsi | |
0x00007f53c5110bac: mov (%rdx,%rsi,1),%rdi | |
0x00007f53c5110bb0: lea 0x1(%rdi),%rdi | |
0x00007f53c5110bb4: mov %rdi,(%rdx,%rsi,1) | |
0x00007f53c5110bb8: jl 0x00007f53c5110930 ;*if_icmpge | |
; - test3::main@13 (line 5) | |
0x00007f53c5110bbe: mov $0x0,%edx | |
0x00007f53c5110bc3: mov $0x0,%rsi | |
0x00007f53c5110bcd: jmpq 0x00007f53c5110cd1 ;*iload | |
; - test3::main@38 (line 9) | |
0x00007f53c5110bd2: nopw 0x0(%rax,%rax,1) | |
0x00007f53c5110bd8: mov $0x0,%edi | |
0x00007f53c5110bdd: jmpq 0x00007f53c5110c4e ;*iload | |
; - test3::main@49 (line 10) | |
0x00007f53c5110be2: nopw 0x0(%rax,%rax,1) | |
0x00007f53c5110be8: movslq %edx,%rax | |
0x00007f53c5110beb: cmp 0xc(%rbx),%edx ; implicit exception: dispatches to 0x00007f53c5110ea9 | |
0x00007f53c5110bee: jae 0x00007f53c5110eb3 | |
0x00007f53c5110bf4: mov 0x10(%rbx,%rax,4),%eax ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c5110bf8: mov 0xc(%rax),%eax ;*getfield i | |
; - test3::main@62 (line 11) | |
; implicit exception: dispatches to 0x00007f53c5110ebc | |
0x00007f53c5110bfb: movslq %eax,%rax | |
0x00007f53c5110bfe: add %rsi,%rax | |
0x00007f53c5110c01: inc %edi | |
0x00007f53c5110c03: mov $0x7f53d8a94968,%rsi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110c0d: mov 0xe0(%rsi),%ecx | |
0x00007f53c5110c13: add $0x8,%ecx | |
0x00007f53c5110c16: mov %ecx,0xe0(%rsi) | |
0x00007f53c5110c1c: mov $0x7f53d8a94388,%rsi ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110c26: and $0xfff8,%ecx | |
0x00007f53c5110c2c: cmp $0x0,%ecx | |
0x00007f53c5110c2f: je 0x00007f53c5110ec1 ; OopMap{rbx=Oop off=981} | |
;*goto | |
; - test3::main@71 (line 10) | |
0x00007f53c5110c35: test %eax,0x189604c5(%rip) # 0x00007f53dda71100 | |
; {poll} | |
0x00007f53c5110c3b: mov $0x7f53d8a94968,%rsi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110c45: incl 0x1c0(%rsi) | |
0x00007f53c5110c4b: mov %rax,%rsi ;*goto | |
; - test3::main@71 (line 10) | |
0x00007f53c5110c4e: cmp %r9d,%edi | |
0x00007f53c5110c51: mov $0x7f53d8a94968,%rax ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110c5b: mov $0x1a0,%rcx | |
0x00007f53c5110c65: jge 0x00007f53c5110c75 | |
0x00007f53c5110c6b: mov $0x1b0,%rcx | |
0x00007f53c5110c75: mov (%rax,%rcx,1),%r8 | |
0x00007f53c5110c79: lea 0x1(%r8),%r8 | |
0x00007f53c5110c7d: mov %r8,(%rax,%rcx,1) | |
0x00007f53c5110c81: jl 0x00007f53c5110be8 ;*if_icmpge | |
; - test3::main@54 (line 10) | |
0x00007f53c5110c87: inc %edx | |
0x00007f53c5110c89: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110c93: mov 0xe0(%rdi),%eax | |
0x00007f53c5110c99: add $0x8,%eax | |
0x00007f53c5110c9c: mov %eax,0xe0(%rdi) | |
0x00007f53c5110ca2: mov $0x7f53d8a94388,%rdi ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110cac: and $0xfff8,%eax | |
0x00007f53c5110cb2: cmp $0x0,%eax | |
0x00007f53c5110cb5: je 0x00007f53c5110ed8 ; OopMap{rbx=Oop off=1115} | |
;*goto | |
; - test3::main@77 (line 9) | |
0x00007f53c5110cbb: test %eax,0x1896043f(%rip) # 0x00007f53dda71100 | |
; {poll} | |
0x00007f53c5110cc1: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110ccb: incl 0x1d8(%rdi) ;*goto | |
; - test3::main@77 (line 9) | |
0x00007f53c5110cd1: cmp %r9d,%edx | |
0x00007f53c5110cd4: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110cde: mov $0x180,%rax | |
0x00007f53c5110ce8: jge 0x00007f53c5110cf8 | |
0x00007f53c5110cee: mov $0x190,%rax | |
0x00007f53c5110cf8: mov (%rdi,%rax,1),%rcx | |
0x00007f53c5110cfc: lea 0x1(%rcx),%rcx | |
0x00007f53c5110d00: mov %rcx,(%rdi,%rax,1) | |
0x00007f53c5110d04: jl 0x00007f53c5110bd8 ;*if_icmpge | |
; - test3::main@43 (line 9) | |
0x00007f53c5110d0a: nopw 0x0(%rax,%rax,1) | |
0x00007f53c5110d10: jmpq 0x00007f53c5110f44 ; {no_reloc} | |
0x00007f53c5110d15: add %al,(%rax) | |
0x00007f53c5110d17: add %al,(%rax) | |
0x00007f53c5110d19: add %ah,0xf(%rsi) | |
0x00007f53c5110d1c: (bad) | |
0x00007f53c5110d1d: add %r8b,(%rax) | |
0x00007f53c5110d20: jmpq 0x00007f53c5110f5e ; implicit exception: dispatches to 0x00007f53c5110f4e | |
0x00007f53c5110d25: nop ;*getstatic out | |
; - test3::main@80 (line 14) | |
0x00007f53c5110d26: cmp (%rdi),%rax ; implicit exception: dispatches to 0x00007f53c5110f68 | |
0x00007f53c5110d29: mov %rdi,%rdx | |
0x00007f53c5110d2c: mov $0x7f53d8a94968,%rbx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c5110d36: mov 0x8(%rdx),%edx | |
0x00007f53c5110d39: shl $0x3,%rdx | |
0x00007f53c5110d3d: cmp 0x1f8(%rbx),%rdx | |
0x00007f53c5110d44: jne 0x00007f53c5110d53 | |
0x00007f53c5110d46: addq $0x1,0x200(%rbx) | |
0x00007f53c5110d4e: jmpq 0x00007f53c5110db9 | |
0x00007f53c5110d53: cmp 0x208(%rbx),%rdx | |
0x00007f53c5110d5a: jne 0x00007f53c5110d69 | |
0x00007f53c5110d5c: addq $0x1,0x210(%rbx) | |
0x00007f53c5110d64: jmpq 0x00007f53c5110db9 | |
0x00007f53c5110d69: cmpq $0x0,0x1f8(%rbx) | |
0x00007f53c5110d74: jne 0x00007f53c5110d8d | |
0x00007f53c5110d76: mov %rdx,0x1f8(%rbx) | |
0x00007f53c5110d7d: movq $0x1,0x200(%rbx) | |
0x00007f53c5110d88: jmpq 0x00007f53c5110db9 | |
0x00007f53c5110d8d: cmpq $0x0,0x208(%rbx) | |
0x00007f53c5110d98: jne 0x00007f53c5110db1 | |
0x00007f53c5110d9a: mov %rdx,0x208(%rbx) | |
0x00007f53c5110da1: movq $0x1,0x210(%rbx) | |
0x00007f53c5110dac: jmpq 0x00007f53c5110db9 | |
0x00007f53c5110db1: addq $0x1,0x1f0(%rbx) | |
0x00007f53c5110db9: mov %rsi,%rdx | |
0x00007f53c5110dbc: mov %rdi,%rsi ;*invokevirtual println | |
; - test3::main@84 (line 14) | |
0x00007f53c5110dbf: nop | |
0x00007f53c5110dc0: nop | |
0x00007f53c5110dc1: nop | |
0x00007f53c5110dc2: nop | |
0x00007f53c5110dc3: nop | |
0x00007f53c5110dc4: nop | |
0x00007f53c5110dc5: mov $0xffffffffffffffff,%rax | |
0x00007f53c5110dcf: callq 0x00007f53c5045f60 ; OopMap{off=1396} | |
;*invokevirtual println | |
; - test3::main@84 (line 14) | |
; {virtual_call} | |
0x00007f53c5110dd4: add $0x70,%rsp | |
0x00007f53c5110dd8: pop %rbp | |
0x00007f53c5110dd9: test %eax,0x18960321(%rip) # 0x00007f53dda71100 | |
; {poll_return} | |
0x00007f53c5110ddf: retq ;*return | |
; - test3::main@87 (line 15) | |
0x00007f53c5110de0: mov %eax,-0x14000(%rsp) | |
0x00007f53c5110de7: push %rbp | |
0x00007f53c5110de8: sub $0x70,%rsp | |
0x00007f53c5110dec: mov 0x20(%rsi),%rbx | |
0x00007f53c5110df0: mov 0x18(%rsi),%eax | |
0x00007f53c5110df3: mov %rsi,%rdi | |
0x00007f53c5110df6: mov %rbx,0x58(%rsp) | |
0x00007f53c5110dfb: mov %eax,0x50(%rsp) | |
0x00007f53c5110dff: callq 0x00007f53dc65dea0 ; {runtime_call} | |
0x00007f53c5110e04: mov 0x50(%rsp),%eax | |
0x00007f53c5110e08: mov %rax,%r8 | |
0x00007f53c5110e0b: mov 0x58(%rsp),%rbx | |
0x00007f53c5110e10: jmpq 0x00007f53c5110b77 | |
0x00007f53c5110e15: mov %rbx,0x8(%rsp) | |
0x00007f53c5110e1a: movq $0xffffffffffffffff,(%rsp) | |
0x00007f53c5110e22: callq 0x00007f53c50fd820 ; OopMap{rsi=Oop off=1479} | |
;*synchronization entry | |
; - test3::main@-1 (line 4) | |
; {runtime_call} | |
0x00007f53c5110e27: jmpq 0x00007f53c511089e | |
0x00007f53c5110e2c: callq 0x00007f53c50fa860 ; OopMap{off=1489} | |
;*anewarray | |
; - test3::main@3 (line 4) | |
; {runtime_call} | |
0x00007f53c5110e31: jmpq 0x00007f53c5110922 | |
0x00007f53c5110e36: mov %rdx,%rdx | |
0x00007f53c5110e39: callq 0x00007f53c50f9b20 ; OopMap{rbx=Oop off=1502} | |
;*new ; - test3::main@18 (line 6) | |
; {runtime_call} | |
0x00007f53c5110e3e: jmpq 0x00007f53c511096d | |
0x00007f53c5110e43: mov %rdx,0x8(%rsp) | |
0x00007f53c5110e48: movq $0xffffffffffffffff,(%rsp) | |
0x00007f53c5110e50: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop rax=Oop off=1525} | |
;*synchronization entry | |
; - test3$Node::<init>@-1 (line 18) | |
; - test3::main@23 (line 6) | |
; {runtime_call} | |
0x00007f53c5110e55: jmpq 0x00007f53c51109b4 | |
0x00007f53c5110e5a: mov %rdx,0x8(%rsp) | |
0x00007f53c5110e5f: movq $0xffffffffffffffff,(%rsp) | |
0x00007f53c5110e67: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop rax=Oop off=1548} | |
;*synchronization entry | |
; - java.lang.Object::<init>@-1 (line 37) | |
; - test3$Node::<init>@1 (line 18) | |
; - test3::main@23 (line 6) | |
; {runtime_call} | |
0x00007f53c5110e6c: jmpq 0x00007f53c51109fb | |
0x00007f53c5110e71: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop rax=Oop off=1558} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c5110e76: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop rax=Oop off=1563} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c5110e7b: mov %r8,(%rsp) | |
0x00007f53c5110e7f: callq 0x00007f53c506b980 ; OopMap{rbx=Oop rax=Oop off=1572} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c5110e84: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop rax=Oop off=1577} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c5110e89: mov %rax,(%rsp) | |
0x00007f53c5110e8d: callq 0x00007f53c50fb2c0 ; OopMap{rbx=Oop rax=Oop off=1586} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c5110e92: mov %rdx,0x8(%rsp) | |
0x00007f53c5110e97: movq $0x1e,(%rsp) | |
0x00007f53c5110e9f: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop off=1604} | |
;*goto | |
; - test3::main@30 (line 5) | |
; {runtime_call} | |
0x00007f53c5110ea4: jmpq 0x00007f53c5110b61 | |
0x00007f53c5110ea9: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop off=1614} | |
;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c5110eae: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop off=1619} | |
;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c5110eb3: mov %rdx,(%rsp) | |
0x00007f53c5110eb7: callq 0x00007f53c506b980 ; OopMap{rbx=Oop off=1628} | |
;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c5110ebc: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop off=1633} | |
;*getfield i | |
; - test3::main@62 (line 11) | |
; {runtime_call} | |
0x00007f53c5110ec1: mov %rsi,0x8(%rsp) | |
0x00007f53c5110ec6: movq $0x47,(%rsp) | |
0x00007f53c5110ece: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop off=1651} | |
;*goto | |
; - test3::main@71 (line 10) | |
; {runtime_call} | |
0x00007f53c5110ed3: jmpq 0x00007f53c5110c35 | |
0x00007f53c5110ed8: mov %rdi,0x8(%rsp) | |
0x00007f53c5110edd: movq $0x4d,(%rsp) | |
0x00007f53c5110ee5: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop off=1674} | |
;*goto | |
; - test3::main@77 (line 9) | |
; {runtime_call} | |
0x00007f53c5110eea: jmpq 0x00007f53c5110cbb | |
0x00007f53c5110eef: mov $0x0,%rdx ; {oop(NULL)} | |
0x00007f53c5110ef9: push %rax | |
0x00007f53c5110efa: push %rbx | |
0x00007f53c5110efb: mov 0x48(%rdx),%rbx | |
0x00007f53c5110eff: push %rdi | |
0x00007f53c5110f00: push %rsi | |
0x00007f53c5110f01: push %rdx | |
0x00007f53c5110f02: push %rcx | |
0x00007f53c5110f03: push %r8 | |
0x00007f53c5110f05: push %r9 | |
0x00007f53c5110f07: push %r10 | |
0x00007f53c5110f09: mov %rsp,%r10 | |
0x00007f53c5110f0c: and $0xfffffffffffffff0,%rsp | |
0x00007f53c5110f10: push %r10 | |
0x00007f53c5110f12: push %r11 | |
0x00007f53c5110f14: mov $0x1,%edi | |
0x00007f53c5110f19: callq 0x00007f53dcc503e0 ; {runtime_call} | |
0x00007f53c5110f1e: pop %r11 | |
0x00007f53c5110f20: pop %rsp | |
0x00007f53c5110f21: pop %r10 | |
0x00007f53c5110f23: pop %r9 | |
0x00007f53c5110f25: pop %r8 | |
0x00007f53c5110f27: pop %rcx | |
0x00007f53c5110f28: pop %rdx | |
0x00007f53c5110f29: pop %rsi | |
0x00007f53c5110f2a: pop %rdi | |
0x00007f53c5110f2b: cmp 0x108(%rbx),%rax | |
0x00007f53c5110f32: pop %rbx | |
0x00007f53c5110f33: pop %rax | |
0x00007f53c5110f34: jne 0x00007f53c5110f44 | |
0x00007f53c5110f3a: jmpq 0x00007f53c5110d1a | |
0x00007f53c5110f3f: mov $0xa4b5500,%eax | |
0x00007f53c5110f44: callq 0x00007f53c50fcc20 ; OopMap{off=1769} | |
;*getstatic out | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f53c5110f49: jmpq 0x00007f53c5110d10 | |
0x00007f53c5110f4e: callq 0x00007f53c50f93c0 ; OopMap{rdx=Oop off=1779} | |
;*getstatic out | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f53c5110f53: mov 0x0(%rdx),%edi | |
0x00007f53c5110f59: mov $0x6050b00,%eax | |
0x00007f53c5110f5e: callq 0x00007f53c50fc420 ; OopMap{rdx=Oop off=1795} | |
;*getstatic out | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f53c5110f63: jmpq 0x00007f53c5110d20 | |
0x00007f53c5110f68: callq 0x00007f53c50f93c0 ; OopMap{rdi=Oop off=1805} | |
;*invokevirtual println | |
; - test3::main@84 (line 14) | |
; {runtime_call} | |
0x00007f53c5110f6d: nop | |
0x00007f53c5110f6e: nop | |
0x00007f53c5110f6f: mov 0x290(%r15),%rax | |
0x00007f53c5110f76: mov $0x0,%r10 | |
0x00007f53c5110f80: mov %r10,0x290(%r15) | |
0x00007f53c5110f87: mov $0x0,%r10 | |
0x00007f53c5110f91: mov %r10,0x298(%r15) | |
0x00007f53c5110f98: add $0x70,%rsp | |
0x00007f53c5110f9c: pop %rbp | |
0x00007f53c5110f9d: jmpq 0x00007f53c506be20 ; {runtime_call} | |
0x00007f53c5110fa2: hlt | |
0x00007f53c5110fa3: hlt | |
0x00007f53c5110fa4: hlt | |
0x00007f53c5110fa5: hlt | |
0x00007f53c5110fa6: hlt | |
0x00007f53c5110fa7: hlt | |
0x00007f53c5110fa8: hlt | |
0x00007f53c5110fa9: hlt | |
0x00007f53c5110faa: hlt | |
0x00007f53c5110fab: hlt | |
0x00007f53c5110fac: hlt | |
0x00007f53c5110fad: hlt | |
0x00007f53c5110fae: hlt | |
0x00007f53c5110faf: hlt | |
0x00007f53c5110fb0: hlt | |
0x00007f53c5110fb1: hlt | |
0x00007f53c5110fb2: hlt | |
0x00007f53c5110fb3: hlt | |
0x00007f53c5110fb4: hlt | |
0x00007f53c5110fb5: hlt | |
0x00007f53c5110fb6: hlt | |
0x00007f53c5110fb7: hlt | |
0x00007f53c5110fb8: hlt | |
0x00007f53c5110fb9: hlt | |
0x00007f53c5110fba: hlt | |
0x00007f53c5110fbb: hlt | |
0x00007f53c5110fbc: hlt | |
0x00007f53c5110fbd: hlt | |
0x00007f53c5110fbe: hlt | |
0x00007f53c5110fbf: hlt | |
[Stub Code] | |
0x00007f53c5110fc0: nop ; {no_reloc} | |
0x00007f53c5110fc1: nop | |
0x00007f53c5110fc2: nop | |
0x00007f53c5110fc3: nop | |
0x00007f53c5110fc4: nop | |
0x00007f53c5110fc5: mov $0x0,%rbx ; {static_stub} | |
0x00007f53c5110fcf: jmpq 0x00007f53c5110fcf ; {runtime_call} | |
[Exception Handler] | |
0x00007f53c5110fd4: callq 0x00007f53c50fb1a0 ; {runtime_call} | |
0x00007f53c5110fd9: mov %rsp,-0x28(%rsp) | |
0x00007f53c5110fde: sub $0x80,%rsp | |
0x00007f53c5110fe5: mov %rax,0x78(%rsp) | |
0x00007f53c5110fea: mov %rcx,0x70(%rsp) | |
0x00007f53c5110fef: mov %rdx,0x68(%rsp) | |
0x00007f53c5110ff4: mov %rbx,0x60(%rsp) | |
0x00007f53c5110ff9: mov %rbp,0x50(%rsp) | |
0x00007f53c5110ffe: mov %rsi,0x48(%rsp) | |
0x00007f53c5111003: mov %rdi,0x40(%rsp) | |
0x00007f53c5111008: mov %r8,0x38(%rsp) | |
0x00007f53c511100d: mov %r9,0x30(%rsp) | |
0x00007f53c5111012: mov %r10,0x28(%rsp) | |
0x00007f53c5111017: mov %r11,0x20(%rsp) | |
0x00007f53c511101c: mov %r12,0x18(%rsp) | |
0x00007f53c5111021: mov %r13,0x10(%rsp) | |
0x00007f53c5111026: mov %r14,0x8(%rsp) | |
0x00007f53c511102b: mov %r15,(%rsp) | |
0x00007f53c511102f: mov $0x7f53dc77efbe,%rdi ; {external_word} | |
0x00007f53c5111039: mov $0x7f53c5110fd9,%rsi ; {internal_word} | |
0x00007f53c5111043: mov %rsp,%rdx | |
0x00007f53c5111046: and $0xfffffffffffffff0,%rsp | |
0x00007f53c511104a: callq 0x00007f53dc4de0b0 ; {runtime_call} | |
0x00007f53c511104f: hlt | |
[Deopt Handler Code] | |
0x00007f53c5111050: mov $0x7f53c5111050,%r10 ; {section_word} | |
0x00007f53c511105a: push %r10 | |
0x00007f53c511105c: jmpq 0x00007f53c5047100 ; {runtime_call} | |
0x00007f53c5111061: hlt | |
0x00007f53c5111062: hlt | |
0x00007f53c5111063: hlt | |
0x00007f53c5111064: hlt | |
0x00007f53c5111065: hlt | |
0x00007f53c5111066: hlt | |
0x00007f53c5111067: hlt | |
OopMapSet contains 25 OopMaps | |
#0 | |
OopMap{rbx=Oop off=769} | |
#1 | |
OopMap{rbx=Oop off=981} | |
#2 | |
OopMap{rbx=Oop off=1115} | |
#3 | |
OopMap{off=1396} | |
#4 | |
OopMap{rsi=Oop off=1479} | |
#5 | |
OopMap{off=1489} | |
#6 | |
OopMap{rbx=Oop off=1502} | |
#7 | |
OopMap{rbx=Oop rax=Oop off=1525} | |
#8 | |
OopMap{rbx=Oop rax=Oop off=1548} | |
#9 | |
OopMap{rbx=Oop rax=Oop off=1558} | |
#10 | |
OopMap{rbx=Oop rax=Oop off=1563} | |
#11 | |
OopMap{rbx=Oop rax=Oop off=1572} | |
#12 | |
OopMap{rbx=Oop rax=Oop off=1577} | |
#13 | |
OopMap{rbx=Oop rax=Oop off=1586} | |
#14 | |
OopMap{rbx=Oop off=1604} | |
#15 | |
OopMap{rbx=Oop off=1614} | |
#16 | |
OopMap{rbx=Oop off=1619} | |
#17 | |
OopMap{rbx=Oop off=1628} | |
#18 | |
OopMap{rbx=Oop off=1633} | |
#19 | |
OopMap{rbx=Oop off=1651} | |
#20 | |
OopMap{rbx=Oop off=1674} | |
#21 | |
OopMap{off=1769} | |
#22 | |
OopMap{rdx=Oop off=1779} | |
#23 | |
OopMap{rdx=Oop off=1795} | |
#24 | |
OopMap{rdi=Oop off=1805} | |
Compiled method (c1) 46 20 % 3 test3::main @ 49 (88 bytes) | |
total in heap [0x00007f53c510f7d0,0x00007f53c5110648] = 3704 | |
relocation [0x00007f53c510f8f8,0x00007f53c510f9a0] = 168 | |
main code [0x00007f53c510f9a0,0x00007f53c5110100] = 1888 | |
stub code [0x00007f53c5110100,0x00007f53c51101a8] = 168 | |
oops [0x00007f53c51101a8,0x00007f53c51101b0] = 8 | |
metadata [0x00007f53c51101b0,0x00007f53c51101c8] = 24 | |
scopes data [0x00007f53c51101c8,0x00007f53c5110328] = 352 | |
scopes pcs [0x00007f53c5110328,0x00007f53c5110608] = 736 | |
dependencies [0x00007f53c5110608,0x00007f53c5110610] = 8 | |
nul chk table [0x00007f53c5110610,0x00007f53c5110648] = 56 | |
Decoding compiled method 0x00007f53c510f7d0: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3' | |
0x00007f53c510f9a0: mov %eax,-0x14000(%rsp) | |
0x00007f53c510f9a7: push %rbp | |
0x00007f53c510f9a8: sub $0x70,%rsp | |
0x00007f53c510f9ac: mov $0x7f53d8a94968,%rbx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510f9b6: mov 0xdc(%rbx),%edx | |
0x00007f53c510f9bc: add $0x8,%edx | |
0x00007f53c510f9bf: mov %edx,0xdc(%rbx) | |
0x00007f53c510f9c5: mov $0x7f53d8a94388,%rbx ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510f9cf: and $0x1ff8,%edx | |
0x00007f53c510f9d5: cmp $0x0,%edx | |
0x00007f53c510f9d8: je 0x00007f53c510ff7b | |
0x00007f53c510f9de: mov $0xd6fe0408,%rbx ; {oop(a 'java/lang/Class' = 'test3')} | |
0x00007f53c510f9e8: mov 0x68(%rbx),%r8d ;*getstatic MAX | |
; - test3::main@0 (line 4) | |
0x00007f53c510f9ec: mov %r8,%rbx | |
0x00007f53c510f9ef: mov $0x1000603e8,%rdx ; {metadata('test3$Node'[])} | |
0x00007f53c510f9f9: movslq %ebx,%rbx | |
0x00007f53c510f9fc: mov %rbx,%rdi | |
0x00007f53c510f9ff: cmp $0xffffff,%rbx | |
0x00007f53c510fa06: ja 0x00007f53c510ff92 | |
0x00007f53c510fa0c: mov $0x17,%rsi | |
0x00007f53c510fa16: lea (%rsi,%rbx,4),%rsi | |
0x00007f53c510fa1a: and $0xfffffffffffffff8,%rsi | |
0x00007f53c510fa1e: mov 0x60(%r15),%rax | |
0x00007f53c510fa22: lea (%rax,%rsi,1),%rsi | |
0x00007f53c510fa26: cmp 0x70(%r15),%rsi | |
0x00007f53c510fa2a: ja 0x00007f53c510ff92 | |
0x00007f53c510fa30: mov %rsi,0x60(%r15) | |
0x00007f53c510fa34: sub %rax,%rsi | |
0x00007f53c510fa37: movq $0x1,(%rax) | |
0x00007f53c510fa3e: mov %rdx,%rcx | |
0x00007f53c510fa41: shr $0x3,%rcx | |
0x00007f53c510fa45: mov %ecx,0x8(%rax) | |
0x00007f53c510fa48: mov %ebx,0xc(%rax) | |
0x00007f53c510fa4b: sub $0x10,%rsi | |
0x00007f53c510fa4f: je 0x00007f53c510fa66 | |
0x00007f53c510fa55: xor %rbx,%rbx | |
0x00007f53c510fa58: shr $0x3,%rsi | |
0x00007f53c510fa5c: mov %rbx,0x8(%rax,%rsi,8) | |
0x00007f53c510fa61: dec %rsi | |
0x00007f53c510fa64: jne 0x00007f53c510fa5c | |
0x00007f53c510fa66: mov %rax,%rbx ;*anewarray | |
; - test3::main@3 (line 4) | |
0x00007f53c510fa69: mov $0x0,%r9d | |
0x00007f53c510fa6f: jmpq 0x00007f53c510fcbf ;*iload_2 | |
; - test3::main@9 (line 5) | |
0x00007f53c510fa74: nopl 0x0(%rax) | |
0x00007f53c510fa78: mov $0x100060208,%rdx ; {metadata('test3$Node')} | |
0x00007f53c510fa82: mov 0x60(%r15),%rax | |
0x00007f53c510fa86: lea 0x10(%rax),%rdi | |
0x00007f53c510fa8a: cmp 0x70(%r15),%rdi | |
0x00007f53c510fa8e: ja 0x00007f53c510ff9c | |
0x00007f53c510fa94: mov %rdi,0x60(%r15) | |
0x00007f53c510fa98: mov 0xa8(%rdx),%rcx | |
0x00007f53c510fa9f: mov %rcx,(%rax) | |
0x00007f53c510faa2: mov %rdx,%rcx | |
0x00007f53c510faa5: shr $0x3,%rcx | |
0x00007f53c510faa9: mov %ecx,0x8(%rax) | |
0x00007f53c510faac: xor %rcx,%rcx | |
0x00007f53c510faaf: mov %ecx,0xc(%rax) | |
0x00007f53c510fab2: xor %rcx,%rcx ;*new ; - test3::main@18 (line 6) | |
0x00007f53c510fab5: mov %rax,%rsi | |
0x00007f53c510fab8: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fac2: addq $0x1,0x128(%rdi) | |
0x00007f53c510faca: mov $0x7f53d8a94830,%rsi ; {metadata(method data for {method} {0x00007f53d8a94750} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f53c510fad4: mov 0xdc(%rsi),%edi | |
0x00007f53c510fada: add $0x8,%edi | |
0x00007f53c510fadd: mov %edi,0xdc(%rsi) | |
0x00007f53c510fae3: mov $0x7f53d8a94750,%rsi ; {metadata({method} {0x00007f53d8a94750} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f53c510faed: and $0x7ffff8,%edi | |
0x00007f53c510faf3: cmp $0x0,%edi | |
0x00007f53c510faf6: je 0x00007f53c510ffa9 | |
0x00007f53c510fafc: mov %rax,%rsi | |
0x00007f53c510faff: mov $0x7f53d8a94830,%rdi ; {metadata(method data for {method} {0x00007f53d8a94750} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f53c510fb09: addq $0x1,0x108(%rdi) | |
0x00007f53c510fb11: mov $0x7f53d88081b0,%rsi ; {metadata(method data for {method} {0x00007f53d8694480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f53c510fb1b: mov 0xdc(%rsi),%edi | |
0x00007f53c510fb21: add $0x8,%edi | |
0x00007f53c510fb24: mov %edi,0xdc(%rsi) | |
0x00007f53c510fb2a: mov $0x7f53d8694480,%rsi ; {metadata({method} {0x00007f53d8694480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f53c510fb34: and $0x7ffff8,%edi | |
0x00007f53c510fb3a: cmp $0x0,%edi | |
0x00007f53c510fb3d: je 0x00007f53c510ffc0 | |
0x00007f53c510fb43: mov %r9d,0xc(%rax) ;*putfield i | |
; - test3$Node::<init>@6 (line 18) | |
; - test3::main@23 (line 6) | |
0x00007f53c510fb47: movslq %r9d,%rsi | |
0x00007f53c510fb4a: lea 0x10(%rbx,%rsi,4),%rsi | |
0x00007f53c510fb4f: cmp 0xc(%rbx),%r9d | |
0x00007f53c510fb53: jae 0x00007f53c510ffd7 | |
0x00007f53c510fb59: cmp $0x0,%rax | |
0x00007f53c510fb5d: jne 0x00007f53c510fb78 | |
0x00007f53c510fb5f: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fb69: orl $0x100,0x130(%rdx) | |
0x00007f53c510fb73: jmpq 0x00007f53c510fc5c | |
0x00007f53c510fb78: mov 0x8(%rbx),%edi ; implicit exception: dispatches to 0x00007f53c510ffe0 | |
0x00007f53c510fb7b: shl $0x3,%rdi | |
0x00007f53c510fb7f: mov 0x8(%rax),%edx | |
0x00007f53c510fb82: shl $0x3,%rdx | |
0x00007f53c510fb86: mov 0xe0(%rdi),%rdi | |
0x00007f53c510fb8d: cmp %rdi,%rdx | |
0x00007f53c510fb90: je 0x00007f53c510fbbe | |
0x00007f53c510fb96: mov 0xc(%rdi),%ecx | |
0x00007f53c510fb99: cmp (%rdx,%rcx,1),%rdi | |
0x00007f53c510fb9d: je 0x00007f53c510fbbe | |
0x00007f53c510fba3: cmp $0x18,%ecx | |
0x00007f53c510fba6: jne 0x00007f53c510fc45 | |
0x00007f53c510fbac: push %rdx | |
0x00007f53c510fbad: push %rdi | |
0x00007f53c510fbae: callq 0x00007f53c50fb960 ; {runtime_call} | |
0x00007f53c510fbb3: pop %rdx | |
0x00007f53c510fbb4: pop %rdi | |
0x00007f53c510fbb5: cmp $0x0,%edi | |
0x00007f53c510fbb8: je 0x00007f53c510fc45 | |
0x00007f53c510fbbe: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fbc8: mov 0x8(%rax),%edi | |
0x00007f53c510fbcb: shl $0x3,%rdi | |
0x00007f53c510fbcf: cmp 0x140(%rdx),%rdi | |
0x00007f53c510fbd6: jne 0x00007f53c510fbe5 | |
0x00007f53c510fbd8: addq $0x1,0x148(%rdx) | |
0x00007f53c510fbe0: jmpq 0x00007f53c510fc5c | |
0x00007f53c510fbe5: cmp 0x150(%rdx),%rdi | |
0x00007f53c510fbec: jne 0x00007f53c510fbfb | |
0x00007f53c510fbee: addq $0x1,0x158(%rdx) | |
0x00007f53c510fbf6: jmpq 0x00007f53c510fc5c | |
0x00007f53c510fbfb: cmpq $0x0,0x140(%rdx) | |
0x00007f53c510fc06: jne 0x00007f53c510fc1f | |
0x00007f53c510fc08: mov %rdi,0x140(%rdx) | |
0x00007f53c510fc0f: movq $0x1,0x148(%rdx) | |
0x00007f53c510fc1a: jmpq 0x00007f53c510fc5c | |
0x00007f53c510fc1f: cmpq $0x0,0x150(%rdx) | |
0x00007f53c510fc2a: jne 0x00007f53c510fc43 | |
0x00007f53c510fc2c: mov %rdi,0x150(%rdx) | |
0x00007f53c510fc33: movq $0x1,0x158(%rdx) | |
0x00007f53c510fc3e: jmpq 0x00007f53c510fc5c | |
0x00007f53c510fc43: jmp 0x00007f53c510fc5c | |
0x00007f53c510fc45: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fc4f: subq $0x1,0x138(%rdx) | |
0x00007f53c510fc57: jmpq 0x00007f53c510ffe5 | |
0x00007f53c510fc5c: mov %rax,%r10 | |
0x00007f53c510fc5f: mov %r10d,(%rsi) | |
0x00007f53c510fc62: shr $0x9,%rsi | |
0x00007f53c510fc66: mov $0x7f53d98df000,%rdi | |
0x00007f53c510fc70: movb $0x0,(%rsi,%rdi,1) ;*aastore | |
; - test3::main@26 (line 6) | |
0x00007f53c510fc74: inc %r9d | |
0x00007f53c510fc77: mov $0x7f53d8a94968,%rsi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fc81: mov 0xe0(%rsi),%edi | |
0x00007f53c510fc87: add $0x8,%edi | |
0x00007f53c510fc8a: mov %edi,0xe0(%rsi) | |
0x00007f53c510fc90: mov $0x7f53d8a94388,%rsi ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fc9a: and $0xfff8,%edi | |
0x00007f53c510fca0: cmp $0x0,%edi | |
0x00007f53c510fca3: je 0x00007f53c510ffee ; OopMap{rbx=Oop off=777} | |
;*goto | |
; - test3::main@30 (line 5) | |
0x00007f53c510fca9: test %eax,0x18961451(%rip) # 0x00007f53dda71100 | |
; {poll} | |
0x00007f53c510fcaf: mov $0x7f53d8a94968,%rsi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fcb9: incl 0x168(%rsi) ;*goto | |
; - test3::main@30 (line 5) | |
0x00007f53c510fcbf: cmp %r8d,%r9d | |
0x00007f53c510fcc2: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fccc: mov $0x108,%rsi | |
0x00007f53c510fcd6: jge 0x00007f53c510fce6 | |
0x00007f53c510fcdc: mov $0x118,%rsi | |
0x00007f53c510fce6: mov (%rdx,%rsi,1),%rdi | |
0x00007f53c510fcea: lea 0x1(%rdi),%rdi | |
0x00007f53c510fcee: mov %rdi,(%rdx,%rsi,1) | |
0x00007f53c510fcf2: jl 0x00007f53c510fa78 ;*if_icmpge | |
; - test3::main@13 (line 5) | |
0x00007f53c510fcf8: mov $0x0,%esi | |
0x00007f53c510fcfd: mov $0x0,%rdi | |
0x00007f53c510fd07: jmpq 0x00007f53c510fe15 ;*iload | |
; - test3::main@38 (line 9) | |
0x00007f53c510fd0c: nopl 0x0(%rax) | |
0x00007f53c510fd10: mov $0x0,%eax | |
0x00007f53c510fd15: jmpq 0x00007f53c510fd86 ;*iload | |
; - test3::main@49 (line 10) | |
0x00007f53c510fd1a: nopw 0x0(%rax,%rax,1) | |
0x00007f53c510fd20: movslq %esi,%rdx | |
0x00007f53c510fd23: cmp 0xc(%rbx),%esi ; implicit exception: dispatches to 0x00007f53c5110005 | |
0x00007f53c510fd26: jae 0x00007f53c511000f | |
0x00007f53c510fd2c: mov 0x10(%rbx,%rdx,4),%edx ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c510fd30: mov 0xc(%rdx),%edx ;*getfield i | |
; - test3::main@62 (line 11) | |
; implicit exception: dispatches to 0x00007f53c5110018 | |
0x00007f53c510fd33: movslq %edx,%rdx | |
0x00007f53c510fd36: add %rdi,%rdx | |
0x00007f53c510fd39: inc %eax | |
0x00007f53c510fd3b: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fd45: mov 0xe0(%rdi),%ecx | |
0x00007f53c510fd4b: add $0x8,%ecx | |
0x00007f53c510fd4e: mov %ecx,0xe0(%rdi) | |
0x00007f53c510fd54: mov $0x7f53d8a94388,%rdi ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fd5e: and $0xfff8,%ecx | |
0x00007f53c510fd64: cmp $0x0,%ecx | |
0x00007f53c510fd67: je 0x00007f53c511001d ; OopMap{rbx=Oop off=973} | |
;*goto | |
; - test3::main@71 (line 10) | |
0x00007f53c510fd6d: test %eax,0x1896138d(%rip) # 0x00007f53dda71100 | |
; {poll} | |
0x00007f53c510fd73: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fd7d: incl 0x1c0(%rdi) | |
0x00007f53c510fd83: mov %rdx,%rdi ;*goto | |
; - test3::main@71 (line 10) | |
0x00007f53c510fd86: mov $0xd6fe0408,%rdx ; {oop(a 'java/lang/Class' = 'test3')} | |
0x00007f53c510fd90: mov 0x68(%rdx),%edx ;*getstatic MAX | |
; - test3::main@51 (line 10) | |
0x00007f53c510fd93: cmp %edx,%eax | |
0x00007f53c510fd95: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fd9f: mov $0x1a0,%rcx | |
0x00007f53c510fda9: jge 0x00007f53c510fdb9 | |
0x00007f53c510fdaf: mov $0x1b0,%rcx | |
0x00007f53c510fdb9: mov (%rdx,%rcx,1),%r8 | |
0x00007f53c510fdbd: lea 0x1(%r8),%r8 | |
0x00007f53c510fdc1: mov %r8,(%rdx,%rcx,1) | |
0x00007f53c510fdc5: jl 0x00007f53c510fd20 ;*if_icmpge | |
; - test3::main@54 (line 10) | |
0x00007f53c510fdcb: inc %esi | |
0x00007f53c510fdcd: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fdd7: mov 0xe0(%rdx),%eax | |
0x00007f53c510fddd: add $0x8,%eax | |
0x00007f53c510fde0: mov %eax,0xe0(%rdx) | |
0x00007f53c510fde6: mov $0x7f53d8a94388,%rdx ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fdf0: and $0xfff8,%eax | |
0x00007f53c510fdf6: cmp $0x0,%eax | |
0x00007f53c510fdf9: je 0x00007f53c5110034 ; OopMap{rbx=Oop off=1119} | |
;*goto | |
; - test3::main@77 (line 9) | |
0x00007f53c510fdff: test %eax,0x189612fb(%rip) # 0x00007f53dda71100 | |
; {poll} | |
0x00007f53c510fe05: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fe0f: incl 0x1d8(%rdx) ;*goto | |
; - test3::main@77 (line 9) | |
0x00007f53c510fe15: mov $0xd6fe0408,%rax ; {oop(a 'java/lang/Class' = 'test3')} | |
0x00007f53c510fe1f: mov 0x68(%rax),%eax ;*getstatic MAX | |
; - test3::main@40 (line 9) | |
0x00007f53c510fe22: cmp %eax,%esi | |
0x00007f53c510fe24: mov $0x7f53d8a94968,%rax ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fe2e: mov $0x180,%rdx | |
0x00007f53c510fe38: jge 0x00007f53c510fe48 | |
0x00007f53c510fe3e: mov $0x190,%rdx | |
0x00007f53c510fe48: mov (%rax,%rdx,1),%rcx | |
0x00007f53c510fe4c: lea 0x1(%rcx),%rcx | |
0x00007f53c510fe50: mov %rcx,(%rax,%rdx,1) | |
0x00007f53c510fe54: jl 0x00007f53c510fd10 ;*if_icmpge | |
; - test3::main@43 (line 9) | |
0x00007f53c510fe5a: nopw 0x0(%rax,%rax,1) | |
0x00007f53c510fe60: jmpq 0x00007f53c51100a0 ; {no_reloc} | |
0x00007f53c510fe65: add %al,(%rax) | |
0x00007f53c510fe67: add %al,(%rax) | |
0x00007f53c510fe69: add %ah,0xf(%rsi) | |
0x00007f53c510fe6c: (bad) | |
0x00007f53c510fe6d: add %r8b,(%rax) | |
0x00007f53c510fe70: jmpq 0x00007f53c51100ba ; implicit exception: dispatches to 0x00007f53c51100aa | |
0x00007f53c510fe75: nop ;*getstatic out | |
; - test3::main@80 (line 14) | |
0x00007f53c510fe76: cmp (%rsi),%rax ; implicit exception: dispatches to 0x00007f53c51100c4 | |
0x00007f53c510fe79: mov %rsi,%rdx | |
0x00007f53c510fe7c: mov $0x7f53d8a94968,%rbx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510fe86: mov 0x8(%rdx),%edx | |
0x00007f53c510fe89: shl $0x3,%rdx | |
0x00007f53c510fe8d: cmp 0x1f8(%rbx),%rdx | |
0x00007f53c510fe94: jne 0x00007f53c510fea3 | |
0x00007f53c510fe96: addq $0x1,0x200(%rbx) | |
0x00007f53c510fe9e: jmpq 0x00007f53c510ff09 | |
0x00007f53c510fea3: cmp 0x208(%rbx),%rdx | |
0x00007f53c510feaa: jne 0x00007f53c510feb9 | |
0x00007f53c510feac: addq $0x1,0x210(%rbx) | |
0x00007f53c510feb4: jmpq 0x00007f53c510ff09 | |
0x00007f53c510feb9: cmpq $0x0,0x1f8(%rbx) | |
0x00007f53c510fec4: jne 0x00007f53c510fedd | |
0x00007f53c510fec6: mov %rdx,0x1f8(%rbx) | |
0x00007f53c510fecd: movq $0x1,0x200(%rbx) | |
0x00007f53c510fed8: jmpq 0x00007f53c510ff09 | |
0x00007f53c510fedd: cmpq $0x0,0x208(%rbx) | |
0x00007f53c510fee8: jne 0x00007f53c510ff01 | |
0x00007f53c510feea: mov %rdx,0x208(%rbx) | |
0x00007f53c510fef1: movq $0x1,0x210(%rbx) | |
0x00007f53c510fefc: jmpq 0x00007f53c510ff09 | |
0x00007f53c510ff01: addq $0x1,0x1f0(%rbx) | |
0x00007f53c510ff09: mov %rdi,%rdx ;*invokevirtual println | |
; - test3::main@84 (line 14) | |
0x00007f53c510ff0c: nop | |
0x00007f53c510ff0d: mov $0xffffffffffffffff,%rax | |
0x00007f53c510ff17: callq 0x00007f53c5045f60 ; OopMap{off=1404} | |
;*invokevirtual println | |
; - test3::main@84 (line 14) | |
; {virtual_call} | |
0x00007f53c510ff1c: add $0x70,%rsp | |
0x00007f53c510ff20: pop %rbp | |
0x00007f53c510ff21: test %eax,0x189611d9(%rip) # 0x00007f53dda71100 | |
; {poll_return} | |
0x00007f53c510ff27: retq ;*return | |
; - test3::main@87 (line 15) | |
0x00007f53c510ff28: mov %eax,-0x14000(%rsp) | |
0x00007f53c510ff2f: push %rbp | |
0x00007f53c510ff30: sub $0x70,%rsp | |
0x00007f53c510ff34: mov 0x20(%rsi),%rbx | |
0x00007f53c510ff38: mov 0x10(%rsi),%rax | |
0x00007f53c510ff3c: mov 0x8(%rsi),%edx | |
0x00007f53c510ff3f: mov (%rsi),%ecx | |
0x00007f53c510ff41: mov %rsi,%rdi | |
0x00007f53c510ff44: mov %rbx,0x60(%rsp) | |
0x00007f53c510ff49: mov %rax,0x58(%rsp) | |
0x00007f53c510ff4e: mov %edx,0x54(%rsp) | |
0x00007f53c510ff52: mov %ecx,0x50(%rsp) | |
0x00007f53c510ff56: callq 0x00007f53dc65dea0 ; {runtime_call} | |
0x00007f53c510ff5b: mov 0x50(%rsp),%ecx | |
0x00007f53c510ff5f: mov %rcx,%rax | |
0x00007f53c510ff62: mov 0x54(%rsp),%edx | |
0x00007f53c510ff66: mov %rdx,%rsi | |
0x00007f53c510ff69: mov 0x58(%rsp),%rdx | |
0x00007f53c510ff6e: mov %rdx,%rdi | |
0x00007f53c510ff71: mov 0x60(%rsp),%rbx | |
0x00007f53c510ff76: jmpq 0x00007f53c510fd86 | |
0x00007f53c510ff7b: mov %rbx,0x8(%rsp) | |
0x00007f53c510ff80: movq $0xffffffffffffffff,(%rsp) | |
0x00007f53c510ff88: callq 0x00007f53c50fd820 ; OopMap{rsi=Oop off=1517} | |
;*synchronization entry | |
; - test3::main@-1 (line 4) | |
; {runtime_call} | |
0x00007f53c510ff8d: jmpq 0x00007f53c510f9de | |
0x00007f53c510ff92: callq 0x00007f53c50fa860 ; OopMap{off=1527} | |
;*anewarray | |
; - test3::main@3 (line 4) | |
; {runtime_call} | |
0x00007f53c510ff97: jmpq 0x00007f53c510fa66 | |
0x00007f53c510ff9c: mov %rdx,%rdx | |
0x00007f53c510ff9f: callq 0x00007f53c50f9b20 ; OopMap{rbx=Oop off=1540} | |
;*new ; - test3::main@18 (line 6) | |
; {runtime_call} | |
0x00007f53c510ffa4: jmpq 0x00007f53c510fab5 | |
0x00007f53c510ffa9: mov %rsi,0x8(%rsp) | |
0x00007f53c510ffae: movq $0xffffffffffffffff,(%rsp) | |
0x00007f53c510ffb6: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop rax=Oop off=1563} | |
;*synchronization entry | |
; - test3$Node::<init>@-1 (line 18) | |
; - test3::main@23 (line 6) | |
; {runtime_call} | |
0x00007f53c510ffbb: jmpq 0x00007f53c510fafc | |
0x00007f53c510ffc0: mov %rsi,0x8(%rsp) | |
0x00007f53c510ffc5: movq $0xffffffffffffffff,(%rsp) | |
0x00007f53c510ffcd: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop rax=Oop off=1586} | |
;*synchronization entry | |
; - java.lang.Object::<init>@-1 (line 37) | |
; - test3$Node::<init>@1 (line 18) | |
; - test3::main@23 (line 6) | |
; {runtime_call} | |
0x00007f53c510ffd2: jmpq 0x00007f53c510fb43 | |
0x00007f53c510ffd7: mov %r9,(%rsp) | |
0x00007f53c510ffdb: callq 0x00007f53c506b980 ; OopMap{rbx=Oop rax=Oop off=1600} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c510ffe0: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop rax=Oop off=1605} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c510ffe5: mov %rax,(%rsp) | |
0x00007f53c510ffe9: callq 0x00007f53c50fb2c0 ; OopMap{rbx=Oop rax=Oop off=1614} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c510ffee: mov %rsi,0x8(%rsp) | |
0x00007f53c510fff3: movq $0x1e,(%rsp) | |
0x00007f53c510fffb: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop off=1632} | |
;*goto | |
; - test3::main@30 (line 5) | |
; {runtime_call} | |
0x00007f53c5110000: jmpq 0x00007f53c510fca9 | |
0x00007f53c5110005: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop off=1642} | |
;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c511000a: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop off=1647} | |
;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c511000f: mov %rsi,(%rsp) | |
0x00007f53c5110013: callq 0x00007f53c506b980 ; OopMap{rbx=Oop off=1656} | |
;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c5110018: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop off=1661} | |
;*getfield i | |
; - test3::main@62 (line 11) | |
; {runtime_call} | |
0x00007f53c511001d: mov %rdi,0x8(%rsp) | |
0x00007f53c5110022: movq $0x47,(%rsp) | |
0x00007f53c511002a: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop off=1679} | |
;*goto | |
; - test3::main@71 (line 10) | |
; {runtime_call} | |
0x00007f53c511002f: jmpq 0x00007f53c510fd6d | |
0x00007f53c5110034: mov %rdx,0x8(%rsp) | |
0x00007f53c5110039: movq $0x4d,(%rsp) | |
0x00007f53c5110041: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop off=1702} | |
;*goto | |
; - test3::main@77 (line 9) | |
; {runtime_call} | |
0x00007f53c5110046: jmpq 0x00007f53c510fdff | |
0x00007f53c511004b: mov $0x0,%rdx ; {oop(NULL)} | |
0x00007f53c5110055: push %rax | |
0x00007f53c5110056: push %rbx | |
0x00007f53c5110057: mov 0x48(%rdx),%rbx | |
0x00007f53c511005b: push %rdi | |
0x00007f53c511005c: push %rsi | |
0x00007f53c511005d: push %rdx | |
0x00007f53c511005e: push %rcx | |
0x00007f53c511005f: push %r8 | |
0x00007f53c5110061: push %r9 | |
0x00007f53c5110063: push %r10 | |
0x00007f53c5110065: mov %rsp,%r10 | |
0x00007f53c5110068: and $0xfffffffffffffff0,%rsp | |
0x00007f53c511006c: push %r10 | |
0x00007f53c511006e: push %r11 | |
0x00007f53c5110070: mov $0x1,%edi | |
0x00007f53c5110075: callq 0x00007f53dcc503e0 ; {runtime_call} | |
0x00007f53c511007a: pop %r11 | |
0x00007f53c511007c: pop %rsp | |
0x00007f53c511007d: pop %r10 | |
0x00007f53c511007f: pop %r9 | |
0x00007f53c5110081: pop %r8 | |
0x00007f53c5110083: pop %rcx | |
0x00007f53c5110084: pop %rdx | |
0x00007f53c5110085: pop %rsi | |
0x00007f53c5110086: pop %rdi | |
0x00007f53c5110087: cmp 0x108(%rbx),%rax | |
0x00007f53c511008e: pop %rbx | |
0x00007f53c511008f: pop %rax | |
0x00007f53c5110090: jne 0x00007f53c51100a0 | |
0x00007f53c5110096: jmpq 0x00007f53c510fe6a | |
0x00007f53c511009b: mov $0xa4b5500,%eax | |
0x00007f53c51100a0: callq 0x00007f53c50fcc20 ; OopMap{off=1797} | |
;*getstatic out | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f53c51100a5: jmpq 0x00007f53c510fe60 | |
0x00007f53c51100aa: callq 0x00007f53c50f93c0 ; OopMap{rdx=Oop off=1807} | |
;*getstatic out | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f53c51100af: mov 0x0(%rdx),%esi | |
0x00007f53c51100b5: mov $0x6050b00,%eax | |
0x00007f53c51100ba: callq 0x00007f53c50fc420 ; OopMap{rdx=Oop off=1823} | |
;*getstatic out | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f53c51100bf: jmpq 0x00007f53c510fe70 | |
0x00007f53c51100c4: callq 0x00007f53c50f93c0 ; OopMap{rsi=Oop off=1833} | |
;*invokevirtual println | |
; - test3::main@84 (line 14) | |
; {runtime_call} | |
0x00007f53c51100c9: nop | |
0x00007f53c51100ca: nop | |
0x00007f53c51100cb: mov 0x290(%r15),%rax | |
0x00007f53c51100d2: mov $0x0,%r10 | |
0x00007f53c51100dc: mov %r10,0x290(%r15) | |
0x00007f53c51100e3: mov $0x0,%r10 | |
0x00007f53c51100ed: mov %r10,0x298(%r15) | |
0x00007f53c51100f4: add $0x70,%rsp | |
0x00007f53c51100f8: pop %rbp | |
0x00007f53c51100f9: jmpq 0x00007f53c506be20 ; {runtime_call} | |
0x00007f53c51100fe: hlt | |
0x00007f53c51100ff: hlt | |
[Stub Code] | |
0x00007f53c5110100: nop ; {no_reloc} | |
0x00007f53c5110101: nop | |
0x00007f53c5110102: nop | |
0x00007f53c5110103: nop | |
0x00007f53c5110104: nop | |
0x00007f53c5110105: mov $0x0,%rbx ; {static_stub} | |
0x00007f53c511010f: jmpq 0x00007f53c511010f ; {runtime_call} | |
[Exception Handler] | |
0x00007f53c5110114: callq 0x00007f53c50fb1a0 ; {runtime_call} | |
0x00007f53c5110119: mov %rsp,-0x28(%rsp) | |
0x00007f53c511011e: sub $0x80,%rsp | |
0x00007f53c5110125: mov %rax,0x78(%rsp) | |
0x00007f53c511012a: mov %rcx,0x70(%rsp) | |
0x00007f53c511012f: mov %rdx,0x68(%rsp) | |
0x00007f53c5110134: mov %rbx,0x60(%rsp) | |
0x00007f53c5110139: mov %rbp,0x50(%rsp) | |
0x00007f53c511013e: mov %rsi,0x48(%rsp) | |
0x00007f53c5110143: mov %rdi,0x40(%rsp) | |
0x00007f53c5110148: mov %r8,0x38(%rsp) | |
0x00007f53c511014d: mov %r9,0x30(%rsp) | |
0x00007f53c5110152: mov %r10,0x28(%rsp) | |
0x00007f53c5110157: mov %r11,0x20(%rsp) | |
0x00007f53c511015c: mov %r12,0x18(%rsp) | |
0x00007f53c5110161: mov %r13,0x10(%rsp) | |
0x00007f53c5110166: mov %r14,0x8(%rsp) | |
0x00007f53c511016b: mov %r15,(%rsp) | |
0x00007f53c511016f: mov $0x7f53dc77efbe,%rdi ; {external_word} | |
0x00007f53c5110179: mov $0x7f53c5110119,%rsi ; {internal_word} | |
0x00007f53c5110183: mov %rsp,%rdx | |
0x00007f53c5110186: and $0xfffffffffffffff0,%rsp | |
0x00007f53c511018a: callq 0x00007f53dc4de0b0 ; {runtime_call} | |
0x00007f53c511018f: hlt | |
[Deopt Handler Code] | |
0x00007f53c5110190: mov $0x7f53c5110190,%r10 ; {section_word} | |
0x00007f53c511019a: push %r10 | |
0x00007f53c511019c: jmpq 0x00007f53c5047100 ; {runtime_call} | |
0x00007f53c51101a1: hlt | |
0x00007f53c51101a2: hlt | |
0x00007f53c51101a3: hlt | |
0x00007f53c51101a4: hlt | |
0x00007f53c51101a5: hlt | |
0x00007f53c51101a6: hlt | |
0x00007f53c51101a7: hlt | |
OopMapSet contains 23 OopMaps | |
#0 | |
OopMap{rbx=Oop off=777} | |
#1 | |
OopMap{rbx=Oop off=973} | |
#2 | |
OopMap{rbx=Oop off=1119} | |
#3 | |
OopMap{off=1404} | |
#4 | |
OopMap{rsi=Oop off=1517} | |
#5 | |
OopMap{off=1527} | |
#6 | |
OopMap{rbx=Oop off=1540} | |
#7 | |
OopMap{rbx=Oop rax=Oop off=1563} | |
#8 | |
OopMap{rbx=Oop rax=Oop off=1586} | |
#9 | |
OopMap{rbx=Oop rax=Oop off=1600} | |
#10 | |
OopMap{rbx=Oop rax=Oop off=1605} | |
#11 | |
OopMap{rbx=Oop rax=Oop off=1614} | |
#12 | |
OopMap{rbx=Oop off=1632} | |
#13 | |
OopMap{rbx=Oop off=1642} | |
#14 | |
OopMap{rbx=Oop off=1647} | |
#15 | |
OopMap{rbx=Oop off=1656} | |
#16 | |
OopMap{rbx=Oop off=1661} | |
#17 | |
OopMap{rbx=Oop off=1679} | |
#18 | |
OopMap{rbx=Oop off=1702} | |
#19 | |
OopMap{off=1797} | |
#20 | |
OopMap{rdx=Oop off=1807} | |
#21 | |
OopMap{rdx=Oop off=1823} | |
#22 | |
OopMap{rsi=Oop off=1833} | |
Compiled method (c1) 52 21 3 test3::main (88 bytes) | |
total in heap [0x00007f53c510ea10,0x00007f53c510f7b0] = 3488 | |
relocation [0x00007f53c510eb38,0x00007f53c510ebd8] = 160 | |
main code [0x00007f53c510ebe0,0x00007f53c510f2e0] = 1792 | |
stub code [0x00007f53c510f2e0,0x00007f53c510f388] = 168 | |
oops [0x00007f53c510f388,0x00007f53c510f390] = 8 | |
metadata [0x00007f53c510f390,0x00007f53c510f3a8] = 24 | |
scopes data [0x00007f53c510f3a8,0x00007f53c510f4f0] = 328 | |
scopes pcs [0x00007f53c510f4f0,0x00007f53c510f780] = 656 | |
dependencies [0x00007f53c510f780,0x00007f53c510f788] = 8 | |
nul chk table [0x00007f53c510f788,0x00007f53c510f7b0] = 40 | |
Decoding compiled method 0x00007f53c510ea10: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3' | |
# parm0: rsi:rsi = '[Ljava/lang/String;' | |
# [sp+0x70] (sp of caller) | |
0x00007f53c510ebe0: mov %eax,-0x14000(%rsp) | |
0x00007f53c510ebe7: push %rbp | |
0x00007f53c510ebe8: sub $0x60,%rsp | |
0x00007f53c510ebec: mov $0x7f53d8a94968,%rbx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510ebf6: mov 0xdc(%rbx),%edx | |
0x00007f53c510ebfc: add $0x8,%edx | |
0x00007f53c510ebff: mov %edx,0xdc(%rbx) | |
0x00007f53c510ec05: mov $0x7f53d8a94388,%rbx ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510ec0f: and $0x1ff8,%edx | |
0x00007f53c510ec15: cmp $0x0,%edx | |
0x00007f53c510ec18: je 0x00007f53c510f158 | |
0x00007f53c510ec1e: mov $0xd6fe0408,%rbx ; {oop(a 'java/lang/Class' = 'test3')} | |
0x00007f53c510ec28: mov 0x68(%rbx),%r8d ;*getstatic MAX | |
; - test3::main@0 (line 4) | |
0x00007f53c510ec2c: mov %r8,%rbx | |
0x00007f53c510ec2f: mov $0x1000603e8,%rdx ; {metadata('test3$Node'[])} | |
0x00007f53c510ec39: movslq %ebx,%rbx | |
0x00007f53c510ec3c: mov %rbx,%rdi | |
0x00007f53c510ec3f: cmp $0xffffff,%rbx | |
0x00007f53c510ec46: ja 0x00007f53c510f16f | |
0x00007f53c510ec4c: mov $0x17,%rsi | |
0x00007f53c510ec56: lea (%rsi,%rbx,4),%rsi | |
0x00007f53c510ec5a: and $0xfffffffffffffff8,%rsi | |
0x00007f53c510ec5e: mov 0x60(%r15),%rax | |
0x00007f53c510ec62: lea (%rax,%rsi,1),%rsi | |
0x00007f53c510ec66: cmp 0x70(%r15),%rsi | |
0x00007f53c510ec6a: ja 0x00007f53c510f16f | |
0x00007f53c510ec70: mov %rsi,0x60(%r15) | |
0x00007f53c510ec74: sub %rax,%rsi | |
0x00007f53c510ec77: movq $0x1,(%rax) | |
0x00007f53c510ec7e: mov %rdx,%rcx | |
0x00007f53c510ec81: shr $0x3,%rcx | |
0x00007f53c510ec85: mov %ecx,0x8(%rax) | |
0x00007f53c510ec88: mov %ebx,0xc(%rax) | |
0x00007f53c510ec8b: sub $0x10,%rsi | |
0x00007f53c510ec8f: je 0x00007f53c510eca6 | |
0x00007f53c510ec95: xor %rbx,%rbx | |
0x00007f53c510ec98: shr $0x3,%rsi | |
0x00007f53c510ec9c: mov %rbx,0x8(%rax,%rsi,8) | |
0x00007f53c510eca1: dec %rsi | |
0x00007f53c510eca4: jne 0x00007f53c510ec9c | |
0x00007f53c510eca6: mov %rax,%rbx ;*anewarray | |
; - test3::main@3 (line 4) | |
0x00007f53c510eca9: mov $0x0,%r9d | |
0x00007f53c510ecaf: jmpq 0x00007f53c510eeff ;*iload_2 | |
; - test3::main@9 (line 5) | |
0x00007f53c510ecb4: nopl 0x0(%rax) | |
0x00007f53c510ecb8: mov $0x100060208,%rdx ; {metadata('test3$Node')} | |
0x00007f53c510ecc2: mov 0x60(%r15),%rax | |
0x00007f53c510ecc6: lea 0x10(%rax),%rdi | |
0x00007f53c510ecca: cmp 0x70(%r15),%rdi | |
0x00007f53c510ecce: ja 0x00007f53c510f179 | |
0x00007f53c510ecd4: mov %rdi,0x60(%r15) | |
0x00007f53c510ecd8: mov 0xa8(%rdx),%rcx | |
0x00007f53c510ecdf: mov %rcx,(%rax) | |
0x00007f53c510ece2: mov %rdx,%rcx | |
0x00007f53c510ece5: shr $0x3,%rcx | |
0x00007f53c510ece9: mov %ecx,0x8(%rax) | |
0x00007f53c510ecec: xor %rcx,%rcx | |
0x00007f53c510ecef: mov %ecx,0xc(%rax) | |
0x00007f53c510ecf2: xor %rcx,%rcx ;*new ; - test3::main@18 (line 6) | |
0x00007f53c510ecf5: mov %rax,%rdx | |
0x00007f53c510ecf8: mov $0x7f53d8a94968,%rsi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510ed02: addq $0x1,0x128(%rsi) | |
0x00007f53c510ed0a: mov $0x7f53d8a94830,%rdx ; {metadata(method data for {method} {0x00007f53d8a94750} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f53c510ed14: mov 0xdc(%rdx),%esi | |
0x00007f53c510ed1a: add $0x8,%esi | |
0x00007f53c510ed1d: mov %esi,0xdc(%rdx) | |
0x00007f53c510ed23: mov $0x7f53d8a94750,%rdx ; {metadata({method} {0x00007f53d8a94750} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f53c510ed2d: and $0x7ffff8,%esi | |
0x00007f53c510ed33: cmp $0x0,%esi | |
0x00007f53c510ed36: je 0x00007f53c510f186 | |
0x00007f53c510ed3c: mov %rax,%rdx | |
0x00007f53c510ed3f: mov $0x7f53d8a94830,%rsi ; {metadata(method data for {method} {0x00007f53d8a94750} '<init>' '(I)V' in 'test3$Node')} | |
0x00007f53c510ed49: addq $0x1,0x108(%rsi) | |
0x00007f53c510ed51: mov $0x7f53d88081b0,%rdx ; {metadata(method data for {method} {0x00007f53d8694480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f53c510ed5b: mov 0xdc(%rdx),%esi | |
0x00007f53c510ed61: add $0x8,%esi | |
0x00007f53c510ed64: mov %esi,0xdc(%rdx) | |
0x00007f53c510ed6a: mov $0x7f53d8694480,%rdx ; {metadata({method} {0x00007f53d8694480} '<init>' '()V' in 'java/lang/Object')} | |
0x00007f53c510ed74: and $0x7ffff8,%esi | |
0x00007f53c510ed7a: cmp $0x0,%esi | |
0x00007f53c510ed7d: je 0x00007f53c510f19d | |
0x00007f53c510ed83: mov %r9d,0xc(%rax) ;*putfield i | |
; - test3$Node::<init>@6 (line 18) | |
; - test3::main@23 (line 6) | |
0x00007f53c510ed87: movslq %r9d,%rdx | |
0x00007f53c510ed8a: lea 0x10(%rbx,%rdx,4),%rdx | |
0x00007f53c510ed8f: cmp 0xc(%rbx),%r9d | |
0x00007f53c510ed93: jae 0x00007f53c510f1b4 | |
0x00007f53c510ed99: cmp $0x0,%rax | |
0x00007f53c510ed9d: jne 0x00007f53c510edb8 | |
0x00007f53c510ed9f: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510eda9: orl $0x100,0x130(%rdi) | |
0x00007f53c510edb3: jmpq 0x00007f53c510ee9c | |
0x00007f53c510edb8: mov 0x8(%rbx),%esi ; implicit exception: dispatches to 0x00007f53c510f1bd | |
0x00007f53c510edbb: shl $0x3,%rsi | |
0x00007f53c510edbf: mov 0x8(%rax),%edi | |
0x00007f53c510edc2: shl $0x3,%rdi | |
0x00007f53c510edc6: mov 0xe0(%rsi),%rsi | |
0x00007f53c510edcd: cmp %rsi,%rdi | |
0x00007f53c510edd0: je 0x00007f53c510edfe | |
0x00007f53c510edd6: mov 0xc(%rsi),%ecx | |
0x00007f53c510edd9: cmp (%rdi,%rcx,1),%rsi | |
0x00007f53c510eddd: je 0x00007f53c510edfe | |
0x00007f53c510ede3: cmp $0x18,%ecx | |
0x00007f53c510ede6: jne 0x00007f53c510ee85 | |
0x00007f53c510edec: push %rdi | |
0x00007f53c510eded: push %rsi | |
0x00007f53c510edee: callq 0x00007f53c50fb960 ; {runtime_call} | |
0x00007f53c510edf3: pop %rdi | |
0x00007f53c510edf4: pop %rsi | |
0x00007f53c510edf5: cmp $0x0,%esi | |
0x00007f53c510edf8: je 0x00007f53c510ee85 | |
0x00007f53c510edfe: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510ee08: mov 0x8(%rax),%esi | |
0x00007f53c510ee0b: shl $0x3,%rsi | |
0x00007f53c510ee0f: cmp 0x140(%rdi),%rsi | |
0x00007f53c510ee16: jne 0x00007f53c510ee25 | |
0x00007f53c510ee18: addq $0x1,0x148(%rdi) | |
0x00007f53c510ee20: jmpq 0x00007f53c510ee9c | |
0x00007f53c510ee25: cmp 0x150(%rdi),%rsi | |
0x00007f53c510ee2c: jne 0x00007f53c510ee3b | |
0x00007f53c510ee2e: addq $0x1,0x158(%rdi) | |
0x00007f53c510ee36: jmpq 0x00007f53c510ee9c | |
0x00007f53c510ee3b: cmpq $0x0,0x140(%rdi) | |
0x00007f53c510ee46: jne 0x00007f53c510ee5f | |
0x00007f53c510ee48: mov %rsi,0x140(%rdi) | |
0x00007f53c510ee4f: movq $0x1,0x148(%rdi) | |
0x00007f53c510ee5a: jmpq 0x00007f53c510ee9c | |
0x00007f53c510ee5f: cmpq $0x0,0x150(%rdi) | |
0x00007f53c510ee6a: jne 0x00007f53c510ee83 | |
0x00007f53c510ee6c: mov %rsi,0x150(%rdi) | |
0x00007f53c510ee73: movq $0x1,0x158(%rdi) | |
0x00007f53c510ee7e: jmpq 0x00007f53c510ee9c | |
0x00007f53c510ee83: jmp 0x00007f53c510ee9c | |
0x00007f53c510ee85: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510ee8f: subq $0x1,0x138(%rdi) | |
0x00007f53c510ee97: jmpq 0x00007f53c510f1c2 | |
0x00007f53c510ee9c: mov %rax,%r10 | |
0x00007f53c510ee9f: mov %r10d,(%rdx) | |
0x00007f53c510eea2: shr $0x9,%rdx | |
0x00007f53c510eea6: mov $0x7f53d98df000,%rsi | |
0x00007f53c510eeb0: movb $0x0,(%rdx,%rsi,1) ;*aastore | |
; - test3::main@26 (line 6) | |
0x00007f53c510eeb4: inc %r9d | |
0x00007f53c510eeb7: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510eec1: mov 0xe0(%rdx),%esi | |
0x00007f53c510eec7: add $0x8,%esi | |
0x00007f53c510eeca: mov %esi,0xe0(%rdx) | |
0x00007f53c510eed0: mov $0x7f53d8a94388,%rdx ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510eeda: and $0xfff8,%esi | |
0x00007f53c510eee0: cmp $0x0,%esi | |
0x00007f53c510eee3: je 0x00007f53c510f1cb ; OopMap{rbx=Oop off=777} | |
;*goto | |
; - test3::main@30 (line 5) | |
0x00007f53c510eee9: test %eax,0x18962211(%rip) # 0x00007f53dda71100 | |
; {poll} | |
0x00007f53c510eeef: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510eef9: incl 0x168(%rdx) ;*goto | |
; - test3::main@30 (line 5) | |
0x00007f53c510eeff: cmp %r8d,%r9d | |
0x00007f53c510ef02: mov $0x7f53d8a94968,%rdx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510ef0c: mov $0x108,%rsi | |
0x00007f53c510ef16: jge 0x00007f53c510ef26 | |
0x00007f53c510ef1c: mov $0x118,%rsi | |
0x00007f53c510ef26: mov (%rdx,%rsi,1),%rdi | |
0x00007f53c510ef2a: lea 0x1(%rdi),%rdi | |
0x00007f53c510ef2e: mov %rdi,(%rdx,%rsi,1) | |
0x00007f53c510ef32: jl 0x00007f53c510ecb8 ;*if_icmpge | |
; - test3::main@13 (line 5) | |
0x00007f53c510ef38: mov $0x0,%edx | |
0x00007f53c510ef3d: mov $0x0,%rsi | |
0x00007f53c510ef47: jmpq 0x00007f53c510f049 ;*iload | |
; - test3::main@38 (line 9) | |
0x00007f53c510ef4c: nopl 0x0(%rax) | |
0x00007f53c510ef50: mov $0x0,%edi | |
0x00007f53c510ef55: jmpq 0x00007f53c510efc6 ;*iload | |
; - test3::main@49 (line 10) | |
0x00007f53c510ef5a: nopw 0x0(%rax,%rax,1) | |
0x00007f53c510ef60: movslq %edx,%rax | |
0x00007f53c510ef63: cmp 0xc(%rbx),%edx | |
0x00007f53c510ef66: jae 0x00007f53c510f1e2 | |
0x00007f53c510ef6c: mov 0x10(%rbx,%rax,4),%eax ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c510ef70: mov 0xc(%rax),%eax ;*getfield i | |
; - test3::main@62 (line 11) | |
; implicit exception: dispatches to 0x00007f53c510f1eb | |
0x00007f53c510ef73: movslq %eax,%rax | |
0x00007f53c510ef76: add %rsi,%rax | |
0x00007f53c510ef79: inc %edi | |
0x00007f53c510ef7b: mov $0x7f53d8a94968,%rsi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510ef85: mov 0xe0(%rsi),%ecx | |
0x00007f53c510ef8b: add $0x8,%ecx | |
0x00007f53c510ef8e: mov %ecx,0xe0(%rsi) | |
0x00007f53c510ef94: mov $0x7f53d8a94388,%rsi ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510ef9e: and $0xfff8,%ecx | |
0x00007f53c510efa4: cmp $0x0,%ecx | |
0x00007f53c510efa7: je 0x00007f53c510f1f0 ; OopMap{rbx=Oop off=973} | |
;*goto | |
; - test3::main@71 (line 10) | |
0x00007f53c510efad: test %eax,0x1896214d(%rip) # 0x00007f53dda71100 | |
; {poll} | |
0x00007f53c510efb3: mov $0x7f53d8a94968,%rsi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510efbd: incl 0x1c0(%rsi) | |
0x00007f53c510efc3: mov %rax,%rsi ;*goto | |
; - test3::main@71 (line 10) | |
0x00007f53c510efc6: cmp %r8d,%edi | |
0x00007f53c510efc9: mov $0x7f53d8a94968,%rax ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510efd3: mov $0x1a0,%rcx | |
0x00007f53c510efdd: jge 0x00007f53c510efed | |
0x00007f53c510efe3: mov $0x1b0,%rcx | |
0x00007f53c510efed: mov (%rax,%rcx,1),%r9 | |
0x00007f53c510eff1: lea 0x1(%r9),%r9 | |
0x00007f53c510eff5: mov %r9,(%rax,%rcx,1) | |
0x00007f53c510eff9: jl 0x00007f53c510ef60 ;*if_icmpge | |
; - test3::main@54 (line 10) | |
0x00007f53c510efff: inc %edx | |
0x00007f53c510f001: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510f00b: mov 0xe0(%rdi),%eax | |
0x00007f53c510f011: add $0x8,%eax | |
0x00007f53c510f014: mov %eax,0xe0(%rdi) | |
0x00007f53c510f01a: mov $0x7f53d8a94388,%rdi ; {metadata({method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510f024: and $0xfff8,%eax | |
0x00007f53c510f02a: cmp $0x0,%eax | |
0x00007f53c510f02d: je 0x00007f53c510f207 ; OopMap{rbx=Oop off=1107} | |
;*goto | |
; - test3::main@77 (line 9) | |
0x00007f53c510f033: test %eax,0x189620c7(%rip) # 0x00007f53dda71100 | |
; {poll} | |
0x00007f53c510f039: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510f043: incl 0x1d8(%rdi) ;*goto | |
; - test3::main@77 (line 9) | |
0x00007f53c510f049: cmp %r8d,%edx | |
0x00007f53c510f04c: mov $0x7f53d8a94968,%rdi ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510f056: mov $0x180,%rax | |
0x00007f53c510f060: jge 0x00007f53c510f070 | |
0x00007f53c510f066: mov $0x190,%rax | |
0x00007f53c510f070: mov (%rdi,%rax,1),%rcx | |
0x00007f53c510f074: lea 0x1(%rcx),%rcx | |
0x00007f53c510f078: mov %rcx,(%rdi,%rax,1) | |
0x00007f53c510f07c: jl 0x00007f53c510ef50 ;*if_icmpge | |
; - test3::main@43 (line 9) | |
0x00007f53c510f082: nopw 0x0(%rax,%rax,1) | |
0x00007f53c510f088: jmpq 0x00007f53c510f273 ; {no_reloc} | |
0x00007f53c510f08d: add %al,(%rax) | |
0x00007f53c510f08f: add %al,(%rax) | |
0x00007f53c510f091: add %ah,0xf(%rsi) | |
0x00007f53c510f094: (bad) | |
0x00007f53c510f095: add %r8b,(%rax) | |
0x00007f53c510f098: jmpq 0x00007f53c510f28d ; implicit exception: dispatches to 0x00007f53c510f27d | |
0x00007f53c510f09d: nop ;*getstatic out | |
; - test3::main@80 (line 14) | |
0x00007f53c510f09e: cmp (%rdi),%rax ; implicit exception: dispatches to 0x00007f53c510f297 | |
0x00007f53c510f0a1: mov %rdi,%rdx | |
0x00007f53c510f0a4: mov $0x7f53d8a94968,%rbx ; {metadata(method data for {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3')} | |
0x00007f53c510f0ae: mov 0x8(%rdx),%edx | |
0x00007f53c510f0b1: shl $0x3,%rdx | |
0x00007f53c510f0b5: cmp 0x1f8(%rbx),%rdx | |
0x00007f53c510f0bc: jne 0x00007f53c510f0cb | |
0x00007f53c510f0be: addq $0x1,0x200(%rbx) | |
0x00007f53c510f0c6: jmpq 0x00007f53c510f131 | |
0x00007f53c510f0cb: cmp 0x208(%rbx),%rdx | |
0x00007f53c510f0d2: jne 0x00007f53c510f0e1 | |
0x00007f53c510f0d4: addq $0x1,0x210(%rbx) | |
0x00007f53c510f0dc: jmpq 0x00007f53c510f131 | |
0x00007f53c510f0e1: cmpq $0x0,0x1f8(%rbx) | |
0x00007f53c510f0ec: jne 0x00007f53c510f105 | |
0x00007f53c510f0ee: mov %rdx,0x1f8(%rbx) | |
0x00007f53c510f0f5: movq $0x1,0x200(%rbx) | |
0x00007f53c510f100: jmpq 0x00007f53c510f131 | |
0x00007f53c510f105: cmpq $0x0,0x208(%rbx) | |
0x00007f53c510f110: jne 0x00007f53c510f129 | |
0x00007f53c510f112: mov %rdx,0x208(%rbx) | |
0x00007f53c510f119: movq $0x1,0x210(%rbx) | |
0x00007f53c510f124: jmpq 0x00007f53c510f131 | |
0x00007f53c510f129: addq $0x1,0x1f0(%rbx) | |
0x00007f53c510f131: mov %rsi,%rdx | |
0x00007f53c510f134: mov %rdi,%rsi ;*invokevirtual println | |
; - test3::main@84 (line 14) | |
0x00007f53c510f137: nop | |
0x00007f53c510f138: nop | |
0x00007f53c510f139: nop | |
0x00007f53c510f13a: nop | |
0x00007f53c510f13b: nop | |
0x00007f53c510f13c: nop | |
0x00007f53c510f13d: mov $0xffffffffffffffff,%rax | |
0x00007f53c510f147: callq 0x00007f53c5045f60 ; OopMap{off=1388} | |
;*invokevirtual println | |
; - test3::main@84 (line 14) | |
; {virtual_call} | |
0x00007f53c510f14c: add $0x60,%rsp | |
0x00007f53c510f150: pop %rbp | |
0x00007f53c510f151: test %eax,0x18961fa9(%rip) # 0x00007f53dda71100 | |
; {poll_return} | |
0x00007f53c510f157: retq | |
0x00007f53c510f158: mov %rbx,0x8(%rsp) | |
0x00007f53c510f15d: movq $0xffffffffffffffff,(%rsp) | |
0x00007f53c510f165: callq 0x00007f53c50fd820 ; OopMap{rsi=Oop off=1418} | |
;*synchronization entry | |
; - test3::main@-1 (line 4) | |
; {runtime_call} | |
0x00007f53c510f16a: jmpq 0x00007f53c510ec1e | |
0x00007f53c510f16f: callq 0x00007f53c50fa860 ; OopMap{off=1428} | |
;*anewarray | |
; - test3::main@3 (line 4) | |
; {runtime_call} | |
0x00007f53c510f174: jmpq 0x00007f53c510eca6 | |
0x00007f53c510f179: mov %rdx,%rdx | |
0x00007f53c510f17c: callq 0x00007f53c50f9b20 ; OopMap{rbx=Oop off=1441} | |
;*new ; - test3::main@18 (line 6) | |
; {runtime_call} | |
0x00007f53c510f181: jmpq 0x00007f53c510ecf5 | |
0x00007f53c510f186: mov %rdx,0x8(%rsp) | |
0x00007f53c510f18b: movq $0xffffffffffffffff,(%rsp) | |
0x00007f53c510f193: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop rax=Oop off=1464} | |
;*synchronization entry | |
; - test3$Node::<init>@-1 (line 18) | |
; - test3::main@23 (line 6) | |
; {runtime_call} | |
0x00007f53c510f198: jmpq 0x00007f53c510ed3c | |
0x00007f53c510f19d: mov %rdx,0x8(%rsp) | |
0x00007f53c510f1a2: movq $0xffffffffffffffff,(%rsp) | |
0x00007f53c510f1aa: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop rax=Oop off=1487} | |
;*synchronization entry | |
; - java.lang.Object::<init>@-1 (line 37) | |
; - test3$Node::<init>@1 (line 18) | |
; - test3::main@23 (line 6) | |
; {runtime_call} | |
0x00007f53c510f1af: jmpq 0x00007f53c510ed83 | |
0x00007f53c510f1b4: mov %r9,(%rsp) | |
0x00007f53c510f1b8: callq 0x00007f53c506b980 ; OopMap{rbx=Oop rax=Oop off=1501} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c510f1bd: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop rax=Oop off=1506} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c510f1c2: mov %rax,(%rsp) | |
0x00007f53c510f1c6: callq 0x00007f53c50fb2c0 ; OopMap{rbx=Oop rax=Oop off=1515} | |
;*aastore | |
; - test3::main@26 (line 6) | |
; {runtime_call} | |
0x00007f53c510f1cb: mov %rdx,0x8(%rsp) | |
0x00007f53c510f1d0: movq $0x1e,(%rsp) | |
0x00007f53c510f1d8: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop off=1533} | |
;*goto | |
; - test3::main@30 (line 5) | |
; {runtime_call} | |
0x00007f53c510f1dd: jmpq 0x00007f53c510eee9 | |
0x00007f53c510f1e2: mov %rdx,(%rsp) | |
0x00007f53c510f1e6: callq 0x00007f53c506b980 ; OopMap{rbx=Oop off=1547} | |
;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c510f1eb: callq 0x00007f53c50f93c0 ; OopMap{rbx=Oop off=1552} | |
;*getfield i | |
; - test3::main@62 (line 11) | |
; {runtime_call} | |
0x00007f53c510f1f0: mov %rsi,0x8(%rsp) | |
0x00007f53c510f1f5: movq $0x47,(%rsp) | |
0x00007f53c510f1fd: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop off=1570} | |
;*goto | |
; - test3::main@71 (line 10) | |
; {runtime_call} | |
0x00007f53c510f202: jmpq 0x00007f53c510efad | |
0x00007f53c510f207: mov %rdi,0x8(%rsp) | |
0x00007f53c510f20c: movq $0x4d,(%rsp) | |
0x00007f53c510f214: callq 0x00007f53c50fd820 ; OopMap{rbx=Oop off=1593} | |
;*goto | |
; - test3::main@77 (line 9) | |
; {runtime_call} | |
0x00007f53c510f219: jmpq 0x00007f53c510f033 | |
0x00007f53c510f21e: mov $0x0,%rdx ; {oop(NULL)} | |
0x00007f53c510f228: push %rax | |
0x00007f53c510f229: push %rbx | |
0x00007f53c510f22a: mov 0x48(%rdx),%rbx | |
0x00007f53c510f22e: push %rdi | |
0x00007f53c510f22f: push %rsi | |
0x00007f53c510f230: push %rdx | |
0x00007f53c510f231: push %rcx | |
0x00007f53c510f232: push %r8 | |
0x00007f53c510f234: push %r9 | |
0x00007f53c510f236: push %r10 | |
0x00007f53c510f238: mov %rsp,%r10 | |
0x00007f53c510f23b: and $0xfffffffffffffff0,%rsp | |
0x00007f53c510f23f: push %r10 | |
0x00007f53c510f241: push %r11 | |
0x00007f53c510f243: mov $0x1,%edi | |
0x00007f53c510f248: callq 0x00007f53dcc503e0 ; {runtime_call} | |
0x00007f53c510f24d: pop %r11 | |
0x00007f53c510f24f: pop %rsp | |
0x00007f53c510f250: pop %r10 | |
0x00007f53c510f252: pop %r9 | |
0x00007f53c510f254: pop %r8 | |
0x00007f53c510f256: pop %rcx | |
0x00007f53c510f257: pop %rdx | |
0x00007f53c510f258: pop %rsi | |
0x00007f53c510f259: pop %rdi | |
0x00007f53c510f25a: cmp 0x108(%rbx),%rax | |
0x00007f53c510f261: pop %rbx | |
0x00007f53c510f262: pop %rax | |
0x00007f53c510f263: jne 0x00007f53c510f273 | |
0x00007f53c510f269: jmpq 0x00007f53c510f092 | |
0x00007f53c510f26e: mov $0xa4b5500,%eax | |
0x00007f53c510f273: callq 0x00007f53c50fcc20 ; OopMap{off=1688} | |
;*getstatic out | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f53c510f278: jmpq 0x00007f53c510f088 | |
0x00007f53c510f27d: callq 0x00007f53c50f93c0 ; OopMap{rdx=Oop off=1698} | |
;*getstatic out | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f53c510f282: mov 0x0(%rdx),%edi | |
0x00007f53c510f288: mov $0x6050b00,%eax | |
0x00007f53c510f28d: callq 0x00007f53c50fc420 ; OopMap{rdx=Oop off=1714} | |
;*getstatic out | |
; - test3::main@80 (line 14) | |
; {runtime_call} | |
0x00007f53c510f292: jmpq 0x00007f53c510f098 | |
0x00007f53c510f297: callq 0x00007f53c50f93c0 ; OopMap{rdi=Oop off=1724} | |
;*invokevirtual println | |
; - test3::main@84 (line 14) | |
; {runtime_call} | |
0x00007f53c510f29c: nop | |
0x00007f53c510f29d: nop | |
0x00007f53c510f29e: mov 0x290(%r15),%rax | |
0x00007f53c510f2a5: mov $0x0,%r10 | |
0x00007f53c510f2af: mov %r10,0x290(%r15) | |
0x00007f53c510f2b6: mov $0x0,%r10 | |
0x00007f53c510f2c0: mov %r10,0x298(%r15) | |
0x00007f53c510f2c7: add $0x60,%rsp | |
0x00007f53c510f2cb: pop %rbp | |
0x00007f53c510f2cc: jmpq 0x00007f53c506be20 ; {runtime_call} | |
0x00007f53c510f2d1: hlt | |
0x00007f53c510f2d2: hlt | |
0x00007f53c510f2d3: hlt | |
0x00007f53c510f2d4: hlt | |
0x00007f53c510f2d5: hlt | |
0x00007f53c510f2d6: hlt | |
0x00007f53c510f2d7: hlt | |
0x00007f53c510f2d8: hlt | |
0x00007f53c510f2d9: hlt | |
0x00007f53c510f2da: hlt | |
0x00007f53c510f2db: hlt | |
0x00007f53c510f2dc: hlt | |
0x00007f53c510f2dd: hlt | |
0x00007f53c510f2de: hlt | |
0x00007f53c510f2df: hlt | |
[Stub Code] | |
0x00007f53c510f2e0: nop ; {no_reloc} | |
0x00007f53c510f2e1: nop | |
0x00007f53c510f2e2: nop | |
0x00007f53c510f2e3: nop | |
0x00007f53c510f2e4: nop | |
0x00007f53c510f2e5: mov $0x0,%rbx ; {static_stub} | |
0x00007f53c510f2ef: jmpq 0x00007f53c510f2ef ; {runtime_call} | |
[Exception Handler] | |
0x00007f53c510f2f4: callq 0x00007f53c50fb1a0 ; {runtime_call} | |
0x00007f53c510f2f9: mov %rsp,-0x28(%rsp) | |
0x00007f53c510f2fe: sub $0x80,%rsp | |
0x00007f53c510f305: mov %rax,0x78(%rsp) | |
0x00007f53c510f30a: mov %rcx,0x70(%rsp) | |
0x00007f53c510f30f: mov %rdx,0x68(%rsp) | |
0x00007f53c510f314: mov %rbx,0x60(%rsp) | |
0x00007f53c510f319: mov %rbp,0x50(%rsp) | |
0x00007f53c510f31e: mov %rsi,0x48(%rsp) | |
0x00007f53c510f323: mov %rdi,0x40(%rsp) | |
0x00007f53c510f328: mov %r8,0x38(%rsp) | |
0x00007f53c510f32d: mov %r9,0x30(%rsp) | |
0x00007f53c510f332: mov %r10,0x28(%rsp) | |
0x00007f53c510f337: mov %r11,0x20(%rsp) | |
0x00007f53c510f33c: mov %r12,0x18(%rsp) | |
0x00007f53c510f341: mov %r13,0x10(%rsp) | |
0x00007f53c510f346: mov %r14,0x8(%rsp) | |
0x00007f53c510f34b: mov %r15,(%rsp) | |
0x00007f53c510f34f: mov $0x7f53dc77efbe,%rdi ; {external_word} | |
0x00007f53c510f359: mov $0x7f53c510f2f9,%rsi ; {internal_word} | |
0x00007f53c510f363: mov %rsp,%rdx | |
0x00007f53c510f366: and $0xfffffffffffffff0,%rsp | |
0x00007f53c510f36a: callq 0x00007f53dc4de0b0 ; {runtime_call} | |
0x00007f53c510f36f: hlt | |
[Deopt Handler Code] | |
0x00007f53c510f370: mov $0x7f53c510f370,%r10 ; {section_word} | |
0x00007f53c510f37a: push %r10 | |
0x00007f53c510f37c: jmpq 0x00007f53c5047100 ; {runtime_call} | |
0x00007f53c510f381: hlt | |
0x00007f53c510f382: hlt | |
0x00007f53c510f383: hlt | |
0x00007f53c510f384: hlt | |
0x00007f53c510f385: hlt | |
0x00007f53c510f386: hlt | |
0x00007f53c510f387: hlt | |
OopMapSet contains 21 OopMaps | |
#0 | |
OopMap{rbx=Oop off=777} | |
#1 | |
OopMap{rbx=Oop off=973} | |
#2 | |
OopMap{rbx=Oop off=1107} | |
#3 | |
OopMap{off=1388} | |
#4 | |
OopMap{rsi=Oop off=1418} | |
#5 | |
OopMap{off=1428} | |
#6 | |
OopMap{rbx=Oop off=1441} | |
#7 | |
OopMap{rbx=Oop rax=Oop off=1464} | |
#8 | |
OopMap{rbx=Oop rax=Oop off=1487} | |
#9 | |
OopMap{rbx=Oop rax=Oop off=1501} | |
#10 | |
OopMap{rbx=Oop rax=Oop off=1506} | |
#11 | |
OopMap{rbx=Oop rax=Oop off=1515} | |
#12 | |
OopMap{rbx=Oop off=1533} | |
#13 | |
OopMap{rbx=Oop off=1547} | |
#14 | |
OopMap{rbx=Oop off=1552} | |
#15 | |
OopMap{rbx=Oop off=1570} | |
#16 | |
OopMap{rbx=Oop off=1593} | |
#17 | |
OopMap{off=1688} | |
#18 | |
OopMap{rdx=Oop off=1698} | |
#19 | |
OopMap{rdx=Oop off=1714} | |
#20 | |
OopMap{rdi=Oop off=1724} | |
Compiled method (c2) 92 22 % 4 test3::main @ 49 (88 bytes) | |
total in heap [0x00007f53c5114390,0x00007f53c5114ac8] = 1848 | |
relocation [0x00007f53c51144b8,0x00007f53c51144e0] = 40 | |
main code [0x00007f53c51144e0,0x00007f53c5114720] = 576 | |
stub code [0x00007f53c5114720,0x00007f53c5114738] = 24 | |
oops [0x00007f53c5114738,0x00007f53c5114740] = 8 | |
metadata [0x00007f53c5114740,0x00007f53c5114758] = 24 | |
scopes data [0x00007f53c5114758,0x00007f53c5114808] = 176 | |
scopes pcs [0x00007f53c5114808,0x00007f53c5114a68] = 608 | |
dependencies [0x00007f53c5114a68,0x00007f53c5114a70] = 8 | |
nul chk table [0x00007f53c5114a70,0x00007f53c5114ac8] = 88 | |
Decoding compiled method 0x00007f53c5114390: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x00007f53d8a94388} 'main' '([Ljava/lang/String;)V' in 'test3' | |
0x00007f53c51144e0: callq 0x00007f53dc5b3fb0 ; {runtime_call} | |
0x00007f53c51144e5: nopw 0x0(%rax,%rax,1) | |
0x00007f53c51144f0: mov %eax,-0x14000(%rsp) | |
0x00007f53c51144f7: push %rbp | |
0x00007f53c51144f8: sub $0x30,%rsp | |
0x00007f53c51144fc: mov (%rsi),%r14d | |
0x00007f53c51144ff: mov 0x20(%rsi),%rbx | |
0x00007f53c5114503: mov 0x10(%rsi),%r13 | |
0x00007f53c5114507: mov 0x8(%rsi),%ebp | |
0x00007f53c511450a: mov %rsi,%rdi | |
0x00007f53c511450d: mov $0x7f53dc65dea0,%r10 | |
0x00007f53c5114517: callq *%r10 | |
0x00007f53c511451a: test %rbx,%rbx | |
0x00007f53c511451d: je 0x00007f53c511466c | |
0x00007f53c5114523: mov 0x8(%rbx),%r11d | |
0x00007f53c5114527: cmp $0x2000c07d,%r11d ; {metadata('test3$Node'[])} | |
0x00007f53c511452e: jne 0x00007f53c51146b5 ;*iload | |
; - test3::main@49 (line 10) | |
0x00007f53c5114534: mov %rbx,%rsi | |
0x00007f53c5114537: add $0xc,%rsi ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c511453b: mov $0xd6fe0408,%r10 ; {oop(a 'java/lang/Class' = 'test3')} | |
0x00007f53c5114545: mov 0x68(%r10),%r10d ;*getstatic MAX | |
; - test3::main@51 (line 10) | |
0x00007f53c5114549: mov %r10d,%r9d | |
0x00007f53c511454c: add $0xfffffffffffffff9,%r9d | |
0x00007f53c5114550: mov $0x80000000,%r8d | |
0x00007f53c5114556: cmp %r9d,%r10d | |
0x00007f53c5114559: cmovl %r8d,%r9d | |
0x00007f53c511455d: mov %r9d,(%rsp) | |
0x00007f53c5114561: jmpq 0x00007f53c5114635 | |
0x00007f53c5114566: nopw 0x0(%rax,%rax,1) | |
0x00007f53c5114570: mov %rax,%r13 | |
0x00007f53c5114573: vmovq %xmm0,%rsi | |
0x00007f53c5114578: vmovd %xmm2,%r10d | |
0x00007f53c511457d: mov 0x10(%rbx,%rbp,4),%r11d ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c5114582: mov 0xc(%r11),%r9d ;*getfield i | |
; - test3::main@62 (line 11) | |
; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c5114586: mov 0x10(%rbx,%rbp,4),%r8d ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c511458b: mov 0xc(%r8),%r8d ;*getfield i | |
; - test3::main@62 (line 11) | |
; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c511458f: mov 0x10(%rbx,%rbp,4),%r11d ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c5114594: mov 0xc(%r11),%edi ;*getfield i | |
; - test3::main@62 (line 11) | |
; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c5114598: mov 0x10(%rbx,%rbp,4),%r11d ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c511459d: mov 0xc(%r11),%ecx ;*getfield i | |
; - test3::main@62 (line 11) | |
; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c51145a1: mov 0x10(%rbx,%rbp,4),%r11d | |
0x00007f53c51145a6: movslq 0xc(%r11),%rdx ; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c51145aa: mov 0x10(%rbx,%rbp,4),%r11d | |
0x00007f53c51145af: movslq 0xc(%r11),%r11 ; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c51145b3: vmovd %r10d,%xmm2 | |
0x00007f53c51145b8: vmovq %rsi,%xmm0 | |
0x00007f53c51145bd: mov 0x10(%rbx,%rbp,4),%r10d | |
0x00007f53c51145c2: movslq 0xc(%r10),%rsi ; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c51145c6: mov 0x10(%rbx,%rbp,4),%r10d ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c51145cb: movslq 0xc(%r10),%rax ; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c51145cf: movslq %ecx,%r10 | |
0x00007f53c51145d2: movslq %edi,%rcx | |
0x00007f53c51145d5: movslq %r9d,%r9 | |
0x00007f53c51145d8: add %r13,%r9 | |
0x00007f53c51145db: movslq %r8d,%r8 | |
0x00007f53c51145de: add %r9,%r8 | |
0x00007f53c51145e1: add %r8,%rcx | |
0x00007f53c51145e4: add %rcx,%r10 | |
0x00007f53c51145e7: add %r10,%rdx | |
0x00007f53c51145ea: add %rdx,%r11 | |
0x00007f53c51145ed: add %r11,%rsi | |
0x00007f53c51145f0: add %rsi,%rax ;*ladd | |
; - test3::main@66 (line 11) | |
0x00007f53c51145f3: add $0x8,%r14d ;*iinc | |
; - test3::main@68 (line 10) | |
0x00007f53c51145f7: cmp (%rsp),%r14d | |
0x00007f53c51145fb: jl 0x00007f53c5114570 ;*if_icmpge | |
; - test3::main@54 (line 10) | |
0x00007f53c5114601: vmovq %xmm0,%rsi | |
0x00007f53c5114606: vmovd %xmm2,%r10d | |
0x00007f53c511460b: cmp %r10d,%r14d | |
0x00007f53c511460e: jge 0x00007f53c5114624 | |
0x00007f53c5114610: mov 0x10(%rbx,%rbp,4),%r11d ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c5114615: movslq 0xc(%r11),%r11 ; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c5114619: add %r11,%rax ;*ladd | |
; - test3::main@66 (line 11) | |
0x00007f53c511461c: inc %r14d ;*iinc | |
; - test3::main@68 (line 10) | |
0x00007f53c511461f: cmp %r10d,%r14d | |
0x00007f53c5114622: jl 0x00007f53c5114610 ;*iload | |
; - test3::main@49 (line 10) | |
0x00007f53c5114624: inc %ebp ;*iinc | |
; - test3::main@74 (line 9) | |
0x00007f53c5114626: cmp %r10d,%ebp | |
0x00007f53c5114629: jge 0x00007f53c51146d5 ;*if_icmpge | |
; - test3::main@43 (line 9) | |
0x00007f53c511462f: mov %rax,%r13 | |
0x00007f53c5114632: xor %r14d,%r14d ;*iload | |
; - test3::main@49 (line 10) | |
0x00007f53c5114635: cmp %r10d,%r14d | |
0x00007f53c5114638: jge 0x00007f53c5114678 ;*if_icmpge | |
; - test3::main@54 (line 10) | |
0x00007f53c511463a: mov %r14d,%r9d | |
0x00007f53c511463d: inc %r9d | |
0x00007f53c5114640: test %rbx,%rbx | |
0x00007f53c5114643: je 0x00007f53c511467d | |
0x00007f53c5114645: mov (%rsi),%r11d | |
0x00007f53c5114648: cmp %r11d,%ebp | |
0x00007f53c511464b: jae 0x00007f53c511468d | |
0x00007f53c511464d: mov 0x10(%rbx,%rbp,4),%r11d ;*aaload | |
; - test3::main@61 (line 11) | |
0x00007f53c5114652: movslq 0xc(%r11),%r11 ; implicit exception: dispatches to 0x00007f53c51146f5 | |
0x00007f53c5114656: add %r11,%r13 ;*ladd | |
; - test3::main@66 (line 11) | |
0x00007f53c5114659: inc %r14d ;*iinc | |
; - test3::main@68 (line 10) | |
0x00007f53c511465c: cmp %r9d,%r14d | |
0x00007f53c511465f: jl 0x00007f53c5114640 ;*if_icmpge | |
; - test3::main@54 (line 10) | |
0x00007f53c5114661: cmp (%rsp),%r14d | |
0x00007f53c5114665: jge 0x00007f53c51146ad | |
0x00007f53c5114667: jmpq 0x00007f53c511457d | |
0x00007f53c511466c: xor %ebx,%ebx | |
0x00007f53c511466e: mov $0xc,%esi | |
0x00007f53c5114673: jmpq 0x00007f53c511453b | |
0x00007f53c5114678: mov %r13,%rax | |
0x00007f53c511467b: jmp 0x00007f53c5114624 | |
0x00007f53c511467d: mov $0xfffffff6,%esi | |
0x00007f53c5114682: nop | |
0x00007f53c5114683: callq 0x00007f53c5004ee0 ; OopMap{off=424} | |
;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c5114688: callq 0x00007f53dc5b3fb0 ; {runtime_call} | |
0x00007f53c511468d: mov $0xffffffe4,%esi | |
0x00007f53c5114692: mov %r14d,0x8(%rsp) | |
0x00007f53c5114697: mov %r13,0x10(%rsp) | |
0x00007f53c511469c: mov %rbx,0x18(%rsp) | |
0x00007f53c51146a1: xchg %ax,%ax | |
0x00007f53c51146a3: callq 0x00007f53c5004ee0 ; OopMap{[24]=Oop off=456} | |
;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c51146a8: callq 0x00007f53dc5b3fb0 ;*aaload | |
; - test3::main@61 (line 11) | |
; {runtime_call} | |
0x00007f53c51146ad: mov %r13,%rax | |
0x00007f53c51146b0: jmpq 0x00007f53c511460b | |
0x00007f53c51146b5: mov $0xffffff9d,%esi | |
0x00007f53c51146ba: mov %rbx,(%rsp) | |
0x00007f53c51146be: mov %r13,0x8(%rsp) | |
0x00007f53c51146c3: mov %r14d,0x10(%rsp) | |
0x00007f53c51146c8: xchg %ax,%ax | |
0x00007f53c51146cb: callq 0x00007f53c5004ee0 ; OopMap{[0]=Oop off=496} | |
;*iload | |
; - test3::main@49 (line 10) | |
; {runtime_call} | |
0x00007f53c51146d0: callq 0x00007f53dc5b3fb0 ;*if_icmpge | |
; - test3::main@43 (line 9) | |
; {runtime_call} | |
0x00007f53c51146d5: mov $0xffffff65,%esi | |
0x00007f53c51146da: mov %rbx,(%rsp) | |
0x00007f53c51146de: mov %rax,0x8(%rsp) | |
0x00007f53c51146e3: mov %r10d,0x14(%rsp) | |
0x00007f53c51146e8: xchg %ax,%ax | |
0x00007f53c51146eb: callq 0x00007f53c5004ee0 ; OopMap{[0]=Oop off=528} | |
;*if_icmpge | |
; - test3::main@43 (line 9) | |
; {runtime_call} | |
0x00007f53c51146f0: callq 0x00007f53dc5b3fb0 ;*getfield i | |
; - test3::main@62 (line 11) | |
; {runtime_call} | |
0x00007f53c51146f5: mov $0xfffffff6,%esi | |
0x00007f53c51146fa: nop | |
0x00007f53c51146fb: callq 0x00007f53c5004ee0 ; OopMap{off=544} | |
;*getfield i | |
; - test3::main@62 (line 11) | |
; {runtime_call} | |
0x00007f53c5114700: callq 0x00007f53dc5b3fb0 ;*getfield i | |
; - test3::main@62 (line 11) | |
; {runtime_call} | |
0x00007f53c5114705: hlt | |
0x00007f53c5114706: hlt | |
0x00007f53c5114707: hlt | |
0x00007f53c5114708: hlt | |
0x00007f53c5114709: hlt | |
0x00007f53c511470a: hlt | |
0x00007f53c511470b: hlt | |
0x00007f53c511470c: hlt | |
0x00007f53c511470d: hlt | |
0x00007f53c511470e: hlt | |
0x00007f53c511470f: hlt | |
0x00007f53c5114710: hlt | |
0x00007f53c5114711: hlt | |
0x00007f53c5114712: hlt | |
0x00007f53c5114713: hlt | |
0x00007f53c5114714: hlt | |
0x00007f53c5114715: hlt | |
0x00007f53c5114716: hlt | |
0x00007f53c5114717: hlt | |
0x00007f53c5114718: hlt | |
0x00007f53c5114719: hlt | |
0x00007f53c511471a: hlt | |
0x00007f53c511471b: hlt | |
0x00007f53c511471c: hlt | |
0x00007f53c511471d: hlt | |
0x00007f53c511471e: hlt | |
0x00007f53c511471f: hlt | |
[Exception Handler] | |
[Stub Code] | |
0x00007f53c5114720: jmpq 0x00007f53c506c0e0 ; {no_reloc} | |
[Deopt Handler Code] | |
0x00007f53c5114725: callq 0x00007f53c511472a | |
0x00007f53c511472a: subq $0x5,(%rsp) | |
0x00007f53c511472f: jmpq 0x00007f53c5047100 ; {runtime_call} | |
0x00007f53c5114734: hlt | |
0x00007f53c5114735: hlt | |
0x00007f53c5114736: hlt | |
0x00007f53c5114737: hlt | |
OopMapSet contains 5 OopMaps | |
#0 | |
OopMap{off=424} | |
#1 | |
OopMap{[24]=Oop off=456} | |
#2 | |
OopMap{[0]=Oop off=496} | |
#3 | |
OopMap{[0]=Oop off=528} | |
#4 | |
OopMap{off=544} | |
499995000000000 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment