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 5689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5700 #endif | 5700 #endif |
5701 | 5701 |
5702 void ResetForNewContext(int new_ic_age); | 5702 void ResetForNewContext(int new_ic_age); |
5703 | 5703 |
5704 // Helper to compile the shared code. Returns true on success, false on | 5704 // Helper to compile the shared code. Returns true on success, false on |
5705 // failure (e.g., stack overflow during compilation). This is only used by | 5705 // failure (e.g., stack overflow during compilation). This is only used by |
5706 // the debugger, it is not possible to compile without a context otherwise. | 5706 // the debugger, it is not possible to compile without a context otherwise. |
5707 static bool CompileLazy(Handle<SharedFunctionInfo> shared, | 5707 static bool CompileLazy(Handle<SharedFunctionInfo> shared, |
5708 ClearExceptionFlag flag); | 5708 ClearExceptionFlag flag); |
5709 | 5709 |
5710 void SharedFunctionInfoIterateBody(ObjectVisitor* v); | |
5711 | |
5712 // Casting. | 5710 // Casting. |
5713 static inline SharedFunctionInfo* cast(Object* obj); | 5711 static inline SharedFunctionInfo* cast(Object* obj); |
5714 | 5712 |
5715 // Constants. | 5713 // Constants. |
5716 static const int kDontAdaptArgumentsSentinel = -1; | 5714 static const int kDontAdaptArgumentsSentinel = -1; |
5717 | 5715 |
5718 // Layout description. | 5716 // Layout description. |
5719 // Pointer fields. | 5717 // Pointer fields. |
5720 static const int kNameOffset = HeapObject::kHeaderSize; | 5718 static const int kNameOffset = HeapObject::kHeaderSize; |
5721 static const int kCodeOffset = kNameOffset + kPointerSize; | 5719 static const int kCodeOffset = kNameOffset + kPointerSize; |
(...skipping 3101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8823 | 8821 |
8824 // Visits a debug call target in the instruction stream. | 8822 // Visits a debug call target in the instruction stream. |
8825 virtual void VisitDebugTarget(RelocInfo* rinfo); | 8823 virtual void VisitDebugTarget(RelocInfo* rinfo); |
8826 | 8824 |
8827 // Handy shorthand for visiting a single pointer. | 8825 // Handy shorthand for visiting a single pointer. |
8828 virtual void VisitPointer(Object** p) { VisitPointers(p, p + 1); } | 8826 virtual void VisitPointer(Object** p) { VisitPointers(p, p + 1); } |
8829 | 8827 |
8830 // Visit pointer embedded into a code object. | 8828 // Visit pointer embedded into a code object. |
8831 virtual void VisitEmbeddedPointer(RelocInfo* rinfo); | 8829 virtual void VisitEmbeddedPointer(RelocInfo* rinfo); |
8832 | 8830 |
8833 virtual void VisitSharedFunctionInfo(SharedFunctionInfo* shared) {} | |
8834 | |
8835 // Visits a contiguous arrays of external references (references to the C++ | 8831 // Visits a contiguous arrays of external references (references to the C++ |
8836 // heap) in the half-open range [start, end). Any or all of the values | 8832 // heap) in the half-open range [start, end). Any or all of the values |
8837 // may be modified on return. | 8833 // may be modified on return. |
8838 virtual void VisitExternalReferences(Address* start, Address* end) {} | 8834 virtual void VisitExternalReferences(Address* start, Address* end) {} |
8839 | 8835 |
8840 virtual void VisitExternalReference(RelocInfo* rinfo); | 8836 virtual void VisitExternalReference(RelocInfo* rinfo); |
8841 | 8837 |
8842 inline void VisitExternalReference(Address* p) { | 8838 inline void VisitExternalReference(Address* p) { |
8843 VisitExternalReferences(p, p + 1); | 8839 VisitExternalReferences(p, p + 1); |
8844 } | 8840 } |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8884 } else { | 8880 } else { |
8885 value &= ~(1 << bit_position); | 8881 value &= ~(1 << bit_position); |
8886 } | 8882 } |
8887 return value; | 8883 return value; |
8888 } | 8884 } |
8889 }; | 8885 }; |
8890 | 8886 |
8891 } } // namespace v8::internal | 8887 } } // namespace v8::internal |
8892 | 8888 |
8893 #endif // V8_OBJECTS_H_ | 8889 #endif // V8_OBJECTS_H_ |
OLD | NEW |