tweaks to BCO infrastructure
/* ----------------------------------------------------------------------------
/* ----------------------------------------------------------------------------
- * $Id: Closures.h,v 1.22 2000/12/15 10:37:51 sewardj Exp $
+ * $Id: Closures.h,v 1.23 2000/12/19 12:34:00 sewardj Exp $
*
* (c) The GHC Team, 1998-1999
*
*
* (c) The GHC Team, 1998-1999
*
typedef struct {
StgHeader header;
typedef struct {
StgHeader header;
- StgClosure *literals; /* a pointer to an ArrWords */
StgClosure *instrs; /* a pointer to an ArrWords */
StgClosure *instrs; /* a pointer to an ArrWords */
+ StgClosure *literals; /* a pointer to an ArrWords */
StgClosure *ptrs; /* a pointer to a MutArrPtrs */
StgClosure *itbls; /* a pointer to an ArrWords */
} StgBCO;
StgClosure *ptrs; /* a pointer to a MutArrPtrs */
StgClosure *itbls; /* a pointer to an ArrWords */
} StgBCO;
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: PrimOps.hc,v 1.63 2000/12/12 12:19:57 simonmar Exp $
+ * $Id: PrimOps.hc,v 1.64 2000/12/19 12:34:01 sewardj Exp $
*
* (c) The GHC Team, 1998-2000
*
*
* (c) The GHC Team, 1998-2000
*
/* R1.p = instrs
R2.p = literals
R3.p = ptrs
/* R1.p = instrs
R2.p = literals
R3.p = ptrs
- HP_CHK_GEN_TICKY(sizeofW(StgBCO),R1_PTR|R2_PTR|R3_PTR, newBCOzh_fast,);
+ HP_CHK_GEN_TICKY(sizeofW(StgBCO),R1_PTR|R2_PTR|R3_PTR|R4_PTR, newBCOzh_fast,);
TICK_ALLOC_PRIM(sizeofW(StgHeader), sizeofW(StgBCO)-sizeofW(StgHeader), 0);
CCS_ALLOC(CCCS,sizeofW(StgBCO)); /* ccs prof */
TICK_ALLOC_PRIM(sizeofW(StgHeader), sizeofW(StgBCO)-sizeofW(StgHeader), 0);
CCS_ALLOC(CCCS,sizeofW(StgBCO)); /* ccs prof */
-
- bco = (StgBCO *) (Hp + 1 - sizeof(StgBCO));
+ bco = (StgBCO *) (Hp + 1 - sizeofW(StgBCO));
SET_HDR(bco, &stg_BCO_info, CCCS);
bco->instrs = R1.cl;
bco->literals = R2.cl;
bco->ptrs = R3.cl;
SET_HDR(bco, &stg_BCO_info, CCCS);
bco->instrs = R1.cl;
bco->literals = R2.cl;
bco->ptrs = R3.cl;
TICK_RET_UNBOXED_TUP(1);
RET_P(bco);
TICK_RET_UNBOXED_TUP(1);
RET_P(bco);