| 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 3111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3122 } | 3122 } |
| 3123 | 3123 |
| 3124 | 3124 |
| 3125 Local<Value> v8::Object::GetPrivate(v8::Handle<Private> key) { | 3125 Local<Value> v8::Object::GetPrivate(v8::Handle<Private> key) { |
| 3126 return Get(v8::Handle<Value>(reinterpret_cast<Value*>(*key))); | 3126 return Get(v8::Handle<Value>(reinterpret_cast<Value*>(*key))); |
| 3127 } | 3127 } |
| 3128 | 3128 |
| 3129 | 3129 |
| 3130 PropertyAttribute v8::Object::GetPropertyAttributes(v8::Handle<Value> key) { | 3130 PropertyAttribute v8::Object::GetPropertyAttributes(v8::Handle<Value> key) { |
| 3131 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); | 3131 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); |
| 3132 ON_BAILOUT(isolate, "v8::Object::GetPropertyAttribute()", | 3132 ON_BAILOUT(isolate, "v8::Object::GetPropertyAttributes()", |
| 3133 return static_cast<PropertyAttribute>(NONE)); | 3133 return static_cast<PropertyAttribute>(NONE)); |
| 3134 ENTER_V8(isolate); | 3134 ENTER_V8(isolate); |
| 3135 i::HandleScope scope(isolate); | 3135 i::HandleScope scope(isolate); |
| 3136 i::Handle<i::JSObject> self = Utils::OpenHandle(this); | 3136 i::Handle<i::JSObject> self = Utils::OpenHandle(this); |
| 3137 i::Handle<i::Object> key_obj = Utils::OpenHandle(*key); | 3137 i::Handle<i::Object> key_obj = Utils::OpenHandle(*key); |
| 3138 if (!key_obj->IsName()) { | 3138 if (!key_obj->IsName()) { |
| 3139 EXCEPTION_PREAMBLE(isolate); | 3139 EXCEPTION_PREAMBLE(isolate); |
| 3140 has_pending_exception = !i::Execution::ToString( | 3140 has_pending_exception = !i::Execution::ToString( |
| 3141 isolate, key_obj).ToHandle(&key_obj); | 3141 isolate, key_obj).ToHandle(&key_obj); |
| 3142 EXCEPTION_BAILOUT_CHECK(isolate, static_cast<PropertyAttribute>(NONE)); | 3142 EXCEPTION_BAILOUT_CHECK(isolate, static_cast<PropertyAttribute>(NONE)); |
| 3143 } | 3143 } |
| 3144 i::Handle<i::Name> key_name = i::Handle<i::Name>::cast(key_obj); | 3144 i::Handle<i::Name> key_name = i::Handle<i::Name>::cast(key_obj); |
| 3145 PropertyAttributes result = | 3145 PropertyAttributes result = |
| 3146 i::JSReceiver::GetPropertyAttribute(self, key_name); | 3146 i::JSReceiver::GetPropertyAttributes(self, key_name); |
| 3147 if (result == ABSENT) return static_cast<PropertyAttribute>(NONE); | 3147 if (result == ABSENT) return static_cast<PropertyAttribute>(NONE); |
| 3148 return static_cast<PropertyAttribute>(result); | 3148 return static_cast<PropertyAttribute>(result); |
| 3149 } | 3149 } |
| 3150 | 3150 |
| 3151 | 3151 |
| 3152 Local<Value> v8::Object::GetPrototype() { | 3152 Local<Value> v8::Object::GetPrototype() { |
| 3153 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); | 3153 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); |
| 3154 ON_BAILOUT(isolate, "v8::Object::GetPrototype()", return Local<v8::Value>()); | 3154 ON_BAILOUT(isolate, "v8::Object::GetPrototype()", return Local<v8::Value>()); |
| 3155 ENTER_V8(isolate); | 3155 ENTER_V8(isolate); |
| 3156 i::Handle<i::Object> self = Utils::OpenHandle(this); | 3156 i::Handle<i::Object> self = Utils::OpenHandle(this); |
| (...skipping 4422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7579 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); | 7579 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); |
| 7580 Address callback_address = | 7580 Address callback_address = |
| 7581 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 7581 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
| 7582 VMState<EXTERNAL> state(isolate); | 7582 VMState<EXTERNAL> state(isolate); |
| 7583 ExternalCallbackScope call_scope(isolate, callback_address); | 7583 ExternalCallbackScope call_scope(isolate, callback_address); |
| 7584 callback(info); | 7584 callback(info); |
| 7585 } | 7585 } |
| 7586 | 7586 |
| 7587 | 7587 |
| 7588 } } // namespace v8::internal | 7588 } } // namespace v8::internal |
| OLD | NEW |