| Index: src/ia32/lithium-ia32.cc
|
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
|
| index e69d7f61ac1629fa687d40714363357e9c81a55b..241d5f560a60ef8b8512757688bd358d67fa2b1c 100644
|
| --- a/src/ia32/lithium-ia32.cc
|
| +++ b/src/ia32/lithium-ia32.cc
|
| @@ -367,6 +367,19 @@ void LCallNew::PrintDataTo(StringStream* stream) {
|
| }
|
|
|
|
|
| +void LCallNewArray::PrintDataTo(StringStream* stream) {
|
| + stream->Add("= ");
|
| + context()->PrintTo(stream);
|
| + stream->Add(" ");
|
| + constructor()->PrintTo(stream);
|
| + stream->Add(" #%d / ", arity());
|
| + ASSERT(hydrogen()->property_cell()->value()->IsSmi());
|
| + ElementsKind kind = static_cast<ElementsKind>(
|
| + Smi::cast(hydrogen()->property_cell()->value())->value());
|
| + stream->Add(" (%s) ", ElementsKindToString(kind));
|
| +}
|
| +
|
| +
|
| void LAccessArgumentsAt::PrintDataTo(StringStream* stream) {
|
| arguments()->PrintTo(stream);
|
|
|
| @@ -1206,6 +1219,15 @@ LInstruction* LChunkBuilder::DoCallNew(HCallNew* instr) {
|
| }
|
|
|
|
|
| +LInstruction* LChunkBuilder::DoCallNewArray(HCallNewArray* instr) {
|
| + LOperand* context = UseFixed(instr->context(), esi);
|
| + LOperand* constructor = UseFixed(instr->constructor(), edi);
|
| + argument_count_ -= instr->argument_count();
|
| + LCallNewArray* result = new(zone()) LCallNewArray(context, constructor);
|
| + return MarkAsCall(DefineFixed(result, eax), instr);
|
| +}
|
| +
|
| +
|
| LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) {
|
| LOperand* context = UseFixed(instr->context(), esi);
|
| LOperand* function = UseFixed(instr->function(), edi);
|
|
|