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

Side by Side Diff: src/x64/lithium-x64.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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 V(SmiTag) \ 248 V(SmiTag) \
249 V(SmiUntag) \ 249 V(SmiUntag) \
250 V(StackCheck) \ 250 V(StackCheck) \
251 V(StoreGlobal) \ 251 V(StoreGlobal) \
252 V(StoreKeyedFastElement) \ 252 V(StoreKeyedFastElement) \
253 V(StoreKeyedGeneric) \ 253 V(StoreKeyedGeneric) \
254 V(StoreNamedField) \ 254 V(StoreNamedField) \
255 V(StoreNamedGeneric) \ 255 V(StoreNamedGeneric) \
256 V(SubI) \ 256 V(SubI) \
257 V(TaggedToI) \ 257 V(TaggedToI) \
258 V(ToFastProperties) \
258 V(Throw) \ 259 V(Throw) \
259 V(Typeof) \ 260 V(Typeof) \
260 V(TypeofIs) \ 261 V(TypeofIs) \
261 V(TypeofIsAndBranch) \ 262 V(TypeofIsAndBranch) \
262 V(UnaryMathOperation) \ 263 V(UnaryMathOperation) \
263 V(UnknownOSRValue) \ 264 V(UnknownOSRValue) \
264 V(ValueOf) 265 V(ValueOf)
265 266
266 267
267 #define DECLARE_INSTRUCTION(type) \ 268 #define DECLARE_INSTRUCTION(type) \
(...skipping 1413 matching lines...) Expand 10 before | Expand all | Expand 10 after
1681 1682
1682 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> { 1683 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> {
1683 public: 1684 public:
1684 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal") 1685 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal")
1685 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral) 1686 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral)
1686 1687
1687 Handle<SharedFunctionInfo> shared_info() { return hydrogen()->shared_info(); } 1688 Handle<SharedFunctionInfo> shared_info() { return hydrogen()->shared_info(); }
1688 }; 1689 };
1689 1690
1690 1691
1692 class LToFastProperties: public LTemplateInstruction<0, 1, 0> {
1693 public:
1694 explicit LToFastProperties(LOperand* value) {
1695 inputs_[0] = value;
1696 }
1697
1698 DECLARE_CONCRETE_INSTRUCTION(ToFastProperties, "to-fast-properties")
1699 DECLARE_HYDROGEN_ACCESSOR(ToFastProperties)
1700 };
1701
1702
1691 class LTypeof: public LTemplateInstruction<1, 1, 0> { 1703 class LTypeof: public LTemplateInstruction<1, 1, 0> {
1692 public: 1704 public:
1693 explicit LTypeof(LOperand* value) { 1705 explicit LTypeof(LOperand* value) {
1694 inputs_[0] = value; 1706 inputs_[0] = value;
1695 } 1707 }
1696 1708
1697 DECLARE_CONCRETE_INSTRUCTION(Typeof, "typeof") 1709 DECLARE_CONCRETE_INSTRUCTION(Typeof, "typeof")
1698 }; 1710 };
1699 1711
1700 1712
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
1987 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 1999 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
1988 }; 2000 };
1989 2001
1990 #undef DECLARE_HYDROGEN_ACCESSOR 2002 #undef DECLARE_HYDROGEN_ACCESSOR
1991 #undef DECLARE_INSTRUCTION 2003 #undef DECLARE_INSTRUCTION
1992 #undef DECLARE_CONCRETE_INSTRUCTION 2004 #undef DECLARE_CONCRETE_INSTRUCTION
1993 2005
1994 } } // namespace v8::int 2006 } } // namespace v8::int
1995 2007
1996 #endif // V8_X64_LITHIUM_X64_H_ 2008 #endif // V8_X64_LITHIUM_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698