| 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 1880 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1891     return Representation::Tagged(); | 1891     return Representation::Tagged(); | 
| 1892   } | 1892   } | 
| 1893 | 1893 | 
| 1894   DECLARE_CONCRETE_INSTRUCTION(LoadExternalArrayPointer) | 1894   DECLARE_CONCRETE_INSTRUCTION(LoadExternalArrayPointer) | 
| 1895 | 1895 | 
| 1896  protected: | 1896  protected: | 
| 1897   virtual bool DataEquals(HValue* other) { return true; } | 1897   virtual bool DataEquals(HValue* other) { return true; } | 
| 1898 }; | 1898 }; | 
| 1899 | 1899 | 
| 1900 | 1900 | 
| 1901 class HCheckMap: public HUnaryOperation { | 1901 class HCheckMap: public HTemplateInstruction<2> { | 
| 1902  public: | 1902  public: | 
| 1903   HCheckMap(HValue* value, Handle<Map> map) | 1903   HCheckMap(HValue* value, Handle<Map> map, HValue* typecheck = NULL) | 
| 1904       : HUnaryOperation(value), map_(map) { | 1904       : map_(map) { | 
|  | 1905     SetOperandAt(0, value); | 
|  | 1906     // If callers don't depend on a typecheck, they can pass in NULL. In that | 
|  | 1907     // case we use a copy of the |value| argument as a dummy value. | 
|  | 1908     SetOperandAt(1, typecheck != NULL ? typecheck : value); | 
| 1905     set_representation(Representation::Tagged()); | 1909     set_representation(Representation::Tagged()); | 
| 1906     SetFlag(kUseGVN); | 1910     SetFlag(kUseGVN); | 
| 1907     SetFlag(kDependsOnMaps); | 1911     SetFlag(kDependsOnMaps); | 
| 1908   } | 1912   } | 
| 1909 | 1913 | 
| 1910   virtual Representation RequiredInputRepresentation(int index) const { | 1914   virtual Representation RequiredInputRepresentation(int index) const { | 
| 1911     return Representation::Tagged(); | 1915     return Representation::Tagged(); | 
| 1912   } | 1916   } | 
| 1913   virtual void PrintDataTo(StringStream* stream); | 1917   virtual void PrintDataTo(StringStream* stream); | 
| 1914   virtual HType CalculateInferredType(); | 1918   virtual HType CalculateInferredType(); | 
| 1915 | 1919 | 
|  | 1920   HValue* value() { return OperandAt(0); } | 
| 1916   Handle<Map> map() const { return map_; } | 1921   Handle<Map> map() const { return map_; } | 
| 1917 | 1922 | 
| 1918   DECLARE_CONCRETE_INSTRUCTION(CheckMap) | 1923   DECLARE_CONCRETE_INSTRUCTION(CheckMap) | 
| 1919 | 1924 | 
| 1920  protected: | 1925  protected: | 
| 1921   virtual bool DataEquals(HValue* other) { | 1926   virtual bool DataEquals(HValue* other) { | 
| 1922     HCheckMap* b = HCheckMap::cast(other); | 1927     HCheckMap* b = HCheckMap::cast(other); | 
| 1923     return map_.is_identical_to(b->map()); | 1928     return map_.is_identical_to(b->map()); | 
| 1924   } | 1929   } | 
| 1925 | 1930 | 
| (...skipping 2259 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4185 | 4190 | 
| 4186   DECLARE_CONCRETE_INSTRUCTION(In) | 4191   DECLARE_CONCRETE_INSTRUCTION(In) | 
| 4187 }; | 4192 }; | 
| 4188 | 4193 | 
| 4189 #undef DECLARE_INSTRUCTION | 4194 #undef DECLARE_INSTRUCTION | 
| 4190 #undef DECLARE_CONCRETE_INSTRUCTION | 4195 #undef DECLARE_CONCRETE_INSTRUCTION | 
| 4191 | 4196 | 
| 4192 } }  // namespace v8::internal | 4197 } }  // namespace v8::internal | 
| 4193 | 4198 | 
| 4194 #endif  // V8_HYDROGEN_INSTRUCTIONS_H_ | 4199 #endif  // V8_HYDROGEN_INSTRUCTIONS_H_ | 
| OLD | NEW | 
|---|