Thanks folks, this is a very nice improvement.

I've applied a combination of these two patches that includes the
C_i_foreign_integer_argumentp case but leaves the fallback behaviour
alone. As Lemon says, this pass doesn't do unions so we can't "reduce"
r1 and instead just pass it through.

I suppose now would be a good time to discuss whether we should (1) add
any warnings to this pass, for example when one of these FFI arguments
is known to have the wrong type, and (2) try to enable the pass for
optimization levels < 5, as both lfa2 and clustering are disabled with
"XXX" annotations in chicken.scm. Thoughts?

Evan

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to