OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 4632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4643 return deopt_points * 2; | 4643 return deopt_points * 2; |
4644 } | 4644 } |
4645 | 4645 |
4646 // Allocates a DeoptimizationOutputData. | 4646 // Allocates a DeoptimizationOutputData. |
4647 static Handle<DeoptimizationOutputData> New(Isolate* isolate, | 4647 static Handle<DeoptimizationOutputData> New(Isolate* isolate, |
4648 int number_of_deopt_points, | 4648 int number_of_deopt_points, |
4649 PretenureFlag pretenure); | 4649 PretenureFlag pretenure); |
4650 | 4650 |
4651 DECLARE_CAST(DeoptimizationOutputData) | 4651 DECLARE_CAST(DeoptimizationOutputData) |
4652 | 4652 |
4653 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER) | 4653 #ifdef ENABLE_DISASSEMBLER |
4654 void DeoptimizationOutputDataPrint(std::ostream& os); // NOLINT | 4654 void DeoptimizationOutputDataPrint(std::ostream& os); // NOLINT |
4655 #endif | 4655 #endif |
4656 }; | 4656 }; |
4657 | 4657 |
4658 | 4658 |
4659 // A literals array contains the literals for a JSFunction. It also holds | 4659 // A literals array contains the literals for a JSFunction. It also holds |
4660 // the type feedback vector. | 4660 // the type feedback vector. |
4661 class LiteralsArray : public FixedArray { | 4661 class LiteralsArray : public FixedArray { |
4662 public: | 4662 public: |
4663 static const int kVectorIndex = 0; | 4663 static const int kVectorIndex = 0; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4721 | 4721 |
4722 // Lookup handler in a table based on return addresses. | 4722 // Lookup handler in a table based on return addresses. |
4723 int LookupReturn(int pc_offset, CatchPrediction* prediction); | 4723 int LookupReturn(int pc_offset, CatchPrediction* prediction); |
4724 | 4724 |
4725 // Returns the required length of the underlying fixed array. | 4725 // Returns the required length of the underlying fixed array. |
4726 static int LengthForRange(int entries) { return entries * kRangeEntrySize; } | 4726 static int LengthForRange(int entries) { return entries * kRangeEntrySize; } |
4727 static int LengthForReturn(int entries) { return entries * kReturnEntrySize; } | 4727 static int LengthForReturn(int entries) { return entries * kReturnEntrySize; } |
4728 | 4728 |
4729 DECLARE_CAST(HandlerTable) | 4729 DECLARE_CAST(HandlerTable) |
4730 | 4730 |
4731 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER) | 4731 #ifdef ENABLE_DISASSEMBLER |
4732 void HandlerTableRangePrint(std::ostream& os); // NOLINT | 4732 void HandlerTableRangePrint(std::ostream& os); // NOLINT |
4733 void HandlerTableReturnPrint(std::ostream& os); // NOLINT | 4733 void HandlerTableReturnPrint(std::ostream& os); // NOLINT |
4734 #endif | 4734 #endif |
4735 | 4735 |
4736 private: | 4736 private: |
4737 // Layout description for handler table based on ranges. | 4737 // Layout description for handler table based on ranges. |
4738 static const int kRangeStartIndex = 0; | 4738 static const int kRangeStartIndex = 0; |
4739 static const int kRangeEndIndex = 1; | 4739 static const int kRangeEndIndex = 1; |
4740 static const int kRangeHandlerIndex = 2; | 4740 static const int kRangeHandlerIndex = 2; |
4741 static const int kRangeDepthIndex = 3; | 4741 static const int kRangeDepthIndex = 3; |
(...skipping 5988 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10730 } | 10730 } |
10731 return value; | 10731 return value; |
10732 } | 10732 } |
10733 }; | 10733 }; |
10734 | 10734 |
10735 | 10735 |
10736 } // NOLINT, false-positive due to second-order macros. | 10736 } // NOLINT, false-positive due to second-order macros. |
10737 } // NOLINT, false-positive due to second-order macros. | 10737 } // NOLINT, false-positive due to second-order macros. |
10738 | 10738 |
10739 #endif // V8_OBJECTS_H_ | 10739 #endif // V8_OBJECTS_H_ |
OLD | NEW |