OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 9860 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9871 inline void set_length(int value); | 9871 inline void set_length(int value); |
9872 | 9872 |
9873 // Following properties use flag bits. | 9873 // Following properties use flag bits. |
9874 DECL_BOOLEAN_ACCESSORS(hidden_prototype) | 9874 DECL_BOOLEAN_ACCESSORS(hidden_prototype) |
9875 DECL_BOOLEAN_ACCESSORS(undetectable) | 9875 DECL_BOOLEAN_ACCESSORS(undetectable) |
9876 // If the bit is set, object instances created by this function | 9876 // If the bit is set, object instances created by this function |
9877 // requires access check. | 9877 // requires access check. |
9878 DECL_BOOLEAN_ACCESSORS(needs_access_check) | 9878 DECL_BOOLEAN_ACCESSORS(needs_access_check) |
9879 DECL_BOOLEAN_ACCESSORS(read_only_prototype) | 9879 DECL_BOOLEAN_ACCESSORS(read_only_prototype) |
9880 DECL_BOOLEAN_ACCESSORS(remove_prototype) | 9880 DECL_BOOLEAN_ACCESSORS(remove_prototype) |
| 9881 DECL_BOOLEAN_ACCESSORS(do_not_cache) |
9881 | 9882 |
9882 static inline FunctionTemplateInfo* cast(Object* obj); | 9883 static inline FunctionTemplateInfo* cast(Object* obj); |
9883 | 9884 |
9884 // Dispatched behavior. | 9885 // Dispatched behavior. |
9885 DECLARE_PRINTER(FunctionTemplateInfo) | 9886 DECLARE_PRINTER(FunctionTemplateInfo) |
9886 DECLARE_VERIFIER(FunctionTemplateInfo) | 9887 DECLARE_VERIFIER(FunctionTemplateInfo) |
9887 | 9888 |
9888 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize; | 9889 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize; |
9889 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize; | 9890 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize; |
9890 static const int kPrototypeTemplateOffset = | 9891 static const int kPrototypeTemplateOffset = |
(...skipping 15 matching lines...) Expand all Loading... |
9906 static const int kLengthOffset = kFlagOffset + kPointerSize; | 9907 static const int kLengthOffset = kFlagOffset + kPointerSize; |
9907 static const int kSize = kLengthOffset + kPointerSize; | 9908 static const int kSize = kLengthOffset + kPointerSize; |
9908 | 9909 |
9909 private: | 9910 private: |
9910 // Bit position in the flag, from least significant bit position. | 9911 // Bit position in the flag, from least significant bit position. |
9911 static const int kHiddenPrototypeBit = 0; | 9912 static const int kHiddenPrototypeBit = 0; |
9912 static const int kUndetectableBit = 1; | 9913 static const int kUndetectableBit = 1; |
9913 static const int kNeedsAccessCheckBit = 2; | 9914 static const int kNeedsAccessCheckBit = 2; |
9914 static const int kReadOnlyPrototypeBit = 3; | 9915 static const int kReadOnlyPrototypeBit = 3; |
9915 static const int kRemovePrototypeBit = 4; | 9916 static const int kRemovePrototypeBit = 4; |
| 9917 static const int kDoNotCacheBit = 5; |
9916 | 9918 |
9917 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); | 9919 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); |
9918 }; | 9920 }; |
9919 | 9921 |
9920 | 9922 |
9921 class ObjectTemplateInfo: public TemplateInfo { | 9923 class ObjectTemplateInfo: public TemplateInfo { |
9922 public: | 9924 public: |
9923 DECL_ACCESSORS(constructor, Object) | 9925 DECL_ACCESSORS(constructor, Object) |
9924 DECL_ACCESSORS(internal_field_count, Object) | 9926 DECL_ACCESSORS(internal_field_count, Object) |
9925 | 9927 |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10208 } else { | 10210 } else { |
10209 value &= ~(1 << bit_position); | 10211 value &= ~(1 << bit_position); |
10210 } | 10212 } |
10211 return value; | 10213 return value; |
10212 } | 10214 } |
10213 }; | 10215 }; |
10214 | 10216 |
10215 } } // namespace v8::internal | 10217 } } // namespace v8::internal |
10216 | 10218 |
10217 #endif // V8_OBJECTS_H_ | 10219 #endif // V8_OBJECTS_H_ |
OLD | NEW |