posts - 12,comments - 1,trackbacks - 0
          今天花了一點(diǎn)時(shí)間作了個(gè)x86上hotspot vm的disassembler,這樣可以看出jvm生成的本地代碼了。
          代碼比較簡(jiǎn)單,主要是用了udis86的庫(kù),這個(gè)可以在sf上下載到,它的接口還是比較簡(jiǎn)單的。

          簡(jiǎn)單的例子,hotspot解析模式中iconst_0的對(duì)應(yīng)匯編代碼:
          iconst_0  3 iconst_0  [0xb4d98120, 0xb4d98160]  64 bytes

            0xb4d98120: sub esp, 0x4
            0xb4d98123: fstp dword [esp]
            0xb4d98126: jmp 0x1e
            0xb4d9812b: sub esp, 0x8
            0xb4d9812e: fstp qword [esp]
            0xb4d98131: jmp 0x13
            0xb4d98136: push edx
            0xb4d98137: push eax
            0xb4d98138: jmp 0xc
            0xb4d9813d: push eax
            0xb4d9813e: jmp 0x6
            0xb4d98143: push eax
            0xb4d98144: xor eax, eax
            0xb4d98146: movzx ebx, byte [esi+0x1]
            0xb4d9814a: inc esi
            0xb4d9814b: jmp dword near [ebx*4+0x6900680]

          posted on 2008-08-24 00:28 白色天堂 閱讀(189) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 韩城市| 海阳市| 于田县| 林州市| 漾濞| 武清区| 天等县| 遂溪县| 鸡泽县| 鹤庆县| 临澧县| 阿克陶县| 巨野县| 手游| 营口市| 定远县| 保靖县| 揭阳市| 都江堰市| 平南县| 咸宁市| 大冶市| 天祝| 白沙| 微博| 中山市| 西华县| 吴江市| 牙克石市| 南投县| 文水县| 古浪县| 资阳市| 辛集市| 来安县| 兴安县| 梁河县| 航空| 于都县| 新化县| 灵山县|