| 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 192 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 203   LInstruction() | 203   LInstruction() | 
| 204       :  environment_(NULL), | 204       :  environment_(NULL), | 
| 205          hydrogen_value_(NULL), | 205          hydrogen_value_(NULL), | 
| 206          is_call_(false), | 206          is_call_(false), | 
| 207          is_save_doubles_(false) { } | 207          is_save_doubles_(false) { } | 
| 208   virtual ~LInstruction() { } | 208   virtual ~LInstruction() { } | 
| 209 | 209 | 
| 210   virtual void CompileToNative(LCodeGen* generator) = 0; | 210   virtual void CompileToNative(LCodeGen* generator) = 0; | 
| 211   virtual const char* Mnemonic() const = 0; | 211   virtual const char* Mnemonic() const = 0; | 
| 212   virtual void PrintTo(StringStream* stream); | 212   virtual void PrintTo(StringStream* stream); | 
| 213   virtual void PrintDataTo(StringStream* stream) = 0; | 213   virtual void PrintDataTo(StringStream* stream); | 
| 214   virtual void PrintOutputOperandTo(StringStream* stream) = 0; | 214   virtual void PrintOutputOperandTo(StringStream* stream); | 
| 215 | 215 | 
| 216   enum Opcode { | 216   enum Opcode { | 
| 217     // Declare a unique enum value for each instruction. | 217     // Declare a unique enum value for each instruction. | 
| 218 #define DECLARE_OPCODE(type) k##type, | 218 #define DECLARE_OPCODE(type) k##type, | 
| 219     LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_OPCODE) | 219     LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_OPCODE) | 
| 220     kNumberOfInstructions | 220     kNumberOfInstructions | 
| 221 #undef DECLARE_OPCODE | 221 #undef DECLARE_OPCODE | 
| 222   }; | 222   }; | 
| 223 | 223 | 
| 224   virtual Opcode opcode() const = 0; | 224   virtual Opcode opcode() const = 0; | 
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 299   virtual bool HasResult() const { return R != 0; } | 299   virtual bool HasResult() const { return R != 0; } | 
| 300   void set_result(LOperand* operand) { results_[0] = operand; } | 300   void set_result(LOperand* operand) { results_[0] = operand; } | 
| 301   LOperand* result() { return results_[0]; } | 301   LOperand* result() { return results_[0]; } | 
| 302 | 302 | 
| 303   int InputCount() { return I; } | 303   int InputCount() { return I; } | 
| 304   LOperand* InputAt(int i) { return inputs_[i]; } | 304   LOperand* InputAt(int i) { return inputs_[i]; } | 
| 305 | 305 | 
| 306   int TempCount() { return T; } | 306   int TempCount() { return T; } | 
| 307   LOperand* TempAt(int i) { return temps_[i]; } | 307   LOperand* TempAt(int i) { return temps_[i]; } | 
| 308 | 308 | 
| 309   virtual void PrintDataTo(StringStream* stream); |  | 
| 310   virtual void PrintOutputOperandTo(StringStream* stream); |  | 
| 311 |  | 
| 312  protected: | 309  protected: | 
| 313   EmbeddedContainer<LOperand*, R> results_; | 310   EmbeddedContainer<LOperand*, R> results_; | 
| 314   EmbeddedContainer<LOperand*, I> inputs_; | 311   EmbeddedContainer<LOperand*, I> inputs_; | 
| 315   EmbeddedContainer<LOperand*, T> temps_; | 312   EmbeddedContainer<LOperand*, T> temps_; | 
| 316 }; | 313 }; | 
| 317 | 314 | 
| 318 | 315 | 
| 319 class LGap: public LTemplateInstruction<0, 0, 0> { | 316 class LGap: public LTemplateInstruction<0, 0, 0> { | 
| 320  public: | 317  public: | 
| 321   explicit LGap(HBasicBlock* block) | 318   explicit LGap(HBasicBlock* block) | 
| (...skipping 2078 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2400 | 2397 | 
| 2401   DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2398   DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 
| 2402 }; | 2399 }; | 
| 2403 | 2400 | 
| 2404 #undef DECLARE_HYDROGEN_ACCESSOR | 2401 #undef DECLARE_HYDROGEN_ACCESSOR | 
| 2405 #undef DECLARE_CONCRETE_INSTRUCTION | 2402 #undef DECLARE_CONCRETE_INSTRUCTION | 
| 2406 | 2403 | 
| 2407 } }  // namespace v8::internal | 2404 } }  // namespace v8::internal | 
| 2408 | 2405 | 
| 2409 #endif  // V8_MIPS_LITHIUM_MIPS_H_ | 2406 #endif  // V8_MIPS_LITHIUM_MIPS_H_ | 
| OLD | NEW | 
|---|