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 9658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
9669 #if V8_TARGET_LITTLE_ENDIAN || !V8_HOST_ARCH_64_BIT | 9669 #if V8_TARGET_LITTLE_ENDIAN || !V8_HOST_ARCH_64_BIT |
9670 static const int kBitFieldOffset = kBitFieldSlot; | 9670 static const int kBitFieldOffset = kBitFieldSlot; |
9671 #else | 9671 #else |
9672 static const int kBitFieldOffset = kBitFieldSlot + kIntSize; | 9672 static const int kBitFieldOffset = kBitFieldSlot + kIntSize; |
9673 #endif | 9673 #endif |
9674 static const int kSize = kBitFieldSlot + kPointerSize; | 9674 static const int kSize = kBitFieldSlot + kPointerSize; |
9675 | 9675 |
9676 static const int kSizeWithInternalFields = | 9676 static const int kSizeWithInternalFields = |
9677 kSize + v8::ArrayBuffer::kInternalFieldCount * kPointerSize; | 9677 kSize + v8::ArrayBuffer::kInternalFieldCount * kPointerSize; |
9678 | 9678 |
9679 class BodyDescriptor { | |
jochen (gone - plz use gerrit)
2015/09/14 10:04:36
instead of having a body description, just add two
fedor.indutny
2015/09/14 17:08:16
Acknowledged.
| |
9680 public: | |
9681 static const int kStartOffset = JSObject::BodyDescriptor::kStartOffset; | |
9682 static const int kEndOffset = kSizeWithInternalFields - kPointerSize; | |
9683 static const int kSize = kSizeWithInternalFields; | |
9684 | |
9685 template <typename StaticVisitor> | |
9686 static inline void IterateBody(Heap* heap, HeapObject* obj); | |
9687 | |
9688 static inline void IterateBody(HeapObject* obj, ObjectVisitor* v); | |
9689 }; | |
9690 | |
9679 class IsExternal : public BitField<bool, 1, 1> {}; | 9691 class IsExternal : public BitField<bool, 1, 1> {}; |
9680 class IsNeuterable : public BitField<bool, 2, 1> {}; | 9692 class IsNeuterable : public BitField<bool, 2, 1> {}; |
9681 class WasNeutered : public BitField<bool, 3, 1> {}; | 9693 class WasNeutered : public BitField<bool, 3, 1> {}; |
9682 class IsShared : public BitField<bool, 4, 1> {}; | 9694 class IsShared : public BitField<bool, 4, 1> {}; |
9683 | 9695 |
9684 private: | 9696 private: |
9685 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayBuffer); | 9697 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayBuffer); |
9686 }; | 9698 }; |
9687 | 9699 |
9688 | 9700 |
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
10466 } else { | 10478 } else { |
10467 value &= ~(1 << bit_position); | 10479 value &= ~(1 << bit_position); |
10468 } | 10480 } |
10469 return value; | 10481 return value; |
10470 } | 10482 } |
10471 }; | 10483 }; |
10472 | 10484 |
10473 } } // namespace v8::internal | 10485 } } // namespace v8::internal |
10474 | 10486 |
10475 #endif // V8_OBJECTS_H_ | 10487 #endif // V8_OBJECTS_H_ |
OLD | NEW |