Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
| 6 | 6 |
| 7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
| 8 #include "src/compiler/linkage.h" | 8 #include "src/compiler/linkage.h" |
| 9 #include "src/compiler/pipeline.h" | 9 #include "src/compiler/pipeline.h" |
| 10 | 10 |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 100 kind = Code::OPTIMIZED_FUNCTION; | 100 kind = Code::OPTIMIZED_FUNCTION; |
| 101 } | 101 } |
| 102 Handle<Code> result = v8::internal::CodeGenerator::MakeCodeEpilogue( | 102 Handle<Code> result = v8::internal::CodeGenerator::MakeCodeEpilogue( |
| 103 masm(), Code::ComputeFlags(kind), info); | 103 masm(), Code::ComputeFlags(kind), info); |
| 104 result->set_is_turbofanned(true); | 104 result->set_is_turbofanned(true); |
| 105 result->set_stack_slots(frame()->GetSpillSlotCount()); | 105 result->set_stack_slots(frame()->GetSpillSlotCount()); |
| 106 result->set_safepoint_table_offset(safepoints()->GetCodeOffset()); | 106 result->set_safepoint_table_offset(safepoints()->GetCodeOffset()); |
| 107 | 107 |
| 108 PopulateDeoptimizationData(result); | 108 PopulateDeoptimizationData(result); |
| 109 | 109 |
| 110 #if V8_TARGET_ARCH_IA32 | |
|
titzer
2014/12/04 16:29:04
Please, no.
| |
| 111 if (!info->IsStub()) { | |
| 112 Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(result); | |
| 113 } | |
| 114 #endif | |
| 115 | |
| 110 // Emit a code line info recording stop event. | 116 // Emit a code line info recording stop event. |
| 111 void* line_info = recorder->DetachJITHandlerData(); | 117 void* line_info = recorder->DetachJITHandlerData(); |
| 112 LOG_CODE_EVENT(isolate(), CodeEndLinePosInfoRecordEvent(*result, line_info)); | 118 LOG_CODE_EVENT(isolate(), CodeEndLinePosInfoRecordEvent(*result, line_info)); |
| 113 | 119 |
| 114 return result; | 120 return result; |
| 115 } | 121 } |
| 116 | 122 |
| 117 | 123 |
| 118 bool CodeGenerator::IsNextInAssemblyOrder(BasicBlock::RpoNumber block) const { | 124 bool CodeGenerator::IsNextInAssemblyOrder(BasicBlock::RpoNumber block) const { |
| 119 return code()->InstructionBlockAt(current_block_)->ao_number().IsNext( | 125 return code()->InstructionBlockAt(current_block_)->ao_number().IsNext( |
| (...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 571 : masm_(gen->masm()), next_(gen->ools_) { | 577 : masm_(gen->masm()), next_(gen->ools_) { |
| 572 gen->ools_ = this; | 578 gen->ools_ = this; |
| 573 } | 579 } |
| 574 | 580 |
| 575 | 581 |
| 576 OutOfLineCode::~OutOfLineCode() {} | 582 OutOfLineCode::~OutOfLineCode() {} |
| 577 | 583 |
| 578 } // namespace compiler | 584 } // namespace compiler |
| 579 } // namespace internal | 585 } // namespace internal |
| 580 } // namespace v8 | 586 } // namespace v8 |
| OLD | NEW |