@agoric/xsnap 0.14.3-dev-f36ed85.0 → 0.14.3-u11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +622 -0
- package/api.js +1 -1
- package/package.json +15 -21
- package/src/avaAssertXS.js +1 -3
- package/src/avaXS.js +1 -3
- package/src/build.js +20 -24
- package/src/replay.js +3 -0
- package/src/xsnap.js +15 -10
- package/src/xsrepl.js +2 -2
- package/LICENSE +0 -201
- package/build.env +0 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,622 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
### [0.14.3-u11.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.14.2...@agoric/xsnap@0.14.3-u11.0) (2023-08-24)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### [0.14.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.14.1...@agoric/xsnap@0.14.2) (2023-06-02)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **xsnap:** update Moddable SDK to fix BigInt arithmetic ([a71f2f2](https://github.com/Agoric/agoric-sdk/commit/a71f2f2c76ed6da9c9fac25e1aa8974d1451588c))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### [0.14.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.14.0...@agoric/xsnap@0.14.1) (2023-05-24)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **xsnap:** agd checks 'xsnap -n' for agoric-upgrade-10 ([842b440](https://github.com/Agoric/agoric-sdk/commit/842b4402eb857d09856cd8a77159db3a464d86f9)), closes [#7012](https://github.com/Agoric/agoric-sdk/issues/7012)
|
|
29
|
+
* **xsnap:** use newer xsnap-pub, with requirement for __has_builtin ([99de101](https://github.com/Agoric/agoric-sdk/commit/99de101cfe2a7d44464d64c8c55bbc71151b1f2f)), closes [#7829](https://github.com/Agoric/agoric-sdk/issues/7829)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## [0.14.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.13.2...@agoric/xsnap@0.14.0) (2023-05-19)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### ⚠ BREAKING CHANGES
|
|
37
|
+
|
|
38
|
+
* **xsnap:** start xsnap takes snapshot stream
|
|
39
|
+
* **xsnap:** makeSnapshot yields snapshot data
|
|
40
|
+
* **xsnap:** Update Moddable SDK and xsnap-native
|
|
41
|
+
* **xsnap:** Update Moddable SDK and xsnap-native (#6920)
|
|
42
|
+
|
|
43
|
+
### Features
|
|
44
|
+
|
|
45
|
+
* **xsnap:** Handle snapshot written size in command response ([6dfe7b0](https://github.com/Agoric/agoric-sdk/commit/6dfe7b0461a6c45b00b80cbb847985dbce1709e3))
|
|
46
|
+
* **xsnap:** makeSnapshot yields snapshot data ([348bbd2](https://github.com/Agoric/agoric-sdk/commit/348bbd2d9c251e7ec0f0aa109034d4bdb5ce89e4))
|
|
47
|
+
* **xsnap:** makeSnapshotStream over process pipe ([c0be80d](https://github.com/Agoric/agoric-sdk/commit/c0be80d5964748e2dabe1903bef5b7b1c6eb8e85))
|
|
48
|
+
* **xsnap:** start xsnap takes snapshot stream ([ed87de1](https://github.com/Agoric/agoric-sdk/commit/ed87de12e46095aa18f56b7d0118c6c76d5bef64))
|
|
49
|
+
* **xsnap:** stream start snapshot over pipe ([3f77ff9](https://github.com/Agoric/agoric-sdk/commit/3f77ff90e918280fb07055c602b56871f342365d))
|
|
50
|
+
* **xsnap:** Update Moddable SDK and xsnap-native ([2095474](https://github.com/Agoric/agoric-sdk/commit/2095474ed69ff0e6aa3a4fa7edcefe988011513d))
|
|
51
|
+
* **xsnap:** Update Moddable SDK and xsnap-native ([#6920](https://github.com/Agoric/agoric-sdk/issues/6920)) ([ddb745b](https://github.com/Agoric/agoric-sdk/commit/ddb745bb1a940cd81dae34c642eb357faca0150b))
|
|
52
|
+
* **xsnap:** use XS native harden ([037167f](https://github.com/Agoric/agoric-sdk/commit/037167fd9d071f8525401b15e13809ebf910f106))
|
|
53
|
+
* create new xsnap-lockdown package ([2af831d](https://github.com/Agoric/agoric-sdk/commit/2af831d9683a4080168ee267e8d57227d2167f37)), closes [#6596](https://github.com/Agoric/agoric-sdk/issues/6596)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### Bug Fixes
|
|
57
|
+
|
|
58
|
+
* **xsnap:** add untracked build-env file ([223a74b](https://github.com/Agoric/agoric-sdk/commit/223a74bd0fb6139e6240c57d63297080293cfcd5))
|
|
59
|
+
* **xsnap:** cleanly close using message ([ae54724](https://github.com/Agoric/agoric-sdk/commit/ae54724e7c1882d5dd235f2207dd0a1a7794d35a))
|
|
60
|
+
* **xsnap:** makeSnapshot synchronously takes baton ([8d511e8](https://github.com/Agoric/agoric-sdk/commit/8d511e82b50a4226d3da22dc3c6d0df95609dfaf))
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### [0.13.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.13.2...@agoric/xsnap@0.13.3) (2023-02-17)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
### Bug Fixes
|
|
68
|
+
|
|
69
|
+
* **xsnap:** Update Moddable SDK with divergence fixes ([#6758](https://github.com/Agoric/agoric-sdk/issues/6758)) ([fc6afec](https://github.com/Agoric/agoric-sdk/commit/fc6afecb6b752a019c34377a863eb58108944dc3))
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
### [0.13.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.13.1...@agoric/xsnap@0.13.2) (2022-10-05)
|
|
74
|
+
|
|
75
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### [0.13.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.13.0...@agoric/xsnap@0.13.1) (2022-09-20)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
### Bug Fixes
|
|
85
|
+
|
|
86
|
+
* lints ([23d64ea](https://github.com/Agoric/agoric-sdk/commit/23d64eaa65feb858e3f49d483a94950eaa64e834))
|
|
87
|
+
* xsnap parent kills worker upon receipt of unrecognized response ([5489221](https://github.com/Agoric/agoric-sdk/commit/548922158de572f2eb651eb2a08313559b9bfe35)), closes [#6257](https://github.com/Agoric/agoric-sdk/issues/6257)
|
|
88
|
+
* **SwingSet:** Apply netstring limit to xsnap workers ([f8365b2](https://github.com/Agoric/agoric-sdk/commit/f8365b26dd79967895a4d88966521d067b982206))
|
|
89
|
+
* **xsnap:** bump METER_TYPE to match recent XS udpate ([32e9509](https://github.com/Agoric/agoric-sdk/commit/32e950944420de4900c5f671e054524f3a0ae377)), closes [#5338](https://github.com/Agoric/agoric-sdk/issues/5338)
|
|
90
|
+
* **xsnap:** do not leak through vat termination race ([#5643](https://github.com/Agoric/agoric-sdk/issues/5643)) ([8201050](https://github.com/Agoric/agoric-sdk/commit/8201050103b1b2c76736b80ac4db9ec7f78dfdc7))
|
|
91
|
+
* **xsnap:** fix test which reused a mutable ArrayBuffer ([5606b52](https://github.com/Agoric/agoric-sdk/commit/5606b529b2c143cdb4e8d0f0cf28dd043fa4bdb1))
|
|
92
|
+
* **xsnap:** Handle endo init vetted shims in ava-xs ([cd7b880](https://github.com/Agoric/agoric-sdk/commit/cd7b880592578502b71c0297cad37be2672e0680))
|
|
93
|
+
* **xsnap:** prevent out of command execution ([84cf363](https://github.com/Agoric/agoric-sdk/commit/84cf363fb83c7d96046e5540b4857cc5f584ba89))
|
|
94
|
+
* **xsnap:** prohibit leading hyphen in options.name ([a3db601](https://github.com/Agoric/agoric-sdk/commit/a3db60172ae21ec57f3456bac9243aa732cfeba5))
|
|
95
|
+
* **xsnap:** upgrade to latest xsnap, now with timestamps ([c857cc8](https://github.com/Agoric/agoric-sdk/commit/c857cc83b744213cfa962ac5e250c977e18df48e)), closes [#5152](https://github.com/Agoric/agoric-sdk/issues/5152)
|
|
96
|
+
* **xsnap:** upgrade to xsnap-native with exit on unknown command ([37a01a4](https://github.com/Agoric/agoric-sdk/commit/37a01a41c60338d4d7614d68b5913126956e4630))
|
|
97
|
+
* **xsnap:** Use Moddable SDK and xsnap with WeakRef and snapshot patch ([374e7d5](https://github.com/Agoric/agoric-sdk/commit/374e7d5bcea922734ab347af5e4e98bd682e8099))
|
|
98
|
+
* **xsnap:** use patched XS to fix heap-snapshot-writing memory leak ([#5987](https://github.com/Agoric/agoric-sdk/issues/5987)) ([9e2c1da](https://github.com/Agoric/agoric-sdk/commit/9e2c1da92d865ce02dc766b1072c8c3209b0cfe9)), closes [#5975](https://github.com/Agoric/agoric-sdk/issues/5975)
|
|
99
|
+
* **xsnap:** Use xsnap with fixed timestamps ([#6151](https://github.com/Agoric/agoric-sdk/issues/6151)) ([9ba7842](https://github.com/Agoric/agoric-sdk/commit/9ba78424a4bd587d0009a6816b7ffcedd5d7f972))
|
|
100
|
+
* **xsnap:** workaround unexpected worker exit ([267f83c](https://github.com/Agoric/agoric-sdk/commit/267f83c06bcd87ad02d45502a4e3a5c744a3c533))
|
|
101
|
+
* Use new `||` assert style, but when TS confused use `if` instead ([#6174](https://github.com/Agoric/agoric-sdk/issues/6174)) ([94625d3](https://github.com/Agoric/agoric-sdk/commit/94625d38c3bb5333b00a69dd3086b1ac13490f62))
|
|
102
|
+
* **xsnap:** XS error stack behavior change ([444d6cb](https://github.com/Agoric/agoric-sdk/commit/444d6cbd4cd276a9cd9af48ceb9513c81d83b475))
|
|
103
|
+
* **xsnap:** xsnap process drops context after exit ([26766f6](https://github.com/Agoric/agoric-sdk/commit/26766f6623cc5d07aa1c52257cf54310543e13ea))
|
|
104
|
+
* tests use debug settings ([#5567](https://github.com/Agoric/agoric-sdk/issues/5567)) ([83d751f](https://github.com/Agoric/agoric-sdk/commit/83d751fb3dd8d47942fc69cfde863e6b21f1b04e))
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
## [0.13.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.12.0...@agoric/xsnap@0.13.0) (2022-05-28)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
### Features
|
|
112
|
+
|
|
113
|
+
* **vaultManager:** expose liquidation metrics ([#5393](https://github.com/Agoric/agoric-sdk/issues/5393)) ([47d4823](https://github.com/Agoric/agoric-sdk/commit/47d48236ee1702d8b0a903e39143132b56cfd096))
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
### Bug Fixes
|
|
117
|
+
|
|
118
|
+
* **xsnap:** Regarding unhandled exceptions ([29f7d93](https://github.com/Agoric/agoric-sdk/commit/29f7d9398be8f01447aa3083c6956242a6e3a54f))
|
|
119
|
+
* **xsnap:** trace should not overwrite existing files ([5ab59a9](https://github.com/Agoric/agoric-sdk/commit/5ab59a9c6671a5aa6a81ad6a736fb95a3cf3c64b))
|
|
120
|
+
* **xsnap:** Use mxNoConsole=1 ([a592439](https://github.com/Agoric/agoric-sdk/commit/a592439b4c5680fa4a81138571e769cae888a587))
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
## [0.12.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.11.2...@agoric/xsnap@0.12.0) (2022-04-18)
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
### ⚠ BREAKING CHANGES
|
|
128
|
+
|
|
129
|
+
* **xsnap:** METER_TYPE -> 13
|
|
130
|
+
|
|
131
|
+
### Features
|
|
132
|
+
|
|
133
|
+
* **object-inspect:** group bigint digits in threes ([a21d3b4](https://github.com/Agoric/agoric-sdk/commit/a21d3b4d0e12ecd761ba8ec00296df4a42a80c51))
|
|
134
|
+
* **xsnap:** load object-inspect in its own Compartment ([05ceb87](https://github.com/Agoric/agoric-sdk/commit/05ceb873f91a926b344a7be53814345b4aa64cc0))
|
|
135
|
+
* implement the durable kind API ([56bad98](https://github.com/Agoric/agoric-sdk/commit/56bad985275787d18c34ac14b377a4d0348d699b)), closes [#4495](https://github.com/Agoric/agoric-sdk/issues/4495)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
### Bug Fixes
|
|
139
|
+
|
|
140
|
+
* **xsnap:** adopt `src/object-inspect.js` ([4f23da2](https://github.com/Agoric/agoric-sdk/commit/4f23da29ae19eefb786bb810e44d7b534de91664))
|
|
141
|
+
* **xsnap:** METER_TYPE -> 13 ([ae8d18f](https://github.com/Agoric/agoric-sdk/commit/ae8d18f76e6463ef7c41d974d28696c66b4dfcb4))
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
### [0.11.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.11.1...@agoric/xsnap@0.11.2) (2022-02-24)
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
### Features
|
|
149
|
+
|
|
150
|
+
* overhaul the virtual object API ([e40674b](https://github.com/Agoric/agoric-sdk/commit/e40674b0b19f29adde2f5e6a460bafb7340d42b6)), closes [#4606](https://github.com/Agoric/agoric-sdk/issues/4606)
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
### [0.11.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.11.0...@agoric/xsnap@0.11.1) (2022-02-21)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
### Features
|
|
158
|
+
|
|
159
|
+
* implement persistent stores ([e1050b0](https://github.com/Agoric/agoric-sdk/commit/e1050b010e095b23547a38d48a12e5c8841a7466))
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
### Bug Fixes
|
|
163
|
+
|
|
164
|
+
* **xsnap:** Lint followup ([4ef61f7](https://github.com/Agoric/agoric-sdk/commit/4ef61f723166ff1439d97eacc4ba8181f14323f5))
|
|
165
|
+
* Remove extraneous eslint globals ([17087e4](https://github.com/Agoric/agoric-sdk/commit/17087e4605db7d3b30dfccf2434b2850b45e3408))
|
|
166
|
+
* **xsnap:** Pin xsnap moddable submodule for textencoder ([de8604c](https://github.com/Agoric/agoric-sdk/commit/de8604c1bcd0b7e632500479d4083cbcbb1480ea))
|
|
167
|
+
* **xsnap:** Run tests with eventual-send JavaScript ([fc6f0a5](https://github.com/Agoric/agoric-sdk/commit/fc6f0a503256c0a20dc9a1750be80ef27a9d4f6a))
|
|
168
|
+
* **xsnap:** use `object-inspect` to render `print` output better ([3c3a353](https://github.com/Agoric/agoric-sdk/commit/3c3a353bb67b8b623e5b931632d28d96a535f215))
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
## [0.11.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.10.0...@agoric/xsnap@0.11.0) (2021-12-02)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
### ⚠ BREAKING CHANGES
|
|
176
|
+
|
|
177
|
+
* METER_TYPE -> xs-meter-12
|
|
178
|
+
|
|
179
|
+
- update metering tests
|
|
180
|
+
|
|
181
|
+
### Features
|
|
182
|
+
|
|
183
|
+
* expose XS the->currentHeapCount to metering/delivery results ([a031d79](https://github.com/Agoric/agoric-sdk/commit/a031d7900440ee3717c15e7c5be4ae8226ef5530)), closes [#3910](https://github.com/Agoric/agoric-sdk/issues/3910)
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
### Bug Fixes
|
|
187
|
+
|
|
188
|
+
* have main entry points use `@endo/init`, not `ses` ([dce92ac](https://github.com/Agoric/agoric-sdk/commit/dce92acfac4dd0a5de048f7d7865e0e3cdc14396))
|
|
189
|
+
* **ava-xs:** allow test file globs as arguments, just like AVA ([3d12770](https://github.com/Agoric/agoric-sdk/commit/3d127708000b017aef1e994f424b566e07d04626))
|
|
190
|
+
* **xsnap:** get ordering right so that ses loads before most shims ([80d00bf](https://github.com/Agoric/agoric-sdk/commit/80d00bf9046d2b0f23a2a509a6a8a127b613d802))
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
## [0.10.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.9.1...@agoric/xsnap@0.10.0) (2021-10-13)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
### ⚠ BREAKING CHANGES
|
|
198
|
+
|
|
199
|
+
* **xsnap:** upgrade XS to fix memory leak
|
|
200
|
+
|
|
201
|
+
### Bug Fixes
|
|
202
|
+
|
|
203
|
+
* **xsnap:** upgrade XS to fix memory leak ([9a70831](https://github.com/Agoric/agoric-sdk/commit/9a70831cbc02edea7721b9a521492c030b097f2c)), closes [#3839](https://github.com/Agoric/agoric-sdk/issues/3839) [#3877](https://github.com/Agoric/agoric-sdk/issues/3877) [#3889](https://github.com/Agoric/agoric-sdk/issues/3889)
|
|
204
|
+
* **xsnap:** work around stricter TS checking of globalThis ([942ae90](https://github.com/Agoric/agoric-sdk/commit/942ae905454a87a1739b14b49609eaeddebffcde))
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
### [0.9.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.9.0...@agoric/xsnap@0.9.1) (2021-09-23)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
### Bug Fixes
|
|
212
|
+
|
|
213
|
+
* **xsnap:** format objects nicely in console using SES assert.quote ([#3856](https://github.com/Agoric/agoric-sdk/issues/3856)) ([a3306d0](https://github.com/Agoric/agoric-sdk/commit/a3306d01d8e87c4bc7483a61e42cc30b006feb81)), closes [#3844](https://github.com/Agoric/agoric-sdk/issues/3844)
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
## [0.9.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.8.2...@agoric/xsnap@0.9.0) (2021-09-15)
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
### ⚠ BREAKING CHANGES
|
|
221
|
+
|
|
222
|
+
* **xsnap:** moddable resync for stack-trace changes metering
|
|
223
|
+
|
|
224
|
+
### Features
|
|
225
|
+
|
|
226
|
+
* **xsnap:** Add base 64 bindings ([a8279a4](https://github.com/Agoric/agoric-sdk/commit/a8279a43ef6f4686efba301fe2cb93e1d4e9b156))
|
|
227
|
+
* **xsnap:** integrate native TextEncoder / TextDecoder ([9d65dbe](https://github.com/Agoric/agoric-sdk/commit/9d65dbe2410e1856c3ac1fa6ff7eb921bb24ec0c))
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
### Bug Fixes
|
|
231
|
+
|
|
232
|
+
* **xsnap:** moddable resync for stack-trace changes metering ([34e5e18](https://github.com/Agoric/agoric-sdk/commit/34e5e1877eb74cf39fc32cf1cc53524c3f365635))
|
|
233
|
+
* **xsnap:** supply missing file, line numbers based on sourceURL ([be3386c](https://github.com/Agoric/agoric-sdk/commit/be3386cbcd2255c469791830984fc385856226cc)), closes [#2578](https://github.com/Agoric/agoric-sdk/issues/2578)
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
### [0.8.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.8.1...@agoric/xsnap@0.8.2) (2021-08-18)
|
|
238
|
+
|
|
239
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
### [0.8.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.8.0...@agoric/xsnap@0.8.1) (2021-08-17)
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
### Bug Fixes
|
|
249
|
+
|
|
250
|
+
* Remove dregs of node -r esm ([#3710](https://github.com/Agoric/agoric-sdk/issues/3710)) ([e30c934](https://github.com/Agoric/agoric-sdk/commit/e30c934a9de19e930677c7b65ad98abe0be16d56))
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
## [0.8.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.9...@agoric/xsnap@0.8.0) (2021-08-15)
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
### ⚠ BREAKING CHANGES
|
|
258
|
+
|
|
259
|
+
* **xsnap:** don't rely on diagnostic meters
|
|
260
|
+
* **xsnap:** avoid O(n^2) Array, Map, Set growth
|
|
261
|
+
|
|
262
|
+
### Features
|
|
263
|
+
|
|
264
|
+
* **xsnap:** make name available on xsnap object ([8c4a16b](https://github.com/Agoric/agoric-sdk/commit/8c4a16bc203722d594f09bf7c5acd09c4209ba1c))
|
|
265
|
+
* **xsnap:** record upstream commands as well as replies ([fc9332f](https://github.com/Agoric/agoric-sdk/commit/fc9332fc52f626b884e4998e780dbfbf87cb854d))
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
### Bug Fixes
|
|
269
|
+
|
|
270
|
+
* **deployment:** use proper path to build.js ([78d2d73](https://github.com/Agoric/agoric-sdk/commit/78d2d73e33311ee09eaec17fa3b5c4d393a73621))
|
|
271
|
+
* **swingset:** delete unused snapshots ([#3505](https://github.com/Agoric/agoric-sdk/issues/3505)) ([317959d](https://github.com/Agoric/agoric-sdk/commit/317959d77ca669c8e4bbf504d89fe55bdd383253)), closes [#3374](https://github.com/Agoric/agoric-sdk/issues/3374) [#3431](https://github.com/Agoric/agoric-sdk/issues/3431)
|
|
272
|
+
* **xsnap:** 1st field of `git submodule status` is 1 char ([5448675](https://github.com/Agoric/agoric-sdk/commit/54486754d77bf7d65bcc590146ffce359eef955d))
|
|
273
|
+
* **xsnap:** Allow for an absent package.json ava.require ([2d30a11](https://github.com/Agoric/agoric-sdk/commit/2d30a11de0e1a8f167aa033af40dd34309bf65d5))
|
|
274
|
+
* **xsnap:** avoid O(n^2) Array, Map, Set growth ([11e7c1c](https://github.com/Agoric/agoric-sdk/commit/11e7c1cdbc12a0a53477be3e81cf86cc6407cd28)), closes [#3012](https://github.com/Agoric/agoric-sdk/issues/3012)
|
|
275
|
+
* **xsnap:** build needs to await checkout ([a2f4861](https://github.com/Agoric/agoric-sdk/commit/a2f4861b3e1469f26baae8ce9326068f9d513195))
|
|
276
|
+
* **xsnap:** don't rely on diagnostic meters ([8148c13](https://github.com/Agoric/agoric-sdk/commit/8148c13c5f4810c5fe92e05ced57ebf56302404d))
|
|
277
|
+
* **xsnap:** tolerate Symbols in console.log() arguments ([#3618](https://github.com/Agoric/agoric-sdk/issues/3618)) ([314ee93](https://github.com/Agoric/agoric-sdk/commit/314ee93ee8fc5e97e8c40a640b94ffa770a046bc))
|
|
278
|
+
|
|
279
|
+
### 0.26.10 (2021-07-28)
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
### Features
|
|
283
|
+
|
|
284
|
+
* **xsnap:** FFI to enable/disable metering ([#3480](https://github.com/Agoric/agoric-sdk/issues/3480)) ([94d9417](https://github.com/Agoric/agoric-sdk/commit/94d941707583a4c145ace144cf82bedc330979a3)), closes [#3457](https://github.com/Agoric/agoric-sdk/issues/3457)
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
### Bug Fixes
|
|
288
|
+
|
|
289
|
+
* tolerate endo pre and post [#822](https://github.com/Agoric/agoric-sdk/issues/822) ([#3472](https://github.com/Agoric/agoric-sdk/issues/3472)) ([e872c0c](https://github.com/Agoric/agoric-sdk/commit/e872c0c77a146a746066de583021d8c9f1721b93))
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
## [0.7.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.9...@agoric/xsnap@0.7.0) (2021-08-14)
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
### ⚠ BREAKING CHANGES
|
|
297
|
+
|
|
298
|
+
* **xsnap:** don't rely on diagnostic meters
|
|
299
|
+
* **xsnap:** avoid O(n^2) Array, Map, Set growth
|
|
300
|
+
|
|
301
|
+
### Features
|
|
302
|
+
|
|
303
|
+
* **xsnap:** make name available on xsnap object ([8c4a16b](https://github.com/Agoric/agoric-sdk/commit/8c4a16bc203722d594f09bf7c5acd09c4209ba1c))
|
|
304
|
+
* **xsnap:** record upstream commands as well as replies ([fc9332f](https://github.com/Agoric/agoric-sdk/commit/fc9332fc52f626b884e4998e780dbfbf87cb854d))
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
### Bug Fixes
|
|
308
|
+
|
|
309
|
+
* **swingset:** delete unused snapshots ([#3505](https://github.com/Agoric/agoric-sdk/issues/3505)) ([317959d](https://github.com/Agoric/agoric-sdk/commit/317959d77ca669c8e4bbf504d89fe55bdd383253)), closes [#3374](https://github.com/Agoric/agoric-sdk/issues/3374) [#3431](https://github.com/Agoric/agoric-sdk/issues/3431)
|
|
310
|
+
* **xsnap:** Allow for an absent package.json ava.require ([2d30a11](https://github.com/Agoric/agoric-sdk/commit/2d30a11de0e1a8f167aa033af40dd34309bf65d5))
|
|
311
|
+
* **xsnap:** avoid O(n^2) Array, Map, Set growth ([11e7c1c](https://github.com/Agoric/agoric-sdk/commit/11e7c1cdbc12a0a53477be3e81cf86cc6407cd28)), closes [#3012](https://github.com/Agoric/agoric-sdk/issues/3012)
|
|
312
|
+
* **xsnap:** don't rely on diagnostic meters ([8148c13](https://github.com/Agoric/agoric-sdk/commit/8148c13c5f4810c5fe92e05ced57ebf56302404d))
|
|
313
|
+
* **xsnap:** tolerate Symbols in console.log() arguments ([#3618](https://github.com/Agoric/agoric-sdk/issues/3618)) ([314ee93](https://github.com/Agoric/agoric-sdk/commit/314ee93ee8fc5e97e8c40a640b94ffa770a046bc))
|
|
314
|
+
|
|
315
|
+
### 0.26.10 (2021-07-28)
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
### Features
|
|
319
|
+
|
|
320
|
+
* **xsnap:** FFI to enable/disable metering ([#3480](https://github.com/Agoric/agoric-sdk/issues/3480)) ([94d9417](https://github.com/Agoric/agoric-sdk/commit/94d941707583a4c145ace144cf82bedc330979a3)), closes [#3457](https://github.com/Agoric/agoric-sdk/issues/3457)
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
### Bug Fixes
|
|
324
|
+
|
|
325
|
+
* tolerate endo pre and post [#822](https://github.com/Agoric/agoric-sdk/issues/822) ([#3472](https://github.com/Agoric/agoric-sdk/issues/3472)) ([e872c0c](https://github.com/Agoric/agoric-sdk/commit/e872c0c77a146a746066de583021d8c9f1721b93))
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
### [0.6.10](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.9...@agoric/xsnap@0.6.10) (2021-07-28)
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
### Features
|
|
333
|
+
|
|
334
|
+
* **xsnap:** FFI to enable/disable metering ([#3480](https://github.com/Agoric/agoric-sdk/issues/3480)) ([94d9417](https://github.com/Agoric/agoric-sdk/commit/94d941707583a4c145ace144cf82bedc330979a3)), closes [#3457](https://github.com/Agoric/agoric-sdk/issues/3457)
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
### Bug Fixes
|
|
338
|
+
|
|
339
|
+
* tolerate endo pre and post [#822](https://github.com/Agoric/agoric-sdk/issues/822) ([#3472](https://github.com/Agoric/agoric-sdk/issues/3472)) ([e872c0c](https://github.com/Agoric/agoric-sdk/commit/e872c0c77a146a746066de583021d8c9f1721b93))
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
### [0.6.9](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.8...@agoric/xsnap@0.6.9) (2021-07-01)
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
### Features
|
|
347
|
+
|
|
348
|
+
* **xsnap:** isReady() eliminates need for .evaluate('null') ([a0493d7](https://github.com/Agoric/agoric-sdk/commit/a0493d7c34c66d008e295ac2b0b86e312a36b5da))
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
### [0.6.8](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.7...@agoric/xsnap@0.6.8) (2021-06-28)
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
### Features
|
|
356
|
+
|
|
357
|
+
* demand-paged vats are reloaded from heap snapshots ([#2848](https://github.com/Agoric/agoric-sdk/issues/2848)) ([cb239cb](https://github.com/Agoric/agoric-sdk/commit/cb239cbb27943ad58c304d85ee9b61ba917af79c)), closes [#2273](https://github.com/Agoric/agoric-sdk/issues/2273) [#2277](https://github.com/Agoric/agoric-sdk/issues/2277) [#2422](https://github.com/Agoric/agoric-sdk/issues/2422)
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
### Bug Fixes
|
|
361
|
+
|
|
362
|
+
* snapStore tmp files were kept for debugging ([#3420](https://github.com/Agoric/agoric-sdk/issues/3420)) ([9d9560d](https://github.com/Agoric/agoric-sdk/commit/9d9560db488b67c8dfbc8dbba23967d5059dd071))
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
### [0.6.7](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.6...@agoric/xsnap@0.6.7) (2021-06-25)
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
### Bug Fixes
|
|
370
|
+
|
|
371
|
+
* **xsnap:** update XS: new WeakMap design, fixed Promise drops ([8eeec28](https://github.com/Agoric/agoric-sdk/commit/8eeec2808ee7596d0b08a362d182c65a8828fba3)), closes [#3406](https://github.com/Agoric/agoric-sdk/issues/3406) [#3118](https://github.com/Agoric/agoric-sdk/issues/3118)
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
### [0.6.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.5...@agoric/xsnap@0.6.6) (2021-06-24)
|
|
376
|
+
|
|
377
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
### [0.6.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.4...@agoric/xsnap@0.6.5) (2021-06-23)
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
### Features
|
|
387
|
+
|
|
388
|
+
* **xsnap:** record / replay xsnap protcol ([616a752](https://github.com/Agoric/agoric-sdk/commit/616a752289d87ae71fd21a0f9533b158667d2d89))
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
### Bug Fixes
|
|
392
|
+
|
|
393
|
+
* **xsnap:** 1e7 was too small for crank meter limit ([95c52ab](https://github.com/Agoric/agoric-sdk/commit/95c52ab62f7be855d084b70626b67e8ca516714f))
|
|
394
|
+
* **xsnap:** Account for TypedArray and subarrays in Text shim ([3531132](https://github.com/Agoric/agoric-sdk/commit/35311325cdb76c4981cffaffbc9d9b1f8701662a))
|
|
395
|
+
* **xsnap:** don't risk NULL in gxSnapshotCallbacks ([3a6ddbb](https://github.com/Agoric/agoric-sdk/commit/3a6ddbb4b2ab1ab551888ad7e4ec86d32189caf0))
|
|
396
|
+
* **xsnap:** fxMeterHostFunction is no more ([67e6a51](https://github.com/Agoric/agoric-sdk/commit/67e6a512d5c16ec32734e2fb4c046182142b85a0))
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
### [0.6.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.3...@agoric/xsnap@0.6.4) (2021-06-16)
|
|
401
|
+
|
|
402
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
### [0.6.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.2...@agoric/xsnap@0.6.3) (2021-06-15)
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
### Features
|
|
412
|
+
|
|
413
|
+
* use 'engine-gc.js' to get the Node.js garbage collector ([0153529](https://github.com/Agoric/agoric-sdk/commit/0153529cbfc0b7da2d1ec434b32b2171bc246f93))
|
|
414
|
+
* **xsnap:** add gcAndFinalize, tests ([343d908](https://github.com/Agoric/agoric-sdk/commit/343d9081b84205902e47e4f4f4fef3b97e6dfe45)), closes [#2660](https://github.com/Agoric/agoric-sdk/issues/2660)
|
|
415
|
+
* **xsnap:** refined metering: stack, arrays ([9c48919](https://github.com/Agoric/agoric-sdk/commit/9c4891948c0ba3e8edc564035ad16a949e8b6bd0))
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
### Bug Fixes
|
|
419
|
+
|
|
420
|
+
* be more explicit when gc() is not enabled, but not repetitive ([b3f7757](https://github.com/Agoric/agoric-sdk/commit/b3f775704a2a9373623d3c6f24726e14ec8d0056))
|
|
421
|
+
* Pin ESM to forked version ([54dbb55](https://github.com/Agoric/agoric-sdk/commit/54dbb55d64d7ff7adb395bc4bd9d1461dd2d3c17))
|
|
422
|
+
* Preinitialize Babel ([bb76808](https://github.com/Agoric/agoric-sdk/commit/bb768089c3588e54612d7c9a4528972b5688f4e6))
|
|
423
|
+
* **xs-worker:** respect !managerOptions.metered ([#3078](https://github.com/Agoric/agoric-sdk/issues/3078)) ([84fa8c9](https://github.com/Agoric/agoric-sdk/commit/84fa8c984bc0bccb2482007d69dfb01773de6c74))
|
|
424
|
+
* **xsnap:** free netstring in issueCommand() ([127e58a](https://github.com/Agoric/agoric-sdk/commit/127e58ac45bc9ea316733bbe6790936ba1b28f56))
|
|
425
|
+
* **xsnap:** handle malloc() failure ([67d2581](https://github.com/Agoric/agoric-sdk/commit/67d25812985ce590cda10e2774be885b16fa67fb))
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
## [0.6.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.1...@agoric/xsnap@0.6.2) (2021-05-10)
|
|
430
|
+
|
|
431
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
## [0.6.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.6.0...@agoric/xsnap@0.6.1) (2021-05-05)
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
### Bug Fixes
|
|
441
|
+
|
|
442
|
+
* cope with getting moddable submodule from agoric-labs ([a1a2693](https://github.com/Agoric/agoric-sdk/commit/a1a26931d17ade84ae97aa3a9d0e7c5c58a74491))
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
# [0.6.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.5.5...@agoric/xsnap@0.6.0) (2021-05-05)
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
### Bug Fixes
|
|
452
|
+
|
|
453
|
+
* **xsnap:** fix the xsnap/moddable git-submodule ([fc34fba](https://github.com/Agoric/agoric-sdk/commit/fc34fba9d28776bd5120831864ef12f71e120766))
|
|
454
|
+
* **xsnap:** start with expected heap (32MB) and grow by 4MB ([2e59868](https://github.com/Agoric/agoric-sdk/commit/2e598684ca009d9575fbe078205396eaf89d06e8))
|
|
455
|
+
* ignore an xsnap build output ([#2887](https://github.com/Agoric/agoric-sdk/issues/2887)) ([646b621](https://github.com/Agoric/agoric-sdk/commit/646b6211618381fe569a2be0820137523a484a6e))
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
### Features
|
|
459
|
+
|
|
460
|
+
* **ava-xs:** provide test script name to xsnap ([05f0637](https://github.com/Agoric/agoric-sdk/commit/05f0637942586b449e516796f1f9881fe218d08c))
|
|
461
|
+
* **xsnap:** $XSNAP_DEBUG_RR for time-travel debugging ([bd4af92](https://github.com/Agoric/agoric-sdk/commit/bd4af925c73ac33e027027f5e56bc65c4c10a38a))
|
|
462
|
+
* **xsnap:** define XSnapOptions type ([1ce5618](https://github.com/Agoric/agoric-sdk/commit/1ce561892e4d1bfb91e8dc6491e1229713619967))
|
|
463
|
+
* **xsnap:** grow heap more slowly ([11795de](https://github.com/Agoric/agoric-sdk/commit/11795deeec15afda3ea96ed8a994243480f97a69))
|
|
464
|
+
* **xsnap:** high resolution timer: performance.now() ([10940f9](https://github.com/Agoric/agoric-sdk/commit/10940f902fef4a47a5fd8b63faeceb9c5c0be4eb))
|
|
465
|
+
* **xsnap:** increase allocation limit to 2GB ([5922cbd](https://github.com/Agoric/agoric-sdk/commit/5922cbdd360a29acaac4fbe00d298b0af8e5e8a4))
|
|
466
|
+
* **xsnap:** meter add/remove on map, set ([327062f](https://github.com/Agoric/agoric-sdk/commit/327062f9f9843ed2f4d8d6e0fa2445d1fa4fdf55))
|
|
467
|
+
* **xsnap:** meter allocation ([eecd58d](https://github.com/Agoric/agoric-sdk/commit/eecd58d503904e0aff24e6850730b165eeac1c9e))
|
|
468
|
+
* **xsnap:** meter calls to allocateChunks, allocateSlots ([5a35842](https://github.com/Agoric/agoric-sdk/commit/5a35842cca71433f7dd2a52cc2750df53a01b269))
|
|
469
|
+
* **xsnap:** meter garbageCollectionCount ([f649ff7](https://github.com/Agoric/agoric-sdk/commit/f649ff7715700a5cf3002fcc332692e2786d9d53))
|
|
470
|
+
* **xsnap:** meter maxBucketSize ([eff98b4](https://github.com/Agoric/agoric-sdk/commit/eff98b4770a4742cb0b9b2d5bc2de1266d38951b))
|
|
471
|
+
* **xsnap:** specify exit codes for meter exhaustion etc. ([db3daaa](https://github.com/Agoric/agoric-sdk/commit/db3daaaeeef1ac81104b8a58922da932ccdbadd9))
|
|
472
|
+
* refcount-based promise GC in the comms vat ([209b034](https://github.com/Agoric/agoric-sdk/commit/209b034f196d46f5d6b499f8b0bf32dbddca1114))
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
## [0.5.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.5.4...@agoric/xsnap@0.5.5) (2021-04-22)
|
|
479
|
+
|
|
480
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
## [0.5.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.5.3...@agoric/xsnap@0.5.4) (2021-04-18)
|
|
487
|
+
|
|
488
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
## [0.5.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.5.2...@agoric/xsnap@0.5.3) (2021-04-16)
|
|
495
|
+
|
|
496
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
## [0.5.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.5.1...@agoric/xsnap@0.5.2) (2021-04-14)
|
|
503
|
+
|
|
504
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
## [0.5.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.5.0...@agoric/xsnap@0.5.1) (2021-04-07)
|
|
511
|
+
|
|
512
|
+
**Note:** Version bump only for package @agoric/xsnap
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
# [0.5.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.4.0...@agoric/xsnap@0.5.0) (2021-04-06)
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
### Bug Fixes
|
|
522
|
+
|
|
523
|
+
* update to depend on ses 0.12.5 ([#2718](https://github.com/Agoric/agoric-sdk/issues/2718)) ([08dbe0d](https://github.com/Agoric/agoric-sdk/commit/08dbe0db5ce06944dc92c710865e441a60b31b5b))
|
|
524
|
+
* update to ses 0.12.7, ses-ava 0.1.1 ([#2820](https://github.com/Agoric/agoric-sdk/issues/2820)) ([6d81775](https://github.com/Agoric/agoric-sdk/commit/6d81775715bc80e6033d75cb65edbfb1452b1608))
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
### Features
|
|
528
|
+
|
|
529
|
+
* **xsnap:** show name on command line ([5b31c23](https://github.com/Agoric/agoric-sdk/commit/5b31c230f81f9e25a53a478de8a66a2f3acfa822))
|
|
530
|
+
* **xsnap:** snapstore with compressed snapshots ([865ba54](https://github.com/Agoric/agoric-sdk/commit/865ba5472b5f43563948f7afe63e85bcc4014888))
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
# [0.4.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.3.0...@agoric/xsnap@0.4.0) (2021-03-24)
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
### Bug Fixes
|
|
540
|
+
|
|
541
|
+
* rename crankStats -> meterUsage ([e0fa380](https://github.com/Agoric/agoric-sdk/commit/e0fa380220a9b0bbc555e55c1d6481c9e48add9b))
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
### Features
|
|
545
|
+
|
|
546
|
+
* **xsnap:** enable gc() in the start compartment ([e407fa2](https://github.com/Agoric/agoric-sdk/commit/e407fa2393dfc8b06111d5353123afd92cd6cab6)), closes [#2682](https://github.com/Agoric/agoric-sdk/issues/2682) [#2660](https://github.com/Agoric/agoric-sdk/issues/2660) [#2615](https://github.com/Agoric/agoric-sdk/issues/2615)
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
# [0.3.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.2.1...@agoric/xsnap@0.3.0) (2021-03-16)
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
### Bug Fixes
|
|
556
|
+
|
|
557
|
+
* **ava-xs:** anchor match patterns ([c753779](https://github.com/Agoric/agoric-sdk/commit/c7537799e7feb868fcfe6d916fab626244519d32))
|
|
558
|
+
* make separate 'test:xs' target, remove XS from 'test' target ([b9c1a69](https://github.com/Agoric/agoric-sdk/commit/b9c1a6987093fc8e09e8aba7acd2a1618413bac8)), closes [#2647](https://github.com/Agoric/agoric-sdk/issues/2647)
|
|
559
|
+
* properly pin the Moddable SDK version ([58333e0](https://github.com/Agoric/agoric-sdk/commit/58333e069192267fc96e30bb5272edc03b3faa04))
|
|
560
|
+
* upgrade ses to 0.12.3 to avoid console noise ([#2552](https://github.com/Agoric/agoric-sdk/issues/2552)) ([f59f5f5](https://github.com/Agoric/agoric-sdk/commit/f59f5f58d1567bb11710166b1dbc80f25c39a04f))
|
|
561
|
+
* use git submodule update --init --checkout ([fd3965d](https://github.com/Agoric/agoric-sdk/commit/fd3965de6e578000975fa7cb521689f1872140d2))
|
|
562
|
+
* **avaXS:** notDeepEqual confused false with throwing ([a1b7460](https://github.com/Agoric/agoric-sdk/commit/a1b74604a63b89dc499e58e72b8425effae0b809))
|
|
563
|
+
* **xsnap:** bounds checking in release builds ([c36f040](https://github.com/Agoric/agoric-sdk/commit/c36f04064ddb7c02bee78a1a07c0fe1fcd4b46d3))
|
|
564
|
+
* **xsnap:** freeze API surface ([8c2cc63](https://github.com/Agoric/agoric-sdk/commit/8c2cc63acb78f8a169c53804d64304e8e954f7df))
|
|
565
|
+
* **xsnap:** orderly fail-stop on heap exhaustion ([8ffbaa6](https://github.com/Agoric/agoric-sdk/commit/8ffbaa64bf48a63c34fac3245d117a8a6fa6731a))
|
|
566
|
+
* **xsnap:** shim HandledPromise before lockdown() ([7e8178a](https://github.com/Agoric/agoric-sdk/commit/7e8178aa4ed8bf300a9e20d46e0c6a51848160d7))
|
|
567
|
+
* **xsrepl:** pass command line args thru shell wrapper ([7679200](https://github.com/Agoric/agoric-sdk/commit/7679200fa6b37ec832d72d2662d6f098d4989f37))
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
### Features
|
|
571
|
+
|
|
572
|
+
* **ava-xs:** -m title match support ([e89f1e1](https://github.com/Agoric/agoric-sdk/commit/e89f1e1b716b38f9762d4fef914135c4b0078ced))
|
|
573
|
+
* **ava-xs:** handle some zoe tests ([#2573](https://github.com/Agoric/agoric-sdk/issues/2573)) ([7789834](https://github.com/Agoric/agoric-sdk/commit/7789834f7d232e395a707c5117295b768ed3fcff)), closes [#2503](https://github.com/Agoric/agoric-sdk/issues/2503)
|
|
574
|
+
* **xsnap:** ava work-alike ([2c71b4a](https://github.com/Agoric/agoric-sdk/commit/2c71b4a96b246bcbf89ba1bbb4a44737babccba9))
|
|
575
|
+
* **xsnap:** deep stacks work with updated moddable error stacks ([#2579](https://github.com/Agoric/agoric-sdk/issues/2579)) ([6a8fc76](https://github.com/Agoric/agoric-sdk/commit/6a8fc7646eeab48b176b44ebaca115ed9afa7966))
|
|
576
|
+
* **xsnap:** unhandled rejections are debuggable ([cbf83be](https://github.com/Agoric/agoric-sdk/commit/cbf83beffbbb57d49a9d945b1b1d975731d4f293))
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
## [0.2.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/xsnap@0.2.0...@agoric/xsnap@0.2.1) (2021-02-22)
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
### Bug Fixes
|
|
586
|
+
|
|
587
|
+
* **xsnap:** lib directory was missing from package files ([5bd8eb8](https://github.com/Agoric/agoric-sdk/commit/5bd8eb848a348877c1674fd8ce55bbc1ae37986a))
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
# 0.2.0 (2021-02-16)
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
### Bug Fixes
|
|
597
|
+
|
|
598
|
+
* **xsnap:** Typo in README re order of REPL ops ([#2188](https://github.com/Agoric/agoric-sdk/issues/2188)) ([18b0cac](https://github.com/Agoric/agoric-sdk/commit/18b0cac663c1a822417b43b3fb2f2c8173fd10a1))
|
|
599
|
+
* cleanups and simplifications ([1fe4eae](https://github.com/Agoric/agoric-sdk/commit/1fe4eae27cbe6e97b5f905d921d3e72d167cd108))
|
|
600
|
+
* complain if metering is requested but not compiled in ([857d4ba](https://github.com/Agoric/agoric-sdk/commit/857d4ba44eb93fc4f07608255232ca8c2ede7bc0))
|
|
601
|
+
* don't hardcode XSNAP_VERSION; get it from package.json ([b418db5](https://github.com/Agoric/agoric-sdk/commit/b418db5773f40c695988b27149612835e75fcd44))
|
|
602
|
+
* git should ignore xsnap/dist ([#2312](https://github.com/Agoric/agoric-sdk/issues/2312)) ([097f734](https://github.com/Agoric/agoric-sdk/commit/097f734abd3209ff55d0e78321efb1e0b160af20))
|
|
603
|
+
* missing console methods ([#2254](https://github.com/Agoric/agoric-sdk/issues/2254)) ([79e81b0](https://github.com/Agoric/agoric-sdk/commit/79e81b014ea6e3df1a98ef0d35e7cad2d1d966a6))
|
|
604
|
+
* reenable Docker builds and deployment ([559ea06](https://github.com/Agoric/agoric-sdk/commit/559ea062251d73e3a6921c85f63631a50ddfad35))
|
|
605
|
+
* **xsnap:** Iron out resolution types ([1e2e10d](https://github.com/Agoric/agoric-sdk/commit/1e2e10d78b8e57df6e5eb9ea8f81ba4ded2de8b4))
|
|
606
|
+
* **xsnap:** Make xsrepl executable ([#2197](https://github.com/Agoric/agoric-sdk/issues/2197)) ([bd7d738](https://github.com/Agoric/agoric-sdk/commit/bd7d738010e84db7bfbbf13bc7af1e3787243e7c))
|
|
607
|
+
* **xsnap:** This is not a smog check ([#2190](https://github.com/Agoric/agoric-sdk/issues/2190)) ([437814c](https://github.com/Agoric/agoric-sdk/commit/437814cf6dc78ecb7ee878e574f121b29a1e761f))
|
|
608
|
+
* **xsnap:** Thread spawn and os into xsnap ([619a4de](https://github.com/Agoric/agoric-sdk/commit/619a4dee82a1e63d6b6708dcbb102fa2aced676e))
|
|
609
|
+
* **xsnap:** Update submodules for build and use CURDIR ([#2186](https://github.com/Agoric/agoric-sdk/issues/2186)) ([d0bf5cb](https://github.com/Agoric/agoric-sdk/commit/d0bf5cb4394f0d542020863e72c3eeacd705c3d7))
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
### Features
|
|
613
|
+
|
|
614
|
+
* use xsnap worker CPU meter and start reporting consumption ([62e0d5a](https://github.com/Agoric/agoric-sdk/commit/62e0d5a3b5ff32bd79567bab8fa1b63eb7f9134a))
|
|
615
|
+
* **swingset:** defaultManagerType option in makeSwingsetController ([#2266](https://github.com/Agoric/agoric-sdk/issues/2266)) ([b57f08f](https://github.com/Agoric/agoric-sdk/commit/b57f08f3514e052126a758f949acb5db3cc5a32d)), closes [#2260](https://github.com/Agoric/agoric-sdk/issues/2260)
|
|
616
|
+
* **swingset:** xsnap vat worker ([#2225](https://github.com/Agoric/agoric-sdk/issues/2225)) ([50c8548](https://github.com/Agoric/agoric-sdk/commit/50c8548e4d610e1e32537bc155e4c58d917cd6df)), closes [#2216](https://github.com/Agoric/agoric-sdk/issues/2216) [#2202](https://github.com/Agoric/agoric-sdk/issues/2202)
|
|
617
|
+
* **xs-vat-worker:** bootstrap SES shim on xsnap ([e775a99](https://github.com/Agoric/agoric-sdk/commit/e775a99afae43a8581cdeedd22545c7fa703c691))
|
|
618
|
+
* **xsnap:** Add interactive mode ([42912a7](https://github.com/Agoric/agoric-sdk/commit/42912a7c1d70cb67248f54f43b600165dbe7f624))
|
|
619
|
+
* **xsnap:** Add machinery for an xsrepl binary ([#2187](https://github.com/Agoric/agoric-sdk/issues/2187)) ([fc560d5](https://github.com/Agoric/agoric-sdk/commit/fc560d5ef9f77d85becd3c27edd820695900491f))
|
|
620
|
+
* **xsnap:** Add Node.js shell ([4491145](https://github.com/Agoric/agoric-sdk/commit/4491145cac1ab1d1a15b5b4b61a1c5a0cb975736))
|
|
621
|
+
* **xsnap:** Initial checkin from 34dfa4a ([f083df0](https://github.com/Agoric/agoric-sdk/commit/f083df0b791450eb28c2e43a69e3436f4b38d722))
|
|
622
|
+
* **xsnap:** Pivot terms from syscalls to commands ([3576b5c](https://github.com/Agoric/agoric-sdk/commit/3576b5cbd25c2dcbf0e94d5865c8b39e2cf2a1c7))
|
package/api.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/xsnap",
|
|
3
|
-
"version": "0.14.3-
|
|
3
|
+
"version": "0.14.3-u11.1",
|
|
4
4
|
"description": "Description forthcoming.",
|
|
5
5
|
"author": "Agoric",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -20,36 +20,34 @@
|
|
|
20
20
|
"clean": "rm -rf xsnap-native/xsnap/build",
|
|
21
21
|
"lint": "run-s --continue-on-error lint:*",
|
|
22
22
|
"lint:js": "eslint 'src/**/*.js' 'test/**/*.js' api.js",
|
|
23
|
-
"lint:types": "tsc",
|
|
23
|
+
"lint:types": "tsc -p jsconfig.json",
|
|
24
24
|
"lint-fix": "eslint --fix 'src/**/*.js' 'test/**/*.js' api.js",
|
|
25
25
|
"test": "ava",
|
|
26
26
|
"test:c8": "c8 $C8_OPTIONS ava --config=ava-nesm.config.js",
|
|
27
27
|
"test:xs": "exit 0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@agoric/assert": "0.6.
|
|
31
|
-
"@agoric/internal": "0.3.3-
|
|
32
|
-
"@agoric/xsnap-lockdown": "0.14.
|
|
33
|
-
"@endo/bundle-source": "^2.5.
|
|
34
|
-
"@endo/eventual-send": "^0.17.
|
|
35
|
-
"@endo/init": "^0.5.
|
|
36
|
-
"@endo/netstring": "^0.3.
|
|
37
|
-
"@endo/promise-kit": "^0.2.
|
|
38
|
-
"@endo/stream": "^0.3.
|
|
39
|
-
"@endo/stream-node": "^0.2.
|
|
30
|
+
"@agoric/assert": "^0.6.0",
|
|
31
|
+
"@agoric/internal": "^0.3.3-u11.0",
|
|
32
|
+
"@agoric/xsnap-lockdown": "^0.14.0",
|
|
33
|
+
"@endo/bundle-source": "^2.5.1",
|
|
34
|
+
"@endo/eventual-send": "^0.17.2",
|
|
35
|
+
"@endo/init": "^0.5.56",
|
|
36
|
+
"@endo/netstring": "^0.3.26",
|
|
37
|
+
"@endo/promise-kit": "^0.2.56",
|
|
38
|
+
"@endo/stream": "^0.3.25",
|
|
39
|
+
"@endo/stream-node": "^0.2.26",
|
|
40
40
|
"glob": "^7.1.6",
|
|
41
41
|
"tmp": "^0.2.1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@endo/base64": "^0.2.
|
|
45
|
-
"
|
|
46
|
-
"ava": "^5.3.0",
|
|
44
|
+
"@endo/base64": "^0.2.31",
|
|
45
|
+
"ava": "^5.2.0",
|
|
47
46
|
"c8": "^7.13.0"
|
|
48
47
|
},
|
|
49
48
|
"files": [
|
|
50
49
|
"LICENSE*",
|
|
51
50
|
"api.js",
|
|
52
|
-
"build.env",
|
|
53
51
|
"src"
|
|
54
52
|
],
|
|
55
53
|
"publishConfig": {
|
|
@@ -59,11 +57,7 @@
|
|
|
59
57
|
"files": [
|
|
60
58
|
"test/**/test-*.js"
|
|
61
59
|
],
|
|
62
|
-
"require": [
|
|
63
|
-
"@endo/init/debug.js"
|
|
64
|
-
],
|
|
65
60
|
"timeout": "2m",
|
|
66
61
|
"workerThreads": false
|
|
67
|
-
}
|
|
68
|
-
"gitHead": "f36ed8546ba3eb67692195e22065050a500b9064"
|
|
62
|
+
}
|
|
69
63
|
}
|
package/src/avaAssertXS.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* global globalThis */
|
|
2
|
+
/* eslint-disable no-await-in-loop, @jessie.js/no-nested-await -- test code */
|
|
2
3
|
/** global print */
|
|
3
4
|
|
|
4
5
|
const { assign, freeze, keys } = Object;
|
|
@@ -299,7 +300,6 @@ function makeTester(htest, out) {
|
|
|
299
300
|
expectation,
|
|
300
301
|
message = `should reject like ${expectation}`,
|
|
301
302
|
) {
|
|
302
|
-
await null;
|
|
303
303
|
try {
|
|
304
304
|
await (typeof thrower === 'function' ? thrower() : thrower);
|
|
305
305
|
assert(false, message);
|
|
@@ -310,7 +310,6 @@ function makeTester(htest, out) {
|
|
|
310
310
|
},
|
|
311
311
|
/** @type {(thrower: () => Promise<unknown>, message?: string) => Promise<void> } */
|
|
312
312
|
async notThrowsAsync(nonThrower, message) {
|
|
313
|
-
await null;
|
|
314
313
|
try {
|
|
315
314
|
await (typeof nonThrower === 'function' ? nonThrower() : nonThrower);
|
|
316
315
|
} catch (ex) {
|
|
@@ -336,7 +335,6 @@ const test = (label, run, htestOpt) => {
|
|
|
336
335
|
htest.queue(label, async () => {
|
|
337
336
|
const out = tapFormat(htest.send);
|
|
338
337
|
const t = makeTester(htest, out);
|
|
339
|
-
await null;
|
|
340
338
|
try {
|
|
341
339
|
// out.diagnostic('start', label);
|
|
342
340
|
await run(t);
|
package/src/avaXS.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint @typescript-eslint/no-floating-promises: "warn" */
|
|
2
1
|
/* avaXS - ava style test runner for XS
|
|
3
2
|
|
|
4
3
|
Usage:
|
|
@@ -7,6 +6,7 @@ Usage:
|
|
|
7
6
|
|
|
8
7
|
*/
|
|
9
8
|
|
|
9
|
+
/* eslint-disable no-await-in-loop, @jessie.js/no-nested-await -- test code */
|
|
10
10
|
import '@endo/init';
|
|
11
11
|
|
|
12
12
|
import fs from 'fs';
|
|
@@ -129,7 +129,6 @@ async function runTestScript(
|
|
|
129
129
|
testNames = msg.testNames;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
await null;
|
|
133
132
|
if ('bundleSource' in msg) {
|
|
134
133
|
const [startFilename, ...rest] = msg.bundleSource;
|
|
135
134
|
// see also makeBundleResolve() below
|
|
@@ -245,7 +244,6 @@ async function avaConfig(args, options, { glob, readFile }) {
|
|
|
245
244
|
let debug = false;
|
|
246
245
|
let verbose = false;
|
|
247
246
|
let titleMatch;
|
|
248
|
-
await null;
|
|
249
247
|
while (args.length > 0) {
|
|
250
248
|
const arg = args.shift();
|
|
251
249
|
assert.typeof(arg, 'string');
|
package/src/build.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/* global process */
|
|
3
|
+
/* eslint-disable @jessie.js/no-nested-await -- test/build code */
|
|
3
4
|
import * as childProcessTop from 'child_process';
|
|
4
5
|
import fsTop from 'fs';
|
|
5
6
|
import osTop from 'os';
|
|
@@ -175,13 +176,13 @@ async function main(args, { env, stdout, spawn, fs, os }) {
|
|
|
175
176
|
},
|
|
176
177
|
];
|
|
177
178
|
|
|
178
|
-
await null;
|
|
179
179
|
if (args.includes('--show-env')) {
|
|
180
180
|
for (const submodule of submodules) {
|
|
181
181
|
const { path, envPrefix, commitHash } = submodule;
|
|
182
182
|
if (!commitHash) {
|
|
183
183
|
// We need to glean the commitHash and url from Git.
|
|
184
184
|
const sm = makeSubmodule(path, '?', { git });
|
|
185
|
+
// eslint-disable-next-line no-await-in-loop
|
|
185
186
|
const [[{ hash }], url] = await Promise.all([
|
|
186
187
|
sm.status(),
|
|
187
188
|
sm.config('url'),
|
|
@@ -207,10 +208,13 @@ async function main(args, { env, stdout, spawn, fs, os }) {
|
|
|
207
208
|
// ignore
|
|
208
209
|
}
|
|
209
210
|
if (!fs.existsSync(submodule.path)) {
|
|
211
|
+
// eslint-disable-next-line no-await-in-loop
|
|
210
212
|
await submodule.clone();
|
|
211
213
|
}
|
|
214
|
+
// eslint-disable-next-line no-await-in-loop
|
|
212
215
|
await submodule.checkout(commitHash);
|
|
213
216
|
} else {
|
|
217
|
+
// eslint-disable-next-line no-await-in-loop
|
|
214
218
|
await submodule.init();
|
|
215
219
|
}
|
|
216
220
|
}
|
|
@@ -225,6 +229,7 @@ async function main(args, { env, stdout, spawn, fs, os }) {
|
|
|
225
229
|
|
|
226
230
|
const make = makeCLI(platform.make || 'make', { spawn });
|
|
227
231
|
for (const goal of ModdableSDK.buildGoals) {
|
|
232
|
+
// eslint-disable-next-line no-await-in-loop
|
|
228
233
|
await make.run(
|
|
229
234
|
[
|
|
230
235
|
`MODDABLE=${ModdableSDK.MODDABLE}`,
|
|
@@ -241,28 +246,19 @@ async function main(args, { env, stdout, spawn, fs, os }) {
|
|
|
241
246
|
}
|
|
242
247
|
}
|
|
243
248
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
rmdirSync: fsTop.rmdirSync,
|
|
253
|
-
},
|
|
254
|
-
os: {
|
|
255
|
-
type: osTop.type,
|
|
256
|
-
},
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
process.exitCode = 1;
|
|
260
|
-
run().then(
|
|
261
|
-
() => {
|
|
262
|
-
process.exitCode = 0;
|
|
249
|
+
main(process.argv.slice(2), {
|
|
250
|
+
env: { ...process.env },
|
|
251
|
+
stdout: process.stdout,
|
|
252
|
+
spawn: childProcessTop.spawn,
|
|
253
|
+
fs: {
|
|
254
|
+
readFile: fsTop.promises.readFile,
|
|
255
|
+
existsSync: fsTop.existsSync,
|
|
256
|
+
rmdirSync: fsTop.rmdirSync,
|
|
263
257
|
},
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
process.exit(process.exitCode || 1);
|
|
258
|
+
os: {
|
|
259
|
+
type: osTop.type,
|
|
267
260
|
},
|
|
268
|
-
)
|
|
261
|
+
}).catch(e => {
|
|
262
|
+
console.error(e);
|
|
263
|
+
process.exit(1);
|
|
264
|
+
});
|
package/src/replay.js
CHANGED
|
@@ -227,12 +227,14 @@ export async function replayXSnap(
|
|
|
227
227
|
const seq = parseInt(digits, 10);
|
|
228
228
|
console.log(folder, seq, kind);
|
|
229
229
|
if (running && !['command', 'reply'].includes(kind)) {
|
|
230
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
230
231
|
await running;
|
|
231
232
|
running = undefined;
|
|
232
233
|
}
|
|
233
234
|
const file = rd.file(step);
|
|
234
235
|
switch (kind) {
|
|
235
236
|
case 'isReady':
|
|
237
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
236
238
|
await it.isReady();
|
|
237
239
|
break;
|
|
238
240
|
case 'evaluate':
|
|
@@ -252,6 +254,7 @@ export async function replayXSnap(
|
|
|
252
254
|
console.log(folder, step, 'ignoring remaining steps from', folder);
|
|
253
255
|
return;
|
|
254
256
|
} else {
|
|
257
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
255
258
|
await (async () => {
|
|
256
259
|
const snapshotPath = file.getText();
|
|
257
260
|
const snapFile = await opts.fs.open(snapshotPath, 'w');
|
package/src/xsnap.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/* global process */
|
|
2
|
-
/* eslint @typescript-eslint/no-floating-promises: "warn" */
|
|
3
2
|
/* eslint no-await-in-loop: ["off"] */
|
|
4
3
|
|
|
5
4
|
/**
|
|
@@ -120,13 +119,17 @@ export async function xsnap(options) {
|
|
|
120
119
|
const cleanup = async () => fs.unlink(snapPath);
|
|
121
120
|
|
|
122
121
|
try {
|
|
122
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
123
123
|
const tmpSnap = await fs.open(snapPath, 'w');
|
|
124
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
124
125
|
await tmpSnap.writeFile(
|
|
125
126
|
// @ts-expect-error incorrect typings, does support AsyncIterable
|
|
126
127
|
snapshotStream,
|
|
127
128
|
);
|
|
129
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
128
130
|
await tmpSnap.close();
|
|
129
131
|
} catch (e) {
|
|
132
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
130
133
|
await cleanup();
|
|
131
134
|
throw e;
|
|
132
135
|
}
|
|
@@ -152,7 +155,7 @@ export async function xsnap(options) {
|
|
|
152
155
|
sourceStream.pipe(destStream, { end: false });
|
|
153
156
|
|
|
154
157
|
done = finished(sourceStream);
|
|
155
|
-
|
|
158
|
+
done.catch(noop).then(() => sourceStream.unpipe(destStream));
|
|
156
159
|
};
|
|
157
160
|
|
|
158
161
|
return harden({
|
|
@@ -258,7 +261,7 @@ export async function xsnap(options) {
|
|
|
258
261
|
await loadSnapshotHandler?.afterSpawn(snapshotLoadStream);
|
|
259
262
|
|
|
260
263
|
if (loadSnapshotHandler) {
|
|
261
|
-
|
|
264
|
+
vatExit.promise.catch(noop).then(() => {
|
|
262
265
|
if (loadSnapshotHandler) {
|
|
263
266
|
const { cleanup } = loadSnapshotHandler;
|
|
264
267
|
loadSnapshotHandler = undefined;
|
|
@@ -286,6 +289,7 @@ export async function xsnap(options) {
|
|
|
286
289
|
if (loadSnapshotHandler) {
|
|
287
290
|
const { cleanup } = loadSnapshotHandler;
|
|
288
291
|
loadSnapshotHandler = undefined;
|
|
292
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
289
293
|
await cleanup();
|
|
290
294
|
}
|
|
291
295
|
if (iteration.done) {
|
|
@@ -324,7 +328,9 @@ export async function xsnap(options) {
|
|
|
324
328
|
)}`,
|
|
325
329
|
);
|
|
326
330
|
} else if (message[0] === QUERY) {
|
|
331
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
327
332
|
const commandResult = await handleCommand(message.subarray(1));
|
|
333
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
328
334
|
await messagesToXsnap.next([QUERY_RESPONSE_BUF, commandResult]);
|
|
329
335
|
} else {
|
|
330
336
|
// unrecognized responses also kill the process
|
|
@@ -423,7 +429,6 @@ export async function xsnap(options) {
|
|
|
423
429
|
let snapshotReadSize = 0;
|
|
424
430
|
/** @type {number | undefined} */
|
|
425
431
|
let snapshotSize;
|
|
426
|
-
await null;
|
|
427
432
|
try {
|
|
428
433
|
/** @type {string} */
|
|
429
434
|
let snapPath;
|
|
@@ -439,6 +444,7 @@ export async function xsnap(options) {
|
|
|
439
444
|
|
|
440
445
|
if (snapshotUseFs) {
|
|
441
446
|
// TODO: Refactor to use tmpFile rather than tmpName.
|
|
447
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
442
448
|
snapPath = await ptmpName({
|
|
443
449
|
template: `make-snapshot-${safeHintFromDescription(
|
|
444
450
|
description,
|
|
@@ -455,16 +461,14 @@ export async function xsnap(options) {
|
|
|
455
461
|
// then wait for the command response to pipe the file stream into the
|
|
456
462
|
// output, causing the file read to begin.
|
|
457
463
|
|
|
464
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
458
465
|
const handle = await fs.open(snapPath, 'w+');
|
|
459
466
|
// @ts-expect-error 'close' event added in Node 15.4
|
|
460
467
|
handle.on('close', () => {
|
|
461
|
-
|
|
462
|
-
void fs.unlink(snapPath);
|
|
468
|
+
fs.unlink(snapPath);
|
|
463
469
|
});
|
|
464
470
|
sourceStream = handle.createReadStream();
|
|
465
|
-
finished(output)
|
|
466
|
-
.finally(() => sourceStream.destroy())
|
|
467
|
-
.catch(noop);
|
|
471
|
+
finished(output).finally(() => sourceStream.destroy());
|
|
468
472
|
} else {
|
|
469
473
|
sourceStream = snapshotSaveStream;
|
|
470
474
|
snapPath = `@${SNAPSHOT_SAVE_FD}`;
|
|
@@ -473,7 +477,7 @@ export async function xsnap(options) {
|
|
|
473
477
|
// ensuring that any previous save stream usage has ended. However we
|
|
474
478
|
// must start the flow before receiving the command's response or the
|
|
475
479
|
// xsnap process would block on a full pipe, causing an IPC deadlock.
|
|
476
|
-
batonKit.promise.then(maybePipe
|
|
480
|
+
batonKit.promise.then(maybePipe);
|
|
477
481
|
}
|
|
478
482
|
|
|
479
483
|
const cleanup = () => {
|
|
@@ -518,6 +522,7 @@ export async function xsnap(options) {
|
|
|
518
522
|
|
|
519
523
|
yield* output;
|
|
520
524
|
} finally {
|
|
525
|
+
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
521
526
|
await done;
|
|
522
527
|
(piped && snapshotReadSize === snapshotSize) ||
|
|
523
528
|
Fail`Snapshot size does not match. saved=${q(snapshotSize)}, read=${q(
|
package/src/xsrepl.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/* eslint @typescript-eslint/no-floating-promises: "warn" */
|
|
2
1
|
/* global process */
|
|
3
2
|
/* We make exceptions for test code. This is a test utility. */
|
|
3
|
+
/* eslint-disable @jessie.js/no-nested-await */
|
|
4
4
|
/* eslint no-await-in-loop: ["off"] */
|
|
5
5
|
|
|
6
6
|
import '@endo/init';
|
|
@@ -97,4 +97,4 @@ async function main() {
|
|
|
97
97
|
return vat.close();
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
|
|
100
|
+
main();
|
package/LICENSE
DELETED
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
Apache License
|
|
2
|
-
Version 2.0, January 2004
|
|
3
|
-
http://www.apache.org/licenses/
|
|
4
|
-
|
|
5
|
-
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
-
|
|
7
|
-
1. Definitions.
|
|
8
|
-
|
|
9
|
-
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
-
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
-
|
|
12
|
-
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
-
the copyright owner that is granting the License.
|
|
14
|
-
|
|
15
|
-
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
-
other entities that control, are controlled by, or are under common
|
|
17
|
-
control with that entity. For the purposes of this definition,
|
|
18
|
-
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
-
direction or management of such entity, whether by contract or
|
|
20
|
-
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
-
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
-
|
|
23
|
-
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
-
exercising permissions granted by this License.
|
|
25
|
-
|
|
26
|
-
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
-
including but not limited to software source code, documentation
|
|
28
|
-
source, and configuration files.
|
|
29
|
-
|
|
30
|
-
"Object" form shall mean any form resulting from mechanical
|
|
31
|
-
transformation or translation of a Source form, including but
|
|
32
|
-
not limited to compiled object code, generated documentation,
|
|
33
|
-
and conversions to other media types.
|
|
34
|
-
|
|
35
|
-
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
-
Object form, made available under the License, as indicated by a
|
|
37
|
-
copyright notice that is included in or attached to the work
|
|
38
|
-
(an example is provided in the Appendix below).
|
|
39
|
-
|
|
40
|
-
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
-
form, that is based on (or derived from) the Work and for which the
|
|
42
|
-
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
-
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
-
of this License, Derivative Works shall not include works that remain
|
|
45
|
-
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
-
the Work and Derivative Works thereof.
|
|
47
|
-
|
|
48
|
-
"Contribution" shall mean any work of authorship, including
|
|
49
|
-
the original version of the Work and any modifications or additions
|
|
50
|
-
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
-
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
52
|
-
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
-
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
-
means any form of electronic, verbal, or written communication sent
|
|
55
|
-
to the Licensor or its representatives, including but not limited to
|
|
56
|
-
communication on electronic mailing lists, source code control systems,
|
|
57
|
-
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
-
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
-
excluding communication that is conspicuously marked or otherwise
|
|
60
|
-
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
-
|
|
62
|
-
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
-
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
-
subsequently incorporated within the Work.
|
|
65
|
-
|
|
66
|
-
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
-
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
-
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
-
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
-
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
-
Work and such Derivative Works in Source or Object form.
|
|
72
|
-
|
|
73
|
-
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
-
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
-
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
-
(except as stated in this section) patent license to make, have made,
|
|
77
|
-
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
-
where such license applies only to those patent claims licensable
|
|
79
|
-
by such Contributor that are necessarily infringed by their
|
|
80
|
-
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
-
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
-
institute patent litigation against any entity (including a
|
|
83
|
-
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
-
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
-
or contributory patent infringement, then any patent licenses
|
|
86
|
-
granted to You under this License for that Work shall terminate
|
|
87
|
-
as of the date such litigation is filed.
|
|
88
|
-
|
|
89
|
-
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
-
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
-
modifications, and in Source or Object form, provided that You
|
|
92
|
-
meet the following conditions:
|
|
93
|
-
|
|
94
|
-
(a) You must give any other recipients of the Work or
|
|
95
|
-
Derivative Works a copy of this License; and
|
|
96
|
-
|
|
97
|
-
(b) You must cause any modified files to carry prominent notices
|
|
98
|
-
stating that You changed the files; and
|
|
99
|
-
|
|
100
|
-
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
-
that You distribute, all copyright, patent, trademark, and
|
|
102
|
-
attribution notices from the Source form of the Work,
|
|
103
|
-
excluding those notices that do not pertain to any part of
|
|
104
|
-
the Derivative Works; and
|
|
105
|
-
|
|
106
|
-
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
-
distribution, then any Derivative Works that You distribute must
|
|
108
|
-
include a readable copy of the attribution notices contained
|
|
109
|
-
within such NOTICE file, excluding those notices that do not
|
|
110
|
-
pertain to any part of the Derivative Works, in at least one
|
|
111
|
-
of the following places: within a NOTICE text file distributed
|
|
112
|
-
as part of the Derivative Works; within the Source form or
|
|
113
|
-
documentation, if provided along with the Derivative Works; or,
|
|
114
|
-
within a display generated by the Derivative Works, if and
|
|
115
|
-
wherever such third-party notices normally appear. The contents
|
|
116
|
-
of the NOTICE file are for informational purposes only and
|
|
117
|
-
do not modify the License. You may add Your own attribution
|
|
118
|
-
notices within Derivative Works that You distribute, alongside
|
|
119
|
-
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
-
that such additional attribution notices cannot be construed
|
|
121
|
-
as modifying the License.
|
|
122
|
-
|
|
123
|
-
You may add Your own copyright statement to Your modifications and
|
|
124
|
-
may provide additional or different license terms and conditions
|
|
125
|
-
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
-
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
-
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
-
the conditions stated in this License.
|
|
129
|
-
|
|
130
|
-
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
-
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
-
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
-
this License, without any additional terms or conditions.
|
|
134
|
-
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
-
the terms of any separate license agreement you may have executed
|
|
136
|
-
with Licensor regarding such Contributions.
|
|
137
|
-
|
|
138
|
-
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
-
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
-
except as required for reasonable and customary use in describing the
|
|
141
|
-
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
-
|
|
143
|
-
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
-
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
-
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
-
implied, including, without limitation, any warranties or conditions
|
|
148
|
-
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
-
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
-
appropriateness of using or redistributing the Work and assume any
|
|
151
|
-
risks associated with Your exercise of permissions under this License.
|
|
152
|
-
|
|
153
|
-
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
-
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
-
unless required by applicable law (such as deliberate and grossly
|
|
156
|
-
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
-
liable to You for damages, including any direct, indirect, special,
|
|
158
|
-
incidental, or consequential damages of any character arising as a
|
|
159
|
-
result of this License or out of the use or inability to use the
|
|
160
|
-
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
-
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
-
other commercial damages or losses), even if such Contributor
|
|
163
|
-
has been advised of the possibility of such damages.
|
|
164
|
-
|
|
165
|
-
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
-
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
-
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
-
or other liability obligations and/or rights consistent with this
|
|
169
|
-
License. However, in accepting such obligations, You may act only
|
|
170
|
-
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
-
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
-
defend, and hold each Contributor harmless for any liability
|
|
173
|
-
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
-
of your accepting any such warranty or additional liability.
|
|
175
|
-
|
|
176
|
-
END OF TERMS AND CONDITIONS
|
|
177
|
-
|
|
178
|
-
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
-
|
|
180
|
-
To apply the Apache License to your work, attach the following
|
|
181
|
-
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
182
|
-
replaced with your own identifying information. (Don't include
|
|
183
|
-
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
-
comment syntax for the file format. We also recommend that a
|
|
185
|
-
file or class name and description of purpose be included on the
|
|
186
|
-
same "printed page" as the copyright notice for easier
|
|
187
|
-
identification within third-party archives.
|
|
188
|
-
|
|
189
|
-
Copyright [yyyy] [name of copyright owner]
|
|
190
|
-
|
|
191
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
-
you may not use this file except in compliance with the License.
|
|
193
|
-
You may obtain a copy of the License at
|
|
194
|
-
|
|
195
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
-
|
|
197
|
-
Unless required by applicable law or agreed to in writing, software
|
|
198
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
-
See the License for the specific language governing permissions and
|
|
201
|
-
limitations under the License.
|
package/build.env
DELETED