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 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 | 208 |
209 // No OSR in Turbofan yet... | 209 // No OSR in Turbofan yet... |
210 BailoutId osr_ast_id = BailoutId::None(); | 210 BailoutId osr_ast_id = BailoutId::None(); |
211 data->SetOsrAstId(Smi::FromInt(osr_ast_id.ToInt())); | 211 data->SetOsrAstId(Smi::FromInt(osr_ast_id.ToInt())); |
212 data->SetOsrPcOffset(Smi::FromInt(-1)); | 212 data->SetOsrPcOffset(Smi::FromInt(-1)); |
213 | 213 |
214 // Populate deoptimization entries. | 214 // Populate deoptimization entries. |
215 for (int i = 0; i < deopt_count; i++) { | 215 for (int i = 0; i < deopt_count; i++) { |
216 FrameStateDescriptor* descriptor = code()->GetDeoptimizationEntry(i); | 216 FrameStateDescriptor* descriptor = code()->GetDeoptimizationEntry(i); |
217 data->SetAstId(i, descriptor->bailout_id()); | 217 data->SetAstId(i, descriptor->bailout_id()); |
218 data->SetTranslationIndex(i, Smi::FromInt(0)); | 218 CHECK_NE(NULL, deoptimization_states_[i]); |
| 219 data->SetTranslationIndex( |
| 220 i, Smi::FromInt(deoptimization_states_[i]->translation_id_)); |
219 data->SetArgumentsStackHeight(i, Smi::FromInt(0)); | 221 data->SetArgumentsStackHeight(i, Smi::FromInt(0)); |
220 data->SetPc(i, Smi::FromInt(-1)); | 222 data->SetPc(i, Smi::FromInt(-1)); |
221 } | 223 } |
222 | 224 |
223 // Populate the return address patcher entries. | 225 // Populate the return address patcher entries. |
224 for (int i = 0; i < patch_count; ++i) { | 226 for (int i = 0; i < patch_count; ++i) { |
225 LazyDeoptimizationEntry entry = lazy_deoptimization_entries_[i]; | 227 LazyDeoptimizationEntry entry = lazy_deoptimization_entries_[i]; |
226 DCHECK(entry.position_after_call() == entry.continuation()->pos() || | 228 DCHECK(entry.position_after_call() == entry.continuation()->pos() || |
227 IsNopForSmiCodeInlining(code_object, entry.position_after_call(), | 229 IsNopForSmiCodeInlining(code_object, entry.position_after_call(), |
228 entry.continuation()->pos())); | 230 entry.continuation()->pos())); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 UNIMPLEMENTED(); | 372 UNIMPLEMENTED(); |
371 return false; | 373 return false; |
372 } | 374 } |
373 #endif | 375 #endif |
374 | 376 |
375 #endif // !V8_TURBOFAN_BACKEND | 377 #endif // !V8_TURBOFAN_BACKEND |
376 | 378 |
377 } // namespace compiler | 379 } // namespace compiler |
378 } // namespace internal | 380 } // namespace internal |
379 } // namespace v8 | 381 } // namespace v8 |
OLD | NEW |