]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - heap/CopiedAllocator.h
JavaScriptCore-7600.1.4.15.12.tar.gz
[apple/javascriptcore.git] / heap / CopiedAllocator.h
index 32b84f008199045e8ee9b168db8d2f15c358f0f1..3dfc9a7fe471780391b651e2ef8bef38f15835a0 100644 (file)
@@ -38,6 +38,7 @@ public:
     
     bool fastPathShouldSucceed(size_t bytes) const;
     CheckedBoolean tryAllocate(size_t bytes, void** outPtr);
+    CheckedBoolean tryAllocateDuringCopying(size_t bytes, void** outPtr);
     CheckedBoolean tryReallocate(void *oldPtr, size_t oldBytes, size_t newBytes);
     void* forceAllocate(size_t bytes);
     CopiedBlock* resetCurrentBlock();
@@ -93,6 +94,14 @@ inline CheckedBoolean CopiedAllocator::tryAllocate(size_t bytes, void** outPtr)
     return true;
 }
 
+inline CheckedBoolean CopiedAllocator::tryAllocateDuringCopying(size_t bytes, void** outPtr)
+{
+    if (!tryAllocate(bytes, outPtr))
+        return false;
+    m_currentBlock->reportLiveBytesDuringCopying(bytes);
+    return true;
+}
+
 inline CheckedBoolean CopiedAllocator::tryReallocate(
     void* oldPtr, size_t oldBytes, size_t newBytes)
 {