JVM Language Summit Examples

Doug Simon doug.simon at oracle.com
Tue Dec 10 14:14:17 PST 2013


Yes, it’s certainly looks like a bug doesn’t it!

However, this is the (not so well documented) mechanism to do a partial intrinsification. That is, sometimes (as in this example) you only want to optimize for a subset of the potential arguments that can be passed to a method. A recursive call in such an intrinsification will be translated as a call to the original method.

-Doug

On Dec 10, 2013, at 10:53 PM, Doychin Bondzhev <doychin at dsoft-bg.com> wrote:

> Looking at code for pow I think there is something wrong here. 
> 
> It could be my mistake but this looks like recursive call of pow from pow. So in case of x and y not in any of the special cases this will result in stack overflow. Probably on the last line of call to pow should be Math.pow instead of just pow.
> 
> 
> On Tue, Dec 10, 2013 at 11:05 PM, Doug Simon <doug.simon at oracle.com> wrote:
> Hi Curt,
> 
> Have a look at MathSubstitutionsX86.pow(double, double)[1] for an example of how intrinsification is done now.
> 
> -Doug
> 
> [1] http://hg.openjdk.java.net/graal/graal/file/4eacfd0767ed/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MathSubstitutionsX86.java
> 
> On Dec 10, 2013, at 8:33 PM, Curt Albert <falbert9 at vt.edu> wrote:
> 
> >                I have been trying to look at using graal for compiler
> > optimizations in my java code and found the presentation given at JVM
> > Language Summit 2011. In that presentation there was an example of
> > intrinsificiation called SafeAddNode. I was trying to reproduce this
> > example, but it seems the intrinsification code has moved. Is it still
> > possible to run this same example? If so how?
> >
> >
> >
> > Thanks,
> >
> > Curt Albert
> >
> > Systems Software Research Group
> >
> > Bradley Department of Electrical and Compuer Engineering
> >
> > Virginia Tech
> >
> >
> >
> 
> 



More information about the graal-dev mailing list