mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 23:34:52 +02:00
8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: thartmann
This commit is contained in:
parent
d112950b5b
commit
43e0165eea
7 changed files with 20 additions and 82 deletions
|
@ -1905,9 +1905,8 @@ bool Compile::must_alias(const TypePtr* adr_type, int alias_idx) {
|
|||
bool Compile::can_alias(const TypePtr* adr_type, int alias_idx) {
|
||||
if (alias_idx == AliasIdxTop) return false; // the empty category
|
||||
if (adr_type == NULL) return false; // NULL serves as TypePtr::TOP
|
||||
// Known instance doesn't alias with bottom memory
|
||||
if (alias_idx == AliasIdxBot) return !adr_type->is_known_instance(); // the universal category
|
||||
if (adr_type->base() == Type::AnyPtr) return !C->get_adr_type(alias_idx)->is_known_instance(); // TypePtr::BOTTOM or its twins
|
||||
if (alias_idx == AliasIdxBot) return true; // the universal category
|
||||
if (adr_type->base() == Type::AnyPtr) return true; // TypePtr::BOTTOM or its twins
|
||||
|
||||
// the only remaining possible overlap is identity
|
||||
int adr_idx = get_alias_index(adr_type);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue