OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_HEAP_HEAP_H_ | 5 #ifndef V8_HEAP_HEAP_H_ |
6 #define V8_HEAP_HEAP_H_ | 6 #define V8_HEAP_HEAP_H_ |
7 | 7 |
8 #include <cmath> | 8 #include <cmath> |
9 #include <map> | 9 #include <map> |
10 | 10 |
(...skipping 2412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2423 class AlwaysAllocateScope { | 2423 class AlwaysAllocateScope { |
2424 public: | 2424 public: |
2425 explicit inline AlwaysAllocateScope(Isolate* isolate); | 2425 explicit inline AlwaysAllocateScope(Isolate* isolate); |
2426 inline ~AlwaysAllocateScope(); | 2426 inline ~AlwaysAllocateScope(); |
2427 | 2427 |
2428 private: | 2428 private: |
2429 Heap* heap_; | 2429 Heap* heap_; |
2430 }; | 2430 }; |
2431 | 2431 |
2432 | 2432 |
2433 class GCCallbacksScope { | |
2434 public: | |
2435 explicit inline GCCallbacksScope(Heap* heap); | |
2436 inline ~GCCallbacksScope(); | |
2437 | |
2438 inline bool CheckReenter(); | |
2439 | |
2440 private: | |
2441 Heap* heap_; | |
2442 }; | |
2443 | |
2444 | |
2445 // Visitor class to verify interior pointers in spaces that do not contain | 2433 // Visitor class to verify interior pointers in spaces that do not contain |
2446 // or care about intergenerational references. All heap object pointers have to | 2434 // or care about intergenerational references. All heap object pointers have to |
2447 // point into the heap to a location that has a map pointer at its first word. | 2435 // point into the heap to a location that has a map pointer at its first word. |
2448 // Caveat: Heap::Contains is an approximation because it can return true for | 2436 // Caveat: Heap::Contains is an approximation because it can return true for |
2449 // objects in a heap space but above the allocation pointer. | 2437 // objects in a heap space but above the allocation pointer. |
2450 class VerifyPointersVisitor : public ObjectVisitor { | 2438 class VerifyPointersVisitor : public ObjectVisitor { |
2451 public: | 2439 public: |
2452 inline void VisitPointers(Object** start, Object** end); | 2440 inline void VisitPointers(Object** start, Object** end); |
2453 }; | 2441 }; |
2454 | 2442 |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2744 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2732 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2745 | 2733 |
2746 private: | 2734 private: |
2747 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2735 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2748 }; | 2736 }; |
2749 #endif // DEBUG | 2737 #endif // DEBUG |
2750 } | 2738 } |
2751 } // namespace v8::internal | 2739 } // namespace v8::internal |
2752 | 2740 |
2753 #endif // V8_HEAP_HEAP_H_ | 2741 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |