1146 BoolTest::mask btest = assert_null ? BoolTest::eq : BoolTest::ne; |
1146 BoolTest::mask btest = assert_null ? BoolTest::eq : BoolTest::ne; |
1147 BoolNode *btst = new (C, 2) BoolNode( chk, btest); |
1147 BoolNode *btst = new (C, 2) BoolNode( chk, btest); |
1148 Node *tst = _gvn.transform( btst ); |
1148 Node *tst = _gvn.transform( btst ); |
1149 |
1149 |
1150 //----------- |
1150 //----------- |
1151 // if peephole optimizations occured, a prior test existed. |
1151 // if peephole optimizations occurred, a prior test existed. |
1152 // If a prior test existed, maybe it dominates as we can avoid this test. |
1152 // If a prior test existed, maybe it dominates as we can avoid this test. |
1153 if (tst != btst && type == T_OBJECT) { |
1153 if (tst != btst && type == T_OBJECT) { |
1154 // At this point we want to scan up the CFG to see if we can |
1154 // At this point we want to scan up the CFG to see if we can |
1155 // find an identical test (and so avoid this test altogether). |
1155 // find an identical test (and so avoid this test altogether). |
1156 Node *cfg = control(); |
1156 Node *cfg = control(); |
1194 // must-be-null assertion has failed. This could cause performance |
1194 // must-be-null assertion has failed. This could cause performance |
1195 // problems for a method after its first do_null_assert failure. |
1195 // problems for a method after its first do_null_assert failure. |
1196 // Consider using 'Reason_class_check' instead? |
1196 // Consider using 'Reason_class_check' instead? |
1197 |
1197 |
1198 // To cause an implicit null check, we set the not-null probability |
1198 // To cause an implicit null check, we set the not-null probability |
1199 // to the maximum (PROB_MAX). For an explicit check the probablity |
1199 // to the maximum (PROB_MAX). For an explicit check the probability |
1200 // is set to a smaller value. |
1200 // is set to a smaller value. |
1201 if (null_control != NULL || too_many_traps(reason)) { |
1201 if (null_control != NULL || too_many_traps(reason)) { |
1202 // probability is less likely |
1202 // probability is less likely |
1203 ok_prob = PROB_LIKELY_MAG(3); |
1203 ok_prob = PROB_LIKELY_MAG(3); |
1204 } else if (!assert_null && |
1204 } else if (!assert_null && |