RFR, XS, 7120448, Fix FP values for compiled frames in frame::describe

Bertrand Delsart bertrand.delsart at oracle.com
Tue Jan 17 10:19:50 PST 2012

Thanks Vlad,


On 01/17/12 06:30 PM, Vladimir Kozlov wrote:
> I think it looks good.
> Small note, we need to start updating Copyright year to 2012.
> Thanks,
> Vladimir
> Bertrand Delsart wrote:
>> Here is simple review for the first of a series of fixes and
>> extensions for frame::describe.
>> http://cr.openjdk.java.net/~bdelsart/7120448/webrev.01/webrev/
>> This is the first of a series of fixes and extensions for
>> frame::describe.
>> frame::describe() was calling the platform dependent frame::fp() to
>> get the frame pointer. Unfortunately, the semantic of frame::fp() is
>> not clearly defined. On compiled x86 frames, the value could be
>> arbitrary. That could cause frame::describe to dump misleading
>> information and useless memory slots.
>> Defined a new frame::real_fp() with a more precise semantic for
>> portable shared code.
>> This is the value expected by the platform ABI when it defines a frame
>> pointer register. It may differ from the effective value of the FP
>> register when that register is used in the JVM for other purposes
>> (like compiled frames on some platforms). On other platforms, it is
>> defined so that the stack area used by this frame goes from real_fp()
>> to sp().
>> By default, the new definition is equivalent to the old frame::fp()
>> definition. x86 is the only OpenJDK supported platform which required
>> a different definition.
>> Bertrand.

Bertrand Delsart,               bertrand.delsart at oracle.com,
Sun-Oracle France, 180 av. de l'Europe, ZIRST de Montbonnot,
38334 Saint Ismier,                                  FRANCE

More information about the hotspot-runtime-dev mailing list