| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/compiler.h" | 5 #include "src/compiler.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "src/ast/ast-numbering.h" | 9 #include "src/ast/ast-numbering.h" |
| 10 #include "src/ast/prettyprinter.h" | 10 #include "src/ast/prettyprinter.h" |
| (...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 832 CanonicalHandleScope canonical(isolate); | 832 CanonicalHandleScope canonical(isolate); |
| 833 TimerEventScope<TimerEventOptimizeCode> optimize_code_timer(isolate); | 833 TimerEventScope<TimerEventOptimizeCode> optimize_code_timer(isolate); |
| 834 TRACE_EVENT0("v8", "V8.OptimizeCode"); | 834 TRACE_EVENT0("v8", "V8.OptimizeCode"); |
| 835 | 835 |
| 836 bool use_turbofan = UseTurboFan(info.get()); | 836 bool use_turbofan = UseTurboFan(info.get()); |
| 837 base::SmartPointer<CompilationJob> job( | 837 base::SmartPointer<CompilationJob> job( |
| 838 use_turbofan ? compiler::Pipeline::NewCompilationJob(info.get()) | 838 use_turbofan ? compiler::Pipeline::NewCompilationJob(info.get()) |
| 839 : new HCompilationJob(info.get())); | 839 : new HCompilationJob(info.get())); |
| 840 | 840 |
| 841 // TruboFan can optimize directly from existing bytecode. | 841 // TruboFan can optimize directly from existing bytecode. |
| 842 if (use_turbofan && info->shared_info()->HasBytecodeArray()) { | 842 if (FLAG_turbo_from_bytecode && use_turbofan && |
| 843 info->shared_info()->HasBytecodeArray()) { |
| 843 info->MarkAsOptimizeFromBytecode(); | 844 info->MarkAsOptimizeFromBytecode(); |
| 844 } | 845 } |
| 845 | 846 |
| 846 if (mode == Compiler::CONCURRENT) { | 847 if (mode == Compiler::CONCURRENT) { |
| 847 if (GetOptimizedCodeLater(job.get())) { | 848 if (GetOptimizedCodeLater(job.get())) { |
| 848 info.Detach(); // The background recompile job owns this now. | 849 info.Detach(); // The background recompile job owns this now. |
| 849 job.Detach(); // The background recompile job owns this now. | 850 job.Detach(); // The background recompile job owns this now. |
| 850 return isolate->builtins()->InOptimizationQueue(); | 851 return isolate->builtins()->InOptimizationQueue(); |
| 851 } | 852 } |
| 852 } else { | 853 } else { |
| (...skipping 960 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1813 MaybeHandle<Code> code; | 1814 MaybeHandle<Code> code; |
| 1814 if (cached.code != nullptr) code = handle(cached.code); | 1815 if (cached.code != nullptr) code = handle(cached.code); |
| 1815 Handle<Context> native_context(function->context()->native_context()); | 1816 Handle<Context> native_context(function->context()->native_context()); |
| 1816 SharedFunctionInfo::AddToOptimizedCodeMap(shared, native_context, code, | 1817 SharedFunctionInfo::AddToOptimizedCodeMap(shared, native_context, code, |
| 1817 literals, BailoutId::None()); | 1818 literals, BailoutId::None()); |
| 1818 } | 1819 } |
| 1819 } | 1820 } |
| 1820 | 1821 |
| 1821 } // namespace internal | 1822 } // namespace internal |
| 1822 } // namespace v8 | 1823 } // namespace v8 |
| OLD | NEW |