Index: src/arm/lithium-arm.cc |
diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
index 990eb5f54d01747f05727ca8f1503a5fbd1ed278..a2f5a292f51a32b032b250fab9662dcf18e1c8ce 100644 |
--- a/src/arm/lithium-arm.cc |
+++ b/src/arm/lithium-arm.cc |
@@ -355,6 +355,17 @@ void LCallNew::PrintDataTo(StringStream* stream) { |
} |
+void LCallNewArray::PrintDataTo(StringStream* 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); |
stream->Add(" length "); |
@@ -1133,6 +1144,14 @@ LInstruction* LChunkBuilder::DoCallNew(HCallNew* instr) { |
} |
+LInstruction* LChunkBuilder::DoCallNewArray(HCallNewArray* instr) { |
+ LOperand* constructor = UseFixed(instr->constructor(), r1); |
+ argument_count_ -= instr->argument_count(); |
+ LCallNewArray* result = new(zone()) LCallNewArray(constructor); |
+ return MarkAsCall(DefineFixed(result, r0), instr); |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) { |
LOperand* function = UseFixed(instr->function(), r1); |
argument_count_ -= instr->argument_count(); |