diff options
author | Aaron Patterson <tenderlove@ruby-lang.org> | 2019-05-13 14:27:54 -0700 |
---|---|---|
committer | Aaron Patterson <tenderlove@ruby-lang.org> | 2019-05-13 14:27:54 -0700 |
commit | 79ead821dd4880725c9c6bb9645b3fad71715c5b (patch) | |
tree | 59b79431e627d25b5f3755dd25fababba5e04f59 /ext/json | |
parent | a1ecf07dff7530f8f53fb456b2e38a8a039cb561 (diff) | |
download | ruby-79ead821dd4880725c9c6bb9645b3fad71715c5b.tar.gz |
Add NaN / Infinity / MinusInfinity to mark list
This prevents the constants from moving.
Diffstat (limited to 'ext/json')
-rw-r--r-- | ext/json/parser/parser.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c index 0bd328ca42..6f0d31c2eb 100644 --- a/ext/json/parser/parser.c +++ b/ext/json/parser/parser.c @@ -2099,8 +2099,13 @@ void Init_parser(void) rb_define_method(cParser, "source", cParser_source, 0); CNaN = rb_const_get(mJSON, rb_intern("NaN")); + rb_gc_register_mark_object(CNaN); + CInfinity = rb_const_get(mJSON, rb_intern("Infinity")); + rb_gc_register_mark_object(CInfinity); + CMinusInfinity = rb_const_get(mJSON, rb_intern("MinusInfinity")); + rb_gc_register_mark_object(CMinusInfinity); i_json_creatable_p = rb_intern("json_creatable?"); i_json_create = rb_intern("json_create"); |