| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index f7b8889de5010c85d815ff8b01e3203af8719c23..d0b9dc2832ed855bd70b0bd1377919f72da0eb15 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -144,6 +144,7 @@
|
| // - Script
|
| // - DebugInfo
|
| // - BreakPointInfo
|
| +// - StackFrameInfo
|
| // - CodeCache
|
| // - PrototypeInfo
|
| // - Module
|
| @@ -357,6 +358,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
|
| V(PROMISE_REACTION_JOB_INFO_TYPE) \
|
| V(DEBUG_INFO_TYPE) \
|
| V(BREAK_POINT_INFO_TYPE) \
|
| + V(STACK_FRAME_INFO_TYPE) \
|
| V(PROTOTYPE_INFO_TYPE) \
|
| V(TUPLE2_TYPE) \
|
| V(TUPLE3_TYPE) \
|
| @@ -528,6 +530,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
|
| promise_reaction_job_info) \
|
| V(DEBUG_INFO, DebugInfo, debug_info) \
|
| V(BREAK_POINT_INFO, BreakPointInfo, break_point_info) \
|
| + V(STACK_FRAME_INFO, StackFrameInfo, stack_frame_info) \
|
| V(PROTOTYPE_INFO, PrototypeInfo, prototype_info) \
|
| V(TUPLE2, Tuple2, tuple2) \
|
| V(TUPLE3, Tuple3, tuple3) \
|
| @@ -699,6 +702,7 @@ enum InstanceType {
|
| PROMISE_REACTION_JOB_INFO_TYPE,
|
| DEBUG_INFO_TYPE,
|
| BREAK_POINT_INFO_TYPE,
|
| + STACK_FRAME_INFO_TYPE,
|
| PROTOTYPE_INFO_TYPE,
|
| TUPLE2_TYPE,
|
| TUPLE3_TYPE,
|
| @@ -11283,6 +11287,42 @@ class BreakPointInfo: public Struct {
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(BreakPointInfo);
|
| };
|
|
|
| +class StackFrameInfo : public Struct {
|
| + public:
|
| + DECL_INT_ACCESSORS(line_number)
|
| + DECL_INT_ACCESSORS(column_number)
|
| + DECL_INT_ACCESSORS(script_id)
|
| + DECL_ACCESSORS(script_name, Object)
|
| + DECL_ACCESSORS(script_name_or_source_url, Object)
|
| + DECL_ACCESSORS(function_name, Object)
|
| + DECL_BOOLEAN_ACCESSORS(is_eval)
|
| + DECL_BOOLEAN_ACCESSORS(is_constructor)
|
| + DECL_INT_ACCESSORS(flag)
|
| +
|
| + DECLARE_CAST(StackFrameInfo)
|
| +
|
| + // Dispatched behavior.
|
| + DECLARE_PRINTER(StackFrameInfo)
|
| + DECLARE_VERIFIER(StackFrameInfo)
|
| +
|
| + static const int kLineNumberIndex = Struct::kHeaderSize;
|
| + static const int kColumnNumberIndex = kLineNumberIndex + kPointerSize;
|
| + static const int kScriptIdIndex = kColumnNumberIndex + kPointerSize;
|
| + static const int kScriptNameIndex = kScriptIdIndex + kPointerSize;
|
| + static const int kScriptNameOrSourceUrlIndex =
|
| + kScriptNameIndex + kPointerSize;
|
| + static const int kFunctionNameIndex =
|
| + kScriptNameOrSourceUrlIndex + kPointerSize;
|
| + static const int kFlagIndex = kFunctionNameIndex + kPointerSize;
|
| + static const int kSize = kFlagIndex + kPointerSize;
|
| +
|
| + private:
|
| + // Bit position in the flag, from least significant bit position.
|
| + static const int kIsEvalBit = 0;
|
| + static const int kIsConstructorBit = 1;
|
| +
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(StackFrameInfo);
|
| +};
|
|
|
| #define VISITOR_SYNCHRONIZATION_TAGS_LIST(V) \
|
| V(kStringTable, "string_table", "(Internalized strings)") \
|
|
|