java汇编语言_如何查看JAVA程序的汇编代码

本文展示了如何查看Java程序的汇编代码,通过Java HotSpot(TM) 64-Bit Server VM的PrintAssembly选项,加载了disassembler并解码了一个方法的详细汇编指令,包括数据操作、条件跳转等。
摘要由CSDN通过智能技术生成

Java HotSpot(TM) 64-Bit Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output

Loaded disassembler from /var/software/java/jdk1.8.0_151/jre/lib/amd64/hsdis-amd64.so

Decoding compiled method 0x00007f56f9102150:

Code:

Argument 0 is unknown.RIP: 0x7f56f91022a0 Code size: 0x00000110

[Disassembling for mach='amd64']

[Entry Point]

[Constants]

# {method} {0x00007f56f3211c38} 'getSnapshotTransformerList' '()[Lsun/instrument/TransformerManager$TransformerInfo;' in 'sun/instrument/TransformerManager'

# [sp+0x40] (sp of caller)

0x00007f56f91022a0: mov 0x8(%rsi),%r10d

0x00007f56f91022a4: shl $0x3,%r10

0x00007f56f91022a8: cmp %rax,%r10

0x00007f56f91022ab: jne 0x7f56f9045e20 ; {runtime_call}

0x00007f56f91022b1: nopw 0x0(%rax,%rax)

0x00007f56f91022bc: nop

[Verified Entry Point]

0x00007f56f91022c0: mov %eax,0xfffffffffffec000(%rsp)

0x00007f56f91022c7: push %rbp

0x00007f56f91022c8: sub $0x30,%rsp ;*aload_0

; - sun.instrument.TransformerManager::getSnapshotTransformerList@0 (line 166)

0x00007f56f91022cc: mov 0x10(%rsi),%eax

0x00007f56f91022cf: shl $0x3,%rax ;*getfield mTransformerList

; - sun.instrument.TransformerManager::getSnapshotTransformerList@1 (line 166)

0x00007f56f91022d3: add $0x30,%rsp

0x00007f56f91022d7: pop %rbp

0x00007f56f91022d8: test %eax,0x16e0ee22(%rip) ; {poll_return}

0x00007f56f91022de: retq

0x00007f56f91022df: nop

0x00007f56f91022e0: nop

0x00007f56f91022e1: mov 0x2a8(%r15),%rax

0x00007f56f91022e8: movabs $0x0,%r10

0x00007f56f91022f2: mov %r10,0x2a8(%r15)

0x00007f56f91022f9: movabs $0x0,%r10

0x00007f56f9102303: mov %r10,0x2b0(%r15)

0x00007f56f910230a: add $0x30,%rsp

0x00007f56f910230e: pop %rbp

0x00007f56f910230f: jmpq 0x7f56f906e2e0 ; {runtime_call}

0x00007f56f9102314: hlt

0x00007f56f9102315: hlt

0x00007f56f9102316: hlt

0x00007f56f9102317: hlt

0x00007f56f9102318: hlt

0x00007f56f9102319: hlt

0x00007f56f910231a: hlt

0x00007f56f910231b: hlt

0x00007f56f910231c: hlt

0x00007f56f910231d: hlt

0x00007f56f910231e: hlt

0x00007f56f910231f: hlt

[Exception Handler]

[Stub Code]

0x00007f56f9102320: callq 0x7f56f90fd660 ; {no_reloc}

0x00007f56f9102325: mov %rsp,0xffffffffffffffd8(%rsp)

0x00007f56f910232a: sub $0x80,%rsp

0x00007f56f9102331: mov %rax,0x78(%rsp)

0x00007f56f9102336: mov %rcx,0x70(%rsp)

0x00007f56f910233b: mov %rdx,0x68(%rsp)

0x00007f56f9102340: mov %rbx,0x60(%rsp)

0x00007f56f9102345: mov %rbp,0x50(%rsp)

0x00007f56f910234a: mov %rsi,0x48(%rsp)

0x00007f56f910234f: mov %rdi,0x40(%rsp)

0x00007f56f9102354: mov %r8,0x38(%rsp)

0x00007f56f9102359: mov %r9,0x30(%rsp)

0x00007f56f910235e: mov %r10,0x28(%rsp)

0x00007f56f9102363: mov %r11,0x20(%rsp)

0x00007f56f9102368: mov %r12,0x18(%rsp)

0x00007f56f910236d: mov %r13,0x10(%rsp)

0x00007f56f9102372: mov %r14,0x8(%rsp)

0x00007f56f9102377: mov %r15,(%rsp)

0x00007f56f910237b: movabs $0x7f570ee0a316,%rdi ; {external_word}

0x00007f56f9102385: movabs $0x7f56f9102325,%rsi ; {internal_word}

0x00007f56f910238f: mov %rsp,%rdx

0x00007f56f9102392: and $0xfffffffffffffff0,%rsp

0x00007f56f9102396: callq 0x7f570eb35d80 ; {runtime_call}

0x00007f56f910239b: hlt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值