diff options
| -rw-r--r-- | compiler/optimizing/nodes.cc | 3 | ||||
| -rw-r--r-- | test/566-polymorphic-inlining/src/Main.java | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc index cf67e1a7e9..1db1ff4ab4 100644 --- a/compiler/optimizing/nodes.cc +++ b/compiler/optimizing/nodes.cc @@ -648,6 +648,9 @@ void HLoopInformation::Populate() { graph->GetBlocks().size(), /* expandable */ false, kArenaAllocGraphBuilder); + // Stop marking blocks at the loop header. + visited.SetBit(header_->GetBlockId()); + for (HBasicBlock* back_edge : GetBackEdges()) { PopulateIrreducibleRecursive(back_edge, &visited); } diff --git a/test/566-polymorphic-inlining/src/Main.java b/test/566-polymorphic-inlining/src/Main.java index 286f0d996e..a59ce5b344 100644 --- a/test/566-polymorphic-inlining/src/Main.java +++ b/test/566-polymorphic-inlining/src/Main.java @@ -98,6 +98,7 @@ public class Main implements Itf { public static native void ensureJittedAndPolymorphicInline(); public void increment() { + field.getClass(); // null check to ensure we get an inlined frame in the CodeInfo counter++; } public static int counter = 0; |