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

Side by Side Diff: src/crankshaft/arm/lithium-arm.cc

Issue 1731303002: [crankshaft] Remove useless HCallFunction instruction. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 9 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
« no previous file with comments | « src/crankshaft/arm/lithium-arm.h ('k') | src/crankshaft/arm/lithium-codegen-arm.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/crankshaft/arm/lithium-arm.h" 5 #include "src/crankshaft/arm/lithium-arm.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "src/crankshaft/arm/lithium-codegen-arm.h" 9 #include "src/crankshaft/arm/lithium-codegen-arm.h"
10 #include "src/crankshaft/hydrogen-osr.h" 10 #include "src/crankshaft/hydrogen-osr.h"
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 241
242 242
243 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) { 243 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) {
244 stream->Add(" = "); 244 stream->Add(" = ");
245 base_object()->PrintTo(stream); 245 base_object()->PrintTo(stream);
246 stream->Add(" + "); 246 stream->Add(" + ");
247 offset()->PrintTo(stream); 247 offset()->PrintTo(stream);
248 } 248 }
249 249
250 250
251 void LCallFunction::PrintDataTo(StringStream* stream) {
252 context()->PrintTo(stream);
253 stream->Add(" ");
254 function()->PrintTo(stream);
255 if (hydrogen()->HasVectorAndSlot()) {
256 stream->Add(" (type-feedback-vector ");
257 temp_vector()->PrintTo(stream);
258 stream->Add(" ");
259 temp_slot()->PrintTo(stream);
260 stream->Add(")");
261 }
262 }
263
264
265 void LCallJSFunction::PrintDataTo(StringStream* stream) { 251 void LCallJSFunction::PrintDataTo(StringStream* stream) {
266 stream->Add("= "); 252 stream->Add("= ");
267 function()->PrintTo(stream); 253 function()->PrintTo(stream);
268 stream->Add("#%d / ", arity()); 254 stream->Add("#%d / ", arity());
269 } 255 }
270 256
271 257
272 void LCallWithDescriptor::PrintDataTo(StringStream* stream) { 258 void LCallWithDescriptor::PrintDataTo(StringStream* stream) {
273 for (int i = 0; i < InputCount(); i++) { 259 for (int i = 0; i < InputCount(); i++) {
274 InputAt(i)->PrintTo(stream); 260 InputAt(i)->PrintTo(stream);
(...skipping 934 matching lines...) Expand 10 before | Expand all | Expand 10 after
1209 1195
1210 1196
1211 LInstruction* LChunkBuilder::DoCallNewArray(HCallNewArray* instr) { 1197 LInstruction* LChunkBuilder::DoCallNewArray(HCallNewArray* instr) {
1212 LOperand* context = UseFixed(instr->context(), cp); 1198 LOperand* context = UseFixed(instr->context(), cp);
1213 LOperand* constructor = UseFixed(instr->constructor(), r1); 1199 LOperand* constructor = UseFixed(instr->constructor(), r1);
1214 LCallNewArray* result = new(zone()) LCallNewArray(context, constructor); 1200 LCallNewArray* result = new(zone()) LCallNewArray(context, constructor);
1215 return MarkAsCall(DefineFixed(result, r0), instr); 1201 return MarkAsCall(DefineFixed(result, r0), instr);
1216 } 1202 }
1217 1203
1218 1204
1219 LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) {
1220 LOperand* context = UseFixed(instr->context(), cp);
1221 LOperand* function = UseFixed(instr->function(), r1);
1222 LOperand* slot = NULL;
1223 LOperand* vector = NULL;
1224 if (instr->HasVectorAndSlot()) {
1225 slot = FixedTemp(r3);
1226 vector = FixedTemp(r2);
1227 }
1228
1229 LCallFunction* call =
1230 new (zone()) LCallFunction(context, function, slot, vector);
1231 return MarkAsCall(DefineFixed(call, r0), instr);
1232 }
1233
1234
1235 LInstruction* LChunkBuilder::DoCallRuntime(HCallRuntime* instr) { 1205 LInstruction* LChunkBuilder::DoCallRuntime(HCallRuntime* instr) {
1236 LOperand* context = UseFixed(instr->context(), cp); 1206 LOperand* context = UseFixed(instr->context(), cp);
1237 return MarkAsCall(DefineFixed(new(zone()) LCallRuntime(context), r0), instr); 1207 return MarkAsCall(DefineFixed(new(zone()) LCallRuntime(context), r0), instr);
1238 } 1208 }
1239 1209
1240 1210
1241 LInstruction* LChunkBuilder::DoRor(HRor* instr) { 1211 LInstruction* LChunkBuilder::DoRor(HRor* instr) {
1242 return DoShift(Token::ROR, instr); 1212 return DoShift(Token::ROR, instr);
1243 } 1213 }
1244 1214
(...skipping 1352 matching lines...) Expand 10 before | Expand all | Expand 10 after
2597 } 2567 }
2598 2568
2599 2569
2600 LInstruction* LChunkBuilder::DoStoreFrameContext(HStoreFrameContext* instr) { 2570 LInstruction* LChunkBuilder::DoStoreFrameContext(HStoreFrameContext* instr) {
2601 LOperand* context = UseRegisterAtStart(instr->context()); 2571 LOperand* context = UseRegisterAtStart(instr->context());
2602 return new(zone()) LStoreFrameContext(context); 2572 return new(zone()) LStoreFrameContext(context);
2603 } 2573 }
2604 2574
2605 } // namespace internal 2575 } // namespace internal
2606 } // namespace v8 2576 } // namespace v8
OLDNEW
« no previous file with comments | « src/crankshaft/arm/lithium-arm.h ('k') | src/crankshaft/arm/lithium-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698