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