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

Unified Diff: src/objects.h

Issue 2274823002: Add flags to FrameArray (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@frame-array
Patch Set: Rebase Created 4 years, 4 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/messages.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « src/messages.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698