8004741: Missing compiled exception handle table entry for multidimensional array allocation

Added missing exception path for multidimensional array allocation and use Throwable type instead of OutOfMemoryError for allocation's exception.

Reviewed-by: twisti
This commit is contained in:
Vladimir Kozlov 2012-12-19 19:21:15 -08:00
parent 960d969ade
commit e508acf372
7 changed files with 117 additions and 13 deletions

View file

@ -2990,7 +2990,7 @@ Node* GraphKit::set_output_for_allocation(AllocateNode* alloc,
set_control( _gvn.transform(new (C) ProjNode(allocx, TypeFunc::Control) ) );
// create memory projection for i_o
set_memory ( _gvn.transform( new (C) ProjNode(allocx, TypeFunc::Memory, true) ), rawidx );
make_slow_call_ex(allocx, env()->OutOfMemoryError_klass(), true);
make_slow_call_ex(allocx, env()->Throwable_klass(), true);
// create a memory projection as for the normal control path
Node* malloc = _gvn.transform(new (C) ProjNode(allocx, TypeFunc::Memory));