| 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 5050 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5061   if (object->IsAllocate()) { | 5061   if (object->IsAllocate()) { | 
| 5062     return !HAllocate::cast(object)->GuaranteedInNewSpace(); | 5062     return !HAllocate::cast(object)->GuaranteedInNewSpace(); | 
| 5063   } | 5063   } | 
| 5064   return true; | 5064   return true; | 
| 5065 } | 5065 } | 
| 5066 | 5066 | 
| 5067 | 5067 | 
| 5068 class HStoreGlobalCell: public HUnaryOperation { | 5068 class HStoreGlobalCell: public HUnaryOperation { | 
| 5069  public: | 5069  public: | 
| 5070   HStoreGlobalCell(HValue* value, | 5070   HStoreGlobalCell(HValue* value, | 
| 5071                    Handle<JSGlobalPropertyCell> cell, | 5071                    Handle<PropertyCell> cell, | 
| 5072                    PropertyDetails details) | 5072                    PropertyDetails details) | 
| 5073       : HUnaryOperation(value), | 5073       : HUnaryOperation(value), | 
| 5074         cell_(cell), | 5074         cell_(cell), | 
| 5075         details_(details) { | 5075         details_(details) { | 
| 5076     SetGVNFlag(kChangesGlobalVars); | 5076     SetGVNFlag(kChangesGlobalVars); | 
| 5077   } | 5077   } | 
| 5078 | 5078 | 
| 5079   Handle<JSGlobalPropertyCell> cell() const { return cell_; } | 5079   Handle<PropertyCell> cell() const { return cell_; } | 
| 5080   bool RequiresHoleCheck() { | 5080   bool RequiresHoleCheck() { | 
| 5081     return !details_.IsDontDelete() || details_.IsReadOnly(); | 5081     return !details_.IsDontDelete() || details_.IsReadOnly(); | 
| 5082   } | 5082   } | 
| 5083   bool NeedsWriteBarrier() { | 5083   bool NeedsWriteBarrier() { | 
| 5084     return StoringValueNeedsWriteBarrier(value()); | 5084     return StoringValueNeedsWriteBarrier(value()); | 
| 5085   } | 5085   } | 
| 5086 | 5086 | 
| 5087   virtual Representation RequiredInputRepresentation(int index) { | 5087   virtual Representation RequiredInputRepresentation(int index) { | 
| 5088     return Representation::Tagged(); | 5088     return Representation::Tagged(); | 
| 5089   } | 5089   } | 
| 5090   virtual void PrintDataTo(StringStream* stream); | 5090   virtual void PrintDataTo(StringStream* stream); | 
| 5091 | 5091 | 
| 5092   DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell) | 5092   DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell) | 
| 5093 | 5093 | 
| 5094  private: | 5094  private: | 
| 5095   Handle<JSGlobalPropertyCell> cell_; | 5095   Handle<PropertyCell> cell_; | 
| 5096   PropertyDetails details_; | 5096   PropertyDetails details_; | 
| 5097 }; | 5097 }; | 
| 5098 | 5098 | 
| 5099 | 5099 | 
| 5100 class HStoreGlobalGeneric: public HTemplateInstruction<3> { | 5100 class HStoreGlobalGeneric: public HTemplateInstruction<3> { | 
| 5101  public: | 5101  public: | 
| 5102   HStoreGlobalGeneric(HValue* context, | 5102   HStoreGlobalGeneric(HValue* context, | 
| 5103                       HValue* global_object, | 5103                       HValue* global_object, | 
| 5104                       Handle<Object> name, | 5104                       Handle<Object> name, | 
| 5105                       HValue* value, | 5105                       HValue* value, | 
| (...skipping 1502 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 6608   virtual bool IsDeletable() const { return true; } | 6608   virtual bool IsDeletable() const { return true; } | 
| 6609 }; | 6609 }; | 
| 6610 | 6610 | 
| 6611 | 6611 | 
| 6612 #undef DECLARE_INSTRUCTION | 6612 #undef DECLARE_INSTRUCTION | 
| 6613 #undef DECLARE_CONCRETE_INSTRUCTION | 6613 #undef DECLARE_CONCRETE_INSTRUCTION | 
| 6614 | 6614 | 
| 6615 } }  // namespace v8::internal | 6615 } }  // namespace v8::internal | 
| 6616 | 6616 | 
| 6617 #endif  // V8_HYDROGEN_INSTRUCTIONS_H_ | 6617 #endif  // V8_HYDROGEN_INSTRUCTIONS_H_ | 
| OLD | NEW | 
|---|