| OLD | NEW | 
|     1 // Copyright 2012 the V8 project authors. All rights reserved. |     1 // Copyright 2012 the V8 project authors. All rights reserved. | 
|     2 // Use of this source code is governed by a BSD-style license that can be |     2 // Use of this source code is governed by a BSD-style license that can be | 
|     3 // found in the LICENSE file. |     3 // found in the LICENSE file. | 
|     4  |     4  | 
|     5 #include "src/api.h" |     5 #include "src/api.h" | 
|     6  |     6  | 
|     7 #include <string.h>  // For memcpy, strlen. |     7 #include <string.h>  // For memcpy, strlen. | 
|     8 #ifdef V8_USE_ADDRESS_SANITIZER |     8 #ifdef V8_USE_ADDRESS_SANITIZER | 
|     9 #include <sanitizer/asan_interface.h> |     9 #include <sanitizer/asan_interface.h> | 
|    10 #endif  // V8_USE_ADDRESS_SANITIZER |    10 #endif  // V8_USE_ADDRESS_SANITIZER | 
| (...skipping 6135 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  6146   i::Handle<i::JSMap> obj = Utils::OpenHandle(this); |  6146   i::Handle<i::JSMap> obj = Utils::OpenHandle(this); | 
|  6147   return i::OrderedHashMap::cast(obj->table())->NumberOfElements(); |  6147   return i::OrderedHashMap::cast(obj->table())->NumberOfElements(); | 
|  6148 } |  6148 } | 
|  6149  |  6149  | 
|  6150  |  6150  | 
|  6151 void Map::Clear() { |  6151 void Map::Clear() { | 
|  6152   auto self = Utils::OpenHandle(this); |  6152   auto self = Utils::OpenHandle(this); | 
|  6153   i::Isolate* isolate = self->GetIsolate(); |  6153   i::Isolate* isolate = self->GetIsolate(); | 
|  6154   LOG_API(isolate, "Map::Clear"); |  6154   LOG_API(isolate, "Map::Clear"); | 
|  6155   ENTER_V8(isolate); |  6155   ENTER_V8(isolate); | 
|  6156   i::Runtime::JSMapClear(isolate, self); |  6156   i::JSMap::Clear(self); | 
|  6157 } |  6157 } | 
|  6158  |  6158  | 
|  6159  |  6159  | 
|  6160 MaybeLocal<Value> Map::Get(Local<Context> context, Local<Value> key) { |  6160 MaybeLocal<Value> Map::Get(Local<Context> context, Local<Value> key) { | 
|  6161   PREPARE_FOR_EXECUTION(context, "Map::Get", Value); |  6161   PREPARE_FOR_EXECUTION(context, "Map::Get", Value); | 
|  6162   auto self = Utils::OpenHandle(this); |  6162   auto self = Utils::OpenHandle(this); | 
|  6163   Local<Value> result; |  6163   Local<Value> result; | 
|  6164   i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)}; |  6164   i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)}; | 
|  6165   has_pending_exception = |  6165   has_pending_exception = | 
|  6166       !ToLocal<Value>(i::Execution::Call(isolate, isolate->map_get(), self, |  6166       !ToLocal<Value>(i::Execution::Call(isolate, isolate->map_get(), self, | 
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  6262   i::Handle<i::JSSet> obj = Utils::OpenHandle(this); |  6262   i::Handle<i::JSSet> obj = Utils::OpenHandle(this); | 
|  6263   return i::OrderedHashSet::cast(obj->table())->NumberOfElements(); |  6263   return i::OrderedHashSet::cast(obj->table())->NumberOfElements(); | 
|  6264 } |  6264 } | 
|  6265  |  6265  | 
|  6266  |  6266  | 
|  6267 void Set::Clear() { |  6267 void Set::Clear() { | 
|  6268   auto self = Utils::OpenHandle(this); |  6268   auto self = Utils::OpenHandle(this); | 
|  6269   i::Isolate* isolate = self->GetIsolate(); |  6269   i::Isolate* isolate = self->GetIsolate(); | 
|  6270   LOG_API(isolate, "Set::Clear"); |  6270   LOG_API(isolate, "Set::Clear"); | 
|  6271   ENTER_V8(isolate); |  6271   ENTER_V8(isolate); | 
|  6272   i::Runtime::JSSetClear(isolate, self); |  6272   i::JSSet::Clear(self); | 
|  6273 } |  6273 } | 
|  6274  |  6274  | 
|  6275  |  6275  | 
|  6276 MaybeLocal<Set> Set::Add(Local<Context> context, Local<Value> key) { |  6276 MaybeLocal<Set> Set::Add(Local<Context> context, Local<Value> key) { | 
|  6277   PREPARE_FOR_EXECUTION(context, "Set::Add", Set); |  6277   PREPARE_FOR_EXECUTION(context, "Set::Add", Set); | 
|  6278   auto self = Utils::OpenHandle(this); |  6278   auto self = Utils::OpenHandle(this); | 
|  6279   i::Handle<i::Object> result; |  6279   i::Handle<i::Object> result; | 
|  6280   i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)}; |  6280   i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)}; | 
|  6281   has_pending_exception = |  6281   has_pending_exception = | 
|  6282       !i::Execution::Call(isolate, isolate->set_add(), self, arraysize(argv), |  6282       !i::Execution::Call(isolate, isolate->set_add(), self, arraysize(argv), | 
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  6528 void v8::ArrayBuffer::Neuter() { |  6528 void v8::ArrayBuffer::Neuter() { | 
|  6529   i::Handle<i::JSArrayBuffer> obj = Utils::OpenHandle(this); |  6529   i::Handle<i::JSArrayBuffer> obj = Utils::OpenHandle(this); | 
|  6530   i::Isolate* isolate = obj->GetIsolate(); |  6530   i::Isolate* isolate = obj->GetIsolate(); | 
|  6531   Utils::ApiCheck(obj->is_external(), |  6531   Utils::ApiCheck(obj->is_external(), | 
|  6532                   "v8::ArrayBuffer::Neuter", |  6532                   "v8::ArrayBuffer::Neuter", | 
|  6533                   "Only externalized ArrayBuffers can be neutered"); |  6533                   "Only externalized ArrayBuffers can be neutered"); | 
|  6534   Utils::ApiCheck(obj->is_neuterable(), "v8::ArrayBuffer::Neuter", |  6534   Utils::ApiCheck(obj->is_neuterable(), "v8::ArrayBuffer::Neuter", | 
|  6535                   "Only neuterable ArrayBuffers can be neutered"); |  6535                   "Only neuterable ArrayBuffers can be neutered"); | 
|  6536   LOG_API(obj->GetIsolate(), "v8::ArrayBuffer::Neuter()"); |  6536   LOG_API(obj->GetIsolate(), "v8::ArrayBuffer::Neuter()"); | 
|  6537   ENTER_V8(isolate); |  6537   ENTER_V8(isolate); | 
|  6538   i::Runtime::NeuterArrayBuffer(obj); |  6538   obj->Neuter(); | 
|  6539 } |  6539 } | 
|  6540  |  6540  | 
|  6541  |  6541  | 
|  6542 size_t v8::ArrayBuffer::ByteLength() const { |  6542 size_t v8::ArrayBuffer::ByteLength() const { | 
|  6543   i::Handle<i::JSArrayBuffer> obj = Utils::OpenHandle(this); |  6543   i::Handle<i::JSArrayBuffer> obj = Utils::OpenHandle(this); | 
|  6544   return static_cast<size_t>(obj->byte_length()->Number()); |  6544   return static_cast<size_t>(obj->byte_length()->Number()); | 
|  6545 } |  6545 } | 
|  6546  |  6546  | 
|  6547  |  6547  | 
|  6548 Local<ArrayBuffer> v8::ArrayBuffer::New(Isolate* isolate, size_t byte_length) { |  6548 Local<ArrayBuffer> v8::ArrayBuffer::New(Isolate* isolate, size_t byte_length) { | 
| (...skipping 1859 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  8408   Address callback_address = |  8408   Address callback_address = | 
|  8409       reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |  8409       reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 
|  8410   VMState<EXTERNAL> state(isolate); |  8410   VMState<EXTERNAL> state(isolate); | 
|  8411   ExternalCallbackScope call_scope(isolate, callback_address); |  8411   ExternalCallbackScope call_scope(isolate, callback_address); | 
|  8412   callback(info); |  8412   callback(info); | 
|  8413 } |  8413 } | 
|  8414  |  8414  | 
|  8415  |  8415  | 
|  8416 }  // namespace internal |  8416 }  // namespace internal | 
|  8417 }  // namespace v8 |  8417 }  // namespace v8 | 
| OLD | NEW |