| Index: src/api.cc
|
| diff --git a/src/api.cc b/src/api.cc
|
| index df7dd1193eb42b0557661de084d4ef036f7f2779..75abdb777a3bef98e489190c986cfeb5b04f814a 100644
|
| --- a/src/api.cc
|
| +++ b/src/api.cc
|
| @@ -52,6 +52,7 @@
|
| #include "profile-generator-inl.h"
|
| #include "property-details.h"
|
| #include "property.h"
|
| +#include "runtime.h"
|
| #include "runtime-profiler.h"
|
| #include "scanner-character-streams.h"
|
| #include "snapshot.h"
|
| @@ -2754,6 +2755,15 @@ void v8::Array::CheckCast(Value* that) {
|
| }
|
|
|
|
|
| +void v8::ArrayBuffer::CheckCast(Value* that) {
|
| + if (IsDeadCheck(i::Isolate::Current(), "v8::ArrayBuffer::Cast()")) return;
|
| + i::Handle<i::Object> obj = Utils::OpenHandle(that);
|
| + ApiCheck(obj->IsJSArrayBuffer(),
|
| + "v8::ArrayBuffer::Cast()",
|
| + "Could not convert to ArrayBuffer");
|
| +}
|
| +
|
| +
|
| void v8::Date::CheckCast(v8::Value* that) {
|
| i::Isolate* isolate = i::Isolate::Current();
|
| if (IsDeadCheck(isolate, "v8::Date::Cast()")) return;
|
| @@ -5792,6 +5802,46 @@ Local<Object> Array::CloneElementAt(uint32_t index) {
|
| }
|
|
|
|
|
| +size_t v8::ArrayBuffer::ByteLength() const {
|
| + i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
|
| + if (IsDeadCheck(isolate, "v8::ArrayBuffer::ByteLength()")) return 0;
|
| + i::Handle<i::JSArrayBuffer> obj = Utils::OpenHandle(this);
|
| + return static_cast<size_t>(obj->byte_length()->Number());
|
| +}
|
| +
|
| +
|
| +void* v8::ArrayBuffer::Data() const {
|
| + i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
|
| + if (IsDeadCheck(isolate, "v8::ArrayBuffer::Data()")) return 0;
|
| + i::Handle<i::JSArrayBuffer> obj = Utils::OpenHandle(this);
|
| + return obj->backing_store();
|
| +}
|
| +
|
| +
|
| +Local<ArrayBuffer> v8::ArrayBuffer::New(size_t byte_length) {
|
| + i::Isolate* isolate = i::Isolate::Current();
|
| + EnsureInitializedForIsolate(isolate, "v8::ArrayBuffer::New(size_t)");
|
| + LOG_API(isolate, "v8::ArrayBuffer::New(size_t)");
|
| + ENTER_V8(isolate);
|
| + i::Handle<i::JSArrayBuffer> obj =
|
| + isolate->factory()->NewJSArrayBuffer();
|
| + i::Runtime::SetupArrayBufferAllocatingData(isolate, obj, byte_length);
|
| + return Utils::ToLocal(obj);
|
| +}
|
| +
|
| +
|
| +Local<ArrayBuffer> v8::ArrayBuffer::New(void* data, size_t byte_length) {
|
| + i::Isolate* isolate = i::Isolate::Current();
|
| + EnsureInitializedForIsolate(isolate, "v8::ArrayBuffer::New(void*, size_t)");
|
| + LOG_API(isolate, "v8::ArrayBuffer::New(void*, size_t)");
|
| + ENTER_V8(isolate);
|
| + i::Handle<i::JSArrayBuffer> obj =
|
| + isolate->factory()->NewJSArrayBuffer();
|
| + i::Runtime::SetupArrayBuffer(isolate, obj, data, byte_length);
|
| + return Utils::ToLocal(obj);
|
| +}
|
| +
|
| +
|
| Local<Symbol> v8::Symbol::New(Isolate* isolate) {
|
| i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate);
|
| EnsureInitializedForIsolate(i_isolate, "v8::Symbol::New()");
|
|
|