hotspot/src/share/vm/opto/graphKit.cpp
changeset 33105 294e48b4f704
parent 32596 8feecdee3156
child 33449 8aca535611b8
equal deleted inserted replaced
33104:a7c0f60a1294 33105:294e48b4f704
  1249       chk = new CmpPNode( value, null() );
  1249       chk = new CmpPNode( value, null() );
  1250       break;
  1250       break;
  1251     }
  1251     }
  1252 
  1252 
  1253     default:
  1253     default:
  1254       fatal(err_msg_res("unexpected type: %s", type2name(type)));
  1254       fatal("unexpected type: %s", type2name(type));
  1255   }
  1255   }
  1256   assert(chk != NULL, "sanity check");
  1256   assert(chk != NULL, "sanity check");
  1257   chk = _gvn.transform(chk);
  1257   chk = _gvn.transform(chk);
  1258 
  1258 
  1259   BoolTest::mask btest = assert_null ? BoolTest::eq : BoolTest::ne;
  1259   BoolTest::mask btest = assert_null ? BoolTest::eq : BoolTest::ne;
  1948   if (!must_throw) {
  1948   if (!must_throw) {
  1949     // Make sure the stack has at least enough depth to execute
  1949     // Make sure the stack has at least enough depth to execute
  1950     // the current bytecode.
  1950     // the current bytecode.
  1951     int inputs, ignored_depth;
  1951     int inputs, ignored_depth;
  1952     if (compute_stack_effects(inputs, ignored_depth)) {
  1952     if (compute_stack_effects(inputs, ignored_depth)) {
  1953       assert(sp() >= inputs, err_msg_res("must have enough JVMS stack to execute %s: sp=%d, inputs=%d",
  1953       assert(sp() >= inputs, "must have enough JVMS stack to execute %s: sp=%d, inputs=%d",
  1954              Bytecodes::name(java_bc()), sp(), inputs));
  1954              Bytecodes::name(java_bc()), sp(), inputs);
  1955     }
  1955     }
  1956   }
  1956   }
  1957 #endif
  1957 #endif
  1958 
  1958 
  1959   Deoptimization::DeoptReason reason = Deoptimization::trap_request_reason(trap_request);
  1959   Deoptimization::DeoptReason reason = Deoptimization::trap_request_reason(trap_request);
  1985 #ifdef ASSERT
  1985 #ifdef ASSERT
  1986   case Deoptimization::Action_none:
  1986   case Deoptimization::Action_none:
  1987   case Deoptimization::Action_make_not_compilable:
  1987   case Deoptimization::Action_make_not_compilable:
  1988     break;
  1988     break;
  1989   default:
  1989   default:
  1990     fatal(err_msg_res("unknown action %d: %s", action, Deoptimization::trap_action_name(action)));
  1990     fatal("unknown action %d: %s", action, Deoptimization::trap_action_name(action));
  1991     break;
  1991     break;
  1992 #endif
  1992 #endif
  1993   }
  1993   }
  1994 
  1994 
  1995   if (TraceOptoParse) {
  1995   if (TraceOptoParse) {
  2507 static IfNode* gen_subtype_check_compare(Node* ctrl, Node* in1, Node* in2, BoolTest::mask test, float p, PhaseGVN* gvn, BasicType bt) {
  2507 static IfNode* gen_subtype_check_compare(Node* ctrl, Node* in1, Node* in2, BoolTest::mask test, float p, PhaseGVN* gvn, BasicType bt) {
  2508   Node* cmp = NULL;
  2508   Node* cmp = NULL;
  2509   switch(bt) {
  2509   switch(bt) {
  2510   case T_INT: cmp = new CmpINode(in1, in2); break;
  2510   case T_INT: cmp = new CmpINode(in1, in2); break;
  2511   case T_ADDRESS: cmp = new CmpPNode(in1, in2); break;
  2511   case T_ADDRESS: cmp = new CmpPNode(in1, in2); break;
  2512   default: fatal(err_msg("unexpected comparison type %s", type2name(bt)));
  2512   default: fatal("unexpected comparison type %s", type2name(bt));
  2513   }
  2513   }
  2514   gvn->transform(cmp);
  2514   gvn->transform(cmp);
  2515   Node* bol = gvn->transform(new BoolNode(cmp, test));
  2515   Node* bol = gvn->transform(new BoolNode(cmp, test));
  2516   IfNode* iff = new IfNode(ctrl, bol, p, COUNT_UNKNOWN);
  2516   IfNode* iff = new IfNode(ctrl, bol, p, COUNT_UNKNOWN);
  2517   gvn->transform(iff);
  2517   gvn->transform(iff);