[Mono-dev] MonoJIT&LLVM Crash

C.Wallace 151388520 at qq.com
Fri Jan 4 10:27:11 UTC 2013


I want to use Embeded Mono powered by LLVM.so I Get the Master Version Code
Mono ,and LLVM-Mono Version from GIT.But,when Use the LLVM Version DLL, the
samples crashed.the crash On the: Funtions : bool
FPPassManager::runOnFunction(Function &F)     {     
PassManagerPrettyStackEntry X(FP, F);      TimeRegion
PassTimer(getPassTimer(FP));  --> LocalChanged |= FP->runOnFunction(F);   
}the FP is the last pass,and it is a BasicCallGraph, so It did not have a
runOnFunction impl,so,the ESP has been breaken.I am a beginner of MONO&LLVM,
so, i can`t understand why the passMannger Handle the MoudelPass and
FunctionPass as same. and the MoudelPass did not have a runOnFuntion impl.Is
The Code Version i get wrong? or the LLVM Config should be wrong?when i add
a Kind check,as below,it seems work.->>if(FP->getPassKind() != PT_Module)   
{      PassManagerPrettyStackEntry X(FP, F);      TimeRegion
PassTimer(getPassTimer(FP));      LocalChanged |= FP->runOnFunction(F);   
}but i get worst perfomance.LLVM Verison(My Modify Version) cost double time
more than the Org Verison(With out LLVM).My Test Code is   static void
Test2()    {        int i, j, N;        double step, x_i, sum;        double
interval_begin = 0.0;        double interval_end = 2.0 *
3.141592653589793238;        for (j = 2; j < 27; j++)        {            N
= 1 << j;            step = (interval_end - interval_begin) / N;           
sum = Math.Abs(Math.Sin(interval_begin)) * step / 2.0;            for (i =
1; i < N; i++)            {                x_i = i * step;               
sum += Math.Abs(Math.Sin(x_i)) * step;            }            sum +=
Math.Abs(Math.Sin(interval_end)) * step / 2.0;        }    } 



--
View this message in context: http://mono.1490590.n4.nabble.com/MonoJIT-LLVM-Crash-tp4657981.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20130104/602ecb49/attachment.html>


More information about the Mono-devel-list mailing list