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/isolate-inl.h" | 8 #include "src/isolate-inl.h" |
9 #include "src/natives.h" | 9 #include "src/natives.h" |
10 #include "src/snapshot.h" | 10 #include "src/snapshot.h" |
(...skipping 1727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1738 // Builtin functions for Script. | 1738 // Builtin functions for Script. |
1739 Handle<JSFunction> script_fun = InstallFunction( | 1739 Handle<JSFunction> script_fun = InstallFunction( |
1740 builtins, "Script", JS_VALUE_TYPE, JSValue::kSize, | 1740 builtins, "Script", JS_VALUE_TYPE, JSValue::kSize, |
1741 isolate()->initial_object_prototype(), Builtins::kIllegal); | 1741 isolate()->initial_object_prototype(), Builtins::kIllegal); |
1742 Handle<JSObject> prototype = | 1742 Handle<JSObject> prototype = |
1743 factory()->NewJSObject(isolate()->object_function(), TENURED); | 1743 factory()->NewJSObject(isolate()->object_function(), TENURED); |
1744 Accessors::FunctionSetPrototype(script_fun, prototype); | 1744 Accessors::FunctionSetPrototype(script_fun, prototype); |
1745 native_context()->set_script_function(*script_fun); | 1745 native_context()->set_script_function(*script_fun); |
1746 | 1746 |
1747 Handle<Map> script_map = Handle<Map>(script_fun->initial_map()); | 1747 Handle<Map> script_map = Handle<Map>(script_fun->initial_map()); |
1748 Map::EnsureDescriptorSlack(script_map, 13); | 1748 Map::EnsureDescriptorSlack(script_map, 14); |
1749 | 1749 |
1750 PropertyAttributes attribs = | 1750 PropertyAttributes attribs = |
1751 static_cast<PropertyAttributes>(DONT_ENUM | DONT_DELETE | READ_ONLY); | 1751 static_cast<PropertyAttributes>(DONT_ENUM | DONT_DELETE | READ_ONLY); |
1752 | 1752 |
1753 Handle<AccessorInfo> script_column = | 1753 Handle<AccessorInfo> script_column = |
1754 Accessors::ScriptColumnOffsetInfo(isolate(), attribs); | 1754 Accessors::ScriptColumnOffsetInfo(isolate(), attribs); |
1755 { | 1755 { |
1756 CallbacksDescriptor d(Handle<Name>(Name::cast(script_column->name())), | 1756 CallbacksDescriptor d(Handle<Name>(Name::cast(script_column->name())), |
1757 script_column, attribs); | 1757 script_column, attribs); |
1758 script_map->AppendDescriptor(&d); | 1758 script_map->AppendDescriptor(&d); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1845 | 1845 |
1846 Handle<AccessorInfo> script_eval_from_function_name = | 1846 Handle<AccessorInfo> script_eval_from_function_name = |
1847 Accessors::ScriptEvalFromFunctionNameInfo(isolate(), attribs); | 1847 Accessors::ScriptEvalFromFunctionNameInfo(isolate(), attribs); |
1848 { | 1848 { |
1849 CallbacksDescriptor d( | 1849 CallbacksDescriptor d( |
1850 Handle<Name>(Name::cast(script_eval_from_function_name->name())), | 1850 Handle<Name>(Name::cast(script_eval_from_function_name->name())), |
1851 script_eval_from_function_name, attribs); | 1851 script_eval_from_function_name, attribs); |
1852 script_map->AppendDescriptor(&d); | 1852 script_map->AppendDescriptor(&d); |
1853 } | 1853 } |
1854 | 1854 |
| 1855 Handle<AccessorInfo> script_source_url = |
| 1856 Accessors::ScriptSourceUrlInfo(isolate(), attribs); |
| 1857 { |
| 1858 CallbacksDescriptor d(Handle<Name>(Name::cast(script_source_url->name())), |
| 1859 script_source_url, attribs); |
| 1860 script_map->AppendDescriptor(&d); |
| 1861 } |
| 1862 |
| 1863 Handle<AccessorInfo> script_source_mapping_url = |
| 1864 Accessors::ScriptSourceMappingUrlInfo(isolate(), attribs); |
| 1865 { |
| 1866 CallbacksDescriptor d( |
| 1867 Handle<Name>(Name::cast(script_source_mapping_url->name())), |
| 1868 script_source_mapping_url, attribs); |
| 1869 script_map->AppendDescriptor(&d); |
| 1870 } |
| 1871 |
1855 // Allocate the empty script. | 1872 // Allocate the empty script. |
1856 Handle<Script> script = factory()->NewScript(factory()->empty_string()); | 1873 Handle<Script> script = factory()->NewScript(factory()->empty_string()); |
1857 script->set_type(Smi::FromInt(Script::TYPE_NATIVE)); | 1874 script->set_type(Smi::FromInt(Script::TYPE_NATIVE)); |
1858 heap()->public_set_empty_script(*script); | 1875 heap()->public_set_empty_script(*script); |
1859 } | 1876 } |
1860 { | 1877 { |
1861 // Builtin function for OpaqueReference -- a JSValue-based object, | 1878 // Builtin function for OpaqueReference -- a JSValue-based object, |
1862 // that keeps its field isolated from JavaScript code. It may store | 1879 // that keeps its field isolated from JavaScript code. It may store |
1863 // objects, that JavaScript code may not access. | 1880 // objects, that JavaScript code may not access. |
1864 Handle<JSFunction> opaque_reference_fun = InstallFunction( | 1881 Handle<JSFunction> opaque_reference_fun = InstallFunction( |
(...skipping 853 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2718 return from + sizeof(NestingCounterType); | 2735 return from + sizeof(NestingCounterType); |
2719 } | 2736 } |
2720 | 2737 |
2721 | 2738 |
2722 // Called when the top-level V8 mutex is destroyed. | 2739 // Called when the top-level V8 mutex is destroyed. |
2723 void Bootstrapper::FreeThreadResources() { | 2740 void Bootstrapper::FreeThreadResources() { |
2724 ASSERT(!IsActive()); | 2741 ASSERT(!IsActive()); |
2725 } | 2742 } |
2726 | 2743 |
2727 } } // namespace v8::internal | 2744 } } // namespace v8::internal |
OLD | NEW |