// Throw an uncommon trap if a given value is __not__ null. // Return the value cast to null, and be clever about dominating checks. Node* do_null_assert(Node* value, BasicType type) { return null_check_common(value, type, true, NULL); }
// Throw an exception if a given value is null. // Return the value cast to not-null. // Be clever about equivalent dominating null checks. Node* do_null_check(Node* value, BasicType type) { return null_check_common(value, type, false, NULL); }
Node* zero_check_long(Node* value) { assert(value->bottom_type()->basic_type() == T_LONG, "wrong type: %s", type2name(value->bottom_type()->basic_type())); return null_check_common(value, T_LONG); }
// Throw an uncommon trap if a given value is __not__ null. // Return the value cast to null, and be clever about dominating checks. Node* null_assert(Node* value, BasicType type = T_OBJECT) { return null_check_common(value, type, true); }
Node* null_check(Node* value, BasicType type = T_OBJECT) { return null_check_common(value, type, false, NULL, !_gvn.type(value)->speculative_maybe_null()); }