[9] RFR(M): 7194669: CodeCache::mark_for_deoptimization should avoid verifying dependencies multiple times

Christian Thalinger christian.thalinger at oracle.com
Tue Jan 14 16:58:17 PST 2014


Looks good.

On Jan 14, 2014, at 7:51 AM, Albert Noll <albert.noll at oracle.com> wrote:

> Hi Roland,
> 
> thanks again for looking at the patch. Please see comments inline:
> 
> 
> On 01/14/2014 01:45 PM, Roland Westrelin wrote:
>>> http://cr.openjdk.java.net/~anoll/7194669/webrev.03/
>> dependencies.cpp
>> 
>> No need to cast twice:
>> 688     return (uintptr_t)(oopDesc*)argument_oop(i);
> If I skip the cast to (oopDesc*), the compiler gives the following error:
> dependencies.cpp:688:51: error: invalid cast from type ‘oop’ to type ‘uintptr_t {aka long unsigned int}’
>> 
>> What is that for?
>>  747 void* DependencySignature::operator new (size_t size) throw() {
>>  748   return NEW_RESOURCE_ARRAY(DependencySignature, 1);
>>  749 }
> I guess this is not the usual way to allocate objects into a ResourceMark.
> The updated version derives DependencySignature from : public ResourceObj.
> I hope this is fine.
>> Shouldn’t we abort if we find something wrong? Printing stuff will easily go unnoticed.
> I agree. This version fails with an assert if dependency checking fails.
>> Roland.
> Here is the new webrev:
> http://cr.openjdk.java.net/~anoll/7194669/webrev.04/
> 
> Best,
> Albert



More information about the hotspot-compiler-dev mailing list