Chromium Code Reviews

Side by Side Diff: src/compiler/code-generator.cc

Issue 777243002: When generating code for ia32, make sure that there is enough reloc space (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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...)
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...)
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
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine