Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/graphKit.cpp @ 7428:2d6c433b1f38
8004741: Missing compiled exception handle table entry for multidimensional array allocation
Summary: Added missing exception path for multidimensional array allocation and use Throwable type instead of OutOfMemoryError for allocation's exception.
Reviewed-by: twisti
author | kvn |
---|---|
date | Wed, 19 Dec 2012 19:21:15 -0800 |
parents | ad5dd04754ee |
children | d092d1b31229 |
comparison
equal
deleted
inserted
replaced
7427:2c7f594145dc | 7428:2d6c433b1f38 |
---|---|
2988 add_safepoint_edges(alloc); | 2988 add_safepoint_edges(alloc); |
2989 Node* allocx = _gvn.transform(alloc); | 2989 Node* allocx = _gvn.transform(alloc); |
2990 set_control( _gvn.transform(new (C) ProjNode(allocx, TypeFunc::Control) ) ); | 2990 set_control( _gvn.transform(new (C) ProjNode(allocx, TypeFunc::Control) ) ); |
2991 // create memory projection for i_o | 2991 // create memory projection for i_o |
2992 set_memory ( _gvn.transform( new (C) ProjNode(allocx, TypeFunc::Memory, true) ), rawidx ); | 2992 set_memory ( _gvn.transform( new (C) ProjNode(allocx, TypeFunc::Memory, true) ), rawidx ); |
2993 make_slow_call_ex(allocx, env()->OutOfMemoryError_klass(), true); | 2993 make_slow_call_ex(allocx, env()->Throwable_klass(), true); |
2994 | 2994 |
2995 // create a memory projection as for the normal control path | 2995 // create a memory projection as for the normal control path |
2996 Node* malloc = _gvn.transform(new (C) ProjNode(allocx, TypeFunc::Memory)); | 2996 Node* malloc = _gvn.transform(new (C) ProjNode(allocx, TypeFunc::Memory)); |
2997 set_memory(malloc, rawidx); | 2997 set_memory(malloc, rawidx); |
2998 | 2998 |