JDK-5076572 : vframeStreamCommon::fill_from_frame() should not be virtual
  • Type: Bug
  • Component: vm-legacy
  • Sub-Component: jvmpi
  • Affected Version: 6
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2004-07-21
  • Updated: 2004-08-30
  • Resolved: 2004-08-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 mustangFixed
Related Reports
Relates :  
Description

Name: dd4877			Date: 07/21/2004



12345678901234567890123456789012345678901234567890123456789012345678901234567890
Tom R and I exchanged the following e-mails:

>> Tom Rodriguez wrote:
>>
>>> I was looking through some code and noticed that your change for 4820592
>>> made vframeStreamComment::fill_from_frame virtual, so I went looking to
>>> see why that needed to be done.  I can't find any overriding of that
>>> method so I was wondering why it was made virtual.  It's not a big deal,
>>> I'm just confused by the change.
>>>
>>> tom
>
> Daniel Daugherty wrote:
> 
>> Tom,
>>
>> Good catch. I went back through my notes. I made fill_from_frame virtual
>> because I had originally overridden the method in the Forte specific goop.
>> During the test,refine,test process I moved all the code that made the Forte
>> version unique to other places. I removed the overriding method and forgot
>> to remove virtual from the original declaration.
>>
>> Sorry for the mess. Do you want me to remove it or are you changing code
>> in the area?
>>
>> Dan

> I figured it was something like that.  If you wouldn't mind cleaning it up
> at some point that would be great. Virtual dispatch kind of sucks on sparc
> processors, so I like to avoid it.  I was just reading some assembly from
> a crash trying to make sense of it and was expecting fill_from_frame to be
> be inlined so it confused me for a little while.  Thanks!
> 
> tom


======================================================================

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: mustang FIXED IN: mustang INTEGRATED IN: mustang
31-08-2004

SUGGESTED FIX Name: dd4877 Date: 07/21/2004 daniel.daugherty@Sun 2004-07-21 Here are the context diffs for the proposed fix: ------- src/share/vm/runtime/vframe.hpp ------- *** /tmp/sccs.qIaOft Wed Jul 21 09:40:29 2004 --- vframe.hpp Wed Jul 21 09:37:33 2004 *************** *** 246,252 **** #endif void fill_from_interpreter_frame(); ! virtual bool fill_from_frame(); // Helper routine for security_get_caller_frame void skip_method_invoke_and_aux_frames(); --- 246,252 ---- #endif void fill_from_interpreter_frame(); ! bool fill_from_frame(); // Helper routine for security_get_caller_frame void skip_method_invoke_and_aux_frames(); ======================================================================
31-08-2004

PUBLIC COMMENTS Name: dd4877 Date: 07/21/2004 . ======================================================================
31-08-2004

EVALUATION Name: dd4877 Date: 07/21/2004 daniel.daugherty@Sun 2004-07-21 Make vframeStreamCommon::fill_from_frame() non-virtual. ======================================================================
21-07-2004