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/base/utils/random-number-generator.h" | 9 #include "src/base/utils/random-number-generator.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 1506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1517 } | 1517 } |
1518 | 1518 |
1519 | 1519 |
1520 bool Genesis::CallUtilsFunction(Isolate* isolate, const char* name) { | 1520 bool Genesis::CallUtilsFunction(Isolate* isolate, const char* name) { |
1521 Handle<JSObject> utils = | 1521 Handle<JSObject> utils = |
1522 Handle<JSObject>::cast(isolate->natives_utils_object()); | 1522 Handle<JSObject>::cast(isolate->natives_utils_object()); |
1523 Handle<String> name_string = | 1523 Handle<String> name_string = |
1524 isolate->factory()->NewStringFromAsciiChecked(name); | 1524 isolate->factory()->NewStringFromAsciiChecked(name); |
1525 Handle<Object> fun = JSObject::GetDataProperty(utils, name_string); | 1525 Handle<Object> fun = JSObject::GetDataProperty(utils, name_string); |
1526 Handle<Object> receiver = isolate->factory()->undefined_value(); | 1526 Handle<Object> receiver = isolate->factory()->undefined_value(); |
1527 Handle<Object> args[] = {utils}; | 1527 return !Execution::Call(isolate, fun, receiver, 0, NULL).is_null(); |
1528 return !Execution::Call(isolate, fun, receiver, 1, args).is_null(); | |
1529 } | 1528 } |
1530 | 1529 |
1531 | 1530 |
1532 bool Genesis::CompileExtension(Isolate* isolate, v8::Extension* extension) { | 1531 bool Genesis::CompileExtension(Isolate* isolate, v8::Extension* extension) { |
1533 Factory* factory = isolate->factory(); | 1532 Factory* factory = isolate->factory(); |
1534 HandleScope scope(isolate); | 1533 HandleScope scope(isolate); |
1535 Handle<SharedFunctionInfo> function_info; | 1534 Handle<SharedFunctionInfo> function_info; |
1536 | 1535 |
1537 Handle<String> source = | 1536 Handle<String> source = |
1538 isolate->factory() | 1537 isolate->factory() |
(...skipping 878 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2417 if (!CompileExperimentalBuiltin(isolate(), i)) return false; \ | 2416 if (!CompileExperimentalBuiltin(isolate(), i)) return false; \ |
2418 } \ | 2417 } \ |
2419 } \ | 2418 } \ |
2420 } | 2419 } |
2421 HARMONY_INPROGRESS(INSTALL_EXPERIMENTAL_NATIVES); | 2420 HARMONY_INPROGRESS(INSTALL_EXPERIMENTAL_NATIVES); |
2422 HARMONY_STAGED(INSTALL_EXPERIMENTAL_NATIVES); | 2421 HARMONY_STAGED(INSTALL_EXPERIMENTAL_NATIVES); |
2423 HARMONY_SHIPPING(INSTALL_EXPERIMENTAL_NATIVES); | 2422 HARMONY_SHIPPING(INSTALL_EXPERIMENTAL_NATIVES); |
2424 #undef INSTALL_EXPERIMENTAL_NATIVES | 2423 #undef INSTALL_EXPERIMENTAL_NATIVES |
2425 } | 2424 } |
2426 | 2425 |
2427 CallUtilsFunction(isolate(), "PostExperimentals"); | |
2428 | |
2429 InstallExperimentalNativeFunctions(); | 2426 InstallExperimentalNativeFunctions(); |
2430 return true; | 2427 return true; |
2431 } | 2428 } |
2432 | 2429 |
2433 | 2430 |
2434 bool Genesis::InstallExtraNatives() { | 2431 bool Genesis::InstallExtraNatives() { |
2435 for (int i = ExtraNatives::GetDebuggerCount(); | 2432 for (int i = ExtraNatives::GetDebuggerCount(); |
2436 i < ExtraNatives::GetBuiltinsCount(); i++) { | 2433 i < ExtraNatives::GetBuiltinsCount(); i++) { |
2437 if (!CompileExtraBuiltin(isolate(), i)) return false; | 2434 if (!CompileExtraBuiltin(isolate(), i)) return false; |
2438 } | 2435 } |
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3048 return from + sizeof(NestingCounterType); | 3045 return from + sizeof(NestingCounterType); |
3049 } | 3046 } |
3050 | 3047 |
3051 | 3048 |
3052 // Called when the top-level V8 mutex is destroyed. | 3049 // Called when the top-level V8 mutex is destroyed. |
3053 void Bootstrapper::FreeThreadResources() { | 3050 void Bootstrapper::FreeThreadResources() { |
3054 DCHECK(!IsActive()); | 3051 DCHECK(!IsActive()); |
3055 } | 3052 } |
3056 | 3053 |
3057 } } // namespace v8::internal | 3054 } } // namespace v8::internal |
OLD | NEW |