(replace_write_executionstate): Position of synchronization slot must
be calculated from low addresses up, instead of backwards from stack base.
ss->syncslotcount = count;
ss->syncslots = DMNEW(u8,count);
for (i=0; i<count; ++i) {
- ss->syncslots[i] = *--basesp;
+ ss->syncslots[i] = sp[code->memuse + i];
}
}
count = code_get_sync_slot_count(code);
assert(count == ss->syncslotcount);
for (i=0; i<count; ++i) {
- *--basesp = ss->syncslots[i];
+ sp[code->memuse + i] = ss->syncslots[i];
}
/* set new pc */