| OLD | NEW | 
|     1 // Copyright 2012 the V8 project authors. All rights reserved. |     1 // Copyright 2012 the V8 project authors. All rights reserved. | 
|     2 // Redistribution and use in source and binary forms, with or without |     2 // Redistribution and use in source and binary forms, with or without | 
|     3 // modification, are permitted provided that the following conditions are |     3 // modification, are permitted provided that the following conditions are | 
|     4 // met: |     4 // met: | 
|     5 // |     5 // | 
|     6 //     * Redistributions of source code must retain the above copyright |     6 //     * Redistributions of source code must retain the above copyright | 
|     7 //       notice, this list of conditions and the following disclaimer. |     7 //       notice, this list of conditions and the following disclaimer. | 
|     8 //     * Redistributions in binary form must reproduce the above |     8 //     * Redistributions in binary form must reproduce the above | 
|     9 //       copyright notice, this list of conditions and the following |     9 //       copyright notice, this list of conditions and the following | 
|    10 //       disclaimer in the documentation and/or other materials provided |    10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   774  |   774  | 
|   775   // Checks if the given register or operand is a unique name |   775   // Checks if the given register or operand is a unique name | 
|   776   void JumpIfNotUniqueName(Register reg, Label* not_unique_name, |   776   void JumpIfNotUniqueName(Register reg, Label* not_unique_name, | 
|   777                            Label::Distance distance = Label::kFar); |   777                            Label::Distance distance = Label::kFar); | 
|   778   void JumpIfNotUniqueName(Operand operand, Label* not_unique_name, |   778   void JumpIfNotUniqueName(Operand operand, Label* not_unique_name, | 
|   779                            Label::Distance distance = Label::kFar); |   779                            Label::Distance distance = Label::kFar); | 
|   780  |   780  | 
|   781   // --------------------------------------------------------------------------- |   781   // --------------------------------------------------------------------------- | 
|   782   // Macro instructions. |   782   // Macro instructions. | 
|   783  |   783  | 
|   784   // Load/store with specific representation. |  | 
|   785   void Load(Register dst, const Operand& src, Representation r); |  | 
|   786   void Store(const Operand& dst, Register src, Representation r); |  | 
|   787  |  | 
|   788   // Load a register with a long value as efficiently as possible. |   784   // Load a register with a long value as efficiently as possible. | 
|   789   void Set(Register dst, int64_t x); |   785   void Set(Register dst, int64_t x); | 
|   790   void Set(const Operand& dst, int64_t x); |   786   void Set(const Operand& dst, int64_t x); | 
|   791  |   787  | 
|   792   // cvtsi2sd instruction only writes to the low 64-bit of dst register, which |   788   // cvtsi2sd instruction only writes to the low 64-bit of dst register, which | 
|   793   // hinders register renaming and makes dependence chains longer. So we use |   789   // hinders register renaming and makes dependence chains longer. So we use | 
|   794   // xorps to clear the dst register before cvtsi2sd to solve this issue. |   790   // xorps to clear the dst register before cvtsi2sd to solve this issue. | 
|   795   void Cvtlsi2sd(XMMRegister dst, Register src); |   791   void Cvtlsi2sd(XMMRegister dst, Register src); | 
|   796   void Cvtlsi2sd(XMMRegister dst, const Operand& src); |   792   void Cvtlsi2sd(XMMRegister dst, const Operand& src); | 
|   797  |   793  | 
| (...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1583     masm->popfq();                                                           \ |  1579     masm->popfq();                                                           \ | 
|  1584   }                                                                          \ |  1580   }                                                                          \ | 
|  1585   masm-> |  1581   masm-> | 
|  1586 #else |  1582 #else | 
|  1587 #define ACCESS_MASM(masm) masm-> |  1583 #define ACCESS_MASM(masm) masm-> | 
|  1588 #endif |  1584 #endif | 
|  1589  |  1585  | 
|  1590 } }  // namespace v8::internal |  1586 } }  // namespace v8::internal | 
|  1591  |  1587  | 
|  1592 #endif  // V8_X64_MACRO_ASSEMBLER_X64_H_ |  1588 #endif  // V8_X64_MACRO_ASSEMBLER_X64_H_ | 
| OLD | NEW |