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

Unified Diff: src/scopeinfo.h

Issue 2943002: Reimplement stack manipulations for LiveEdit (Closed)
Patch Set: follow codereview Created 10 years, 5 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 | « src/runtime.cc ('k') | src/scopeinfo.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/scopeinfo.h
diff --git a/src/scopeinfo.h b/src/scopeinfo.h
index 9fb26d033981725d7cc19a9fb0bdfe6edc410ff7..c1d9545e1c23c99a18f4fab7d2ccd5d06438ab7d 100644
--- a/src/scopeinfo.h
+++ b/src/scopeinfo.h
@@ -46,6 +46,18 @@ namespace internal {
// DebugInfo seems misleading, since this information is primarily used
// in debugging-unrelated contexts.
+// Define state of the function execution. It reflects whether locals are
+// available or not.
+enum FunctionScopeState {
+ // Function is in a normal state.
+ FUNCTION_SCOPE_NORMAL,
+
+ // LiveEdit stack manipulation has reset the function execution:
+ // all below frame pointer (arguments, 'this' and outer context) is
+ // available, but locals are not.
+ FUNCTION_SCOPE_NOT_ENTERED
+};
+
// Forward defined as
// template <class Allocator = FreeStoreAllocationPolicy> class ScopeInfo;
template<class Allocator>
@@ -55,7 +67,7 @@ class ScopeInfo BASE_EMBEDDED {
explicit ScopeInfo(Scope* scope);
// Create a ScopeInfo instance from a Code object.
- explicit ScopeInfo(Code* code);
+ explicit ScopeInfo(Code* code, FunctionScopeState scope_state);
// Write the ScopeInfo data into a Code object, and returns the
// amount of space that was needed. If no Code object is provided
@@ -162,8 +174,8 @@ class ZoneScopeInfo: public ScopeInfo<ZoneListAllocationPolicy> {
: ScopeInfo<ZoneListAllocationPolicy>(scope) {}
// Create a ZoneScopeInfo instance from a Code object.
- explicit ZoneScopeInfo(Code* code)
- : ScopeInfo<ZoneListAllocationPolicy>(code) {}
+ explicit ZoneScopeInfo(Code* code, FunctionScopeState scope_state)
+ : ScopeInfo<ZoneListAllocationPolicy>(code, scope_state) {}
};
« no previous file with comments | « src/runtime.cc ('k') | src/scopeinfo.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698