Request for review (S): 7020118

Keith McGuigan keith.mcguigan at oracle.com
Tue Feb 22 14:08:22 PST 2011


On Feb 22, 2011, at 4:32 PM, Tom Rodriguez wrote:

>
> On Feb 21, 2011, at 1:03 PM, Keith McGuigan wrote:
>
>>
>> Fix for 7020118: Alter frame assignability to allow for exception  
>> handler coverage of invokespecial <init>.
>>
>> Webrev: http://cr.openjdk.java.net/~kamg/7020118/webrev.00/
>>
>> This fix to the verifier makes it possible to create an exception  
>> handler that covers the entirety of an <init> method, by specifying  
>> "Top" types in the stackmap in place of "UninitializedThis".   
>> NetBeans profiler would like to generate such handlers, but the  
>> current implementation doesn't allow it.
>>
>> Thanks for any review.
>
> minor typo:  "This a rare situation"

Fixed, thanks.

> Do you need to guard the stack bounds more carefully?  They don't  
> have to be of a similar length.  In the exception case, target will  
> always be 1 and the current stack should always be more than one  
> because of the invokespecial.  I don't see anything that keeps this  
> from being called in other contexts though.  Maybe it's impossible  
> for this path to be used in other contexts because of the  
> flag_this_uninit check?  There appear to be no range checks even in  
> debug mode, so are the out of bounds values guaranteed to be top?

That function bails out immediately if the stack sizes are not the  
same (see the first 'if' statement in the function).

> Other than that it seems to implement what's described in the spec  
> bug report so I guess it's good.

Thanks for the review!

--
- Keith


More information about the hotspot-runtime-dev mailing list