RFR (M) 8146410: Interpreter functions are declared and defined in the wrong files
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Tue Jan 5 19:51:05 UTC 2016
Hi Coleen,
I think they belong together because can_be_compiled() just returns
false for functions that have a math entry which is generated by
generate_math_entry(). So if you add a new math_entry, you
also have to fix can_be_compiled. We wired this dependency into
math_entry_available(kind), so that both functions are guaranteed
to behave similar.
The name of the function is kind of misleading to me.
But I won't insist...
Best regards,
Goetz.
> -----Original Message-----
> From: Coleen Phillimore [mailto:coleen.phillimore at oracle.com]
> Sent: Tuesday, January 05, 2016 7:17 PM
> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; hotspot-dev
> developers <hotspot-dev at openjdk.java.net>
> Subject: Re: RFR (M) 8146410: Interpreter functions are declared and defined
> in the wrong files
>
>
>
> On 1/5/16 2:19 AM, Lindenmaier, Goetz wrote:
> > Hi Coleen,
> >
> > Could you please also move
> > AbstractInterpreter::can_be_compiled(methodHandle m)
> > to above
> >
> TemplateInterpreterGenerator::generate_math_entry(AbstractInterpreter::
> MethodKind kind)?
> > I think these belong together.
>
> Really? They're in different classes (hence the motivation for the
> change) and generate_math_entry doesn't call can_be_compiled.
> CompilationPolicy does but it calls it from
> AbstractInterpreter::can_be_compiled() so I really can't move this
> function into TemplateInterpreterGenerator. It doesn't make sense to me.
>
> >
> > We seem to have different BIND macros on ppc. The '__' is also in the
> > macro. Could you please fix this small issue? It breaks the ppc build.
> >
> > diff -r 743aa331fc90
> src/cpu/ppc/vm/templateInterpreterGenerator_ppc.cpp
> > --- a/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.cpp Tue
> Jan 05 07:47:21 2016 +0100
> > +++ b/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.cpp Tue
> Jan 05 08:06:12 2016 +0100
> > @@ -416,7 +416,7 @@
> > default: ShouldNotReachHere();
> > }
> >
> > - __ BIND(done);
> > + BIND(done);
> > __ blr();
> >
>
> Fixed. Thanks!!
> > return entry;
> >
> > Besides this, the change looks good.
>
> Thanks,
> Coleen
>
> > Thanks and best regards,
> > Goetz.
> >
> > PS: is it possible to share your Copyright script?
> >
> >> -----Original Message-----
> >> From: hotspot-dev [mailto:hotspot-dev-bounces at openjdk.java.net] On
> >> Behalf Of Coleen Phillimore
> >> Sent: Monday, January 04, 2016 11:43 PM
> >> To: hotspot-dev developers <hotspot-dev at openjdk.java.net>
> >> Subject: RFR (M) 8146410: Interpreter functions are declared and defined
> in
> >> the wrong files
> >>
> >> Summary: Moved functions to the correct files.
> >>
> >> See bug for more details.
> >>
> >> I basically did an hg mv templateInterpreter_<cpu>.cpp
> >> abstractInterpreter_<cpu>.cpp and moved the interpreter_<cpu>.cpp
> >> functions there.
> >>
> >> Also moved generate_slow_signature_handler to
> >> TemplateInterpreterGenerator/CppInterpreterGenerator because it's
> not
> >> shared.
> >>
> >> open webrev at http://cr.openjdk.java.net/~coleenp/8146410/
> >> bug link https://bugs.openjdk.java.net/browse/JDK-8146410
> >>
> >> Tested with JPRT on Oracle supported platforms and built zero on linux
> >> x86. Also fixed change that broke zero in stack_zero.inline.hpp. I
> >> think this should work on PPC and AARCH64, but please let me know.
> >>
> >> One question for AARCH64 platform in file:
> >>
> >>
> http://cr.openjdk.java.net/~coleenp/8146410/src/cpu/aarch64/vm/templat
> >> eInterpreterGenerator_aarch64.cpp.udiff.html
> >>
> >> thanks,
> >> Coleen
More information about the hotspot-dev
mailing list