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 10589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10600 | 10600 |
10601 // Following properties use flag bits. | 10601 // Following properties use flag bits. |
10602 DECL_BOOLEAN_ACCESSORS(hidden_prototype) | 10602 DECL_BOOLEAN_ACCESSORS(hidden_prototype) |
10603 DECL_BOOLEAN_ACCESSORS(undetectable) | 10603 DECL_BOOLEAN_ACCESSORS(undetectable) |
10604 // If the bit is set, object instances created by this function | 10604 // If the bit is set, object instances created by this function |
10605 // requires access check. | 10605 // requires access check. |
10606 DECL_BOOLEAN_ACCESSORS(needs_access_check) | 10606 DECL_BOOLEAN_ACCESSORS(needs_access_check) |
10607 DECL_BOOLEAN_ACCESSORS(read_only_prototype) | 10607 DECL_BOOLEAN_ACCESSORS(read_only_prototype) |
10608 DECL_BOOLEAN_ACCESSORS(remove_prototype) | 10608 DECL_BOOLEAN_ACCESSORS(remove_prototype) |
10609 DECL_BOOLEAN_ACCESSORS(do_not_cache) | 10609 DECL_BOOLEAN_ACCESSORS(do_not_cache) |
| 10610 DECL_BOOLEAN_ACCESSORS(instantiated) |
10610 | 10611 |
10611 DECLARE_CAST(FunctionTemplateInfo) | 10612 DECLARE_CAST(FunctionTemplateInfo) |
10612 | 10613 |
10613 // Dispatched behavior. | 10614 // Dispatched behavior. |
10614 DECLARE_PRINTER(FunctionTemplateInfo) | 10615 DECLARE_PRINTER(FunctionTemplateInfo) |
10615 DECLARE_VERIFIER(FunctionTemplateInfo) | 10616 DECLARE_VERIFIER(FunctionTemplateInfo) |
10616 | 10617 |
10617 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize; | 10618 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize; |
10618 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize; | 10619 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize; |
10619 static const int kPrototypeTemplateOffset = | 10620 static const int kPrototypeTemplateOffset = |
(...skipping 20 matching lines...) Expand all Loading... |
10640 bool IsTemplateFor(Map* map); | 10641 bool IsTemplateFor(Map* map); |
10641 | 10642 |
10642 private: | 10643 private: |
10643 // Bit position in the flag, from least significant bit position. | 10644 // Bit position in the flag, from least significant bit position. |
10644 static const int kHiddenPrototypeBit = 0; | 10645 static const int kHiddenPrototypeBit = 0; |
10645 static const int kUndetectableBit = 1; | 10646 static const int kUndetectableBit = 1; |
10646 static const int kNeedsAccessCheckBit = 2; | 10647 static const int kNeedsAccessCheckBit = 2; |
10647 static const int kReadOnlyPrototypeBit = 3; | 10648 static const int kReadOnlyPrototypeBit = 3; |
10648 static const int kRemovePrototypeBit = 4; | 10649 static const int kRemovePrototypeBit = 4; |
10649 static const int kDoNotCacheBit = 5; | 10650 static const int kDoNotCacheBit = 5; |
| 10651 static const int kInstantiatedBit = 6; |
10650 | 10652 |
10651 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); | 10653 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); |
10652 }; | 10654 }; |
10653 | 10655 |
10654 | 10656 |
10655 class ObjectTemplateInfo: public TemplateInfo { | 10657 class ObjectTemplateInfo: public TemplateInfo { |
10656 public: | 10658 public: |
10657 DECL_ACCESSORS(constructor, Object) | 10659 DECL_ACCESSORS(constructor, Object) |
10658 DECL_ACCESSORS(internal_field_count, Object) | 10660 DECL_ACCESSORS(internal_field_count, Object) |
10659 | 10661 |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10922 } else { | 10924 } else { |
10923 value &= ~(1 << bit_position); | 10925 value &= ~(1 << bit_position); |
10924 } | 10926 } |
10925 return value; | 10927 return value; |
10926 } | 10928 } |
10927 }; | 10929 }; |
10928 | 10930 |
10929 } } // namespace v8::internal | 10931 } } // namespace v8::internal |
10930 | 10932 |
10931 #endif // V8_OBJECTS_H_ | 10933 #endif // V8_OBJECTS_H_ |
OLD | NEW |