• Inphi's avatar
    MIPS2.sol MT-FPVM Implementation (#11036) · d837696f
    Inphi authored
    * 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: default avatarmbaxter <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: default avatarmbaxter <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: default avatarmbaxter <meredith@oplabs.co>
    d837696f
DeploymentSummaryCode.sol 462 KB