-
Notifications
You must be signed in to change notification settings - Fork 212
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
fix(xsnap): take snapshot without impact on GC #3607
Conversation
@michaelfig help me update |
The essential problem is that both the Docker build (ci and deployment/Makefile) and Let's do a face-to-face to make sure we cover all the cases, whenever you're ready. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just the little pasto in packages/deployment/Makefile
.
With help from @kriskowal and @warner, I finally figured out a unit test that doesn't rely on @michaelfig helped me sort out the issues of building in the docker context. (Maybe I better double-check that it builds on a Mac...) So I propose that this is ready to go. Please take a look. |
p.s. I do propose to keep the commits separate, modulo fixups from review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
- build.js: - build from xsnap-native submodule - option to print submodule urls, hashes in env format - factor out ambient authority - use Promise.all() as appropriate - update docker builds - prune files obsoleted by xsnap-native submodule
plus a drive-by spelling fix
Moddable reworked the chunk allocator to always use a single memory block for chunk storage.
The change is implemented in
xsnapPlatform.c
. The implementation usesmmap
/mprotect
(VirtualAlloc
on Windows) to reserve and to commit memory pages.To get this fix, we add an
xsnap-native
submodule that replacesxsnap.c
and friends.The submodule includes a few tweaks: https://github.com/agoric-labs/xsnap-pub/tree/endo-submodule
fixes #3577
fixes #3139 , bringing us back to stock XS.
fixes #2469 - Moddable reviewed the code well enough to substantially re-work it.
todo:
src/build.js
withbuild:native
xsnap.[ch]
,makefiles