Mercurial > hg > truffle
diff src/share/vm/c1/c1_Optimizer.cpp @ 3792:15559220ce79
6478991: C1 NullCheckEliminator yields incorrect exceptions
Reviewed-by: twisti, iveresov
author | never |
---|---|
date | Tue, 05 Jul 2011 16:07:54 -0700 |
parents | d4c1fbc3de95 |
children | 7bca37d28f32 |
line wrap: on
line diff
--- a/src/share/vm/c1/c1_Optimizer.cpp Fri Jul 01 10:37:37 2011 -0700 +++ b/src/share/vm/c1/c1_Optimizer.cpp Tue Jul 05 16:07:54 2011 -0700 @@ -642,7 +642,7 @@ void NullCheckVisitor::do_NewTypeArray (NewTypeArray* x) { nce()->handle_NewArray(x); } void NullCheckVisitor::do_NewObjectArray (NewObjectArray* x) { nce()->handle_NewArray(x); } void NullCheckVisitor::do_NewMultiArray (NewMultiArray* x) { nce()->handle_NewArray(x); } -void NullCheckVisitor::do_CheckCast (CheckCast* x) {} +void NullCheckVisitor::do_CheckCast (CheckCast* x) { nce()->clear_last_explicit_null_check(); } void NullCheckVisitor::do_InstanceOf (InstanceOf* x) {} void NullCheckVisitor::do_MonitorEnter (MonitorEnter* x) { nce()->handle_AccessMonitor(x); } void NullCheckVisitor::do_MonitorExit (MonitorExit* x) { nce()->handle_AccessMonitor(x); }