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 EnsureRelocSpaceForLazyDeopt(result); | |
titzer
2014/12/05 09:32:35
Would it hurt to just do the Deoptimizer call for
jochen (gone - plz use gerrit)
2014/12/05 09:33:35
the method only exists on ia32 (and x87)
| |
111 | |
110 // Emit a code line info recording stop event. | 112 // Emit a code line info recording stop event. |
111 void* line_info = recorder->DetachJITHandlerData(); | 113 void* line_info = recorder->DetachJITHandlerData(); |
112 LOG_CODE_EVENT(isolate(), CodeEndLinePosInfoRecordEvent(*result, line_info)); | 114 LOG_CODE_EVENT(isolate(), CodeEndLinePosInfoRecordEvent(*result, line_info)); |
113 | 115 |
114 return result; | 116 return result; |
115 } | 117 } |
116 | 118 |
117 | 119 |
118 bool CodeGenerator::IsNextInAssemblyOrder(BasicBlock::RpoNumber block) const { | 120 bool CodeGenerator::IsNextInAssemblyOrder(BasicBlock::RpoNumber block) const { |
119 return code()->InstructionBlockAt(current_block_)->ao_number().IsNext( | 121 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_) { | 573 : masm_(gen->masm()), next_(gen->ools_) { |
572 gen->ools_ = this; | 574 gen->ools_ = this; |
573 } | 575 } |
574 | 576 |
575 | 577 |
576 OutOfLineCode::~OutOfLineCode() {} | 578 OutOfLineCode::~OutOfLineCode() {} |
577 | 579 |
578 } // namespace compiler | 580 } // namespace compiler |
579 } // namespace internal | 581 } // namespace internal |
580 } // namespace v8 | 582 } // namespace v8 |
OLD | NEW |