RFR: 8284951: Compile::flatten_alias_type asserts with "indeterminate pointers come only from unsafe ops"

Tobias Hartmann thartmann at openjdk.java.net
Mon Apr 25 10:33:11 UTC 2022


The `Object.clone()` intrinsic emits an arraycopy guarded by an array check. With `StressReflectiveCode` the arraycopy is not removed even if the source object is statically known to be a non-array instance. This triggers an assert in `Compile::flatten_alias_type asserts` because the (arraycopy) address type is an instance pointer with bottom offset.

The fix is to disable the assert when `StressReflectiveCode` is enabled.

Thanks,
Tobias

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

Commit messages:
 - Requires statement
 - 8284951: Compile::flatten_alias_type asserts with "indeterminate pointers come only from unsafe ops"

Changes: https://git.openjdk.java.net/jdk/pull/8381/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8381&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8284951
  Stats: 51 lines in 2 files changed: 50 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8381.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8381/head:pull/8381

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


More information about the hotspot-compiler-dev mailing list