* Allocate |length| bytes. Return NULL if allocation is not successful.
* Memory does not have to be initialized.
*/
- virtual void* AllocateUninitialized(size_t length) {
- // Override with call to |Allocate| for compatibility
- // with legacy version.
- return Allocate(length);
- }
-
+ virtual void* AllocateUninitialized(size_t length) = 0;
/**
* Free the memory block of size |length|, pointed to by |data|.
* That memory is guaranteed to be previously allocated by |Allocate|.
*/
- virtual void Free(void* data, size_t length) {
- // Override with call to |Free(void*)| for compatibility
- // with legacy version.
- Free(data);
- }
-
- /**
- * Deprecated. Never called directly by V8.
- * For compatibility with legacy version of this interface.
- */
- virtual void Free(void* data);
+ virtual void Free(void* data, size_t length) = 0;
};
/**
}
-void v8::ArrayBuffer::Allocator::Free(void* data) {
- API_Fatal("v8::ArrayBuffer::Allocator::Free",
- "Override Allocator::Free(void*, size_t)");
-}
-
-
void v8::ArrayBufferView::CheckCast(Value* that) {
i::Handle<i::Object> obj = Utils::OpenHandle(that);
ApiCheck(obj->IsJSArrayBufferView(),
class CcTestArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
virtual void* Allocate(size_t length) { return malloc(length); }
+ virtual void* AllocateUninitialized(size_t length) { return malloc(length); }
virtual void Free(void* data, size_t length) { free(data); }
// TODO(dslomov): Remove when v8:2823 is fixed.
virtual void Free(void* data) { UNREACHABLE(); }