Index: src/allocation.h |
diff --git a/src/allocation.h b/src/allocation.h |
index 45bde4c4cb07068a05e301d2124990637d82609d..b70087955cbdaad42da9feee1af97d5e472c9414 100644 |
--- a/src/allocation.h |
+++ b/src/allocation.h |
@@ -104,6 +104,7 @@ char* StrNDup(const char* str, int n); |
// and free. Used as the default policy for lists. |
class FreeStoreAllocationPolicy { |
public: |
+ typedef FreeStoreAllocationPolicy Deleter; |
INLINE(void* New(size_t size)) { return Malloced::New(size); } |
INLINE(static void Delete(void* p)) { Malloced::Delete(p); } |
}; |
@@ -131,9 +132,21 @@ class PreallocatedStorage { |
}; |
-struct PreallocatedStorageAllocationPolicy { |
+class Isolate; |
+ |
+ |
+class PreallocatedStorageAllocationPolicy { |
+ public: |
+ typedef PreallocatedStorageAllocationPolicy Deleter; |
+ INLINE(explicit PreallocatedStorageAllocationPolicy(Isolate* isolate)) |
+ : isolate_(isolate) { } |
+ INLINE(PreallocatedStorageAllocationPolicy( |
+ const PreallocatedStorageAllocationPolicy& policy)) |
+ : isolate_(policy.isolate_) { } |
INLINE(void* New(size_t size)); |
- INLINE(static void Delete(void* ptr)); |
+ INLINE(void Delete(void* ptr)); |
+ private: |
+ Isolate* isolate_; |
}; |