Chromium Code Reviews| Index: src/bootstrapper.cc |
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
| index 9d2fc4368a60b2e4b5cd194007bfb8b93fda727d..87cd0d4a0cca13da51dd2134e55dd7b1fd9b81b7 100644 |
| --- a/src/bootstrapper.cc |
| +++ b/src/bootstrapper.cc |
| @@ -2107,14 +2107,12 @@ bool Genesis::InstallNatives() { |
| } |
| // Install natives. |
| - for (int i = Natives::GetDebuggerCount(); |
| - i < Natives::GetBuiltinsCount(); |
| - i++) { |
| + int i = Natives::GetDebuggerCount(); |
| + if (!CompileBuiltin(isolate(), i)) return false; |
| + if (!InstallJSBuiltins(builtins)) return false; |
| + |
| + for (++i; i < Natives::GetBuiltinsCount(); ++i) { |
| if (!CompileBuiltin(isolate(), i)) return false; |
| - // TODO(ager): We really only need to install the JS builtin |
| - // functions on the builtins object after compiling and running |
| - // runtime.js. |
| - if (!InstallJSBuiltins(builtins)) return false; |
| } |
| InstallNativeFunctions(); |
| @@ -2610,15 +2608,7 @@ bool Genesis::InstallJSBuiltins(Handle<JSBuiltinsObject> builtins) { |
| Handle<Object> function_object = Object::GetProperty( |
| isolate(), builtins, Builtins::GetName(id)).ToHandleChecked(); |
| Handle<JSFunction> function = Handle<JSFunction>::cast(function_object); |
| - // TODO(mstarzinger): This is just a temporary hack to make TurboFan work, |
|
Michael Starzinger
2015/03/06 13:15:47
Woot! Taking care of my TODOs like a boss, by revi
Yang
2015/03/06 14:25:50
:)
|
| - // the correct solution is to restore the context register after invoking |
| - // builtins from full-codegen. |
| - function->shared()->DisableOptimization(kBuiltinFunctionCannotBeOptimized); |
| builtins->set_javascript_builtin(id, *function); |
| - if (!Compiler::EnsureCompiled(function, CLEAR_EXCEPTION)) { |
| - return false; |
| - } |
| - builtins->set_javascript_builtin_code(id, function->shared()->code()); |
| } |
| return true; |
| } |