From 838b69032566ce6ab3918d70e8d5e098d0bcee02 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Sun, 22 Apr 2018 19:34:32 +0100 Subject: Merge FUN_STATIC closure with its SRT Summary: The idea here is to save a little code size and some work in the GC, by collapsing FUN_STATIC closures and their SRTs. This is (4) in a series; see D4632 for more details. There's a tradeoff here: more complexity in the compiler in exchange for a modest code size reduction (probably around 0.5%). Results: * GHC binary itself (statically linked) is 1% smaller * -0.2% binary sizes in nofib (-0.5% module sizes) Full nofib results comparing D4634 with this: P177 (ignore runtimes, these aren't stable on my laptop) Test Plan: validate, nofib Reviewers: bgamari, niteria, simonpj, erikd Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D4637 --- rts/sm/Sanity.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rts/sm/Sanity.c') diff --git a/rts/sm/Sanity.c b/rts/sm/Sanity.c index 7a0ad1672f..defefa3f01 100644 --- a/rts/sm/Sanity.c +++ b/rts/sm/Sanity.c @@ -677,7 +677,7 @@ checkStaticObjects ( StgClosure* static_objects ) break; case FUN_STATIC: - p = *FUN_STATIC_LINK((StgClosure *)p); + p = *STATIC_LINK(info,(StgClosure *)p); break; case CONSTR: -- cgit v1.2.1