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

Unified Diff: runtime/vm/deopt_instructions.cc

Issue 208533004: When deoptimizing use the code stored in the deopt information instead of current unoptimized code … (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 9 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 | « runtime/vm/deopt_instructions.h ('k') | runtime/vm/stack_frame.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/deopt_instructions.cc
===================================================================
--- runtime/vm/deopt_instructions.cc (revision 34251)
+++ runtime/vm/deopt_instructions.cc (working copy)
@@ -1104,7 +1104,7 @@
uword DeoptInstr::GetRetAddress(DeoptInstr* instr,
const Array& object_table,
- Function* func) {
+ Code* code) {
ASSERT(instr->kind() == kRetAddress);
DeoptRetAddressInstr* ret_address_instr =
static_cast<DeoptRetAddressInstr*>(instr);
@@ -1112,13 +1112,11 @@
// from the simulator.
ASSERT(Isolate::IsDeoptAfter(ret_address_instr->deopt_id()));
ASSERT(!object_table.IsNull());
- ASSERT(func != NULL);
- Code& code = Code::Handle();
- code ^= object_table.At(ret_address_instr->object_table_index());
- ASSERT(!code.IsNull());
- *func ^= code.function();
- uword res = code.GetPcForDeoptId(ret_address_instr->deopt_id(),
- PcDescriptors::kDeopt);
+ ASSERT(code != NULL);
+ *code ^= object_table.At(ret_address_instr->object_table_index());
+ ASSERT(!code->IsNull());
+ uword res = code->GetPcForDeoptId(ret_address_instr->deopt_id(),
+ PcDescriptors::kDeopt);
ASSERT(res != 0);
return res;
}
« no previous file with comments | « runtime/vm/deopt_instructions.h ('k') | runtime/vm/stack_frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698