mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8024070: C2 needs some form of type speculation
Record unused type profile information with type system, propagate and use it. Reviewed-by: kvn, twisti
This commit is contained in:
parent
ceb177b16f
commit
1b5bd82335
22 changed files with 1429 additions and 144 deletions
|
@ -100,6 +100,10 @@ public:
|
|||
return valid_ciklass(type(i));
|
||||
}
|
||||
|
||||
bool maybe_null(int i) const {
|
||||
return was_null_seen(type(i));
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
void print_data_on(outputStream* st) const;
|
||||
#endif
|
||||
|
@ -113,6 +117,10 @@ public:
|
|||
return valid_ciklass(type());
|
||||
}
|
||||
|
||||
bool maybe_null() const {
|
||||
return was_null_seen(type());
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
void print_data_on(outputStream* st) const;
|
||||
#endif
|
||||
|
@ -154,6 +162,14 @@ public:
|
|||
return ret()->valid_type();
|
||||
}
|
||||
|
||||
bool argument_maybe_null(int i) const {
|
||||
return args()->maybe_null(i);
|
||||
}
|
||||
|
||||
bool return_maybe_null() const {
|
||||
return ret()->maybe_null();
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
void print_data_on(outputStream* st) const;
|
||||
#endif
|
||||
|
@ -260,6 +276,14 @@ public:
|
|||
return ret()->valid_type();
|
||||
}
|
||||
|
||||
bool argument_maybe_null(int i) const {
|
||||
return args()->maybe_null(i);
|
||||
}
|
||||
|
||||
bool return_maybe_null() const {
|
||||
return ret()->maybe_null();
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
void print_data_on(outputStream* st) const;
|
||||
#endif
|
||||
|
@ -305,6 +329,10 @@ public:
|
|||
return parameters()->valid_type(i);
|
||||
}
|
||||
|
||||
bool parameter_maybe_null(int i) const {
|
||||
return parameters()->maybe_null(i);
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
void print_data_on(outputStream* st) const;
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue