RFR: 8257221: C2: RegMask::is_bound_set split set handling broken since JDK-8221404 [v2]

Claes Redestad redestad at openjdk.java.net
Sat Nov 28 00:32:08 UTC 2020


> This patch adds more tests for RegMask::is_bound* operations, and fixes a bug I introduced in JDK-8221404 where I mixed up the formula for how much we need to shift the "bit" when checking a split set.
> 
> This also optimizes RegMask::is_bound (~2x) by removing use of Size() in is_bound1 and streamlining the three component methods (is_bound1, is_bound_pair, is_bound_set) so that they all do a cheap check that the remaining words are all zero after a matching bit, pair or set has been found.

Claes Redestad has updated the pull request incrementally with one additional commit since the last revision:

  Split out the optimization

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1486/files
  - new: https://git.openjdk.java.net/jdk/pull/1486/files/3245e387..2937939d

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

  Stats: 66 lines in 1 file changed: 3 ins; 44 del; 19 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1486.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1486/head:pull/1486

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


More information about the hotspot-compiler-dev mailing list