| 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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 V(Return) \ | 153 V(Return) \ |
| 154 V(SeqStringGetChar) \ | 154 V(SeqStringGetChar) \ |
| 155 V(SeqStringSetChar) \ | 155 V(SeqStringSetChar) \ |
| 156 V(ShiftI) \ | 156 V(ShiftI) \ |
| 157 V(SmiTag) \ | 157 V(SmiTag) \ |
| 158 V(SmiUntag) \ | 158 V(SmiUntag) \ |
| 159 V(StackCheck) \ | 159 V(StackCheck) \ |
| 160 V(StoreCodeEntry) \ | 160 V(StoreCodeEntry) \ |
| 161 V(StoreContextSlot) \ | 161 V(StoreContextSlot) \ |
| 162 V(StoreGlobalCell) \ | 162 V(StoreGlobalCell) \ |
| 163 V(StoreGlobalGeneric) \ | |
| 164 V(StoreKeyed) \ | 163 V(StoreKeyed) \ |
| 165 V(StoreKeyedGeneric) \ | 164 V(StoreKeyedGeneric) \ |
| 166 V(StoreNamedField) \ | 165 V(StoreNamedField) \ |
| 167 V(StoreNamedGeneric) \ | 166 V(StoreNamedGeneric) \ |
| 168 V(StringAdd) \ | 167 V(StringAdd) \ |
| 169 V(StringCharCodeAt) \ | 168 V(StringCharCodeAt) \ |
| 170 V(StringCharFromCode) \ | 169 V(StringCharFromCode) \ |
| 171 V(StringCompareAndBranch) \ | 170 V(StringCompareAndBranch) \ |
| 172 V(SubI) \ | 171 V(SubI) \ |
| 173 V(TaggedToI) \ | 172 V(TaggedToI) \ |
| (...skipping 1488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1662 inputs_[0] = value; | 1661 inputs_[0] = value; |
| 1663 } | 1662 } |
| 1664 | 1663 |
| 1665 LOperand* value() { return inputs_[0]; } | 1664 LOperand* value() { return inputs_[0]; } |
| 1666 | 1665 |
| 1667 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell, "store-global-cell") | 1666 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell, "store-global-cell") |
| 1668 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalCell) | 1667 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalCell) |
| 1669 }; | 1668 }; |
| 1670 | 1669 |
| 1671 | 1670 |
| 1672 class LStoreGlobalGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { | |
| 1673 public: | |
| 1674 LStoreGlobalGeneric(LOperand* context, | |
| 1675 LOperand* global_object, | |
| 1676 LOperand* value) { | |
| 1677 inputs_[0] = context; | |
| 1678 inputs_[1] = global_object; | |
| 1679 inputs_[2] = value; | |
| 1680 } | |
| 1681 | |
| 1682 LOperand* context() { return inputs_[0]; } | |
| 1683 LOperand* global_object() { return inputs_[1]; } | |
| 1684 LOperand* value() { return inputs_[2]; } | |
| 1685 | |
| 1686 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") | |
| 1687 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) | |
| 1688 | |
| 1689 Handle<Object> name() const { return hydrogen()->name(); } | |
| 1690 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); } | |
| 1691 }; | |
| 1692 | |
| 1693 | |
| 1694 class LLoadContextSlot V8_FINAL : public LTemplateInstruction<1, 1, 0> { | 1671 class LLoadContextSlot V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
| 1695 public: | 1672 public: |
| 1696 explicit LLoadContextSlot(LOperand* context) { | 1673 explicit LLoadContextSlot(LOperand* context) { |
| 1697 inputs_[0] = context; | 1674 inputs_[0] = context; |
| 1698 } | 1675 } |
| 1699 | 1676 |
| 1700 LOperand* context() { return inputs_[0]; } | 1677 LOperand* context() { return inputs_[0]; } |
| 1701 | 1678 |
| 1702 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") | 1679 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") |
| 1703 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) | 1680 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1865 | 1842 |
| 1866 int arity() const { return hydrogen()->argument_count() - 1; } | 1843 int arity() const { return hydrogen()->argument_count() - 1; } |
| 1867 }; | 1844 }; |
| 1868 | 1845 |
| 1869 | 1846 |
| 1870 class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> { | 1847 class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> { |
| 1871 public: | 1848 public: |
| 1872 LCallWithDescriptor(const CallInterfaceDescriptor* descriptor, | 1849 LCallWithDescriptor(const CallInterfaceDescriptor* descriptor, |
| 1873 ZoneList<LOperand*>& operands, | 1850 ZoneList<LOperand*>& operands, |
| 1874 Zone* zone) | 1851 Zone* zone) |
| 1875 : descriptor_(descriptor), | 1852 : inputs_(descriptor->environment_length() + 1, zone) { |
| 1876 inputs_(descriptor->environment_length() + 1, zone) { | |
| 1877 ASSERT(descriptor->environment_length() + 1 == operands.length()); | 1853 ASSERT(descriptor->environment_length() + 1 == operands.length()); |
| 1878 inputs_.AddAll(operands, zone); | 1854 inputs_.AddAll(operands, zone); |
| 1879 } | 1855 } |
| 1880 | 1856 |
| 1881 LOperand* target() const { return inputs_[0]; } | 1857 LOperand* target() const { return inputs_[0]; } |
| 1882 | 1858 |
| 1883 private: | 1859 private: |
| 1884 DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor") | 1860 DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor") |
| 1885 DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor) | 1861 DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor) |
| 1886 | 1862 |
| 1887 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 1863 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
| 1888 | 1864 |
| 1889 int arity() const { return hydrogen()->argument_count() - 1; } | 1865 int arity() const { return hydrogen()->argument_count() - 1; } |
| 1890 | 1866 |
| 1891 const CallInterfaceDescriptor* descriptor_; | |
| 1892 ZoneList<LOperand*> inputs_; | 1867 ZoneList<LOperand*> inputs_; |
| 1893 | 1868 |
| 1894 // Iterator support. | 1869 // Iterator support. |
| 1895 virtual int InputCount() V8_FINAL V8_OVERRIDE { return inputs_.length(); } | 1870 virtual int InputCount() V8_FINAL V8_OVERRIDE { return inputs_.length(); } |
| 1896 virtual LOperand* InputAt(int i) V8_FINAL V8_OVERRIDE { return inputs_[i]; } | 1871 virtual LOperand* InputAt(int i) V8_FINAL V8_OVERRIDE { return inputs_[i]; } |
| 1897 | 1872 |
| 1898 virtual int TempCount() V8_FINAL V8_OVERRIDE { return 0; } | 1873 virtual int TempCount() V8_FINAL V8_OVERRIDE { return 0; } |
| 1899 virtual LOperand* TempAt(int i) V8_FINAL V8_OVERRIDE { return NULL; } | 1874 virtual LOperand* TempAt(int i) V8_FINAL V8_OVERRIDE { return NULL; } |
| 1900 }; | 1875 }; |
| 1901 | 1876 |
| (...skipping 964 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2866 | 2841 |
| 2867 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2842 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2868 }; | 2843 }; |
| 2869 | 2844 |
| 2870 #undef DECLARE_HYDROGEN_ACCESSOR | 2845 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2871 #undef DECLARE_CONCRETE_INSTRUCTION | 2846 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2872 | 2847 |
| 2873 } } // namespace v8::internal | 2848 } } // namespace v8::internal |
| 2874 | 2849 |
| 2875 #endif // V8_IA32_LITHIUM_IA32_H_ | 2850 #endif // V8_IA32_LITHIUM_IA32_H_ |
| OLD | NEW |