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

Unified Diff: runtime/vm/deopt_instructions.cc

Issue 2587133002: VM: [DBC] Fix lazy deoptimization after calls that return no values. (Closed)
Patch Set: Add test Created 4 years 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 | runtime/vm/flow_graph_compiler.h » ('j') | tests/language/vm/lazy_deopt_vm_test.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/deopt_instructions.cc
diff --git a/runtime/vm/deopt_instructions.cc b/runtime/vm/deopt_instructions.cc
index 31f08cd392432a4d0355c72d0ca10390e2b3f215..345db49623f3a3f101a6133ec1a0eebf84f909c5 100644
--- a/runtime/vm/deopt_instructions.cc
+++ b/runtime/vm/deopt_instructions.cc
@@ -1077,7 +1077,13 @@ void DeoptInfoBuilder::AddCopy(Value* value,
deopt_instr = new (zone()) DeoptMaterializedObjectRefInstr(index);
} else {
ASSERT(!source_loc.IsInvalid());
- switch (value->definition()->representation()) {
+#if defined(TARGET_ARCH_DBC)
+ Representation rep =
+ (value == NULL) ? kTagged : value->definition()->representation();
+#else
+ Representation rep = value->definition()->representation();
+#endif
+ switch (rep) {
case kTagged:
deopt_instr =
new (zone()) DeoptWordInstr(ToCpuRegisterSource(source_loc));
« no previous file with comments | « no previous file | runtime/vm/flow_graph_compiler.h » ('j') | tests/language/vm/lazy_deopt_vm_test.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698