diff options
Diffstat (limited to 'deps/v8/src/compiler/raw-machine-assembler.cc')
-rw-r--r-- | deps/v8/src/compiler/raw-machine-assembler.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/deps/v8/src/compiler/raw-machine-assembler.cc b/deps/v8/src/compiler/raw-machine-assembler.cc index c709729081..7031437cc2 100644 --- a/deps/v8/src/compiler/raw-machine-assembler.cc +++ b/deps/v8/src/compiler/raw-machine-assembler.cc @@ -705,7 +705,8 @@ namespace { Node* CallCFunctionImpl( RawMachineAssembler* rasm, Node* function, MachineType return_type, std::initializer_list<RawMachineAssembler::CFunctionArg> args, - bool caller_saved_regs, SaveFPRegsMode mode) { + bool caller_saved_regs, SaveFPRegsMode mode, + bool has_function_descriptor = kHasFunctionDescriptor) { static constexpr std::size_t kNumCArgs = 10; MachineSignature::Builder builder(rasm->zone(), 1, args.size()); @@ -719,6 +720,8 @@ Node* CallCFunctionImpl( if (caller_saved_regs) call_descriptor->set_save_fp_mode(mode); + call_descriptor->set_has_function_descriptor(has_function_descriptor); + base::SmallVector<Node*, kNumCArgs> nodes(args.size() + 1); nodes[0] = function; std::transform( @@ -739,6 +742,13 @@ Node* RawMachineAssembler::CallCFunction( kDontSaveFPRegs); } +Node* RawMachineAssembler::CallCFunctionWithoutFunctionDescriptor( + Node* function, MachineType return_type, + std::initializer_list<RawMachineAssembler::CFunctionArg> args) { + return CallCFunctionImpl(this, function, return_type, args, false, + kDontSaveFPRegs, kNoFunctionDescriptor); +} + Node* RawMachineAssembler::CallCFunctionWithCallerSavedRegisters( Node* function, MachineType return_type, SaveFPRegsMode mode, std::initializer_list<RawMachineAssembler::CFunctionArg> args) { |