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

Unified Diff: src/objects.h

Issue 2788413004: [inspector] cache stack frame for call sites (Closed)
Patch Set: ready for review Created 3 years, 9 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
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index d0b9dc2832ed855bd70b0bd1377919f72da0eb15..a468199c7c3d64b9f770b57431c3d2d2fd5d992f 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -4257,6 +4257,8 @@ class BytecodeArray : public FixedArrayBase {
// offset and source position.
DECL_ACCESSORS(source_position_table, ByteArray)
+ DECL_ACCESSORS(stack_frame_cache, Object)
+
DECLARE_CAST(BytecodeArray)
// Dispatched behavior.
@@ -4287,7 +4289,9 @@ class BytecodeArray : public FixedArrayBase {
static const int kHandlerTableOffset = kConstantPoolOffset + kPointerSize;
static const int kSourcePositionTableOffset =
kHandlerTableOffset + kPointerSize;
- static const int kFrameSizeOffset = kSourcePositionTableOffset + kPointerSize;
+ static const int kStackFrameCacheOffset =
+ kSourcePositionTableOffset + kPointerSize;
+ static const int kFrameSizeOffset = kStackFrameCacheOffset + kPointerSize;
static const int kParameterSizeOffset = kFrameSizeOffset + kIntSize;
static const int kInterruptBudgetOffset = kParameterSizeOffset + kIntSize;
static const int kOSRNestingLevelOffset = kInterruptBudgetOffset + kIntSize;
@@ -4670,6 +4674,8 @@ class Code: public HeapObject {
// [source_position_table]: ByteArray for the source positions table.
DECL_ACCESSORS(source_position_table, ByteArray)
+ DECL_ACCESSORS(stack_frame_cache, Object)
+
// [trap_handler_index]: An index into the trap handler's master list of code
// objects.
DECL_ACCESSORS(trap_handler_index, Smi)
@@ -5046,9 +5052,11 @@ class Code: public HeapObject {
kHandlerTableOffset + kPointerSize;
static const int kSourcePositionTableOffset =
kDeoptimizationDataOffset + kPointerSize;
+ static const int kStackFrameCacheOffset =
+ kSourcePositionTableOffset + kPointerSize;
// For FUNCTION kind, we store the type feedback info here.
static const int kTypeFeedbackInfoOffset =
- kSourcePositionTableOffset + kPointerSize;
+ kStackFrameCacheOffset + kPointerSize;
static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset + kPointerSize;
static const int kGCMetadataOffset = kNextCodeLinkOffset + kPointerSize;
static const int kInstructionSizeOffset = kGCMetadataOffset + kPointerSize;
@@ -5200,6 +5208,9 @@ class AbstractCode : public HeapObject {
// Set the source position table.
inline void set_source_position_table(ByteArray* source_position_table);
+ inline Object* stack_frame_cache();
+ inline void set_stack_frame_cache(Object* stack_frame_cache);
+
// Returns the size of instructions and the metadata.
inline int SizeIncludingMetadata();
« src/isolate.cc ('K') | « src/isolate.cc ('k') | src/objects-body-descriptors-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698