ARM Interpreter

Gary Benson gbenson at redhat.com
Wed Aug 12 08:25:33 PDT 2009


Andrew Haley wrote:
> Gary Benson wrote:
> > Edward Nevill wrote:
> > > > Matthias Klose wrote:
> > > > > +#if defined(PRODUCT) && defined(HOTSPOT_ASM)
> > > > 
> > > > So my first question is why is everything conditionalized on
> > > > PRODUCT?  Not being able to build not-PRODUCT means no
> > > > assertions, no debug helpers and no diagnostic options.  I'd
> > > > like to see all these conditionals replaced with "#ifdef
> > > > HOTSPOT_ASM".
> > > 
> > > The reason everything is conditionalised on PRODUCT is that the
> > > Asm loop will not work with a non product build. This is because
> > > all the offsets in the structures change on a non product build
> > > because of the addition of debug info into the structures.
> > 
> > That's really likely to break.  Would it be possible to have a
> > table of all the constants you use, and fill it in at VM startup?
> > The C++ interpreter's init code (bytecodeInterpreter.cpp, around
> > line 560) would be a nice place.  I saw you inlined
> > ZeroFrame::SHARK_FRAME too, that sort of thing could go there as
> > well.
> 
> I think that such a table can be generated automatically, and I
> think I know how to do it.
> 
> Can I suggest that this be treated as a future change, so that the
> patch can be checked in soon?  That'll make it much easier for me
> and others to work on it.

Sure.

Cheers,
Gary

-- 
http://gbenson.net/



More information about the distro-pkg-dev mailing list