From e60e1952a4bed328983b15918da5354246bcf320 Mon Sep 17 00:00:00 2001 From: Stan Lo Date: Wed, 6 Aug 2025 03:52:59 +0100 Subject: [PATCH] ZJIT: Fix `Kernel#Float`'s annotation (#14123) As pointed out in https://github.com/ruby/ruby/pull/14078#discussion_r2255427676, the return type should be `Float` instead. --- zjit/src/cruby_methods.rs | 2 +- zjit/src/hir.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/zjit/src/cruby_methods.rs b/zjit/src/cruby_methods.rs index 8d1548f92b..c9ebcebc86 100644 --- a/zjit/src/cruby_methods.rs +++ b/zjit/src/cruby_methods.rs @@ -174,7 +174,7 @@ pub fn init() -> Annotations { annotate!(rb_cNilClass, "nil?", types::TrueClass, no_gc, leaf, elidable); annotate!(rb_mKernel, "nil?", types::FalseClass, no_gc, leaf, elidable); - annotate_builtin!(rb_mKernel, "Float", types::Flonum); + annotate_builtin!(rb_mKernel, "Float", types::Float); annotate_builtin!(rb_mKernel, "Integer", types::Integer); annotate_builtin!(rb_mKernel, "class", types::Class, leaf); diff --git a/zjit/src/hir.rs b/zjit/src/hir.rs index 635120eb80..1a67037ed3 100644 --- a/zjit/src/hir.rs +++ b/zjit/src/hir.rs @@ -5011,9 +5011,9 @@ mod tests { assert_method_hir_with_opcode("Float", YARVINSN_opt_invokebuiltin_delegate_leave, expect![[r#" fn Float@: bb0(v0:BasicObject, v1:BasicObject, v2:BasicObject, v3:BasicObject): - v6:Flonum = InvokeBuiltin rb_f_float, v0, v1, v2 + v6:Float = InvokeBuiltin rb_f_float, v0, v1, v2 Jump bb1(v0, v1, v2, v3, v6) - bb1(v8:BasicObject, v9:BasicObject, v10:BasicObject, v11:BasicObject, v12:Flonum): + bb1(v8:BasicObject, v9:BasicObject, v10:BasicObject, v11:BasicObject, v12:Float): Return v12 "#]]); }