diff --git a/Runtime/RuntimeApi.cs b/Runtime/RuntimeApi.cs
index 03381b0..1ee67bb 100644
--- a/Runtime/RuntimeApi.cs
+++ b/Runtime/RuntimeApi.cs
@@ -6,6 +6,7 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
+using UnityEditor;
using UnityEngine.Scripting;
namespace HybridCLR
@@ -29,6 +30,37 @@ namespace HybridCLR
public static extern LoadImageErrorCode LoadMetadataForAOTAssembly(byte[] dllBytes, HomologousImageMode mode);
#endif
+ ///
+ /// prejit method to avoid the jit cost of first time running
+ ///
+ ///
+ /// return true if method is jited, return false if method can't be jited
+ ///
+#if UNITY_EDITOR
+ public static bool PreJitMethod(MethodInfo method)
+ {
+ return false;
+ }
+#else
+ [MethodImpl(MethodImplOptions.InternalCall)]
+ public static extern bool PreJitMethod(MethodInfo method);
+#endif
+
+ ///
+ /// prejit all methods of class to avoid the jit cost of first time running
+ ///
+ ///
+ /// return true if class is jited, return false if class can't be jited
+#if UNITY_EDITOR
+ public static bool PreJitClass(Type type)
+ {
+ return false;
+ }
+#else
+ [MethodImpl(MethodImplOptions.InternalCall)]
+ public static extern bool PreJitClass(Type type);
+#endif
+
///
/// get the maximum number of StackObjects in the interpreter thread stack (size*8 represents the final memory size occupied
///