| Index: src/ia32/lithium-ia32.cc
|
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
|
| index 51a9b62fb25b1fda34be603146569fc310595329..1c8d075dcb8713e8ff40ccc3cf3de3bf8b8d6d77 100644
|
| --- a/src/ia32/lithium-ia32.cc
|
| +++ b/src/ia32/lithium-ia32.cc
|
| @@ -274,6 +274,20 @@ void LInnerAllocatedObject::PrintDataTo(StringStream* stream) {
|
| }
|
|
|
|
|
| +void LCallFunction::PrintDataTo(StringStream* stream) {
|
| + context()->PrintTo(stream);
|
| + stream->Add(" ");
|
| + function()->PrintTo(stream);
|
| + if (hydrogen()->HasVectorAndSlot()) {
|
| + stream->Add(" (type-feedback-vector ");
|
| + temp_vector()->PrintTo(stream);
|
| + stream->Add(" ");
|
| + temp_slot()->PrintTo(stream);
|
| + stream->Add(")");
|
| + }
|
| +}
|
| +
|
| +
|
| void LCallJSFunction::PrintDataTo(StringStream* stream) {
|
| stream->Add("= ");
|
| function()->PrintTo(stream);
|
| @@ -1281,7 +1295,15 @@ LInstruction* LChunkBuilder::DoCallNewArray(HCallNewArray* instr) {
|
| LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) {
|
| LOperand* context = UseFixed(instr->context(), esi);
|
| LOperand* function = UseFixed(instr->function(), edi);
|
| - LCallFunction* call = new(zone()) LCallFunction(context, function);
|
| + LOperand* slot = NULL;
|
| + LOperand* vector = NULL;
|
| + if (instr->HasVectorAndSlot()) {
|
| + slot = FixedTemp(edx);
|
| + vector = FixedTemp(ebx);
|
| + }
|
| +
|
| + LCallFunction* call =
|
| + new (zone()) LCallFunction(context, function, slot, vector);
|
| return MarkAsCall(DefineFixed(call, eax), instr);
|
| }
|
|
|
|
|