Commit f30be2dc authored by sewardj's avatar sewardj
Browse files

[project @ 2000-12-19 12:34:00 by sewardj]

tweaks to BCO infrastructure
parent 8218a008
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* $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
* *
...@@ -176,8 +176,8 @@ typedef struct { ...@@ -176,8 +176,8 @@ typedef struct {
typedef struct { typedef struct {
StgHeader header; 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 *ptrs; /* a pointer to a MutArrPtrs */
StgClosure *itbls; /* a pointer to an ArrWords */ StgClosure *itbls; /* a pointer to an ArrWords */
} StgBCO; } 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
* *
...@@ -1021,20 +1021,21 @@ FN_(newBCOzh_fast) ...@@ -1021,20 +1021,21 @@ FN_(newBCOzh_fast)
/* R1.p = instrs /* R1.p = instrs
R2.p = literals R2.p = literals
R3.p = ptrs R3.p = ptrs
R4.p = itbls
*/ */
StgBCO *bco; StgBCO *bco;
FB_ FB_
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); TICK_ALLOC_PRIM(sizeofW(StgHeader), sizeofW(StgBCO)-sizeofW(StgHeader), 0);
CCS_ALLOC(CCCS,sizeofW(StgBCO)); /* ccs prof */ CCS_ALLOC(CCCS,sizeofW(StgBCO)); /* ccs prof */
bco = (StgBCO *) (Hp + 1 - sizeofW(StgBCO));
bco = (StgBCO *) (Hp + 1 - sizeof(StgBCO));
SET_HDR(bco, &stg_BCO_info, CCCS); SET_HDR(bco, &stg_BCO_info, CCCS);
bco->instrs = R1.cl; bco->instrs = R1.cl;
bco->literals = R2.cl; bco->literals = R2.cl;
bco->ptrs = R3.cl; bco->ptrs = R3.cl;
bco->itbls = R4.cl;
TICK_RET_UNBOXED_TUP(1); TICK_RET_UNBOXED_TUP(1);
RET_P(bco); RET_P(bco);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment