mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
Merge
This commit is contained in:
commit
1f5e21a16e
1091 changed files with 1920 additions and 2277 deletions
|
@ -1800,7 +1800,17 @@ void Compile::remove_opaque4_nodes(PhaseIterGVN &igvn) {
|
|||
for (int i = opaque4_count(); i > 0; i--) {
|
||||
Node* opaq = opaque4_node(i-1);
|
||||
assert(opaq->Opcode() == Op_Opaque4, "Opaque4 only");
|
||||
// With Opaque4 nodes, the expectation is that the test of input 1
|
||||
// is always equal to the constant value of input 2. So we can
|
||||
// remove the Opaque4 and replace it by input 2. In debug builds,
|
||||
// leave the non constant test in instead to sanity check that it
|
||||
// never fails (if it does, that subgraph was constructed so, at
|
||||
// runtime, a Halt node is executed).
|
||||
#ifdef ASSERT
|
||||
igvn.replace_node(opaq, opaq->in(1));
|
||||
#else
|
||||
igvn.replace_node(opaq, opaq->in(2));
|
||||
#endif
|
||||
}
|
||||
assert(opaque4_count() == 0, "should be empty");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue