X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FStable.h;fp=includes%2FStable.h;h=1de78d637601c90b97c9f79f06cdbfb17335edce;hb=f3052008e4fcd72681b12dfef551d0499eddf6a7;hp=5acc6bc5140f92c7cc9ea1a65540293669444078;hpb=f2de7b4d310e0b8cc49b725d49ab03e94a106d1c;p=ghc-hetmet.git diff --git a/includes/Stable.h b/includes/Stable.h index 5acc6bc..1de78d6 100644 --- a/includes/Stable.h +++ b/includes/Stable.h @@ -20,7 +20,7 @@ External C Interface -------------------------------------------------------------------------- */ -extern StgPtr deRefStablePtr(StgStablePtr stable_ptr); +EXTERN_INLINE StgPtr deRefStablePtr(StgStablePtr stable_ptr); extern void freeStablePtr(StgStablePtr sp); extern StgStablePtr splitStablePtr(StgStablePtr sp); extern StgStablePtr getStablePtr(StgPtr p); @@ -40,19 +40,12 @@ extern DLL_IMPORT_RTS snEntry *stable_ptr_table; extern void freeStablePtr(StgStablePtr sp); -#if defined(__GNUC__) -# ifndef RTS_STABLE_C -extern inline -# endif +EXTERN_INLINE StgPtr deRefStablePtr(StgStablePtr sp) { ASSERT(stable_ptr_table[(StgWord)sp].ref > 0); return stable_ptr_table[(StgWord)sp].addr; } -#else -/* No support for 'extern inline' */ -extern StgPtr deRefStablePtr(StgStablePtr sp); -#endif extern void initStablePtrTable ( void ); extern void exitStablePtrTable ( void );