summaryrefslogtreecommitdiff
path: root/includes/rts/storage/ClosureMacros.h
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@mit.edu>2013-08-26 15:23:15 -0700
committerEdward Z. Yang <ezyang@cs.stanford.edu>2014-10-01 22:26:39 -0700
commit35672072b4091d6f0031417bc160c568f22d0469 (patch)
tree243925bae6f8869cca1df8595c17c0467b9d5998 /includes/rts/storage/ClosureMacros.h
parent178eb9060f369b216f3f401196e28eab4af5624d (diff)
downloadhaskell-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.h5
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];
}
/* ----------------------------------------------------------------------------