From 8276143f03a5322bca60aa31e428e16c232ee92c Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 7 Jan 2025 13:53:58 +0900 Subject: [PATCH] object.h: remove MRB_SET_FROZEN_FLAG/MRB_UNSET_FROZEN_FLAG macros Simple `o->frozen = 1/0` now works. --- include/mruby/object.h | 2 -- mrbgems/mruby-class-ext/src/class.c | 2 +- mrbgems/mruby-complex/src/complex.c | 2 +- mrbgems/mruby-rational/src/rational.c | 4 ++-- src/class.c | 2 +- src/etc.c | 4 ++-- src/hash.c | 2 +- src/kernel.c | 4 ++-- 8 files changed, 10 insertions(+), 12 deletions(-) diff --git a/include/mruby/object.h b/include/mruby/object.h index 246d7552a..a9a9a43d1 100644 --- a/include/mruby/object.h +++ b/include/mruby/object.h @@ -24,8 +24,6 @@ struct RBasic { #define MRB_OBJ_IS_FROZEN 1 #define mrb_frozen_p(o) ((o)->frozen) -#define MRB_SET_FROZEN_FLAG(o) ((o)->frozen = 1) -#define MRB_UNSET_FROZEN_FLAG(o) ((o)->frozen = 0) struct RObject { MRB_OBJECT_HEADER; diff --git a/mrbgems/mruby-class-ext/src/class.c b/mrbgems/mruby-class-ext/src/class.c index 67dbc373b..46149b440 100644 --- a/mrbgems/mruby-class-ext/src/class.c +++ b/mrbgems/mruby-class-ext/src/class.c @@ -12,7 +12,7 @@ mod_name(mrb_state *mrb, mrb_value self) { mrb_value name = mrb_class_path(mrb, mrb_class_ptr(self)); if (mrb_string_p(name)) { - MRB_SET_FROZEN_FLAG(mrb_basic_ptr(name)); + mrb_basic_ptr(name)->frozen = 1; } return name; } diff --git a/mrbgems/mruby-complex/src/complex.c b/mrbgems/mruby-complex/src/complex.c index a0fad8c10..e005f2d5f 100644 --- a/mrbgems/mruby-complex/src/complex.c +++ b/mrbgems/mruby-complex/src/complex.c @@ -78,7 +78,7 @@ mrb_complex_new(mrb_state *mrb, mrb_float real, mrb_float imaginary) struct RBasic *comp = complex_alloc(mrb, c, &p); p->real = real; p->imaginary = imaginary; - MRB_SET_FROZEN_FLAG(comp); + comp->frozen = 1; return mrb_obj_value(comp); } diff --git a/mrbgems/mruby-rational/src/rational.c b/mrbgems/mruby-rational/src/rational.c index af4f069a7..455b12937 100644 --- a/mrbgems/mruby-rational/src/rational.c +++ b/mrbgems/mruby-rational/src/rational.c @@ -248,7 +248,7 @@ rational_new_b(mrb_state *mrb, mrb_value n, mrb_value d) rat->flags |= RAT_BIGINT; p->b.num = (struct RBasic*)mrb_obj_ptr(n); p->b.den = (struct RBasic*)mrb_obj_ptr(d); - MRB_SET_FROZEN_FLAG(rat); + rat->frozen = 1; return mrb_obj_value(rat); } #endif @@ -282,7 +282,7 @@ mrb_rational_new(mrb_state *mrb, mrb_int nume, mrb_int deno) struct mrb_rational *p = rat_alloc(mrb, c, &rat); p->numerator = nume; p->denominator = deno; - MRB_SET_FROZEN_FLAG(rat); + rat->frozen = 1; return mrb_obj_value(rat); } diff --git a/src/class.c b/src/class.c index aa16cfb23..8c202f1b9 100644 --- a/src/class.c +++ b/src/class.c @@ -2584,7 +2584,7 @@ static mrb_value mrb_mod_dup(mrb_state *mrb, mrb_value self) { mrb_value mod = mrb_obj_clone(mrb, self); - MRB_UNSET_FROZEN_FLAG(mrb_obj_ptr(mod)); + mrb_obj_ptr(mod)->frozen = 0; return mod; } diff --git a/src/etc.c b/src/etc.c index e20422f53..13977c5c1 100644 --- a/src/etc.c +++ b/src/etc.c @@ -154,7 +154,7 @@ mrb_word_boxing_float_value(mrb_state *mrb, mrb_float f) #ifdef MRB_WORDBOX_NO_FLOAT_TRUNCATE v.p = mrb_obj_alloc(mrb, MRB_TT_FLOAT, mrb->float_class); v.fp->f = f; - MRB_SET_FROZEN_FLAG(v.bp); + v.bp->frozen = 1; #elif defined(MRB_64BIT) && defined(MRB_USE_FLOAT32) v.w = 0; v.f = f; @@ -204,7 +204,7 @@ mrb_boxing_int_value(mrb_state *mrb, mrb_int n) mrb_value v; struct RInteger *p = (struct RInteger*)mrb_obj_alloc(mrb, MRB_TT_INTEGER, mrb->integer_class); p->i = n; - MRB_SET_FROZEN_FLAG((struct RBasic*)p); + p->frozen = 1; SET_OBJ_VALUE(v, p); return v; } diff --git a/src/hash.c b/src/hash.c index 54f2dfa00..01b1323b8 100644 --- a/src/hash.c +++ b/src/hash.c @@ -989,7 +989,7 @@ h_key_for(mrb_state *mrb, mrb_value key) { if (mrb_string_p(key) && !mrb_frozen_p(mrb_str_ptr(key))) { key = mrb_str_dup(mrb, key); - MRB_SET_FROZEN_FLAG(mrb_str_ptr(key)); + mrb_str_ptr(key)->frozen = 1; } return key; } diff --git a/src/kernel.c b/src/kernel.c index ab606dec4..025ed443f 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -266,8 +266,8 @@ mrb_obj_freeze(mrb_state *mrb, mrb_value self) if (!mrb_immediate_p(self)) { struct RBasic *b = mrb_basic_ptr(self); if (!mrb_frozen_p(b)) { - MRB_SET_FROZEN_FLAG(b); - if (b->c->tt == MRB_TT_SCLASS) MRB_SET_FROZEN_FLAG(b->c); + b->frozen = 1; + if (b->c->tt == MRB_TT_SCLASS) b->c->frozen = 1; } } return self;