ARM Interpreter

Andrew Haley aph at redhat.com
Wed Aug 12 08:01:55 PDT 2009


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.

Andrew.



More information about the distro-pkg-dev mailing list