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 "allocation.h" | 8 #include "allocation.h" |
9 #include "assert-scope.h" | 9 #include "assert-scope.h" |
10 #include "builtins.h" | 10 #include "builtins.h" |
(...skipping 5059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5070 | 5070 |
5071 class FixedTypedArrayBase: public FixedArrayBase { | 5071 class FixedTypedArrayBase: public FixedArrayBase { |
5072 public: | 5072 public: |
5073 // Casting: | 5073 // Casting: |
5074 static inline FixedTypedArrayBase* cast(Object* obj); | 5074 static inline FixedTypedArrayBase* cast(Object* obj); |
5075 | 5075 |
5076 static const int kDataOffset = kHeaderSize; | 5076 static const int kDataOffset = kHeaderSize; |
5077 | 5077 |
5078 inline int size(); | 5078 inline int size(); |
5079 | 5079 |
| 5080 inline int TypedArraySize(InstanceType type); |
| 5081 |
5080 // Use with care: returns raw pointer into heap. | 5082 // Use with care: returns raw pointer into heap. |
5081 inline void* DataPtr(); | 5083 inline void* DataPtr(); |
5082 | 5084 |
5083 inline int DataSize(); | 5085 inline int DataSize(); |
5084 | 5086 |
5085 private: | 5087 private: |
| 5088 inline int DataSize(InstanceType type); |
| 5089 |
5086 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArrayBase); | 5090 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArrayBase); |
5087 }; | 5091 }; |
5088 | 5092 |
5089 | 5093 |
5090 template <class Traits> | 5094 template <class Traits> |
5091 class FixedTypedArray: public FixedTypedArrayBase { | 5095 class FixedTypedArray: public FixedTypedArrayBase { |
5092 public: | 5096 public: |
5093 typedef typename Traits::ElementType ElementType; | 5097 typedef typename Traits::ElementType ElementType; |
5094 static const InstanceType kInstanceType = Traits::kInstanceType; | 5098 static const InstanceType kInstanceType = Traits::kInstanceType; |
5095 | 5099 |
(...skipping 5974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11070 } else { | 11074 } else { |
11071 value &= ~(1 << bit_position); | 11075 value &= ~(1 << bit_position); |
11072 } | 11076 } |
11073 return value; | 11077 return value; |
11074 } | 11078 } |
11075 }; | 11079 }; |
11076 | 11080 |
11077 } } // namespace v8::internal | 11081 } } // namespace v8::internal |
11078 | 11082 |
11079 #endif // V8_OBJECTS_H_ | 11083 #endif // V8_OBJECTS_H_ |
OLD | NEW |