From: simonmar Date: Thu, 24 Feb 2000 17:20:46 +0000 (+0000) Subject: [project @ 2000-02-24 17:20:46 by simonmar] X-Git-Tag: Approximately_9120_patches~5105 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=455409e487488a54bbedd72c5abe358996641dc3;p=ghc-hetmet.git [project @ 2000-02-24 17:20:46 by simonmar] Correct [un]blockAsyncExceptionszh_ret in the #ifndef REG_R1 case. --- diff --git a/ghc/rts/Exception.hc b/ghc/rts/Exception.hc index 1ad991d..8fc0177 100644 --- a/ghc/rts/Exception.hc +++ b/ghc/rts/Exception.hc @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Exception.hc,v 1.7 2000/02/04 11:15:04 simonmar Exp $ + * $Id: Exception.hc,v 1.8 2000/02/24 17:20:46 simonmar Exp $ * * (c) The GHC Team, 1998-1999 * @@ -82,8 +82,14 @@ FN_(unblockAsyncExceptionszh_ret_entry) awakenBlockedQueue(CurrentTSO->blocked_exceptions); #endif CurrentTSO->blocked_exceptions = NULL; +#ifdef REG_R1 Sp++; JMP_(ENTRY_CODE(Sp[0])); +#else + Sp[1] = Sp[0]; + Sp++; + JMP_(ENTRY_CODE(Sp[1])); +#endif FE_ } @@ -127,8 +133,14 @@ FN_(blockAsyncExceptionszh_ret_entry) FB_ ASSERT(CurrentTSO->blocked_exceptions == NULL); CurrentTSO->blocked_exceptions = END_TSO_QUEUE; +#ifdef REG_R1 Sp++; JMP_(ENTRY_CODE(Sp[0])); +#else + Sp[1] = Sp[0]; + Sp++; + JMP_(ENTRY_CODE(Sp[1])); +#endif FE_ }