RFR (S): 8000232: NPG: SIGSEGV in	Dependencies::DepStream::check_klass_dependency on solaris-x64
    Vladimir Ivanov 
    vladimir.x.ivanov at oracle.com
       
    Thu Oct  4 15:04:04 PDT 2012
    
    
  
http://cr.openjdk.java.net/~vlivanov/8000232/webrev.00
22 lines changed: 10 ins; 4 del; 8 mod
Context type of a dependency is encoded as NULL only when it is explicit 
and the context is "default" (see Dependencies::ctxk_encoded_as_null). 
Decoding takes place only in Dependencies::DepStream::context_type(), 
however the value is used in other places.
The problem is that no decoding is performed when dependencies are 
logged using Dependencies::write_dependency_to, but only non-NULL values 
are expected in the code. The bug existed before NPG, it simply didn't 
cause a crash.
Fixed by moving decoding into Dependencies::DepStream::argument, so no 
caller could see encoded context value (NULL) anymore.
It also improves TraceDependencies & LogCompilation output: dependency 
context is always correctly displayed.
Also, did some cleanup.
Testing: failing test, JPRT w/ logging turned on & off, CTW on solaris_x64.
Best regards,
Vladimir Ivanov
    
    
More information about the hotspot-compiler-dev
mailing list