MIPS2.sol MT-FPVM Implementation (#11036)
* cannon: MIPS2 MT-FPVM contract Add a smart contract implementing the multi-threaded Cannon * Update packages/contracts-bedrock/src/cannon/libraries/MIPSSyscalls.sol Co-authored-by:mbaxter <meredith@oplabs.co> * cannon: Use common constant for BRK_START * cannon: Define new constant FUTEX_EMPTY_ADDR * cannon: Add SYS_ERROR_SIGNAL constant, fix futex wait ret val * dedup syscall handling; rename timeout * fix sys_clone bug * use handler functions in onWaitComplete * fix nits * fix ETIMEDOUT constant * remove leftover console import * traverse right if left is empty on futex_wake syscall * Update packages/contracts-bedrock/test/cannon/MIPS2.t.sol Co-authored-by:
mbaxter <meredith@oplabs.co> * fix traverseRight updates at popThread * exit syscall is exit_group if last thread * simplify wakeup logic; traverse fully before any other operation * remove dup logic for wakeup traversal end * fuzz thread.exited in wakeup tests * update semver-lock; abi snapshots * implement unused syscalls * rebase; fix clone args * update semver-lock * handle munmap * add comment on unimplemented syscalls * add mising snapshots --------- Co-authored-by:
mbaxter <meredith@oplabs.co>
Showing
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Please register or sign in to comment