| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 <memory> | 5 #include <memory> |
| 6 | 6 |
| 7 #include "src/assembler-inl.h" | 7 #include "src/assembler-inl.h" |
| 8 #include "src/base/adapters.h" | 8 #include "src/base/adapters.h" |
| 9 #include "src/base/atomic-utils.h" | 9 #include "src/base/atomic-utils.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 2665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2676 return helper.Build(); | 2676 return helper.Build(); |
| 2677 } | 2677 } |
| 2678 | 2678 |
| 2679 namespace { | 2679 namespace { |
| 2680 | 2680 |
| 2681 void RejectPromise(Isolate* isolate, ErrorThrower* thrower, | 2681 void RejectPromise(Isolate* isolate, ErrorThrower* thrower, |
| 2682 Handle<JSPromise> promise) { | 2682 Handle<JSPromise> promise) { |
| 2683 v8::Local<v8::Promise::Resolver> resolver = | 2683 v8::Local<v8::Promise::Resolver> resolver = |
| 2684 v8::Utils::PromiseToLocal(promise).As<v8::Promise::Resolver>(); | 2684 v8::Utils::PromiseToLocal(promise).As<v8::Promise::Resolver>(); |
| 2685 Handle<Context> context(isolate->context(), isolate); | 2685 Handle<Context> context(isolate->context(), isolate); |
| 2686 resolver->Reject(v8::Utils::ToLocal(context), | 2686 auto maybe = resolver->Reject(v8::Utils::ToLocal(context), |
| 2687 v8::Utils::ToLocal(thrower->Reify())); | 2687 v8::Utils::ToLocal(thrower->Reify())); |
| 2688 CHECK(!maybe.IsNothing()); |
| 2688 } | 2689 } |
| 2689 | 2690 |
| 2690 void ResolvePromise(Isolate* isolate, Handle<JSPromise> promise, | 2691 void ResolvePromise(Isolate* isolate, Handle<JSPromise> promise, |
| 2691 Handle<Object> result) { | 2692 Handle<Object> result) { |
| 2692 v8::Local<v8::Promise::Resolver> resolver = | 2693 v8::Local<v8::Promise::Resolver> resolver = |
| 2693 v8::Utils::PromiseToLocal(promise).As<v8::Promise::Resolver>(); | 2694 v8::Utils::PromiseToLocal(promise).As<v8::Promise::Resolver>(); |
| 2694 Handle<Context> context(isolate->context(), isolate); | 2695 Handle<Context> context(isolate->context(), isolate); |
| 2695 resolver->Resolve(v8::Utils::ToLocal(context), v8::Utils::ToLocal(result)); | 2696 auto maybe = resolver->Resolve(v8::Utils::ToLocal(context), |
| 2697 v8::Utils::ToLocal(result)); |
| 2698 CHECK(!maybe.IsNothing()); |
| 2696 } | 2699 } |
| 2697 | 2700 |
| 2698 } // namespace | 2701 } // namespace |
| 2699 | 2702 |
| 2700 void wasm::AsyncCompile(Isolate* isolate, Handle<JSPromise> promise, | 2703 void wasm::AsyncCompile(Isolate* isolate, Handle<JSPromise> promise, |
| 2701 const ModuleWireBytes& bytes) { | 2704 const ModuleWireBytes& bytes) { |
| 2702 ErrorThrower thrower(isolate, nullptr); | 2705 ErrorThrower thrower(isolate, nullptr); |
| 2703 MaybeHandle<WasmModuleObject> module_object = | 2706 MaybeHandle<WasmModuleObject> module_object = |
| 2704 SyncCompile(isolate, &thrower, bytes); | 2707 SyncCompile(isolate, &thrower, bytes); |
| 2705 if (thrower.error()) { | 2708 if (thrower.error()) { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2752 Handle<String> module_property_name = | 2755 Handle<String> module_property_name = |
| 2753 isolate->factory()->InternalizeUtf8String("module"); | 2756 isolate->factory()->InternalizeUtf8String("module"); |
| 2754 Handle<String> instance_property_name = | 2757 Handle<String> instance_property_name = |
| 2755 isolate->factory()->InternalizeUtf8String("instance"); | 2758 isolate->factory()->InternalizeUtf8String("instance"); |
| 2756 JSObject::AddProperty(ret, module_property_name, module, NONE); | 2759 JSObject::AddProperty(ret, module_property_name, module, NONE); |
| 2757 JSObject::AddProperty(ret, instance_property_name, | 2760 JSObject::AddProperty(ret, instance_property_name, |
| 2758 instance_object.ToHandleChecked(), NONE); | 2761 instance_object.ToHandleChecked(), NONE); |
| 2759 | 2762 |
| 2760 ResolvePromise(isolate, promise, ret); | 2763 ResolvePromise(isolate, promise, ret); |
| 2761 } | 2764 } |
| OLD | NEW |