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

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

Issue 6240012: Optimize calls to object literal properties that are initialized with a funct... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: rebased and fixed lintos Created 9 years, 9 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 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 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 V(StoreKeyedGeneric) \ 150 V(StoreKeyedGeneric) \
151 V(StoreNamedField) \ 151 V(StoreNamedField) \
152 V(StoreNamedGeneric) \ 152 V(StoreNamedGeneric) \
153 V(StorePixelArrayElement) \ 153 V(StorePixelArrayElement) \
154 V(StringCharCodeAt) \ 154 V(StringCharCodeAt) \
155 V(StringCharFromCode) \ 155 V(StringCharFromCode) \
156 V(StringLength) \ 156 V(StringLength) \
157 V(SubI) \ 157 V(SubI) \
158 V(TaggedToI) \ 158 V(TaggedToI) \
159 V(Throw) \ 159 V(Throw) \
160 V(ToFastProperties) \
160 V(Typeof) \ 161 V(Typeof) \
161 V(TypeofIs) \ 162 V(TypeofIs) \
162 V(TypeofIsAndBranch) \ 163 V(TypeofIsAndBranch) \
163 V(UnaryMathOperation) \ 164 V(UnaryMathOperation) \
164 V(UnknownOSRValue) \ 165 V(UnknownOSRValue) \
165 V(ValueOf) 166 V(ValueOf)
166 167
167 168
168 #define DECLARE_INSTRUCTION(type) \ 169 #define DECLARE_INSTRUCTION(type) \
169 virtual bool Is##type() const { return true; } \ 170 virtual bool Is##type() const { return true; } \
(...skipping 1670 matching lines...) Expand 10 before | Expand all | Expand 10 after
1840 1841
1841 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> { 1842 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> {
1842 public: 1843 public:
1843 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal") 1844 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal")
1844 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral) 1845 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral)
1845 1846
1846 Handle<SharedFunctionInfo> shared_info() { return hydrogen()->shared_info(); } 1847 Handle<SharedFunctionInfo> shared_info() { return hydrogen()->shared_info(); }
1847 }; 1848 };
1848 1849
1849 1850
1851 class LToFastProperties: public LTemplateInstruction<1, 1, 0> {
1852 public:
1853 explicit LToFastProperties(LOperand* value) {
1854 inputs_[0] = value;
1855 }
1856
1857 DECLARE_CONCRETE_INSTRUCTION(ToFastProperties, "to-fast-properties")
1858 DECLARE_HYDROGEN_ACCESSOR(ToFastProperties)
1859 };
1860
1861
1850 class LTypeof: public LTemplateInstruction<1, 1, 0> { 1862 class LTypeof: public LTemplateInstruction<1, 1, 0> {
1851 public: 1863 public:
1852 explicit LTypeof(LOperand* value) { 1864 explicit LTypeof(LOperand* value) {
1853 inputs_[0] = value; 1865 inputs_[0] = value;
1854 } 1866 }
1855 1867
1856 DECLARE_CONCRETE_INSTRUCTION(Typeof, "typeof") 1868 DECLARE_CONCRETE_INSTRUCTION(Typeof, "typeof")
1857 }; 1869 };
1858 1870
1859 1871
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
2152 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2164 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2153 }; 2165 };
2154 2166
2155 #undef DECLARE_HYDROGEN_ACCESSOR 2167 #undef DECLARE_HYDROGEN_ACCESSOR
2156 #undef DECLARE_INSTRUCTION 2168 #undef DECLARE_INSTRUCTION
2157 #undef DECLARE_CONCRETE_INSTRUCTION 2169 #undef DECLARE_CONCRETE_INSTRUCTION
2158 2170
2159 } } // namespace v8::internal 2171 } } // namespace v8::internal
2160 2172
2161 #endif // V8_IA32_LITHIUM_IA32_H_ 2173 #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