RFR (S): 8000232: NPG: SIGSEGV in Dependencies::DepStream::check_klass_dependency on solaris-x64
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Fri Oct 5 06:52:45 PDT 2012
Agree. Updated the webrev.
Best regards,
Vladimir Ivanov
On 10/05/12 05:15, Vladimir Kozlov wrote:
> Could you add != NULL check to the second assert since argument_oop()
> can return NULL (based on the assert inside)?
>
> 707 assert(k->is_klass(), "type check");
>
> Thanks,
> Vladimir
>
> On 10/4/12 3:04 PM, Vladimir Ivanov wrote:
>> 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