| 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 153 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 164   V(SubI)                                       \ | 164   V(SubI)                                       \ | 
| 165   V(TaggedToI)                                  \ | 165   V(TaggedToI)                                  \ | 
| 166   V(ThisFunction)                               \ | 166   V(ThisFunction)                               \ | 
| 167   V(Throw)                                      \ | 167   V(Throw)                                      \ | 
| 168   V(ToFastProperties)                           \ | 168   V(ToFastProperties)                           \ | 
| 169   V(TransitionElementsKind)                     \ | 169   V(TransitionElementsKind)                     \ | 
| 170   V(Typeof)                                     \ | 170   V(Typeof)                                     \ | 
| 171   V(TypeofIsAndBranch)                          \ | 171   V(TypeofIsAndBranch)                          \ | 
| 172   V(UnaryMathOperation)                         \ | 172   V(UnaryMathOperation)                         \ | 
| 173   V(UnknownOSRValue)                            \ | 173   V(UnknownOSRValue)                            \ | 
| 174   V(ValueOf) | 174   V(ValueOf)                                    \ | 
|  | 175   V(DateField)                                  \ | 
|  | 176   V(SetDateField) | 
| 175 | 177 | 
| 176 | 178 | 
| 177 #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic)              \ | 179 #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic)              \ | 
| 178   virtual Opcode opcode() const { return LInstruction::k##type; } \ | 180   virtual Opcode opcode() const { return LInstruction::k##type; } \ | 
| 179   virtual void CompileToNative(LCodeGen* generator);              \ | 181   virtual void CompileToNative(LCodeGen* generator);              \ | 
| 180   virtual const char* Mnemonic() const { return mnemonic; }       \ | 182   virtual const char* Mnemonic() const { return mnemonic; }       \ | 
| 181   static L##type* cast(LInstruction* instr) {                     \ | 183   static L##type* cast(LInstruction* instr) {                     \ | 
| 182     ASSERT(instr->Is##type());                                    \ | 184     ASSERT(instr->Is##type());                                    \ | 
| 183     return reinterpret_cast<L##type*>(instr);                     \ | 185     return reinterpret_cast<L##type*>(instr);                     \ | 
| 184   } | 186   } | 
| (...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 974  public: | 976  public: | 
| 975   explicit LValueOf(LOperand* value) { | 977   explicit LValueOf(LOperand* value) { | 
| 976     inputs_[0] = value; | 978     inputs_[0] = value; | 
| 977   } | 979   } | 
| 978 | 980 | 
| 979   DECLARE_CONCRETE_INSTRUCTION(ValueOf, "value-of") | 981   DECLARE_CONCRETE_INSTRUCTION(ValueOf, "value-of") | 
| 980   DECLARE_HYDROGEN_ACCESSOR(ValueOf) | 982   DECLARE_HYDROGEN_ACCESSOR(ValueOf) | 
| 981 }; | 983 }; | 
| 982 | 984 | 
| 983 | 985 | 
|  | 986 class LDateField: public LTemplateInstruction<1, 1, 0> { | 
|  | 987  public: | 
|  | 988   LDateField(LOperand* date, int index) : index_(index) { | 
|  | 989     inputs_[0] = date; | 
|  | 990   } | 
|  | 991 | 
|  | 992   DECLARE_CONCRETE_INSTRUCTION(ValueOf, "date-field") | 
|  | 993   DECLARE_HYDROGEN_ACCESSOR(ValueOf) | 
|  | 994 | 
|  | 995   int index() const { return index_; } | 
|  | 996 | 
|  | 997  private: | 
|  | 998   int index_; | 
|  | 999 }; | 
|  | 1000 | 
|  | 1001 | 
|  | 1002 class LSetDateField: public LTemplateInstruction<1, 2, 0> { | 
|  | 1003  public: | 
|  | 1004   LSetDateField(LOperand* date, LOperand* value, int index) : index_(index) { | 
|  | 1005     inputs_[0] = date; | 
|  | 1006     inputs_[1] = value; | 
|  | 1007   } | 
|  | 1008 | 
|  | 1009   DECLARE_CONCRETE_INSTRUCTION(DateField, "date-set-field") | 
|  | 1010   DECLARE_HYDROGEN_ACCESSOR(DateField) | 
|  | 1011 | 
|  | 1012   int index() const { return index_; } | 
|  | 1013 | 
|  | 1014  private: | 
|  | 1015   int index_; | 
|  | 1016 }; | 
|  | 1017 | 
|  | 1018 | 
| 984 class LThrow: public LTemplateInstruction<0, 1, 0> { | 1019 class LThrow: public LTemplateInstruction<0, 1, 0> { | 
| 985  public: | 1020  public: | 
| 986   explicit LThrow(LOperand* value) { | 1021   explicit LThrow(LOperand* value) { | 
| 987     inputs_[0] = value; | 1022     inputs_[0] = value; | 
| 988   } | 1023   } | 
| 989 | 1024 | 
| 990   DECLARE_CONCRETE_INSTRUCTION(Throw, "throw") | 1025   DECLARE_CONCRETE_INSTRUCTION(Throw, "throw") | 
| 991 }; | 1026 }; | 
| 992 | 1027 | 
| 993 | 1028 | 
| (...skipping 1263 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2257 | 2292 | 
| 2258   DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2293   DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 
| 2259 }; | 2294 }; | 
| 2260 | 2295 | 
| 2261 #undef DECLARE_HYDROGEN_ACCESSOR | 2296 #undef DECLARE_HYDROGEN_ACCESSOR | 
| 2262 #undef DECLARE_CONCRETE_INSTRUCTION | 2297 #undef DECLARE_CONCRETE_INSTRUCTION | 
| 2263 | 2298 | 
| 2264 } }  // namespace v8::int | 2299 } }  // namespace v8::int | 
| 2265 | 2300 | 
| 2266 #endif  // V8_X64_LITHIUM_X64_H_ | 2301 #endif  // V8_X64_LITHIUM_X64_H_ | 
| OLD | NEW | 
|---|