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

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

Issue 5753005: Make closures optimizable by Crankshaft compiler. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Next round Created 9 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 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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 // LConstantI 83 // LConstantI
84 // LConstantT 84 // LConstantT
85 // LDeoptimize 85 // LDeoptimize
86 // LFunctionLiteral 86 // LFunctionLiteral
87 // LGap 87 // LGap
88 // LLabel 88 // LLabel
89 // LGlobalObject 89 // LGlobalObject
90 // LGlobalReceiver 90 // LGlobalReceiver
91 // LGoto 91 // LGoto
92 // LLazyBailout 92 // LLazyBailout
93 // LLoadContextSlot
93 // LLoadGlobal 94 // LLoadGlobal
94 // LMaterializedLiteral 95 // LMaterializedLiteral
95 // LArrayLiteral 96 // LArrayLiteral
96 // LObjectLiteral 97 // LObjectLiteral
97 // LRegExpLiteral 98 // LRegExpLiteral
98 // LOsrEntry 99 // LOsrEntry
99 // LParameter 100 // LParameter
100 // LRegExpConstructResult 101 // LRegExpConstructResult
101 // LStackCheck 102 // LStackCheck
102 // LStoreKeyed 103 // LStoreKeyed
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 V(IsSmiAndBranch) \ 219 V(IsSmiAndBranch) \
219 V(JSArrayLength) \ 220 V(JSArrayLength) \
220 V(HasInstanceType) \ 221 V(HasInstanceType) \
221 V(HasInstanceTypeAndBranch) \ 222 V(HasInstanceTypeAndBranch) \
222 V(HasCachedArrayIndex) \ 223 V(HasCachedArrayIndex) \
223 V(HasCachedArrayIndexAndBranch) \ 224 V(HasCachedArrayIndexAndBranch) \
224 V(ClassOfTest) \ 225 V(ClassOfTest) \
225 V(ClassOfTestAndBranch) \ 226 V(ClassOfTestAndBranch) \
226 V(Label) \ 227 V(Label) \
227 V(LazyBailout) \ 228 V(LazyBailout) \
229 V(LoadContextSlot) \
228 V(LoadElements) \ 230 V(LoadElements) \
229 V(LoadGlobal) \ 231 V(LoadGlobal) \
230 V(LoadKeyedFastElement) \ 232 V(LoadKeyedFastElement) \
231 V(LoadKeyedGeneric) \ 233 V(LoadKeyedGeneric) \
232 V(LoadNamedField) \ 234 V(LoadNamedField) \
233 V(LoadNamedGeneric) \ 235 V(LoadNamedGeneric) \
234 V(LoadFunctionPrototype) \ 236 V(LoadFunctionPrototype) \
235 V(ModI) \ 237 V(ModI) \
236 V(MulI) \ 238 V(MulI) \
237 V(NumberTagD) \ 239 V(NumberTagD) \
(...skipping 1104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1342 1344
1343 class LStoreGlobal: public LUnaryOperation<0> { 1345 class LStoreGlobal: public LUnaryOperation<0> {
1344 public: 1346 public:
1345 explicit LStoreGlobal(LOperand* value) : LUnaryOperation<0>(value) {} 1347 explicit LStoreGlobal(LOperand* value) : LUnaryOperation<0>(value) {}
1346 1348
1347 DECLARE_CONCRETE_INSTRUCTION(StoreGlobal, "store-global") 1349 DECLARE_CONCRETE_INSTRUCTION(StoreGlobal, "store-global")
1348 DECLARE_HYDROGEN_ACCESSOR(StoreGlobal) 1350 DECLARE_HYDROGEN_ACCESSOR(StoreGlobal)
1349 }; 1351 };
1350 1352
1351 1353
1354 class LLoadContextSlot: public LTemplateInstruction<1, 0, 0> {
1355 public:
1356 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot")
1357 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot)
1358
1359 int context_chain_length() const {
1360 return hydrogen()->context_chain_length();
1361 }
1362 int slot_index() const { return hydrogen()->slot_index(); }
1363
1364 virtual void PrintDataTo(StringStream* stream);
1365 };
1366
1367
1352 class LPushArgument: public LUnaryOperation<0> { 1368 class LPushArgument: public LUnaryOperation<0> {
1353 public: 1369 public:
1354 explicit LPushArgument(LOperand* argument) : LUnaryOperation<0>(argument) {} 1370 explicit LPushArgument(LOperand* argument) : LUnaryOperation<0>(argument) {}
1355 1371
1356 DECLARE_CONCRETE_INSTRUCTION(PushArgument, "push-argument") 1372 DECLARE_CONCRETE_INSTRUCTION(PushArgument, "push-argument")
1357 }; 1373 };
1358 1374
1359 1375
1360 class LGlobalObject: public LTemplateInstruction<1, 0, 0> { 1376 class LGlobalObject: public LTemplateInstruction<1, 0, 0> {
1361 public: 1377 public:
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after
2032 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2048 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2033 }; 2049 };
2034 2050
2035 #undef DECLARE_HYDROGEN_ACCESSOR 2051 #undef DECLARE_HYDROGEN_ACCESSOR
2036 #undef DECLARE_INSTRUCTION 2052 #undef DECLARE_INSTRUCTION
2037 #undef DECLARE_CONCRETE_INSTRUCTION 2053 #undef DECLARE_CONCRETE_INSTRUCTION
2038 2054
2039 } } // namespace v8::internal 2055 } } // namespace v8::internal
2040 2056
2041 #endif // V8_IA32_LITHIUM_IA32_H_ 2057 #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