Commit c9acb4de authored by Duncan Coutts's avatar Duncan Coutts
Browse files

Make killThread# cmm primop use local stack allocation

It using the mp_tmp_w register/global as a convenient temporary
variable. This is naughty because those vars are supposed to be
for gmp. Also, we want to remove the gmp temp vars so we must
now use a local stack slot instead.
parent de4cc55e
......@@ -187,6 +187,7 @@ killThreadzh_fast
target = R1;
exception = R2;
/* Needs 3 words because throwToSingleThreaded uses some stack */
STK_CHK_GEN( WDS(3), R1_PTR & R2_PTR, killThreadzh_fast);
/*
......@@ -215,8 +216,8 @@ killThreadzh_fast
} else {
W_ out;
W_ retcode;
out = BaseReg + OFFSET_StgRegTable_rmp_tmp_w;
out = Sp - WDS(1); /* ok to re-use stack space here */
(retcode) = foreign "C" throwTo(MyCapability() "ptr",
CurrentTSO "ptr",
target "ptr",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment