RFR: 8289925: Shared code shouldn't reference the platform specific method frame::interpreter_frame_last_sp() [v3]

Richard Reingruber rrich at openjdk.org
Thu Sep 15 07:43:23 UTC 2022


> The method `frame::interpreter_frame_last_sp()` is a platform method in the sense that it is not declared in a shared header file. It is declared and defined on some platforms though (x86 and aarch64 I think).
> 
> `frame::interpreter_frame_last_sp()` existed on these platforms before vm continuations (aka loom). Shared code that is part of the vm continuations implementation references it. This breaks the platform abstraction.
> 
> This fix simply removes the special case for interpreted frames in the shared method `Continuation::continuation_bottom_sender()`. I cannot see a reason for the distinction between interpreted and compiled frames. The shared code reference to `frame::interpreter_frame_last_sp()` is thereby eliminated.
> 
> Testing: hotspot_loom and jdk_loom on x86_64 and aarch64.

Richard Reingruber has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:

 - Only pass the actual sp when calling is_sp_in_continuation()
 - Merge branch 'master'
 - Merge branch 'master'
 - Remove platform dependent method interpreter_frame_last_sp() from shared code

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/9411/files
  - new: https://git.openjdk.org/jdk/pull/9411/files/c3ad382c..fdb14090

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=9411&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=9411&range=01-02

  Stats: 163416 lines in 2548 files changed: 79922 ins; 68601 del; 14893 mod
  Patch: https://git.openjdk.org/jdk/pull/9411.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9411/head:pull/9411

PR: https://git.openjdk.org/jdk/pull/9411


More information about the hotspot-compiler-dev mailing list