review (S) for 6911204: generated adapters with large signatures can fill up the code cache

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Wed Jan 13 22:05:39 PST 2010


On Jan 13, 2010, at 7:16 PM, Vladimir Kozlov wrote:

>>> 
>>> 1793   int value(int index) {<<<  returns "int" but _fingerprint is array of intptr_t,
>>>                                  and there is no check (v1 == (int) v1). I know they fit "int"
>>>                                  but some compilers may complain about downcast without explicit cast.
>> 
>> You're right.  I fixed it.
> 
> I thought you will use (int) cast. If value() returns intptr_t you will have
> problems in compute_hash() and as_string(), especially last since print
> format expects int value.

It has to be intptr_t since a VMReg is actually an encoded pointer.  It should always be small enough to fit into an int but I can't assume that.  I've fixed hash and changed as_string to use PRT_FORMAT which is somewhat ugly but it's good enough I think.

tom

> 
> Vladimir
> 
>> 
>> 
>> tom
>> 
>> 
>>> 
>>> Vladimir
>>> 
>>> Tom Rodriguez wrote:
>>>> http://cr.openjdk.java.net/~never/6911204
>> 



More information about the hotspot-compiler-dev mailing list