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

Unified Diff: runtime/vm/debugger.cc

Issue 2761143004: Ensure unoptimized code when collecting awaiter return stack trace. (Closed)
Patch Set: Created 3 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/debugger.cc
diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
index 509abb68252285a59f7b4aca4ec791686b041791..3d4c7c39e82a8f7b346f7c4d2455d1010d50548f 100644
--- a/runtime/vm/debugger.cc
+++ b/runtime/vm/debugger.cc
@@ -321,6 +321,7 @@ ActivationFrame::ActivationFrame(const Closure& async_activation)
pc_desc_(PcDescriptors::ZoneHandle()) {
// Extract the function and the code from the asynchronous activation.
function_ = async_activation.function();
+ function_.EnsureHasCompiledUnoptimizedCode();
code_ = function_.unoptimized_code();
ctx_ = async_activation.context();
ASSERT(fp_ == 0);
@@ -1817,8 +1818,7 @@ void Debugger::AppendCodeFrames(Thread* thread,
it.Advance()) {
*inlined_code = it.code();
if (FLAG_trace_debugger_stacktrace) {
- const Function& function =
- Function::Handle(zone, inlined_code->function());
+ const Function& function = Function::Handle(zone, it.function());
ASSERT(!function.IsNull());
OS::PrintErr("CollectStackTrace: visiting inlined function: %s\n",
function.ToFullyQualifiedCString());
@@ -1954,7 +1954,7 @@ DebuggerStackTrace* Debugger::CollectAwaiterReturnStackTrace() {
for (InlinedFunctionsIterator it(code, frame->pc()); !it.Done();
it.Advance()) {
inlined_code = it.code();
- function = inlined_code.function();
+ function = it.function();
if (FLAG_trace_debugger_stacktrace) {
ASSERT(!function.IsNull());
OS::PrintErr("CollectStackTrace: visiting inlined function: %s\n",
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698