了解热点中PrintRelocations的输出

时间:2019-05-17 11:24:42

标签: java jvm-hotspot

我试图了解在HotSpot VM中编译方法时如何将其存储在CodeBuffer中(分为三个不同的部分)。我已经打印了搬迁信息,但是我不太了解。这是我的输出:

   3918    1       1       Demo::workload (2 bytes)

// Relocation information in 3 sections of CodeBuffer

CodeBuffer:
  consts.code = 0x00007fffe11f27a0 : 0x00007fffe11f27a0 : 0x00007fffe11ff470 (0 of 52432)
  consts.locs = 0x00007fffac008910 : 0x00007fffac008910 : 0x00007fffac008918 (0 of 4) point=0
         @0x00007fffac008910: 

   insts.code = 0x00007fffe11727a0 : 0x00007fffe11727f2 : 0x00007fffe11f2320 (82 of 523136)
   insts.locs = 0x00007fffac0087b0 : 0x00007fffac0087b4 : 0x00007fffac008904 (2 of 170) point=77
         @0x00007fffac0087b0: b416
relocInfo@0x00007fffac0087b0 [type=11(poll_return) addr=0x00007fffe11727b6 offset=22 format=1]
         @0x00007fffac0087b2: 6437
relocInfo@0x00007fffac0087b2 [type=6(runtime_call) addr=0x00007fffe11727ed offset=55 format=1] | [destination=0x00007fffe116f1e0]
         @0x00007fffac0087b4: 


   stubs.code = 0x00007fffe11f2340 : 0x00007fffe11f23f5 : 0x00007fffe11f2780 (181 of 1088)
   stubs.locs = 0x00007fffb4009f90 : 0x00007fffb4009faa : 0x00007fffb4009fcc (13 of 30) point=176
         @0x00007fffb4009f90: 6428
relocInfo@0x00007fffb4009f90 [type=6(runtime_call) addr=0x00007fffe11f2368 offset=40 format=1] | [destination=0x00007fffe12037e0]
         @0x00007fffb4009f92: f803f6ad80097fff705b
relocInfo@0x00007fffb4009f9a [type=7(external_word) addr=0x00007fffe11f23c3 offset=91 data={f6ad80097fff}] | [target=0x00007ffff6ad8009]
         @0x00007fffb4009f9c: f060800a
relocInfo@0x00007fffb4009f9e [type=8(internal_word) addr=0x00007fffe11f23cd offset=10 data=96] | [target=0x00007fffe11f236d]
         @0x00007fffb4009fa0: 6411
relocInfo@0x00007fffb4009fa0 [type=6(runtime_call) addr=0x00007fffe11f23de offset=17 format=1] | [destination=0x00007ffff676dc98]
         @0x00007fffb4009fa2: f801fd729006
relocInfo@0x00007fffb4009fa6 [type=9(section_word) addr=0x00007fffe11f23e4 offset=6 data=-654] | [target=0x00007fffe11f23e4]
         @0x00007fffb4009fa8: 640c
relocInfo@0x00007fffb4009fa8 [type=6(runtime_call) addr=0x00007fffe11f23f0 offset=12 format=1] | [destination=0x00007fffe110f2e0]
         @0x00007fffb4009faa: 

因此@之后的这些地址是每个重定位条目的地址。但是在:之后指定的4位数十六进制是什么?以及之后的所有信息是什么?

0 个答案:

没有答案