From 1feda1c2b091b950efcaa481a11fd660efa9e717 Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Mon, 22 Jul 2019 17:44:58 +0900 Subject: constify again. Same as last commit, make some fields `const`. include/ruby/ruby.h: * Rasic::klass * RArray::heap::aux::shared_root * RRegexp::src internal.h: * rb_classext_struct::origin_, redefined_class * vm_svar::cref_or_me, lastline, backref, others * vm_throw_data::throw_obj * vm_ifunc::data * MEMO::v1, v2, u3::value While modifying this patch, I found write-barrier miss on rb_classext_struct::redefined_class. Also vm_throw_data::throw_state is only `int` so change the type. --- class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'class.c') diff --git a/class.c b/class.c index 7922df56b2..a8d21f9443 100644 --- a/class.c +++ b/class.c @@ -176,7 +176,7 @@ class_alloc(VALUE flags, VALUE klass) */ RCLASS_SET_ORIGIN((VALUE)obj, (VALUE)obj); RCLASS_SERIAL(obj) = rb_next_class_serial(); - RCLASS_REFINED_CLASS(obj) = Qnil; + RB_OBJ_WRITE(obj, &RCLASS_REFINED_CLASS(obj), Qnil); RCLASS_EXT(obj)->allocator = 0; return (VALUE)obj; -- cgit v1.2.3