Index: runtime/vm/block_scheduler.cc |
diff --git a/runtime/vm/block_scheduler.cc b/runtime/vm/block_scheduler.cc |
index 9c00cfbe81879c7b706f150c351fe2eecffe370f..d79255145d7000deb781320d776226a29604c9e6 100644 |
--- a/runtime/vm/block_scheduler.cc |
+++ b/runtime/vm/block_scheduler.cc |
@@ -64,7 +64,10 @@ void BlockScheduler::AssignEdgeWeights() const { |
Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId, |
"BlockScheduler: ICData array cleared"); |
} |
- ASSERT(!ic_data_array.IsNull()); |
+ if (ic_data_array.IsNull()) { |
+ ASSERT(Isolate::Current()->HasAttemptedReload()); |
+ return; |
+ } |
Array& edge_counters = Array::Handle(); |
edge_counters ^= ic_data_array.At(0); |