Skip to content
  • Takashi Kokubun's avatar
    6383d0af
    merge revision(s)... · 6383d0af
    Takashi Kokubun authored
    merge revision(s) 015b0e2e,ac1e9e44: [Backport #20195]
    
    	YJIT: Fix unused warnings
    
    	```
    	warning: unused import: `condition::Condition`
    	  --> src/asm/arm64/arg/mod.rs:13:9
    	   |
    	13 | pub use condition::Condition;
    	   |         ^^^^^^^^^^^^^^^^^^^^
    	   |
    	   = note: `#[warn(unused_imports)]` on by default
    
    	warning: unused import: `rb_yjit_fix_mul_fix as rb_fix_mul_fix`
    	   --> src/cruby.rs:188:9
    	    |
    	188 | pub use rb_yjit_fix_mul_fix as rb_fix_mul_fix;
    	    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    	warning: unused import: `rb_insn_len as raw_insn_len`
    	   --> src/cruby.rs:142:9
    	    |
    	142 | pub use rb_insn_len as raw_insn_len;
    	    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    	    |
    	    = note: `#[warn(unused_imports)]` on by default
    	```
    
    	Make asm public so it stops warning about unused public stuff in there.
    
    	YJIT: Fix ruby2_keywords splat+rest and drop bogus checks
    
    	YJIT didn't guard for ruby2_keywords hash in case of splat calls that
    	land in methods with a rest parameter, creating incorrect results.
    
    	The compile-time checks didn't correspond to any actual effects of
    	ruby2_keywords, so it was masking this bug and YJIT was needlessly
    	refusing to compile some code. About 16% of fallback reasons in
    	`lobsters` was due to the ISeq check.
    
    	We already handle the tagging part with
    	exit_if_supplying_kw_and_has_no_kw() and should now have a dynamic guard
    	for all splat cases.
    
    	Note for backporting: You also need 7f51959f.
    
    	[Bug #20195]
    6383d0af
    merge revision(s)...
    Takashi Kokubun authored
    merge revision(s) 015b0e2e,ac1e9e44: [Backport #20195]
    
    	YJIT: Fix unused warnings
    
    	```
    	warning: unused import: `condition::Condition`
    	  --> src/asm/arm64/arg/mod.rs:13:9
    	   |
    	13 | pub use condition::Condition;
    	   |         ^^^^^^^^^^^^^^^^^^^^
    	   |
    	   = note: `#[warn(unused_imports)]` on by default
    
    	warning: unused import: `rb_yjit_fix_mul_fix as rb_fix_mul_fix`
    	   --> src/cruby.rs:188:9
    	    |
    	188 | pub use rb_yjit_fix_mul_fix as rb_fix_mul_fix;
    	    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    	warning: unused import: `rb_insn_len as raw_insn_len`
    	   --> src/cruby.rs:142:9
    	    |
    	142 | pub use rb_insn_len as raw_insn_len;
    	    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    	    |
    	    = note: `#[warn(unused_imports)]` on by default
    	```
    
    	Make asm public so it stops warning about unused public stuff in there.
    
    	YJIT: Fix ruby2_keywords splat+rest and drop bogus checks
    
    	YJIT didn't guard for ruby2_keywords hash in case of splat calls that
    	land in methods with a rest parameter, creating incorrect results.
    
    	The compile-time checks didn't correspond to any actual effects of
    	ruby2_keywords, so it was masking this bug and YJIT was needlessly
    	refusing to compile some code. About 16% of fallback reasons in
    	`lobsters` was due to the ISeq check.
    
    	We already handle the tagging part with
    	exit_if_supplying_kw_and_has_no_kw() and should now have a dynamic guard
    	for all splat cases.
    
    	Note for backporting: You also need 7f51959f.
    
    	[Bug #20195]
Loading