From: sewardj Date: Thu, 20 Dec 2001 16:12:09 +0000 (+0000) Subject: [project @ 2001-12-20 16:12:09 by sewardj] X-Git-Tag: Approximately_9120_patches~360 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=791d890ca039ce45704b879b292069ddc5821dc0;p=ghc-hetmet.git [project @ 2001-12-20 16:12:09 by sewardj] Outline freeStablePtr, so NCG-generated code actually has something to call :) Also remove the presumably-defunct splitStablePtr. --- diff --git a/ghc/includes/Stable.h b/ghc/includes/Stable.h index 28227ec..12056f9 100644 --- a/ghc/includes/Stable.h +++ b/ghc/includes/Stable.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Stable.h,v 1.11 2001/12/12 14:03:30 simonmar Exp $ + * $Id: Stable.h,v 1.12 2001/12/20 16:12:09 sewardj Exp $ * * (c) The GHC Team, 1998-2000 * @@ -42,31 +42,14 @@ extern DLL_IMPORT_RTS snEntry *stable_ptr_free; extern DLL_IMPORT_RTS unsigned int SPT_size; +extern void freeStablePtr(StgStablePtr sp); + extern inline StgPtr deRefStablePtr(StgStablePtr sp) { ASSERT(stable_ptr_table[(StgWord)sp].ref > 0); return stable_ptr_table[(StgWord)sp].addr; } - -extern inline void -freeStablePtr(StgStablePtr sp) -{ - StgWord sn = (StgWord)sp; - - ASSERT(sn < SPT_size - && stable_ptr_table[sn].addr != NULL - && stable_ptr_table[sn].ref > 0); - - stable_ptr_table[sn].ref --; -} - -extern inline StgStablePtr -splitStablePtr(StgStablePtr sp) -{ - stable_ptr_table[(StgWord)sp].ref ++; - return sp; -} /* No deRefStableName, because the existence of a stable name doesn't * guarantee the existence of the object itself. diff --git a/ghc/rts/Stable.c b/ghc/rts/Stable.c index f73b5ea..0232e18 100644 --- a/ghc/rts/Stable.c +++ b/ghc/rts/Stable.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Stable.c,v 1.18 2001/11/21 10:09:16 simonmar Exp $ + * $Id: Stable.c,v 1.19 2001/12/20 16:12:09 sewardj Exp $ * * (c) The GHC Team, 1998-1999 * @@ -234,6 +234,18 @@ getStablePtr(StgPtr p) } void +freeStablePtr(StgStablePtr sp) +{ + StgWord sn = (StgWord)sp; + + ASSERT(sn < SPT_size + && stable_ptr_table[sn].addr != NULL + && stable_ptr_table[sn].ref > 0); + + stable_ptr_table[sn].ref --; +} + +void enlargeStablePtrTable(void) { nat old_SPT_size = SPT_size;