[racket-dev] how to disable intra-module constant inlining?
> So Whalesong is actually breaking on a few of my test case examples
> because 5.2.1 does some aggressive inlining. Specifically, it's doing
> intra-module constant optimizations. Whalesong depends on the late
> binding of module bindings in some special places (specifically, the
> FFI), so I need a way of turning that constant inlining off. I tried
> using (compile-enforce-module-constants #f), but that didn't seem to
> do the trick.
Followup: ok, whew. I can workaround it for the specific case where
things are breaking by artificially injecting set!s in the affected
modules. (https://github.com/dyoo/whalesong/commit/6b8bcdaf767efe2294a7dd8d9a5580c5a64c20ff)
I'd still love to know how to disable the intra-module constant
inlining, that is, if there's a parameter that controls inlining
similar to compile-context-preservation-enabled. Sam suggested that
whatever 'raco make --disable-inline' does might do the trick, but
that option appears to only affect function calls inlining; what I'm
running into is constant inlining.