Commit 488ba18a authored by dslomov@chromium.org's avatar dslomov@chromium.org

Clean-up v8::ArrayBuffer::Allocator interface

BUG=v8:2823
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/23514050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 62ac593d
......@@ -2512,27 +2512,12 @@ class V8_EXPORT ArrayBuffer : public Object {
* 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;
};
/**
......
......@@ -2988,12 +2988,6 @@ void v8::ArrayBuffer::CheckCast(Value* that) {
}
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(),
......
......@@ -100,6 +100,7 @@ v8::Isolate* CcTest::default_isolate_;
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(); }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment