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 4862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4873 | 4873 |
4874 | 4874 |
4875 class FixedTypedArrayBase: public FixedArrayBase { | 4875 class FixedTypedArrayBase: public FixedArrayBase { |
4876 public: | 4876 public: |
4877 DECLARE_CAST(FixedTypedArrayBase) | 4877 DECLARE_CAST(FixedTypedArrayBase) |
4878 | 4878 |
4879 static const int kDataOffset = kHeaderSize; | 4879 static const int kDataOffset = kHeaderSize; |
4880 | 4880 |
4881 inline int size(); | 4881 inline int size(); |
4882 | 4882 |
| 4883 static inline int TypedArraySize(InstanceType type, int length); |
4883 inline int TypedArraySize(InstanceType type); | 4884 inline int TypedArraySize(InstanceType type); |
4884 | 4885 |
4885 // Use with care: returns raw pointer into heap. | 4886 // Use with care: returns raw pointer into heap. |
4886 inline void* DataPtr(); | 4887 inline void* DataPtr(); |
4887 | 4888 |
4888 inline int DataSize(); | 4889 inline int DataSize(); |
4889 | 4890 |
4890 private: | 4891 private: |
| 4892 static inline int ElementSize(InstanceType type); |
| 4893 |
4891 inline int DataSize(InstanceType type); | 4894 inline int DataSize(InstanceType type); |
4892 | 4895 |
4893 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArrayBase); | 4896 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArrayBase); |
4894 }; | 4897 }; |
4895 | 4898 |
4896 | 4899 |
4897 template <class Traits> | 4900 template <class Traits> |
4898 class FixedTypedArray: public FixedTypedArrayBase { | 4901 class FixedTypedArray: public FixedTypedArrayBase { |
4899 public: | 4902 public: |
4900 typedef typename Traits::ElementType ElementType; | 4903 typedef typename Traits::ElementType ElementType; |
(...skipping 6173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11074 } else { | 11077 } else { |
11075 value &= ~(1 << bit_position); | 11078 value &= ~(1 << bit_position); |
11076 } | 11079 } |
11077 return value; | 11080 return value; |
11078 } | 11081 } |
11079 }; | 11082 }; |
11080 | 11083 |
11081 } } // namespace v8::internal | 11084 } } // namespace v8::internal |
11082 | 11085 |
11083 #endif // V8_OBJECTS_H_ | 11086 #endif // V8_OBJECTS_H_ |
OLD | NEW |