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

Unified Diff: runtime/vm/flow_graph_builder.cc

Issue 1722733002: In background compilation make a copy of Field in order to freeze its state (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: e Created 4 years, 10 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
Index: runtime/vm/flow_graph_builder.cc
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc
index 680ea93f4364c32353ee68b6e6439508dd37b958..25ea02afbb6226992512a8eb5ecd1bf340e1f9a8 100644
--- a/runtime/vm/flow_graph_builder.cc
+++ b/runtime/vm/flow_graph_builder.cc
@@ -2770,7 +2770,7 @@ void ValueGraphVisitor::VisitClosureCallNode(ClosureCallNode* node) {
void EffectGraphVisitor::VisitInitStaticFieldNode(InitStaticFieldNode* node) {
- Value* field = Bind(new(Z) ConstantInstr(node->field()));
+ Value* field = Bind(new(Z) ConstantInstr(*node->field().OriginalAsHandle()));
AddInstruction(new(Z) InitStaticFieldInstr(field, node->field()));
}
@@ -3733,7 +3733,8 @@ void EffectGraphVisitor::VisitLoadStaticFieldNode(LoadStaticFieldNode* node) {
Instance::ZoneHandle(Z, node->field().StaticValue()), token_pos);
return ReturnDefinition(result);
}
- Value* field_value = Bind(new(Z) ConstantInstr(node->field(), token_pos));
+ Value* field_value = Bind(new(Z) ConstantInstr(
+ *node->field().OriginalAsHandle(Z), token_pos));
siva 2016/02/25 23:38:32 ditto comment.
srdjan 2016/02/26 00:40:42 Resolved using Field::ZoneHandle
LoadStaticFieldInstr* load =
new(Z) LoadStaticFieldInstr(field_value, token_pos);
ReturnDefinition(load);

Powered by Google App Engine
This is Rietveld 408576698