コード例 #1
0
 public LLVMGenericValueRef RunFunction(LLVMValueRef @F, LLVMGenericValueRef[] @Args)
 {
     return LLVM.RunFunction(this.instance, @F, @Args);
 }
コード例 #2
0
ファイル: Generated.cs プロジェクト: rflechner/LLVMSharp
 public static extern LLVMGenericValueRef RunFunction(LLVMExecutionEngineRef @EE, LLVMValueRef @F, uint @NumArgs, out LLVMGenericValueRef @Args);
コード例 #3
0
ファイル: Overloads.cs プロジェクト: kingland/LLVMSharp
        public static LLVMGenericValueRef RunFunction(LLVMExecutionEngineRef EE, LLVMValueRef F, LLVMGenericValueRef[] Args)
        {
            if (Args.Length == 0)
            {
                LLVMGenericValueRef dummy;
                return RunFunction(EE, F, 0, out dummy);
            }

            return RunFunction(EE, F, (uint)Args.Length, out Args[0]);
        }
コード例 #4
0
ファイル: Generated.cs プロジェクト: rflechner/LLVMSharp
 public static extern ulong GenericValueToInt(LLVMGenericValueRef @GenVal, LLVMBool @IsSigned);
コード例 #5
0
ファイル: Generated.cs プロジェクト: rflechner/LLVMSharp
 public static extern IntPtr GenericValueToPointer(LLVMGenericValueRef @GenVal);
コード例 #6
0
ファイル: Generated.cs プロジェクト: rflechner/LLVMSharp
 public static extern uint GenericValueIntWidth(LLVMGenericValueRef @GenValRef);
コード例 #7
0
ファイル: Generated.cs プロジェクト: rflechner/LLVMSharp
 public static extern double GenericValueToFloat(LLVMTypeRef @TyRef, LLVMGenericValueRef @GenVal);
コード例 #8
0
ファイル: Generated.cs プロジェクト: rflechner/LLVMSharp
 public static extern void DisposeGenericValue(LLVMGenericValueRef @GenVal);
コード例 #9
0
ファイル: LLVMTypeRef.cs プロジェクト: rflechner/LLVMSharp
 public double GenericValueToFloat(LLVMGenericValueRef @GenVal)
 {
     return LLVM.GenericValueToFloat(this, @GenVal);
 }
コード例 #10
0
ファイル: LLVMTypeRef.cs プロジェクト: yogeshlc/LLVMSharp
 public double GenericValueToFloat(LLVMGenericValueRef @GenVal)
 {
     return(LLVM.GenericValueToFloat(this, @GenVal));
 }
コード例 #11
0
 public double GenericValueToFloat(LLVMGenericValueRef GenVal) => LLVM.GenericValueToFloat(this, GenVal);
コード例 #12
0
        public int RunJit()
        {
            if (_main.Pointer == IntPtr.Zero)
            {
                throw new Exception("No main() found.");
            }

            //LLVM.LinkInInterpreter();
            //LLVM.LinkInMCJIT();

            LLVMExecutionEngineRef EE;
            IntPtr error;
            if (LLVM.CreateExecutionEngineForModule(out EE, _module, out error))
            {
                string errMessage = Marshal.PtrToStringAuto(error);
                throw new Exception(string.Format("Failed to create execution engine: \'{0}\'", errMessage));
            }

            LLVM.DisposeMessage(error);

            Debug.WriteLine("calling main()");
            // Call the main function with no arguments:
            LLVMGenericValueRef[] noargs = new LLVMGenericValueRef[0];
            LLVMGenericValueRef gv = LLVM.RunFunction(EE, _main, noargs);

            int statusCode = (int)LLVM.GenericValueToInt(gv, true);
            Debug.WriteLine("Result: {0}", statusCode);

            return statusCode;
        }