Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/6252300e93bcadab708667382925532dfb61c749 >--------------------------------------------------------------- commit 6252300e93bcadab708667382925532dfb61c749 Author: Ian Lynagh <[email protected]> Date: Sat Aug 25 12:49:47 2012 +0100 Convert a couple more macros to inline functions This caused a couple of .o files to change size. I had a look at one, and it seems to be caused by the difference in size of these two instructions: 49 8b 5d 08 mov 0x8(%r13),%rbx 49 8b 5c 24 08 mov 0x8(%r12),%rbx (with a few nops being added or removed later in the file, presumably for alignment reasons). >--------------------------------------------------------------- includes/rts/storage/ClosureMacros.h | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/includes/rts/storage/ClosureMacros.h b/includes/rts/storage/ClosureMacros.h index 4442838..9c4f181 100644 --- a/includes/rts/storage/ClosureMacros.h +++ b/includes/rts/storage/ClosureMacros.h @@ -76,8 +76,13 @@ EXTERN_INLINE StgInfoTable *get_itbl(StgClosure *c); EXTERN_INLINE StgInfoTable *get_itbl(StgClosure *c) {return INFO_PTR_TO_STRUCT(c->header.info);} -#define get_ret_itbl(c) (RET_INFO_PTR_TO_STRUCT((c)->header.info)) -#define get_fun_itbl(c) (FUN_INFO_PTR_TO_STRUCT((c)->header.info)) + +EXTERN_INLINE StgRetInfoTable *get_ret_itbl(StgClosure *c); +EXTERN_INLINE StgRetInfoTable *get_ret_itbl(StgClosure *c) {return RET_INFO_PTR_TO_STRUCT(c->header.info);} + +INLINE_HEADER StgFunInfoTable *get_fun_itbl(StgClosure *c); +INLINE_HEADER StgFunInfoTable *get_fun_itbl(StgClosure *c) {return FUN_INFO_PTR_TO_STRUCT(c->header.info);} + #define get_thunk_itbl(c) (THUNK_INFO_PTR_TO_STRUCT((c)->header.info)) #define get_con_itbl(c) (CON_INFO_PTR_TO_STRUCT((c)->header.info)) _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
