| OLD | NEW |
| 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/code-stubs.h" | 9 #include "src/code-stubs.h" |
| 10 #include "src/extensions/externalize-string-extension.h" | 10 #include "src/extensions/externalize-string-extension.h" |
| (...skipping 1099 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1110 global_object, object_name, isolate->object_function(), DONT_ENUM); | 1110 global_object, object_name, isolate->object_function(), DONT_ENUM); |
| 1111 SimpleInstallFunction(isolate->object_function(), | 1111 SimpleInstallFunction(isolate->object_function(), |
| 1112 isolate->factory()->InternalizeUtf8String("assign"), | 1112 isolate->factory()->InternalizeUtf8String("assign"), |
| 1113 Builtins::kObjectAssign, 2, false); | 1113 Builtins::kObjectAssign, 2, false); |
| 1114 | 1114 |
| 1115 Handle<JSObject> global(native_context()->global_object()); | 1115 Handle<JSObject> global(native_context()->global_object()); |
| 1116 | 1116 |
| 1117 { // --- F u n c t i o n --- | 1117 { // --- F u n c t i o n --- |
| 1118 Handle<JSFunction> function_function = | 1118 Handle<JSFunction> function_function = |
| 1119 InstallFunction(global, "Function", JS_FUNCTION_TYPE, JSFunction::kSize, | 1119 InstallFunction(global, "Function", JS_FUNCTION_TYPE, JSFunction::kSize, |
| 1120 empty_function, Builtins::kIllegal); | 1120 empty_function, Builtins::kFunctionConstructor); |
| 1121 function_function->set_prototype_or_initial_map( | 1121 function_function->set_prototype_or_initial_map( |
| 1122 *sloppy_function_map_writable_prototype_); | 1122 *sloppy_function_map_writable_prototype_); |
| 1123 function_function->shared()->DontAdaptArguments(); |
| 1123 function_function->shared()->set_construct_stub( | 1124 function_function->shared()->set_construct_stub( |
| 1124 *isolate->builtins()->JSBuiltinsConstructStub()); | 1125 *isolate->builtins()->FunctionConstructor()); |
| 1126 function_function->shared()->set_length(1); |
| 1125 InstallWithIntrinsicDefaultProto(isolate, function_function, | 1127 InstallWithIntrinsicDefaultProto(isolate, function_function, |
| 1126 Context::FUNCTION_FUNCTION_INDEX); | 1128 Context::FUNCTION_FUNCTION_INDEX); |
| 1127 | 1129 |
| 1128 sloppy_function_map_writable_prototype_->SetConstructor(*function_function); | 1130 sloppy_function_map_writable_prototype_->SetConstructor(*function_function); |
| 1129 strict_function_map_writable_prototype_->SetConstructor(*function_function); | 1131 strict_function_map_writable_prototype_->SetConstructor(*function_function); |
| 1130 native_context()->strong_function_map()->SetConstructor(*function_function); | 1132 native_context()->strong_function_map()->SetConstructor(*function_function); |
| 1131 } | 1133 } |
| 1132 | 1134 |
| 1133 { // --- A r r a y --- | 1135 { // --- A r r a y --- |
| 1134 Handle<JSFunction> array_function = | 1136 Handle<JSFunction> array_function = |
| (...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1902 | 1904 |
| 1903 { | 1905 { |
| 1904 PrototypeIterator iter(native_context->sloppy_generator_function_map()); | 1906 PrototypeIterator iter(native_context->sloppy_generator_function_map()); |
| 1905 Handle<JSObject> generator_function_prototype(iter.GetCurrent<JSObject>()); | 1907 Handle<JSObject> generator_function_prototype(iter.GetCurrent<JSObject>()); |
| 1906 | 1908 |
| 1907 JSObject::AddProperty( | 1909 JSObject::AddProperty( |
| 1908 container, factory->InternalizeUtf8String("GeneratorFunctionPrototype"), | 1910 container, factory->InternalizeUtf8String("GeneratorFunctionPrototype"), |
| 1909 generator_function_prototype, NONE); | 1911 generator_function_prototype, NONE); |
| 1910 | 1912 |
| 1911 static const bool kUseStrictFunctionMap = true; | 1913 static const bool kUseStrictFunctionMap = true; |
| 1912 Handle<JSFunction> generator_function_function = | 1914 Handle<JSFunction> generator_function_function = InstallFunction( |
| 1913 InstallFunction(container, "GeneratorFunction", JS_FUNCTION_TYPE, | 1915 container, "GeneratorFunction", JS_FUNCTION_TYPE, JSFunction::kSize, |
| 1914 JSFunction::kSize, generator_function_prototype, | 1916 generator_function_prototype, Builtins::kGeneratorFunctionConstructor, |
| 1915 Builtins::kIllegal, kUseStrictFunctionMap); | 1917 kUseStrictFunctionMap); |
| 1916 generator_function_function->set_prototype_or_initial_map( | 1918 generator_function_function->set_prototype_or_initial_map( |
| 1917 native_context->sloppy_generator_function_map()); | 1919 native_context->sloppy_generator_function_map()); |
| 1920 generator_function_function->shared()->DontAdaptArguments(); |
| 1918 generator_function_function->shared()->set_construct_stub( | 1921 generator_function_function->shared()->set_construct_stub( |
| 1919 *isolate->builtins()->JSBuiltinsConstructStub()); | 1922 *isolate->builtins()->GeneratorFunctionConstructor()); |
| 1923 generator_function_function->shared()->set_length(1); |
| 1920 InstallWithIntrinsicDefaultProto( | 1924 InstallWithIntrinsicDefaultProto( |
| 1921 isolate, generator_function_function, | 1925 isolate, generator_function_function, |
| 1922 Context::GENERATOR_FUNCTION_FUNCTION_INDEX); | 1926 Context::GENERATOR_FUNCTION_FUNCTION_INDEX); |
| 1923 | 1927 |
| 1924 native_context->sloppy_generator_function_map()->SetConstructor( | 1928 native_context->sloppy_generator_function_map()->SetConstructor( |
| 1925 *generator_function_function); | 1929 *generator_function_function); |
| 1926 native_context->strict_generator_function_map()->SetConstructor( | 1930 native_context->strict_generator_function_map()->SetConstructor( |
| 1927 *generator_function_function); | 1931 *generator_function_function); |
| 1928 native_context->strong_generator_function_map()->SetConstructor( | 1932 native_context->strong_generator_function_map()->SetConstructor( |
| 1929 *generator_function_function); | 1933 *generator_function_function); |
| (...skipping 1419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3349 } | 3353 } |
| 3350 | 3354 |
| 3351 | 3355 |
| 3352 // Called when the top-level V8 mutex is destroyed. | 3356 // Called when the top-level V8 mutex is destroyed. |
| 3353 void Bootstrapper::FreeThreadResources() { | 3357 void Bootstrapper::FreeThreadResources() { |
| 3354 DCHECK(!IsActive()); | 3358 DCHECK(!IsActive()); |
| 3355 } | 3359 } |
| 3356 | 3360 |
| 3357 } // namespace internal | 3361 } // namespace internal |
| 3358 } // namespace v8 | 3362 } // namespace v8 |
| OLD | NEW |