| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_IA32_MACRO_ASSEMBLER_IA32_H_ | 5 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 
| 6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 
| 7 | 7 | 
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" | 
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" | 
| 10 #include "src/frames.h" | 10 #include "src/frames.h" | 
| (...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 346   void InvokeBuiltin(Builtins::JavaScript id, | 346   void InvokeBuiltin(Builtins::JavaScript id, | 
| 347                      InvokeFlag flag, | 347                      InvokeFlag flag, | 
| 348                      const CallWrapper& call_wrapper = NullCallWrapper()); | 348                      const CallWrapper& call_wrapper = NullCallWrapper()); | 
| 349 | 349 | 
| 350   // Store the function for the given builtin in the target register. | 350   // Store the function for the given builtin in the target register. | 
| 351   void GetBuiltinFunction(Register target, Builtins::JavaScript id); | 351   void GetBuiltinFunction(Register target, Builtins::JavaScript id); | 
| 352 | 352 | 
| 353   // Store the code object for the given builtin in the target register. | 353   // Store the code object for the given builtin in the target register. | 
| 354   void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 354   void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 
| 355 | 355 | 
| 356   void BranchIfNotBuiltin(Register function, Register temp, |  | 
| 357                           BuiltinFunctionId id, Label* miss); |  | 
| 358 |  | 
| 359   // Expression support | 356   // Expression support | 
| 360   // cvtsi2sd instruction only writes to the low 64-bit of dst register, which | 357   // cvtsi2sd instruction only writes to the low 64-bit of dst register, which | 
| 361   // hinders register renaming and makes dependence chains longer. So we use | 358   // hinders register renaming and makes dependence chains longer. So we use | 
| 362   // xorps to clear the dst register before cvtsi2sd to solve this issue. | 359   // xorps to clear the dst register before cvtsi2sd to solve this issue. | 
| 363   void Cvtsi2sd(XMMRegister dst, Register src) { Cvtsi2sd(dst, Operand(src)); } | 360   void Cvtsi2sd(XMMRegister dst, Register src) { Cvtsi2sd(dst, Operand(src)); } | 
| 364   void Cvtsi2sd(XMMRegister dst, const Operand& src); | 361   void Cvtsi2sd(XMMRegister dst, const Operand& src); | 
| 365 | 362 | 
| 366   // Support for constant splitting. | 363   // Support for constant splitting. | 
| 367   bool IsUnsafeImmediate(const Immediate& x); | 364   bool IsUnsafeImmediate(const Immediate& x); | 
| 368   void SafeMove(Register dst, const Immediate& x); | 365   void SafeMove(Register dst, const Immediate& x); | 
| (...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1100   }                                                                       \ | 1097   }                                                                       \ | 
| 1101   masm-> | 1098   masm-> | 
| 1102 #else | 1099 #else | 
| 1103 #define ACCESS_MASM(masm) masm-> | 1100 #define ACCESS_MASM(masm) masm-> | 
| 1104 #endif | 1101 #endif | 
| 1105 | 1102 | 
| 1106 | 1103 | 
| 1107 } }  // namespace v8::internal | 1104 } }  // namespace v8::internal | 
| 1108 | 1105 | 
| 1109 #endif  // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 1106 #endif  // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 
| OLD | NEW | 
|---|