[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:
http://cr.openjdk.java.net/~anoll/7194669/webrev.04/
Best,
Albert
More information about the hotspot-compiler-dev
mailing list