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); |