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 3684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3695 auto isolate = Utils::OpenHandle(this)->GetIsolate(); | 3695 auto isolate = Utils::OpenHandle(this)->GetIsolate(); |
3696 i::PrototypeIterator iter(isolate, *Utils::OpenHandle(this), | 3696 i::PrototypeIterator iter(isolate, *Utils::OpenHandle(this), |
3697 i::PrototypeIterator::START_AT_RECEIVER); | 3697 i::PrototypeIterator::START_AT_RECEIVER); |
3698 auto tmpl_info = *Utils::OpenHandle(*tmpl); | 3698 auto tmpl_info = *Utils::OpenHandle(*tmpl); |
3699 while (!tmpl_info->IsTemplateFor(iter.GetCurrent())) { | 3699 while (!tmpl_info->IsTemplateFor(iter.GetCurrent())) { |
3700 iter.Advance(); | 3700 iter.Advance(); |
3701 if (iter.IsAtEnd()) { | 3701 if (iter.IsAtEnd()) { |
3702 return Local<Object>(); | 3702 return Local<Object>(); |
3703 } | 3703 } |
3704 } | 3704 } |
3705 return Utils::ToLocal( | 3705 return Utils::ToLocal(i::handle(iter.GetCurrent<i::JSObject>(), isolate)); |
3706 i::handle(i::JSObject::cast(iter.GetCurrent()), isolate)); | |
3707 } | 3706 } |
3708 | 3707 |
3709 | 3708 |
3710 MaybeLocal<Array> v8::Object::GetPropertyNames(Local<Context> context) { | 3709 MaybeLocal<Array> v8::Object::GetPropertyNames(Local<Context> context) { |
3711 PREPARE_FOR_EXECUTION(context, "v8::Object::GetPropertyNames()", Array); | 3710 PREPARE_FOR_EXECUTION(context, "v8::Object::GetPropertyNames()", Array); |
3712 auto self = Utils::OpenHandle(this); | 3711 auto self = Utils::OpenHandle(this); |
3713 i::Handle<i::FixedArray> value; | 3712 i::Handle<i::FixedArray> value; |
3714 has_pending_exception = !i::JSReceiver::GetKeys( | 3713 has_pending_exception = !i::JSReceiver::GetKeys( |
3715 self, i::JSReceiver::INCLUDE_PROTOS).ToHandle(&value); | 3714 self, i::JSReceiver::INCLUDE_PROTOS).ToHandle(&value); |
3716 RETURN_ON_FAILED_EXECUTION(Array); | 3715 RETURN_ON_FAILED_EXECUTION(Array); |
(...skipping 4686 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8403 Address callback_address = | 8402 Address callback_address = |
8404 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 8403 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
8405 VMState<EXTERNAL> state(isolate); | 8404 VMState<EXTERNAL> state(isolate); |
8406 ExternalCallbackScope call_scope(isolate, callback_address); | 8405 ExternalCallbackScope call_scope(isolate, callback_address); |
8407 callback(info); | 8406 callback(info); |
8408 } | 8407 } |
8409 | 8408 |
8410 | 8409 |
8411 } // namespace internal | 8410 } // namespace internal |
8412 } // namespace v8 | 8411 } // namespace v8 |
OLD | NEW |