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

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: added x64 and arm code. Created 9 years, 10 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
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 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 V(StoreGlobal) \ 253 V(StoreGlobal) \
254 V(StoreKeyedFastElement) \ 254 V(StoreKeyedFastElement) \
255 V(StoreKeyedGeneric) \ 255 V(StoreKeyedGeneric) \
256 V(StoreNamedField) \ 256 V(StoreNamedField) \
257 V(StoreNamedGeneric) \ 257 V(StoreNamedGeneric) \
258 V(StringCharCodeAt) \ 258 V(StringCharCodeAt) \
259 V(StringLength) \ 259 V(StringLength) \
260 V(SubI) \ 260 V(SubI) \
261 V(TaggedToI) \ 261 V(TaggedToI) \
262 V(Throw) \ 262 V(Throw) \
263 V(ToFastProperties) \
263 V(Typeof) \ 264 V(Typeof) \
264 V(TypeofIs) \ 265 V(TypeofIs) \
265 V(TypeofIsAndBranch) \ 266 V(TypeofIsAndBranch) \
266 V(UnaryMathOperation) \ 267 V(UnaryMathOperation) \
267 V(UnknownOSRValue) \ 268 V(UnknownOSRValue) \
268 V(ValueOf) 269 V(ValueOf)
269 270
270 271
271 #define DECLARE_INSTRUCTION(type) \ 272 #define DECLARE_INSTRUCTION(type) \
272 virtual bool Is##type() const { return true; } \ 273 virtual bool Is##type() const { return true; } \
(...skipping 1442 matching lines...) Expand 10 before | Expand all | Expand 10 after
1715 1716
1716 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> { 1717 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> {
1717 public: 1718 public:
1718 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal") 1719 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal")
1719 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral) 1720 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral)
1720 1721
1721 Handle<SharedFunctionInfo> shared_info() { return hydrogen()->shared_info(); } 1722 Handle<SharedFunctionInfo> shared_info() { return hydrogen()->shared_info(); }
1722 }; 1723 };
1723 1724
1724 1725
1726 class LToFastProperties: public LTemplateInstruction<0, 1, 0> {
1727 public:
1728 explicit LToFastProperties(LOperand* value) {
1729 inputs_[0] = value;
1730 }
1731
1732 DECLARE_CONCRETE_INSTRUCTION(ToFastProperties, "to-fast-properties")
1733 DECLARE_HYDROGEN_ACCESSOR(ToFastProperties)
1734 };
1735
1736
1725 class LTypeof: public LTemplateInstruction<1, 1, 0> { 1737 class LTypeof: public LTemplateInstruction<1, 1, 0> {
1726 public: 1738 public:
1727 explicit LTypeof(LOperand* value) { 1739 explicit LTypeof(LOperand* value) {
1728 inputs_[0] = value; 1740 inputs_[0] = value;
1729 } 1741 }
1730 1742
1731 DECLARE_CONCRETE_INSTRUCTION(Typeof, "typeof") 1743 DECLARE_CONCRETE_INSTRUCTION(Typeof, "typeof")
1732 }; 1744 };
1733 1745
1734 1746
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
2021 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2033 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2022 }; 2034 };
2023 2035
2024 #undef DECLARE_HYDROGEN_ACCESSOR 2036 #undef DECLARE_HYDROGEN_ACCESSOR
2025 #undef DECLARE_INSTRUCTION 2037 #undef DECLARE_INSTRUCTION
2026 #undef DECLARE_CONCRETE_INSTRUCTION 2038 #undef DECLARE_CONCRETE_INSTRUCTION
2027 2039
2028 } } // namespace v8::internal 2040 } } // namespace v8::internal
2029 2041
2030 #endif // V8_IA32_LITHIUM_IA32_H_ 2042 #endif // V8_IA32_LITHIUM_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698