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

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
Index: runtime/vm/scopes.cc
===================================================================
--- runtime/vm/scopes.cc (revision 22155)
+++ 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::kSavedCallerContext;
siva 2013/04/30 18:46:50 Why not call this kSavedEntryContext that way it w
hausner 2013/04/30 19:38:54 Done.
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.
}
« runtime/vm/debugger.h ('K') | « runtime/vm/raw_object.h ('k') | tools/ddbg.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698