RFR: 8260368: [PPC64] GC interface needs enhancement to support GCs with load barriers [v2]
Niklas Radomski
github.com+9200663+quaffel at openjdk.java.net
Mon Feb 1 21:18:54 UTC 2021
> At present, the `needs_frame` flag is used on the ppc platform to determine whether gc barriers must emit a new stack frame (and save the link register, for that matter) or not. With the introduction of load reference barriers, however, this mechansim is no longer sufficient. This holds especially true for compiler stubs as those make heavy use of volatile registers.
>
> To mitigate this, this patch replaces the `needs_frame` flag with a simple enumeration. As the enumerators are incremental, handling the different "register preservation needs" in the actual gc barrier implementations is comparatively (pun intended) easy.
>
> _This is a preparational change for the ShenandoahGC port to ppc. As such, it may provide some functionality this version doesn't make use of, but that is required for the upcoming change. This way, the scope of the upcoming change is limited to GC-specific functionality; making its review a little easier._
>
> _For the same reason, this patch also introduces patching support for `LIR_Assembler::leal`._
Niklas Radomski has updated the pull request incrementally with three additional commits since the last revision:
- Fix carg slot offset calculation
- Use a distinct magic number in clobber_carg_stack_slots
- Use enumeration instead of unsigned int
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/2302/files
- new: https://git.openjdk.java.net/jdk/pull/2302/files/46fcf931..46bfce16
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2302&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2302&range=00-01
Stats: 42 lines in 12 files changed: 4 ins; 1 del; 37 mod
Patch: https://git.openjdk.java.net/jdk/pull/2302.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2302/head:pull/2302
PR: https://git.openjdk.java.net/jdk/pull/2302
More information about the hotspot-dev
mailing list