Chromium Code Reviews| 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/compiler/pipeline.h" | 5 #include "src/compiler/pipeline.h" |
| 6 | 6 |
| 7 #include <fstream> // NOLINT(readability/streams) | 7 #include <fstream> // NOLINT(readability/streams) |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <sstream> | 9 #include <sstream> |
| 10 | 10 |
| (...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 545 }; | 545 }; |
| 546 | 546 |
| 547 PipelineCompilationJob::Status PipelineCompilationJob::PrepareJobImpl() { | 547 PipelineCompilationJob::Status PipelineCompilationJob::PrepareJobImpl() { |
| 548 if (info()->shared_info()->asm_function()) { | 548 if (info()->shared_info()->asm_function()) { |
| 549 if (info()->osr_frame()) info()->MarkAsFrameSpecializing(); | 549 if (info()->osr_frame()) info()->MarkAsFrameSpecializing(); |
| 550 info()->MarkAsFunctionContextSpecializing(); | 550 info()->MarkAsFunctionContextSpecializing(); |
| 551 } else { | 551 } else { |
| 552 if (!FLAG_always_opt) { | 552 if (!FLAG_always_opt) { |
| 553 info()->MarkAsBailoutOnUninitialized(); | 553 info()->MarkAsBailoutOnUninitialized(); |
| 554 } | 554 } |
| 555 if (FLAG_turbo_inlining) { | |
| 556 info()->MarkAsInliningEnabled(); | |
| 557 } | |
| 558 } | 555 } |
| 559 if (!info()->shared_info()->asm_function() || FLAG_turbo_asm_deoptimization) { | 556 if (!info()->shared_info()->asm_function() || FLAG_turbo_asm_deoptimization) { |
| 560 info()->MarkAsDeoptimizationEnabled(); | 557 info()->MarkAsDeoptimizationEnabled(); |
| 561 if (FLAG_inline_accessors) { | 558 if (FLAG_inline_accessors) { |
| 562 info()->MarkAsAccessorInliningEnabled(); | 559 info()->MarkAsAccessorInliningEnabled(); |
| 563 } | 560 } |
| 564 } | 561 } |
| 565 if (!info()->is_optimizing_from_bytecode()) { | 562 if (!info()->is_optimizing_from_bytecode()) { |
| 566 if (!Compiler::EnsureDeoptimizationSupport(info())) return FAILED; | 563 if (!Compiler::EnsureDeoptimizationSupport(info())) return FAILED; |
| 564 } else { | |
| 565 if (FLAG_turbo_inlining) { | |
|
Yang
2016/11/24 07:30:49
just make this an 'else if'?
Benedikt Meurer
2016/11/24 07:34:08
Done.
| |
| 566 info()->MarkAsInliningEnabled(); | |
| 567 } | |
| 567 } | 568 } |
| 568 | 569 |
| 569 linkage_ = new (&zone_) Linkage(Linkage::ComputeIncoming(&zone_, info())); | 570 linkage_ = new (&zone_) Linkage(Linkage::ComputeIncoming(&zone_, info())); |
| 570 | 571 |
| 571 if (!pipeline_.CreateGraph()) { | 572 if (!pipeline_.CreateGraph()) { |
| 572 if (isolate()->has_pending_exception()) return FAILED; // Stack overflowed. | 573 if (isolate()->has_pending_exception()) return FAILED; // Stack overflowed. |
| 573 return AbortOptimization(kGraphBuildingFailed); | 574 return AbortOptimization(kGraphBuildingFailed); |
| 574 } | 575 } |
| 575 | 576 |
| 576 return SUCCEEDED; | 577 return SUCCEEDED; |
| (...skipping 1368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1945 data->DeleteRegisterAllocationZone(); | 1946 data->DeleteRegisterAllocationZone(); |
| 1946 } | 1947 } |
| 1947 | 1948 |
| 1948 CompilationInfo* PipelineImpl::info() const { return data_->info(); } | 1949 CompilationInfo* PipelineImpl::info() const { return data_->info(); } |
| 1949 | 1950 |
| 1950 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } | 1951 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } |
| 1951 | 1952 |
| 1952 } // namespace compiler | 1953 } // namespace compiler |
| 1953 } // namespace internal | 1954 } // namespace internal |
| 1954 } // namespace v8 | 1955 } // namespace v8 |
| OLD | NEW |