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

Relativize stack addresses in interpreter frames

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 20
    • hotspot

      If the stack addresses stored in interpreter frames were FP relative offsets, this would help or maybe eliminate the slow path for freezing and thawing frames.

      eg. the x86 frame has stack addresses for pointer to locals, last sp, old stack pointer, old frame pointer. We will have subtasks of this RFE for changing each.

      This task should be done for all the platforms at once so we'll need help with testing on some platforms.

      // ------------------------------ Asm interpreter ----------------------------------------
      // Layout of asm interpreter frame:
      // [expression stack ] * <- sp
      // [monitors ] \
      // ... | monitor block size
      // [monitors ] /
      // [monitor block size ]
      // [byte code pointer ] = bcp() bcp_offset
      // [pointer to locals ] = locals() locals_offset
      // [constant pool cache ] = cache() cache_offset
      // [methodData ] = mdp() mdx_offset
      // [Method* ] = method() method_offset
      // [last sp ] = last_sp() last_sp_offset
      // [old stack pointer ] (sender_sp) sender_sp_offset
      // [old frame pointer ] <- fp = link()
      // [return pc ]
      // [oop temp ] (only for native calls)
      // [locals and parameters ]
      // <- sender sp
      // ------------------------------ Asm interpreter ----------------------------------------

            fbredberg Fredrik Bredberg
            coleenp Coleen Phillimore
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated: