Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 2d90acdb1d73c3c1dec43b900b20e5796290a8c2..23ac7cea559046c152cf6eddf35eff24fca61507 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -2932,7 +2932,8 @@ class ArrayList : public FixedArray { |
V(Receiver, Object) \ |
V(Function, JSFunction) \ |
V(Code, AbstractCode) \ |
- V(Offset, Smi) |
+ V(Offset, Smi) \ |
+ V(Flags, Smi) |
// Container object for data collected during simple stack trace captures. |
class FrameArray : public FixedArray { |
@@ -2943,31 +2944,35 @@ class FrameArray : public FixedArray { |
FRAME_ARRAY_FIELD_LIST(DECLARE_FRAME_ARRAY_ACCESSORS) |
#undef DECLARE_FRAME_ARRAY_ACCESSORS |
- inline void SetSloppyFrameCount(int count); |
- inline int SloppyFrameCount() const; |
- |
inline bool IsWasmFrame(int frame_ix) const; |
inline int FrameCount() const; |
void ShrinkToFit(); |
+ // Flags. |
+ static const int kIsWasmFrame = 1 << 0; |
+ static const int kIsStrict = 1 << 1; |
+ static const int kForceConstructor = 1 << 2; |
+ |
static Handle<FrameArray> AppendJSFrame(Handle<FrameArray> in, |
Handle<Object> receiver, |
Handle<JSFunction> function, |
- Handle<AbstractCode> code, |
- int offset); |
+ Handle<AbstractCode> code, int offset, |
+ int flags); |
static Handle<FrameArray> AppendWasmFrame(Handle<FrameArray> in, |
Handle<Object> wasm_object, |
int wasm_function_index, |
Handle<AbstractCode> code, |
- int offset); |
+ int offset, int flags); |
DECLARE_CAST(FrameArray) |
private: |
- // The underlying fixed array embodies a captured stack trace. The number of |
- // sloppy frames is stored at array[kFirstIndex]. Frame i occupies indices |
+ // The underlying fixed array embodies a captured stack trace. Frame i |
+ // occupies indices |
+ // |
// kFirstIndex + 1 + [i * kElementsPerFrame, (i + 1) * kElementsPerFrame[, |
+ // |
// with internal offsets as below: |
static const int kWasmObjectOffset = 0; |
@@ -2979,13 +2984,14 @@ class FrameArray : public FixedArray { |
static const int kCodeOffset = 2; |
static const int kOffsetOffset = 3; |
- static const int kElementsPerFrame = 4; |
+ static const int kFlagsOffset = 4; |
+ |
+ static const int kElementsPerFrame = 5; |
// Array layout indices. |
static const int kFrameCountIndex = 0; |
- static const int kSloppyFramesIndex = 1; |
- static const int kFirstIndex = 2; |
+ static const int kFirstIndex = 1; |
static int LengthFor(int frame_count) { |
return kFirstIndex + frame_count * kElementsPerFrame; |