X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FPrimOps.hc;h=a23561f81291be21169fb913404ffdebf469a294;hb=2f4b06256b28a4b0a41441e7f6962a8dddbd7729;hp=b6d52bc57b01a231f59f4279d4afb258d4cd61a6;hpb=a599281d81d9c5944e3631425bea7bc0e9052c74;p=ghc-hetmet.git diff --git a/ghc/rts/PrimOps.hc b/ghc/rts/PrimOps.hc index b6d52bc..a23561f 100644 --- a/ghc/rts/PrimOps.hc +++ b/ghc/rts/PrimOps.hc @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: PrimOps.hc,v 1.72 2001/02/14 12:59:34 simonmar Exp $ + * $Id: PrimOps.hc,v 1.78 2001/03/26 13:43:05 simonmar Exp $ * * (c) The GHC Team, 1998-2000 * @@ -7,6 +7,7 @@ * * ---------------------------------------------------------------------------*/ +#include "Stg.h" #include "Rts.h" #include "RtsFlags.h" @@ -314,7 +315,6 @@ FN_(newMutVarzh_fast) -------------------------------------------------------------------------- */ -#ifndef PAR FN_(mkForeignObjzh_fast) { /* R1.p = ptr to foreign object, @@ -336,7 +336,6 @@ FN_(mkForeignObjzh_fast) RET_P(result); FE_ } -#endif /* These two are out-of-line for the benefit of the NCG */ FN_(unsafeThawArrayzh_fast) @@ -354,8 +353,6 @@ FN_(unsafeThawArrayzh_fast) Weak Pointer Primitives -------------------------------------------------------------------------- */ -#ifndef PAR - FN_(mkWeakzh_fast) { /* R1.p = key @@ -419,8 +416,6 @@ FN_(finalizzeWeakzh_fast) FE_ } -#endif /* !PAR */ - /* ----------------------------------------------------------------------------- Arbitrary-precision Integer operations. -------------------------------------------------------------------------- */ @@ -530,12 +525,12 @@ FN_(int64ToIntegerzh_fast) if ( val < 0LL ) { neg = 1; val = -val; - } + } hi = (W_)((LW_)val / 0x100000000ULL); if ( words_needed == 2 ) { - s = 2; + s = 2; Hp[-1] = (W_)val; Hp[0] = hi; } else if ( val != 0 ) { @@ -1040,7 +1035,6 @@ FN_(tryPutMVarzh_fast) mvar->header.info = &stg_FULL_MVAR_info; #endif - /* HACK: we need a pointer to pass back, so we abuse NO_FINALIZER_closure */ RET_N(0); } @@ -1090,7 +1084,7 @@ FN_(makeStableNamezh_fast) /* Is there already a StableName for this heap object? */ if (stable_ptr_table[index].sn_obj == NULL) { sn_obj = (StgStableName *) (Hp - sizeofW(StgStableName) + 1); - sn_obj->header.info = &stg_STABLE_NAME_info; + SET_HDR(sn_obj,&stg_STABLE_NAME_info,CCCS); sn_obj->sn = index; stable_ptr_table[index].sn_obj = (StgClosure *)sn_obj; } else {