projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanup after the OPTIONS parsing was moved.
[ghc-hetmet.git]
/
ghc
/
rts
/
StgStartup.cmm
diff --git
a/ghc/rts/StgStartup.cmm
b/ghc/rts/StgStartup.cmm
index
ece080b
..
2f2a759
100644
(file)
--- a/
ghc/rts/StgStartup.cmm
+++ b/
ghc/rts/StgStartup.cmm
@@
-29,7
+29,7
@@
ASSERT(Sp != 0); \
ASSERT(SpLim != 0); \
ASSERT(HpLim != 0); \
ASSERT(Sp != 0); \
ASSERT(SpLim != 0); \
ASSERT(HpLim != 0); \
- ASSERT(SpLim - RESERVED_STACK_WORDS <= Sp); \
+ ASSERT(SpLim - WDS(RESERVED_STACK_WORDS) <= Sp); \
ASSERT(HpLim >= Hp);
/* -----------------------------------------------------------------------------
ASSERT(HpLim >= Hp);
/* -----------------------------------------------------------------------------
@@
-92,8
+92,9
@@
INFO_TABLE_RET( stg_stop_thread, STOP_THREAD_WORDS, STOP_THREAD_BITMAP,
SAVE_THREAD_STATE();
SAVE_THREAD_STATE();
- /* R1 contains the return value of the thread */
- R1 = ThreadFinished;
+ /* The return code goes in BaseReg->rRet, and BaseReg is returned in R1 */
+ StgRegTable_rRet(BaseReg) = ThreadFinished;
+ R1 = BaseReg;
jump StgReturn;
}
jump StgReturn;
}
@@
-117,7
+118,7
@@
stg_returnToStackTop
stg_returnToSched
{
SAVE_THREAD_STATE();
stg_returnToSched
{
SAVE_THREAD_STATE();
- foreign "C" threadPaused(CurrentTSO);
+ foreign "C" threadPaused(MyCapability() "ptr", CurrentTSO);
jump StgReturn;
}
jump StgReturn;
}
@@
-138,7
+139,7
@@
stg_returnToSchedNotPaused
stg_returnToSchedButFirst
{
SAVE_THREAD_STATE();
stg_returnToSchedButFirst
{
SAVE_THREAD_STATE();
- foreign "C" threadPaused(CurrentTSO);
+ foreign "C" threadPaused(MyCapability() "ptr", CurrentTSO);
jump R2;
}
jump R2;
}