diff options
author | Edward Z. Yang <ezyang@mit.edu> | 2013-08-26 15:23:15 -0700 |
---|---|---|
committer | Edward Z. Yang <ezyang@cs.stanford.edu> | 2014-10-01 22:26:39 -0700 |
commit | 35672072b4091d6f0031417bc160c568f22d0469 (patch) | |
tree | 243925bae6f8869cca1df8595c17c0467b9d5998 /includes/rts/storage/ClosureMacros.h | |
parent | 178eb9060f369b216f3f401196e28eab4af5624d (diff) | |
download | haskell-35672072b4091d6f0031417bc160c568f22d0469.tar.gz |
Rename _closure to _static_closure, apply naming consistently.
Summary:
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 (#8199)
Depends on D265
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Test Plan: validate
Reviewers: simonmar, austin
Subscribers: simonmar, ezyang, carter, thomie
Differential Revision: https://phabricator.haskell.org/D267
GHC Trac Issues: #8199
Diffstat (limited to 'includes/rts/storage/ClosureMacros.h')
-rw-r--r-- | includes/rts/storage/ClosureMacros.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/includes/rts/storage/ClosureMacros.h b/includes/rts/storage/ClosureMacros.h index 64e549a641..ea7905c46f 100644 --- a/includes/rts/storage/ClosureMacros.h +++ b/includes/rts/storage/ClosureMacros.h @@ -187,11 +187,12 @@ INLINE_HEADER StgClosure *STATIC_LINK2(const StgInfoTable *info, INTLIKE and CHARLIKE closures. -------------------------------------------------------------------------- */ +// XXX update me for indirection INLINE_HEADER P_ CHARLIKE_CLOSURE(int n) { - return (P_)&stg_CHARLIKE_closure[(n)-MIN_CHARLIKE]; + return (P_)&stg_CHARLIKE_static_closure[(n)-MIN_CHARLIKE]; } INLINE_HEADER P_ INTLIKE_CLOSURE(int n) { - return (P_)&stg_INTLIKE_closure[(n)-MIN_INTLIKE]; + return (P_)&stg_INTLIKE_static_closure[(n)-MIN_INTLIKE]; } /* ---------------------------------------------------------------------------- |