diff options
Diffstat (limited to 'deps/v8/src/compiler/raw-machine-assembler.cc')
-rw-r--r-- | deps/v8/src/compiler/raw-machine-assembler.cc | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/deps/v8/src/compiler/raw-machine-assembler.cc b/deps/v8/src/compiler/raw-machine-assembler.cc index a2cf562115..671aafe381 100644 --- a/deps/v8/src/compiler/raw-machine-assembler.cc +++ b/deps/v8/src/compiler/raw-machine-assembler.cc @@ -257,6 +257,26 @@ Node* RawMachineAssembler::CallCFunction3(MachineType return_type, return AddNode(common()->Call(descriptor), function, arg0, arg1, arg2); } +Node* RawMachineAssembler::CallCFunction6( + MachineType return_type, MachineType arg0_type, MachineType arg1_type, + MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, + MachineType arg5_type, Node* function, Node* arg0, Node* arg1, Node* arg2, + Node* arg3, Node* arg4, Node* arg5) { + MachineSignature::Builder builder(zone(), 1, 6); + builder.AddReturn(return_type); + builder.AddParam(arg0_type); + builder.AddParam(arg1_type); + builder.AddParam(arg2_type); + builder.AddParam(arg3_type); + builder.AddParam(arg4_type); + builder.AddParam(arg5_type); + const CallDescriptor* descriptor = + Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + + return AddNode(common()->Call(descriptor), function, arg0, arg1, arg2, arg3, + arg4, arg5); +} + Node* RawMachineAssembler::CallCFunction8( MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, @@ -278,6 +298,31 @@ Node* RawMachineAssembler::CallCFunction8( Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); return AddNode(common()->Call(descriptor), arraysize(args), args); } + +Node* RawMachineAssembler::CallCFunction9( + MachineType return_type, MachineType arg0_type, MachineType arg1_type, + MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, + MachineType arg5_type, MachineType arg6_type, MachineType arg7_type, + MachineType arg8_type, Node* function, Node* arg0, Node* arg1, Node* arg2, + Node* arg3, Node* arg4, Node* arg5, Node* arg6, Node* arg7, Node* arg8) { + MachineSignature::Builder builder(zone(), 1, 9); + builder.AddReturn(return_type); + builder.AddParam(arg0_type); + builder.AddParam(arg1_type); + builder.AddParam(arg2_type); + builder.AddParam(arg3_type); + builder.AddParam(arg4_type); + builder.AddParam(arg5_type); + builder.AddParam(arg6_type); + builder.AddParam(arg7_type); + builder.AddParam(arg8_type); + Node* args[] = {function, arg0, arg1, arg2, arg3, + arg4, arg5, arg6, arg7, arg8}; + const CallDescriptor* descriptor = + Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + return AddNode(common()->Call(descriptor), arraysize(args), args); +} + BasicBlock* RawMachineAssembler::Use(RawMachineLabel* label) { label->used_ = true; return EnsureBlock(label); |