Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Unified Diff: runtime/vm/flow_graph_builder.cc

Issue 2650823007: Allow debugger to stop when reading a static field (Closed)
Patch Set: Merge branch 'master' into bb Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_builder.cc
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc
index bf135624fb07337f4a2ea3895866d0e4c4fa2d95..c82a90f54ca1df1b2b3481254219bf25a7af4dd7 100644
--- a/runtime/vm/flow_graph_builder.cc
+++ b/runtime/vm/flow_graph_builder.cc
@@ -3364,7 +3364,7 @@ void EffectGraphVisitor::VisitStoreLocalNode(StoreLocalNode* node) {
if (rhs->IsAssignableNode()) {
rhs = rhs->AsAssignableNode()->expr();
}
- if ((rhs->IsLiteralNode() ||
+ if ((rhs->IsLiteralNode() || rhs->IsLoadStaticFieldNode() ||
(rhs->IsLoadLocalNode() &&
!rhs->AsLoadLocalNode()->local().IsInternal()) ||
rhs->IsClosureNode()) &&
@@ -3476,7 +3476,7 @@ Definition* EffectGraphVisitor::BuildStoreStaticField(
rhs = rhs->AsAssignableNode()->expr();
}
if ((rhs->IsLiteralNode() || rhs->IsLoadLocalNode() ||
- rhs->IsClosureNode()) &&
+ rhs->IsLoadStaticFieldNode() || rhs->IsClosureNode()) &&
node->token_pos().IsDebugPause()) {
AddInstruction(new (Z) DebugStepCheckInstr(
node->token_pos(), RawPcDescriptors::kRuntimeCall));
@@ -4207,6 +4207,7 @@ void EffectGraphVisitor::BuildThrowNode(ThrowNode* node) {
if (FLAG_support_debugger) {
if (node->exception()->IsLiteralNode() ||
node->exception()->IsLoadLocalNode() ||
+ node->exception()->IsLoadStaticFieldNode() ||
node->exception()->IsClosureNode()) {
AddInstruction(new (Z) DebugStepCheckInstr(
node->token_pos(), RawPcDescriptors::kRuntimeCall));
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698