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

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

Issue 5753005: Make closures optimizable by Crankshaft compiler. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressing next round of Florian's comments Created 10 years 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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 stream->Add("#%d / ", arity()); 263 stream->Add("#%d / ", arity());
264 } 264 }
265 265
266 266
267 void LUnaryMathOperation::PrintDataTo(StringStream* stream) const { 267 void LUnaryMathOperation::PrintDataTo(StringStream* stream) const {
268 stream->Add("/%s ", hydrogen()->OpName()); 268 stream->Add("/%s ", hydrogen()->OpName());
269 input()->PrintTo(stream); 269 input()->PrintTo(stream);
270 } 270 }
271 271
272 272
273 void LLoadContextSlot::PrintDataTo(StringStream* stream) const {
274 hydrogen()->PrintDataTo(stream);
Kevin Millikin (Chromium) 2010/12/20 12:05:44 I wouldn't forward to the hydrogen instruction lik
antonm 2010/12/20 20:39:24 Done.
275 }
276
277
273 void LCallKeyed::PrintDataTo(StringStream* stream) const { 278 void LCallKeyed::PrintDataTo(StringStream* stream) const {
274 stream->Add("[ecx] #%d / ", arity()); 279 stream->Add("[ecx] #%d / ", arity());
275 } 280 }
276 281
277 282
278 void LCallNamed::PrintDataTo(StringStream* stream) const { 283 void LCallNamed::PrintDataTo(StringStream* stream) const {
279 SmartPointer<char> name_string = name()->ToCString(); 284 SmartPointer<char> name_string = name()->ToCString();
280 stream->Add("%s #%d / ", *name_string, arity()); 285 stream->Add("%s #%d / ", *name_string, arity());
281 } 286 }
282 287
(...skipping 1569 matching lines...) Expand 10 before | Expand all | Expand 10 after
1852 ? AssignEnvironment(DefineAsRegister(result)) 1857 ? AssignEnvironment(DefineAsRegister(result))
1853 : DefineAsRegister(result); 1858 : DefineAsRegister(result);
1854 } 1859 }
1855 1860
1856 1861
1857 LInstruction* LChunkBuilder::DoStoreGlobal(HStoreGlobal* instr) { 1862 LInstruction* LChunkBuilder::DoStoreGlobal(HStoreGlobal* instr) {
1858 return new LStoreGlobal(UseRegisterAtStart(instr->value())); 1863 return new LStoreGlobal(UseRegisterAtStart(instr->value()));
1859 } 1864 }
1860 1865
1861 1866
1867 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) {
1868 return DefineAsRegister(new LLoadContextSlot);
1869 }
1870
1871
1862 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) { 1872 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) {
1863 return DefineAsRegister( 1873 return DefineAsRegister(
1864 new LLoadNamedField(UseRegisterAtStart(instr->object()))); 1874 new LLoadNamedField(UseRegisterAtStart(instr->object())));
1865 } 1875 }
1866 1876
1867 1877
1868 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { 1878 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) {
1869 LOperand* object = UseFixed(instr->object(), eax); 1879 LOperand* object = UseFixed(instr->object(), eax);
1870 LInstruction* result = DefineFixed(new LLoadNamedGeneric(object), eax); 1880 LInstruction* result = DefineFixed(new LLoadNamedGeneric(object), eax);
1871 return MarkAsCall(result, instr); 1881 return MarkAsCall(result, instr);
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
2131 void LPointerMap::PrintTo(StringStream* stream) const { 2141 void LPointerMap::PrintTo(StringStream* stream) const {
2132 stream->Add("{"); 2142 stream->Add("{");
2133 for (int i = 0; i < pointer_operands_.length(); ++i) { 2143 for (int i = 0; i < pointer_operands_.length(); ++i) {
2134 if (i != 0) stream->Add(";"); 2144 if (i != 0) stream->Add(";");
2135 pointer_operands_[i]->PrintTo(stream); 2145 pointer_operands_[i]->PrintTo(stream);
2136 } 2146 }
2137 stream->Add("} @%d", position()); 2147 stream->Add("} @%d", position());
2138 } 2148 }
2139 2149
2140 } } // namespace v8::internal 2150 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698