summaryrefslogtreecommitdiff
path: root/deps/v8/src/heap.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/heap.h')
-rw-r--r--deps/v8/src/heap.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/deps/v8/src/heap.h b/deps/v8/src/heap.h
index 1ac4dfaa08..81c7d4732c 100644
--- a/deps/v8/src/heap.h
+++ b/deps/v8/src/heap.h
@@ -2510,6 +2510,8 @@ class Heap {
bool relocation_mutex_locked_by_optimizer_thread_;
#endif // DEBUG;
+ int gc_callbacks_depth_;
+
friend class Factory;
friend class GCTracer;
friend class DisallowAllocationFailure;
@@ -2522,6 +2524,7 @@ class Heap {
#ifdef VERIFY_HEAP
friend class NoWeakObjectVerificationScope;
#endif
+ friend class GCCallbacksScope;
DISALLOW_COPY_AND_ASSIGN(Heap);
};
@@ -2594,6 +2597,18 @@ class NoWeakObjectVerificationScope {
#endif
+class GCCallbacksScope {
+ public:
+ explicit inline GCCallbacksScope(Heap* heap);
+ inline ~GCCallbacksScope();
+
+ inline bool CheckReenter();
+
+ private:
+ Heap* heap_;
+};
+
+
// Visitor class to verify interior pointers in spaces that do not contain
// or care about intergenerational references. All heap object pointers have to
// point into the heap to a location that has a map pointer at its first word.