Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 3c814f2127a7c3b61e1cdcced83c6a060f7ddf63..a804dc62a6d41dd0fb0abdcf146a16db03981d5f 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -5151,16 +5151,14 @@ TYPED_ARRAYS(FIXED_TYPED_ARRAY_TRAITS) |
class DeoptimizationInputData: public FixedArray { |
public: |
// Layout description. Indices in the array. |
- static const int kDeoptEntryCountIndex = 0; |
- static const int kReturnAddressPatchEntryCountIndex = 1; |
- static const int kTranslationByteArrayIndex = 2; |
- static const int kInlinedFunctionCountIndex = 3; |
- static const int kLiteralArrayIndex = 4; |
- static const int kOsrAstIdIndex = 5; |
- static const int kOsrPcOffsetIndex = 6; |
- static const int kOptimizationIdIndex = 7; |
- static const int kSharedFunctionInfoIndex = 8; |
- static const int kFirstDeoptEntryIndex = 9; |
+ static const int kTranslationByteArrayIndex = 0; |
+ static const int kInlinedFunctionCountIndex = 1; |
+ static const int kLiteralArrayIndex = 2; |
+ static const int kOsrAstIdIndex = 3; |
+ static const int kOsrPcOffsetIndex = 4; |
+ static const int kOptimizationIdIndex = 5; |
+ static const int kSharedFunctionInfoIndex = 6; |
+ static const int kFirstDeoptEntryIndex = 7; |
// Offsets of deopt entry elements relative to the start of the entry. |
static const int kAstIdRawOffset = 0; |
@@ -5169,12 +5167,6 @@ class DeoptimizationInputData: public FixedArray { |
static const int kPcOffset = 3; |
static const int kDeoptEntrySize = 4; |
- // Offsets of return address patch entry elements relative to the start of the |
- // entry |
- static const int kReturnAddressPcOffset = 0; |
- static const int kPatchedAddressPcOffset = 1; |
- static const int kReturnAddressPatchEntrySize = 2; |
- |
// Simple element accessors. |
#define DEFINE_ELEMENT_ACCESSORS(name, type) \ |
type* name() { \ |
@@ -5195,7 +5187,7 @@ class DeoptimizationInputData: public FixedArray { |
#undef DEFINE_ELEMENT_ACCESSORS |
// Accessors for elements of the ith deoptimization entry. |
-#define DEFINE_DEOPT_ENTRY_ACCESSORS(name, type) \ |
+#define DEFINE_ENTRY_ACCESSORS(name, type) \ |
type* name(int i) { \ |
return type::cast(get(IndexForEntry(i) + k##name##Offset)); \ |
} \ |
@@ -5203,28 +5195,13 @@ class DeoptimizationInputData: public FixedArray { |
set(IndexForEntry(i) + k##name##Offset, value); \ |
} |
- DEFINE_DEOPT_ENTRY_ACCESSORS(AstIdRaw, Smi) |
- DEFINE_DEOPT_ENTRY_ACCESSORS(TranslationIndex, Smi) |
- DEFINE_DEOPT_ENTRY_ACCESSORS(ArgumentsStackHeight, Smi) |
- DEFINE_DEOPT_ENTRY_ACCESSORS(Pc, Smi) |
+ DEFINE_ENTRY_ACCESSORS(AstIdRaw, Smi) |
+ DEFINE_ENTRY_ACCESSORS(TranslationIndex, Smi) |
+ DEFINE_ENTRY_ACCESSORS(ArgumentsStackHeight, Smi) |
+ DEFINE_ENTRY_ACCESSORS(Pc, Smi) |
#undef DEFINE_DEOPT_ENTRY_ACCESSORS |
-// Accessors for elements of the ith deoptimization entry. |
-#define DEFINE_PATCH_ENTRY_ACCESSORS(name, type) \ |
- type* name(int i) { \ |
- return type::cast( \ |
- get(IndexForReturnAddressPatchEntry(i) + k##name##Offset)); \ |
- } \ |
- void Set##name(int i, type* value) { \ |
- set(IndexForReturnAddressPatchEntry(i) + k##name##Offset, value); \ |
- } |
- |
- DEFINE_PATCH_ENTRY_ACCESSORS(ReturnAddressPc, Smi) |
- DEFINE_PATCH_ENTRY_ACCESSORS(PatchedAddressPc, Smi) |
- |
-#undef DEFINE_PATCH_ENTRY_ACCESSORS |
- |
BailoutId AstId(int i) { |
return BailoutId(AstIdRaw(i)->value()); |
} |
@@ -5234,19 +5211,12 @@ class DeoptimizationInputData: public FixedArray { |
} |
int DeoptCount() { |
- return length() == 0 ? 0 : Smi::cast(get(kDeoptEntryCountIndex))->value(); |
- } |
- |
- int ReturnAddressPatchCount() { |
- return length() == 0 |
- ? 0 |
- : Smi::cast(get(kReturnAddressPatchEntryCountIndex))->value(); |
+ return (length() - kFirstDeoptEntryIndex) / kDeoptEntrySize; |
} |
// Allocates a DeoptimizationInputData. |
static Handle<DeoptimizationInputData> New(Isolate* isolate, |
int deopt_entry_count, |
- int return_address_patch_count, |
PretenureFlag pretenure); |
DECLARE_CAST(DeoptimizationInputData) |
@@ -5256,21 +5226,12 @@ class DeoptimizationInputData: public FixedArray { |
#endif |
private: |
- friend class Object; // For accessing LengthFor. |
- |
static int IndexForEntry(int i) { |
return kFirstDeoptEntryIndex + (i * kDeoptEntrySize); |
} |
- int IndexForReturnAddressPatchEntry(int i) { |
- return kFirstDeoptEntryIndex + (DeoptCount() * kDeoptEntrySize) + |
- (i * kReturnAddressPatchEntrySize); |
- } |
- static int LengthFor(int deopt_count, int return_address_patch_count) { |
- return kFirstDeoptEntryIndex + (deopt_count * kDeoptEntrySize) + |
- (return_address_patch_count * kReturnAddressPatchEntrySize); |
- } |
+ static int LengthFor(int entry_count) { return IndexForEntry(entry_count); } |
}; |