OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 4094 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4105 return OBJECT_POINTER_ALIGN(kHeaderSize + length); | 4105 return OBJECT_POINTER_ALIGN(kHeaderSize + length); |
4106 } | 4106 } |
4107 | 4107 |
4108 // Setter and getter | 4108 // Setter and getter |
4109 inline byte get(int index); | 4109 inline byte get(int index); |
4110 inline void set(int index, byte value); | 4110 inline void set(int index, byte value); |
4111 | 4111 |
4112 // Returns data start address. | 4112 // Returns data start address. |
4113 inline Address GetFirstBytecodeAddress(); | 4113 inline Address GetFirstBytecodeAddress(); |
4114 | 4114 |
4115 // Accessors for frame size and the number of locals | 4115 // Accessors for frame size. |
4116 inline int frame_size() const; | 4116 inline int frame_size() const; |
4117 inline void set_frame_size(int value); | 4117 inline void set_frame_size(int frame_size); |
| 4118 |
| 4119 // Accessors for parameter count (including implicit 'this' receiver). |
| 4120 inline int parameter_count() const; |
| 4121 inline void set_parameter_count(int number_of_parameters); |
4118 | 4122 |
4119 DECLARE_CAST(BytecodeArray) | 4123 DECLARE_CAST(BytecodeArray) |
4120 | 4124 |
4121 // Dispatched behavior. | 4125 // Dispatched behavior. |
4122 inline int BytecodeArraySize(); | 4126 inline int BytecodeArraySize(); |
4123 | 4127 |
4124 DECLARE_PRINTER(BytecodeArray) | 4128 DECLARE_PRINTER(BytecodeArray) |
4125 DECLARE_VERIFIER(BytecodeArray) | 4129 DECLARE_VERIFIER(BytecodeArray) |
4126 | 4130 |
4127 void Disassemble(std::ostream& os); | 4131 void Disassemble(std::ostream& os); |
4128 | 4132 |
4129 // Layout description. | 4133 // Layout description. |
4130 static const int kFrameSizeOffset = FixedArrayBase::kHeaderSize; | 4134 static const int kFrameSizeOffset = FixedArrayBase::kHeaderSize; |
4131 static const int kHeaderSize = kFrameSizeOffset + kIntSize; | 4135 static const int kParameterSizeOffset = kFrameSizeOffset + kIntSize; |
| 4136 static const int kHeaderSize = kParameterSizeOffset + kIntSize; |
4132 | 4137 |
4133 static const int kAlignedSize = OBJECT_POINTER_ALIGN(kHeaderSize); | 4138 static const int kAlignedSize = OBJECT_POINTER_ALIGN(kHeaderSize); |
4134 | 4139 |
4135 // Maximal memory consumption for a single BytecodeArray. | 4140 // Maximal memory consumption for a single BytecodeArray. |
4136 static const int kMaxSize = 512 * MB; | 4141 static const int kMaxSize = 512 * MB; |
4137 // Maximal length of a single BytecodeArray. | 4142 // Maximal length of a single BytecodeArray. |
4138 static const int kMaxLength = kMaxSize - kHeaderSize; | 4143 static const int kMaxLength = kMaxSize - kHeaderSize; |
4139 | 4144 |
4140 private: | 4145 private: |
4141 DISALLOW_IMPLICIT_CONSTRUCTORS(BytecodeArray); | 4146 DISALLOW_IMPLICIT_CONSTRUCTORS(BytecodeArray); |
(...skipping 6193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10335 } else { | 10340 } else { |
10336 value &= ~(1 << bit_position); | 10341 value &= ~(1 << bit_position); |
10337 } | 10342 } |
10338 return value; | 10343 return value; |
10339 } | 10344 } |
10340 }; | 10345 }; |
10341 | 10346 |
10342 } } // namespace v8::internal | 10347 } } // namespace v8::internal |
10343 | 10348 |
10344 #endif // V8_OBJECTS_H_ | 10349 #endif // V8_OBJECTS_H_ |
OLD | NEW |