OLD | NEW |
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 <sstream> | 5 #include <sstream> |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #include "src/arm/lithium-codegen-arm.h" | 9 #include "src/arm/lithium-codegen-arm.h" |
10 #include "src/hydrogen-osr.h" | 10 #include "src/hydrogen-osr.h" |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 | 248 |
249 | 249 |
250 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) { | 250 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) { |
251 stream->Add(" = "); | 251 stream->Add(" = "); |
252 base_object()->PrintTo(stream); | 252 base_object()->PrintTo(stream); |
253 stream->Add(" + "); | 253 stream->Add(" + "); |
254 offset()->PrintTo(stream); | 254 offset()->PrintTo(stream); |
255 } | 255 } |
256 | 256 |
257 | 257 |
| 258 void LCallFunction::PrintDataTo(StringStream* stream) { |
| 259 context()->PrintTo(stream); |
| 260 stream->Add(" "); |
| 261 function()->PrintTo(stream); |
| 262 if (hydrogen()->HasVectorAndSlot()) { |
| 263 stream->Add(" (type-feedback-vector "); |
| 264 temp_vector()->PrintTo(stream); |
| 265 stream->Add(" "); |
| 266 temp_slot()->PrintTo(stream); |
| 267 stream->Add(")"); |
| 268 } |
| 269 } |
| 270 |
| 271 |
258 void LCallJSFunction::PrintDataTo(StringStream* stream) { | 272 void LCallJSFunction::PrintDataTo(StringStream* stream) { |
259 stream->Add("= "); | 273 stream->Add("= "); |
260 function()->PrintTo(stream); | 274 function()->PrintTo(stream); |
261 stream->Add("#%d / ", arity()); | 275 stream->Add("#%d / ", arity()); |
262 } | 276 } |
263 | 277 |
264 | 278 |
265 void LCallWithDescriptor::PrintDataTo(StringStream* stream) { | 279 void LCallWithDescriptor::PrintDataTo(StringStream* stream) { |
266 for (int i = 0; i < InputCount(); i++) { | 280 for (int i = 0; i < InputCount(); i++) { |
267 InputAt(i)->PrintTo(stream); | 281 InputAt(i)->PrintTo(stream); |
(...skipping 968 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1236 LOperand* context = UseFixed(instr->context(), cp); | 1250 LOperand* context = UseFixed(instr->context(), cp); |
1237 LOperand* constructor = UseFixed(instr->constructor(), r1); | 1251 LOperand* constructor = UseFixed(instr->constructor(), r1); |
1238 LCallNewArray* result = new(zone()) LCallNewArray(context, constructor); | 1252 LCallNewArray* result = new(zone()) LCallNewArray(context, constructor); |
1239 return MarkAsCall(DefineFixed(result, r0), instr); | 1253 return MarkAsCall(DefineFixed(result, r0), instr); |
1240 } | 1254 } |
1241 | 1255 |
1242 | 1256 |
1243 LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) { | 1257 LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) { |
1244 LOperand* context = UseFixed(instr->context(), cp); | 1258 LOperand* context = UseFixed(instr->context(), cp); |
1245 LOperand* function = UseFixed(instr->function(), r1); | 1259 LOperand* function = UseFixed(instr->function(), r1); |
1246 LCallFunction* call = new(zone()) LCallFunction(context, function); | 1260 LOperand* slot = NULL; |
| 1261 LOperand* vector = NULL; |
| 1262 if (instr->HasVectorAndSlot()) { |
| 1263 slot = FixedTemp(r3); |
| 1264 vector = FixedTemp(r2); |
| 1265 } |
| 1266 |
| 1267 LCallFunction* call = |
| 1268 new (zone()) LCallFunction(context, function, slot, vector); |
1247 return MarkAsCall(DefineFixed(call, r0), instr); | 1269 return MarkAsCall(DefineFixed(call, r0), instr); |
1248 } | 1270 } |
1249 | 1271 |
1250 | 1272 |
1251 LInstruction* LChunkBuilder::DoCallRuntime(HCallRuntime* instr) { | 1273 LInstruction* LChunkBuilder::DoCallRuntime(HCallRuntime* instr) { |
1252 LOperand* context = UseFixed(instr->context(), cp); | 1274 LOperand* context = UseFixed(instr->context(), cp); |
1253 return MarkAsCall(DefineFixed(new(zone()) LCallRuntime(context), r0), instr); | 1275 return MarkAsCall(DefineFixed(new(zone()) LCallRuntime(context), r0), instr); |
1254 } | 1276 } |
1255 | 1277 |
1256 | 1278 |
(...skipping 1394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2651 LInstruction* LChunkBuilder::DoAllocateBlockContext( | 2673 LInstruction* LChunkBuilder::DoAllocateBlockContext( |
2652 HAllocateBlockContext* instr) { | 2674 HAllocateBlockContext* instr) { |
2653 LOperand* context = UseFixed(instr->context(), cp); | 2675 LOperand* context = UseFixed(instr->context(), cp); |
2654 LOperand* function = UseRegisterAtStart(instr->function()); | 2676 LOperand* function = UseRegisterAtStart(instr->function()); |
2655 LAllocateBlockContext* result = | 2677 LAllocateBlockContext* result = |
2656 new(zone()) LAllocateBlockContext(context, function); | 2678 new(zone()) LAllocateBlockContext(context, function); |
2657 return MarkAsCall(DefineFixed(result, cp), instr); | 2679 return MarkAsCall(DefineFixed(result, cp), instr); |
2658 } | 2680 } |
2659 | 2681 |
2660 } } // namespace v8::internal | 2682 } } // namespace v8::internal |
OLD | NEW |