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

Unified Diff: src/compiler/common-operator.cc

Issue 1323463005: [Interpreter] Add support for JS calls. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 3 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/compiler/common-operator.cc
diff --git a/src/compiler/common-operator.cc b/src/compiler/common-operator.cc
index bacaae980f918eddf24abbca60e2f16657a6a499..a9d6d02cbc41cf73992746cc8ab57d4dd20b2d0b 100644
--- a/src/compiler/common-operator.cc
+++ b/src/compiler/common-operator.cc
@@ -738,6 +738,29 @@ const Operator* CommonOperatorBuilder::TailCall(
}
+const Operator* CommonOperatorBuilder::CallVarArgs(
+ const CallDescriptor* descriptor) {
+ class CallOperator final : public Operator1<const CallDescriptor*> {
+ public:
+ explicit CallOperator(const CallDescriptor* descriptor)
+ : Operator1<const CallDescriptor*>(
+ IrOpcode::kCallVarArgs, descriptor->properties(), "CallVarArgs",
+ descriptor->InputCount() + descriptor->VarArgsInputCount() +
+ descriptor->FrameStateCount(),
+ Operator::ZeroIfPure(descriptor->properties()),
+ Operator::ZeroIfEliminatable(descriptor->properties()),
+ descriptor->ReturnCount(),
+ Operator::ZeroIfPure(descriptor->properties()),
+ Operator::ZeroIfNoThrow(descriptor->properties()), descriptor) {}
+
+ void PrintParameter(std::ostream& os) const override {
+ os << "[" << *parameter() << "]";
+ }
+ };
+ return new (zone()) CallOperator(descriptor);
+}
+
+
const Operator* CommonOperatorBuilder::Projection(size_t index) {
switch (index) {
#define CACHED_PROJECTION(index) \

Powered by Google App Engine
This is Rietveld 408576698