mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
6674588: (Escape Analysis) Improve Escape Analysis code
Current EA code has several problems which have to be fixed. Reviewed-by: jrose, sgoldman
This commit is contained in:
parent
30dc0edfc8
commit
fc0117cb9a
12 changed files with 1352 additions and 523 deletions
|
@ -812,8 +812,7 @@ int Node::disconnect_inputs(Node *n) {
|
|||
Node* Node::uncast() const {
|
||||
// Should be inline:
|
||||
//return is_ConstraintCast() ? uncast_helper(this) : (Node*) this;
|
||||
if (is_ConstraintCast() ||
|
||||
(is_Type() && req() == 2 && Opcode() == Op_CheckCastPP))
|
||||
if (is_ConstraintCast() || is_CheckCastPP())
|
||||
return uncast_helper(this);
|
||||
else
|
||||
return (Node*) this;
|
||||
|
@ -827,7 +826,7 @@ Node* Node::uncast_helper(const Node* p) {
|
|||
break;
|
||||
} else if (p->is_ConstraintCast()) {
|
||||
p = p->in(1);
|
||||
} else if (p->is_Type() && p->Opcode() == Op_CheckCastPP) {
|
||||
} else if (p->is_CheckCastPP()) {
|
||||
p = p->in(1);
|
||||
} else {
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue