зеркало из https://github.com/github/ruby.git
freeze Encoding objects
Encoding objects can be accessed in multi-ractors and there is no state to mutate. So we can mark it as frozen and shareable. [Bug #17188]
This commit is contained in:
Родитель
11c2f0f36c
Коммит
102c2ba65f
|
@ -122,7 +122,10 @@ rb_data_is_encoding(VALUE obj)
|
|||
static VALUE
|
||||
enc_new(rb_encoding *encoding)
|
||||
{
|
||||
return TypedData_Wrap_Struct(rb_cEncoding, &encoding_data_type, (void *)encoding);
|
||||
VALUE enc = TypedData_Wrap_Struct(rb_cEncoding, &encoding_data_type, (void *)encoding);
|
||||
rb_obj_freeze(enc);
|
||||
FL_SET_RAW(enc, RUBY_FL_SHAREABLE);
|
||||
return enc;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Загрузка…
Ссылка в новой задаче