| 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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   116   V(GetCachedArrayIndex)                       \ |   116   V(GetCachedArrayIndex)                       \ | 
|   117   V(GlobalObject)                              \ |   117   V(GlobalObject)                              \ | 
|   118   V(GlobalReceiver)                            \ |   118   V(GlobalReceiver)                            \ | 
|   119   V(Goto)                                      \ |   119   V(Goto)                                      \ | 
|   120   V(HasCachedArrayIndexAndBranch)              \ |   120   V(HasCachedArrayIndexAndBranch)              \ | 
|   121   V(HasInstanceTypeAndBranch)                  \ |   121   V(HasInstanceTypeAndBranch)                  \ | 
|   122   V(InductionVariableAnnotation)               \ |   122   V(InductionVariableAnnotation)               \ | 
|   123   V(In)                                        \ |   123   V(In)                                        \ | 
|   124   V(InstanceOf)                                \ |   124   V(InstanceOf)                                \ | 
|   125   V(InstanceOfKnownGlobal)                     \ |   125   V(InstanceOfKnownGlobal)                     \ | 
 |   126   V(InstanceSize)                              \ | 
|   126   V(InvokeFunction)                            \ |   127   V(InvokeFunction)                            \ | 
|   127   V(IsConstructCallAndBranch)                  \ |   128   V(IsConstructCallAndBranch)                  \ | 
|   128   V(IsNilAndBranch)                            \ |   129   V(IsNilAndBranch)                            \ | 
|   129   V(IsObjectAndBranch)                         \ |   130   V(IsObjectAndBranch)                         \ | 
|   130   V(IsStringAndBranch)                         \ |   131   V(IsStringAndBranch)                         \ | 
|   131   V(IsSmiAndBranch)                            \ |   132   V(IsSmiAndBranch)                            \ | 
|   132   V(IsUndetectableAndBranch)                   \ |   133   V(IsUndetectableAndBranch)                   \ | 
|   133   V(JSArrayLength)                             \ |   134   V(JSArrayLength)                             \ | 
|   134   V(LeaveInlined)                              \ |   135   V(LeaveInlined)                              \ | 
|   135   V(LoadContextSlot)                           \ |   136   V(LoadContextSlot)                           \ | 
| (...skipping 3805 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  3941  |  3942  | 
|  3942   virtual HType CalculateInferredType(); |  3943   virtual HType CalculateInferredType(); | 
|  3943  |  3944  | 
|  3944   DECLARE_CONCRETE_INSTRUCTION(InstanceOfKnownGlobal) |  3945   DECLARE_CONCRETE_INSTRUCTION(InstanceOfKnownGlobal) | 
|  3945  |  3946  | 
|  3946  private: |  3947  private: | 
|  3947   Handle<JSFunction> function_; |  3948   Handle<JSFunction> function_; | 
|  3948 }; |  3949 }; | 
|  3949  |  3950  | 
|  3950  |  3951  | 
 |  3952 // TODO(mstarzinger): This instruction should be modeled as a load of the map | 
 |  3953 // field followed by a load of the instance size field once HLoadNamedField is | 
 |  3954 // flexible enough to accommodate byte-field loads. | 
 |  3955 class HInstanceSize: public HTemplateInstruction<1> { | 
 |  3956  public: | 
 |  3957   explicit HInstanceSize(HValue* object) { | 
 |  3958     SetOperandAt(0, object); | 
 |  3959     set_representation(Representation::Integer32()); | 
 |  3960   } | 
 |  3961  | 
 |  3962   HValue* object() { return OperandAt(0); } | 
 |  3963  | 
 |  3964   virtual Representation RequiredInputRepresentation(int index) { | 
 |  3965     return Representation::Tagged(); | 
 |  3966   } | 
 |  3967  | 
 |  3968   DECLARE_CONCRETE_INSTRUCTION(InstanceSize) | 
 |  3969 }; | 
 |  3970  | 
 |  3971  | 
|  3951 class HPower: public HTemplateInstruction<2> { |  3972 class HPower: public HTemplateInstruction<2> { | 
|  3952  public: |  3973  public: | 
|  3953   static HInstruction* New(Zone* zone, HValue* left, HValue* right); |  3974   static HInstruction* New(Zone* zone, HValue* left, HValue* right); | 
|  3954  |  3975  | 
|  3955   HValue* left() { return OperandAt(0); } |  3976   HValue* left() { return OperandAt(0); } | 
|  3956   HValue* right() const { return OperandAt(1); } |  3977   HValue* right() const { return OperandAt(1); } | 
|  3957  |  3978  | 
|  3958   virtual Representation RequiredInputRepresentation(int index) { |  3979   virtual Representation RequiredInputRepresentation(int index) { | 
|  3959     return index == 0 |  3980     return index == 0 | 
|  3960       ? Representation::Double() |  3981       ? Representation::Double() | 
| (...skipping 2158 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  6119   virtual bool IsDeletable() const { return true; } |  6140   virtual bool IsDeletable() const { return true; } | 
|  6120 }; |  6141 }; | 
|  6121  |  6142  | 
|  6122  |  6143  | 
|  6123 #undef DECLARE_INSTRUCTION |  6144 #undef DECLARE_INSTRUCTION | 
|  6124 #undef DECLARE_CONCRETE_INSTRUCTION |  6145 #undef DECLARE_CONCRETE_INSTRUCTION | 
|  6125  |  6146  | 
|  6126 } }  // namespace v8::internal |  6147 } }  // namespace v8::internal | 
|  6127  |  6148  | 
|  6128 #endif  // V8_HYDROGEN_INSTRUCTIONS_H_ |  6149 #endif  // V8_HYDROGEN_INSTRUCTIONS_H_ | 
| OLD | NEW |