hotspot/src/share/vm/opto/graphKit.cpp
changeset 2574 1d5f85c2d755
parent 2570 ecc7862946d4
child 2867 69187054225f
--- a/hotspot/src/share/vm/opto/graphKit.cpp	Wed Apr 22 17:03:18 2009 -0700
+++ b/hotspot/src/share/vm/opto/graphKit.cpp	Thu Apr 23 14:04:24 2009 -0700
@@ -2980,6 +2980,7 @@
 // See comments on new_instance for the meaning of the other arguments.
 Node* GraphKit::new_array(Node* klass_node,     // array klass (maybe variable)
                           Node* length,         // number of array elements
+                          int   nargs,          // number of arguments to push back for uncommon trap
                           bool raw_mem_only,    // affect only raw memory
                           Node* *return_size_val) {
   jint  layout_con = Klass::_lh_neutral_value;
@@ -2995,6 +2996,7 @@
     Node* cmp_lh = _gvn.transform( new(C, 3) CmpINode(layout_val, intcon(layout_con)) );
     Node* bol_lh = _gvn.transform( new(C, 2) BoolNode(cmp_lh, BoolTest::eq) );
     { BuildCutout unless(this, bol_lh, PROB_MAX);
+      _sp += nargs;
       uncommon_trap(Deoptimization::Reason_class_check,
                     Deoptimization::Action_maybe_recompile);
     }