-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor the internals of vm::Memory
to simplify the RuntimeLinearMemory
trait
#9577
base: main
Are you sure you want to change the base?
Commits on Nov 6, 2024
-
Refactor internals of
vm::Memory
Instead of storing just a trait object store instead an `enum` between "local" memory and shared memory. This helps remove redundant trait impls on shared memories, removes the need for `dyn Any`, and removes the possibility of wrapping a shared memory as a shared memory. This is additionally intended to make it a bit easier to see what's nested where and reduce some layers of indirection.
Configuration menu - View commit details
-
Copy full SHA for d1481d2 - Browse repository at this point
Copy the full SHA d1481d2View commit details -
Start implementing a
LocalMemory
abstractionThis is intended to be a non-shared implementation of a linear memory with various bits and pieces tracking state. The end goal is to simplify the `RuntimeLinearMemory` trait to its bare bones necessary to faithfully implement wasm linear memory.
Configuration menu - View commit details
-
Copy full SHA for 4c5efc8 - Browse repository at this point
Copy the full SHA 4c5efc8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 318c777 - Browse repository at this point
Copy the full SHA 318c777View commit details -
Move CoW/max limits into
LocalMemory
Further simplify `RuntimeLinearMemory` by moving these responsibilities up a layer into the `LocalMemory` structure.
Configuration menu - View commit details
-
Copy full SHA for e765ed7 - Browse repository at this point
Copy the full SHA e765ed7View commit details -
Simplify
memory_may_move
handling inLocalMemory
No need to plumb it through all the traits any more. Now it's possible to only have it handled in `LocalMemory` and other pieces don't have to worry about it.
Configuration menu - View commit details
-
Copy full SHA for 40869a8 - Browse repository at this point
Copy the full SHA 40869a8View commit details -
Move
wasm_accessible
intoLocalMemory
Further simplify custom traits and mmap/static memory by moving more responsibility into `LocalMemory`.
Configuration menu - View commit details
-
Copy full SHA for e0e3a0d - Browse repository at this point
Copy the full SHA e0e3a0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6bf89b6 - Browse repository at this point
Copy the full SHA 6bf89b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for ecf99ca - Browse repository at this point
Copy the full SHA ecf99caView commit details -
Configuration menu - View commit details
-
Copy full SHA for a6dbf02 - Browse repository at this point
Copy the full SHA a6dbf02View commit details -
Configuration menu - View commit details
-
Copy full SHA for cce24de - Browse repository at this point
Copy the full SHA cce24deView commit details