aboutsummaryrefslogtreecommitdiffstats
path: root/yjit/bindgen/src/main.rs
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2023-06-06 10:21:29 -0400
committerGitHub <noreply@github.com>2023-06-06 10:21:29 -0400
commit2b54c135ff3ae2fb362a5efaa542ec9236116add (patch)
tree70b9cd6a1c282754da5a3cf82dd6a30d08eb76e8 /yjit/bindgen/src/main.rs
parent7577c101ed6452de3e72fadb43db595946acc701 (diff)
downloadruby-2b54c135ff3ae2fb362a5efaa542ec9236116add.tar.gz
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.
Diffstat (limited to 'yjit/bindgen/src/main.rs')
-rw-r--r--yjit/bindgen/src/main.rs1
1 files changed, 1 insertions, 0 deletions
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")