United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 7120448 Fix FP values for compiled frames in frame::describe
7120448 : Fix FP values for compiled frames in frame::describe

Details
Type:
Bug
Submit Date:
2011-12-12
Status:
Closed
Updated Date:
2012-04-10
Project Name:
JDK
Resolved Date:
2012-04-10
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P5
Resolution:
Fixed
Affected Versions:
hs23
Fixed Versions:
hs23

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
For a compiled frame, the frame top depends on the initial (unextended) sp and the compiled frame size.

frame::describe has not been completely fixed. Its uses of [extended] sp() and of [non computed] fp() can result in a bad top address being printed and being used as a boundary while dumping compiled frames

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/eaa9557116a2
                                     
2012-03-22
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/eaa9557116a2
                                     
2012-01-19
EVALUATION

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.
                                     
2012-01-16



Hardware and Software, Engineered to Work Together