@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.
- package/README.md +3 -3
- package/api.js +4 -2
- package/build.env +1 -1
- package/moddable/modules/data/base64/base64.js +28 -0
- package/moddable/modules/data/base64/manifest.json +11 -0
- package/moddable/modules/data/base64/modBase64.c +188 -0
- package/moddable/modules/data/binaryMessage/BinaryMessage.js +106 -0
- package/moddable/modules/data/crc/crc.c +205 -0
- package/moddable/modules/data/crc/crc.js +36 -0
- package/moddable/modules/data/crc/manifest.json +8 -0
- package/moddable/modules/data/hex/hex.js +28 -0
- package/moddable/modules/data/hex/manifest.json +11 -0
- package/moddable/modules/data/hex/modHex.c +139 -0
- package/moddable/modules/data/logical/logical.js +32 -0
- package/moddable/modules/data/logical/modLogical.c +98 -0
- package/moddable/modules/data/qrcode/manifest.json +9 -0
- package/moddable/modules/data/qrcode/qrcode.c +93 -0
- package/moddable/modules/data/qrcode/qrcode.js +23 -0
- package/moddable/modules/data/qrcode/qrcodegen.c +1025 -0
- package/moddable/modules/data/qrcode/qrcodegen.h +267 -0
- package/moddable/modules/data/text/decoder/manifest.json +8 -0
- package/moddable/modules/data/text/decoder/textdecoder.c +480 -0
- package/moddable/modules/data/text/decoder/textdecoder.js +27 -0
- package/moddable/modules/data/text/encoder/manifest.json +8 -0
- package/moddable/modules/data/text/encoder/textencoder.c +232 -0
- package/moddable/modules/data/text/encoder/textencoder.js +24 -0
- package/moddable/modules/data/tinyint/tinyint.c +150 -0
- package/moddable/modules/data/tinyint/tinyint.js +53 -0
- package/moddable/modules/data/url/manifest.json +17 -0
- package/moddable/modules/data/url/url.c +1959 -0
- package/moddable/modules/data/url/url.js +210 -0
- package/moddable/modules/data/wavreader/manifest.json +8 -0
- package/moddable/modules/data/wavreader/wavreader.js +128 -0
- package/moddable/modules/data/zlib/deflate.c +161 -0
- package/moddable/modules/data/zlib/deflate.js +63 -0
- package/moddable/modules/data/zlib/inflate.c +145 -0
- package/moddable/modules/data/zlib/inflate.js +66 -0
- package/moddable/modules/data/zlib/manifest_deflate.json +9 -0
- package/moddable/modules/data/zlib/manifest_inflate.json +9 -0
- package/moddable/modules/data/zlib/miniz.c +4924 -0
- package/moddable/xs/includes/xs.d.ts +73 -0
- package/moddable/xs/includes/xs.h +1533 -0
- package/moddable/xs/includes/xsmc.h +206 -0
- package/moddable/xs/makefiles/lin/makefile +33 -0
- package/moddable/xs/makefiles/lin/xsc.mk +118 -0
- package/moddable/xs/makefiles/lin/xsid.mk +90 -0
- package/moddable/xs/makefiles/lin/xsl.mk +168 -0
- package/moddable/xs/makefiles/lin/xst.mk +201 -0
- package/moddable/xs/makefiles/mac/makefile +33 -0
- package/moddable/xs/makefiles/mac/xsc.mk +130 -0
- package/moddable/xs/makefiles/mac/xsid.mk +102 -0
- package/moddable/xs/makefiles/mac/xsl.mk +177 -0
- package/moddable/xs/makefiles/mac/xst.mk +203 -0
- package/moddable/xs/makefiles/mac/xst_no_asan.txt +52 -0
- package/moddable/xs/makefiles/win/build.bat +26 -0
- package/moddable/xs/makefiles/win/xsc.mak +142 -0
- package/moddable/xs/makefiles/win/xsid.mak +113 -0
- package/moddable/xs/makefiles/win/xsl.mak +186 -0
- package/moddable/xs/makefiles/win/xst.mak +195 -0
- package/moddable/xs/platforms/lin_xs.h +99 -0
- package/moddable/xs/platforms/mac_xs.h +97 -0
- package/moddable/xs/platforms/wasm_xs.h +79 -0
- package/moddable/xs/platforms/win_xs.h +104 -0
- package/moddable/xs/platforms/xsHost.h +63 -0
- package/moddable/xs/platforms/xsPlatform.h +618 -0
- package/moddable/xs/sources/xsAPI.c +2555 -0
- package/moddable/xs/sources/xsAll.c +294 -0
- package/moddable/xs/sources/xsAll.h +2741 -0
- package/moddable/xs/sources/xsArguments.c +222 -0
- package/moddable/xs/sources/xsArray.c +2657 -0
- package/moddable/xs/sources/xsAtomics.c +844 -0
- package/moddable/xs/sources/xsBigInt.c +1859 -0
- package/moddable/xs/sources/xsBoolean.c +109 -0
- package/moddable/xs/sources/xsCode.c +4493 -0
- package/moddable/xs/sources/xsCommon.c +1710 -0
- package/moddable/xs/sources/xsCommon.h +1142 -0
- package/moddable/xs/sources/xsDataView.c +2890 -0
- package/moddable/xs/sources/xsDate.c +1541 -0
- package/moddable/xs/sources/xsDebug.c +2710 -0
- package/moddable/xs/sources/xsDefaults.c +134 -0
- package/moddable/xs/sources/xsError.c +353 -0
- package/moddable/xs/sources/xsFunction.c +776 -0
- package/moddable/xs/sources/xsGenerator.c +865 -0
- package/moddable/xs/sources/xsGlobal.c +839 -0
- package/moddable/xs/sources/xsJSON.c +1091 -0
- package/moddable/xs/sources/xsLexical.c +1969 -0
- package/moddable/xs/sources/xsLockdown.c +933 -0
- package/moddable/xs/sources/xsMapSet.c +1649 -0
- package/moddable/xs/sources/xsMarshall.c +1020 -0
- package/moddable/xs/sources/xsMath.c +624 -0
- package/moddable/xs/sources/xsMemory.c +1941 -0
- package/moddable/xs/sources/xsModule.c +3101 -0
- package/moddable/xs/sources/xsNumber.c +560 -0
- package/moddable/xs/sources/xsObject.c +1102 -0
- package/moddable/xs/sources/xsPlatforms.c +480 -0
- package/moddable/xs/sources/xsProfile.c +577 -0
- package/moddable/xs/sources/xsPromise.c +1199 -0
- package/moddable/xs/sources/xsProperty.c +636 -0
- package/moddable/xs/sources/xsProxy.c +1014 -0
- package/moddable/xs/sources/xsRegExp.c +1168 -0
- package/moddable/xs/sources/xsRun.c +4889 -0
- package/moddable/xs/sources/xsScope.c +1293 -0
- package/moddable/xs/sources/xsScript.c +288 -0
- package/moddable/xs/sources/xsScript.h +1186 -0
- package/moddable/xs/sources/xsSnapshot.c +2161 -0
- package/moddable/xs/sources/xsSnapshot.h +51 -0
- package/moddable/xs/sources/xsSourceMap.c +218 -0
- package/moddable/xs/sources/xsString.c +3332 -0
- package/moddable/xs/sources/xsSymbol.c +503 -0
- package/moddable/xs/sources/xsSyntaxical.c +4193 -0
- package/moddable/xs/sources/xsTree.c +1893 -0
- package/moddable/xs/sources/xsType.c +1488 -0
- package/moddable/xs/sources/xsdtoa.c +6672 -0
- package/moddable/xs/sources/xsmc.c +340 -0
- package/moddable/xs/sources/xsre.c +7578 -0
- package/package.json +37 -20
- package/scripts/get_xsnap_version.sh +14 -0
- package/scripts/test-package.sh +21 -0
- package/src/avaAssertXS.js +6 -2
- package/src/avaHandler.cjs +2 -5
- package/src/avaXS.js +7 -8
- package/src/build.js +161 -28
- package/src/replay.js +0 -3
- package/src/xsnap.js +105 -91
- package/src/xsrepl.js +2 -3
- package/xsnap-native/xsnap/makefiles/lin/makefile +10 -0
- package/xsnap-native/xsnap/makefiles/lin/xsnap-worker.mk +156 -0
- package/xsnap-native/xsnap/makefiles/lin/xsnap.mk +144 -0
- package/xsnap-native/xsnap/makefiles/mac/makefile +10 -0
- package/xsnap-native/xsnap/makefiles/mac/xsnap-worker.mk +165 -0
- package/xsnap-native/xsnap/makefiles/mac/xsnap.mk +153 -0
- package/xsnap-native/xsnap/sources/xsnap-worker.c +1008 -0
- package/xsnap-native/xsnap/sources/xsnap.c +717 -0
- package/xsnap-native/xsnap/sources/xsnap.h +142 -0
- package/xsnap-native/xsnap/sources/xsnapPlatform.c +1501 -0
- package/xsnap-native/xsnap/sources/xsnapPlatform.h +105 -0
- package/CHANGELOG.md +0 -654
|
@@ -0,0 +1,1142 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016-2022 Moddable Tech, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the Moddable SDK Runtime.
|
|
5
|
+
*
|
|
6
|
+
* The Moddable SDK Runtime is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
* (at your option) any later version.
|
|
10
|
+
*
|
|
11
|
+
* The Moddable SDK Runtime is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU Lesser General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
17
|
+
* along with the Moddable SDK Runtime. If not, see <http://www.gnu.org/licenses/>.
|
|
18
|
+
*
|
|
19
|
+
* This file incorporates work covered by the following copyright and
|
|
20
|
+
* permission notice:
|
|
21
|
+
*
|
|
22
|
+
* Copyright (C) 2010-2016 Marvell International Ltd.
|
|
23
|
+
* Copyright (C) 2002-2010 Kinoma, Inc.
|
|
24
|
+
*
|
|
25
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
26
|
+
* you may not use this file except in compliance with the License.
|
|
27
|
+
* You may obtain a copy of the License at
|
|
28
|
+
*
|
|
29
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
30
|
+
*
|
|
31
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
32
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
33
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
34
|
+
* See the License for the specific language governing permissions and
|
|
35
|
+
* limitations under the License.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#ifndef __XS6COMMON__
|
|
39
|
+
#define __XS6COMMON__
|
|
40
|
+
|
|
41
|
+
#include "xsPlatform.h"
|
|
42
|
+
|
|
43
|
+
#ifndef mx_dtoa
|
|
44
|
+
#define mx_dtoa 1
|
|
45
|
+
#endif
|
|
46
|
+
#if __GNUC__ >= 5
|
|
47
|
+
#if ESP32
|
|
48
|
+
#undef __has_builtin
|
|
49
|
+
#define __has_builtin(x) 1
|
|
50
|
+
#endif
|
|
51
|
+
#endif
|
|
52
|
+
#if !defined(__has_builtin)
|
|
53
|
+
#define __has_builtin(x) 0
|
|
54
|
+
#endif
|
|
55
|
+
|
|
56
|
+
#ifdef __cplusplus
|
|
57
|
+
extern "C" {
|
|
58
|
+
#endif
|
|
59
|
+
|
|
60
|
+
typedef txS1 txByte;
|
|
61
|
+
typedef txU1 txFlag;
|
|
62
|
+
#ifdef mx32bitID
|
|
63
|
+
typedef txU4 txID;
|
|
64
|
+
#else
|
|
65
|
+
typedef txU2 txID;
|
|
66
|
+
#endif
|
|
67
|
+
typedef txU4 txIndex;
|
|
68
|
+
typedef txS1 txKind;
|
|
69
|
+
typedef txS4 txSize;
|
|
70
|
+
typedef txS4 txError;
|
|
71
|
+
|
|
72
|
+
typedef txS4 txBoolean;
|
|
73
|
+
typedef txS4 txInteger;
|
|
74
|
+
typedef double txNumber;
|
|
75
|
+
typedef char* txString;
|
|
76
|
+
typedef txU4 txUnsigned;
|
|
77
|
+
typedef int (*txGetter)(void*);
|
|
78
|
+
typedef int (*txPutter)(txString, void*);
|
|
79
|
+
|
|
80
|
+
typedef struct {
|
|
81
|
+
txU4* data;
|
|
82
|
+
txU2 size;
|
|
83
|
+
txU1 sign;
|
|
84
|
+
} txBigInt;
|
|
85
|
+
|
|
86
|
+
#define mxBigIntIsNaN(x) ((x)->size == 0)
|
|
87
|
+
#define mxBigIntHighWord(x) ((txU4)((x) >> 32))
|
|
88
|
+
#define mxBigIntLowWord(x) ((txU4)(x))
|
|
89
|
+
#define mxBigIntWordSize (sizeof(txU4) * 8)
|
|
90
|
+
|
|
91
|
+
#define XS_ATOM_ARCHIVE 0x58535F41 /* 'XS_A' */
|
|
92
|
+
#define XS_ATOM_BINARY 0x58535F42 /* 'XS_B' */
|
|
93
|
+
#define XS_ATOM_ERROR 0x58535F45 /* 'XS_E' */
|
|
94
|
+
#define XS_ATOM_CHECKSUM 0x43484B53 /* 'CHKS' */
|
|
95
|
+
#define XS_ATOM_CODE 0x434F4445 /* 'CODE' */
|
|
96
|
+
#define XS_ATOM_DATA 0x44415441 /* 'DATA' */
|
|
97
|
+
#define XS_ATOM_HOSTS 0x484F5354 /* 'HOST' */
|
|
98
|
+
#define XS_ATOM_IDENTIFIERS 0x4944454E /* 'IDEN' */
|
|
99
|
+
#define XS_ATOM_MAPS 0x4D415053 /* 'MAPS' */
|
|
100
|
+
#define XS_ATOM_MODULES 0x4D4F4453 /* 'MODS' */
|
|
101
|
+
#define XS_ATOM_NAME 0x4E414D45 /* 'NAME' */
|
|
102
|
+
#define XS_ATOM_PATH 0x50415448 /* 'PATH' */
|
|
103
|
+
#define XS_ATOM_RESOURCES 0x52535243 /* 'RSRC' */
|
|
104
|
+
#define XS_ATOM_SIGNATURE 0x5349474E /* 'SIGN' */
|
|
105
|
+
#define XS_ATOM_SYMBOLS 0x53594D42 /* 'SYMB' */
|
|
106
|
+
#define XS_ATOM_VERSION 0x56455253 /* 'VERS' */
|
|
107
|
+
#define XS_MAJOR_VERSION 13
|
|
108
|
+
#define XS_MINOR_VERSION 3
|
|
109
|
+
#define XS_PATCH_VERSION 0
|
|
110
|
+
|
|
111
|
+
#define XS_DIGEST_SIZE 16
|
|
112
|
+
#define XS_VERSION_SIZE 4
|
|
113
|
+
|
|
114
|
+
typedef struct {
|
|
115
|
+
txS4 atomSize;
|
|
116
|
+
txU4 atomType;
|
|
117
|
+
} Atom;
|
|
118
|
+
|
|
119
|
+
typedef struct {
|
|
120
|
+
void* callback;
|
|
121
|
+
txS1* symbolsBuffer;
|
|
122
|
+
txSize symbolsSize;
|
|
123
|
+
txS1* codeBuffer;
|
|
124
|
+
txSize codeSize;
|
|
125
|
+
txS1* hostsBuffer;
|
|
126
|
+
txSize hostsSize;
|
|
127
|
+
txString path;
|
|
128
|
+
txS1 version[4];
|
|
129
|
+
} txScript;
|
|
130
|
+
|
|
131
|
+
typedef struct {
|
|
132
|
+
txS4 size;
|
|
133
|
+
txU4 cmask;
|
|
134
|
+
txU4 cval;
|
|
135
|
+
txS4 shift;
|
|
136
|
+
txU4 lmask;
|
|
137
|
+
txU4 lval;
|
|
138
|
+
} txUTF8Sequence;
|
|
139
|
+
|
|
140
|
+
enum {
|
|
141
|
+
XS_NO_CODE = 0,
|
|
142
|
+
XS_CODE_ADD,
|
|
143
|
+
XS_CODE_ARGUMENT,
|
|
144
|
+
XS_CODE_ARGUMENTS,
|
|
145
|
+
XS_CODE_ARGUMENTS_SLOPPY,
|
|
146
|
+
XS_CODE_ARGUMENTS_STRICT,
|
|
147
|
+
XS_CODE_ARRAY,
|
|
148
|
+
XS_CODE_ASYNC_FUNCTION,
|
|
149
|
+
XS_CODE_ASYNC_GENERATOR_FUNCTION,
|
|
150
|
+
XS_CODE_AT,
|
|
151
|
+
XS_CODE_AWAIT,
|
|
152
|
+
XS_CODE_BEGIN_SLOPPY,
|
|
153
|
+
XS_CODE_BEGIN_STRICT,
|
|
154
|
+
XS_CODE_BEGIN_STRICT_BASE,
|
|
155
|
+
XS_CODE_BEGIN_STRICT_DERIVED,
|
|
156
|
+
XS_CODE_BEGIN_STRICT_FIELD,
|
|
157
|
+
XS_CODE_BIGINT_1,
|
|
158
|
+
XS_CODE_BIGINT_2,
|
|
159
|
+
XS_CODE_BIT_AND,
|
|
160
|
+
XS_CODE_BIT_NOT,
|
|
161
|
+
XS_CODE_BIT_OR,
|
|
162
|
+
XS_CODE_BIT_XOR,
|
|
163
|
+
XS_CODE_BRANCH_1,
|
|
164
|
+
XS_CODE_BRANCH_2,
|
|
165
|
+
XS_CODE_BRANCH_4,
|
|
166
|
+
XS_CODE_BRANCH_CHAIN_1,
|
|
167
|
+
XS_CODE_BRANCH_CHAIN_2,
|
|
168
|
+
XS_CODE_BRANCH_CHAIN_4,
|
|
169
|
+
XS_CODE_BRANCH_COALESCE_1,
|
|
170
|
+
XS_CODE_BRANCH_COALESCE_2,
|
|
171
|
+
XS_CODE_BRANCH_COALESCE_4,
|
|
172
|
+
XS_CODE_BRANCH_ELSE_1,
|
|
173
|
+
XS_CODE_BRANCH_ELSE_2,
|
|
174
|
+
XS_CODE_BRANCH_ELSE_4,
|
|
175
|
+
XS_CODE_BRANCH_IF_1,
|
|
176
|
+
XS_CODE_BRANCH_IF_2,
|
|
177
|
+
XS_CODE_BRANCH_IF_4,
|
|
178
|
+
XS_CODE_BRANCH_STATUS_1,
|
|
179
|
+
XS_CODE_BRANCH_STATUS_2,
|
|
180
|
+
XS_CODE_BRANCH_STATUS_4,
|
|
181
|
+
XS_CODE_CALL,
|
|
182
|
+
XS_CODE_CATCH_1,
|
|
183
|
+
XS_CODE_CATCH_2,
|
|
184
|
+
XS_CODE_CATCH_4,
|
|
185
|
+
XS_CODE_CHECK_INSTANCE,
|
|
186
|
+
XS_CODE_CLASS,
|
|
187
|
+
XS_CODE_CODE_1,
|
|
188
|
+
XS_CODE_CODE_2,
|
|
189
|
+
XS_CODE_CODE_4,
|
|
190
|
+
XS_CODE_CODE_ARCHIVE_1,
|
|
191
|
+
XS_CODE_CODE_ARCHIVE_2,
|
|
192
|
+
XS_CODE_CODE_ARCHIVE_4,
|
|
193
|
+
XS_CODE_CONST_CLOSURE_1,
|
|
194
|
+
XS_CODE_CONST_CLOSURE_2,
|
|
195
|
+
XS_CODE_CONST_LOCAL_1,
|
|
196
|
+
XS_CODE_CONST_LOCAL_2,
|
|
197
|
+
XS_CODE_CONSTRUCTOR_FUNCTION,
|
|
198
|
+
XS_CODE_COPY_OBJECT,
|
|
199
|
+
XS_CODE_CURRENT,
|
|
200
|
+
XS_CODE_DEBUGGER,
|
|
201
|
+
XS_CODE_DECREMENT,
|
|
202
|
+
XS_CODE_DELETE_PROPERTY,
|
|
203
|
+
XS_CODE_DELETE_PROPERTY_AT,
|
|
204
|
+
XS_CODE_DELETE_SUPER,
|
|
205
|
+
XS_CODE_DELETE_SUPER_AT,
|
|
206
|
+
XS_CODE_DIVIDE,
|
|
207
|
+
XS_CODE_DUB,
|
|
208
|
+
XS_CODE_DUB_AT,
|
|
209
|
+
XS_CODE_END,
|
|
210
|
+
XS_CODE_END_ARROW,
|
|
211
|
+
XS_CODE_END_BASE,
|
|
212
|
+
XS_CODE_END_DERIVED,
|
|
213
|
+
XS_CODE_ENVIRONMENT,
|
|
214
|
+
XS_CODE_EQUAL,
|
|
215
|
+
XS_CODE_EVAL,
|
|
216
|
+
XS_CODE_EVAL_ENVIRONMENT,
|
|
217
|
+
XS_CODE_EVAL_PRIVATE,
|
|
218
|
+
XS_CODE_EVAL_REFERENCE,
|
|
219
|
+
XS_CODE_EVAL_TAIL,
|
|
220
|
+
XS_CODE_EXCEPTION,
|
|
221
|
+
XS_CODE_EXPONENTIATION,
|
|
222
|
+
XS_CODE_EXTEND,
|
|
223
|
+
XS_CODE_FALSE,
|
|
224
|
+
XS_CODE_FILE,
|
|
225
|
+
XS_CODE_FOR_AWAIT_OF,
|
|
226
|
+
XS_CODE_FOR_IN,
|
|
227
|
+
XS_CODE_FOR_OF,
|
|
228
|
+
XS_CODE_FUNCTION,
|
|
229
|
+
XS_CODE_FUNCTION_ENVIRONMENT,
|
|
230
|
+
XS_CODE_GENERATOR_FUNCTION,
|
|
231
|
+
XS_CODE_GET_CLOSURE_1,
|
|
232
|
+
XS_CODE_GET_CLOSURE_2,
|
|
233
|
+
XS_CODE_GET_LOCAL_1,
|
|
234
|
+
XS_CODE_GET_LOCAL_2,
|
|
235
|
+
XS_CODE_GET_PRIVATE_1,
|
|
236
|
+
XS_CODE_GET_PRIVATE_2,
|
|
237
|
+
XS_CODE_GET_PROPERTY,
|
|
238
|
+
XS_CODE_GET_PROPERTY_AT,
|
|
239
|
+
XS_CODE_GET_RESULT,
|
|
240
|
+
XS_CODE_GET_SUPER,
|
|
241
|
+
XS_CODE_GET_SUPER_AT,
|
|
242
|
+
XS_CODE_GET_THIS,
|
|
243
|
+
XS_CODE_GET_THIS_VARIABLE,
|
|
244
|
+
XS_CODE_GET_VARIABLE,
|
|
245
|
+
XS_CODE_GLOBAL,
|
|
246
|
+
XS_CODE_HAS_PRIVATE_1,
|
|
247
|
+
XS_CODE_HAS_PRIVATE_2,
|
|
248
|
+
XS_CODE_HOST,
|
|
249
|
+
XS_CODE_IMPORT,
|
|
250
|
+
XS_CODE_IMPORT_META,
|
|
251
|
+
XS_CODE_IN,
|
|
252
|
+
XS_CODE_INCREMENT,
|
|
253
|
+
XS_CODE_INSTANCEOF,
|
|
254
|
+
XS_CODE_INSTANTIATE,
|
|
255
|
+
XS_CODE_INTEGER_1,
|
|
256
|
+
XS_CODE_INTEGER_2,
|
|
257
|
+
XS_CODE_INTEGER_4,
|
|
258
|
+
XS_CODE_LEFT_SHIFT,
|
|
259
|
+
XS_CODE_LESS,
|
|
260
|
+
XS_CODE_LESS_EQUAL,
|
|
261
|
+
XS_CODE_LET_CLOSURE_1,
|
|
262
|
+
XS_CODE_LET_CLOSURE_2,
|
|
263
|
+
XS_CODE_LET_LOCAL_1,
|
|
264
|
+
XS_CODE_LET_LOCAL_2,
|
|
265
|
+
XS_CODE_LINE,
|
|
266
|
+
XS_CODE_MINUS,
|
|
267
|
+
XS_CODE_MODULE,
|
|
268
|
+
XS_CODE_MODULO,
|
|
269
|
+
XS_CODE_MORE,
|
|
270
|
+
XS_CODE_MORE_EQUAL,
|
|
271
|
+
XS_CODE_MULTIPLY,
|
|
272
|
+
XS_CODE_NAME,
|
|
273
|
+
XS_CODE_NEW,
|
|
274
|
+
XS_CODE_NEW_CLOSURE,
|
|
275
|
+
XS_CODE_NEW_LOCAL,
|
|
276
|
+
XS_CODE_NEW_PRIVATE_1,
|
|
277
|
+
XS_CODE_NEW_PRIVATE_2,
|
|
278
|
+
XS_CODE_NEW_PROPERTY,
|
|
279
|
+
XS_CODE_NEW_PROPERTY_AT,
|
|
280
|
+
XS_CODE_NEW_TEMPORARY,
|
|
281
|
+
XS_CODE_NOT,
|
|
282
|
+
XS_CODE_NOT_EQUAL,
|
|
283
|
+
XS_CODE_NULL,
|
|
284
|
+
XS_CODE_NUMBER,
|
|
285
|
+
XS_CODE_OBJECT,
|
|
286
|
+
XS_CODE_PLUS,
|
|
287
|
+
XS_CODE_POP,
|
|
288
|
+
XS_CODE_PROGRAM_ENVIRONMENT,
|
|
289
|
+
XS_CODE_PROGRAM_REFERENCE,
|
|
290
|
+
XS_CODE_PULL_CLOSURE_1,
|
|
291
|
+
XS_CODE_PULL_CLOSURE_2,
|
|
292
|
+
XS_CODE_PULL_LOCAL_1,
|
|
293
|
+
XS_CODE_PULL_LOCAL_2,
|
|
294
|
+
XS_CODE_REFRESH_CLOSURE_1,
|
|
295
|
+
XS_CODE_REFRESH_CLOSURE_2,
|
|
296
|
+
XS_CODE_REFRESH_LOCAL_1,
|
|
297
|
+
XS_CODE_REFRESH_LOCAL_2,
|
|
298
|
+
XS_CODE_REGEXP,
|
|
299
|
+
XS_CODE_RESERVE_1,
|
|
300
|
+
XS_CODE_RESERVE_2,
|
|
301
|
+
XS_CODE_RESET_CLOSURE_1,
|
|
302
|
+
XS_CODE_RESET_CLOSURE_2,
|
|
303
|
+
XS_CODE_RESET_LOCAL_1,
|
|
304
|
+
XS_CODE_RESET_LOCAL_2,
|
|
305
|
+
XS_CODE_RETHROW,
|
|
306
|
+
XS_CODE_RETRIEVE_1,
|
|
307
|
+
XS_CODE_RETRIEVE_2,
|
|
308
|
+
XS_CODE_RETRIEVE_TARGET,
|
|
309
|
+
XS_CODE_RETRIEVE_THIS,
|
|
310
|
+
XS_CODE_RETURN,
|
|
311
|
+
XS_CODE_RUN,
|
|
312
|
+
XS_CODE_RUN_1,
|
|
313
|
+
XS_CODE_RUN_2,
|
|
314
|
+
XS_CODE_RUN_4,
|
|
315
|
+
XS_CODE_RUN_TAIL,
|
|
316
|
+
XS_CODE_RUN_TAIL_1,
|
|
317
|
+
XS_CODE_RUN_TAIL_2,
|
|
318
|
+
XS_CODE_RUN_TAIL_4,
|
|
319
|
+
XS_CODE_SET_CLOSURE_1,
|
|
320
|
+
XS_CODE_SET_CLOSURE_2,
|
|
321
|
+
XS_CODE_SET_HOME,
|
|
322
|
+
XS_CODE_SET_LOCAL_1,
|
|
323
|
+
XS_CODE_SET_LOCAL_2,
|
|
324
|
+
XS_CODE_SET_PRIVATE_1,
|
|
325
|
+
XS_CODE_SET_PRIVATE_2,
|
|
326
|
+
XS_CODE_SET_PROPERTY,
|
|
327
|
+
XS_CODE_SET_PROPERTY_AT,
|
|
328
|
+
XS_CODE_SET_RESULT,
|
|
329
|
+
XS_CODE_SET_SUPER,
|
|
330
|
+
XS_CODE_SET_SUPER_AT,
|
|
331
|
+
XS_CODE_SET_THIS,
|
|
332
|
+
XS_CODE_SET_VARIABLE,
|
|
333
|
+
XS_CODE_SIGNED_RIGHT_SHIFT,
|
|
334
|
+
XS_CODE_START_ASYNC,
|
|
335
|
+
XS_CODE_START_ASYNC_GENERATOR,
|
|
336
|
+
XS_CODE_START_GENERATOR,
|
|
337
|
+
XS_CODE_STORE_1,
|
|
338
|
+
XS_CODE_STORE_2,
|
|
339
|
+
XS_CODE_STORE_ARROW,
|
|
340
|
+
XS_CODE_STRICT_EQUAL,
|
|
341
|
+
XS_CODE_STRICT_NOT_EQUAL,
|
|
342
|
+
XS_CODE_STRING_1,
|
|
343
|
+
XS_CODE_STRING_2,
|
|
344
|
+
XS_CODE_STRING_4,
|
|
345
|
+
XS_CODE_STRING_ARCHIVE_1,
|
|
346
|
+
XS_CODE_STRING_ARCHIVE_2,
|
|
347
|
+
XS_CODE_STRING_ARCHIVE_4,
|
|
348
|
+
XS_CODE_SUBTRACT,
|
|
349
|
+
XS_CODE_SUPER,
|
|
350
|
+
XS_CODE_SWAP,
|
|
351
|
+
XS_CODE_SYMBOL,
|
|
352
|
+
XS_CODE_TARGET,
|
|
353
|
+
XS_CODE_TEMPLATE,
|
|
354
|
+
XS_CODE_TEMPLATE_CACHE,
|
|
355
|
+
XS_CODE_THIS,
|
|
356
|
+
XS_CODE_THROW,
|
|
357
|
+
XS_CODE_THROW_STATUS,
|
|
358
|
+
XS_CODE_TO_INSTANCE,
|
|
359
|
+
XS_CODE_TO_NUMERIC,
|
|
360
|
+
XS_CODE_TO_STRING,
|
|
361
|
+
XS_CODE_TRANSFER,
|
|
362
|
+
XS_CODE_TRUE,
|
|
363
|
+
XS_CODE_TYPEOF,
|
|
364
|
+
XS_CODE_UNCATCH,
|
|
365
|
+
XS_CODE_UNDEFINED,
|
|
366
|
+
XS_CODE_UNSIGNED_RIGHT_SHIFT,
|
|
367
|
+
XS_CODE_UNWIND_1,
|
|
368
|
+
XS_CODE_UNWIND_2,
|
|
369
|
+
XS_CODE_VAR_CLOSURE_1,
|
|
370
|
+
XS_CODE_VAR_CLOSURE_2,
|
|
371
|
+
XS_CODE_VAR_LOCAL_1,
|
|
372
|
+
XS_CODE_VAR_LOCAL_2,
|
|
373
|
+
XS_CODE_VOID,
|
|
374
|
+
XS_CODE_WITH,
|
|
375
|
+
XS_CODE_WITHOUT,
|
|
376
|
+
XS_CODE_YIELD,
|
|
377
|
+
XS_CODE_PROFILE,
|
|
378
|
+
XS_CODE_COUNT
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
extern const txString gxCodeNames[XS_CODE_COUNT];
|
|
382
|
+
extern const txS1 gxCodeSizes[XS_CODE_COUNT] ICACHE_FLASH_ATTR;
|
|
383
|
+
|
|
384
|
+
enum {
|
|
385
|
+
XS_NAME_FLAG = 1,
|
|
386
|
+
XS_DONT_DELETE_FLAG = 2,
|
|
387
|
+
XS_DONT_ENUM_FLAG = 4,
|
|
388
|
+
XS_DONT_SET_FLAG = 8,
|
|
389
|
+
XS_METHOD_FLAG = 16,
|
|
390
|
+
XS_GETTER_FLAG = 32,
|
|
391
|
+
XS_SETTER_FLAG = 64,
|
|
392
|
+
XS_IMPORT_FLAG = 32,
|
|
393
|
+
XS_IMPORT_META_FLAG = 64,
|
|
394
|
+
};
|
|
395
|
+
|
|
396
|
+
enum {
|
|
397
|
+
mxEnumeratorIntrinsic = 0,
|
|
398
|
+
mxCopyObjectIntrinsic,
|
|
399
|
+
mxIntrinsicCount,
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
enum {
|
|
403
|
+
mxCFlag = 1 << 0,
|
|
404
|
+
mxDebugFlag = 1 << 1,
|
|
405
|
+
mxEvalFlag = 1 << 2,
|
|
406
|
+
mxProgramFlag = 1 << 3,
|
|
407
|
+
mxStrictFlag = 1 << 4,
|
|
408
|
+
mxSuperFlag = 1 << 5,
|
|
409
|
+
mxTargetFlag = 1 << 6,
|
|
410
|
+
mxFieldFlag = 1 << 15,
|
|
411
|
+
mxFunctionFlag = 1 << 16,
|
|
412
|
+
mxGeneratorFlag = 1 << 21,
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
extern void fxDeleteScript(txScript* script);
|
|
416
|
+
|
|
417
|
+
extern const txUTF8Sequence gxUTF8Sequences[];
|
|
418
|
+
|
|
419
|
+
extern txBoolean fxIsIdentifierFirst(txU4 c);
|
|
420
|
+
extern txBoolean fxIsIdentifierNext(txU4 c);
|
|
421
|
+
extern txBoolean fxIsSpace(txInteger character);
|
|
422
|
+
extern txString fxSkipSpaces(txString string);
|
|
423
|
+
|
|
424
|
+
extern txBoolean fxParseHexEscape(txString* string, txInteger* character);
|
|
425
|
+
extern txBoolean fxParseUnicodeEscape(txString* string, txInteger* character, txInteger braces, txInteger separator);
|
|
426
|
+
extern txString fxStringifyHexEscape(txString string, txInteger character);
|
|
427
|
+
extern txString fxStringifyUnicodeEscape(txString string, txInteger character, txInteger separator);
|
|
428
|
+
|
|
429
|
+
mxExport int fxUTF8Compare(txString p1, txString p2);
|
|
430
|
+
mxExport txString fxUTF8Decode(txString string, txInteger* character);
|
|
431
|
+
mxExport txString fxUTF8Encode(txString string, txInteger character);
|
|
432
|
+
mxExport txSize fxUTF8Length(txInteger character);
|
|
433
|
+
|
|
434
|
+
#if mxCESU8
|
|
435
|
+
mxExport txString fxCESU8Decode(txString string, txInteger* character);
|
|
436
|
+
mxExport txString fxCESU8Encode(txString string, txInteger character);
|
|
437
|
+
mxExport txSize fxCESU8Length(txInteger character);
|
|
438
|
+
#define mxStringByteDecode fxCESU8Decode
|
|
439
|
+
#define mxStringByteEncode fxCESU8Encode
|
|
440
|
+
#define mxStringByteLength fxCESU8Length
|
|
441
|
+
#else
|
|
442
|
+
#define mxStringByteDecode fxUTF8Decode
|
|
443
|
+
#define mxStringByteEncode fxUTF8Encode
|
|
444
|
+
#define mxStringByteLength fxUTF8Length
|
|
445
|
+
#endif
|
|
446
|
+
|
|
447
|
+
mxExport txSize fxUTF8ToUnicodeOffset(txString theString, txSize theOffset);
|
|
448
|
+
mxExport txSize fxUnicodeLength(txString theString);
|
|
449
|
+
mxExport txSize fxUnicodeToUTF8Offset(txString theString, txSize theOffset);
|
|
450
|
+
|
|
451
|
+
txFlag fxIntegerToIndex(void* dtoa, txInteger theInteger, txIndex* theIndex);
|
|
452
|
+
txFlag fxNumberToIndex(void* dtoa, txNumber theNumber, txIndex* theIndex);
|
|
453
|
+
txFlag fxStringToIndex(void* dtoa, txString theString, txIndex* theIndex);
|
|
454
|
+
|
|
455
|
+
/* ? */
|
|
456
|
+
mxExport char* fxCStackLimit();
|
|
457
|
+
mxExport txID fxGenerateProfileID(void* console);
|
|
458
|
+
mxExport void fxGenerateTag(void* console, txString buffer, txInteger bufferSize, txString path);
|
|
459
|
+
mxExport void fxVReport(void* console, txString theFormat, c_va_list theArguments);
|
|
460
|
+
mxExport void fxVReportError(void* console, txString thePath, txInteger theLine, txString theFormat, c_va_list theArguments);
|
|
461
|
+
mxExport void fxVReportWarning(void* console, txString thePath, txInteger theLine, txString theFormat, c_va_list theArguments);
|
|
462
|
+
|
|
463
|
+
/* xsdtoa.c */
|
|
464
|
+
extern void* fxNew_dtoa(void*);
|
|
465
|
+
extern void fxDelete_dtoa(void*);
|
|
466
|
+
mxExport txString fxIntegerToString(void* dtoa, txInteger theValue, txString theBuffer, txSize theSize);
|
|
467
|
+
mxExport txInteger fxNumberToInteger(txNumber theValue);
|
|
468
|
+
mxExport txString fxNumberToString(void* dtoa, txNumber theValue, txString theBuffer, txSize theSize, txByte theMode, txInteger thePrecision);
|
|
469
|
+
mxExport txNumber fxStringToNumber(void* dtoa, txString theString, txFlag whole);
|
|
470
|
+
|
|
471
|
+
/* xsre.c */
|
|
472
|
+
enum {
|
|
473
|
+
XS_REGEXP_G = 1 << 0,
|
|
474
|
+
XS_REGEXP_I = 1 << 1,
|
|
475
|
+
XS_REGEXP_M = 1 << 2,
|
|
476
|
+
XS_REGEXP_N = 1 << 3,
|
|
477
|
+
XS_REGEXP_S = 1 << 4,
|
|
478
|
+
XS_REGEXP_U = 1 << 5,
|
|
479
|
+
XS_REGEXP_Y = 1 << 6,
|
|
480
|
+
XS_REGEXP_D = 1 << 7,
|
|
481
|
+
};
|
|
482
|
+
mxExport txInteger* fxAllocateRegExpData(void* the, txInteger* code);
|
|
483
|
+
mxExport txBoolean fxCompileRegExp(void* the, txString pattern, txString modifier, txInteger** code, txInteger** data, txString errorBuffer, txInteger errorSize);
|
|
484
|
+
mxExport void fxDeleteRegExp(void* the, txInteger* code, txInteger* data);
|
|
485
|
+
mxExport txInteger fxMatchRegExp(void* the, txInteger* code, txInteger* data, txString subject, txInteger offset);
|
|
486
|
+
|
|
487
|
+
/* xsBigInt.c */
|
|
488
|
+
|
|
489
|
+
extern void fxBigIntEncode(txByte* code, txBigInt* bigint, txSize size);
|
|
490
|
+
extern txSize fxBigIntMaximum(txSize length);
|
|
491
|
+
extern txSize fxBigIntMaximumB(txSize length);
|
|
492
|
+
extern txSize fxBigIntMaximumO(txSize length);
|
|
493
|
+
extern txSize fxBigIntMaximumX(txSize length);
|
|
494
|
+
extern txSize fxBigIntMeasure(txBigInt* bigint);
|
|
495
|
+
extern void fxBigIntParse(txBigInt* bigint, txString string, txSize length, txInteger sign);
|
|
496
|
+
extern void fxBigIntParseB(txBigInt* bigint, txString string, txSize length);
|
|
497
|
+
extern void fxBigIntParseO(txBigInt* bigint, txString string, txSize length);
|
|
498
|
+
extern void fxBigIntParseX(txBigInt* bigint, txString string, txSize length);
|
|
499
|
+
|
|
500
|
+
#if mxBigEndian
|
|
501
|
+
#define mxDecode2(THE_CODE, THE_VALUE) { \
|
|
502
|
+
txS1* src = (txS1*)(THE_CODE); \
|
|
503
|
+
txS1* dst = (txS1*)&(THE_VALUE) + 1; \
|
|
504
|
+
*dst-- = *src++; \
|
|
505
|
+
*dst = *src++; \
|
|
506
|
+
(THE_CODE) = (void *)src; \
|
|
507
|
+
}
|
|
508
|
+
#else
|
|
509
|
+
#define mxDecode2(THE_CODE, THE_VALUE) { \
|
|
510
|
+
txS1* src = (txS1*)(THE_CODE); \
|
|
511
|
+
txS1* dst = (txS1*)&(THE_VALUE); \
|
|
512
|
+
*dst++ = *src++; \
|
|
513
|
+
*dst = *src++; \
|
|
514
|
+
(THE_CODE) = (void *)src; \
|
|
515
|
+
}
|
|
516
|
+
#endif
|
|
517
|
+
|
|
518
|
+
#if mxBigEndian
|
|
519
|
+
#define mxDecode4(THE_CODE, THE_VALUE) { \
|
|
520
|
+
txS1* src = (THE_CODE); \
|
|
521
|
+
txS1* dst = (txS1*)&(THE_VALUE) + 3; \
|
|
522
|
+
*dst-- = *src++; \
|
|
523
|
+
*dst-- = *src++; \
|
|
524
|
+
*dst-- = *src++; \
|
|
525
|
+
*dst = *src++; \
|
|
526
|
+
(THE_CODE) = src; \
|
|
527
|
+
}
|
|
528
|
+
#else
|
|
529
|
+
#define mxDecode4(THE_CODE, THE_VALUE) { \
|
|
530
|
+
txS1* src = (THE_CODE); \
|
|
531
|
+
txS1* dst = (txS1*)&(THE_VALUE); \
|
|
532
|
+
*dst++ = *src++; \
|
|
533
|
+
*dst++ = *src++; \
|
|
534
|
+
*dst++ = *src++; \
|
|
535
|
+
*dst = *src++; \
|
|
536
|
+
(THE_CODE) = src; \
|
|
537
|
+
}
|
|
538
|
+
#endif
|
|
539
|
+
|
|
540
|
+
#if mxBigEndian
|
|
541
|
+
#define mxDecode8(THE_CODE, THE_VALUE) { \
|
|
542
|
+
txS1* src = (THE_CODE); \
|
|
543
|
+
txS1* dst = (txS1*)&(THE_VALUE) + 7; \
|
|
544
|
+
*dst-- = *src++; \
|
|
545
|
+
*dst-- = *src++; \
|
|
546
|
+
*dst-- = *src++; \
|
|
547
|
+
*dst-- = *src++; \
|
|
548
|
+
*dst-- = *src++; \
|
|
549
|
+
*dst-- = *src++; \
|
|
550
|
+
*dst-- = *src++; \
|
|
551
|
+
*dst = *src++; \
|
|
552
|
+
(THE_CODE) = src; \
|
|
553
|
+
}
|
|
554
|
+
#else
|
|
555
|
+
#define mxDecode8(THE_CODE, THE_VALUE) { \
|
|
556
|
+
txS1* src = (THE_CODE); \
|
|
557
|
+
txS1* dst = (txS1*)&(THE_VALUE); \
|
|
558
|
+
*dst++ = *src++; \
|
|
559
|
+
*dst++ = *src++; \
|
|
560
|
+
*dst++ = *src++; \
|
|
561
|
+
*dst++ = *src++; \
|
|
562
|
+
*dst++ = *src++; \
|
|
563
|
+
*dst++ = *src++; \
|
|
564
|
+
*dst++ = *src++; \
|
|
565
|
+
*dst = *src++; \
|
|
566
|
+
(THE_CODE) = src; \
|
|
567
|
+
}
|
|
568
|
+
#endif
|
|
569
|
+
|
|
570
|
+
#ifdef mx32bitID
|
|
571
|
+
#define mxDecodeID(THE_CODE, THE_VALUE) mxDecode4(THE_CODE, THE_VALUE)
|
|
572
|
+
#else
|
|
573
|
+
#define mxDecodeID(THE_CODE, THE_VALUE) mxDecode2(THE_CODE, THE_VALUE)
|
|
574
|
+
#endif
|
|
575
|
+
|
|
576
|
+
#if mxBigEndian
|
|
577
|
+
#define mxEncode2(THE_CODE, THE_VALUE) { \
|
|
578
|
+
txByte* dst = (THE_CODE); \
|
|
579
|
+
txByte* src = (txByte*)&(THE_VALUE) + 1; \
|
|
580
|
+
*dst++ = *src--; \
|
|
581
|
+
*dst++ = *src; \
|
|
582
|
+
(THE_CODE) = dst; \
|
|
583
|
+
}
|
|
584
|
+
#else
|
|
585
|
+
#define mxEncode2(THE_CODE, THE_VALUE) { \
|
|
586
|
+
txByte* dst = (THE_CODE); \
|
|
587
|
+
txByte* src = (txByte*)&(THE_VALUE); \
|
|
588
|
+
*dst++ = *src++; \
|
|
589
|
+
*dst++ = *src; \
|
|
590
|
+
(THE_CODE) = dst; \
|
|
591
|
+
}
|
|
592
|
+
#endif
|
|
593
|
+
|
|
594
|
+
#if mxBigEndian
|
|
595
|
+
#define mxEncode4(THE_CODE, THE_VALUE) { \
|
|
596
|
+
txByte* dst = (THE_CODE); \
|
|
597
|
+
txByte* src = (txByte*)&(THE_VALUE) + 3; \
|
|
598
|
+
*dst++ = *src--; \
|
|
599
|
+
*dst++ = *src--; \
|
|
600
|
+
*dst++ = *src--; \
|
|
601
|
+
*dst++ = *src; \
|
|
602
|
+
(THE_CODE) = dst; \
|
|
603
|
+
}
|
|
604
|
+
#else
|
|
605
|
+
#define mxEncode4(THE_CODE, THE_VALUE) { \
|
|
606
|
+
txByte* dst = (THE_CODE); \
|
|
607
|
+
txByte* src = (txByte*)&(THE_VALUE); \
|
|
608
|
+
*dst++ = *src++; \
|
|
609
|
+
*dst++ = *src++; \
|
|
610
|
+
*dst++ = *src++; \
|
|
611
|
+
*dst++ = *src; \
|
|
612
|
+
(THE_CODE) = dst; \
|
|
613
|
+
}
|
|
614
|
+
#endif
|
|
615
|
+
|
|
616
|
+
#if mxBigEndian
|
|
617
|
+
#define mxEncode8(THE_CODE, THE_VALUE) { \
|
|
618
|
+
txByte* dst = (THE_CODE); \
|
|
619
|
+
txByte* src = (txByte*)&(THE_VALUE) + 7; \
|
|
620
|
+
*dst++ = *src--; \
|
|
621
|
+
*dst++ = *src--; \
|
|
622
|
+
*dst++ = *src--; \
|
|
623
|
+
*dst++ = *src--; \
|
|
624
|
+
*dst++ = *src--; \
|
|
625
|
+
*dst++ = *src--; \
|
|
626
|
+
*dst++ = *src--; \
|
|
627
|
+
*dst++ = *src; \
|
|
628
|
+
(THE_CODE) = dst; \
|
|
629
|
+
}
|
|
630
|
+
#else
|
|
631
|
+
#define mxEncode8(THE_CODE, THE_VALUE) { \
|
|
632
|
+
txByte* dst = (THE_CODE); \
|
|
633
|
+
txByte* src = (txByte*)&(THE_VALUE); \
|
|
634
|
+
*dst++ = *src++; \
|
|
635
|
+
*dst++ = *src++; \
|
|
636
|
+
*dst++ = *src++; \
|
|
637
|
+
*dst++ = *src++; \
|
|
638
|
+
*dst++ = *src++; \
|
|
639
|
+
*dst++ = *src++; \
|
|
640
|
+
*dst++ = *src++; \
|
|
641
|
+
*dst++ = *src; \
|
|
642
|
+
(THE_CODE) = dst; \
|
|
643
|
+
}
|
|
644
|
+
#endif
|
|
645
|
+
|
|
646
|
+
#ifdef mx32bitID
|
|
647
|
+
#define mxEncodeID(THE_CODE, THE_VALUE) mxEncode4(THE_CODE, THE_VALUE)
|
|
648
|
+
#else
|
|
649
|
+
#define mxEncodeID(THE_CODE, THE_VALUE) mxEncode2(THE_CODE, THE_VALUE)
|
|
650
|
+
#endif
|
|
651
|
+
|
|
652
|
+
enum {
|
|
653
|
+
XS_NO_ID = 0,
|
|
654
|
+
_Symbol_asyncIterator = 1,
|
|
655
|
+
_Symbol_hasInstance,
|
|
656
|
+
_Symbol_isConcatSpreadable,
|
|
657
|
+
_Symbol_iterator,
|
|
658
|
+
_Symbol_match,
|
|
659
|
+
_Symbol_matchAll,
|
|
660
|
+
_Symbol_replace,
|
|
661
|
+
_Symbol_search,
|
|
662
|
+
_Symbol_species,
|
|
663
|
+
_Symbol_split,
|
|
664
|
+
_Symbol_toPrimitive,
|
|
665
|
+
_Symbol_toStringTag,
|
|
666
|
+
_Symbol_unscopables,
|
|
667
|
+
_AggregateError,
|
|
668
|
+
_Array,
|
|
669
|
+
_ArrayBuffer,
|
|
670
|
+
_Atomics,
|
|
671
|
+
_BigInt,
|
|
672
|
+
_BigInt64Array,
|
|
673
|
+
_BigUint64Array,
|
|
674
|
+
_Boolean,
|
|
675
|
+
_DataView,
|
|
676
|
+
_Date,
|
|
677
|
+
_Error,
|
|
678
|
+
_EvalError,
|
|
679
|
+
_FinalizationRegistry,
|
|
680
|
+
_Float32Array,
|
|
681
|
+
_Float64Array,
|
|
682
|
+
_Int16Array,
|
|
683
|
+
_Int32Array,
|
|
684
|
+
_Int8Array,
|
|
685
|
+
_JSON,
|
|
686
|
+
_Map,
|
|
687
|
+
_Math,
|
|
688
|
+
_ModuleSource,
|
|
689
|
+
_Number,
|
|
690
|
+
_Object,
|
|
691
|
+
_Promise,
|
|
692
|
+
_Proxy,
|
|
693
|
+
_RangeError,
|
|
694
|
+
_ReferenceError,
|
|
695
|
+
_Reflect,
|
|
696
|
+
_RegExp,
|
|
697
|
+
_Set,
|
|
698
|
+
_SharedArrayBuffer,
|
|
699
|
+
_String,
|
|
700
|
+
_Symbol,
|
|
701
|
+
_SyntaxError,
|
|
702
|
+
_TypeError,
|
|
703
|
+
_TypedArray,
|
|
704
|
+
_URIError,
|
|
705
|
+
_Uint16Array,
|
|
706
|
+
_Uint32Array,
|
|
707
|
+
_Uint8Array,
|
|
708
|
+
_Uint8ClampedArray,
|
|
709
|
+
_WeakMap,
|
|
710
|
+
_WeakRef,
|
|
711
|
+
_WeakSet,
|
|
712
|
+
_decodeURI,
|
|
713
|
+
_decodeURIComponent,
|
|
714
|
+
_encodeURI,
|
|
715
|
+
_encodeURIComponent,
|
|
716
|
+
_escape,
|
|
717
|
+
_isFinite,
|
|
718
|
+
_isNaN,
|
|
719
|
+
_parseFloat,
|
|
720
|
+
_parseInt,
|
|
721
|
+
_trace,
|
|
722
|
+
_unescape,
|
|
723
|
+
_Infinity,
|
|
724
|
+
_NaN,
|
|
725
|
+
_undefined,
|
|
726
|
+
_Compartment,
|
|
727
|
+
_Function,
|
|
728
|
+
_eval,
|
|
729
|
+
_AsyncFunction,
|
|
730
|
+
_AsyncGeneratorFunction,
|
|
731
|
+
_BYTES_PER_ELEMENT,
|
|
732
|
+
_E,
|
|
733
|
+
_EPSILON,
|
|
734
|
+
_Generator,
|
|
735
|
+
_GeneratorFunction,
|
|
736
|
+
_LN10,
|
|
737
|
+
_LN2,
|
|
738
|
+
_LOG10E,
|
|
739
|
+
_LOG2E,
|
|
740
|
+
_MAX_SAFE_INTEGER,
|
|
741
|
+
_MAX_VALUE,
|
|
742
|
+
_MIN_SAFE_INTEGER,
|
|
743
|
+
_MIN_VALUE,
|
|
744
|
+
_NEGATIVE_INFINITY,
|
|
745
|
+
_PI,
|
|
746
|
+
_POSITIVE_INFINITY,
|
|
747
|
+
_SQRT1_2,
|
|
748
|
+
_SQRT2,
|
|
749
|
+
_UTC,
|
|
750
|
+
___defineGetter__,
|
|
751
|
+
___defineSetter__,
|
|
752
|
+
___lookupGetter__,
|
|
753
|
+
___lookupSetter__,
|
|
754
|
+
___proto__,
|
|
755
|
+
_abs,
|
|
756
|
+
_acos,
|
|
757
|
+
_acosh,
|
|
758
|
+
_add,
|
|
759
|
+
_aliases,
|
|
760
|
+
_all,
|
|
761
|
+
_allSettled,
|
|
762
|
+
_and,
|
|
763
|
+
_any,
|
|
764
|
+
_append,
|
|
765
|
+
_apply,
|
|
766
|
+
_arguments,
|
|
767
|
+
_as,
|
|
768
|
+
_asIntN,
|
|
769
|
+
_asUintN,
|
|
770
|
+
_asin,
|
|
771
|
+
_asinh,
|
|
772
|
+
_assign,
|
|
773
|
+
_asyncIterator,
|
|
774
|
+
_at,
|
|
775
|
+
_atan,
|
|
776
|
+
_atanh,
|
|
777
|
+
_atan2,
|
|
778
|
+
_bind,
|
|
779
|
+
_bindings,
|
|
780
|
+
_bitLength,
|
|
781
|
+
_boundArguments,
|
|
782
|
+
_boundFunction,
|
|
783
|
+
_boundThis,
|
|
784
|
+
_buffer,
|
|
785
|
+
_busy,
|
|
786
|
+
_byteLength,
|
|
787
|
+
_byteOffset,
|
|
788
|
+
_cache,
|
|
789
|
+
_call,
|
|
790
|
+
_callee,
|
|
791
|
+
_caller,
|
|
792
|
+
_catch,
|
|
793
|
+
_cause,
|
|
794
|
+
_cbrt,
|
|
795
|
+
_ceil,
|
|
796
|
+
_center,
|
|
797
|
+
_charAt,
|
|
798
|
+
_charCodeAt,
|
|
799
|
+
_chunk,
|
|
800
|
+
_chunkify,
|
|
801
|
+
_cleanupSome,
|
|
802
|
+
_clear,
|
|
803
|
+
_closure,
|
|
804
|
+
_clz32,
|
|
805
|
+
_codePointAt,
|
|
806
|
+
_compare,
|
|
807
|
+
_compareExchange,
|
|
808
|
+
_compile,
|
|
809
|
+
_concat,
|
|
810
|
+
_configurable,
|
|
811
|
+
_console,
|
|
812
|
+
_construct,
|
|
813
|
+
_constructor,
|
|
814
|
+
_copyWithin,
|
|
815
|
+
_cos,
|
|
816
|
+
_cosh,
|
|
817
|
+
_count,
|
|
818
|
+
_create,
|
|
819
|
+
_default,
|
|
820
|
+
_defineProperties,
|
|
821
|
+
_defineProperty,
|
|
822
|
+
_delete,
|
|
823
|
+
_deleteProperty,
|
|
824
|
+
_deref,
|
|
825
|
+
_description,
|
|
826
|
+
_done,
|
|
827
|
+
_dotAll,
|
|
828
|
+
_eachDown,
|
|
829
|
+
_eachUp,
|
|
830
|
+
_endsWith,
|
|
831
|
+
_entries,
|
|
832
|
+
_enumerable,
|
|
833
|
+
_enumerate,
|
|
834
|
+
_errors,
|
|
835
|
+
_evaluate,
|
|
836
|
+
_every,
|
|
837
|
+
_exchange,
|
|
838
|
+
_exec,
|
|
839
|
+
_exp,
|
|
840
|
+
_expm1,
|
|
841
|
+
_export,
|
|
842
|
+
_exports,
|
|
843
|
+
_fill,
|
|
844
|
+
_filter,
|
|
845
|
+
_finally_,
|
|
846
|
+
_find,
|
|
847
|
+
_findIndex,
|
|
848
|
+
_findLast,
|
|
849
|
+
_findLastIndex,
|
|
850
|
+
_flags,
|
|
851
|
+
_flat,
|
|
852
|
+
_flatMap,
|
|
853
|
+
_floor,
|
|
854
|
+
_for,
|
|
855
|
+
_forEach,
|
|
856
|
+
_free,
|
|
857
|
+
_freeze,
|
|
858
|
+
_from,
|
|
859
|
+
_fromArrayBuffer,
|
|
860
|
+
_fromBigInt,
|
|
861
|
+
_fromCharCode,
|
|
862
|
+
_fromCodePoint,
|
|
863
|
+
_fromEntries,
|
|
864
|
+
_fromString,
|
|
865
|
+
_fround,
|
|
866
|
+
_function,
|
|
867
|
+
_get,
|
|
868
|
+
_getBigInt64,
|
|
869
|
+
_getBigUint64,
|
|
870
|
+
_getDate,
|
|
871
|
+
_getDay,
|
|
872
|
+
_getFloat32,
|
|
873
|
+
_getFloat64,
|
|
874
|
+
_getFullYear,
|
|
875
|
+
_getHours,
|
|
876
|
+
_getInt16,
|
|
877
|
+
_getInt32,
|
|
878
|
+
_getInt8,
|
|
879
|
+
_getMilliseconds,
|
|
880
|
+
_getMinutes,
|
|
881
|
+
_getMonth,
|
|
882
|
+
_getOwnPropertyDescriptor,
|
|
883
|
+
_getOwnPropertyDescriptors,
|
|
884
|
+
_getOwnPropertyNames,
|
|
885
|
+
_getOwnPropertySymbols,
|
|
886
|
+
_getPrototypeOf,
|
|
887
|
+
_getSeconds,
|
|
888
|
+
_getTime,
|
|
889
|
+
_getTimezoneOffset,
|
|
890
|
+
_getUTCDate,
|
|
891
|
+
_getUTCDay,
|
|
892
|
+
_getUTCFullYear,
|
|
893
|
+
_getUTCHours,
|
|
894
|
+
_getUTCMilliseconds,
|
|
895
|
+
_getUTCMinutes,
|
|
896
|
+
_getUTCMonth,
|
|
897
|
+
_getUTCSeconds,
|
|
898
|
+
_getUint16,
|
|
899
|
+
_getUint32,
|
|
900
|
+
_getUint8,
|
|
901
|
+
_getYear,
|
|
902
|
+
_global,
|
|
903
|
+
_globalThis,
|
|
904
|
+
_groups,
|
|
905
|
+
_grow,
|
|
906
|
+
_growable,
|
|
907
|
+
_has,
|
|
908
|
+
_hasIndices,
|
|
909
|
+
_hasInstance,
|
|
910
|
+
_hasOwn,
|
|
911
|
+
_hasOwnProperty,
|
|
912
|
+
_hypot_,
|
|
913
|
+
_id,
|
|
914
|
+
_idiv,
|
|
915
|
+
_idivmod,
|
|
916
|
+
_ignoreCase,
|
|
917
|
+
_imod,
|
|
918
|
+
_import,
|
|
919
|
+
_importNow,
|
|
920
|
+
_imports,
|
|
921
|
+
_imul,
|
|
922
|
+
_imuldiv,
|
|
923
|
+
_includes,
|
|
924
|
+
_index,
|
|
925
|
+
_indexOf,
|
|
926
|
+
_indices,
|
|
927
|
+
_input,
|
|
928
|
+
_irem,
|
|
929
|
+
_is,
|
|
930
|
+
_isArray,
|
|
931
|
+
_isConcatSpreadable,
|
|
932
|
+
_isExtensible,
|
|
933
|
+
_isFrozen,
|
|
934
|
+
_isInteger,
|
|
935
|
+
_isLockFree,
|
|
936
|
+
_isPrototypeOf,
|
|
937
|
+
_isSafeInteger,
|
|
938
|
+
_isSealed,
|
|
939
|
+
_isView,
|
|
940
|
+
_iterable,
|
|
941
|
+
_iterator,
|
|
942
|
+
_join,
|
|
943
|
+
_keyFor,
|
|
944
|
+
_keys,
|
|
945
|
+
_lastIndex,
|
|
946
|
+
_lastIndexOf,
|
|
947
|
+
_left,
|
|
948
|
+
_length,
|
|
949
|
+
_line,
|
|
950
|
+
_load,
|
|
951
|
+
_local,
|
|
952
|
+
_localeCompare,
|
|
953
|
+
_log,
|
|
954
|
+
_log1p,
|
|
955
|
+
_log10,
|
|
956
|
+
_log2,
|
|
957
|
+
_map,
|
|
958
|
+
_match,
|
|
959
|
+
_matchAll,
|
|
960
|
+
_max,
|
|
961
|
+
_maxByteLength,
|
|
962
|
+
_message,
|
|
963
|
+
_min,
|
|
964
|
+
_mod,
|
|
965
|
+
_module,
|
|
966
|
+
_multiline,
|
|
967
|
+
_name,
|
|
968
|
+
_needsImport,
|
|
969
|
+
_needsImportMeta,
|
|
970
|
+
_new_target,
|
|
971
|
+
_next,
|
|
972
|
+
_normalize,
|
|
973
|
+
_notify,
|
|
974
|
+
_now,
|
|
975
|
+
_of,
|
|
976
|
+
_or,
|
|
977
|
+
_ownKeys,
|
|
978
|
+
_padEnd,
|
|
979
|
+
_padStart,
|
|
980
|
+
_parse,
|
|
981
|
+
_path,
|
|
982
|
+
_peek,
|
|
983
|
+
_poke,
|
|
984
|
+
_pop,
|
|
985
|
+
_pow,
|
|
986
|
+
_preventExtensions,
|
|
987
|
+
_propertyIsEnumerable,
|
|
988
|
+
_prototype,
|
|
989
|
+
_proxy,
|
|
990
|
+
_push,
|
|
991
|
+
_race,
|
|
992
|
+
_random,
|
|
993
|
+
_raw,
|
|
994
|
+
_reason,
|
|
995
|
+
_reduce,
|
|
996
|
+
_reduceRight,
|
|
997
|
+
_reexports,
|
|
998
|
+
_register,
|
|
999
|
+
_reject,
|
|
1000
|
+
_repeat,
|
|
1001
|
+
_replace,
|
|
1002
|
+
_replaceAll,
|
|
1003
|
+
_resizable,
|
|
1004
|
+
_resize,
|
|
1005
|
+
_resolve,
|
|
1006
|
+
_result,
|
|
1007
|
+
_return,
|
|
1008
|
+
_reverse,
|
|
1009
|
+
_revocable,
|
|
1010
|
+
_revoke,
|
|
1011
|
+
_right,
|
|
1012
|
+
_round,
|
|
1013
|
+
_seal,
|
|
1014
|
+
_search,
|
|
1015
|
+
_set,
|
|
1016
|
+
_setBigInt64,
|
|
1017
|
+
_setBigUint64,
|
|
1018
|
+
_setDate,
|
|
1019
|
+
_setFloat32,
|
|
1020
|
+
_setFloat64,
|
|
1021
|
+
_setFullYear,
|
|
1022
|
+
_setHours,
|
|
1023
|
+
_setInt16,
|
|
1024
|
+
_setInt32,
|
|
1025
|
+
_setInt8,
|
|
1026
|
+
_setMilliseconds,
|
|
1027
|
+
_setMinutes,
|
|
1028
|
+
_setMonth,
|
|
1029
|
+
_setPrototypeOf,
|
|
1030
|
+
_setSeconds,
|
|
1031
|
+
_setTime,
|
|
1032
|
+
_setUTCDate,
|
|
1033
|
+
_setUTCFullYear,
|
|
1034
|
+
_setUTCHours,
|
|
1035
|
+
_setUTCMilliseconds,
|
|
1036
|
+
_setUTCMinutes,
|
|
1037
|
+
_setUTCMonth,
|
|
1038
|
+
_setUTCSeconds,
|
|
1039
|
+
_setUint16,
|
|
1040
|
+
_setUint32,
|
|
1041
|
+
_setUint8,
|
|
1042
|
+
_setYear,
|
|
1043
|
+
_shift,
|
|
1044
|
+
_sign,
|
|
1045
|
+
_sin,
|
|
1046
|
+
_sinh,
|
|
1047
|
+
_size,
|
|
1048
|
+
_slice,
|
|
1049
|
+
_some,
|
|
1050
|
+
_sort,
|
|
1051
|
+
_source,
|
|
1052
|
+
_species,
|
|
1053
|
+
_splice,
|
|
1054
|
+
_split,
|
|
1055
|
+
_sqrt,
|
|
1056
|
+
_stack,
|
|
1057
|
+
_startsWith,
|
|
1058
|
+
_status,
|
|
1059
|
+
_sticky,
|
|
1060
|
+
_store,
|
|
1061
|
+
_stringify,
|
|
1062
|
+
_sub,
|
|
1063
|
+
_subarray,
|
|
1064
|
+
_substr,
|
|
1065
|
+
_substring,
|
|
1066
|
+
_tan,
|
|
1067
|
+
_tanh,
|
|
1068
|
+
_test,
|
|
1069
|
+
_then,
|
|
1070
|
+
_this,
|
|
1071
|
+
_throw,
|
|
1072
|
+
_toDateString,
|
|
1073
|
+
_toExponential,
|
|
1074
|
+
_toFixed,
|
|
1075
|
+
_toGMTString,
|
|
1076
|
+
_toISOString,
|
|
1077
|
+
_toJSON,
|
|
1078
|
+
_toLocaleDateString,
|
|
1079
|
+
_toLocaleLowerCase,
|
|
1080
|
+
_toLocaleString,
|
|
1081
|
+
_toLocaleTimeString,
|
|
1082
|
+
_toLocaleUpperCase,
|
|
1083
|
+
_toLowerCase,
|
|
1084
|
+
_toPrecision,
|
|
1085
|
+
_toPrimitive,
|
|
1086
|
+
_toString,
|
|
1087
|
+
_toStringTag,
|
|
1088
|
+
_toTimeString,
|
|
1089
|
+
_toUTCString,
|
|
1090
|
+
_toUpperCase,
|
|
1091
|
+
_transfer,
|
|
1092
|
+
_transfers,
|
|
1093
|
+
_trim,
|
|
1094
|
+
_trimEnd,
|
|
1095
|
+
_trimLeft,
|
|
1096
|
+
_trimRight,
|
|
1097
|
+
_trimStart,
|
|
1098
|
+
_trunc,
|
|
1099
|
+
_unicode,
|
|
1100
|
+
_unregister,
|
|
1101
|
+
_unscopables,
|
|
1102
|
+
_unshift,
|
|
1103
|
+
_uri,
|
|
1104
|
+
_value,
|
|
1105
|
+
_valueOf,
|
|
1106
|
+
_values,
|
|
1107
|
+
_wait,
|
|
1108
|
+
_wake,
|
|
1109
|
+
_weak,
|
|
1110
|
+
_writable,
|
|
1111
|
+
_xor,
|
|
1112
|
+
__empty_string_,
|
|
1113
|
+
__xsbug_script_,
|
|
1114
|
+
XS_ID_COUNT
|
|
1115
|
+
};
|
|
1116
|
+
#define XS_SYMBOL_ID_COUNT _AggregateError
|
|
1117
|
+
#define XS_INTRINSICS_COUNT _AsyncFunction
|
|
1118
|
+
|
|
1119
|
+
extern const txString gxIDStrings[XS_ID_COUNT];
|
|
1120
|
+
|
|
1121
|
+
#ifndef c_malloc_uint32
|
|
1122
|
+
#define c_malloc_uint32(byteCount) c_malloc(byteCount)
|
|
1123
|
+
#define c_free_uint32(ptr) c_free(ptr)
|
|
1124
|
+
#endif
|
|
1125
|
+
|
|
1126
|
+
#ifndef c_isEmpty
|
|
1127
|
+
#define c_isEmpty(s) (!c_read8(s))
|
|
1128
|
+
#endif
|
|
1129
|
+
|
|
1130
|
+
#define mxStringLength(_STRING) ((txSize)c_strlen(_STRING))
|
|
1131
|
+
|
|
1132
|
+
#define mxPtrDiff(_DIFF) ((txSize)(_DIFF))
|
|
1133
|
+
|
|
1134
|
+
#ifndef mxIntegerDivideOverflowException
|
|
1135
|
+
#define mxIntegerDivideOverflowException 1
|
|
1136
|
+
#endif
|
|
1137
|
+
|
|
1138
|
+
#ifdef __cplusplus
|
|
1139
|
+
}
|
|
1140
|
+
#endif
|
|
1141
|
+
|
|
1142
|
+
#endif /* __XS6COMMON__ */
|