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 2374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2385 class FixedDoubleArray; | 2385 class FixedDoubleArray; |
2386 class IncrementalMarking; | 2386 class IncrementalMarking; |
2387 | 2387 |
2388 | 2388 |
2389 // FixedArray describes fixed-sized arrays with element type Object*. | 2389 // FixedArray describes fixed-sized arrays with element type Object*. |
2390 class FixedArray: public FixedArrayBase { | 2390 class FixedArray: public FixedArrayBase { |
2391 public: | 2391 public: |
2392 // Setter and getter for elements. | 2392 // Setter and getter for elements. |
2393 inline Object* get(int index) const; | 2393 inline Object* get(int index) const; |
2394 void SetValue(uint32_t index, Object* value); | 2394 void SetValue(uint32_t index, Object* value); |
| 2395 void SetValue(uint32_t index, Object* value, WriteBarrierMode mode); |
2395 static inline Handle<Object> get(Handle<FixedArray> array, int index); | 2396 static inline Handle<Object> get(Handle<FixedArray> array, int index); |
2396 // Setter that uses write barrier. | 2397 // Setter that uses write barrier. |
2397 inline void set(int index, Object* value); | 2398 inline void set(int index, Object* value); |
2398 inline bool is_the_hole(int index); | 2399 inline bool is_the_hole(int index); |
2399 | 2400 |
2400 // Setter that doesn't need write barrier. | 2401 // Setter that doesn't need write barrier. |
2401 inline void set(int index, Smi* value); | 2402 inline void set(int index, Smi* value); |
2402 // Setter with explicit barrier mode. | 2403 // Setter with explicit barrier mode. |
2403 inline void set(int index, Object* value, WriteBarrierMode mode); | 2404 inline void set(int index, Object* value, WriteBarrierMode mode); |
2404 | 2405 |
(...skipping 1891 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4296 | 4297 |
4297 inline ElementType get_scalar(int index); | 4298 inline ElementType get_scalar(int index); |
4298 static inline Handle<Object> get(Handle<FixedTypedArray> array, int index); | 4299 static inline Handle<Object> get(Handle<FixedTypedArray> array, int index); |
4299 inline void set(int index, ElementType value); | 4300 inline void set(int index, ElementType value); |
4300 | 4301 |
4301 static inline ElementType from_int(int value); | 4302 static inline ElementType from_int(int value); |
4302 static inline ElementType from_double(double value); | 4303 static inline ElementType from_double(double value); |
4303 | 4304 |
4304 // This accessor applies the correct conversion from Smi, HeapNumber | 4305 // This accessor applies the correct conversion from Smi, HeapNumber |
4305 // and undefined. | 4306 // and undefined. |
4306 void SetValue(uint32_t index, Object* value); | 4307 inline void SetValue(uint32_t index, Object* value); |
4307 | 4308 |
4308 DECLARE_PRINTER(FixedTypedArray) | 4309 DECLARE_PRINTER(FixedTypedArray) |
4309 DECLARE_VERIFIER(FixedTypedArray) | 4310 DECLARE_VERIFIER(FixedTypedArray) |
4310 | 4311 |
4311 private: | 4312 private: |
4312 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArray); | 4313 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArray); |
4313 }; | 4314 }; |
4314 | 4315 |
4315 #define FIXED_TYPED_ARRAY_TRAITS(Type, type, TYPE, elementType, size) \ | 4316 #define FIXED_TYPED_ARRAY_TRAITS(Type, type, TYPE, elementType, size) \ |
4316 class Type##ArrayTraits { \ | 4317 class Type##ArrayTraits { \ |
(...skipping 6065 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10382 } else { | 10383 } else { |
10383 value &= ~(1 << bit_position); | 10384 value &= ~(1 << bit_position); |
10384 } | 10385 } |
10385 return value; | 10386 return value; |
10386 } | 10387 } |
10387 }; | 10388 }; |
10388 | 10389 |
10389 } } // namespace v8::internal | 10390 } } // namespace v8::internal |
10390 | 10391 |
10391 #endif // V8_OBJECTS_H_ | 10392 #endif // V8_OBJECTS_H_ |
OLD | NEW |