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