Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8254218 [lworld] Calling Convention 2.0
  3. JDK-8254219

[lworld] Remove reserved entries from the calling convention

XMLWordPrintable

      When packing/unpacking inline type arguments to convert between the scalarized and the non-scalarized calling conventions in the nmethod entry points, we may need to extend the stack. To save stack space, C2 re-uses the existing stack slots and only extends the stack to fit additional fields. As a result, the original return address is in-between and to avoid overwriting it by accident, we need "reserved entries" that are not used by the calling convention.

      Similar to C1 (see JDK-8241764), we should extend the stack enough for unpacking to have its "own" stack space to lay out arguments and get rid off all the ridiculous complexity that reserved entries require in the JIT. If necessary, there are other ways to save stack space (for example, to allow overwriting the original return address and restore it on return).

            thartmann Tobias Hartmann
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: