Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Side by Side Diff: src/ia32/lithium-ia32.h

Issue 142893003: Merge bleeding_edge 18658:18677 (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/ia32/lithium-codegen-ia32.cc ('k') | src/ia32/lithium-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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_
OLDNEW
« no previous file with comments | « src/ia32/lithium-codegen-ia32.cc ('k') | src/ia32/lithium-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698