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 836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
847 | 847 |
848 // Object is the abstract superclass for all classes in the | 848 // Object is the abstract superclass for all classes in the |
849 // object hierarchy. | 849 // object hierarchy. |
850 // Object does not use any virtual functions to avoid the | 850 // Object does not use any virtual functions to avoid the |
851 // allocation of the C++ vtable. | 851 // allocation of the C++ vtable. |
852 // Since Smi and Failure are subclasses of Object no | 852 // Since Smi and Failure are subclasses of Object no |
853 // data members can be present in Object. | 853 // data members can be present in Object. |
854 class Object : public MaybeObject { | 854 class Object : public MaybeObject { |
855 public: | 855 public: |
856 // Type testing. | 856 // Type testing. |
| 857 bool IsObject() { return true; } |
| 858 |
857 #define IS_TYPE_FUNCTION_DECL(type_) inline bool Is##type_(); | 859 #define IS_TYPE_FUNCTION_DECL(type_) inline bool Is##type_(); |
858 OBJECT_TYPE_LIST(IS_TYPE_FUNCTION_DECL) | 860 OBJECT_TYPE_LIST(IS_TYPE_FUNCTION_DECL) |
859 HEAP_OBJECT_TYPE_LIST(IS_TYPE_FUNCTION_DECL) | 861 HEAP_OBJECT_TYPE_LIST(IS_TYPE_FUNCTION_DECL) |
860 #undef IS_TYPE_FUNCTION_DECL | 862 #undef IS_TYPE_FUNCTION_DECL |
861 | 863 |
862 inline bool IsFixedArrayBase(); | 864 inline bool IsFixedArrayBase(); |
863 | 865 |
864 // Returns true if this object is an instance of the specified | 866 // Returns true if this object is an instance of the specified |
865 // function template. | 867 // function template. |
866 inline bool IsInstanceOf(FunctionTemplateInfo* type); | 868 inline bool IsInstanceOf(FunctionTemplateInfo* type); |
(...skipping 7597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8464 } else { | 8466 } else { |
8465 value &= ~(1 << bit_position); | 8467 value &= ~(1 << bit_position); |
8466 } | 8468 } |
8467 return value; | 8469 return value; |
8468 } | 8470 } |
8469 }; | 8471 }; |
8470 | 8472 |
8471 } } // namespace v8::internal | 8473 } } // namespace v8::internal |
8472 | 8474 |
8473 #endif // V8_OBJECTS_H_ | 8475 #endif // V8_OBJECTS_H_ |
OLD | NEW |