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

Unified Diff: runtime/vm/scopes.cc

Issue 14449009: Another fix for debugging stack traces and captured variables. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 8 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/raw_object.h ('k') | tools/ddbg.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/scopes.cc
===================================================================
--- runtime/vm/scopes.cc (revision 22195)
+++ runtime/vm/scopes.cc (working copy)
@@ -258,18 +258,28 @@
desc.info.end_pos = var->owner()->end_token_pos();
desc.info.index = var->index();
vars->Add(desc);
- } else if (var->name().Equals(
- Symbols::Name(Symbols::kSavedEntryContextVarId))) {
+ } else if (var->name().Equals(Symbols::SavedEntryContextVar())) {
// This is the local variable in which the function saves the
// caller's chain of closure contexts (caller's CTX register).
VarDesc desc;
desc.name = &var->name();
- desc.info.kind = RawLocalVarDescriptors::kContextChain;
+ desc.info.kind = RawLocalVarDescriptors::kSavedEntryContext;
desc.info.scope_id = 0;
desc.info.begin_pos = 0;
desc.info.end_pos = 0;
desc.info.index = var->index();
vars->Add(desc);
+ } else if (var->name().Equals(Symbols::SavedCurrentContextVar())) {
+ // This is the local variable in which the function saves its
+ // own context before calling a closure function.
+ VarDesc desc;
+ desc.name = &var->name();
+ desc.info.kind = RawLocalVarDescriptors::kSavedCurrentContext;
+ desc.info.scope_id = 0;
+ desc.info.begin_pos = 0;
+ desc.info.end_pos = 0;
+ desc.info.index = var->index();
+ vars->Add(desc);
}
// The saved arguments descriptor variable is not currently collected.
}
« no previous file with comments | « runtime/vm/raw_object.h ('k') | tools/ddbg.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698