Index: src/js/v8natives.js |
diff --git a/src/js/v8natives.js b/src/js/v8natives.js |
index 2985d143f9937a60b467fb938d974928d16e9ad7..8384c181f003a759f59ee9a410df62db61dfd8ab 100644 |
--- a/src/js/v8natives.js |
+++ b/src/js/v8natives.js |
@@ -1786,9 +1786,11 @@ function FunctionConstructor(arg1) { // length == 1 |
var global_proxy = %GlobalProxy(FunctionConstructor); |
// Compile the string in the constructor and not a helper so that errors |
// appear to come from here. |
- var f = %_CallFunction(global_proxy, %CompileString(source, true)); |
- %FunctionMarkNameShouldPrintAsAnonymous(f); |
- return f; |
+ var func = %_CallFunction(global_proxy, %CompileString(source, true)); |
+ // Set name-should-print-as-anonymous flag on the ShareFunctionInfo and |
+ // ensure that |func| uses correct initial map from |new.target| if |
+ // it's available. |
+ return %CompleteFunctionConstruction(func, GlobalFunction, new.target); |
} |