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 5623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5634 // Only JSObject and subtypes have map transitions and back pointers. | 5634 // Only JSObject and subtypes have map transitions and back pointers. |
5635 STATIC_ASSERT(LAST_TYPE == LAST_JS_OBJECT_TYPE); | 5635 STATIC_ASSERT(LAST_TYPE == LAST_JS_OBJECT_TYPE); |
5636 return instance_type() >= FIRST_JS_OBJECT_TYPE; | 5636 return instance_type() >= FIRST_JS_OBJECT_TYPE; |
5637 } | 5637 } |
5638 | 5638 |
5639 // Fires when the layout of an object with a leaf map changes. | 5639 // Fires when the layout of an object with a leaf map changes. |
5640 // This includes adding transitions to the leaf map or changing | 5640 // This includes adding transitions to the leaf map or changing |
5641 // the descriptor array. | 5641 // the descriptor array. |
5642 inline void NotifyLeafMapLayoutChange(); | 5642 inline void NotifyLeafMapLayoutChange(); |
5643 | 5643 |
5644 inline bool CanOmitPrototypeChecks(); | |
5645 inline bool CanOmitMapChecks(); | 5644 inline bool CanOmitMapChecks(); |
5646 | 5645 |
5647 void AddDependentCompilationInfo(DependentCode::DependencyGroup group, | 5646 void AddDependentCompilationInfo(DependentCode::DependencyGroup group, |
5648 CompilationInfo* info); | 5647 CompilationInfo* info); |
5649 | 5648 |
5650 void AddDependentCode(DependentCode::DependencyGroup group, | 5649 void AddDependentCode(DependentCode::DependencyGroup group, |
5651 Handle<Code> code); | 5650 Handle<Code> code); |
5652 | 5651 |
5653 bool IsMapInArrayPrototypeChain(); | 5652 bool IsMapInArrayPrototypeChain(); |
5654 | 5653 |
5655 // Dispatched behavior. | 5654 // Dispatched behavior. |
5656 DECLARE_PRINTER(Map) | 5655 DECLARE_PRINTER(Map) |
5657 DECLARE_VERIFIER(Map) | 5656 DECLARE_VERIFIER(Map) |
5658 | 5657 |
5659 #ifdef VERIFY_HEAP | 5658 #ifdef VERIFY_HEAP |
5660 void SharedMapVerify(); | 5659 void SharedMapVerify(); |
5661 void VerifyOmittedPrototypeChecks(); | 5660 void VerifyOmittedMapChecks(); |
5662 #endif | 5661 #endif |
5663 | 5662 |
5664 inline int visitor_id(); | 5663 inline int visitor_id(); |
5665 inline void set_visitor_id(int visitor_id); | 5664 inline void set_visitor_id(int visitor_id); |
5666 | 5665 |
5667 typedef void (*TraverseCallback)(Map* map, void* data); | 5666 typedef void (*TraverseCallback)(Map* map, void* data); |
5668 | 5667 |
5669 void TraverseTransitionTree(TraverseCallback callback, void* data); | 5668 void TraverseTransitionTree(TraverseCallback callback, void* data); |
5670 | 5669 |
5671 // When you set the prototype of an object using the __proto__ accessor you | 5670 // When you set the prototype of an object using the __proto__ accessor you |
(...skipping 4227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9899 } else { | 9898 } else { |
9900 value &= ~(1 << bit_position); | 9899 value &= ~(1 << bit_position); |
9901 } | 9900 } |
9902 return value; | 9901 return value; |
9903 } | 9902 } |
9904 }; | 9903 }; |
9905 | 9904 |
9906 } } // namespace v8::internal | 9905 } } // namespace v8::internal |
9907 | 9906 |
9908 #endif // V8_OBJECTS_H_ | 9907 #endif // V8_OBJECTS_H_ |
OLD | NEW |