Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 7d0bbe3becf9014ce858c70c9a40ff0d02ecc648..2606865c63a0e8a1c192c13e5efb73216df47c7b 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -4255,6 +4255,11 @@ class Code: public HeapObject { |
inline void set_allow_osr_at_loop_nesting_level(int level); |
inline int allow_osr_at_loop_nesting_level(); |
+ // [profiler_ticks]: For FUNCTION kind, tells for how many profiler ticks |
+ // the code object was seen on the stack with no IC patching going on. |
+ inline int profiler_ticks(); |
+ inline void set_profiler_ticks(int ticks); |
+ |
// [stack_slots]: For kind OPTIMIZED_FUNCTION, the number of stack slots |
// reserved in the code prologue. |
inline unsigned stack_slots(); |
@@ -4474,6 +4479,7 @@ class Code: public HeapObject { |
static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1; |
static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; |
+ static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1; |
static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize; |
static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize; |
@@ -5332,9 +5338,6 @@ class SharedFunctionInfo: public HeapObject { |
inline int deopt_counter(); |
inline void set_deopt_counter(int counter); |
- inline int profiler_ticks(); |
- inline void set_profiler_ticks(int ticks); |
- |
// Inline cache age is used to infer whether the function survived a context |
// disposal or not. In the former case we reset the opt_count. |
inline int ic_age(); |
@@ -5516,10 +5519,13 @@ class SharedFunctionInfo: public HeapObject { |
kInferredNameOffset + kPointerSize; |
static const int kThisPropertyAssignmentsOffset = |
kInitialMapOffset + kPointerSize; |
+ // ic_age is a Smi field. It could be grouped with another Smi field into a |
+ // PSEUDO_SMI_ACCESSORS pair (on x64), if one becomes available. |
+ static const int kICAgeOffset = kThisPropertyAssignmentsOffset + kPointerSize; |
#if V8_HOST_ARCH_32_BIT |
// Smi fields. |
static const int kLengthOffset = |
- kThisPropertyAssignmentsOffset + kPointerSize; |
+ kICAgeOffset + kPointerSize; |
static const int kFormalParameterCountOffset = kLengthOffset + kPointerSize; |
static const int kExpectedNofPropertiesOffset = |
kFormalParameterCountOffset + kPointerSize; |
@@ -5539,11 +5545,10 @@ class SharedFunctionInfo: public HeapObject { |
kThisPropertyAssignmentsCountOffset + kPointerSize; |
static const int kAstNodeCountOffset = kOptCountOffset + kPointerSize; |
static const int kDeoptCounterOffset = kAstNodeCountOffset + kPointerSize; |
- static const int kProfilerTicksOffset = kDeoptCounterOffset + kPointerSize; |
- static const int kICAgeOffset = kProfilerTicksOffset + kPointerSize; |
+ |
// Total size. |
- static const int kSize = kICAgeOffset + kPointerSize; |
+ static const int kSize = kDeoptCounterOffset + kPointerSize; |
#else |
// The only reason to use smi fields instead of int fields |
// is to allow iteration without maps decoding during |
@@ -5555,7 +5560,7 @@ class SharedFunctionInfo: public HeapObject { |
// word is not set and thus this word cannot be treated as pointer |
// to HeapObject during old space traversal. |
static const int kLengthOffset = |
- kThisPropertyAssignmentsOffset + kPointerSize; |
+ kICAgeOffset + kPointerSize; |
static const int kFormalParameterCountOffset = |
kLengthOffset + kIntSize; |
@@ -5582,12 +5587,8 @@ class SharedFunctionInfo: public HeapObject { |
static const int kAstNodeCountOffset = kOptCountOffset + kIntSize; |
static const int kDeoptCounterOffset = kAstNodeCountOffset + kIntSize; |
- |
- static const int kProfilerTicksOffset = kDeoptCounterOffset + kIntSize; |
- static const int kICAgeOffset = kProfilerTicksOffset + kIntSize; |
- |
// Total size. |
- static const int kSize = kICAgeOffset + kIntSize; |
+ static const int kSize = kDeoptCounterOffset + kIntSize; |
#endif |
@@ -6574,8 +6575,8 @@ class TypeFeedbackInfo: public Struct { |
inline int ic_total_count(); |
inline void set_ic_total_count(int count); |
- inline int ic_with_typeinfo_count(); |
- inline void set_ic_with_typeinfo_count(int count); |
+ inline int ic_with_type_info_count(); |
+ inline void set_ic_with_type_info_count(int count); |
DECL_ACCESSORS(type_feedback_cells, TypeFeedbackCells) |