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 #ifndef V8_CRANKSHAFT_PPC_LITHIUM_CODEGEN_PPC_H_ | 5 #ifndef V8_CRANKSHAFT_PPC_LITHIUM_CODEGEN_PPC_H_ |
6 #define V8_CRANKSHAFT_PPC_LITHIUM_CODEGEN_PPC_H_ | 6 #define V8_CRANKSHAFT_PPC_LITHIUM_CODEGEN_PPC_H_ |
7 | 7 |
8 #include "src/ast/scopes.h" | 8 #include "src/ast/scopes.h" |
9 #include "src/crankshaft/lithium-codegen.h" | 9 #include "src/crankshaft/lithium-codegen.h" |
10 #include "src/crankshaft/ppc/lithium-gap-resolver-ppc.h" | 10 #include "src/crankshaft/ppc/lithium-gap-resolver-ppc.h" |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 DoubleRegister ToDoubleRegister(int index) const; | 221 DoubleRegister ToDoubleRegister(int index) const; |
222 | 222 |
223 MemOperand BuildSeqStringOperand(Register string, LOperand* index, | 223 MemOperand BuildSeqStringOperand(Register string, LOperand* index, |
224 String::Encoding encoding); | 224 String::Encoding encoding); |
225 | 225 |
226 void EmitMathAbs(LMathAbs* instr); | 226 void EmitMathAbs(LMathAbs* instr); |
227 #if V8_TARGET_ARCH_PPC64 | 227 #if V8_TARGET_ARCH_PPC64 |
228 void EmitInteger32MathAbs(LMathAbs* instr); | 228 void EmitInteger32MathAbs(LMathAbs* instr); |
229 #endif | 229 #endif |
230 | 230 |
231 // Support for recording safepoint and position information. | 231 // Support for recording safepoint information. |
232 void RecordSafepoint(LPointerMap* pointers, Safepoint::Kind kind, | 232 void RecordSafepoint(LPointerMap* pointers, Safepoint::Kind kind, |
233 int arguments, Safepoint::DeoptMode mode); | 233 int arguments, Safepoint::DeoptMode mode); |
234 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); | 234 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); |
235 void RecordSafepoint(Safepoint::DeoptMode mode); | 235 void RecordSafepoint(Safepoint::DeoptMode mode); |
236 void RecordSafepointWithRegisters(LPointerMap* pointers, int arguments, | 236 void RecordSafepointWithRegisters(LPointerMap* pointers, int arguments, |
237 Safepoint::DeoptMode mode); | 237 Safepoint::DeoptMode mode); |
238 | 238 |
239 void RecordAndWritePosition(int position) override; | |
240 | |
241 static Condition TokenToCondition(Token::Value op); | 239 static Condition TokenToCondition(Token::Value op); |
242 void EmitGoto(int block); | 240 void EmitGoto(int block); |
243 | 241 |
244 // EmitBranch expects to be the last instruction of a block. | 242 // EmitBranch expects to be the last instruction of a block. |
245 template <class InstrType> | 243 template <class InstrType> |
246 void EmitBranch(InstrType instr, Condition condition, CRegister cr = cr7); | 244 void EmitBranch(InstrType instr, Condition condition, CRegister cr = cr7); |
247 template <class InstrType> | 245 template <class InstrType> |
248 void EmitTrueBranch(InstrType instr, Condition condition, CRegister cr = cr7); | 246 void EmitTrueBranch(InstrType instr, Condition condition, CRegister cr = cr7); |
249 template <class InstrType> | 247 template <class InstrType> |
250 void EmitFalseBranch(InstrType instr, Condition condition, | 248 void EmitFalseBranch(InstrType instr, Condition condition, |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 LCodeGen* codegen_; | 349 LCodeGen* codegen_; |
352 Label entry_; | 350 Label entry_; |
353 Label exit_; | 351 Label exit_; |
354 Label* external_exit_; | 352 Label* external_exit_; |
355 int instruction_index_; | 353 int instruction_index_; |
356 }; | 354 }; |
357 } // namespace internal | 355 } // namespace internal |
358 } // namespace v8 | 356 } // namespace v8 |
359 | 357 |
360 #endif // V8_CRANKSHAFT_PPC_LITHIUM_CODEGEN_PPC_H_ | 358 #endif // V8_CRANKSHAFT_PPC_LITHIUM_CODEGEN_PPC_H_ |
OLD | NEW |