@agoric/xsnap 0.14.3-u14.0 → 0.14.3-u16.0

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.
Files changed (137) hide show
  1. package/README.md +3 -3
  2. package/api.js +4 -2
  3. package/build.env +1 -1
  4. package/moddable/modules/data/base64/base64.js +28 -0
  5. package/moddable/modules/data/base64/manifest.json +11 -0
  6. package/moddable/modules/data/base64/modBase64.c +188 -0
  7. package/moddable/modules/data/binaryMessage/BinaryMessage.js +106 -0
  8. package/moddable/modules/data/crc/crc.c +205 -0
  9. package/moddable/modules/data/crc/crc.js +36 -0
  10. package/moddable/modules/data/crc/manifest.json +8 -0
  11. package/moddable/modules/data/hex/hex.js +28 -0
  12. package/moddable/modules/data/hex/manifest.json +11 -0
  13. package/moddable/modules/data/hex/modHex.c +139 -0
  14. package/moddable/modules/data/logical/logical.js +32 -0
  15. package/moddable/modules/data/logical/modLogical.c +98 -0
  16. package/moddable/modules/data/qrcode/manifest.json +9 -0
  17. package/moddable/modules/data/qrcode/qrcode.c +93 -0
  18. package/moddable/modules/data/qrcode/qrcode.js +23 -0
  19. package/moddable/modules/data/qrcode/qrcodegen.c +1025 -0
  20. package/moddable/modules/data/qrcode/qrcodegen.h +267 -0
  21. package/moddable/modules/data/text/decoder/manifest.json +8 -0
  22. package/moddable/modules/data/text/decoder/textdecoder.c +480 -0
  23. package/moddable/modules/data/text/decoder/textdecoder.js +27 -0
  24. package/moddable/modules/data/text/encoder/manifest.json +8 -0
  25. package/moddable/modules/data/text/encoder/textencoder.c +232 -0
  26. package/moddable/modules/data/text/encoder/textencoder.js +24 -0
  27. package/moddable/modules/data/tinyint/tinyint.c +150 -0
  28. package/moddable/modules/data/tinyint/tinyint.js +53 -0
  29. package/moddable/modules/data/url/manifest.json +17 -0
  30. package/moddable/modules/data/url/url.c +1959 -0
  31. package/moddable/modules/data/url/url.js +210 -0
  32. package/moddable/modules/data/wavreader/manifest.json +8 -0
  33. package/moddable/modules/data/wavreader/wavreader.js +128 -0
  34. package/moddable/modules/data/zlib/deflate.c +161 -0
  35. package/moddable/modules/data/zlib/deflate.js +63 -0
  36. package/moddable/modules/data/zlib/inflate.c +145 -0
  37. package/moddable/modules/data/zlib/inflate.js +66 -0
  38. package/moddable/modules/data/zlib/manifest_deflate.json +9 -0
  39. package/moddable/modules/data/zlib/manifest_inflate.json +9 -0
  40. package/moddable/modules/data/zlib/miniz.c +4924 -0
  41. package/moddable/xs/includes/xs.d.ts +73 -0
  42. package/moddable/xs/includes/xs.h +1533 -0
  43. package/moddable/xs/includes/xsmc.h +206 -0
  44. package/moddable/xs/makefiles/lin/makefile +33 -0
  45. package/moddable/xs/makefiles/lin/xsc.mk +118 -0
  46. package/moddable/xs/makefiles/lin/xsid.mk +90 -0
  47. package/moddable/xs/makefiles/lin/xsl.mk +168 -0
  48. package/moddable/xs/makefiles/lin/xst.mk +201 -0
  49. package/moddable/xs/makefiles/mac/makefile +33 -0
  50. package/moddable/xs/makefiles/mac/xsc.mk +130 -0
  51. package/moddable/xs/makefiles/mac/xsid.mk +102 -0
  52. package/moddable/xs/makefiles/mac/xsl.mk +177 -0
  53. package/moddable/xs/makefiles/mac/xst.mk +203 -0
  54. package/moddable/xs/makefiles/mac/xst_no_asan.txt +52 -0
  55. package/moddable/xs/makefiles/win/build.bat +26 -0
  56. package/moddable/xs/makefiles/win/xsc.mak +142 -0
  57. package/moddable/xs/makefiles/win/xsid.mak +113 -0
  58. package/moddable/xs/makefiles/win/xsl.mak +186 -0
  59. package/moddable/xs/makefiles/win/xst.mak +195 -0
  60. package/moddable/xs/platforms/lin_xs.h +99 -0
  61. package/moddable/xs/platforms/mac_xs.h +97 -0
  62. package/moddable/xs/platforms/wasm_xs.h +79 -0
  63. package/moddable/xs/platforms/win_xs.h +104 -0
  64. package/moddable/xs/platforms/xsHost.h +63 -0
  65. package/moddable/xs/platforms/xsPlatform.h +618 -0
  66. package/moddable/xs/sources/xsAPI.c +2555 -0
  67. package/moddable/xs/sources/xsAll.c +294 -0
  68. package/moddable/xs/sources/xsAll.h +2741 -0
  69. package/moddable/xs/sources/xsArguments.c +222 -0
  70. package/moddable/xs/sources/xsArray.c +2657 -0
  71. package/moddable/xs/sources/xsAtomics.c +844 -0
  72. package/moddable/xs/sources/xsBigInt.c +1859 -0
  73. package/moddable/xs/sources/xsBoolean.c +109 -0
  74. package/moddable/xs/sources/xsCode.c +4493 -0
  75. package/moddable/xs/sources/xsCommon.c +1710 -0
  76. package/moddable/xs/sources/xsCommon.h +1142 -0
  77. package/moddable/xs/sources/xsDataView.c +2890 -0
  78. package/moddable/xs/sources/xsDate.c +1541 -0
  79. package/moddable/xs/sources/xsDebug.c +2710 -0
  80. package/moddable/xs/sources/xsDefaults.c +134 -0
  81. package/moddable/xs/sources/xsError.c +353 -0
  82. package/moddable/xs/sources/xsFunction.c +776 -0
  83. package/moddable/xs/sources/xsGenerator.c +865 -0
  84. package/moddable/xs/sources/xsGlobal.c +839 -0
  85. package/moddable/xs/sources/xsJSON.c +1091 -0
  86. package/moddable/xs/sources/xsLexical.c +1969 -0
  87. package/moddable/xs/sources/xsLockdown.c +933 -0
  88. package/moddable/xs/sources/xsMapSet.c +1649 -0
  89. package/moddable/xs/sources/xsMarshall.c +1020 -0
  90. package/moddable/xs/sources/xsMath.c +624 -0
  91. package/moddable/xs/sources/xsMemory.c +1941 -0
  92. package/moddable/xs/sources/xsModule.c +3101 -0
  93. package/moddable/xs/sources/xsNumber.c +560 -0
  94. package/moddable/xs/sources/xsObject.c +1102 -0
  95. package/moddable/xs/sources/xsPlatforms.c +480 -0
  96. package/moddable/xs/sources/xsProfile.c +577 -0
  97. package/moddable/xs/sources/xsPromise.c +1199 -0
  98. package/moddable/xs/sources/xsProperty.c +636 -0
  99. package/moddable/xs/sources/xsProxy.c +1014 -0
  100. package/moddable/xs/sources/xsRegExp.c +1168 -0
  101. package/moddable/xs/sources/xsRun.c +4889 -0
  102. package/moddable/xs/sources/xsScope.c +1293 -0
  103. package/moddable/xs/sources/xsScript.c +288 -0
  104. package/moddable/xs/sources/xsScript.h +1186 -0
  105. package/moddable/xs/sources/xsSnapshot.c +2161 -0
  106. package/moddable/xs/sources/xsSnapshot.h +51 -0
  107. package/moddable/xs/sources/xsSourceMap.c +218 -0
  108. package/moddable/xs/sources/xsString.c +3332 -0
  109. package/moddable/xs/sources/xsSymbol.c +503 -0
  110. package/moddable/xs/sources/xsSyntaxical.c +4193 -0
  111. package/moddable/xs/sources/xsTree.c +1893 -0
  112. package/moddable/xs/sources/xsType.c +1488 -0
  113. package/moddable/xs/sources/xsdtoa.c +6672 -0
  114. package/moddable/xs/sources/xsmc.c +340 -0
  115. package/moddable/xs/sources/xsre.c +7578 -0
  116. package/package.json +37 -20
  117. package/scripts/get_xsnap_version.sh +14 -0
  118. package/scripts/test-package.sh +21 -0
  119. package/src/avaAssertXS.js +6 -2
  120. package/src/avaHandler.cjs +2 -5
  121. package/src/avaXS.js +7 -8
  122. package/src/build.js +161 -28
  123. package/src/replay.js +0 -3
  124. package/src/xsnap.js +105 -91
  125. package/src/xsrepl.js +2 -3
  126. package/xsnap-native/xsnap/makefiles/lin/makefile +10 -0
  127. package/xsnap-native/xsnap/makefiles/lin/xsnap-worker.mk +156 -0
  128. package/xsnap-native/xsnap/makefiles/lin/xsnap.mk +144 -0
  129. package/xsnap-native/xsnap/makefiles/mac/makefile +10 -0
  130. package/xsnap-native/xsnap/makefiles/mac/xsnap-worker.mk +165 -0
  131. package/xsnap-native/xsnap/makefiles/mac/xsnap.mk +153 -0
  132. package/xsnap-native/xsnap/sources/xsnap-worker.c +1008 -0
  133. package/xsnap-native/xsnap/sources/xsnap.c +717 -0
  134. package/xsnap-native/xsnap/sources/xsnap.h +142 -0
  135. package/xsnap-native/xsnap/sources/xsnapPlatform.c +1501 -0
  136. package/xsnap-native/xsnap/sources/xsnapPlatform.h +105 -0
  137. package/CHANGELOG.md +0 -654
@@ -0,0 +1,142 @@
1
+ #ifndef __XSNAP__
2
+ #define __XSNAP__
3
+
4
+ #include "xs.h"
5
+
6
+ typedef struct xsSnapshotRecord xsSnapshot;
7
+
8
+ struct xsSnapshotRecord {
9
+ char* signature;
10
+ int signatureLength;
11
+ xsCallback* callbacks;
12
+ int callbacksLength;
13
+ int (*read)(void* stream, void* address, size_t size);
14
+ int (*write)(void* stream, void* address, size_t size);
15
+ void* stream;
16
+ int error;
17
+ void* firstChunk;
18
+ void* firstProjection;
19
+ void* firstSlot;
20
+ int slotSize;
21
+ void* slots;
22
+ };
23
+
24
+ #define xsInitializeSharedCluster() \
25
+ fxInitializeSharedCluster()
26
+ #define xsTerminateSharedCluster() \
27
+ fxTerminateSharedCluster()
28
+
29
+ #ifdef mxMetering
30
+
31
+ #define xsBeginMetering(_THE, _CALLBACK, _STEP) \
32
+ do { \
33
+ xsJump __HOST_JUMP__; \
34
+ __HOST_JUMP__.nextJump = (_THE)->firstJump; \
35
+ __HOST_JUMP__.stack = (_THE)->stack; \
36
+ __HOST_JUMP__.scope = (_THE)->scope; \
37
+ __HOST_JUMP__.frame = (_THE)->frame; \
38
+ __HOST_JUMP__.environment = NULL; \
39
+ __HOST_JUMP__.code = (_THE)->code; \
40
+ __HOST_JUMP__.flag = 0; \
41
+ (_THE)->firstJump = &__HOST_JUMP__; \
42
+ if (setjmp(__HOST_JUMP__.buffer) == 0) { \
43
+ fxBeginMetering(_THE, _CALLBACK, _STEP)
44
+
45
+ #define xsEndMetering(_THE) \
46
+ fxEndMetering(_THE); \
47
+ } \
48
+ (_THE)->stack = __HOST_JUMP__.stack, \
49
+ (_THE)->scope = __HOST_JUMP__.scope, \
50
+ (_THE)->frame = __HOST_JUMP__.frame, \
51
+ (_THE)->code = __HOST_JUMP__.code, \
52
+ (_THE)->firstJump = __HOST_JUMP__.nextJump; \
53
+ break; \
54
+ } while(1)
55
+
56
+ #define xsGetCurrentMeter(_THE) \
57
+ fxGetCurrentMeter(_THE)
58
+ #define xsSetCurrentMeter(_THE, _VALUE) \
59
+ fxSetCurrentMeter(_THE, _VALUE)
60
+
61
+ #else
62
+ #define xsBeginMetering(_THE, _CALLBACK, _STEP)
63
+ #define xsEndMetering(_THE)
64
+ #define xsPatchHostFunction(_FUNCTION,_PATCH)
65
+ #define xsMeterHostFunction(_COUNT) (void)(_COUNT)
66
+ #define xsGetCurrentMeter(_THE) 0
67
+ #define xsSetCurrentMeter(_THE, _VALUE)
68
+ #endif
69
+
70
+ #define xsReadSnapshot(_SNAPSHOT, _NAME, _CONTEXT) \
71
+ fxReadSnapshot(_SNAPSHOT, _NAME, _CONTEXT)
72
+ #define xsWriteSnapshot(_THE, _SNAPSHOT) \
73
+ fxWriteSnapshot(_THE, _SNAPSHOT)
74
+
75
+ #define xsRunDebugger(_THE) \
76
+ fxRunDebugger(_THE)
77
+ #define xsRunModuleFile(_PATH) \
78
+ fxRunModuleFile(the, _PATH)
79
+ #define xsRunProgramFile(_PATH) \
80
+ fxRunProgramFile(the, _PATH)
81
+ #define xsRunLoop(_THE) \
82
+ fxRunLoop(_THE)
83
+
84
+ #define xsClearTimer() \
85
+ fxClearTimer(the)
86
+ #define xsSetTimer(_INTERVAL, _REPEAT) \
87
+ fxSetTimer(the, _INTERVAL, _REPEAT)
88
+
89
+ #define xsVersion(_BUFFER, _SIZE) \
90
+ fxVersion(_BUFFER, _SIZE)
91
+
92
+ #ifdef mxInstrument
93
+ #define xsDescribeInstrumentation(_THE,_COUNT,_NAMES,_UNITS) \
94
+ fxDescribeInstrumentation(_THE,_COUNT,_NAMES,_UNITS)
95
+ #define xsSampleInstrumentation(_THE,_COUNT,_VALUES) \
96
+ fxSampleInstrumentation(_THE,_COUNT,_VALUES)
97
+ #endif
98
+
99
+ #ifdef __cplusplus
100
+ extern "C" {
101
+ #endif
102
+
103
+ extern void fxInitializeSharedCluster();
104
+ extern void fxTerminateSharedCluster();
105
+
106
+ #ifdef mxMetering
107
+ mxImport void fxBeginMetering(xsMachine* the, xsBooleanValue (*callback)(xsMachine*, xsUnsignedValue), xsUnsignedValue interval);
108
+ mxImport void fxEndMetering(xsMachine* the);
109
+ mxImport void fxMeterHostFunction(xsMachine* the, xsUnsignedValue count);
110
+ mxImport void fxPatchHostFunction(xsMachine* the, xsCallback patch);
111
+ mxImport xsUnsignedValue fxGetCurrentMeter(xsMachine* the);
112
+ mxImport void fxSetCurrentMeter(xsMachine* the, xsUnsignedValue value);
113
+ #endif
114
+
115
+ mxImport xsMachine* fxReadSnapshot(xsSnapshot* snapshot, xsStringValue theName, void* theContext);
116
+ mxImport int fxWriteSnapshot(xsMachine* the, xsSnapshot* snapshot);
117
+
118
+ mxImport void fxRunDebugger(xsMachine* the);
119
+ mxImport void fxRunModuleFile(xsMachine* the, xsStringValue path);
120
+ mxImport void fxRunProgramFile(xsMachine* the, xsStringValue path);
121
+ mxImport void fxRunLoop(xsMachine* the);
122
+
123
+ mxImport void fxClearTimer(xsMachine* the);
124
+ mxImport void fxSetTimer(xsMachine* the, xsNumberValue interval, xsBooleanValue repeat);
125
+
126
+ #ifdef mxInstrument
127
+ mxImport void fxDescribeInstrumentation(xsMachine* the, xsIntegerValue count, xsStringValue* names, xsStringValue* units);
128
+ mxImport void fxSampleInstrumentation(xsMachine* the, xsIntegerValue count, xsIntegerValue* values);
129
+ #endif
130
+
131
+ mxImport void fxVersion(xsStringValue theBuffer, xsUnsignedValue theSize);
132
+
133
+ mxImport void fx_lockdown(xsMachine* the);
134
+ mxImport void fx_harden(xsMachine* the);
135
+ mxImport void fx_petrify(xsMachine* the);
136
+ mxImport void fx_mutabilities(xsMachine* the);
137
+
138
+ #ifdef __cplusplus
139
+ }
140
+ #endif
141
+
142
+ #endif /* __XSNAP__ */