review (XS) for 7018506: CTW swallowing OOMs after symbol changes
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Feb 10 11:57:27 PST 2011
Tom,
I think new method should return boolean if exception occurred.
There is checked variable 'exception_occurred' to which it
should be assigned to:
1324 bool exception_occurred = clear_pending_exception_if_not_oom(CHECK);
1325 if (CompileTheWorldPreloadClasses && k.not_null()) {
1326 constantPoolKlass::preload_and_initialize_all_classes(k->constants(), THREAD);
1327 if (HAS_PENDING_EXCEPTION) {
1328 // If something went wrong in preloading we just ignore it
1329 exception_occurred = clear_pending_exception_if_not_oom(CHECK);
1330 tty->print_cr("Preloading failed for (%d) %s", _compile_the_world_counter, buffer);
1331 }
1332 }
Thanks,
Vladimir
Tom Rodriguez wrote:
> Coleen pointed out there are other unchecked CLEAR_PENDING_EXCEPTION calls so I've modified it to check at all of them. Please re-review.
>
> tom
>
> On Feb 10, 2011, at 11:36 AM, Igor Veresov wrote:
>
>> Looks good.
>>
>> igor
>>
>> On 2/10/11 11:13 AM, Tom Rodriguez wrote:
>>> http://cr.openjdk.java.net/~never/7018506
>>>
>>> 7018506: CTW swallowing OOMs after symbol changes
>>> Reviewed-by:
>>>
>>> Previously the symbol creation could throw an OOM for perm but now it
>>> can't and the next two exception points just swallowed exception so it
>>> keeps on going. The fix is to always allow OOMs to be propagated.
>>> Tested with CTW.
>
More information about the hotspot-compiler-dev
mailing list