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

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: Rebasing to ToT 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
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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 // LConstant 82 // LConstant
83 // LConstantD 83 // LConstantD
84 // LConstantI 84 // LConstantI
85 // LConstantT 85 // LConstantT
86 // LDeoptimize 86 // LDeoptimize
87 // LFunctionLiteral 87 // LFunctionLiteral
88 // LGlobalObject 88 // LGlobalObject
89 // LGlobalReceiver 89 // LGlobalReceiver
90 // LLabel 90 // LLabel
91 // LLayzBailout 91 // LLayzBailout
92 // LLoadContextSlot
92 // LLoadGlobal 93 // LLoadGlobal
93 // LMaterializedLiteral 94 // LMaterializedLiteral
94 // LArrayLiteral 95 // LArrayLiteral
95 // LObjectLiteral 96 // LObjectLiteral
96 // LRegExpLiteral 97 // LRegExpLiteral
97 // LOsrEntry 98 // LOsrEntry
98 // LParameter 99 // LParameter
99 // LRegExpConstructResult 100 // LRegExpConstructResult
100 // LStackCheck 101 // LStackCheck
101 // LStoreKeyed 102 // LStoreKeyed
(...skipping 116 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 1097 matching lines...) Expand 10 before | Expand all | Expand 10 after
1335 1337
1336 class LStoreGlobal: public LUnaryOperation<1> { 1338 class LStoreGlobal: public LUnaryOperation<1> {
1337 public: 1339 public:
1338 explicit LStoreGlobal(LOperand* value) : LUnaryOperation<1>(value) {} 1340 explicit LStoreGlobal(LOperand* value) : LUnaryOperation<1>(value) {}
1339 1341
1340 DECLARE_CONCRETE_INSTRUCTION(StoreGlobal, "store-global") 1342 DECLARE_CONCRETE_INSTRUCTION(StoreGlobal, "store-global")
1341 DECLARE_HYDROGEN_ACCESSOR(StoreGlobal) 1343 DECLARE_HYDROGEN_ACCESSOR(StoreGlobal)
1342 }; 1344 };
1343 1345
1344 1346
1347 class LLoadContextSlot: public LTemplateInstruction<1> {
1348 public:
1349 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot")
1350 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot)
1351
1352 int context_chain_length() const {
1353 return hydrogen()->context_chain_length();
1354 }
1355 int slot_index() const { return hydrogen()->slot_index(); }
1356
1357 virtual void PrintDataTo(StringStream* stream);
1358 };
1359
1360
1345 class LPushArgument: public LUnaryOperation<1> { 1361 class LPushArgument: public LUnaryOperation<1> {
1346 public: 1362 public:
1347 explicit LPushArgument(LOperand* argument) : LUnaryOperation<1>(argument) {} 1363 explicit LPushArgument(LOperand* argument) : LUnaryOperation<1>(argument) {}
1348 1364
1349 DECLARE_CONCRETE_INSTRUCTION(PushArgument, "push-argument") 1365 DECLARE_CONCRETE_INSTRUCTION(PushArgument, "push-argument")
1350 }; 1366 };
1351 1367
1352 1368
1353 class LGlobalObject: public LTemplateInstruction<1> { 1369 class LGlobalObject: public LTemplateInstruction<1> {
1354 public: 1370 public:
(...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after
2140 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2156 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2141 }; 2157 };
2142 2158
2143 #undef DECLARE_HYDROGEN_ACCESSOR 2159 #undef DECLARE_HYDROGEN_ACCESSOR
2144 #undef DECLARE_INSTRUCTION 2160 #undef DECLARE_INSTRUCTION
2145 #undef DECLARE_CONCRETE_INSTRUCTION 2161 #undef DECLARE_CONCRETE_INSTRUCTION
2146 2162
2147 } } // namespace v8::internal 2163 } } // namespace v8::internal
2148 2164
2149 #endif // V8_IA32_LITHIUM_IA32_H_ 2165 #endif // V8_IA32_LITHIUM_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698