| 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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 V(IsObject) \ | 116 V(IsObject) \ |
| 117 V(IsSmi) \ | 117 V(IsSmi) \ |
| 118 V(IsConstructCall) \ | 118 V(IsConstructCall) \ |
| 119 V(JSArrayLength) \ | 119 V(JSArrayLength) \ |
| 120 V(LeaveInlined) \ | 120 V(LeaveInlined) \ |
| 121 V(LoadContextSlot) \ | 121 V(LoadContextSlot) \ |
| 122 V(LoadElements) \ | 122 V(LoadElements) \ |
| 123 V(LoadExternalArrayPointer) \ | 123 V(LoadExternalArrayPointer) \ |
| 124 V(LoadFunctionPrototype) \ | 124 V(LoadFunctionPrototype) \ |
| 125 V(LoadGlobal) \ | 125 V(LoadGlobal) \ |
| 126 V(LoadGlobalGeneric) \ |
| 126 V(LoadKeyedFastElement) \ | 127 V(LoadKeyedFastElement) \ |
| 127 V(LoadKeyedGeneric) \ | 128 V(LoadKeyedGeneric) \ |
| 128 V(LoadNamedField) \ | 129 V(LoadNamedField) \ |
| 129 V(LoadNamedGeneric) \ | 130 V(LoadNamedGeneric) \ |
| 130 V(LoadPixelArrayElement) \ | 131 V(LoadPixelArrayElement) \ |
| 131 V(Mod) \ | 132 V(Mod) \ |
| 132 V(Mul) \ | 133 V(Mul) \ |
| 133 V(ObjectLiteral) \ | 134 V(ObjectLiteral) \ |
| 134 V(OsrEntry) \ | 135 V(OsrEntry) \ |
| 135 V(OuterContext) \ | 136 V(OuterContext) \ |
| (...skipping 2668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2804 HLoadGlobal* b = HLoadGlobal::cast(other); | 2805 HLoadGlobal* b = HLoadGlobal::cast(other); |
| 2805 return cell_.is_identical_to(b->cell()); | 2806 return cell_.is_identical_to(b->cell()); |
| 2806 } | 2807 } |
| 2807 | 2808 |
| 2808 private: | 2809 private: |
| 2809 Handle<JSGlobalPropertyCell> cell_; | 2810 Handle<JSGlobalPropertyCell> cell_; |
| 2810 bool check_hole_value_; | 2811 bool check_hole_value_; |
| 2811 }; | 2812 }; |
| 2812 | 2813 |
| 2813 | 2814 |
| 2815 class HLoadGlobalGeneric: public HTemplateInstruction<2> { |
| 2816 public: |
| 2817 HLoadGlobalGeneric(HValue* context, |
| 2818 HValue* global_object, |
| 2819 Handle<String> name, |
| 2820 bool inside_typeof) |
| 2821 : name_(name), inside_typeof_(inside_typeof) { |
| 2822 SetOperandAt(0, context); |
| 2823 SetOperandAt(1, global_object); |
| 2824 set_representation(Representation::Tagged()); |
| 2825 SetAllSideEffects(); |
| 2826 } |
| 2827 |
| 2828 virtual void PrintDataTo(StringStream* stream); |
| 2829 |
| 2830 virtual Representation RequiredInputRepresentation(int index) const { |
| 2831 return Representation::None(); |
| 2832 } |
| 2833 |
| 2834 HValue* context() { return OperandAt(0); } |
| 2835 HValue* global_object() { return OperandAt(1); } |
| 2836 Handle<String> name() const { return name_; } |
| 2837 bool inside_typeof() const { return inside_typeof_; } |
| 2838 |
| 2839 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load_global_generic") |
| 2840 |
| 2841 private: |
| 2842 Handle<String> name_; |
| 2843 bool inside_typeof_; |
| 2844 }; |
| 2845 |
| 2846 |
| 2814 class HStoreGlobal: public HUnaryOperation { | 2847 class HStoreGlobal: public HUnaryOperation { |
| 2815 public: | 2848 public: |
| 2816 HStoreGlobal(HValue* value, | 2849 HStoreGlobal(HValue* value, |
| 2817 Handle<JSGlobalPropertyCell> cell, | 2850 Handle<JSGlobalPropertyCell> cell, |
| 2818 bool check_hole_value) | 2851 bool check_hole_value) |
| 2819 : HUnaryOperation(value), | 2852 : HUnaryOperation(value), |
| 2820 cell_(cell), | 2853 cell_(cell), |
| 2821 check_hole_value_(check_hole_value) { | 2854 check_hole_value_(check_hole_value) { |
| 2822 SetFlag(kChangesGlobalVars); | 2855 SetFlag(kChangesGlobalVars); |
| 2823 } | 2856 } |
| (...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3451 HValue* object() { return left(); } | 3484 HValue* object() { return left(); } |
| 3452 HValue* key() { return right(); } | 3485 HValue* key() { return right(); } |
| 3453 }; | 3486 }; |
| 3454 | 3487 |
| 3455 #undef DECLARE_INSTRUCTION | 3488 #undef DECLARE_INSTRUCTION |
| 3456 #undef DECLARE_CONCRETE_INSTRUCTION | 3489 #undef DECLARE_CONCRETE_INSTRUCTION |
| 3457 | 3490 |
| 3458 } } // namespace v8::internal | 3491 } } // namespace v8::internal |
| 3459 | 3492 |
| 3460 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 3493 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
| OLD | NEW |