RFR: 8264543: Cross modify fence optimization for x86 [v3]

Xubo Zhang github.com+58006833+xbzhang99 at openjdk.java.net
Sat Jul 24 05:18:29 UTC 2021


> Intel introduced a new instruction “serialize” which ensures that all modifications to flags, registers, and memory by previous instructions are completed and all buffered writes are drained to memory before the next instruction is fetched and executed. It is a serializing instruction and can be used to implement cross modify fence (OrderAccess::cross_modify_fence_impl) more efficiently than using “cpuid” on supported 32-bit and 64-bit x86 platforms.
> 
> The availability of the SERIALIZE instruction is indicated by the presence of the CPUID feature flag SERIALIZE, bit 14 of the EDX register in sub-leaf CPUID:7H.0H.
> 
> https://software.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html

Xubo Zhang has updated the pull request incrementally with one additional commit since the last revision:

  add support for bsd

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4848/files
  - new: https://git.openjdk.java.net/jdk/pull/4848/files/277a2b54..d70eb4a6

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4848&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4848&range=01-02

  Stats: 6 lines in 1 file changed: 4 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4848.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4848/head:pull/4848

PR: https://git.openjdk.java.net/jdk/pull/4848


More information about the hotspot-dev mailing list