1.1 --- a/src/share/vm/opto/parseHelper.cpp Wed Nov 21 05:57:12 2012 -0800 1.2 +++ b/src/share/vm/opto/parseHelper.cpp Mon Nov 26 17:25:11 2012 -0800 1.3 @@ -84,7 +84,7 @@ 1.4 C->log()->identify(tp->klass())); 1.5 } 1.6 } 1.7 - do_null_assert(obj, T_OBJECT); 1.8 + null_assert(obj); 1.9 assert( stopped() || _gvn.type(peek())->higher_equal(TypePtr::NULL_PTR), "what's left behind is null" ); 1.10 if (!stopped()) { 1.11 profile_null_checkcast(); 1.12 @@ -116,7 +116,7 @@ 1.13 C->log()->elem("assert_null reason='instanceof' klass='%d'", 1.14 C->log()->identify(klass)); 1.15 } 1.16 - do_null_assert(peek(), T_OBJECT); 1.17 + null_assert(peek()); 1.18 assert( stopped() || _gvn.type(peek())->higher_equal(TypePtr::NULL_PTR), "what's left behind is null" ); 1.19 if (!stopped()) { 1.20 // The object is now known to be null. 1.21 @@ -139,10 +139,10 @@ 1.22 // pull array from stack and check that the store is valid 1.23 void Parse::array_store_check() { 1.24 1.25 - // Shorthand access to array store elements 1.26 - Node *obj = stack(_sp-1); 1.27 - Node *idx = stack(_sp-2); 1.28 - Node *ary = stack(_sp-3); 1.29 + // Shorthand access to array store elements without popping them. 1.30 + Node *obj = peek(0); 1.31 + Node *idx = peek(1); 1.32 + Node *ary = peek(2); 1.33 1.34 if (_gvn.type(obj) == TypePtr::NULL_PTR) { 1.35 // There's never a type check on null values.