| 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) {}
|
| };
|
|
|
|
|
|
|