Skip to content

Commit 7b4ce04

Browse files
committed
feat: Implement AOT Direct Calls for NativeScript iOS Runtime
- Added AOTDirectCalls.h and AOTDirectCalls.mm to support direct Objective-C calls, bypassing libffi. - Introduced aot-config.json to define methods and block patterns for AOT generation. - Created scripts/generate-aot.py to automate the generation of AOT stubs based on the configuration. - Updated Interop.h and Interop.mm to integrate AOT functionality. - Modified MetadataBuilder.h and MetadataBuilder.mm to utilize AOT direct calls for method and property access. - Adjusted project.pbxproj to include new AOT files in the build.
1 parent aa97bc1 commit 7b4ce04

9 files changed

Lines changed: 4588 additions & 2568 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// AUTO-GENERATED by scripts/generate-aot.py — do not edit manually.
2+
#ifndef AOTDirectCalls_h
3+
#define AOTDirectCalls_h
4+
5+
#include "Common.h"
6+
#include "Metadata.h"
7+
8+
namespace tns {
9+
10+
v8::FunctionCallback GetAOTDirectCall(const char* className,
11+
const char* selectorName);
12+
13+
typedef void* AOTBlockInvokeFunc;
14+
AOTBlockInvokeFunc GetAOTBlockInvoke(const TypeEncoding* typeEncoding,
15+
int argsCount);
16+
17+
} // namespace tns
18+
19+
#endif /* AOTDirectCalls_h */

0 commit comments

Comments
 (0)