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

Unified Diff: runtime/vm/debugger.cc

Issue 294943008: - Landing https://codereview.chromium.org/293963008/ (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 7 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/dart_entry.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/debugger.cc
===================================================================
--- runtime/vm/debugger.cc (revision 36443)
+++ runtime/vm/debugger.cc (working copy)
@@ -1178,8 +1178,9 @@
// Can't instrument native functions.
return;
}
+ Isolate* isolate = Isolate::Current();
if (!target_function.HasCode()) {
- Compiler::CompileFunction(target_function);
+ Compiler::CompileFunction(isolate, target_function);
// If there were any errors, ignore them silently and return without
// adding breakpoints to target.
if (!target_function.HasCode()) {
@@ -1188,11 +1189,11 @@
}
// Hang on to the code object before deoptimizing, in case deoptimization
// might cause the GC to run.
- Code& code = Code::Handle(target_function.unoptimized_code());
+ Code& code = Code::Handle(isolate, target_function.unoptimized_code());
ASSERT(!code.IsNull());
DeoptimizeWorld();
ASSERT(!target_function.HasOptimizedCode());
- PcDescriptors& desc = PcDescriptors::Handle(code.pc_descriptors());
+ PcDescriptors& desc = PcDescriptors::Handle(isolate, code.pc_descriptors());
for (intptr_t i = 0; i < desc.Length(); i++) {
if (IsSafePoint(desc, i)) {
CodeBreakpoint* bpt = GetCodeBreakpoint(desc.PC(i));
@@ -1241,7 +1242,7 @@
// closure function, because it may not be on the stack yet.
bool is_closure_call = false;
const PcDescriptors& pc_desc =
- PcDescriptors::Handle(code.pc_descriptors());
+ PcDescriptors::Handle(isolate, code.pc_descriptors());
for (int i = 0; i < pc_desc.Length(); i++) {
if (pc_desc.PC(i) == pc &&
@@ -1307,7 +1308,8 @@
deopt_context->FillDestFrame();
deopt_context->MaterializeDeferredObjects();
- const Array& dest_frame = Array::Handle(deopt_context->DestFrameAsArray());
+ const Array& dest_frame = Array::Handle(isolate,
+ deopt_context->DestFrameAsArray());
isolate->set_deopt_context(NULL);
delete deopt_context;
@@ -1321,7 +1323,7 @@
DebuggerStackTrace* stack_trace = new DebuggerStackTrace(8);
StackFrameIterator iterator(false);
ActivationFrame* current_activation = NULL;
- Context& entry_ctx = Context::Handle(isolate->top_context());
+ Context& entry_ctx = Context::Handle(isolate, isolate->top_context());
Code& code = Code::Handle(isolate);
Code& inlined_code = Code::Handle(isolate);
Array& deopt_frame = Array::Handle(isolate);
@@ -1352,7 +1354,7 @@
inlined_code = it.code();
if (FLAG_trace_debugger_stacktrace) {
const Function& function =
- Function::Handle(inlined_code.function());
+ Function::Handle(isolate, inlined_code.function());
ASSERT(!function.IsNull());
OS::PrintErr("CollectStackTrace: visiting inlined function: %s\n",
function.ToFullyQualifiedCString());
« no previous file with comments | « runtime/vm/dart_entry.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698