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

C2: fix frame_complete_offset

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • 8
    • hotspot
    • None
    • b120

      _frame_complete_offset points into the codeBlob behind the instructions setting up the frame.

      In C2, this is set by calling C->set_frame_complete() when MachPrologNode is emitted.

      Unfortunately, the node is also emitted to find out it's size into a small buffer, also after the real emit. So the _frame_complete_offset ended up being only the offset within the MachPrologNode, missing the MachUepNode.

      In the debug build the call at output.cpp:1831 build if (n->size(_regalloc) < (current_offset-instr_offset)) overwrites the proper value.

      I also implement setting this on ppc.

            goetz Goetz Lindenmaier
            goetz Goetz Lindenmaier
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: