ocaml/ocaml — pull request #66 by stefanholdermans (2014-05-22 20:33:09+00:00)
Title: Fix for PR#6441

This patch ensures that the right-hand sides of functional bindings in recursive bindings groups that mix functional and nonfunctional bindings are, during closure conversion, always closed as named expressions rather than anonymous expression.

Not only does this result in more efficient code (as it avoids direct recursive calls in such binding groups to retrieve their targets from closure environments), it also removes a potential blocker for successful tail-call detection during pseudo-instruction selection.

A regression test for PR#6441 is included in the patch.