projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2001-03-01 17:06:53 by simonpj]
[ghc-hetmet.git]
/
ghc
/
rts
/
ForeignCall.c
diff --git
a/ghc/rts/ForeignCall.c
b/ghc/rts/ForeignCall.c
index
66e5477
..
7dc5661
100644
(file)
--- a/
ghc/rts/ForeignCall.c
+++ b/
ghc/rts/ForeignCall.c
@@
-1,6
+1,6
@@
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: ForeignCall.c,v 1.16 2000/05/12 11:59:39 sewardj Exp $
+ * $Id: ForeignCall.c,v 1.19 2000/10/09 10:28:33 daan Exp $
*
* (c) The GHC Team 1994-1999.
*
*
* (c) The GHC Team 1994-1999.
*
@@
-205,7
+205,8
@@
static void universal_call_c_generic
printf("%c",(char)argstr[i]);
}
printf("' [%d arg(s)]\n",n_args);
printf("%c",(char)argstr[i]);
}
printf("' [%d arg(s)]\n",n_args);
- assert(0);
+ barf("aborting");
+ ASSERT(0);
}
#undef CALL
#undef CMP
}
#undef CALL
#undef CMP
@@
-316,7
+317,6
@@
int ccall ( CFunDescriptor* d,
PushPtr((StgPtr)(*bco));
cap->rCurrentTSO->sp = MainRegTable.rSp;
cap->rCurrentTSO->su = MainRegTable.rSu;
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
token = suspendThread(cap);
#if i386_TARGET_ARCH
@@
-335,7
+335,6
@@
int ccall ( CFunDescriptor* d,
cap = resumeThread(token);
MainRegTable.rSp = cap->rCurrentTSO->sp;
MainRegTable.rSu = cap->rCurrentTSO->su;
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
*bco=(StgBCO*)PopPtr();
/* INT, WORD, ADDR, STABLE don't need to do a word-size check
@@
-430,7
+429,7
@@
unpackArgsAndCallHaskell_x86_nocallconv_wrk ( StgStablePtr stableptr,
while (*argp) {
switch (*argp) {
case CHAR_REP:
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:
args += 4;
break;
case INT_REP: