[project @ 2001-08-08 11:27:17 by simonmar]
[ghc-hetmet.git] / ghc / rts / ForeignCall.c
index a6a4646..7dc5661 100644 (file)
@@ -1,6 +1,6 @@
 
 /* -----------------------------------------------------------------------------
- * $Id: ForeignCall.c,v 1.17 2000/05/26 10:14:34 sewardj Exp $
+ * $Id: ForeignCall.c,v 1.19 2000/10/09 10:28:33 daan Exp $
  *
  * (c) The GHC Team 1994-1999.
  *
@@ -317,7 +317,6 @@ int ccall ( CFunDescriptor*  d,
    PushPtr((StgPtr)(*bco));
    cap->rCurrentTSO->sp    = MainRegTable.rSp;
    cap->rCurrentTSO->su    = MainRegTable.rSu;
-   cap->rCurrentTSO->splim = MainRegTable.rSpLim;
    token = suspendThread(cap);
 
 #if i386_TARGET_ARCH
@@ -336,7 +335,6 @@ int ccall ( CFunDescriptor*  d,
    cap = resumeThread(token);
    MainRegTable.rSp    = cap->rCurrentTSO->sp;
    MainRegTable.rSu    = cap->rCurrentTSO->su;
-   MainRegTable.rSpLim = cap->rCurrentTSO->splim;
    *bco=(StgBCO*)PopPtr();
 
    /* INT, WORD, ADDR, STABLE don't need to do a word-size check
@@ -431,7 +429,7 @@ unpackArgsAndCallHaskell_x86_nocallconv_wrk ( StgStablePtr stableptr,
    while (*argp) {
       switch (*argp) {
          case CHAR_REP:
-            node = rts_apply ( node, rts_mkChar ( *(char*)args ) );
+            node = rts_apply ( node, rts_mkChar ( *(unsigned int*)args ) );
             args += 4;
             break;
          case INT_REP: