Chromium Code Reviews| Index: src/ffi/ffi-compiler.h |
| diff --git a/src/ffi/ffi-compiler.h b/src/ffi/ffi-compiler.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..868cc08bfab6ba0e7435cdb066a9c33837f5d687 |
| --- /dev/null |
| +++ b/src/ffi/ffi-compiler.h |
| @@ -0,0 +1,46 @@ |
| +// Copyright 2017 the V8 project authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef SRC_FFI_FFI_COMPILER_H_ |
| +#define SRC_FFI_FFI_COMPILER_H_ |
| + |
| +#include "src/code-stub-assembler.h" |
| +#include "src/machine-type.h" |
| + |
| +namespace v8 { |
| +namespace internal { |
| + |
| +typedef compiler::Node Node; |
| +typedef compiler::CodeAssemblerState CodeAssemblerState; |
| + |
| +void InstallFFIMap(Isolate* isolate); |
| + |
| +namespace ffi { |
| + |
| +typedef Signature<MachineType> FFISignature; |
| + |
| +struct NativeFunction { |
| + FFISignature* sig; |
| + uint8_t* start; |
| +}; |
| + |
| +class FFIAssembler : public CodeStubAssembler { |
|
Igor Sheludko
2017/01/18 18:18:14
Since nobody uses it outside the .cc file, it coul
mattloring
2017/01/18 18:26:24
Done.
|
| + public: |
| + explicit FFIAssembler(CodeAssemblerState* state) : CodeStubAssembler(state) {} |
| + |
| + Node* ToJS(Node* node, Node* context, MachineType type); |
| + |
| + Node* FromJS(Node* node, Node* context, MachineType type); |
| + |
| + Handle<Code> GenerateJSToNativeWrapper(NativeFunction* func); |
| +}; |
| + |
| +Handle<JSFunction> CompileJSToNativeWrapper(Isolate* isolate, |
| + Handle<String> name, |
| + NativeFunction func); |
| +} // namespace ffi |
| +} // namespace internal |
| +} // namespace v8 |
| + |
| +#endif // SRC_FFI_FFI_COMPILER_H_ |