jdk
8345067: C2: enable implicit null checks for ZGC reads
#22678
Open

Commits
  • Add initial implementation
    robcasloz committed 13 days ago
  • Do implicit null check for aarch64 only for simple memory operands
    robcasloz committed 13 days ago
  • Simplify zLoadP check
    robcasloz committed 13 days ago
  • Refine comment
    robcasloz committed 13 days ago
  • Enable zLoadPVolatile as a candidate to implement implicit null checks on aarch64
    robcasloz committed 13 days ago
  • Enable g1LoadP/N as candidates to implement implicit null checks on aarch64
    robcasloz committed 13 days ago
  • Add temporarily a few nops to simulate implicit null check bug
    robcasloz committed 13 days ago
  • Add initial test for ZGC
    robcasloz committed 13 days ago
  • Do not mark zLoadPVolatile as a candidate: it cannot be used anyway (due to indirect memory operand)
    robcasloz committed 13 days ago
  • Extend test to G1
    robcasloz committed 13 days ago
  • Complete test with stores and atomics
    robcasloz committed 13 days ago
  • Exploit zLoadP only if the memory operand is indOffL8 (indirect does not work anyway due to limitations in C2's analysis)
    robcasloz committed 13 days ago
  • Do not mark g1LoadP/g1LoadN as initial_implicit_null_check_candidate, they cannot be exploited anyway due to indirect memory operand
    robcasloz committed 13 days ago
  • Fix comment
    robcasloz committed 13 days ago
  • Mark zLoadP in x64 as exploitable by implicit null check optimization
    robcasloz committed 13 days ago
  • Simplify test
    robcasloz committed 13 days ago
  • Refactor assertion
    robcasloz committed 13 days ago
  • Enable zLoadP as implicit null check candidates on riscv and ppc
    robcasloz committed 13 days ago
  • Move check to original location
    robcasloz committed 13 days ago
  • Revert unnecessary changes
    robcasloz committed 13 days ago
Loading