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 1894 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1905 Handle<WasmCompiledModule> compiled_module) { | 1905 Handle<WasmCompiledModule> compiled_module) { |
1906 if (NeedsWrappers()) { | 1906 if (NeedsWrappers()) { |
1907 // Fill the table to cache the exported JSFunction wrappers. | 1907 // Fill the table to cache the exported JSFunction wrappers. |
1908 js_wrappers_.insert(js_wrappers_.begin(), module_->functions.size(), | 1908 js_wrappers_.insert(js_wrappers_.begin(), module_->functions.size(), |
1909 Handle<JSFunction>::null()); | 1909 Handle<JSFunction>::null()); |
1910 } | 1910 } |
1911 | 1911 |
1912 Handle<JSObject> exports_object = instance; | 1912 Handle<JSObject> exports_object = instance; |
1913 if (module_->origin == kWasmOrigin) { | 1913 if (module_->origin == kWasmOrigin) { |
1914 // Create the "exports" object. | 1914 // Create the "exports" object. |
1915 Handle<JSFunction> object_function = Handle<JSFunction>( | 1915 exports_object = isolate_->factory()->NewJSObjectWithNullProto(); |
1916 isolate_->native_context()->object_function(), isolate_); | |
1917 exports_object = | |
1918 isolate_->factory()->NewJSObject(object_function, TENURED); | |
1919 Handle<String> exports_name = | 1916 Handle<String> exports_name = |
1920 isolate_->factory()->InternalizeUtf8String("exports"); | 1917 isolate_->factory()->InternalizeUtf8String("exports"); |
1921 JSObject::AddProperty(instance, exports_name, exports_object, NONE); | 1918 JSObject::AddProperty(instance, exports_name, exports_object, NONE); |
1922 } | 1919 } |
1923 | 1920 |
1924 PropertyDescriptor desc; | 1921 PropertyDescriptor desc; |
1925 desc.set_writable(false); | 1922 desc.set_writable(false); |
1926 desc.set_enumerable(true); | 1923 desc.set_enumerable(true); |
1927 | 1924 |
1928 // Count up export indexes. | 1925 // Count up export indexes. |
(...skipping 828 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2757 Handle<FixedArray> storage = factory->NewFixedArray(num_custom_sections); | 2754 Handle<FixedArray> storage = factory->NewFixedArray(num_custom_sections); |
2758 JSArray::SetContent(array_object, storage); | 2755 JSArray::SetContent(array_object, storage); |
2759 array_object->set_length(Smi::FromInt(num_custom_sections)); | 2756 array_object->set_length(Smi::FromInt(num_custom_sections)); |
2760 | 2757 |
2761 for (int i = 0; i < num_custom_sections; i++) { | 2758 for (int i = 0; i < num_custom_sections; i++) { |
2762 storage->set(i, *matching_sections[i]); | 2759 storage->set(i, *matching_sections[i]); |
2763 } | 2760 } |
2764 | 2761 |
2765 return array_object; | 2762 return array_object; |
2766 } | 2763 } |
OLD | NEW |