United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6848466 frame::frame_size() assertion failure with -XX:+DebugDeoptimization
JDK-6848466 : frame::frame_size() assertion failure with -XX:+DebugDeoptimization

Details
Type:
Bug
Submit Date:
2009-06-05
Status:
Resolved
Updated Date:
2010-04-02
Project Name:
JDK
Resolved Date:
2009-06-17
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs16
Fixed Versions:
hs16 (b04)

Related Reports
Backport:
Backport:

Sub Tasks

Description
The following code implements frame::frame_size in  src/cpu/x86/vm/frame_x86.cpp:
int frame::frame_size() const {
RegisterMap map(JavaThread::current(), false);
frame sender = this->sender(&map);
return sender.sp() - sp();
}

It builds the RegisterMap from the current thread. This should only works for the top
frame. This will cause an assertion failure in JavaThread::current() in that the current
thread is not a java thread.

                                    

Comments
SUGGESTED FIX

frame::frame_size should take a RegisterMap* argument which is used to compute
the sender frame.
                                     
2009-06-05
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/eacd97c88873
                                     
2009-06-05



Hardware and Software, Engineered to Work Together