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 | 9 |
10 #include "src/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 2629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2640 class IncrementalMarking; | 2640 class IncrementalMarking; |
2641 | 2641 |
2642 | 2642 |
2643 // FixedArray describes fixed-sized arrays with element type Object*. | 2643 // FixedArray describes fixed-sized arrays with element type Object*. |
2644 class FixedArray: public FixedArrayBase { | 2644 class FixedArray: public FixedArrayBase { |
2645 public: | 2645 public: |
2646 // Setter and getter for elements. | 2646 // Setter and getter for elements. |
2647 inline Object* get(int index) const; | 2647 inline Object* get(int index) const; |
2648 static inline Handle<Object> get(FixedArray* array, int index, | 2648 static inline Handle<Object> get(FixedArray* array, int index, |
2649 Isolate* isolate); | 2649 Isolate* isolate); |
2650 template <class T> | |
2651 Handle<T> GetValueOrNull(int index) const; | |
Benedikt Meurer
2016/06/27 03:57:13
This should return a MaybeHandle. null Handles are
Mircea Trofin
2016/06/27 16:59:57
Done.
| |
2652 | |
2650 // Setter that uses write barrier. | 2653 // Setter that uses write barrier. |
2651 inline void set(int index, Object* value); | 2654 inline void set(int index, Object* value); |
2652 inline bool is_the_hole(int index); | 2655 inline bool is_the_hole(int index); |
2653 | 2656 |
2654 // Setter that doesn't need write barrier. | 2657 // Setter that doesn't need write barrier. |
2655 inline void set(int index, Smi* value); | 2658 inline void set(int index, Smi* value); |
2656 // Setter with explicit barrier mode. | 2659 // Setter with explicit barrier mode. |
2657 inline void set(int index, Object* value, WriteBarrierMode mode); | 2660 inline void set(int index, Object* value, WriteBarrierMode mode); |
2658 | 2661 |
2659 // Setters for frequently used oddballs located in old space. | 2662 // Setters for frequently used oddballs located in old space. |
(...skipping 1702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4362 | 4365 |
4363 // ByteArray represents fixed sized byte arrays. Used for the relocation info | 4366 // ByteArray represents fixed sized byte arrays. Used for the relocation info |
4364 // that is attached to code objects. | 4367 // that is attached to code objects. |
4365 class ByteArray: public FixedArrayBase { | 4368 class ByteArray: public FixedArrayBase { |
4366 public: | 4369 public: |
4367 inline int Size(); | 4370 inline int Size(); |
4368 | 4371 |
4369 // Setter and getter. | 4372 // Setter and getter. |
4370 inline byte get(int index); | 4373 inline byte get(int index); |
4371 inline void set(int index, byte value); | 4374 inline void set(int index, byte value); |
4375 inline const byte* data() const; | |
4372 | 4376 |
4373 // Copy in / copy out whole byte slices. | 4377 // Copy in / copy out whole byte slices. |
4374 inline void copy_out(int index, byte* buffer, int length); | 4378 inline void copy_out(int index, byte* buffer, int length); |
4375 inline void copy_in(int index, const byte* buffer, int length); | 4379 inline void copy_in(int index, const byte* buffer, int length); |
4376 | 4380 |
4377 // Treat contents as an int array. | 4381 // Treat contents as an int array. |
4378 inline int get_int(int index); | 4382 inline int get_int(int index); |
4379 inline void set_int(int index, int value); | 4383 inline void set_int(int index, int value); |
4380 | 4384 |
4381 static int SizeFor(int length) { | 4385 static int SizeFor(int length) { |
(...skipping 6447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
10829 } | 10833 } |
10830 return value; | 10834 return value; |
10831 } | 10835 } |
10832 }; | 10836 }; |
10833 | 10837 |
10834 | 10838 |
10835 } // NOLINT, false-positive due to second-order macros. | 10839 } // NOLINT, false-positive due to second-order macros. |
10836 } // NOLINT, false-positive due to second-order macros. | 10840 } // NOLINT, false-positive due to second-order macros. |
10837 | 10841 |
10838 #endif // V8_OBJECTS_H_ | 10842 #endif // V8_OBJECTS_H_ |
OLD | NEW |