From 781a4923ca2443efc99151c2cdab2fd256f5a15a Mon Sep 17 00:00:00 2001 From: Giuseppe Zingales Date: Thu, 30 Jun 2011 21:14:04 -0400 Subject: [PATCH] more changes not quite done --- src/Makefile | 4 ++-- src/codegen.cpp | 5 +++-- src/debuginfo.cpp | 16 ++++++++-------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/Makefile b/src/Makefile index cab9bff50a86c..3ae225763ae89 100644 --- a/src/Makefile +++ b/src/Makefile @@ -12,7 +12,7 @@ FLISP = $(FLISPDIR)/libflisp.a FLAGS = -falign-functions -Wall -Wno-strict-aliasing \ -I$(FLISPDIR) -I$(LLTDIR) $(HFILEDIRS:%=-I%) $(LIBDIRS:%=-L%) \ - -I$(shell $(LLVMROOT)/bin/llvm-config --includedir) -fvisibility=hidden + -I$(shell $(LLVMROOT)/bin/llvm-config --includedir) DEBUGFLAGS = -ggdb3 -DDEBUG $(FLAGS) SHIPFLAGS = -O3 -DNDEBUG $(FLAGS) @@ -51,7 +51,7 @@ julia_flisp.boot: julia-parser.scm julia-syntax.scm \ boot.j.inc: boot.j preparse.scm julia_flisp.boot $(FLISPDIR)/flisp ./preparse.scm < $< | $(FLISPDIR)/flisp ./bin2hex.scm > $@ -codegen.o codegen.do: intrinsics.cpp +codegen.o codegen.do: intrinsics.cpp debuginfo.cpp builtins.o builtins.do: table.c $(LLT): $(LLTDIR)/*.h $(LLTDIR)/*.c diff --git a/src/codegen.cpp b/src/codegen.cpp index 1968743fba7c2..94e81cf3bcd72 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -84,7 +84,7 @@ static GlobalVariable *jlsysmod_var; static GlobalVariable *jlpgcstack_var; #endif static GlobalVariable *jlexc_var; -JuliaJITEventListner *jl_jit_events; +JuliaJITEventListener *jl_jit_events; // important functions static Function *jlraise_func; @@ -1808,6 +1808,7 @@ static void init_julia_llvm_env(Module *m) extern "C" void jl_init_codegen() { printf ("you reached codegen"); + puts("lala codegen"); llvm::JITEmitDebugInfo = true; InitializeNativeTarget(); @@ -1818,7 +1819,7 @@ extern "C" void jl_init_codegen() init_julia_llvm_env(jl_Module); jl_init_intrinsic_functions(); - jl_jit_events = new JuliaJITEventListner(); + jl_jit_events = new JuliaJITEventListener(); jl_ExecutionEngine->RegisterJITEventListener(jl_jit_events); //JIT::RegisterJITEventListener(jl_jit_events); } diff --git a/src/debuginfo.cpp b/src/debuginfo.cpp index f052c1d40d889..fe7b918a3ddd0 100644 --- a/src/debuginfo.cpp +++ b/src/debuginfo.cpp @@ -11,14 +11,11 @@ struct FuncInfo{ }; -class JuliaJITEventListner: public JITEventListener { +class __attribute__ ((visibility("default"))) JuliaJITEventListener: public JITEventListener { map info; - - JuliaJITEventListner() {} - ~JuliaJITEventListner(); - - void NotifyFunctionEmitted(const Function &F, +public: + virtual void NotifyFunctionEmitted(const Function &F, void *Code, size_t Size, const EmittedFunctionDetails &Details) { // Here i should write down the information into the map i want to know. Important Code name, location of code start, length (and or end), FuncInfo tmp = {&F, Size}; @@ -26,7 +23,8 @@ class JuliaJITEventListner: public JITEventListener { //tmp.lengthAdr = Size; info[(size_t)(Code)] = tmp; } - + JuliaJITEventListener(){} + virtual ~JuliaJITEventListener() {} public: map getMap() { @@ -38,7 +36,7 @@ class JuliaJITEventListner: public JITEventListener { }; -extern JuliaJITEventListner *jl_jit_events; +extern JuliaJITEventListener *jl_jit_events; extern "C" char* getFunctionInfo(size_t pointer); @@ -59,6 +57,8 @@ char* getFunctionInfo(size_t pointer) { } } + + return "Something went wrong, left for loop too early."; }