Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(575)

Unified Diff: src/heap.h

Issue 3047027: Avoid GC when compiling CallIC stubs.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/arm/stub-cache-arm.cc ('k') | src/heap.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap.h
===================================================================
--- src/heap.h (revision 5173)
+++ src/heap.h (working copy)
@@ -877,6 +877,8 @@
#ifdef DEBUG
static bool IsAllocationAllowed() { return allocation_allowed_; }
static inline bool allow_allocation(bool enable);
+ static bool IsGCAllowed() { return gc_allowed_; }
+ static inline bool allow_gc(bool enable);
static bool disallow_allocation_failure() {
return disallow_allocation_failure_;
@@ -1078,6 +1080,7 @@
#ifdef DEBUG
static bool allocation_allowed_;
+ static bool gc_allowed_;
// If the --gc-interval flag is set to a positive value, this
// variable holds the value indicating the number of allocations
@@ -1680,6 +1683,20 @@
bool old_state_;
};
+class AssertNoGC {
+ public:
+ AssertNoGC() {
+ old_state_ = Heap::allow_gc(false);
+ }
+
+ ~AssertNoGC() {
+ Heap::allow_gc(old_state_);
+ }
+
+ private:
+ bool old_state_;
+};
+
class DisableAssertNoAllocation {
public:
DisableAssertNoAllocation() {
@@ -1702,6 +1719,12 @@
~AssertNoAllocation() { }
};
+class AssertNoGC {
+ public:
+ AssertNoGC() { }
+ ~AssertNoGC() { }
+};
+
class DisableAssertNoAllocation {
public:
DisableAssertNoAllocation() { }
« no previous file with comments | « src/arm/stub-cache-arm.cc ('k') | src/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698