Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: src/bootstrapper.cc

Issue 2421453002: [wasm] Implement {Compile,Runtime}Error; fix traps from start function (Closed)
Patch Set: Fix merge artefact Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/compiler/wasm-compiler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/bootstrapper.h" 5 #include "src/bootstrapper.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api-natives.h" 8 #include "src/api-natives.h"
9 #include "src/base/ieee754.h" 9 #include "src/base/ieee754.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 factory->empty_string(), DONT_ENUM); 1049 factory->empty_string(), DONT_ENUM);
1050 JSObject::AddProperty(prototype, factory->constructor_string(), error_fun, 1050 JSObject::AddProperty(prototype, factory->constructor_string(), error_fun,
1051 DONT_ENUM); 1051 DONT_ENUM);
1052 1052
1053 if (context_index == Context::ERROR_FUNCTION_INDEX) { 1053 if (context_index == Context::ERROR_FUNCTION_INDEX) {
1054 Handle<JSFunction> to_string_fun = 1054 Handle<JSFunction> to_string_fun =
1055 SimpleInstallFunction(prototype, factory->toString_string(), 1055 SimpleInstallFunction(prototype, factory->toString_string(),
1056 Builtins::kErrorPrototypeToString, 0, true); 1056 Builtins::kErrorPrototypeToString, 0, true);
1057 isolate->native_context()->set_error_to_string(*to_string_fun); 1057 isolate->native_context()->set_error_to_string(*to_string_fun);
1058 } else { 1058 } else {
1059 DCHECK(context_index != Context::ERROR_FUNCTION_INDEX);
1060 DCHECK(isolate->native_context()->error_to_string()->IsJSFunction()); 1059 DCHECK(isolate->native_context()->error_to_string()->IsJSFunction());
1061 1060
1062 InstallFunction(prototype, isolate->error_to_string(), 1061 InstallFunction(prototype, isolate->error_to_string(),
1063 factory->toString_string(), DONT_ENUM); 1062 factory->toString_string(), DONT_ENUM);
1064 1063
1065 Handle<JSFunction> global_error = isolate->error_function(); 1064 Handle<JSFunction> global_error = isolate->error_function();
1066 CHECK(JSReceiver::SetPrototype(error_fun, global_error, false, 1065 CHECK(JSReceiver::SetPrototype(error_fun, global_error, false,
1067 Object::THROW_ON_ERROR) 1066 Object::THROW_ON_ERROR)
1068 .FromMaybe(false)); 1067 .FromMaybe(false));
1069 CHECK(JSReceiver::SetPrototype(prototype, 1068 CHECK(JSReceiver::SetPrototype(prototype,
(...skipping 835 matching lines...) Expand 10 before | Expand all | Expand 10 after
1905 Context::MAKE_TYPE_ERROR_INDEX); 1904 Context::MAKE_TYPE_ERROR_INDEX);
1906 } 1905 }
1907 1906
1908 { // -- U R I E r r o r 1907 { // -- U R I E r r o r
1909 InstallError(isolate, global, factory->URIError_string(), 1908 InstallError(isolate, global, factory->URIError_string(),
1910 Context::URI_ERROR_FUNCTION_INDEX); 1909 Context::URI_ERROR_FUNCTION_INDEX);
1911 InstallMakeError(isolate, isolate->builtins()->MakeURIError(), 1910 InstallMakeError(isolate, isolate->builtins()->MakeURIError(),
1912 Context::MAKE_URI_ERROR_INDEX); 1911 Context::MAKE_URI_ERROR_INDEX);
1913 } 1912 }
1914 1913
1914 { // -- C o m p i l e E r r o r
1915 Handle<JSObject> dummy = factory->NewJSObject(isolate->object_function());
1916 InstallError(isolate, dummy, factory->CompileError_string(),
1917 Context::WASM_COMPILE_ERROR_FUNCTION_INDEX);
1918
1919 // -- R u n t i m e E r r o r
1920 InstallError(isolate, dummy, factory->RuntimeError_string(),
1921 Context::WASM_RUNTIME_ERROR_FUNCTION_INDEX);
1922 }
1923
1915 // Initialize the embedder data slot. 1924 // Initialize the embedder data slot.
1916 Handle<FixedArray> embedder_data = factory->NewFixedArray(3); 1925 Handle<FixedArray> embedder_data = factory->NewFixedArray(3);
1917 native_context()->set_embedder_data(*embedder_data); 1926 native_context()->set_embedder_data(*embedder_data);
1918 1927
1919 { // -- J S O N 1928 { // -- J S O N
1920 Handle<String> name = factory->InternalizeUtf8String("JSON"); 1929 Handle<String> name = factory->InternalizeUtf8String("JSON");
1921 Handle<JSFunction> cons = factory->NewFunction(name); 1930 Handle<JSFunction> cons = factory->NewFunction(name);
1922 JSFunction::SetInstancePrototype(cons, 1931 JSFunction::SetInstancePrototype(cons,
1923 Handle<Object>(native_context()->initial_object_prototype(), isolate)); 1932 Handle<Object>(native_context()->initial_object_prototype(), isolate));
1924 Handle<JSObject> json_object = factory->NewJSObject(cons, TENURED); 1933 Handle<JSObject> json_object = factory->NewJSObject(cons, TENURED);
(...skipping 2508 matching lines...) Expand 10 before | Expand all | Expand 10 after
4433 } 4442 }
4434 4443
4435 4444
4436 // Called when the top-level V8 mutex is destroyed. 4445 // Called when the top-level V8 mutex is destroyed.
4437 void Bootstrapper::FreeThreadResources() { 4446 void Bootstrapper::FreeThreadResources() {
4438 DCHECK(!IsActive()); 4447 DCHECK(!IsActive());
4439 } 4448 }
4440 4449
4441 } // namespace internal 4450 } // namespace internal
4442 } // namespace v8 4451 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/wasm-compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698