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

Albert Noll albert.noll at oracle.com
Tue Jan 14 07:51:07 PST 2014

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:


More information about the hotspot-compiler-dev mailing list