-
Notifications
You must be signed in to change notification settings - Fork 206
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)!: upgrade to latest XS #3906
Conversation
I hadn't thought of that as a breaking change. Perhaps change the comment above the 'XS + SES snapshots are long-term deterministic' test to emphasize that?
sure, that's fine.
yeah, I guess that's plenty to detect whether gzip is doing something or not; the exact ratio doesn't matter.
I'm a little surprised that neither the xsnap nor Zoe metering tests are failing. I would much prefer to see metering changes detected by tests. So I think not changing the metering version is OK. But I also think it's OK to change it just to be conservative.
No.
yes. |
My habit is to put changes to submodule versions in their own commit. I can't think of any reason that it's critical, though. Maybe it only matters when I'm rebasing stuff in my local tree. |
"latest" isn't likely to be helpful down some weeks / months. I prefer to see something like "fix a major memory leak" in the commit headline. |
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.
Good stuff.
I have some suggestions, but nothing critical.
We upgrade the XS submodule to the latest version: Moddable-OpenSource/moddable@10cc52e This fixes a major memory leak: 64 bytes per Map `delete()`, 32 per Set `delete()`. We believe this should: closes #3839 Unfortunately Map/Set deletion is now O(N) not O(1). This version of XS also fixes a bug that might be the cause of #3877 "cannot read (corrupted?) snapshot", but we're not sure. Note that this breaks snapshot compatibility (snapshots created before this version cannot be loaded by code after this version). It might also break metering compatibility, but the chances seem low enough that we decided to leave the metering version alone. closes #3889
82e2209
to
47bfa42
Compare
Ok, updated the comments a bit, will land when CI finishes. |
delete()
, 32 per Setdelete()
Note that this breaks snapshot compatibility, and probably metering
compatibility.
closes #3889
@dckc a few questions:
xsnap-pub
change? And if that's true, any idea how we should coordinate making changes in thexsnap-pub
repo in reaction to changes in thexs
repo?xsnap-pub
yet, I'll look at that separately. Tests passed, so I'm guessing that the XS changes didn't really require e.g. additions to the callback table that xsnap has to manage (one big/obvious reason for snapshot incompatibility). Does that seem likely?