Index: src/full-codegen/full-codegen.cc |
diff --git a/src/full-codegen/full-codegen.cc b/src/full-codegen/full-codegen.cc |
index 4bb0b4d1b7d7e446bc1435cf4b919bc108d8da06..e4d03c45d4d80759eb3ac4d525c7abaaec3feef3 100644 |
--- a/src/full-codegen/full-codegen.cc |
+++ b/src/full-codegen/full-codegen.cc |
@@ -507,6 +507,19 @@ void FullCodeGenerator::EmitSubString(CallRuntime* expr) { |
context()->Plug(result_register()); |
} |
+void FullCodeGenerator::EmitNewObject(CallRuntime* expr) { |
+ // Load the arguments on the stack and call the stub. |
Benedikt Meurer
2016/03/31 17:49:29
Please use EmitIntrinsicAsStubCall here.
Camillo Bruni
2016/04/01 10:44:13
Could swear that I tried that :D
|
+ FastNewObjectStub stub(isolate()); |
+ ZoneList<Expression*>* args = expr->arguments(); |
+ DCHECK(args->length() == 2); |
+ VisitForStackValue(args->at(0)); |
+ VisitForStackValue(args->at(1)); |
+ __ Pop(stub.GetCallInterfaceDescriptor().GetRegisterParameter(1)); |
+ __ Pop(stub.GetCallInterfaceDescriptor().GetRegisterParameter(0)); |
+ __ CallStub(&stub); |
+ OperandStackDepthDecrement(2); |
+ context()->Plug(result_register()); |
+} |
void FullCodeGenerator::EmitRegExpExec(CallRuntime* expr) { |
// Load the arguments on the stack and call the stub. |