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

Unified Diff: vm/object.cc

Issue 9791048: - Wire the stack frame iterator to use stack maps for traversing objects if there are stack maps in… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 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 | « vm/heap.cc ('k') | vm/pages.h » ('j') | vm/pages.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: vm/object.cc
===================================================================
--- vm/object.cc (revision 5921)
+++ vm/object.cc (working copy)
@@ -9,7 +9,6 @@
#include "vm/bigint_operations.h"
#include "vm/bootstrap.h"
#include "vm/code_generator.h"
-#include "vm/code_index_table.h"
#include "vm/code_patcher.h"
#include "vm/compiler.h"
#include "vm/compiler_stats.h"
@@ -26,6 +25,7 @@
#include "vm/parser.h"
#include "vm/runtime_entry.h"
#include "vm/scopes.h"
+#include "vm/stack_frame.h"
#include "vm/timer.h"
#include "vm/unicode.h"
@@ -8741,17 +8741,16 @@
void Stacktrace::SetupStacktrace(intptr_t index,
const GrowableArray<uword>& frame_pcs) const {
- ASSERT(Isolate::Current() != NULL);
- CodeIndexTable* code_index_table = Isolate::Current()->code_index_table();
- ASSERT(code_index_table != NULL);
- Function& function = Function::Handle();
- Code& code = Code::Handle();
- Smi& pc_offset = Smi::Handle();
+ Isolate* isolate = Isolate::Current();
+ ASSERT(isolate != NULL);
+ Function& function = Function::Handle(isolate, Function::null());
+ Code& code = Code::Handle(isolate, Code::null());
+ Smi& pc_offset = Smi::Handle(isolate, Smi::New(0));
const Array& function_array = Array::Handle(raw_ptr()->function_array_);
const Array& code_array = Array::Handle(raw_ptr()->code_array_);
const Array& pc_offset_array = Array::Handle(raw_ptr()->pc_offset_array_);
for (intptr_t i = 0; i < frame_pcs.length(); i++) {
- code = code_index_table->LookupCode(frame_pcs[i]);
+ code = StackFrame::LookupCode(isolate, frame_pcs[i]);
ASSERT(!code.IsNull());
function = code.function();
function_array.SetAt((index + i), function);
« no previous file with comments | « vm/heap.cc ('k') | vm/pages.h » ('j') | vm/pages.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698