/* -----------------------------------------------------------------------------
- * $Id: PrimOps.hc,v 1.80 2001/07/23 17:23:19 simonmar Exp $
+ * $Id: PrimOps.hc,v 1.84 2001/11/08 12:46:31 simonmar Exp $
*
* (c) The GHC Team, 1998-2000
*
#include "Storage.h"
#include "BlockAlloc.h" /* tmp */
#include "StablePriv.h"
-#include "HeapStackCheck.h"
#include "StgRun.h"
#include "Itimer.h"
#include "Prelude.h"
FE_ \
}
+FN_(newPinnedByteArrayzh_fast) \
+ { \
+ W_ size, stuff_size, n; \
+ StgArrWords* p; \
+ FB_ \
+ MAYBE_GC(NO_PTRS,newPinnedByteArrayzh_fast); \
+ n = R1.w; \
+ stuff_size = BYTES_TO_STGWORDS(n); \
+ size = sizeofW(StgArrWords)+ stuff_size; \
+ p = (StgArrWords *)RET_STGCALL1(P_,allocatePinned,size); \
+ TICK_ALLOC_PRIM(sizeofW(StgArrWords),stuff_size,0); \
+ SET_HDR(p, &stg_ARR_WORDS_info, CCCS); \
+ p->words = stuff_size; \
+ TICK_RET_UNBOXED_TUP(1) \
+ RET_P(p); \
+ FE_ \
+ }
+
FN_(newArrayzh_fast)
{
W_ size, n, init;
FE_
}
-#elif SIZEOF_VOID_P == 8
-
-FN_(word64ToIntegerzh_fast)
-{
- FB_
- JMP_(wordToIntegerzh_fast);
- FE_
-}
-
-FN_(int64ToIntegerzh_fast)
-{
- FB_
- JMP_(intToIntegerzh_fast);
- FE_
-}
-#endif /* SUPPORT_LONG_LONGS || SIZEOF_VOID_P == 8 */
+#endif /* SUPPORT_LONG_LONGS */
/* ToDo: this is shockingly inefficient */