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 8546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8557 DECL_ACCESSORS(parent_template, Object) | 8557 DECL_ACCESSORS(parent_template, Object) |
8558 DECL_ACCESSORS(named_property_handler, Object) | 8558 DECL_ACCESSORS(named_property_handler, Object) |
8559 DECL_ACCESSORS(indexed_property_handler, Object) | 8559 DECL_ACCESSORS(indexed_property_handler, Object) |
8560 DECL_ACCESSORS(instance_template, Object) | 8560 DECL_ACCESSORS(instance_template, Object) |
8561 DECL_ACCESSORS(class_name, Object) | 8561 DECL_ACCESSORS(class_name, Object) |
8562 DECL_ACCESSORS(signature, Object) | 8562 DECL_ACCESSORS(signature, Object) |
8563 DECL_ACCESSORS(instance_call_handler, Object) | 8563 DECL_ACCESSORS(instance_call_handler, Object) |
8564 DECL_ACCESSORS(access_check_info, Object) | 8564 DECL_ACCESSORS(access_check_info, Object) |
8565 DECL_ACCESSORS(flag, Smi) | 8565 DECL_ACCESSORS(flag, Smi) |
8566 | 8566 |
| 8567 inline int length(); |
| 8568 inline void set_length(int value); |
| 8569 |
8567 // Following properties use flag bits. | 8570 // Following properties use flag bits. |
8568 DECL_BOOLEAN_ACCESSORS(hidden_prototype) | 8571 DECL_BOOLEAN_ACCESSORS(hidden_prototype) |
8569 DECL_BOOLEAN_ACCESSORS(undetectable) | 8572 DECL_BOOLEAN_ACCESSORS(undetectable) |
8570 // If the bit is set, object instances created by this function | 8573 // If the bit is set, object instances created by this function |
8571 // requires access check. | 8574 // requires access check. |
8572 DECL_BOOLEAN_ACCESSORS(needs_access_check) | 8575 DECL_BOOLEAN_ACCESSORS(needs_access_check) |
8573 DECL_BOOLEAN_ACCESSORS(read_only_prototype) | 8576 DECL_BOOLEAN_ACCESSORS(read_only_prototype) |
8574 | 8577 |
8575 static inline FunctionTemplateInfo* cast(Object* obj); | 8578 static inline FunctionTemplateInfo* cast(Object* obj); |
8576 | 8579 |
(...skipping 13 matching lines...) Expand all Loading... |
8590 static const int kIndexedPropertyHandlerOffset = | 8593 static const int kIndexedPropertyHandlerOffset = |
8591 kNamedPropertyHandlerOffset + kPointerSize; | 8594 kNamedPropertyHandlerOffset + kPointerSize; |
8592 static const int kInstanceTemplateOffset = | 8595 static const int kInstanceTemplateOffset = |
8593 kIndexedPropertyHandlerOffset + kPointerSize; | 8596 kIndexedPropertyHandlerOffset + kPointerSize; |
8594 static const int kClassNameOffset = kInstanceTemplateOffset + kPointerSize; | 8597 static const int kClassNameOffset = kInstanceTemplateOffset + kPointerSize; |
8595 static const int kSignatureOffset = kClassNameOffset + kPointerSize; | 8598 static const int kSignatureOffset = kClassNameOffset + kPointerSize; |
8596 static const int kInstanceCallHandlerOffset = kSignatureOffset + kPointerSize; | 8599 static const int kInstanceCallHandlerOffset = kSignatureOffset + kPointerSize; |
8597 static const int kAccessCheckInfoOffset = | 8600 static const int kAccessCheckInfoOffset = |
8598 kInstanceCallHandlerOffset + kPointerSize; | 8601 kInstanceCallHandlerOffset + kPointerSize; |
8599 static const int kFlagOffset = kAccessCheckInfoOffset + kPointerSize; | 8602 static const int kFlagOffset = kAccessCheckInfoOffset + kPointerSize; |
8600 static const int kSize = kFlagOffset + kPointerSize; | 8603 static const int kLengthOffset = kFlagOffset + kPointerSize; |
| 8604 static const int kSize = kLengthOffset + kPointerSize; |
8601 | 8605 |
8602 private: | 8606 private: |
8603 // Bit position in the flag, from least significant bit position. | 8607 // Bit position in the flag, from least significant bit position. |
8604 static const int kHiddenPrototypeBit = 0; | 8608 static const int kHiddenPrototypeBit = 0; |
8605 static const int kUndetectableBit = 1; | 8609 static const int kUndetectableBit = 1; |
8606 static const int kNeedsAccessCheckBit = 2; | 8610 static const int kNeedsAccessCheckBit = 2; |
8607 static const int kReadOnlyPrototypeBit = 3; | 8611 static const int kReadOnlyPrototypeBit = 3; |
8608 | 8612 |
8609 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); | 8613 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); |
8610 }; | 8614 }; |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8899 } else { | 8903 } else { |
8900 value &= ~(1 << bit_position); | 8904 value &= ~(1 << bit_position); |
8901 } | 8905 } |
8902 return value; | 8906 return value; |
8903 } | 8907 } |
8904 }; | 8908 }; |
8905 | 8909 |
8906 } } // namespace v8::internal | 8910 } } // namespace v8::internal |
8907 | 8911 |
8908 #endif // V8_OBJECTS_H_ | 8912 #endif // V8_OBJECTS_H_ |
OLD | NEW |