Понимание вывода PrintRelocations в Hotspot - PullRequest
1 голос
/ 17 мая 2019

Я пытаюсь понять, как метод хранится в CodeBuffer (разделенном на три разных раздела), пока он компилируется в виртуальной машине HotSpot.Я напечатал информацию о переезде, но я не до конца ее понимаю.Это мой вывод:

   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: 

Таким образом, эти адреса после @ являются адресами каждой записи перемещения.Но что означает четырехзначный гекс после :?И что это за информация после нее?

...