Rename _closure to _static_closure, apply naming consistently.

Authored by ezyang on Sep 30 2014, 2:00 PM.



In preparation for indirecting all references to closures,
we rename _closure to _static_closure to ensure any old code
will get an undefined symbol error. In order to reference
a closure foobar_closure (which is now undefined), you should instead
use STATIC_CLOSURE(foobar). For convenience, a number of these
old identifiers are macro'd.

Across C-- and C (Windows and otherwise), there were differing
conventions on whether or not foobar_closure or &foobar_closure
was the address of the closure. Now, all foobar_closure references
are addresses, and no & is necessary.

CHARLIKE/INTLIKE were not changed, simply alpha-renamed.

Part of remove HEAP_ALLOCED patch set (Trac #8199)

Depends on D265

Signed-off-by: Edward Z. Yang <>

Test Plan


Diff Detail

rGHC Glasgow Haskell Compiler
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
ezyang updated this revision to Diff 700.Sep 30 2014, 2:00 PM
ezyang retitled this revision from to Rename _closure to _static_closure, apply naming consistently..
ezyang updated this object.
ezyang edited the test plan for this revision. (Show Details)
ezyang added a reviewer: simonmar.
ezyang updated the Trac tickets for this revision.
ezyang updated this revision to Diff 711.Sep 30 2014, 4:07 PM
ezyang edited edge metadata.

Little patch to make it compile (maybe)

simonmar accepted this revision.Oct 1 2014, 8:13 AM
simonmar edited edge metadata.
simonmar added inline comments.

I presume these XXXs are going away in a future diff in the series?

ezyang added inline comments.Oct 1 2014, 12:21 PM

Most of them should. I'll go double check if I left any behind.

austin accepted this revision.Oct 1 2014, 12:53 PM
austin edited edge metadata.


This revision is now accepted and ready to land.Oct 1 2014, 12:53 PM
ezyang updated this revision to Diff 753.Oct 2 2014, 12:22 AM
ezyang edited edge metadata.

Make it actually compile!

This revision was automatically updated to reflect the committed changes.