• mbaxter's avatar
    mt-cannon: Implement mips logic (#11188) · 05a9c478
    mbaxter authored
    * cannon: Copy over singlethreaded impls as a starting point
    
    * cannon: Update mips property access to work with MTState
    
    * cannon: Add new syscall constants
    
    * mt-cannon: Implement clone syscall
    
    * mt-cannon: Implement remaining new syscalls
    
    * mt-cannon: Implement thread traversal changes to mipsStep()
    
    * mt-cannon: Add logger, log when max steps reached
    
    * mt-cannon: Implement onWaitComplete()
    
    * mt-cannon: Implement thread manipulation methods
    
    Also, use slices of pointers for the thread stacks
    
    * mt-cannon: Move thread traversal fns to mips.go
    
    * mt-cannon: Fix issue where wakeup traversal never stops
    
    * mt-cannon: Fix issue where we can end up popping an empty stack
    
    * mt-cannon: Move thread definitions to new thread.go file
    
    * cannon: Add compile-time type checks for FPVM(State) impls
    
    * mt-cannon: Add new threaded StackTracker
    
    * mt-cannon: Update proof generation to include thread proof
    
    * mt-cannon: Move FPVM compile-time type check
    
    * cannon: Run common vm tests across all FPVM impls
    
    * cannon: Cut OpenMIPS clone test
    
    * cannon: Cleanup - fix some discrepancies, clarify constant
    
    * cannon: Disable mem profiling in op-program instead of patch.go
    
    * cannon: Consolidate calls to program.PatchGo
    
    * cannon: Disable program.PatchGo in MTCannon tests
    
    * mt-cannon: Add multithreaded program test
    
    * cannon: Only run sleep check for single-threaded cannon
    
    * op-program: Update profiling before dependency init fns are called
    
    * mt-cannon: Track stack on thread clone, handled popped threads
    
    * mt-cannon: Panic if unrecognized syscall is executed
    
    * mt-cannon: Panic if unexpected flags are passed to SysClone
    
    * mt-cannon: Add some tests for EncodeThreadProof()
    
    * mt-cannon: Add some more tests around threadProof edge cases
    
    * mt-cannon: Minimize logging
    
    * cannon: Update go version in cannon/example/multithreaded/go.mod
    Co-authored-by: default avatarInphi <mlaw2501@gmail.com>
    
    * mt-cannon: Rework clone behavior based on feedback
    
    * mt-cannon: Rework wakeup logic
    
    * mt-cannon: Cleanup - simplify clone, refine logging
    
    * Revert "cannon: Cut OpenMIPS clone test"
    
    This reverts commit d876d6a44ffc01672a019d5b2411e7d3eab08439.
    
    * mt-cannon: Skip open-mips clone test add todos
    
    * mt-cannon: Handle munmap syscall
    
    * mt-cannon: Exit if the last thread exits
    
    * cannon: Clarify skip comment
    
    * cannon: Add some todos
    
    * cannon: Add guard around logging
    
    ---------
    Co-authored-by: default avatarInphi <mlaw2501@gmail.com>
    05a9c478
Name
Last commit
Last update
.circleci Loading commit data...
.github Loading commit data...
.vscode Loading commit data...
bedrock-devnet Loading commit data...
cannon Loading commit data...
docs Loading commit data...
op-batcher Loading commit data...
op-bootnode Loading commit data...
op-chain-ops Loading commit data...
op-challenger Loading commit data...
op-conductor Loading commit data...
op-dispute-mon Loading commit data...
op-e2e Loading commit data...
op-heartbeat Loading commit data...
op-node Loading commit data...
op-plasma Loading commit data...
op-preimage Loading commit data...
op-program Loading commit data...
op-proposer Loading commit data...
op-service Loading commit data...
op-supervisor Loading commit data...
op-ufm Loading commit data...
op-wheel Loading commit data...
ops Loading commit data...
ops-bedrock Loading commit data...
packages/contracts-bedrock Loading commit data...
proxyd Loading commit data...
specs Loading commit data...
.coderabbit.yml Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.envrc.example Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.npmrc Loading commit data...
.nvmrc Loading commit data...
.semgrepignore Loading commit data...
.shellcheckrc Loading commit data...
.snyk Loading commit data...
CITATION.cff Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
SECURITY.md Loading commit data...
cloudbuild.yaml Loading commit data...
codecov.yml Loading commit data...
docker-bake.hcl Loading commit data...
go.mod Loading commit data...
go.sum Loading commit data...
package.json Loading commit data...
pnpm-lock.yaml Loading commit data...
versions.json Loading commit data...