GitHub

Original file line numberDiff line numberDiff line change

@@ -24,8 +24,6 @@ struct RBasic {

2424
2525

#define MRB_OBJ_IS_FROZEN 1

2626

#define mrb_frozen_p(o) ((o)->frozen)

27-

#define MRB_SET_FROZEN_FLAG(o) ((o)->frozen = 1)

28-

#define MRB_UNSET_FROZEN_FLAG(o) ((o)->frozen = 0)

2927
3028

struct RObject {

3129

MRB_OBJECT_HEADER;

Original file line numberDiff line numberDiff line change

@@ -12,7 +12,7 @@ mod_name(mrb_state *mrb, mrb_value self)

1212

{

1313

mrb_value name = mrb_class_path(mrb, mrb_class_ptr(self));

1414

if (mrb_string_p(name)) {

15-

MRB_SET_FROZEN_FLAG(mrb_basic_ptr(name));

15+

mrb_basic_ptr(name)->frozen = 1;

1616

}

1717

return name;

1818

}

Original file line numberDiff line numberDiff line change

@@ -78,7 +78,7 @@ mrb_complex_new(mrb_state *mrb, mrb_float real, mrb_float imaginary)

7878

struct RBasic *comp = complex_alloc(mrb, c, &p);

7979

p->real = real;

8080

p->imaginary = imaginary;

81-

MRB_SET_FROZEN_FLAG(comp);

81+

comp->frozen = 1;

8282
8383

return mrb_obj_value(comp);

8484

}

Original file line numberDiff line numberDiff line change

@@ -248,7 +248,7 @@ rational_new_b(mrb_state *mrb, mrb_value n, mrb_value d)

248248

rat->flags |= RAT_BIGINT;

249249

p->b.num = (struct RBasic*)mrb_obj_ptr(n);

250250

p->b.den = (struct RBasic*)mrb_obj_ptr(d);

251-

MRB_SET_FROZEN_FLAG(rat);

251+

rat->frozen = 1;

252252

return mrb_obj_value(rat);

253253

}

254254

#endif

@@ -282,7 +282,7 @@ mrb_rational_new(mrb_state *mrb, mrb_int nume, mrb_int deno)

282282

struct mrb_rational *p = rat_alloc(mrb, c, &rat);

283283

p->numerator = nume;

284284

p->denominator = deno;

285-

MRB_SET_FROZEN_FLAG(rat);

285+

rat->frozen = 1;

286286

return mrb_obj_value(rat);

287287

}

288288
Original file line numberDiff line numberDiff line change

@@ -2584,7 +2584,7 @@ static mrb_value

25842584

mrb_mod_dup(mrb_state *mrb, mrb_value self)

25852585

{

25862586

mrb_value mod = mrb_obj_clone(mrb, self);

2587-

MRB_UNSET_FROZEN_FLAG(mrb_obj_ptr(mod));

2587+

mrb_obj_ptr(mod)->frozen = 0;

25882588

return mod;

25892589

}

25902590
Original file line numberDiff line numberDiff line change

@@ -154,7 +154,7 @@ mrb_word_boxing_float_value(mrb_state *mrb, mrb_float f)

154154

#ifdef MRB_WORDBOX_NO_FLOAT_TRUNCATE

155155

v.p = mrb_obj_alloc(mrb, MRB_TT_FLOAT, mrb->float_class);

156156

v.fp->f = f;

157-

MRB_SET_FROZEN_FLAG(v.bp);

157+

v.bp->frozen = 1;

158158

#elif defined(MRB_64BIT) && defined(MRB_USE_FLOAT32)

159159

v.w = 0;

160160

v.f = f;

@@ -204,7 +204,7 @@ mrb_boxing_int_value(mrb_state *mrb, mrb_int n)

204204

mrb_value v;

205205

struct RInteger *p = (struct RInteger*)mrb_obj_alloc(mrb, MRB_TT_INTEGER, mrb->integer_class);

206206

p->i = n;

207-

MRB_SET_FROZEN_FLAG((struct RBasic*)p);

207+

p->frozen = 1;

208208

SET_OBJ_VALUE(v, p);

209209

return v;

210210

}

Original file line numberDiff line numberDiff line change

@@ -989,7 +989,7 @@ h_key_for(mrb_state *mrb, mrb_value key)

989989

{

990990

if (mrb_string_p(key) && !mrb_frozen_p(mrb_str_ptr(key))) {

991991

key = mrb_str_dup(mrb, key);

992-

MRB_SET_FROZEN_FLAG(mrb_str_ptr(key));

992+

mrb_str_ptr(key)->frozen = 1;

993993

}

994994

return key;

995995

}

Original file line numberDiff line numberDiff line change

@@ -266,8 +266,8 @@ mrb_obj_freeze(mrb_state *mrb, mrb_value self)

266266

if (!mrb_immediate_p(self)) {

267267

struct RBasic *b = mrb_basic_ptr(self);

268268

if (!mrb_frozen_p(b)) {

269-

MRB_SET_FROZEN_FLAG(b);

270-

if (b->c->tt == MRB_TT_SCLASS) MRB_SET_FROZEN_FLAG(b->c);

269+

b->frozen = 1;

270+

if (b->c->tt == MRB_TT_SCLASS) b->c->frozen = 1;

271271

}

272272

}

273273

return self;

Read the original on github.com ↗