Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 2576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2587 } | 2587 } |
| 2588 | 2588 |
| 2589 | 2589 |
| 2590 bool Value::IsArrayBuffer() const { | 2590 bool Value::IsArrayBuffer() const { |
| 2591 if (IsDeadCheck(i::Isolate::Current(), "v8::Value::IsArrayBuffer()")) | 2591 if (IsDeadCheck(i::Isolate::Current(), "v8::Value::IsArrayBuffer()")) |
| 2592 return false; | 2592 return false; |
| 2593 return Utils::OpenHandle(this)->IsJSArrayBuffer(); | 2593 return Utils::OpenHandle(this)->IsJSArrayBuffer(); |
| 2594 } | 2594 } |
| 2595 | 2595 |
| 2596 | 2596 |
| 2597 bool Value::IsArrayBufferView() const { | |
| 2598 return Utils::OpenHandle(this)->IsJSArrayBufferView(); | |
| 2599 } | |
| 2600 | |
| 2601 | |
| 2597 bool Value::IsTypedArray() const { | 2602 bool Value::IsTypedArray() const { |
| 2598 if (IsDeadCheck(i::Isolate::Current(), "v8::Value::IsArrayBuffer()")) | 2603 if (IsDeadCheck(i::Isolate::Current(), "v8::Value::IsArrayBuffer()")) |
| 2599 return false; | 2604 return false; |
| 2600 return Utils::OpenHandle(this)->IsJSTypedArray(); | 2605 return Utils::OpenHandle(this)->IsJSTypedArray(); |
| 2601 } | 2606 } |
| 2602 | 2607 |
| 2603 | 2608 |
| 2604 #define TYPED_ARRAY_LIST(F) \ | 2609 #define TYPED_ARRAY_LIST(F) \ |
| 2605 F(Uint8Array, kExternalUnsignedByteArray) \ | 2610 F(Uint8Array, kExternalUnsignedByteArray) \ |
| 2606 F(Int8Array, kExternalByteArray) \ | 2611 F(Int8Array, kExternalByteArray) \ |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 2620 i::Handle<i::Object> obj = Utils::OpenHandle(this); \ | 2625 i::Handle<i::Object> obj = Utils::OpenHandle(this); \ |
| 2621 if (!obj->IsJSTypedArray()) return false; \ | 2626 if (!obj->IsJSTypedArray()) return false; \ |
| 2622 return i::JSTypedArray::cast(*obj)->type() == type_const; \ | 2627 return i::JSTypedArray::cast(*obj)->type() == type_const; \ |
| 2623 } | 2628 } |
| 2624 | 2629 |
| 2625 TYPED_ARRAY_LIST(VALUE_IS_TYPED_ARRAY) | 2630 TYPED_ARRAY_LIST(VALUE_IS_TYPED_ARRAY) |
| 2626 | 2631 |
| 2627 #undef VALUE_IS_TYPED_ARRAY | 2632 #undef VALUE_IS_TYPED_ARRAY |
| 2628 | 2633 |
| 2629 | 2634 |
| 2635 bool Value::IsDataView() const { | |
| 2636 return Utils::OpenHandle(this)->IsJSDataView(); | |
| 2637 } | |
| 2638 | |
| 2639 | |
| 2630 bool Value::IsObject() const { | 2640 bool Value::IsObject() const { |
| 2631 if (IsDeadCheck(i::Isolate::Current(), "v8::Value::IsObject()")) return false; | 2641 if (IsDeadCheck(i::Isolate::Current(), "v8::Value::IsObject()")) return false; |
| 2632 return Utils::OpenHandle(this)->IsJSObject(); | 2642 return Utils::OpenHandle(this)->IsJSObject(); |
| 2633 } | 2643 } |
| 2634 | 2644 |
| 2635 | 2645 |
| 2636 bool Value::IsNumber() const { | 2646 bool Value::IsNumber() const { |
| 2637 if (IsDeadCheck(i::Isolate::Current(), "v8::Value::IsNumber()")) return false; | 2647 if (IsDeadCheck(i::Isolate::Current(), "v8::Value::IsNumber()")) return false; |
| 2638 return Utils::OpenHandle(this)->IsNumber(); | 2648 return Utils::OpenHandle(this)->IsNumber(); |
| 2639 } | 2649 } |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2966 | 2976 |
| 2967 void v8::ArrayBuffer::CheckCast(Value* that) { | 2977 void v8::ArrayBuffer::CheckCast(Value* that) { |
| 2968 if (IsDeadCheck(i::Isolate::Current(), "v8::ArrayBuffer::Cast()")) return; | 2978 if (IsDeadCheck(i::Isolate::Current(), "v8::ArrayBuffer::Cast()")) return; |
| 2969 i::Handle<i::Object> obj = Utils::OpenHandle(that); | 2979 i::Handle<i::Object> obj = Utils::OpenHandle(that); |
| 2970 ApiCheck(obj->IsJSArrayBuffer(), | 2980 ApiCheck(obj->IsJSArrayBuffer(), |
| 2971 "v8::ArrayBuffer::Cast()", | 2981 "v8::ArrayBuffer::Cast()", |
| 2972 "Could not convert to ArrayBuffer"); | 2982 "Could not convert to ArrayBuffer"); |
| 2973 } | 2983 } |
| 2974 | 2984 |
| 2975 | 2985 |
| 2986 void v8::ArrayBufferView::CheckCast(Value* that) { | |
| 2987 i::Handle<i::Object> obj = Utils::OpenHandle(that); | |
| 2988 ApiCheck(obj->IsJSArrayBufferView(), | |
| 2989 "v8::ArrayBufferView::Cast()", | |
| 2990 "Could not convert to ArrayBufferView"); | |
| 2991 } | |
| 2992 | |
| 2993 | |
| 2976 void v8::TypedArray::CheckCast(Value* that) { | 2994 void v8::TypedArray::CheckCast(Value* that) { |
| 2977 if (IsDeadCheck(i::Isolate::Current(), "v8::TypedArray::Cast()")) return; | 2995 if (IsDeadCheck(i::Isolate::Current(), "v8::TypedArray::Cast()")) return; |
| 2978 i::Handle<i::Object> obj = Utils::OpenHandle(that); | 2996 i::Handle<i::Object> obj = Utils::OpenHandle(that); |
| 2979 ApiCheck(obj->IsJSTypedArray(), | 2997 ApiCheck(obj->IsJSTypedArray(), |
| 2980 "v8::TypedArray::Cast()", | 2998 "v8::TypedArray::Cast()", |
| 2981 "Could not convert to TypedArray"); | 2999 "Could not convert to TypedArray"); |
| 2982 } | 3000 } |
| 2983 | 3001 |
| 2984 | 3002 |
| 2985 #define CHECK_TYPED_ARRAY_CAST(ApiClass, typeConst) \ | 3003 #define CHECK_TYPED_ARRAY_CAST(ApiClass, typeConst) \ |
| 2986 void v8::ApiClass::CheckCast(Value* that) { \ | 3004 void v8::ApiClass::CheckCast(Value* that) { \ |
| 2987 if (IsDeadCheck(i::Isolate::Current(), "v8::" #ApiClass "::Cast()")) \ | 3005 if (IsDeadCheck(i::Isolate::Current(), "v8::" #ApiClass "::Cast()")) \ |
| 2988 return; \ | 3006 return; \ |
| 2989 i::Handle<i::Object> obj = Utils::OpenHandle(that); \ | 3007 i::Handle<i::Object> obj = Utils::OpenHandle(that); \ |
| 2990 ApiCheck(obj->IsJSTypedArray() && \ | 3008 ApiCheck(obj->IsJSTypedArray() && \ |
| 2991 i::JSTypedArray::cast(*obj)->type() == typeConst, \ | 3009 i::JSTypedArray::cast(*obj)->type() == typeConst, \ |
| 2992 "v8::" #ApiClass "::Cast()", \ | 3010 "v8::" #ApiClass "::Cast()", \ |
| 2993 "Could not convert to " #ApiClass); \ | 3011 "Could not convert to " #ApiClass); \ |
| 2994 } | 3012 } |
| 2995 | 3013 |
| 2996 | 3014 |
| 2997 TYPED_ARRAY_LIST(CHECK_TYPED_ARRAY_CAST) | 3015 TYPED_ARRAY_LIST(CHECK_TYPED_ARRAY_CAST) |
| 2998 | 3016 |
| 2999 #undef CHECK_TYPED_ARRAY_CAST | 3017 #undef CHECK_TYPED_ARRAY_CAST |
| 3000 | 3018 |
| 3001 | 3019 |
| 3020 void v8::DataView::CheckCast(Value* that) { | |
| 3021 i::Handle<i::Object> obj = Utils::OpenHandle(that); | |
| 3022 ApiCheck(obj->IsJSDataView(), | |
| 3023 "v8::DataView::Cast()", | |
| 3024 "Could not convert to DataView"); | |
| 3025 } | |
| 3026 | |
| 3027 | |
| 3002 void v8::Date::CheckCast(v8::Value* that) { | 3028 void v8::Date::CheckCast(v8::Value* that) { |
| 3003 i::Isolate* isolate = i::Isolate::Current(); | 3029 i::Isolate* isolate = i::Isolate::Current(); |
| 3004 if (IsDeadCheck(isolate, "v8::Date::Cast()")) return; | 3030 if (IsDeadCheck(isolate, "v8::Date::Cast()")) return; |
| 3005 i::Handle<i::Object> obj = Utils::OpenHandle(that); | 3031 i::Handle<i::Object> obj = Utils::OpenHandle(that); |
| 3006 ApiCheck(obj->HasSpecificClassOf(isolate->heap()->Date_string()), | 3032 ApiCheck(obj->HasSpecificClassOf(isolate->heap()->Date_string()), |
| 3007 "v8::Date::Cast()", | 3033 "v8::Date::Cast()", |
| 3008 "Could not convert to date"); | 3034 "Could not convert to date"); |
| 3009 } | 3035 } |
| 3010 | 3036 |
| 3011 | 3037 |
| (...skipping 3211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6223 EnsureInitializedForIsolate(isolate, "v8::ArrayBuffer::New(void*, size_t)"); | 6249 EnsureInitializedForIsolate(isolate, "v8::ArrayBuffer::New(void*, size_t)"); |
| 6224 LOG_API(isolate, "v8::ArrayBuffer::New(void*, size_t)"); | 6250 LOG_API(isolate, "v8::ArrayBuffer::New(void*, size_t)"); |
| 6225 ENTER_V8(isolate); | 6251 ENTER_V8(isolate); |
| 6226 i::Handle<i::JSArrayBuffer> obj = | 6252 i::Handle<i::JSArrayBuffer> obj = |
| 6227 isolate->factory()->NewJSArrayBuffer(); | 6253 isolate->factory()->NewJSArrayBuffer(); |
| 6228 i::Runtime::SetupArrayBuffer(isolate, obj, true, data, byte_length); | 6254 i::Runtime::SetupArrayBuffer(isolate, obj, true, data, byte_length); |
| 6229 return Utils::ToLocal(obj); | 6255 return Utils::ToLocal(obj); |
| 6230 } | 6256 } |
| 6231 | 6257 |
| 6232 | 6258 |
| 6233 Local<ArrayBuffer> v8::TypedArray::Buffer() { | 6259 Local<ArrayBuffer> v8::ArrayBufferView::Buffer() { |
| 6234 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); | 6260 i::Handle<i::JSArrayBufferView> obj = Utils::OpenHandle(this); |
| 6235 if (IsDeadCheck(isolate, "v8::TypedArray::Buffer()")) | |
| 6236 return Local<ArrayBuffer>(); | |
| 6237 i::Handle<i::JSTypedArray> obj = Utils::OpenHandle(this); | |
| 6238 ASSERT(obj->buffer()->IsJSArrayBuffer()); | 6261 ASSERT(obj->buffer()->IsJSArrayBuffer()); |
| 6239 i::Handle<i::JSArrayBuffer> buffer(i::JSArrayBuffer::cast(obj->buffer())); | 6262 i::Handle<i::JSArrayBuffer> buffer(i::JSArrayBuffer::cast(obj->buffer())); |
| 6240 return Utils::ToLocal(buffer); | 6263 return Utils::ToLocal(buffer); |
| 6241 } | 6264 } |
| 6242 | 6265 |
| 6243 | 6266 |
| 6244 size_t v8::TypedArray::ByteOffset() { | 6267 size_t v8::ArrayBufferView::ByteOffset() { |
| 6245 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); | 6268 i::Handle<i::JSArrayBufferView> obj = Utils::OpenHandle(this); |
| 6246 if (IsDeadCheck(isolate, "v8::TypedArray::ByteOffset()")) return 0; | |
| 6247 i::Handle<i::JSTypedArray> obj = Utils::OpenHandle(this); | |
| 6248 return static_cast<size_t>(obj->byte_offset()->Number()); | 6269 return static_cast<size_t>(obj->byte_offset()->Number()); |
| 6249 } | 6270 } |
| 6250 | 6271 |
| 6251 | 6272 |
| 6252 size_t v8::TypedArray::ByteLength() { | 6273 size_t v8::ArrayBufferView::ByteLength() { |
| 6253 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); | 6274 i::Handle<i::JSArrayBufferView> obj = Utils::OpenHandle(this); |
| 6254 if (IsDeadCheck(isolate, "v8::TypedArray::ByteLength()")) return 0; | |
| 6255 i::Handle<i::JSTypedArray> obj = Utils::OpenHandle(this); | |
| 6256 return static_cast<size_t>(obj->byte_length()->Number()); | 6275 return static_cast<size_t>(obj->byte_length()->Number()); |
| 6257 } | 6276 } |
| 6258 | 6277 |
| 6259 | 6278 |
| 6279 void* v8::ArrayBufferView::BaseAddress() { | |
| 6280 i::Handle<i::JSArrayBufferView> obj = Utils::OpenHandle(this); | |
| 6281 i::Handle<i::JSArrayBuffer> buffer(i::JSArrayBuffer::cast(obj->buffer())); | |
| 6282 void* buffer_data = buffer->backing_store(); | |
| 6283 size_t byte_offset = static_cast<size_t>(obj->byte_offset()->Number()); | |
| 6284 return static_cast<uint8_t*>(buffer_data) + byte_offset; | |
| 6285 } | |
| 6286 | |
| 6287 | |
| 6260 size_t v8::TypedArray::Length() { | 6288 size_t v8::TypedArray::Length() { |
| 6261 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); | 6289 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); |
| 6262 if (IsDeadCheck(isolate, "v8::TypedArray::Length()")) return 0; | 6290 if (IsDeadCheck(isolate, "v8::TypedArray::Length()")) return 0; |
| 6263 i::Handle<i::JSTypedArray> obj = Utils::OpenHandle(this); | 6291 i::Handle<i::JSTypedArray> obj = Utils::OpenHandle(this); |
| 6264 return static_cast<size_t>(obj->length()->Number()); | 6292 return static_cast<size_t>(obj->length()->Number()); |
| 6265 } | 6293 } |
| 6266 | 6294 |
| 6267 | 6295 |
| 6268 void* v8::TypedArray::BaseAddress() { | 6296 static inline void SetupArrayBufferView( |
| 6269 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); | 6297 i::Isolate* isolate, |
| 6270 if (IsDeadCheck(isolate, "v8::TypedArray::BaseAddress()")) return NULL; | 6298 i::Handle<i::JSArrayBufferView> obj, |
| 6271 i::Handle<i::JSTypedArray> obj = Utils::OpenHandle(this); | 6299 i::Handle<i::JSArrayBuffer> buffer, |
| 6272 i::Handle<i::JSArrayBuffer> buffer(i::JSArrayBuffer::cast(obj->buffer())); | 6300 size_t byte_offset, |
| 6273 void* buffer_data = buffer->backing_store(); | 6301 size_t byte_length) { |
| 6274 size_t byte_offset = static_cast<size_t>(obj->byte_offset()->Number()); | 6302 ASSERT(byte_offset + byte_length <= |
| 6275 return static_cast<uint8_t*>(buffer_data) + byte_offset; | 6303 static_cast<size_t>(buffer->byte_length()->Number())); |
| 6304 | |
| 6305 obj->set_buffer(*buffer); | |
| 6306 | |
| 6307 obj->set_weak_next(buffer->weak_first_view()); | |
| 6308 buffer->set_weak_first_view(*obj); | |
| 6309 | |
| 6310 i::Handle<i::Object> byte_offset_object = | |
| 6311 isolate->factory()->NewNumberFromSize(byte_offset); | |
| 6312 obj->set_byte_offset(*byte_offset_object); | |
| 6313 | |
| 6314 i::Handle<i::Object> byte_length_object = | |
| 6315 isolate->factory()->NewNumberFromSize(byte_length); | |
| 6316 obj->set_byte_length(*byte_length_object); | |
| 6276 } | 6317 } |
| 6277 | 6318 |
| 6278 | |
| 6279 template<typename ElementType, | 6319 template<typename ElementType, |
| 6280 ExternalArrayType array_type, | 6320 ExternalArrayType array_type, |
| 6281 i::ElementsKind elements_kind> | 6321 i::ElementsKind elements_kind> |
| 6282 i::Handle<i::JSTypedArray> NewTypedArray( | 6322 i::Handle<i::JSTypedArray> NewTypedArray( |
| 6283 i::Isolate* isolate, | 6323 i::Isolate* isolate, |
| 6284 Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length) { | 6324 Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length) { |
| 6285 i::Handle<i::JSTypedArray> obj = | 6325 i::Handle<i::JSTypedArray> obj = |
| 6286 isolate->factory()->NewJSTypedArray(array_type); | 6326 isolate->factory()->NewJSTypedArray(array_type); |
| 6287 i::Handle<i::JSArrayBuffer> buffer = Utils::OpenHandle(*array_buffer); | 6327 i::Handle<i::JSArrayBuffer> buffer = Utils::OpenHandle(*array_buffer); |
| 6288 | 6328 |
| 6289 ASSERT(byte_offset % sizeof(ElementType) == 0); | 6329 ASSERT(byte_offset % sizeof(ElementType) == 0); |
| 6290 ASSERT(byte_offset + length * sizeof(ElementType) <= | |
| 6291 static_cast<size_t>(buffer->byte_length()->Number())); | |
| 6292 | 6330 |
| 6293 obj->set_buffer(*buffer); | 6331 SetupArrayBufferView( |
| 6332 isolate, obj, buffer, byte_offset, length * sizeof(ElementType)); | |
| 6294 | 6333 |
| 6295 obj->set_weak_next(buffer->weak_first_view()); | 6334 i::Handle<i::Object> length_object = |
| 6296 buffer->set_weak_first_view(*obj); | 6335 isolate->factory()->NewNumberFromSize(length); |
| 6297 | |
| 6298 i::Handle<i::Object> byte_offset_object = isolate->factory()->NewNumber( | |
| 6299 static_cast<double>(byte_offset)); | |
| 6300 obj->set_byte_offset(*byte_offset_object); | |
| 6301 | |
| 6302 i::Handle<i::Object> byte_length_object = isolate->factory()->NewNumber( | |
| 6303 static_cast<double>(length * sizeof(ElementType))); | |
| 6304 obj->set_byte_length(*byte_length_object); | |
| 6305 | |
| 6306 i::Handle<i::Object> length_object = isolate->factory()->NewNumber( | |
| 6307 static_cast<double>(length)); | |
| 6308 obj->set_length(*length_object); | 6336 obj->set_length(*length_object); |
| 6309 | 6337 |
| 6310 i::Handle<i::ExternalArray> elements = | 6338 i::Handle<i::ExternalArray> elements = |
| 6311 isolate->factory()->NewExternalArray( | 6339 isolate->factory()->NewExternalArray( |
| 6312 static_cast<int>(length), array_type, | 6340 static_cast<int>(length), array_type, |
| 6313 static_cast<uint8_t*>(buffer->backing_store()) + byte_offset); | 6341 static_cast<uint8_t*>(buffer->backing_store()) + byte_offset); |
| 6314 obj->set_elements(*elements); | 6342 obj->set_elements(*elements); |
| 6315 return obj; | 6343 return obj; |
| 6316 } | 6344 } |
| 6317 | 6345 |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 6346 i::EXTERNAL_UNSIGNED_INT_ELEMENTS) | 6374 i::EXTERNAL_UNSIGNED_INT_ELEMENTS) |
| 6347 TYPED_ARRAY_NEW(Int32Array, int32_t, kExternalIntArray, | 6375 TYPED_ARRAY_NEW(Int32Array, int32_t, kExternalIntArray, |
| 6348 i::EXTERNAL_INT_ELEMENTS) | 6376 i::EXTERNAL_INT_ELEMENTS) |
| 6349 TYPED_ARRAY_NEW(Float32Array, float, kExternalFloatArray, | 6377 TYPED_ARRAY_NEW(Float32Array, float, kExternalFloatArray, |
| 6350 i::EXTERNAL_FLOAT_ELEMENTS) | 6378 i::EXTERNAL_FLOAT_ELEMENTS) |
| 6351 TYPED_ARRAY_NEW(Float64Array, double, kExternalDoubleArray, | 6379 TYPED_ARRAY_NEW(Float64Array, double, kExternalDoubleArray, |
| 6352 i::EXTERNAL_DOUBLE_ELEMENTS) | 6380 i::EXTERNAL_DOUBLE_ELEMENTS) |
| 6353 | 6381 |
| 6354 #undef TYPED_ARRAY_NEW | 6382 #undef TYPED_ARRAY_NEW |
| 6355 | 6383 |
| 6384 Local<DataView> DataView::New(Handle<ArrayBuffer> array_buffer, | |
| 6385 size_t byte_offset, size_t byte_length) { | |
| 6386 i::Isolate* isolate = i::Isolate::Current(); | |
| 6387 EnsureInitializedForIsolate( | |
| 6388 isolate, "v8::DataView::New(void*, size_t, size_t)"); | |
| 6389 LOG_API(isolate, "v8::DataView::New(void*, size_t. size_t)"); | |
|
Sven Panne
2013/06/24 08:17:54
Nit: comma instead of dot in the message?
| |
| 6390 ENTER_V8(isolate); | |
| 6391 i::Handle<i::JSDataView> obj = isolate->factory()->NewJSDataView(); | |
| 6392 i::Handle<i::JSArrayBuffer> buffer = Utils::OpenHandle(*array_buffer); | |
| 6393 SetupArrayBufferView( | |
| 6394 isolate, obj, buffer, byte_offset, byte_length); | |
| 6395 return Utils::ToLocal(obj); | |
| 6396 } | |
| 6397 | |
| 6356 | 6398 |
| 6357 Local<Symbol> v8::Symbol::New(Isolate* isolate) { | 6399 Local<Symbol> v8::Symbol::New(Isolate* isolate) { |
| 6358 i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate); | 6400 i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate); |
| 6359 EnsureInitializedForIsolate(i_isolate, "v8::Symbol::New()"); | 6401 EnsureInitializedForIsolate(i_isolate, "v8::Symbol::New()"); |
| 6360 LOG_API(i_isolate, "Symbol::New()"); | 6402 LOG_API(i_isolate, "Symbol::New()"); |
| 6361 ENTER_V8(i_isolate); | 6403 ENTER_V8(i_isolate); |
| 6362 i::Handle<i::Symbol> result = i_isolate->factory()->NewSymbol(); | 6404 i::Handle<i::Symbol> result = i_isolate->factory()->NewSymbol(); |
| 6363 return Utils::ToLocal(result); | 6405 return Utils::ToLocal(result); |
| 6364 } | 6406 } |
| 6365 | 6407 |
| (...skipping 1550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7916 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); | 7958 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); |
| 7917 Address callback_address = | 7959 Address callback_address = |
| 7918 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 7960 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
| 7919 VMState<EXTERNAL> state(isolate); | 7961 VMState<EXTERNAL> state(isolate); |
| 7920 ExternalCallbackScope call_scope(isolate, callback_address); | 7962 ExternalCallbackScope call_scope(isolate, callback_address); |
| 7921 return callback(info); | 7963 return callback(info); |
| 7922 } | 7964 } |
| 7923 | 7965 |
| 7924 | 7966 |
| 7925 } } // namespace v8::internal | 7967 } } // namespace v8::internal |
| OLD | NEW |