src/share/vm/opto/parseHelper.cpp

changeset 4313
beebba0acc11
parent 4142
d8ce2825b193
child 4936
aeaca88565e6
     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.

mercurial