Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8314508

Improve how relativized pointers are printed by frame::describe

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 23
    • 22
    • hotspot
    • b14

      If a member of the interpreter's fixed frame has a value between -99 to 99 it's value will be printed as a signed integer instead of a hexadecimal value.

      The basic logic behind that seems to be: Members of the fixed frame are pointers and therefore don't hold values [-99..99], but if they do, they are probably relativized values so they should be printed as integers. And they should be interpreted as pointing to a stack index relative to the frame pointer.

      Printing relativized pointers as a stack element index from the frame pointer can be confusing since it doesn't show the actual derelativized pointer value.

      It can also be very confusing if you use a debugger to hex dump the memory were the fixed frame is located, and you see something else than is printed by frame::describe.

      We should improve frame::describe so that it prints the actual derelativized pointer value, regardless if it's on the stack or on the heap.

      We should also somehow show that they are relativized.

            fbredberg Fredrik Bredberg
            fbredberg Fredrik Bredberg
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: