Chromium Code Reviews| 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 4970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4981 DECLARE_CONCRETE_INSTRUCTION(CallStub) | 4981 DECLARE_CONCRETE_INSTRUCTION(CallStub) |
| 4982 | 4982 |
| 4983 private: | 4983 private: |
| 4984 CodeStub::Major major_key_; | 4984 CodeStub::Major major_key_; |
| 4985 TranscendentalCache::Type transcendental_type_; | 4985 TranscendentalCache::Type transcendental_type_; |
| 4986 }; | 4986 }; |
| 4987 | 4987 |
| 4988 | 4988 |
| 4989 class HUnknownOSRValue V8_FINAL : public HTemplateInstruction<0> { | 4989 class HUnknownOSRValue V8_FINAL : public HTemplateInstruction<0> { |
| 4990 public: | 4990 public: |
| 4991 DECLARE_INSTRUCTION_FACTORY_P0(HUnknownOSRValue) | 4991 DECLARE_INSTRUCTION_FACTORY_P2(HUnknownOSRValue, HEnvironment*, int); |
| 4992 | |
| 4993 virtual void PrintDataTo(StringStream* stream); | |
| 4992 | 4994 |
| 4993 virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { | 4995 virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
| 4994 return Representation::None(); | 4996 return Representation::None(); |
| 4995 } | 4997 } |
| 4996 | 4998 |
| 4997 void set_incoming_value(HPhi* value) { | 4999 void set_incoming_value(HPhi* value) { incoming_value_ = value; } |
| 4998 incoming_value_ = value; | 5000 HPhi* incoming_value() { return incoming_value_; } |
| 4999 } | 5001 HEnvironment *environment() { return environment_; } |
|
Michael Starzinger
2013/09/09 15:34:44
I still don't like the fact that we preserve the f
| |
| 5000 | 5002 int index() { return index_; } |
| 5001 HPhi* incoming_value() { | |
| 5002 return incoming_value_; | |
| 5003 } | |
| 5004 | 5003 |
| 5005 virtual Representation KnownOptimalRepresentation() V8_OVERRIDE { | 5004 virtual Representation KnownOptimalRepresentation() V8_OVERRIDE { |
| 5006 if (incoming_value_ == NULL) return Representation::None(); | 5005 if (incoming_value_ == NULL) return Representation::None(); |
| 5007 return incoming_value_->KnownOptimalRepresentation(); | 5006 return incoming_value_->KnownOptimalRepresentation(); |
| 5008 } | 5007 } |
| 5009 | 5008 |
| 5010 DECLARE_CONCRETE_INSTRUCTION(UnknownOSRValue) | 5009 DECLARE_CONCRETE_INSTRUCTION(UnknownOSRValue) |
| 5011 | 5010 |
| 5012 private: | 5011 private: |
| 5013 HUnknownOSRValue() | 5012 HUnknownOSRValue(HEnvironment* environment, int index) |
| 5014 : incoming_value_(NULL) { | 5013 : environment_(environment), |
| 5014 index_(index), | |
| 5015 incoming_value_(NULL) { | |
| 5015 set_representation(Representation::Tagged()); | 5016 set_representation(Representation::Tagged()); |
| 5016 } | 5017 } |
| 5017 | 5018 |
| 5019 HEnvironment* environment_; | |
| 5020 int index_; | |
| 5018 HPhi* incoming_value_; | 5021 HPhi* incoming_value_; |
| 5019 }; | 5022 }; |
| 5020 | 5023 |
| 5021 | 5024 |
| 5022 class HLoadGlobalCell V8_FINAL : public HTemplateInstruction<0> { | 5025 class HLoadGlobalCell V8_FINAL : public HTemplateInstruction<0> { |
| 5023 public: | 5026 public: |
| 5024 HLoadGlobalCell(Handle<Cell> cell, PropertyDetails details) | 5027 HLoadGlobalCell(Handle<Cell> cell, PropertyDetails details) |
| 5025 : cell_(cell), details_(details), unique_id_() { | 5028 : cell_(cell), details_(details), unique_id_() { |
| 5026 set_representation(Representation::Tagged()); | 5029 set_representation(Representation::Tagged()); |
| 5027 SetFlag(kUseGVN); | 5030 SetFlag(kUseGVN); |
| (...skipping 1919 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6947 virtual bool IsDeletable() const V8_OVERRIDE { return true; } | 6950 virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
| 6948 }; | 6951 }; |
| 6949 | 6952 |
| 6950 | 6953 |
| 6951 #undef DECLARE_INSTRUCTION | 6954 #undef DECLARE_INSTRUCTION |
| 6952 #undef DECLARE_CONCRETE_INSTRUCTION | 6955 #undef DECLARE_CONCRETE_INSTRUCTION |
| 6953 | 6956 |
| 6954 } } // namespace v8::internal | 6957 } } // namespace v8::internal |
| 6955 | 6958 |
| 6956 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 6959 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
| OLD | NEW |