| OLD | NEW | 
|     1 // Copyright 2011 the V8 project authors. All rights reserved. |     1 // Copyright 2011 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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|    96   V(HasInstanceTypeAndBranch)                   \ |    96   V(HasInstanceTypeAndBranch)                   \ | 
|    97   V(In)                                         \ |    97   V(In)                                         \ | 
|    98   V(InstanceOf)                                 \ |    98   V(InstanceOf)                                 \ | 
|    99   V(InstanceOfKnownGlobal)                      \ |    99   V(InstanceOfKnownGlobal)                      \ | 
|   100   V(InstructionGap)                             \ |   100   V(InstructionGap)                             \ | 
|   101   V(Integer32ToDouble)                          \ |   101   V(Integer32ToDouble)                          \ | 
|   102   V(InvokeFunction)                             \ |   102   V(InvokeFunction)                             \ | 
|   103   V(IsConstructCallAndBranch)                   \ |   103   V(IsConstructCallAndBranch)                   \ | 
|   104   V(IsNilAndBranch)                             \ |   104   V(IsNilAndBranch)                             \ | 
|   105   V(IsObjectAndBranch)                          \ |   105   V(IsObjectAndBranch)                          \ | 
|   106   V(IsStringAndBranch)                          \ |  | 
|   107   V(IsSmiAndBranch)                             \ |   106   V(IsSmiAndBranch)                             \ | 
|   108   V(IsUndetectableAndBranch)                    \ |   107   V(IsUndetectableAndBranch)                    \ | 
|   109   V(StringCompareAndBranch)                    \ |  | 
|   110   V(JSArrayLength)                              \ |   108   V(JSArrayLength)                              \ | 
|   111   V(Label)                                      \ |   109   V(Label)                                      \ | 
|   112   V(LazyBailout)                                \ |   110   V(LazyBailout)                                \ | 
|   113   V(LoadContextSlot)                            \ |   111   V(LoadContextSlot)                            \ | 
|   114   V(LoadElements)                               \ |   112   V(LoadElements)                               \ | 
|   115   V(LoadExternalArrayPointer)                   \ |   113   V(LoadExternalArrayPointer)                   \ | 
|   116   V(LoadFunctionPrototype)                      \ |   114   V(LoadFunctionPrototype)                      \ | 
|   117   V(LoadGlobalCell)                             \ |   115   V(LoadGlobalCell)                             \ | 
|   118   V(LoadGlobalGeneric)                          \ |   116   V(LoadGlobalGeneric)                          \ | 
|   119   V(LoadKeyedFastElement)                       \ |   117   V(LoadKeyedFastElement)                       \ | 
| (...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   638     inputs_[0] = value; |   636     inputs_[0] = value; | 
|   639     temps_[0] = temp; |   637     temps_[0] = temp; | 
|   640   } |   638   } | 
|   641  |   639  | 
|   642   DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch, "is-object-and-branch") |   640   DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch, "is-object-and-branch") | 
|   643  |   641  | 
|   644   virtual void PrintDataTo(StringStream* stream); |   642   virtual void PrintDataTo(StringStream* stream); | 
|   645 }; |   643 }; | 
|   646  |   644  | 
|   647  |   645  | 
|   648 class LIsStringAndBranch: public LControlInstruction<1, 1> { |  | 
|   649  public: |  | 
|   650   LIsStringAndBranch(LOperand* value, LOperand* temp) { |  | 
|   651     inputs_[0] = value; |  | 
|   652     temps_[0] = temp; |  | 
|   653   } |  | 
|   654  |  | 
|   655   DECLARE_CONCRETE_INSTRUCTION(IsStringAndBranch, "is-string-and-branch") |  | 
|   656  |  | 
|   657   virtual void PrintDataTo(StringStream* stream); |  | 
|   658 }; |  | 
|   659  |  | 
|   660  |  | 
|   661 class LIsSmiAndBranch: public LControlInstruction<1, 0> { |   646 class LIsSmiAndBranch: public LControlInstruction<1, 0> { | 
|   662  public: |   647  public: | 
|   663   explicit LIsSmiAndBranch(LOperand* value) { |   648   explicit LIsSmiAndBranch(LOperand* value) { | 
|   664     inputs_[0] = value; |   649     inputs_[0] = value; | 
|   665   } |   650   } | 
|   666  |   651  | 
|   667   DECLARE_CONCRETE_INSTRUCTION(IsSmiAndBranch, "is-smi-and-branch") |   652   DECLARE_CONCRETE_INSTRUCTION(IsSmiAndBranch, "is-smi-and-branch") | 
|   668   DECLARE_HYDROGEN_ACCESSOR(IsSmiAndBranch) |   653   DECLARE_HYDROGEN_ACCESSOR(IsSmiAndBranch) | 
|   669  |   654  | 
|   670   virtual void PrintDataTo(StringStream* stream); |   655   virtual void PrintDataTo(StringStream* stream); | 
|   671 }; |   656 }; | 
|   672  |   657  | 
|   673  |   658  | 
|   674 class LIsUndetectableAndBranch: public LControlInstruction<1, 1> { |   659 class LIsUndetectableAndBranch: public LControlInstruction<1, 1> { | 
|   675  public: |   660  public: | 
|   676   LIsUndetectableAndBranch(LOperand* value, LOperand* temp) { |   661   LIsUndetectableAndBranch(LOperand* value, LOperand* temp) { | 
|   677     inputs_[0] = value; |   662     inputs_[0] = value; | 
|   678     temps_[0] = temp; |   663     temps_[0] = temp; | 
|   679   } |   664   } | 
|   680  |   665  | 
|   681   DECLARE_CONCRETE_INSTRUCTION(IsUndetectableAndBranch, |   666   DECLARE_CONCRETE_INSTRUCTION(IsUndetectableAndBranch, | 
|   682                                "is-undetectable-and-branch") |   667                                "is-undetectable-and-branch") | 
|   683  |   668  | 
|   684   virtual void PrintDataTo(StringStream* stream); |   669   virtual void PrintDataTo(StringStream* stream); | 
|   685 }; |   670 }; | 
|   686  |   671  | 
|   687  |   672  | 
|   688 class LStringCompareAndBranch: public LControlInstruction<3, 0> { |  | 
|   689  public: |  | 
|   690   LStringCompareAndBranch(LOperand* context, LOperand* left, LOperand* right) { |  | 
|   691     inputs_[0] = context; |  | 
|   692     inputs_[1] = left; |  | 
|   693     inputs_[2] = right; |  | 
|   694   } |  | 
|   695  |  | 
|   696   DECLARE_CONCRETE_INSTRUCTION(StringCompareAndBranch, |  | 
|   697                                "compare-generic-and-branch") |  | 
|   698   DECLARE_HYDROGEN_ACCESSOR(StringCompareAndBranch) |  | 
|   699  |  | 
|   700   virtual void PrintDataTo(StringStream* stream); |  | 
|   701  |  | 
|   702   Token::Value op() const { return hydrogen()->token(); } |  | 
|   703 }; |  | 
|   704  |  | 
|   705  |  | 
|   706 class LHasInstanceTypeAndBranch: public LControlInstruction<1, 1> { |   673 class LHasInstanceTypeAndBranch: public LControlInstruction<1, 1> { | 
|   707  public: |   674  public: | 
|   708   LHasInstanceTypeAndBranch(LOperand* value, LOperand* temp) { |   675   LHasInstanceTypeAndBranch(LOperand* value, LOperand* temp) { | 
|   709     inputs_[0] = value; |   676     inputs_[0] = value; | 
|   710     temps_[0] = temp; |   677     temps_[0] = temp; | 
|   711   } |   678   } | 
|   712  |   679  | 
|   713   DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch, |   680   DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch, | 
|   714                                "has-instance-type-and-branch") |   681                                "has-instance-type-and-branch") | 
|   715   DECLARE_HYDROGEN_ACCESSOR(HasInstanceTypeAndBranch) |   682   DECLARE_HYDROGEN_ACCESSOR(HasInstanceTypeAndBranch) | 
| (...skipping 1635 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2351  |  2318  | 
|  2352   DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |  2319   DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 
|  2353 }; |  2320 }; | 
|  2354  |  2321  | 
|  2355 #undef DECLARE_HYDROGEN_ACCESSOR |  2322 #undef DECLARE_HYDROGEN_ACCESSOR | 
|  2356 #undef DECLARE_CONCRETE_INSTRUCTION |  2323 #undef DECLARE_CONCRETE_INSTRUCTION | 
|  2357  |  2324  | 
|  2358 } }  // namespace v8::internal |  2325 } }  // namespace v8::internal | 
|  2359  |  2326  | 
|  2360 #endif  // V8_IA32_LITHIUM_IA32_H_ |  2327 #endif  // V8_IA32_LITHIUM_IA32_H_ | 
| OLD | NEW |