Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(966)

Unified Diff: src/builtins/builtins-constructor-gen.cc

Issue 2930623002: [builtins] Start refactoring the Apply builtin. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/builtins/builtins-constructor-gen.cc
diff --git a/src/builtins/builtins-constructor-gen.cc b/src/builtins/builtins-constructor-gen.cc
index 95346910058e9da9d95ff7e205df6fb927b09dc4..8aeb1d622e3e3e9d5ab64e8af7045a65ec95a2a6 100644
--- a/src/builtins/builtins-constructor-gen.cc
+++ b/src/builtins/builtins-constructor-gen.cc
@@ -5,6 +5,7 @@
#include "src/builtins/builtins-constructor-gen.h"
#include "src/ast/ast.h"
+#include "src/builtins/builtins-call-gen.h"
#include "src/builtins/builtins-constructor.h"
#include "src/builtins/builtins-utils-gen.h"
#include "src/builtins/builtins.h"
@@ -17,6 +18,10 @@
namespace v8 {
namespace internal {
+void Builtins::Generate_ConstructVarargs(MacroAssembler* masm) {
+ Generate_Varargs(masm, masm->isolate()->builtins()->Construct());
+}
+
void Builtins::Generate_ConstructForwardVarargs(MacroAssembler* masm) {
Generate_ForwardVarargs(masm, masm->isolate()->builtins()->Construct());
}
@@ -26,6 +31,15 @@ void Builtins::Generate_ConstructFunctionForwardVarargs(MacroAssembler* masm) {
masm->isolate()->builtins()->ConstructFunction());
}
+TF_BUILTIN(ConstructWithArrayLike, CallOrConstructBuiltinsAssembler) {
+ Node* target = Parameter(ConstructWithArrayLikeDescriptor::kTarget);
+ Node* new_target = Parameter(ConstructWithArrayLikeDescriptor::kNewTarget);
+ Node* arguments_list =
+ Parameter(ConstructWithArrayLikeDescriptor::kArgumentsList);
+ Node* context = Parameter(ConstructWithArrayLikeDescriptor::kContext);
+ CallOrConstructWithArrayLike(target, new_target, arguments_list, context);
+}
+
typedef compiler::Node Node;
Node* ConstructorBuiltinsAssembler::CopyFixedArrayBase(Node* fixed_array) {

Powered by Google App Engine
This is Rietveld 408576698