Use UNDEF_P

This commit is contained in:
Nobuyoshi Nakada 2024-01-30 14:48:59 +09:00
parent 03246171cc
commit 361b3efe16
No known key found for this signature in database
GPG Key ID: 3582D74E1FEE4465
9 changed files with 45 additions and 45 deletions

View File

@ -1067,7 +1067,7 @@ complex_pow_for_special_angle(VALUE self, VALUE other)
dir = 3; dir = 3;
} }
if (x == Qundef) return x; if (UNDEF_P(x)) return x;
if (f_negative_p(x)) { if (f_negative_p(x)) {
x = f_negate(x); x = f_negate(x);
@ -1139,7 +1139,7 @@ rb_complex_pow(VALUE self, VALUE other)
} }
VALUE result = complex_pow_for_special_angle(self, other); VALUE result = complex_pow_for_special_angle(self, other);
if (result != Qundef) return result; if (!UNDEF_P(result)) return result;
if (RB_TYPE_P(other, T_COMPLEX)) { if (RB_TYPE_P(other, T_COMPLEX)) {
VALUE r, theta, nr, ntheta; VALUE r, theta, nr, ntheta;

View File

@ -737,7 +737,7 @@ definedivar
// attr bool leaf = false; // attr bool leaf = false;
{ {
val = Qnil; val = Qnil;
if (vm_getivar(GET_SELF(), id, GET_ISEQ(), ic, NULL, FALSE, Qundef) != Qundef) { if (!UNDEF_P(vm_getivar(GET_SELF(), id, GET_ISEQ(), ic, NULL, FALSE, Qundef))) {
val = pushval; val = pushval;
} }
} }
@ -842,7 +842,7 @@ send
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method); val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method);
JIT_EXEC(ec, val); JIT_EXEC(ec, val);
if (val == Qundef) { if (UNDEF_P(val)) {
RESTORE_REGS(); RESTORE_REGS();
NEXT_INSN(); NEXT_INSN();
} }
@ -862,7 +862,7 @@ opt_send_without_block
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method); val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method);
JIT_EXEC(ec, val); JIT_EXEC(ec, val);
if (val == Qundef) { if (UNDEF_P(val)) {
RESTORE_REGS(); RESTORE_REGS();
NEXT_INSN(); NEXT_INSN();
} }
@ -878,7 +878,7 @@ objtostring
{ {
val = vm_objtostring(GET_ISEQ(), recv, cd); val = vm_objtostring(GET_ISEQ(), recv, cd);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -891,7 +891,7 @@ opt_str_freeze
{ {
val = vm_opt_str_freeze(str, BOP_FREEZE, idFreeze); val = vm_opt_str_freeze(str, BOP_FREEZE, idFreeze);
if (val == Qundef) { if (UNDEF_P(val)) {
PUSH(rb_str_resurrect(str)); PUSH(rb_str_resurrect(str));
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
@ -906,7 +906,7 @@ opt_nil_p
{ {
val = vm_opt_nil_p(GET_ISEQ(), cd, recv); val = vm_opt_nil_p(GET_ISEQ(), cd, recv);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -919,7 +919,7 @@ opt_str_uminus
{ {
val = vm_opt_str_freeze(str, BOP_UMINUS, idUMinus); val = vm_opt_str_freeze(str, BOP_UMINUS, idUMinus);
if (val == Qundef) { if (UNDEF_P(val)) {
PUSH(rb_str_resurrect(str)); PUSH(rb_str_resurrect(str));
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
@ -966,7 +966,7 @@ invokesuper
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_super); val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_super);
JIT_EXEC(ec, val); JIT_EXEC(ec, val);
if (val == Qundef) { if (UNDEF_P(val)) {
RESTORE_REGS(); RESTORE_REGS();
NEXT_INSN(); NEXT_INSN();
} }
@ -986,7 +986,7 @@ invokeblock
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_invokeblock); val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_invokeblock);
JIT_EXEC(ec, val); JIT_EXEC(ec, val);
if (val == Qundef) { if (UNDEF_P(val)) {
RESTORE_REGS(); RESTORE_REGS();
NEXT_INSN(); NEXT_INSN();
} }
@ -1144,7 +1144,7 @@ opt_plus
{ {
val = vm_opt_plus(recv, obj); val = vm_opt_plus(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1158,7 +1158,7 @@ opt_minus
{ {
val = vm_opt_minus(recv, obj); val = vm_opt_minus(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1172,7 +1172,7 @@ opt_mult
{ {
val = vm_opt_mult(recv, obj); val = vm_opt_mult(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1189,7 +1189,7 @@ opt_div
{ {
val = vm_opt_div(recv, obj); val = vm_opt_div(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1205,7 +1205,7 @@ opt_mod
{ {
val = vm_opt_mod(recv, obj); val = vm_opt_mod(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1219,7 +1219,7 @@ opt_eq
{ {
val = opt_equality(GET_ISEQ(), recv, obj, cd); val = opt_equality(GET_ISEQ(), recv, obj, cd);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1233,7 +1233,7 @@ opt_neq
{ {
val = vm_opt_neq(GET_ISEQ(), cd, cd_eq, recv, obj); val = vm_opt_neq(GET_ISEQ(), cd, cd_eq, recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1247,7 +1247,7 @@ opt_lt
{ {
val = vm_opt_lt(recv, obj); val = vm_opt_lt(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1261,7 +1261,7 @@ opt_le
{ {
val = vm_opt_le(recv, obj); val = vm_opt_le(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1275,7 +1275,7 @@ opt_gt
{ {
val = vm_opt_gt(recv, obj); val = vm_opt_gt(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1289,7 +1289,7 @@ opt_ge
{ {
val = vm_opt_ge(recv, obj); val = vm_opt_ge(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1307,7 +1307,7 @@ opt_ltlt
{ {
val = vm_opt_ltlt(recv, obj); val = vm_opt_ltlt(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1321,7 +1321,7 @@ opt_and
{ {
val = vm_opt_and(recv, obj); val = vm_opt_and(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1335,7 +1335,7 @@ opt_or
{ {
val = vm_opt_or(recv, obj); val = vm_opt_or(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1354,7 +1354,7 @@ opt_aref
{ {
val = vm_opt_aref(recv, obj); val = vm_opt_aref(recv, obj);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1371,7 +1371,7 @@ opt_aset
{ {
val = vm_opt_aset(recv, obj, set); val = vm_opt_aset(recv, obj, set);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1387,7 +1387,7 @@ opt_aset_with
{ {
VALUE tmp = vm_opt_aset_with(recv, key, val); VALUE tmp = vm_opt_aset_with(recv, key, val);
if (tmp != Qundef) { if (!UNDEF_P(tmp)) {
val = tmp; val = tmp;
} }
else { else {
@ -1408,7 +1408,7 @@ opt_aref_with
{ {
val = vm_opt_aref_with(recv, key); val = vm_opt_aref_with(recv, key);
if (val == Qundef) { if (UNDEF_P(val)) {
PUSH(rb_str_resurrect(key)); PUSH(rb_str_resurrect(key));
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
@ -1423,7 +1423,7 @@ opt_length
{ {
val = vm_opt_length(recv, BOP_LENGTH); val = vm_opt_length(recv, BOP_LENGTH);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1437,7 +1437,7 @@ opt_size
{ {
val = vm_opt_length(recv, BOP_SIZE); val = vm_opt_length(recv, BOP_SIZE);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1451,7 +1451,7 @@ opt_empty_p
{ {
val = vm_opt_empty_p(recv); val = vm_opt_empty_p(recv);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1465,7 +1465,7 @@ opt_succ
{ {
val = vm_opt_succ(recv); val = vm_opt_succ(recv);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1479,7 +1479,7 @@ opt_not
{ {
val = vm_opt_not(GET_ISEQ(), cd, recv); val = vm_opt_not(GET_ISEQ(), cd, recv);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }
@ -1494,7 +1494,7 @@ opt_regexpmatch2
{ {
val = vm_opt_regexpmatch2(obj2, obj1); val = vm_opt_regexpmatch2(obj2, obj1);
if (val == Qundef) { if (UNDEF_P(val)) {
CALL_SIMPLE_METHOD(); CALL_SIMPLE_METHOD();
} }
} }

View File

@ -158,7 +158,7 @@ rb_num_compare_with_zero(VALUE num, ID mid)
{ {
VALUE zero = INT2FIX(0); VALUE zero = INT2FIX(0);
VALUE r = rb_check_funcall(num, mid, 1, &zero); VALUE r = rb_check_funcall(num, mid, 1, &zero);
if (r == Qundef) { if (RB_UNDEF_P(r)) {
rb_cmperr(num, zero); rb_cmperr(num, zero);
} }
return r; return r;

4
proc.c
View File

@ -1690,7 +1690,7 @@ mnew_internal(const rb_method_entry_t *me, VALUE klass, VALUE iclass,
method = TypedData_Make_Struct(mclass, struct METHOD, &method_data_type, data); method = TypedData_Make_Struct(mclass, struct METHOD, &method_data_type, data);
if (obj == Qundef) { if (UNDEF_P(obj)) {
RB_OBJ_WRITE(method, &data->recv, Qundef); RB_OBJ_WRITE(method, &data->recv, Qundef);
RB_OBJ_WRITE(method, &data->klass, Qundef); RB_OBJ_WRITE(method, &data->klass, Qundef);
} }
@ -3126,7 +3126,7 @@ method_inspect(VALUE method)
defined_class = RBASIC_CLASS(defined_class); defined_class = RBASIC_CLASS(defined_class);
} }
if (data->recv == Qundef) { if (UNDEF_P(data->recv)) {
// UnboundMethod // UnboundMethod
rb_str_buf_append(str, rb_inspect(defined_class)); rb_str_buf_append(str, rb_inspect(defined_class));
} }

View File

@ -1670,7 +1670,7 @@ ractor_selector__wait(VALUE selv, VALUE do_receivev, VALUE do_yieldv, VALUE yiel
} }
// check recv_queue // check recv_queue
if (do_receive && (ret_v = ractor_try_receive(ec, cr, rq)) != Qundef) { if (do_receive && !UNDEF_P(ret_v = ractor_try_receive(ec, cr, rq))) {
ret_r = ID2SYM(rb_intern("receive")); ret_r = ID2SYM(rb_intern("receive"));
goto success; goto success;
} }

View File

@ -2252,7 +2252,7 @@ rb_obj_remove_instance_variable(VALUE obj, VALUE name)
if (id) { if (id) {
VALUE val = rb_ivar_delete(obj, id, Qundef); VALUE val = rb_ivar_delete(obj, id, Qundef);
if (val != Qundef) return val; if (!UNDEF_P(val)) return val;
} }
rb_name_err_raise("instance variable %1$s not defined", rb_name_err_raise("instance variable %1$s not defined",

View File

@ -167,7 +167,7 @@ default: \
// Run the interpreter from the JIT // Run the interpreter from the JIT
#define VM_EXEC(ec, val) do { \ #define VM_EXEC(ec, val) do { \
if (val == Qundef) { \ if (UNDEF_P(val)) { \
VM_ENV_FLAGS_SET(ec->cfp->ep, VM_FRAME_FLAG_FINISH); \ VM_ENV_FLAGS_SET(ec->cfp->ep, VM_FRAME_FLAG_FINISH); \
val = vm_exec(ec); \ val = vm_exec(ec); \
} \ } \
@ -177,7 +177,7 @@ default: \
#define JIT_EXEC(ec, val) do { \ #define JIT_EXEC(ec, val) do { \
rb_jit_func_t func; \ rb_jit_func_t func; \
/* don't run tailcalls since that breaks FINISH */ \ /* don't run tailcalls since that breaks FINISH */ \
if (val == Qundef && GET_CFP() != ec->cfp && (func = jit_compile(ec))) { \ if (UNDEF_P(val) && GET_CFP() != ec->cfp && (func = jit_compile(ec))) { \
val = func(ec, ec->cfp); \ val = func(ec, ec->cfp); \
if (ec->tag->state) THROW_EXCEPTION(val); \ if (ec->tag->state) THROW_EXCEPTION(val); \
} \ } \

View File

@ -1343,7 +1343,7 @@ vm_getivar(VALUE obj, ID id, const rb_iseq_t *iseq, IVC ic, const struct rb_call
} }
if (default_value != Qundef) { if (!UNDEF_P(default_value)) {
RUBY_ASSERT(!UNDEF_P(val)); RUBY_ASSERT(!UNDEF_P(val));
} }

View File

@ -772,7 +772,7 @@ static VALUE
wkmap_aref(VALUE self, VALUE key) wkmap_aref(VALUE self, VALUE key)
{ {
VALUE obj = wkmap_lookup(self, key); VALUE obj = wkmap_lookup(self, key);
return obj != Qundef ? obj : Qnil; return !UNDEF_P(obj) ? obj : Qnil;
} }
struct wkmap_aset_args { struct wkmap_aset_args {
@ -927,7 +927,7 @@ wkmap_getkey(VALUE self, VALUE key)
static VALUE static VALUE
wkmap_has_key(VALUE self, VALUE key) wkmap_has_key(VALUE self, VALUE key)
{ {
return RBOOL(wkmap_lookup(self, key) != Qundef); return RBOOL(!UNDEF_P(wkmap_lookup(self, key)));
} }
/* /*