7090976: Eclipse/CDT causes a JVM crash while indexing C++ code

Too optimistic inlining decision confuses local value numbering.

Reviewed-by: never
This commit is contained in:
Roland Westrelin 2012-02-01 10:36:58 +01:00
parent 2fd128fe15
commit a59952f4c9
4 changed files with 110 additions and 9 deletions

View file

@ -337,9 +337,9 @@ class GraphBuilder VALUE_OBJ_CLASS_SPEC {
void fill_sync_handler(Value lock, BlockBegin* sync_handler, bool default_handler = false);
// inliners
bool try_inline( ciMethod* callee, bool holder_known);
bool try_inline( ciMethod* callee, bool holder_known, Value receiver = NULL);
bool try_inline_intrinsics(ciMethod* callee);
bool try_inline_full( ciMethod* callee, bool holder_known, BlockBegin* cont_block = NULL);
bool try_inline_full( ciMethod* callee, bool holder_known, BlockBegin* cont_block, Value receiver);
bool try_inline_jsr(int jsr_dest_bci);
// JSR 292 support