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 10731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10742 // Following properties use flag bits. | 10742 // Following properties use flag bits. |
10743 DECL_BOOLEAN_ACCESSORS(hidden_prototype) | 10743 DECL_BOOLEAN_ACCESSORS(hidden_prototype) |
10744 DECL_BOOLEAN_ACCESSORS(undetectable) | 10744 DECL_BOOLEAN_ACCESSORS(undetectable) |
10745 // If the bit is set, object instances created by this function | 10745 // If the bit is set, object instances created by this function |
10746 // requires access check. | 10746 // requires access check. |
10747 DECL_BOOLEAN_ACCESSORS(needs_access_check) | 10747 DECL_BOOLEAN_ACCESSORS(needs_access_check) |
10748 DECL_BOOLEAN_ACCESSORS(read_only_prototype) | 10748 DECL_BOOLEAN_ACCESSORS(read_only_prototype) |
10749 DECL_BOOLEAN_ACCESSORS(remove_prototype) | 10749 DECL_BOOLEAN_ACCESSORS(remove_prototype) |
10750 DECL_BOOLEAN_ACCESSORS(do_not_cache) | 10750 DECL_BOOLEAN_ACCESSORS(do_not_cache) |
10751 DECL_BOOLEAN_ACCESSORS(instantiated) | 10751 DECL_BOOLEAN_ACCESSORS(instantiated) |
| 10752 DECL_BOOLEAN_ACCESSORS(accept_any_receiver) |
10752 | 10753 |
10753 DECLARE_CAST(FunctionTemplateInfo) | 10754 DECLARE_CAST(FunctionTemplateInfo) |
10754 | 10755 |
10755 // Dispatched behavior. | 10756 // Dispatched behavior. |
10756 DECLARE_PRINTER(FunctionTemplateInfo) | 10757 DECLARE_PRINTER(FunctionTemplateInfo) |
10757 DECLARE_VERIFIER(FunctionTemplateInfo) | 10758 DECLARE_VERIFIER(FunctionTemplateInfo) |
10758 | 10759 |
10759 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize; | 10760 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize; |
10760 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize; | 10761 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize; |
10761 static const int kPrototypeTemplateOffset = | 10762 static const int kPrototypeTemplateOffset = |
(...skipping 25 matching lines...) Expand all Loading... |
10787 | 10788 |
10788 private: | 10789 private: |
10789 // Bit position in the flag, from least significant bit position. | 10790 // Bit position in the flag, from least significant bit position. |
10790 static const int kHiddenPrototypeBit = 0; | 10791 static const int kHiddenPrototypeBit = 0; |
10791 static const int kUndetectableBit = 1; | 10792 static const int kUndetectableBit = 1; |
10792 static const int kNeedsAccessCheckBit = 2; | 10793 static const int kNeedsAccessCheckBit = 2; |
10793 static const int kReadOnlyPrototypeBit = 3; | 10794 static const int kReadOnlyPrototypeBit = 3; |
10794 static const int kRemovePrototypeBit = 4; | 10795 static const int kRemovePrototypeBit = 4; |
10795 static const int kDoNotCacheBit = 5; | 10796 static const int kDoNotCacheBit = 5; |
10796 static const int kInstantiatedBit = 6; | 10797 static const int kInstantiatedBit = 6; |
| 10798 static const int kAcceptAnyReceiver = 7; |
10797 | 10799 |
10798 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); | 10800 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); |
10799 }; | 10801 }; |
10800 | 10802 |
10801 | 10803 |
10802 class ObjectTemplateInfo: public TemplateInfo { | 10804 class ObjectTemplateInfo: public TemplateInfo { |
10803 public: | 10805 public: |
10804 DECL_ACCESSORS(constructor, Object) | 10806 DECL_ACCESSORS(constructor, Object) |
10805 DECL_ACCESSORS(internal_field_count, Object) | 10807 DECL_ACCESSORS(internal_field_count, Object) |
10806 | 10808 |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11072 } else { | 11074 } else { |
11073 value &= ~(1 << bit_position); | 11075 value &= ~(1 << bit_position); |
11074 } | 11076 } |
11075 return value; | 11077 return value; |
11076 } | 11078 } |
11077 }; | 11079 }; |
11078 | 11080 |
11079 } } // namespace v8::internal | 11081 } } // namespace v8::internal |
11080 | 11082 |
11081 #endif // V8_OBJECTS_H_ | 11083 #endif // V8_OBJECTS_H_ |
OLD | NEW |