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 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 4552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4563 void CopyBytecodesTo(BytecodeArray* to); | 4563 void CopyBytecodesTo(BytecodeArray* to); |
4564 | 4564 |
4565 // Layout description. | 4565 // Layout description. |
4566 static const int kConstantPoolOffset = FixedArrayBase::kHeaderSize; | 4566 static const int kConstantPoolOffset = FixedArrayBase::kHeaderSize; |
4567 static const int kHandlerTableOffset = kConstantPoolOffset + kPointerSize; | 4567 static const int kHandlerTableOffset = kConstantPoolOffset + kPointerSize; |
4568 static const int kSourcePositionTableOffset = | 4568 static const int kSourcePositionTableOffset = |
4569 kHandlerTableOffset + kPointerSize; | 4569 kHandlerTableOffset + kPointerSize; |
4570 static const int kFrameSizeOffset = kSourcePositionTableOffset + kPointerSize; | 4570 static const int kFrameSizeOffset = kSourcePositionTableOffset + kPointerSize; |
4571 static const int kParameterSizeOffset = kFrameSizeOffset + kIntSize; | 4571 static const int kParameterSizeOffset = kFrameSizeOffset + kIntSize; |
4572 static const int kInterruptBudgetOffset = kParameterSizeOffset + kIntSize; | 4572 static const int kInterruptBudgetOffset = kParameterSizeOffset + kIntSize; |
4573 // TODO(4764): The OSR nesting level is guaranteed to be in [0;6] bounds and | |
4574 // could potentially be merged with another field (e.g. parameter_size). | |
4575 static const int kOSRNestingLevelOffset = kInterruptBudgetOffset + kIntSize; | 4573 static const int kOSRNestingLevelOffset = kInterruptBudgetOffset + kIntSize; |
4576 static const int kHeaderSize = kOSRNestingLevelOffset + kIntSize; | 4574 static const int kHeaderSize = kOSRNestingLevelOffset + kCharSize; |
4577 | 4575 |
4578 // Maximal memory consumption for a single BytecodeArray. | 4576 // Maximal memory consumption for a single BytecodeArray. |
4579 static const int kMaxSize = 512 * MB; | 4577 static const int kMaxSize = 512 * MB; |
4580 // Maximal length of a single BytecodeArray. | 4578 // Maximal length of a single BytecodeArray. |
4581 static const int kMaxLength = kMaxSize - kHeaderSize; | 4579 static const int kMaxLength = kMaxSize - kHeaderSize; |
4582 | 4580 |
4583 class BodyDescriptor; | 4581 class BodyDescriptor; |
4584 | 4582 |
4585 private: | 4583 private: |
4586 DISALLOW_IMPLICIT_CONSTRUCTORS(BytecodeArray); | 4584 DISALLOW_IMPLICIT_CONSTRUCTORS(BytecodeArray); |
(...skipping 6434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11021 } | 11019 } |
11022 return value; | 11020 return value; |
11023 } | 11021 } |
11024 }; | 11022 }; |
11025 | 11023 |
11026 | 11024 |
11027 } // NOLINT, false-positive due to second-order macros. | 11025 } // NOLINT, false-positive due to second-order macros. |
11028 } // NOLINT, false-positive due to second-order macros. | 11026 } // NOLINT, false-positive due to second-order macros. |
11029 | 11027 |
11030 #endif // V8_OBJECTS_H_ | 11028 #endif // V8_OBJECTS_H_ |
OLD | NEW |