X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-llvm-cpp.h;h=064c587ce54d5773cf59881f420947ea1d302d81;hb=5aa397ecb7a5b88698b3c22eaf7b3f1ad78bc2c9;hp=35893ef850e41ec3f0cbba4d72e38315d54b31b0;hpb=46c4f4e6587b08ccc6a086f6c422acf9e4f24856;p=mono.git diff --git a/mono/mini/mini-llvm-cpp.h b/mono/mini/mini-llvm-cpp.h index 35893ef850e..064c587ce54 100644 --- a/mono/mini/mini-llvm-cpp.h +++ b/mono/mini/mini-llvm-cpp.h @@ -15,9 +15,6 @@ #include "llvm-c/Core.h" #include "llvm-c/ExecutionEngine.h" -#include "../metadata/object.h" -#include "../metadata/domain-internals.h" - #include G_BEGIN_DECLS @@ -37,22 +34,6 @@ typedef enum { LLVM_ATOMICRMW_OP_ADD = 1, } AtomicRMWOp; -typedef unsigned char * (AllocCodeMemoryCb) (LLVMValueRef function, int size); -typedef void (FunctionEmittedCb) (LLVMValueRef function, void *start, void *end); -typedef void (ExceptionTableCb) (void *data); -typedef char* (DlSymCb) (const char *name, void **symbol); - -typedef void* MonoEERef; - -MonoEERef -mono_llvm_create_ee (LLVMModuleProviderRef MP, AllocCodeMemoryCb *alloc_cb, FunctionEmittedCb *emitted_cb, ExceptionTableCb *exception_cb, DlSymCb *dlsym_cb, LLVMExecutionEngineRef *ee); - -void -mono_llvm_dispose_ee (MonoEERef *mono_ee); - -void -mono_llvm_optimize_method (MonoEERef mono_ee, LLVMValueRef method); - void mono_llvm_dump_value (LLVMValueRef value); @@ -63,9 +44,13 @@ mono_llvm_build_alloca (LLVMBuilderRef builder, LLVMTypeRef Ty, LLVMValueRef mono_llvm_build_load (LLVMBuilderRef builder, LLVMValueRef PointerVal, - const char *Name, gboolean is_volatile, BarrierKind barrier); + const char *Name, gboolean is_volatile); LLVMValueRef +mono_llvm_build_atomic_load (LLVMBuilderRef builder, LLVMValueRef PointerVal, + const char *Name, gboolean is_volatile, int alignment, BarrierKind barrier); + +LLVMValueRef mono_llvm_build_aligned_load (LLVMBuilderRef builder, LLVMValueRef PointerVal, const char *Name, gboolean is_volatile, int alignment); @@ -99,44 +84,38 @@ void mono_llvm_set_is_constant (LLVMValueRef global_var); void -mono_llvm_cpp_throw_exception (void); - -void -mono_llvm_rethrow_exception (MonoObject *ex); +mono_llvm_set_preserveall_cc (LLVMValueRef func); void -mono_llvm_throw_exception (MonoObject *ex); +mono_llvm_set_call_preserveall_cc (LLVMValueRef call); -void -mono_throw_corlib_exception (guint32 ex_token_index); +_Unwind_Reason_Code +mono_debug_personality (int a, _Unwind_Action b, + uint64_t c, struct _Unwind_Exception *d, struct _Unwind_Context *e); void -mono_llvm_resume_exception (void); - -gint32 -mono_llvm_match_exception (MonoJitInfo *jinfo, guint32 region_start, guint32 region_end); +default_mono_llvm_unhandled_exception (void); -void -mono_llvm_clear_exception (void); +void* +mono_llvm_create_di_builder (LLVMModuleRef module); -MonoObject * -mono_llvm_load_exception (void); +void* +mono_llvm_di_create_function (void *di_builder, void *cu, const char *name, const char *mangled_name, const char *dir, const char *file, int line); -void -mono_llvm_reset_exception (void); +void* +mono_llvm_di_create_compile_unit (void *di_builder, const char *cu_name, const char *dir, const char *producer); -_Unwind_Reason_Code -mono_debug_personality (int a, _Unwind_Action b, - uint64_t c, struct _Unwind_Exception *d, struct _Unwind_Context *e); +void* +mono_llvm_di_create_file (void *di_builder, const char *dir, const char *file); -void -mono_llvm_set_unhandled_exception_handler (void); +void* +mono_llvm_di_create_location (void *di_builder, void *scope, int row, int column); void -default_mono_llvm_unhandled_exception (void); +mono_llvm_di_builder_finalize (void *di_builder); void -mono_llvm_raise_exception (MonoException *e); +mono_llvm_di_set_location (LLVMBuilderRef builder, void *loc_md); G_END_DECLS