Skip to content

Instantly share code, notes, and snippets.

@JohnTortugo
Created June 5, 2023 19:26
Show Gist options
  • Save JohnTortugo/913523947e08157def6cfebafa7d5daa to your computer and use it in GitHub Desktop.
Save JohnTortugo/913523947e08157def6cfebafa7d5daa to your computer and use it in GitHub Desktop.
Samples of PrintDebugInfo
Compiled method (c2) 504 48 TestObjectClone::test (37 bytes)
total in heap [0x00007f4ba915d110,0x00007f4ba915d568] = 1112
relocation [0x00007f4ba915d280,0x00007f4ba915d2a8] = 40
main code [0x00007f4ba915d2c0,0x00007f4ba915d3d0] = 272
stub code [0x00007f4ba915d3d0,0x00007f4ba915d3e8] = 24
oops [0x00007f4ba915d3e8,0x00007f4ba915d3f8] = 16
metadata [0x00007f4ba915d3f8,0x00007f4ba915d410] = 24
scopes data [0x00007f4ba915d410,0x00007f4ba915d4b0] = 160
scopes pcs [0x00007f4ba915d4b0,0x00007f4ba915d560] = 176
dependencies [0x00007f4ba915d560,0x00007f4ba915d568] = 8
scopes:
ScopeDesc(pc=0x00007f4ba915d2da offset=1a):
TestObjectClone::test@-1 (line 3)
ScopeDesc(pc=0x00007f4ba915d2f4 offset=34):
Dog::clone@1 (line 59)
ScopeDesc(pc=0x00007f4ba915d2f4 offset=34):
TestObjectClone::test@1 (line 3)
ScopeDesc(pc=0x00007f4ba915d2f9 offset=39):
Dog::clone@10 (line 60)
ScopeDesc(pc=0x00007f4ba915d2f9 offset=39):
TestObjectClone::test@1 (line 3)
ScopeDesc(pc=0x00007f4ba915d317 offset=57):
TestObjectClone::test@10 (line 5)
ScopeDesc(pc=0x00007f4ba915d35c offset=9c):
TestObjectClone::test@22 (line 9)
Locals
- l0: empty
- l1: empty
- l2: empty
- l3: empty
- l4: empty
- l5: empty
- l6: merge: ID=48
- l7: empty
Objects
- 0: merge: ID=48, selector="stack[0]", merge_pointer="nullptr", candidate objs=[49, 50]
- 1: obj: ID=49, is_root=0, N.Fields=6, klass: Dog
Fields: stack[4], stack[8], reg rbp [10],int, stack[12], stack[16], stack[20]
- 2: obj: ID=50, is_root=0, N.Fields=6, klass: Dog
Fields: stack[24], stack[28], stack[32], stack[36], stack[40], stack[44]
ScopeDesc(pc=0x00007f4ba915d378 offset=b8):
TestObjectClone::test@22 (line 9)
ScopeDesc(pc=0x00007f4ba915d384 offset=c4):
TestObjectClone::test@1 (line 3)
Locals
- l0: empty
- l1: empty
- l2: empty
- l3: empty
- l4: empty
- l5: empty
- l6: empty
- l7: empty
Expression stack
- @0: nullptr
ScopeDesc(pc=0x00007f4ba915d3b1 offset=f1):
Dog::clone@1 (line 59)
ScopeDesc(pc=0x00007f4ba915d3b1 offset=f1):
TestObjectClone::test@14 (line 6)
ScopeDesc(pc=0x00007f4ba915d3b6 offset=f6):
Dog::clone@10 (line 60)
ScopeDesc(pc=0x00007f4ba915d3b6 offset=f6):
TestObjectClone::test@14 (line 6)
Compiled method (c2) 433 24 TestObjectCloneTwo::test (141 bytes)
total in heap [0x00007f5030ee0e10,0x00007f5030ee1260] = 1104
relocation [0x00007f5030ee0f80,0x00007f5030ee0fa8] = 40
main code [0x00007f5030ee0fc0,0x00007f5030ee10a8] = 232
stub code [0x00007f5030ee10a8,0x00007f5030ee10c0] = 24
oops [0x00007f5030ee10c0,0x00007f5030ee10d0] = 16
metadata [0x00007f5030ee10d0,0x00007f5030ee10e8] = 24
scopes data [0x00007f5030ee10e8,0x00007f5030ee1188] = 160
scopes pcs [0x00007f5030ee1188,0x00007f5030ee1258] = 208
dependencies [0x00007f5030ee1258,0x00007f5030ee1260] = 8
scopes:
ScopeDesc(pc=0x00007f5030ee0fda offset=1a):
TestObjectCloneTwo::test@-1 (line 3)
ScopeDesc(pc=0x00007f5030ee0fdf offset=1f):
Dog::clone@1 (line 68)
ScopeDesc(pc=0x00007f5030ee0fdf offset=1f):
TestObjectCloneTwo::test@1 (line 3)
ScopeDesc(pc=0x00007f5030ee0fe4 offset=24):
Dog::clone@10 (line 69)
ScopeDesc(pc=0x00007f5030ee0fe4 offset=24):
TestObjectCloneTwo::test@1 (line 3)
ScopeDesc(pc=0x00007f5030ee0fec offset=2c):
TestObjectCloneTwo::test@50 (line 10)
ScopeDesc(pc=0x00007f5030ee1001 offset=41):
TestObjectCloneTwo::test@102 (line 19)
ScopeDesc(pc=0x00007f5030ee1006 offset=46):
TestObjectCloneTwo::test@50 (line 10)
ScopeDesc(pc=0x00007f5030ee102c offset=6c):
TestObjectCloneTwo::test@102 (line 19)
Locals
- l0: empty
- l1: empty
- l2: empty
- l3: empty
- l4: empty
- l5: empty
- l6: merge: ID=53
- l7: empty
Objects
- 0: merge: ID=53, selector="stack[0]", merge_pointer="nullptr", candidate objs=[54, 55]
- 1: obj: ID=54, is_root=0, N.Fields=6, klass: Dog
Fields: stack[4], stack[8], stack[12], stack[16], reg rbp [10],int, stack[20]
- 2: obj: ID=55, is_root=0, N.Fields=6, klass: Dog
Fields: 2022, 2021, 2020, 2019, 2018, stack[24]
ScopeDesc(pc=0x00007f5030ee1048 offset=88):
TestObjectCloneTwo::test@102 (line 19)
ScopeDesc(pc=0x00007f5030ee1054 offset=94):
TestObjectCloneTwo::test@1 (line 3)
Locals
- l0: empty
- l1: empty
- l2: empty
- l3: empty
- l4: empty
- l5: empty
- l6: empty
- l7: empty
Expression stack
- @0: nullptr
ScopeDesc(pc=0x00007f5030ee1075 offset=b5):
Dog::clone@1 (line 68)
ScopeDesc(pc=0x00007f5030ee1075 offset=b5):
TestObjectCloneTwo::test@54 (line 11)
ScopeDesc(pc=0x00007f5030ee107a offset=ba):
Dog::clone@10 (line 69)
ScopeDesc(pc=0x00007f5030ee107a offset=ba):
TestObjectCloneTwo::test@54 (line 11)
Compiled method (c2) 492 48 TestSubclassesFive::test (53 bytes)
total in heap [0x00007fd1487a2110,0x00007fd1487a2528] = 1048
relocation [0x00007fd1487a2280,0x00007fd1487a22a0] = 32
main code [0x00007fd1487a22a0,0x00007fd1487a23b0] = 272
stub code [0x00007fd1487a23b0,0x00007fd1487a23c8] = 24
oops [0x00007fd1487a23c8,0x00007fd1487a23d8] = 16
metadata [0x00007fd1487a23d8,0x00007fd1487a23e8] = 16
scopes data [0x00007fd1487a23e8,0x00007fd1487a2470] = 136
scopes pcs [0x00007fd1487a2470,0x00007fd1487a2520] = 176
dependencies [0x00007fd1487a2520,0x00007fd1487a2528] = 8
scopes:
ScopeDesc(pc=0x00007fd1487a22ba offset=1a):
TestSubclassesFive::test@-1 (line 3)
ScopeDesc(pc=0x00007fd1487a22ca offset=2a):
TestSubclassesFive::test@11 (line 3)
ScopeDesc(pc=0x00007fd1487a22e5 offset=45):
Dog::<init>@6 (line 49)
ScopeDesc(pc=0x00007fd1487a22e5 offset=45):
TestSubclassesFive::test@12 (line 3)
ScopeDesc(pc=0x00007fd1487a22f7 offset=57):
TestSubclassesFive::test@5 (line 3)
ScopeDesc(pc=0x00007fd1487a2314 offset=74):
Dog::<init>@2 (line 49)
ScopeDesc(pc=0x00007fd1487a2314 offset=74):
TestSubclassesFive::test@12 (line 3)
ScopeDesc(pc=0x00007fd1487a2331 offset=91):
Dog::<init>@4 (line 49)
ScopeDesc(pc=0x00007fd1487a2331 offset=91):
TestSubclassesFive::test@12 (line 3)
ScopeDesc(pc=0x00007fd1487a2335 offset=95):
TestSubclassesFive::test@18 (line 5)
ScopeDesc(pc=0x00007fd1487a2378 offset=d8):
TestSubclassesFive::test@38 (line 9)
Locals
- l0: empty
- l1: empty
- l2: empty
- l3: empty
- l4: empty
- l5: empty
- l6: empty
- l7: merge: ID=24
- l8: empty
Objects
- 0: merge: ID=24, selector="stack[12]", merge_pointer="nullptr", candidate objs=[25, 26]
- 1: obj: ID=25, is_root=0, N.Fields=6, klass: Dog
Fields: reg rbp [10],int, stack[16], stack[20], 0, 0, stack[24]
- 2: obj: ID=26, is_root=0, N.Fields=6, klass: Dog
Fields: stack[64], stack[0], stack[4], 0, 0, stack[8]
ScopeDesc(pc=0x00007fd1487a2394 offset=f4):
TestSubclassesFive::test@38 (line 9)
Compiled method (c2) 494 48 TestSubclassesSix::test (53 bytes)
total in heap [0x00007f0afd15d510,0x00007f0afd15d928] = 1048
relocation [0x00007f0afd15d680,0x00007f0afd15d6a0] = 32
main code [0x00007f0afd15d6a0,0x00007f0afd15d7b0] = 272
stub code [0x00007f0afd15d7b0,0x00007f0afd15d7c8] = 24
oops [0x00007f0afd15d7c8,0x00007f0afd15d7d8] = 16
metadata [0x00007f0afd15d7d8,0x00007f0afd15d7e8] = 16
scopes data [0x00007f0afd15d7e8,0x00007f0afd15d870] = 136
scopes pcs [0x00007f0afd15d870,0x00007f0afd15d920] = 176
dependencies [0x00007f0afd15d920,0x00007f0afd15d928] = 8
scopes:
ScopeDesc(pc=0x00007f0afd15d6ba offset=1a):
TestSubclassesSix::test@-1 (line 3)
ScopeDesc(pc=0x00007f0afd15d6e1 offset=41):
Dog::<init>@4 (line 49)
ScopeDesc(pc=0x00007f0afd15d6e1 offset=41):
TestSubclassesSix::test@12 (line 3)
ScopeDesc(pc=0x00007f0afd15d6ea offset=4a):
TestSubclassesSix::test@5 (line 3)
ScopeDesc(pc=0x00007f0afd15d6f8 offset=58):
TestSubclassesSix::test@11 (line 3)
ScopeDesc(pc=0x00007f0afd15d715 offset=75):
Dog::<init>@2 (line 49)
ScopeDesc(pc=0x00007f0afd15d715 offset=75):
TestSubclassesSix::test@12 (line 3)
ScopeDesc(pc=0x00007f0afd15d730 offset=90):
Dog::<init>@6 (line 49)
ScopeDesc(pc=0x00007f0afd15d730 offset=90):
TestSubclassesSix::test@12 (line 3)
ScopeDesc(pc=0x00007f0afd15d734 offset=94):
TestSubclassesSix::test@18 (line 5)
ScopeDesc(pc=0x00007f0afd15d774 offset=d4):
TestSubclassesSix::test@38 (line 9)
Locals
- l0: empty
- l1: empty
- l2: empty
- l3: empty
- l4: empty
- l5: empty
- l6: empty
- l7: merge: ID=24
- l8: empty
Objects
- 0: merge: ID=24, selector="stack[12]", merge_pointer="nullptr", candidate objs=[25, 26]
- 1: obj: ID=25, is_root=0, N.Fields=6, klass: Dog
Fields: reg rbp [10],int, stack[16], stack[20], 0, 0, stack[24]
- 2: obj: ID=26, is_root=0, N.Fields=6, klass: Dog
Fields: stack[64], stack[0], stack[4], 0, 0, stack[8]
ScopeDesc(pc=0x00007f0afd15d790 offset=f0):
TestSubclassesSix::test@38 (line 9)
Compiled method (c2) 427 24 TestTrapAfterMerge::test (57 bytes)
total in heap [0x00007f9321155590,0x00007f9321155918] = 904
relocation [0x00007f9321155700,0x00007f9321155718] = 24
main code [0x00007f9321155720,0x00007f93211557b8] = 152
stub code [0x00007f93211557b8,0x00007f93211557d0] = 24
oops [0x00007f93211557d0,0x00007f93211557e0] = 16
metadata [0x00007f93211557e0,0x00007f93211557e8] = 8
scopes data [0x00007f93211557e8,0x00007f9321155850] = 104
scopes pcs [0x00007f9321155850,0x00007f9321155910] = 192
dependencies [0x00007f9321155910,0x00007f9321155918] = 8
scopes:
ScopeDesc(pc=0x00007f932115573a offset=1a):
TestTrapAfterMerge::test@-1 (line 3)
ScopeDesc(pc=0x00007f9321155741 offset=21):
TestTrapAfterMerge::test@11 (line 5)
ScopeDesc(pc=0x00007f9321155744 offset=24):
TestTrapAfterMerge::test@51 (line 12)
ScopeDesc(pc=0x00007f932115574a offset=2a):
TestTrapAfterMerge::test@46 (line 8)
ScopeDesc(pc=0x00007f9321155752 offset=32):
TestTrapAfterMerge::test@37 (line 9)
ScopeDesc(pc=0x00007f9321155757 offset=37):
TestTrapAfterMerge::test@43 (line 8)
ScopeDesc(pc=0x00007f9321155761 offset=41):
TestTrapAfterMerge::test@46 (line 8) reexecute=true
Locals
- l0: empty
- l1: empty
- l2: reg rbx [6],int
- l3: empty
- l4: merge: ID=26
- l5: reg r11 [22],int
Objects
- 0: merge: ID=26, selector="reg r10 [20],int", merge_pointer="nullptr", candidate objs=[27, 28]
- 1: obj: ID=27, is_root=0, N.Fields=1, klass: Point
Fields: reg r8 [16],int
- 2: obj: ID=28, is_root=0, N.Fields=1, klass: Point
Fields: reg rcx [2],int
ScopeDesc(pc=0x00007f9321155763 offset=43):
TestTrapAfterMerge::test@46 (line 8)
ScopeDesc(pc=0x00007f932115576c offset=4c):
TestTrapAfterMerge::test@34 (line 8)
ScopeDesc(pc=0x00007f9321155771 offset=51):
TestTrapAfterMerge::test@55 (line 12)
Compiled method (c2) 431 24 TestWithStore::test (57 bytes)
total in heap [0x00007f4c2d155190,0x00007f4c2d155450] = 704
relocation [0x00007f4c2d155300,0x00007f4c2d155318] = 24
main code [0x00007f4c2d155320,0x00007f4c2d155388] = 104
stub code [0x00007f4c2d155388,0x00007f4c2d1553a0] = 24
oops [0x00007f4c2d1553a0,0x00007f4c2d1553b0] = 16
metadata [0x00007f4c2d1553b0,0x00007f4c2d1553b8] = 8
scopes data [0x00007f4c2d1553b8,0x00007f4c2d1553f8] = 64
scopes pcs [0x00007f4c2d1553f8,0x00007f4c2d155448] = 80
dependencies [0x00007f4c2d155448,0x00007f4c2d155450] = 8
scopes:
ScopeDesc(pc=0x00007f4c2d15533a offset=1a):
TestWithStore::test@-1 (line 14)
ScopeDesc(pc=0x00007f4c2d155360 offset=40):
TestWithStore::test@41 (line 23)
Locals
- l0: empty
- l1: empty
- l2: empty
- l3: empty
- l4: empty
- l5: merge: ID=14
Objects
- 0: merge: ID=14, selector="reg rbp [10],int", merge_pointer="nullptr", candidate objs=[15, 16]
- 1: obj: ID=15, is_root=0, N.Fields=1, klass: TestWithStore$Point
Fields: stack[0]
- 2: obj: ID=16, is_root=0, N.Fields=1, klass: TestWithStore$Point
Fields: stack[4]
ScopeDesc(pc=0x00007f4c2d15537c offset=5c):
TestWithStore::test@41 (line 23)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment