diff options
Diffstat (limited to 'deps/v8/src/compiler/raw-machine-assembler.h')
-rw-r--r-- | deps/v8/src/compiler/raw-machine-assembler.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/deps/v8/src/compiler/raw-machine-assembler.h b/deps/v8/src/compiler/raw-machine-assembler.h index cbbb719d54..c0bfd84a61 100644 --- a/deps/v8/src/compiler/raw-machine-assembler.h +++ b/deps/v8/src/compiler/raw-machine-assembler.h @@ -983,6 +983,22 @@ class V8_EXPORT_PRIVATE RawMachineAssembler { Node* CallCFunction(Node* function, MachineType return_type, std::initializer_list<CFunctionArg> args); + // Call to a C function without a function discriptor on AIX. + template <class... CArgs> + Node* CallCFunctionWithoutFunctionDescriptor(Node* function, + MachineType return_type, + CArgs... cargs) { + static_assert(v8::internal::conjunction< + std::is_convertible<CArgs, CFunctionArg>...>::value, + "invalid argument types"); + return CallCFunctionWithoutFunctionDescriptor(function, return_type, + {cargs...}); + } + + Node* CallCFunctionWithoutFunctionDescriptor( + Node* function, MachineType return_type, + std::initializer_list<CFunctionArg> args); + // Call to a C function, while saving/restoring caller registers. template <class... CArgs> Node* CallCFunctionWithCallerSavedRegisters(Node* function, |