Re: [racket-dev] how to disable intra-module constant inlining?

2012-01-19 Thread Matthew Flatt
Do you mean the situation with one module, like this one? ;; a.rkt #lang racket (provide f c) (define (f x) x) (f 3) ; call might be inlined (define c 10) (define use-c c) ; constant might be folded Or are two modules involved, like this second one? ;; b.rkt #lang racket (require

Re: [racket-dev] how to disable intra-module constant inlining?

2012-01-19 Thread Danny Yoo
If you compile a.rkt normally and set `compile-context-preservation-enabled' to #f forb.rkt, then `f' will not be inlined (because inlining is disabled), but `c' will still be replaced with 10. This is odd then, because I thought I had tried this yesterday and still observed inlining. Let

Re: [racket-dev] how to disable intra-module constant inlining?

2012-01-19 Thread Matthew Flatt
When I wrote inlining, I should have written function inlining. The `compile-context-preservation-enabled' parameter doesn't affect propagation of non-function constants (which I incorrectly called folding in my previous message); it affects only function inlining. At Thu, 19 Jan 2012 10:49:22

[racket-dev] how to disable intra-module constant inlining?

2012-01-18 Thread Danny Yoo
Hi everyone, 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

Re: [racket-dev] how to disable intra-module constant inlining?

2012-01-18 Thread Danny Yoo
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