summaryrefslogtreecommitdiff
path: root/deps/v8/src/heap.h
diff options
context:
space:
mode:
authorRyan <ry@tinyclouds.org>2009-08-21 13:13:04 +0200
committerRyan <ry@tinyclouds.org>2009-08-21 13:13:04 +0200
commit048a1b8b9e5184f959ce924e76c61f8cd9e91089 (patch)
tree564bc754e09e25209b5ab28aa0b6880f23feb0eb /deps/v8/src/heap.h
parent90ac9ab078926fb11a3b1ce5f155caec230e0250 (diff)
downloadnode-new-048a1b8b9e5184f959ce924e76c61f8cd9e91089.tar.gz
Upgrade v8 to 1.3.6
Diffstat (limited to 'deps/v8/src/heap.h')
-rw-r--r--deps/v8/src/heap.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/deps/v8/src/heap.h b/deps/v8/src/heap.h
index ec1e21af5b..ac6f5be511 100644
--- a/deps/v8/src/heap.h
+++ b/deps/v8/src/heap.h
@@ -111,6 +111,7 @@ namespace internal {
V(Object, nan_value, NanValue) \
V(Object, undefined_value, UndefinedValue) \
V(Object, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \
+ V(Object, termination_exception, TerminationException) \
V(Object, minus_zero_value, MinusZeroValue) \
V(Object, null_value, NullValue) \
V(Object, true_value, TrueValue) \
@@ -626,8 +627,9 @@ class Heap : public AllStatic {
// Returns whether required_space bytes are available after the collection.
static bool CollectGarbage(int required_space, AllocationSpace space);
- // Performs a full garbage collection.
- static void CollectAllGarbage();
+ // Performs a full garbage collection. Force compaction if the
+ // parameter is true.
+ static void CollectAllGarbage(bool force_compaction = false);
// Performs a full garbage collection if a context has been disposed
// since the last time the check was performed.
@@ -1386,6 +1388,20 @@ class AssertNoAllocation {
bool old_state_;
};
+class DisableAssertNoAllocation {
+ public:
+ DisableAssertNoAllocation() {
+ old_state_ = Heap::allow_allocation(true);
+ }
+
+ ~DisableAssertNoAllocation() {
+ Heap::allow_allocation(old_state_);
+ }
+
+ private:
+ bool old_state_;
+};
+
#else // ndef DEBUG
class AssertNoAllocation {
@@ -1394,6 +1410,12 @@ class AssertNoAllocation {
~AssertNoAllocation() { }
};
+class DisableAssertNoAllocation {
+ public:
+ DisableAssertNoAllocation() { }
+ ~DisableAssertNoAllocation() { }
+};
+
#endif
#ifdef ENABLE_LOGGING_AND_PROFILING