RFR: 8290324: Move atomic operations outside of os_xxx.hpp [v3]

Ioi Lam iklam at openjdk.org
Mon Jul 18 21:49:54 UTC 2022


> The os_xxx.hpp files inject extra methods/fields that are specific to atomic operations into the `os` class. However, the injected methods/fields are used only by a specific os/cpu combination. Therefore, they should not be inside the `os` class, which should contain only APIs that are used across platforms.
> 
> - For ports where the `atomic_copy64()` function is used in a single file, I moved it as an inline function in that file
> - Otherwise it's moved to `atomic_<os>_<cpu>.hpp`
> - The linux/arm port is a little more involved, but the new code should be a little cleaner than the old code.

Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:

  @kimbarrett comments: cleaned up ARMAtomicFuncs; added "static inline". Also removed os:: from C_frame_offset on linux/arm.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/9501/files
  - new: https://git.openjdk.org/jdk/pull/9501/files/2ba6addb..397ba800

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

  Stats: 76 lines in 5 files changed: 8 ins; 21 del; 47 mod
  Patch: https://git.openjdk.org/jdk/pull/9501.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9501/head:pull/9501

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


More information about the hotspot-runtime-dev mailing list