Revision: 12229
Author: [email protected]
Date: Mon Jul 30 06:07:29 2012
Log: Make AlwaysAllocateScope imply DisallowAllocationFailure.
[email protected]
TEST=cctest/test-api,cctest/test-heap (--gc-interval=100)
Review URL: https://chromiumcodereview.appspot.com/10824082
http://code.google.com/p/v8/source/detail?r=12229
Modified:
/branches/bleeding_edge/src/heap.h
/branches/bleeding_edge/test/cctest/test-heap.cc
=======================================
--- /branches/bleeding_edge/src/heap.h Mon Jul 30 03:32:54 2012
+++ /branches/bleeding_edge/src/heap.h Mon Jul 30 06:07:29 2012
@@ -2149,10 +2149,28 @@
};
+#ifdef DEBUG
+class DisallowAllocationFailure {
+ public:
+ inline DisallowAllocationFailure();
+ inline ~DisallowAllocationFailure();
+
+ private:
+ bool old_state_;
+};
+#endif
+
+
class AlwaysAllocateScope {
public:
inline AlwaysAllocateScope();
inline ~AlwaysAllocateScope();
+
+#ifdef DEBUG
+ private:
+ // Implicitly disable artificial allocation failures.
+ DisallowAllocationFailure disallow_allocation_failure_;
+#endif
};
@@ -2397,18 +2415,6 @@
};
-#ifdef DEBUG
-class DisallowAllocationFailure {
- public:
- inline DisallowAllocationFailure();
- inline ~DisallowAllocationFailure();
-
- private:
- bool old_state_;
-};
-#endif
-
-
// A helper class to document/test C++ scopes where we do not
// expect a GC. Usage:
//
=======================================
--- /branches/bleeding_edge/test/cctest/test-heap.cc Fri Jul 27 02:54:56
2012
+++ /branches/bleeding_edge/test/cctest/test-heap.cc Mon Jul 30 06:07:29
2012
@@ -1268,6 +1268,7 @@
// that the scavenger does not undo the filling.
v8::HandleScope scope;
AlwaysAllocateScope always_allocate;
+ LinearAllocationScope allocate_linearly;
intptr_t available = new_space->EffectiveCapacity() - new_space->Size();
intptr_t number_of_fillers = (available / FixedArray::SizeFor(32)) - 1;
for (intptr_t i = 0; i < number_of_fillers; i++) {
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev