From 2b54c135ff3ae2fb362a5efaa542ec9236116add Mon Sep 17 00:00:00 2001 From: Alan Wu Date: Tue, 6 Jun 2023 10:21:29 -0400 Subject: YJIT: Avoid identity-based known-class guards for IO objects (#7911) `IO#reopen` is very special in that it is able to change the class and singleton class of IO instances. In its presence, it is not correct to assume that IO instances has a stable class/singleton class and guard by comparing identity. --- yjit/bindgen/src/main.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'yjit/bindgen') diff --git a/yjit/bindgen/src/main.rs b/yjit/bindgen/src/main.rs index 4fb02cfdf0..b9bef8e176 100644 --- a/yjit/bindgen/src/main.rs +++ b/yjit/bindgen/src/main.rs @@ -165,6 +165,7 @@ fn main() { .allowlist_var("rb_cTrueClass") .allowlist_var("rb_cFalseClass") .allowlist_var("rb_cInteger") + .allowlist_var("rb_cIO") .allowlist_var("rb_cSymbol") .allowlist_var("rb_cFloat") .allowlist_var("rb_cString") -- cgit v1.2.3