X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Finterpreter%2Flink.c;h=7e405d039cacd99969b6857da818c36f4bf93ebb;hb=6e0892adec42702e7879a23587d2c7210c55a078;hp=8027770873bcc99c4ffe896eeac398afbbe540b6;hpb=a634bc4711b13d878ce4a5fe9a45ae5c7468255c;p=ghc-hetmet.git diff --git a/ghc/interpreter/link.c b/ghc/interpreter/link.c index 8027770..7e405d0 100644 --- a/ghc/interpreter/link.c +++ b/ghc/interpreter/link.c @@ -9,16 +9,16 @@ * included in the distribution. * * $RCSfile: link.c,v $ - * $Revision: 1.56 $ - * $Date: 2000/04/04 15:41:56 $ + * $Revision: 1.60 $ + * $Date: 2000/04/27 16:35:29 $ * ------------------------------------------------------------------------*/ #include "hugsbasictypes.h" #include "storage.h" #include "connect.h" #include "errors.h" -#include "Assembler.h" /* for asmPrimOps and AsmReps */ #include "Rts.h" /* to make Prelude.h palatable */ +#include "Assembler.h" /* for asmPrimOps and AsmReps */ #include "Prelude.h" /* for fixupRTStoPreludeRefs */ @@ -188,7 +188,7 @@ Name namePlus; Name nameMult; Name nameMFail; Type typeOrdering; -Module modulePrimPrel; +Module modulePrelPrim; Module modulePrelude; Name nameMap; Name nameMinus; @@ -228,7 +228,7 @@ static Tycon linkTycon( String s ) tc = findTyconInAnyModule(findText(s)); if (nonNull(tc)) return tc; } -fprintf(stderr, "frambozenvla! unknown tycon %s\n", s ); +FPrintf(stderr, "frambozenvla! unknown tycon %s\n", s ); return NIL; ERRMSG(0) "Prelude does not define standard type \"%s\"", s EEND; @@ -242,7 +242,7 @@ static Class linkClass( String s ) cc = findClassInAnyModule(findText(s)); if (nonNull(cc)) return cc; } -fprintf(stderr, "frambozenvla! unknown class %s\n", s ); +FPrintf(stderr, "frambozenvla! unknown class %s\n", s ); return NIL; ERRMSG(0) "Prelude does not define standard class \"%s\"", s EEND; @@ -256,7 +256,7 @@ static Name linkName( String s ) n = findNameInAnyModule(findText(s)); if (nonNull(n)) return n; } -fprintf(stderr, "frambozenvla! unknown name %s\n", s ); +FPrintf(stderr, "frambozenvla! unknown name %s\n", s ); return NIL; ERRMSG(0) "Prelude does not define standard name \"%s\"", s EEND; @@ -299,7 +299,7 @@ Void linkPreludeTC(void) { /* Hook to tycons and classes in */ if (combined) { setCurrModule(modulePrelude); } else { - setCurrModule(modulePrimPrel); + setCurrModule(modulePrelPrim); } typeChar = linkTycon("Char"); @@ -412,7 +412,7 @@ Void linkPreludeCM(void) { /* Hook to cfuns and mfuns in */ if (combined) { setCurrModule(modulePrelude); } else { - setCurrModule(modulePrimPrel); + setCurrModule(modulePrelPrim); } /* constructors */ @@ -459,7 +459,7 @@ Void linkPrimNames ( void ) { /* Hook to names defined in Prelude */ if (combined) { setCurrModule(modulePrelude); } else { - setCurrModule(modulePrimPrel); + setCurrModule(modulePrelPrim); } /* primops */ @@ -694,7 +694,7 @@ assert(nonNull(namePMFail)); */ modulePrelBase = findModule(findText("PrelBase")); module(modulePrelBase).objectExtraNames - = singleton(findText("libHS_cbits")); + = singleton(findText("libHSstd_cbits")); setCurrModule(modulePrelBase); pFun(nameId, "id"); @@ -703,14 +703,14 @@ assert(nonNull(namePMFail)); } else { fixupRTStoPreludeRefs(NULL); - modulePrimPrel = findFakeModule(textPrimPrel); + modulePrelPrim = findFakeModule(textPrelPrim); modulePrelude = findFakeModule(textPrelude); - setCurrModule(modulePrimPrel); + setCurrModule(modulePrelPrim); for (i=0; i)"), pair(STAR,pair(STAR,STAR)), @@ -773,46 +773,36 @@ assert(nonNull(namePMFail)); pFun(namePrimRaise, "primRaise"); pFun(namePrimTakeMVar, "primTakeMVar"); { - StgVar vv = mkStgVar(NIL,NIL); - Name n = namePrimSeq; - name(n).line = 0; - name(n).arity = 1; - name(n).type = NIL; - vv = mkStgVar(NIL,NIL); - stgVarInfo(vv) = mkPtr ( asm_BCO_seq() ); - name(n).stgVar = vv; - stgGlobals=cons(pair(n,vv),stgGlobals); - namePrimSeq = n; + Name n = namePrimSeq; + name(n).line = 0; + name(n).arity = 1; + name(n).type = NIL; + name(n).closure = mkCPtr ( asm_BCO_seq() ); + addToCodeList ( modulePrelPrim, n ); } { - StgVar vv = mkStgVar(NIL,NIL); - Name n = namePrimCatch; - name(n).line = 0; - name(n).arity = 2; - name(n).type = NIL; - stgVarInfo(vv) = mkPtr ( asm_BCO_catch() ); - name(n).stgVar = vv; - stgGlobals=cons(pair(n,vv),stgGlobals); + Name n = namePrimCatch; + name(n).line = 0; + name(n).arity = 2; + name(n).type = NIL; + name(n).closure = mkCPtr ( asm_BCO_catch() ); + addToCodeList ( modulePrelPrim, n ); } { - StgVar vv = mkStgVar(NIL,NIL); - Name n = namePrimRaise; - name(n).line = 0; - name(n).arity = 1; - name(n).type = NIL; - stgVarInfo(vv) = mkPtr ( asm_BCO_raise() ); - name(n).stgVar = vv; - stgGlobals=cons(pair(n,vv),stgGlobals); + Name n = namePrimRaise; + name(n).line = 0; + name(n).arity = 1; + name(n).type = NIL; + name(n).closure = mkCPtr ( asm_BCO_raise() ); + addToCodeList ( modulePrelPrim, n ); } { - StgVar vv = mkStgVar(NIL,NIL); - Name n = namePrimTakeMVar; - name(n).line = 0; - name(n).arity = 2; - name(n).type = NIL; - stgVarInfo(vv) = mkPtr ( asm_BCO_takeMVar() ); - name(n).stgVar = vv; - stgGlobals=cons(pair(n,vv),stgGlobals); + Name n = namePrimTakeMVar; + name(n).line = 0; + name(n).arity = 2; + name(n).type = NIL; + name(n).closure = mkCPtr ( asm_BCO_takeMVar() ); + addToCodeList ( modulePrelPrim, n ); } } break; @@ -820,5 +810,4 @@ assert(nonNull(namePMFail)); } #undef pFun -//#include "fooble.c" /*-------------------------------------------------------------------------*/