@tailwindcss/oxide-wasm32-wasi 4.2.3 → 4.3.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/node_modules/@emnapi/core/dist/emnapi-core.cjs.js +854 -307
- package/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.d.ts +3 -2
- package/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.js +1 -1
- package/node_modules/@emnapi/core/dist/emnapi-core.d.mts +3 -2
- package/node_modules/@emnapi/core/dist/emnapi-core.d.ts +3 -2
- package/node_modules/@emnapi/core/dist/emnapi-core.esm-bundler.js +892 -313
- package/node_modules/@emnapi/core/dist/emnapi-core.js +904 -328
- package/node_modules/@emnapi/core/dist/emnapi-core.min.d.mts +3 -2
- package/node_modules/@emnapi/core/dist/emnapi-core.min.js +1 -1
- package/node_modules/@emnapi/core/dist/emnapi-core.min.mjs +1 -1
- package/node_modules/@emnapi/core/dist/emnapi-core.mjs +854 -307
- package/node_modules/@emnapi/core/package.json +2 -2
- package/node_modules/@emnapi/runtime/dist/emnapi.cjs.js +32 -5
- package/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts +8 -2
- package/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js +1 -1
- package/node_modules/@emnapi/runtime/dist/emnapi.d.mts +8 -2
- package/node_modules/@emnapi/runtime/dist/emnapi.d.ts +8 -2
- package/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js +33 -5
- package/node_modules/@emnapi/runtime/dist/emnapi.iife.d.ts +8 -2
- package/node_modules/@emnapi/runtime/dist/emnapi.iife.js +33 -5
- package/node_modules/@emnapi/runtime/dist/emnapi.js +33 -5
- package/node_modules/@emnapi/runtime/dist/emnapi.min.d.mts +8 -2
- package/node_modules/@emnapi/runtime/dist/emnapi.min.js +1 -1
- package/node_modules/@emnapi/runtime/dist/emnapi.min.mjs +1 -1
- package/node_modules/@emnapi/runtime/dist/emnapi.mjs +32 -5
- package/node_modules/@emnapi/runtime/package.json +1 -1
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.js +17 -20
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.d.ts +2 -0
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.js +1 -1
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.mts +2 -0
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.ts +2 -0
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.esm-bundler.js +17 -20
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.js +17 -20
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.d.mts +2 -0
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.js +1 -1
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.mjs +1 -1
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.mjs +17 -20
- package/node_modules/@emnapi/wasi-threads/package.json +1 -1
- package/node_modules/@napi-rs/wasm-runtime/dist/fs-proxy.cjs +47 -12
- package/node_modules/@napi-rs/wasm-runtime/dist/fs.js +14310 -10201
- package/node_modules/@napi-rs/wasm-runtime/fs-proxy.js +47 -12
- package/node_modules/@napi-rs/wasm-runtime/package.json +6 -4
- package/package.json +5 -5
- package/tailwindcss-oxide.wasi-browser.js +1 -0
- package/tailwindcss-oxide.wasi.cjs +1 -1
- package/tailwindcss-oxide.wasm32-wasi.wasm +0 -0
- package/wasi-worker-browser.mjs +4 -0
|
@@ -241,6 +241,7 @@
|
|
|
241
241
|
this._beforeLoad = options.beforeLoad;
|
|
242
242
|
}
|
|
243
243
|
this.printErr = (_a = options.printErr) !== null && _a !== void 0 ? _a : console.error.bind(console);
|
|
244
|
+
this.threadSpawn = options.threadSpawn;
|
|
244
245
|
}
|
|
245
246
|
Object.defineProperty(ThreadManager.prototype, "nextWorkerID", {
|
|
246
247
|
get: function () { return nextWorkerID; },
|
|
@@ -378,6 +379,12 @@
|
|
|
378
379
|
_this_1.cleanThread(worker, payload.tid);
|
|
379
380
|
}
|
|
380
381
|
}
|
|
382
|
+
else if (type === 'spawn-thread') {
|
|
383
|
+
_this_1.threadSpawn(payload.startArg, payload.errorOrTid);
|
|
384
|
+
}
|
|
385
|
+
else if (type === 'terminate-all-threads') {
|
|
386
|
+
_this_1.terminateAllThreads();
|
|
387
|
+
}
|
|
381
388
|
}
|
|
382
389
|
};
|
|
383
390
|
worker.onmessage = function (e) {
|
|
@@ -633,18 +640,6 @@
|
|
|
633
640
|
}
|
|
634
641
|
this.postMessage = postMessage;
|
|
635
642
|
var wasm64 = Boolean(options.wasm64);
|
|
636
|
-
var onMessage = function (e) {
|
|
637
|
-
if (e.data.__emnapi__) {
|
|
638
|
-
var type = e.data.__emnapi__.type;
|
|
639
|
-
var payload = e.data.__emnapi__.payload;
|
|
640
|
-
if (type === 'spawn-thread') {
|
|
641
|
-
threadSpawn(payload.startArg, payload.errorOrTid);
|
|
642
|
-
}
|
|
643
|
-
else if (type === 'terminate-all-threads') {
|
|
644
|
-
_this_1.terminateAllThreads();
|
|
645
|
-
}
|
|
646
|
-
}
|
|
647
|
-
};
|
|
648
643
|
var threadSpawn = function (startArg, errorOrTid) {
|
|
649
644
|
var _a;
|
|
650
645
|
var EAGAIN = 6;
|
|
@@ -667,7 +662,7 @@
|
|
|
667
662
|
}
|
|
668
663
|
if (!isNewABI) {
|
|
669
664
|
var malloc = _this_1.wasmInstance.exports.malloc;
|
|
670
|
-
errorOrTid = wasm64 ? Number(malloc(BigInt(8))) : malloc(8);
|
|
665
|
+
errorOrTid = wasm64 ? Number(malloc(BigInt(8))) : (malloc(8) >>> 0);
|
|
671
666
|
if (!errorOrTid) {
|
|
672
667
|
return -48; /* ENOMEM */
|
|
673
668
|
}
|
|
@@ -705,10 +700,9 @@
|
|
|
705
700
|
if (!worker) {
|
|
706
701
|
throw new Error('failed to get new worker');
|
|
707
702
|
}
|
|
708
|
-
PThread.addMessageEventListener(worker, onMessage);
|
|
709
703
|
tid = PThread.markId(worker);
|
|
710
704
|
if (ENVIRONMENT_IS_NODE) {
|
|
711
|
-
worker.
|
|
705
|
+
worker.unref();
|
|
712
706
|
}
|
|
713
707
|
worker.postMessage(createMessage('start', {
|
|
714
708
|
tid: tid,
|
|
@@ -768,6 +762,9 @@
|
|
|
768
762
|
return tid;
|
|
769
763
|
};
|
|
770
764
|
this.threadSpawn = threadSpawn;
|
|
765
|
+
if (this.PThread) {
|
|
766
|
+
this.PThread.threadSpawn = threadSpawn;
|
|
767
|
+
}
|
|
771
768
|
}
|
|
772
769
|
WASIThreads.prototype.getImportObject = function () {
|
|
773
770
|
return {
|
|
@@ -1061,7 +1058,6 @@
|
|
|
1061
1058
|
filename: '',
|
|
1062
1059
|
childThread: ENVIRONMENT_IS_PTHREAD,
|
|
1063
1060
|
initWorker: undefined,
|
|
1064
|
-
executeAsyncWork: undefined,
|
|
1065
1061
|
waitThreadStart: waitThreadStart,
|
|
1066
1062
|
PThread: undefined,
|
|
1067
1063
|
init: function (options) {
|
|
@@ -1262,6 +1258,9 @@
|
|
|
1262
1258
|
* @__sig vppp
|
|
1263
1259
|
*/
|
|
1264
1260
|
function _emnapi_get_node_version(major, minor, patch) {
|
|
1261
|
+
major >>>= 0;
|
|
1262
|
+
minor >>>= 0;
|
|
1263
|
+
patch >>>= 0;
|
|
1265
1264
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1266
1265
|
var versions = (typeof process === 'object' && process !== null &&
|
|
1267
1266
|
typeof process.versions === 'object' && process.versions !== null &&
|
|
@@ -1327,6 +1326,7 @@
|
|
|
1327
1326
|
*/
|
|
1328
1327
|
function _emnapi_call_finalizer(forceUncaught, env, callback, data, hint) {
|
|
1329
1328
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1329
|
+
callback >>>= 0;
|
|
1330
1330
|
envObject.callFinalizerInternal(forceUncaught, callback, data, hint);
|
|
1331
1331
|
}
|
|
1332
1332
|
/**
|
|
@@ -1432,9 +1432,20 @@
|
|
|
1432
1432
|
return worker;
|
|
1433
1433
|
}
|
|
1434
1434
|
/** @__sig vp */
|
|
1435
|
+
function _emnapi_worker_ref(pthreadPtr) {
|
|
1436
|
+
if (ENVIRONMENT_IS_PTHREAD)
|
|
1437
|
+
return;
|
|
1438
|
+
pthreadPtr >>>= 0;
|
|
1439
|
+
var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
|
|
1440
|
+
if (worker && typeof worker.ref === 'function') {
|
|
1441
|
+
worker.ref();
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1444
|
+
/** @__sig vp */
|
|
1435
1445
|
function _emnapi_worker_unref(pthreadPtr) {
|
|
1436
1446
|
if (ENVIRONMENT_IS_PTHREAD)
|
|
1437
1447
|
return;
|
|
1448
|
+
pthreadPtr >>>= 0;
|
|
1438
1449
|
var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
|
|
1439
1450
|
if (worker && typeof worker.unref === 'function') {
|
|
1440
1451
|
worker.unref();
|
|
@@ -1542,9 +1553,9 @@
|
|
|
1542
1553
|
_emnapi_async_send_js: _emnapi_async_send_js,
|
|
1543
1554
|
_emnapi_emit_async_thread_ready: _emnapi_emit_async_thread_ready,
|
|
1544
1555
|
_emnapi_tell_js_uvthreadpool: _emnapi_tell_js_uvthreadpool,
|
|
1556
|
+
_emnapi_worker_ref: _emnapi_worker_ref,
|
|
1545
1557
|
_emnapi_worker_unref: _emnapi_worker_unref
|
|
1546
1558
|
});
|
|
1547
|
-
/* eslint-disable @typescript-eslint/indent */
|
|
1548
1559
|
/** @__sig ipjp */
|
|
1549
1560
|
function napi_adjust_external_memory(env, change_in_bytes, adjusted_value) {
|
|
1550
1561
|
if (!env)
|
|
@@ -1552,22 +1563,15 @@
|
|
|
1552
1563
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1553
1564
|
if (!adjusted_value)
|
|
1554
1565
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
}
|
|
1559
|
-
var old_size = wasmMemory.buffer.byteLength;
|
|
1560
|
-
var new_size = old_size + change_in_bytes_number;
|
|
1561
|
-
new_size = new_size + ((65536 - new_size % 65536) % 65536);
|
|
1562
|
-
if (wasmMemory.grow((new_size - old_size + 65535) >> 16) === -1) {
|
|
1563
|
-
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
1564
|
-
}
|
|
1566
|
+
// eslint-disable-next-line prefer-const
|
|
1567
|
+
var adjusted_memory = emnapiCtx.adjustAmountOfExternalAllocatedMemory(change_in_bytes);
|
|
1568
|
+
adjusted_value >>>= 0;
|
|
1565
1569
|
if (emnapiCtx.feature.supportBigInt) {
|
|
1566
1570
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
1567
|
-
HEAP_DATA_VIEW.setBigInt64(adjusted_value, BigInt(
|
|
1571
|
+
HEAP_DATA_VIEW.setBigInt64(adjusted_value, BigInt(adjusted_memory), true);
|
|
1568
1572
|
}
|
|
1569
1573
|
else {
|
|
1570
|
-
$emnapiSetValueI64(adjusted_value,
|
|
1574
|
+
$emnapiSetValueI64(adjusted_value, Number(adjusted_memory));
|
|
1571
1575
|
}
|
|
1572
1576
|
return envObject.clearLastError();
|
|
1573
1577
|
}
|
|
@@ -1735,6 +1739,7 @@
|
|
|
1735
1739
|
var asyncId = asyncContext.asyncId;
|
|
1736
1740
|
var triggerAsyncId = asyncContext.triggerAsyncId;
|
|
1737
1741
|
if (result) {
|
|
1742
|
+
result >>>= 0;
|
|
1738
1743
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
1739
1744
|
HEAP_DATA_VIEW.setFloat64(result, asyncId, true);
|
|
1740
1745
|
HEAP_DATA_VIEW.setFloat64(result + 8, triggerAsyncId, true);
|
|
@@ -1778,6 +1783,8 @@
|
|
|
1778
1783
|
return;
|
|
1779
1784
|
var resource = emnapiCtx.handleStore.get(async_resource).value;
|
|
1780
1785
|
var callback = emnapiCtx.handleStore.get(cb).value;
|
|
1786
|
+
argv >>>= 0;
|
|
1787
|
+
size >>>= 0;
|
|
1781
1788
|
size = size >>> 0;
|
|
1782
1789
|
var arr = Array(size);
|
|
1783
1790
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -1790,6 +1797,7 @@
|
|
|
1790
1797
|
triggerAsyncId: trigger_async_id
|
|
1791
1798
|
});
|
|
1792
1799
|
if (result) {
|
|
1800
|
+
result >>>= 0;
|
|
1793
1801
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1794
1802
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1795
1803
|
v = envObject.ensureHandleId(ret);
|
|
@@ -1820,6 +1828,7 @@
|
|
|
1820
1828
|
var low = Number(numberValue & BigInt(0xffffffff));
|
|
1821
1829
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1822
1830
|
var high = Number(numberValue >> BigInt(32));
|
|
1831
|
+
result >>>= 0;
|
|
1823
1832
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
1824
1833
|
HEAP_DATA_VIEW.setInt32(result, low, true);
|
|
1825
1834
|
HEAP_DATA_VIEW.setInt32(result + 4, high, true);
|
|
@@ -1830,6 +1839,7 @@
|
|
|
1830
1839
|
if (!emnapiNodeBinding) {
|
|
1831
1840
|
return 9 /* napi_status.napi_generic_failure */;
|
|
1832
1841
|
}
|
|
1842
|
+
async_context >>>= 0;
|
|
1833
1843
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
1834
1844
|
var low = HEAP_DATA_VIEW.getInt32(async_context, true);
|
|
1835
1845
|
var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
|
|
@@ -1878,10 +1888,13 @@
|
|
|
1878
1888
|
if (typeof v8func !== 'function') {
|
|
1879
1889
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1880
1890
|
}
|
|
1891
|
+
async_context >>>= 0;
|
|
1881
1892
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
1882
1893
|
var low = HEAP_DATA_VIEW.getInt32(async_context, true);
|
|
1883
1894
|
var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
|
|
1884
1895
|
var ctx = BigInt(low >>> 0) | (BigInt(high) << BigInt(32));
|
|
1896
|
+
argv >>>= 0;
|
|
1897
|
+
argc >>>= 0;
|
|
1885
1898
|
argc = argc >>> 0;
|
|
1886
1899
|
var arr = Array(argc);
|
|
1887
1900
|
for (; i < argc; i++) {
|
|
@@ -1895,6 +1908,7 @@
|
|
|
1895
1908
|
if (ret.status !== 0 /* napi_status.napi_ok */)
|
|
1896
1909
|
return envObject.setLastError(ret.status);
|
|
1897
1910
|
if (result) {
|
|
1911
|
+
result >>>= 0;
|
|
1898
1912
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1899
1913
|
v = envObject.ensureHandleId(ret.value);
|
|
1900
1914
|
HEAP_DATA_VIEW.setUint32(result, v, true);
|
|
@@ -1932,29 +1946,59 @@
|
|
|
1932
1946
|
* ```
|
|
1933
1947
|
*/
|
|
1934
1948
|
var emnapiTSFN = {
|
|
1949
|
+
_liveSet: {},
|
|
1935
1950
|
offset: {
|
|
1951
|
+
__size__: 0,
|
|
1936
1952
|
/* napi_ref */ resource: 0,
|
|
1937
|
-
/* double */ async_id:
|
|
1938
|
-
/* double */ trigger_async_id:
|
|
1939
|
-
/* size_t */ queue_size:
|
|
1940
|
-
/*
|
|
1941
|
-
/*
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
/* size_t */
|
|
1946
|
-
/*
|
|
1947
|
-
/*
|
|
1948
|
-
/* void* */
|
|
1949
|
-
/*
|
|
1950
|
-
/*
|
|
1951
|
-
/*
|
|
1952
|
-
/*
|
|
1953
|
-
/*
|
|
1954
|
-
/*
|
|
1955
|
-
|
|
1953
|
+
/* double */ async_id: 0,
|
|
1954
|
+
/* double */ trigger_async_id: 0,
|
|
1955
|
+
/* size_t */ queue_size: 0,
|
|
1956
|
+
/* bool */ is_some: 0,
|
|
1957
|
+
/* void* */ queue: 0,
|
|
1958
|
+
// Reuse uv_async_t storage as JS-side wakeup state: pending event + scheduled drain.
|
|
1959
|
+
async_pending: 0,
|
|
1960
|
+
async_u_fd: 0,
|
|
1961
|
+
/* size_t */ thread_count: 0,
|
|
1962
|
+
/* int32_t */ state: 0,
|
|
1963
|
+
/* atomic_uchar */ dispatch_state: 0,
|
|
1964
|
+
/* void* */ context: 0,
|
|
1965
|
+
/* size_t */ max_queue_size: 0,
|
|
1966
|
+
/* napi_ref */ ref: 0,
|
|
1967
|
+
/* napi_env */ env: 0,
|
|
1968
|
+
/* void* */ finalize_data: 0,
|
|
1969
|
+
/* napi_finalize */ finalize_cb: 0,
|
|
1970
|
+
/* napi_threadsafe_function_call_js */ call_js_cb: 0,
|
|
1971
|
+
/* bool */ handles_closing: 0,
|
|
1972
|
+
/* bool */ async_ref: 0,
|
|
1973
|
+
/* int32_t */ mutex: 0,
|
|
1974
|
+
/* int32_t */ cond: 0
|
|
1956
1975
|
},
|
|
1957
1976
|
init: function () {
|
|
1977
|
+
emnapiTSFN._liveSet = new Set();
|
|
1978
|
+
emnapiTSFN.offset.__size__ = 184 /* NapiTSFNOffset32.__size__ */;
|
|
1979
|
+
emnapiTSFN.offset.resource = 0 /* NapiTSFNOffset32.async_resource_resource */;
|
|
1980
|
+
emnapiTSFN.offset.async_id = 8 /* NapiTSFNOffset32.async_resource_async_context_async_id */;
|
|
1981
|
+
emnapiTSFN.offset.trigger_async_id = 16 /* NapiTSFNOffset32.async_resource_async_context_trigger_async_id */;
|
|
1982
|
+
emnapiTSFN.offset.queue_size = 60 /* NapiTSFNOffset32.queue_size */;
|
|
1983
|
+
emnapiTSFN.offset.is_some = 24 /* NapiTSFNOffset32.async_resource_is_some */;
|
|
1984
|
+
emnapiTSFN.offset.queue = 64 /* NapiTSFNOffset32.queue */;
|
|
1985
|
+
emnapiTSFN.offset.async_pending = 132 /* NapiTSFNOffset32.async_pending */;
|
|
1986
|
+
emnapiTSFN.offset.async_u_fd = 96 /* NapiTSFNOffset32.async_u_fd */;
|
|
1987
|
+
emnapiTSFN.offset.thread_count = 136 /* NapiTSFNOffset32.thread_count */;
|
|
1988
|
+
emnapiTSFN.offset.state = 140 /* NapiTSFNOffset32.state */;
|
|
1989
|
+
emnapiTSFN.offset.dispatch_state = 144 /* NapiTSFNOffset32.dispatch_state */;
|
|
1990
|
+
emnapiTSFN.offset.context = 148 /* NapiTSFNOffset32.context */;
|
|
1991
|
+
emnapiTSFN.offset.max_queue_size = 152 /* NapiTSFNOffset32.max_queue_size */;
|
|
1992
|
+
emnapiTSFN.offset.ref = 156 /* NapiTSFNOffset32.ref */;
|
|
1993
|
+
emnapiTSFN.offset.env = 160 /* NapiTSFNOffset32.env */;
|
|
1994
|
+
emnapiTSFN.offset.finalize_data = 164 /* NapiTSFNOffset32.finalize_data */;
|
|
1995
|
+
emnapiTSFN.offset.finalize_cb = 168 /* NapiTSFNOffset32.finalize_cb */;
|
|
1996
|
+
emnapiTSFN.offset.call_js_cb = 172 /* NapiTSFNOffset32.call_js_cb */;
|
|
1997
|
+
emnapiTSFN.offset.handles_closing = 176 /* NapiTSFNOffset32.handles_closing */;
|
|
1998
|
+
emnapiTSFN.offset.async_ref = 180 /* NapiTSFNOffset32.async_ref */;
|
|
1999
|
+
emnapiTSFN.offset.mutex = 32 /* NapiTSFNOffset32.mutex */;
|
|
2000
|
+
emnapiTSFN.offset.cond = 56 /* NapiTSFNOffset32.cond */;
|
|
2001
|
+
emnapiTSFN.offset.mutex = emnapiTSFN.offset.mutex + 4;
|
|
1958
2002
|
if (typeof PThread !== 'undefined') {
|
|
1959
2003
|
PThread.unusedWorkers.forEach(emnapiTSFN.addListener);
|
|
1960
2004
|
PThread.runningWorkers.forEach(emnapiTSFN.addListener);
|
|
@@ -1978,7 +2022,10 @@
|
|
|
1978
2022
|
var type = __emnapi__.type;
|
|
1979
2023
|
var payload = __emnapi__.payload;
|
|
1980
2024
|
if (type === 'tsfn-send') {
|
|
1981
|
-
emnapiTSFN.
|
|
2025
|
+
var pendng = payload.tsfn + emnapiTSFN.offset.async_pending;
|
|
2026
|
+
if (Atomics.load(new Int32Array(wasmMemory.buffer), pendng >>> 2) !== 0) {
|
|
2027
|
+
emnapiTSFN.enqueue(payload.tsfn);
|
|
2028
|
+
}
|
|
1982
2029
|
}
|
|
1983
2030
|
}
|
|
1984
2031
|
};
|
|
@@ -2005,6 +2052,7 @@
|
|
|
2005
2052
|
var queue = _malloc(size);
|
|
2006
2053
|
if (!queue)
|
|
2007
2054
|
return false;
|
|
2055
|
+
queue >>>= 0;
|
|
2008
2056
|
new Uint8Array(wasmMemory.buffer, queue, size).fill(0);
|
|
2009
2057
|
emnapiTSFN.storeSizeTypeValue(func + emnapiTSFN.offset.queue, queue, false);
|
|
2010
2058
|
return true;
|
|
@@ -2012,6 +2060,12 @@
|
|
|
2012
2060
|
destroyQueue: function (func) {
|
|
2013
2061
|
var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
|
|
2014
2062
|
if (queue) {
|
|
2063
|
+
var node = emnapiTSFN.loadSizeTypeValue(queue, false);
|
|
2064
|
+
while (node !== 0) {
|
|
2065
|
+
var next = emnapiTSFN.loadSizeTypeValue(node + 4, false);
|
|
2066
|
+
_free(node);
|
|
2067
|
+
node = next;
|
|
2068
|
+
}
|
|
2015
2069
|
_free(queue);
|
|
2016
2070
|
}
|
|
2017
2071
|
},
|
|
@@ -2024,6 +2078,7 @@
|
|
|
2024
2078
|
var node = _malloc(size);
|
|
2025
2079
|
if (!node)
|
|
2026
2080
|
throw new Error('OOM');
|
|
2081
|
+
node >>>= 0;
|
|
2027
2082
|
emnapiTSFN.storeSizeTypeValue(node, data, false);
|
|
2028
2083
|
emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
|
|
2029
2084
|
if (head === 0 && tail === 0) {
|
|
@@ -2059,11 +2114,11 @@
|
|
|
2059
2114
|
var waitCondition = function () {
|
|
2060
2115
|
var queueSize = emnapiTSFN.getQueueSize(func);
|
|
2061
2116
|
var maxSize = emnapiTSFN.getMaxQueueSize(func);
|
|
2062
|
-
|
|
2063
|
-
return queueSize >= maxSize && maxSize > 0 && !isClosing;
|
|
2117
|
+
return queueSize >= maxSize && maxSize > 0 && emnapiTSFN.getState(func) === 0 /* State.kOpen */;
|
|
2064
2118
|
};
|
|
2065
2119
|
var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
|
|
2066
|
-
|
|
2120
|
+
var shouldDelete = false;
|
|
2121
|
+
var ret = mutex.execute(function () {
|
|
2067
2122
|
while (waitCondition()) {
|
|
2068
2123
|
if (mode === 0 /* napi_threadsafe_function_call_mode.napi_tsfn_nonblocking */) {
|
|
2069
2124
|
return 15 /* napi_status.napi_queue_full */;
|
|
@@ -2080,21 +2135,25 @@
|
|
|
2080
2135
|
}
|
|
2081
2136
|
cond.wait();
|
|
2082
2137
|
}
|
|
2083
|
-
if (emnapiTSFN.
|
|
2084
|
-
if (emnapiTSFN.getThreadCount(func) === 0) {
|
|
2085
|
-
return 1 /* napi_status.napi_invalid_arg */;
|
|
2086
|
-
}
|
|
2087
|
-
else {
|
|
2088
|
-
emnapiTSFN.subThreadCount(func);
|
|
2089
|
-
return 16 /* napi_status.napi_closing */;
|
|
2090
|
-
}
|
|
2091
|
-
}
|
|
2092
|
-
else {
|
|
2138
|
+
if (emnapiTSFN.getState(func) === 0 /* State.kOpen */) {
|
|
2093
2139
|
emnapiTSFN.pushQueue(func, data);
|
|
2094
2140
|
emnapiTSFN.send(func);
|
|
2095
2141
|
return 0 /* napi_status.napi_ok */;
|
|
2096
2142
|
}
|
|
2143
|
+
if (emnapiTSFN.getThreadCount(func) === 0) {
|
|
2144
|
+
return 1 /* napi_status.napi_invalid_arg */;
|
|
2145
|
+
}
|
|
2146
|
+
emnapiTSFN.subThreadCount(func);
|
|
2147
|
+
if (!(emnapiTSFN.getState(func) === 2 /* State.kClosed */ && emnapiTSFN.getThreadCount(func) === 0)) {
|
|
2148
|
+
return 16 /* napi_status.napi_closing */;
|
|
2149
|
+
}
|
|
2150
|
+
shouldDelete = true;
|
|
2151
|
+
return 16 /* napi_status.napi_closing */;
|
|
2097
2152
|
});
|
|
2153
|
+
if (shouldDelete) {
|
|
2154
|
+
emnapiTSFN.destroy(func);
|
|
2155
|
+
}
|
|
2156
|
+
return ret;
|
|
2098
2157
|
},
|
|
2099
2158
|
getMutex: function (func) {
|
|
2100
2159
|
var index = func + emnapiTSFN.offset.mutex;
|
|
@@ -2104,7 +2163,7 @@
|
|
|
2104
2163
|
var i32a = new Int32Array(wasmMemory.buffer, index, 1);
|
|
2105
2164
|
if (isBrowserMain) {
|
|
2106
2165
|
while (true) {
|
|
2107
|
-
var oldValue = Atomics.compareExchange(i32a, 0, 0,
|
|
2166
|
+
var oldValue = Atomics.compareExchange(i32a, 0, 0, 10);
|
|
2108
2167
|
if (oldValue === 0) {
|
|
2109
2168
|
return;
|
|
2110
2169
|
}
|
|
@@ -2112,11 +2171,11 @@
|
|
|
2112
2171
|
}
|
|
2113
2172
|
else {
|
|
2114
2173
|
while (true) {
|
|
2115
|
-
var oldValue = Atomics.compareExchange(i32a, 0, 0,
|
|
2174
|
+
var oldValue = Atomics.compareExchange(i32a, 0, 0, 10);
|
|
2116
2175
|
if (oldValue === 0) {
|
|
2117
2176
|
return;
|
|
2118
2177
|
}
|
|
2119
|
-
Atomics.wait(i32a, 0,
|
|
2178
|
+
Atomics.wait(i32a, 0, 10);
|
|
2120
2179
|
}
|
|
2121
2180
|
}
|
|
2122
2181
|
},
|
|
@@ -2125,20 +2184,20 @@
|
|
|
2125
2184
|
const again = (): void => { fn() }
|
|
2126
2185
|
const fn = (): void => {
|
|
2127
2186
|
const i32a = new Int32Array(wasmMemory.buffer, index, 1)
|
|
2128
|
-
const oldValue = Atomics.compareExchange(i32a, 0, 0,
|
|
2187
|
+
const oldValue = Atomics.compareExchange(i32a, 0, 0, 10)
|
|
2129
2188
|
if (oldValue === 0) {
|
|
2130
2189
|
resolve()
|
|
2131
2190
|
return
|
|
2132
2191
|
}
|
|
2133
|
-
(Atomics as any).waitAsync(i32a, 0,
|
|
2192
|
+
(Atomics as any).waitAsync(i32a, 0, 10).value.then(again)
|
|
2134
2193
|
}
|
|
2135
2194
|
fn()
|
|
2136
2195
|
})
|
|
2137
2196
|
}, */
|
|
2138
2197
|
unlock: function () {
|
|
2139
2198
|
var i32a = new Int32Array(wasmMemory.buffer, index, 1);
|
|
2140
|
-
var oldValue = Atomics.compareExchange(i32a, 0,
|
|
2141
|
-
if (oldValue !==
|
|
2199
|
+
var oldValue = Atomics.compareExchange(i32a, 0, 10, 0);
|
|
2200
|
+
if (oldValue !== 10) {
|
|
2142
2201
|
throw new Error('Tried to unlock while not holding the mutex');
|
|
2143
2202
|
}
|
|
2144
2203
|
Atomics.notify(i32a, 0, 1);
|
|
@@ -2202,14 +2261,14 @@
|
|
|
2202
2261
|
var offset = emnapiTSFN.offset.queue_size;
|
|
2203
2262
|
var arr, index;
|
|
2204
2263
|
arr = new Uint32Array(wasmMemory.buffer);
|
|
2205
|
-
index = (func + offset)
|
|
2264
|
+
index = (func + offset) >>> 2;
|
|
2206
2265
|
Atomics.add(arr, index, 1);
|
|
2207
2266
|
},
|
|
2208
2267
|
subQueueSize: function (func) {
|
|
2209
2268
|
var offset = emnapiTSFN.offset.queue_size;
|
|
2210
2269
|
var arr, index;
|
|
2211
2270
|
arr = new Uint32Array(wasmMemory.buffer);
|
|
2212
|
-
index = (func + offset)
|
|
2271
|
+
index = (func + offset) >>> 2;
|
|
2213
2272
|
Atomics.sub(arr, index, 1);
|
|
2214
2273
|
},
|
|
2215
2274
|
getThreadCount: function (func) {
|
|
@@ -2219,30 +2278,30 @@
|
|
|
2219
2278
|
var offset = emnapiTSFN.offset.thread_count;
|
|
2220
2279
|
var arr, index;
|
|
2221
2280
|
arr = new Uint32Array(wasmMemory.buffer);
|
|
2222
|
-
index = (func + offset)
|
|
2281
|
+
index = (func + offset) >>> 2;
|
|
2223
2282
|
Atomics.add(arr, index, 1);
|
|
2224
2283
|
},
|
|
2225
2284
|
subThreadCount: function (func) {
|
|
2226
2285
|
var offset = emnapiTSFN.offset.thread_count;
|
|
2227
2286
|
var arr, index;
|
|
2228
2287
|
arr = new Uint32Array(wasmMemory.buffer);
|
|
2229
|
-
index = (func + offset)
|
|
2288
|
+
index = (func + offset) >>> 2;
|
|
2230
2289
|
Atomics.sub(arr, index, 1);
|
|
2231
2290
|
},
|
|
2232
|
-
|
|
2233
|
-
return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.
|
|
2291
|
+
getState: function (func) {
|
|
2292
|
+
return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.state) >>> 2);
|
|
2234
2293
|
},
|
|
2235
|
-
|
|
2236
|
-
Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.
|
|
2294
|
+
setState: function (func, value) {
|
|
2295
|
+
Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.state) >>> 2, value);
|
|
2237
2296
|
},
|
|
2238
2297
|
getHandlesClosing: function (func) {
|
|
2239
|
-
return Atomics.load(new
|
|
2298
|
+
return Atomics.load(new Int8Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing));
|
|
2240
2299
|
},
|
|
2241
2300
|
setHandlesClosing: function (func, value) {
|
|
2242
|
-
Atomics.store(new
|
|
2301
|
+
Atomics.store(new Int8Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing), value);
|
|
2243
2302
|
},
|
|
2244
2303
|
getDispatchState: function (func) {
|
|
2245
|
-
return Atomics.load(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state)
|
|
2304
|
+
return Atomics.load(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >>> 2);
|
|
2246
2305
|
},
|
|
2247
2306
|
getContext: function (func) {
|
|
2248
2307
|
return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.context, false);
|
|
@@ -2273,12 +2332,12 @@
|
|
|
2273
2332
|
var arr;
|
|
2274
2333
|
if (unsigned) {
|
|
2275
2334
|
arr = new Uint32Array(wasmMemory.buffer);
|
|
2276
|
-
ret = Atomics.load(arr, offset
|
|
2335
|
+
ret = Atomics.load(arr, offset >>> 2);
|
|
2277
2336
|
return ret;
|
|
2278
2337
|
}
|
|
2279
2338
|
else {
|
|
2280
2339
|
arr = new Int32Array(wasmMemory.buffer);
|
|
2281
|
-
ret = Atomics.load(arr, offset
|
|
2340
|
+
ret = Atomics.load(arr, offset >>> 2);
|
|
2282
2341
|
return ret;
|
|
2283
2342
|
}
|
|
2284
2343
|
},
|
|
@@ -2286,54 +2345,82 @@
|
|
|
2286
2345
|
var arr;
|
|
2287
2346
|
if (unsigned) {
|
|
2288
2347
|
arr = new Uint32Array(wasmMemory.buffer);
|
|
2289
|
-
Atomics.store(arr, offset
|
|
2348
|
+
Atomics.store(arr, offset >>> 2, value);
|
|
2290
2349
|
return undefined;
|
|
2291
2350
|
}
|
|
2292
2351
|
else {
|
|
2293
2352
|
arr = new Int32Array(wasmMemory.buffer);
|
|
2294
|
-
Atomics.store(arr, offset
|
|
2353
|
+
Atomics.store(arr, offset >>> 2, value >>> 0);
|
|
2295
2354
|
return undefined;
|
|
2296
2355
|
}
|
|
2297
2356
|
},
|
|
2357
|
+
releaseResources: function (func) {
|
|
2358
|
+
if (emnapiTSFN.getState(func) !== 2 /* State.kClosed */) {
|
|
2359
|
+
emnapiTSFN.setState(func, 2 /* State.kClosed */);
|
|
2360
|
+
var env = emnapiTSFN.getEnv(func);
|
|
2361
|
+
var envObject = emnapiCtx.envStore.get(env);
|
|
2362
|
+
var ref = emnapiTSFN.getRef(func);
|
|
2363
|
+
if (ref) {
|
|
2364
|
+
emnapiCtx.refStore.get(ref).dispose();
|
|
2365
|
+
}
|
|
2366
|
+
var resource = emnapiTSFN.getResource(func);
|
|
2367
|
+
emnapiCtx.refStore.get(resource).dispose();
|
|
2368
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
2369
|
+
HEAP_DATA_VIEW.setInt8(func + emnapiTSFN.offset.is_some, 0, true);
|
|
2370
|
+
emnapiCtx.removeCleanupHook(envObject, emnapiTSFN.cleanup, func);
|
|
2371
|
+
envObject.unref();
|
|
2372
|
+
var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >>> 2;
|
|
2373
|
+
var arr = new Uint32Array(wasmMemory.buffer);
|
|
2374
|
+
if (Atomics.load(arr, asyncRefOffset) > 0) {
|
|
2375
|
+
Atomics.store(arr, asyncRefOffset, 0);
|
|
2376
|
+
emnapiCtx.decreaseWaitingRequestCounter();
|
|
2377
|
+
}
|
|
2378
|
+
if (emnapiNodeBinding) {
|
|
2379
|
+
var view = new DataView(wasmMemory.buffer);
|
|
2380
|
+
var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
|
|
2381
|
+
var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
|
|
2382
|
+
_emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
|
|
2383
|
+
}
|
|
2384
|
+
}
|
|
2385
|
+
},
|
|
2298
2386
|
destroy: function (func) {
|
|
2387
|
+
emnapiTSFN._liveSet.delete(func);
|
|
2299
2388
|
emnapiTSFN.destroyQueue(func);
|
|
2300
|
-
|
|
2301
|
-
var envObject = emnapiCtx.envStore.get(env);
|
|
2302
|
-
var ref = emnapiTSFN.getRef(func);
|
|
2303
|
-
if (ref) {
|
|
2304
|
-
emnapiCtx.refStore.get(ref).dispose();
|
|
2305
|
-
}
|
|
2306
|
-
emnapiCtx.removeCleanupHook(envObject, emnapiTSFN.cleanup, func);
|
|
2307
|
-
envObject.unref();
|
|
2308
|
-
var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
|
|
2309
|
-
var arr = new Int32Array(wasmMemory.buffer);
|
|
2310
|
-
if (Atomics.load(arr, asyncRefOffset)) {
|
|
2311
|
-
Atomics.store(arr, asyncRefOffset, 0);
|
|
2312
|
-
emnapiCtx.decreaseWaitingRequestCounter();
|
|
2313
|
-
}
|
|
2314
|
-
var resource = emnapiTSFN.getResource(func);
|
|
2315
|
-
emnapiCtx.refStore.get(resource).dispose();
|
|
2316
|
-
if (emnapiNodeBinding) {
|
|
2317
|
-
var view = new DataView(wasmMemory.buffer);
|
|
2318
|
-
var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
|
|
2319
|
-
var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
|
|
2320
|
-
_emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
|
|
2321
|
-
}
|
|
2389
|
+
emnapiTSFN.releaseResources(func);
|
|
2322
2390
|
_free(func);
|
|
2323
2391
|
},
|
|
2324
|
-
|
|
2392
|
+
emptyQueue: function (func) {
|
|
2393
|
+
var drainQueue = [];
|
|
2394
|
+
emnapiTSFN.getMutex(func).execute(function () {
|
|
2395
|
+
while (emnapiTSFN.getQueueSize(func) > 0) {
|
|
2396
|
+
drainQueue.push(emnapiTSFN.shiftQueue(func));
|
|
2397
|
+
}
|
|
2398
|
+
});
|
|
2325
2399
|
var callJsCb = emnapiTSFN.getCallJSCb(func);
|
|
2326
2400
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2327
2401
|
var context = emnapiTSFN.getContext(func);
|
|
2328
2402
|
var data;
|
|
2329
|
-
|
|
2403
|
+
for (var i = 0; i < drainQueue.length; i++) {
|
|
2330
2404
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2331
|
-
data =
|
|
2405
|
+
data = drainQueue[i];
|
|
2332
2406
|
if (callJsCb) {
|
|
2333
2407
|
(wasmTable.get(callJsCb))(0, 0, context, data);
|
|
2334
2408
|
}
|
|
2335
2409
|
}
|
|
2336
|
-
|
|
2410
|
+
},
|
|
2411
|
+
maybeDelete: function (func) {
|
|
2412
|
+
var shouldDelete = false;
|
|
2413
|
+
emnapiTSFN.getMutex(func).execute(function () {
|
|
2414
|
+
if (emnapiTSFN.getThreadCount(func) > 0) {
|
|
2415
|
+
emnapiTSFN.releaseResources(func);
|
|
2416
|
+
}
|
|
2417
|
+
else {
|
|
2418
|
+
shouldDelete = true;
|
|
2419
|
+
}
|
|
2420
|
+
});
|
|
2421
|
+
if (shouldDelete) {
|
|
2422
|
+
emnapiTSFN.destroy(func);
|
|
2423
|
+
}
|
|
2337
2424
|
},
|
|
2338
2425
|
finalize: function (func) {
|
|
2339
2426
|
var env = emnapiTSFN.getEnv(func);
|
|
@@ -2348,6 +2435,7 @@
|
|
|
2348
2435
|
envObject.callFinalizerInternal(0, finalize, data, context);
|
|
2349
2436
|
};
|
|
2350
2437
|
try {
|
|
2438
|
+
emnapiTSFN.emptyQueue(func);
|
|
2351
2439
|
if (finalize) {
|
|
2352
2440
|
if (emnapiNodeBinding) {
|
|
2353
2441
|
var resource = emnapiTSFN.getResource(func);
|
|
@@ -2365,7 +2453,7 @@
|
|
|
2365
2453
|
f();
|
|
2366
2454
|
}
|
|
2367
2455
|
}
|
|
2368
|
-
emnapiTSFN.
|
|
2456
|
+
emnapiTSFN.maybeDelete(func);
|
|
2369
2457
|
}
|
|
2370
2458
|
finally {
|
|
2371
2459
|
emnapiCtx.closeScope(envObject);
|
|
@@ -2381,7 +2469,7 @@
|
|
|
2381
2469
|
try {
|
|
2382
2470
|
if (set_closing) {
|
|
2383
2471
|
emnapiTSFN.getMutex(func).execute(function () {
|
|
2384
|
-
emnapiTSFN.
|
|
2472
|
+
emnapiTSFN.setState(func, 1 /* State.kClosing */);
|
|
2385
2473
|
if (emnapiTSFN.getMaxQueueSize(func) > 0) {
|
|
2386
2474
|
emnapiTSFN.getCond(func).signal();
|
|
2387
2475
|
}
|
|
@@ -2391,6 +2479,7 @@
|
|
|
2391
2479
|
return;
|
|
2392
2480
|
}
|
|
2393
2481
|
emnapiTSFN.setHandlesClosing(func, 1);
|
|
2482
|
+
Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.async_pending) >>> 2, 1);
|
|
2394
2483
|
emnapiCtx.feature.setImmediate(function () {
|
|
2395
2484
|
emnapiTSFN.finalize(func);
|
|
2396
2485
|
});
|
|
@@ -2407,10 +2496,7 @@
|
|
|
2407
2496
|
var mutex = emnapiTSFN.getMutex(func);
|
|
2408
2497
|
var cond = emnapiTSFN.getCond(func);
|
|
2409
2498
|
mutex.execute(function () {
|
|
2410
|
-
if (emnapiTSFN.
|
|
2411
|
-
emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
|
|
2412
|
-
}
|
|
2413
|
-
else {
|
|
2499
|
+
if (emnapiTSFN.getState(func) === 0 /* State.kOpen */) {
|
|
2414
2500
|
var size = emnapiTSFN.getQueueSize(func);
|
|
2415
2501
|
if (size > 0) {
|
|
2416
2502
|
data = emnapiTSFN.shiftQueue(func);
|
|
@@ -2423,7 +2509,7 @@
|
|
|
2423
2509
|
}
|
|
2424
2510
|
if (size === 0) {
|
|
2425
2511
|
if (emnapiTSFN.getThreadCount(func) === 0) {
|
|
2426
|
-
emnapiTSFN.
|
|
2512
|
+
emnapiTSFN.setState(func, 1 /* State.kClosing */);
|
|
2427
2513
|
if (emnapiTSFN.getMaxQueueSize(func) > 0) {
|
|
2428
2514
|
cond.signal();
|
|
2429
2515
|
}
|
|
@@ -2434,6 +2520,9 @@
|
|
|
2434
2520
|
has_more = true;
|
|
2435
2521
|
}
|
|
2436
2522
|
}
|
|
2523
|
+
else {
|
|
2524
|
+
emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
|
|
2525
|
+
}
|
|
2437
2526
|
});
|
|
2438
2527
|
if (popped_value) {
|
|
2439
2528
|
var env = emnapiTSFN.getEnv(func);
|
|
@@ -2482,7 +2571,7 @@
|
|
|
2482
2571
|
var has_more = true;
|
|
2483
2572
|
var iterations_left = 1000;
|
|
2484
2573
|
var ui32a = new Uint32Array(wasmMemory.buffer);
|
|
2485
|
-
var index = (func + emnapiTSFN.offset.dispatch_state)
|
|
2574
|
+
var index = (func + emnapiTSFN.offset.dispatch_state) >>> 2;
|
|
2486
2575
|
while (has_more && --iterations_left !== 0) {
|
|
2487
2576
|
Atomics.store(ui32a, index, 1);
|
|
2488
2577
|
has_more = emnapiTSFN.dispatchOne(func);
|
|
@@ -2494,25 +2583,85 @@
|
|
|
2494
2583
|
emnapiTSFN.send(func);
|
|
2495
2584
|
}
|
|
2496
2585
|
},
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2586
|
+
enqueue: function (func) {
|
|
2587
|
+
// `pending` means a worker thread has requested a wakeup that has not
|
|
2588
|
+
// been drained on the main thread yet.
|
|
2589
|
+
var pending = func + emnapiTSFN.offset.async_pending;
|
|
2590
|
+
// `scheduled` prevents queueing the same main-thread drain chain more than
|
|
2591
|
+
// once while a previous wakeup is still in flight.
|
|
2592
|
+
var scheduled = func + emnapiTSFN.offset.async_u_fd;
|
|
2593
|
+
var i32a = new Int32Array(wasmMemory.buffer);
|
|
2594
|
+
if (Atomics.exchange(i32a, scheduled >>> 2, 1) !== 0) {
|
|
2500
2595
|
return;
|
|
2501
2596
|
}
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2597
|
+
// Match uv_async_send-style coalescing in JS: the first turn represents
|
|
2598
|
+
// the wakeup reaching the main thread, and the second turn performs the
|
|
2599
|
+
// actual TSFN drain after nearby Send/Signal calls have had a chance to
|
|
2600
|
+
// collapse into the shared AsyncProgressWorker state.
|
|
2601
|
+
emnapiCtx.feature.setImmediate(function () {
|
|
2602
|
+
if (!emnapiTSFN._liveSet.has(func)) {
|
|
2603
|
+
return;
|
|
2604
|
+
}
|
|
2605
|
+
if (Atomics.load(i32a, pending >>> 2) === 0) {
|
|
2606
|
+
Atomics.store(i32a, scheduled >>> 2, 0);
|
|
2607
|
+
return;
|
|
2608
|
+
}
|
|
2609
|
+
emnapiCtx.feature.setImmediate(function () {
|
|
2610
|
+
try {
|
|
2611
|
+
// Consume the coalesced wakeup once, then let dispatch() observe any
|
|
2612
|
+
// queue mutations through dispatch_state like the C implementation.
|
|
2613
|
+
if (Atomics.exchange(i32a, pending >>> 2, 0) === 0) {
|
|
2614
|
+
return;
|
|
2615
|
+
}
|
|
2616
|
+
// After destroy(), the func address is freed. Skip dispatch
|
|
2617
|
+
// to avoid use-after-free (JS-side lifecycle check).
|
|
2618
|
+
if (!emnapiTSFN._liveSet.has(func)) {
|
|
2619
|
+
return;
|
|
2620
|
+
}
|
|
2621
|
+
emnapiTSFN.dispatch(func);
|
|
2622
|
+
}
|
|
2623
|
+
finally {
|
|
2624
|
+
// Allow a later wakeup to schedule a new drain chain. If another
|
|
2625
|
+
// worker-thread send raced with this drain, enqueue one more turn.
|
|
2626
|
+
if (emnapiTSFN._liveSet.has(func)) {
|
|
2627
|
+
Atomics.store(i32a, scheduled >>> 2, 0);
|
|
2628
|
+
if (Atomics.load(i32a, pending >>> 2) !== 0) {
|
|
2629
|
+
emnapiTSFN.enqueue(func);
|
|
2630
|
+
}
|
|
2508
2631
|
}
|
|
2509
2632
|
}
|
|
2510
2633
|
});
|
|
2634
|
+
});
|
|
2635
|
+
},
|
|
2636
|
+
send: function (func) {
|
|
2637
|
+
var current_state = Atomics.or(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >>> 2, 1 << 1);
|
|
2638
|
+
if ((current_state & 1) === 1) {
|
|
2639
|
+
return;
|
|
2511
2640
|
}
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2641
|
+
var pendng = func + emnapiTSFN.offset.async_pending;
|
|
2642
|
+
// A wakeup is already pending, so this send only needs to leave the queued
|
|
2643
|
+
// work in the TSFN queue and let the existing drain pick it up.
|
|
2644
|
+
if (Atomics.load(new Int32Array(wasmMemory.buffer), pendng >>> 2) !== 0) {
|
|
2645
|
+
return;
|
|
2646
|
+
}
|
|
2647
|
+
if (Atomics.exchange(new Int32Array(wasmMemory.buffer), pendng >>> 2, 1) === 0) {
|
|
2648
|
+
if ((typeof ENVIRONMENT_IS_PTHREAD !== 'undefined') && ENVIRONMENT_IS_PTHREAD) {
|
|
2649
|
+
// Worker threads only post a wakeup token. Main-thread draining is
|
|
2650
|
+
// serialized by enqueue() once the message is received.
|
|
2651
|
+
postMessage({
|
|
2652
|
+
__emnapi__: {
|
|
2653
|
+
type: 'tsfn-send',
|
|
2654
|
+
payload: {
|
|
2655
|
+
tsfn: func
|
|
2656
|
+
}
|
|
2657
|
+
}
|
|
2658
|
+
});
|
|
2659
|
+
}
|
|
2660
|
+
else {
|
|
2661
|
+
// On the main thread we can skip the cross-thread hop and schedule the
|
|
2662
|
+
// coalesced drain chain directly.
|
|
2663
|
+
emnapiTSFN.enqueue(func);
|
|
2664
|
+
}
|
|
2516
2665
|
}
|
|
2517
2666
|
}
|
|
2518
2667
|
};
|
|
@@ -2525,6 +2674,13 @@
|
|
|
2525
2674
|
envObject.checkGCAccess();
|
|
2526
2675
|
if (!async_resource_name)
|
|
2527
2676
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
2677
|
+
max_queue_size >>>= 0;
|
|
2678
|
+
initial_thread_count >>>= 0;
|
|
2679
|
+
env >>>= 0;
|
|
2680
|
+
thread_finalize_data >>>= 0;
|
|
2681
|
+
thread_finalize_cb >>>= 0;
|
|
2682
|
+
context >>>= 0;
|
|
2683
|
+
call_js_cb >>>= 0;
|
|
2528
2684
|
max_queue_size = max_queue_size >>> 0;
|
|
2529
2685
|
initial_thread_count = initial_thread_count >>> 0;
|
|
2530
2686
|
if (initial_thread_count === 0) {
|
|
@@ -2533,6 +2689,7 @@
|
|
|
2533
2689
|
if (!result)
|
|
2534
2690
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
2535
2691
|
var ref = 0;
|
|
2692
|
+
func >>>= 0;
|
|
2536
2693
|
if (!func) {
|
|
2537
2694
|
if (!call_js_cb)
|
|
2538
2695
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
@@ -2564,22 +2721,25 @@
|
|
|
2564
2721
|
asyncResourceName = String(asyncResourceName);
|
|
2565
2722
|
var resource_name = envObject.ensureHandleId(asyncResourceName);
|
|
2566
2723
|
// tsfn create
|
|
2567
|
-
var sizeofTSFN = emnapiTSFN.offset.
|
|
2724
|
+
var sizeofTSFN = emnapiTSFN.offset.__size__;
|
|
2725
|
+
// eslint-disable-next-line prefer-const
|
|
2568
2726
|
var tsfn = _malloc(sizeofTSFN);
|
|
2569
2727
|
if (!tsfn)
|
|
2570
2728
|
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
2729
|
+
tsfn >>>= 0;
|
|
2571
2730
|
new Uint8Array(wasmMemory.buffer).subarray(tsfn, tsfn + sizeofTSFN).fill(0);
|
|
2572
2731
|
var resourceRef = emnapiCtx.createReference(envObject, resource, 1, 1 /* ReferenceOwnership.kUserland */);
|
|
2573
2732
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2574
2733
|
var resource_ = resourceRef.id;
|
|
2575
2734
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
2576
|
-
HEAP_DATA_VIEW.setUint32(tsfn, resource_, true);
|
|
2735
|
+
HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.resource, resource_, true);
|
|
2577
2736
|
if (!emnapiTSFN.initQueue(tsfn)) {
|
|
2578
2737
|
_free(tsfn);
|
|
2579
2738
|
resourceRef.dispose();
|
|
2580
2739
|
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
2581
2740
|
}
|
|
2582
2741
|
_emnapi_node_emit_async_init(resource, resource_name, -1, tsfn + emnapiTSFN.offset.async_id);
|
|
2742
|
+
HEAP_DATA_VIEW.setInt8(tsfn + emnapiTSFN.offset.is_some, 1, true);
|
|
2583
2743
|
HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.thread_count, initial_thread_count, true);
|
|
2584
2744
|
HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.context, context, true);
|
|
2585
2745
|
HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.max_queue_size, max_queue_size, true);
|
|
@@ -2589,9 +2749,11 @@
|
|
|
2589
2749
|
HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.finalize_cb, thread_finalize_cb, true);
|
|
2590
2750
|
HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.call_js_cb, call_js_cb, true);
|
|
2591
2751
|
emnapiCtx.addCleanupHook(envObject, emnapiTSFN.cleanup, tsfn);
|
|
2752
|
+
emnapiTSFN._liveSet.add(tsfn);
|
|
2592
2753
|
envObject.ref();
|
|
2593
2754
|
emnapiCtx.increaseWaitingRequestCounter();
|
|
2594
|
-
HEAP_DATA_VIEW.
|
|
2755
|
+
HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.async_ref, 1, true);
|
|
2756
|
+
result >>>= 0;
|
|
2595
2757
|
HEAP_DATA_VIEW.setUint32(result, tsfn, true);
|
|
2596
2758
|
return envObject.clearLastError();
|
|
2597
2759
|
}
|
|
@@ -2601,6 +2763,8 @@
|
|
|
2601
2763
|
abort();
|
|
2602
2764
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2603
2765
|
}
|
|
2766
|
+
func >>>= 0;
|
|
2767
|
+
result >>>= 0;
|
|
2604
2768
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2605
2769
|
var context = emnapiTSFN.getContext(func);
|
|
2606
2770
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -2613,6 +2777,8 @@
|
|
|
2613
2777
|
abort();
|
|
2614
2778
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2615
2779
|
}
|
|
2780
|
+
func >>>= 0;
|
|
2781
|
+
data >>>= 0;
|
|
2616
2782
|
return emnapiTSFN.push(func, data, mode);
|
|
2617
2783
|
}
|
|
2618
2784
|
/** @__sig ip */
|
|
@@ -2621,13 +2787,14 @@
|
|
|
2621
2787
|
abort();
|
|
2622
2788
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2623
2789
|
}
|
|
2790
|
+
func >>>= 0;
|
|
2624
2791
|
var mutex = emnapiTSFN.getMutex(func);
|
|
2625
2792
|
return mutex.execute(function () {
|
|
2626
|
-
if (emnapiTSFN.
|
|
2627
|
-
|
|
2793
|
+
if (emnapiTSFN.getState(func) === 0 /* State.kOpen */) {
|
|
2794
|
+
emnapiTSFN.addThreadCount(func);
|
|
2795
|
+
return 0 /* napi_status.napi_ok */;
|
|
2628
2796
|
}
|
|
2629
|
-
|
|
2630
|
-
return 0 /* napi_status.napi_ok */;
|
|
2797
|
+
return 16 /* napi_status.napi_closing */;
|
|
2631
2798
|
});
|
|
2632
2799
|
}
|
|
2633
2800
|
/** @__sig ipi */
|
|
@@ -2636,26 +2803,36 @@
|
|
|
2636
2803
|
abort();
|
|
2637
2804
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2638
2805
|
}
|
|
2806
|
+
func >>>= 0;
|
|
2639
2807
|
var mutex = emnapiTSFN.getMutex(func);
|
|
2640
2808
|
var cond = emnapiTSFN.getCond(func);
|
|
2641
|
-
|
|
2809
|
+
var shouldDelete = false;
|
|
2810
|
+
var ret = mutex.execute(function () {
|
|
2642
2811
|
if (emnapiTSFN.getThreadCount(func) === 0) {
|
|
2643
2812
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2644
2813
|
}
|
|
2645
2814
|
emnapiTSFN.subThreadCount(func);
|
|
2646
2815
|
if (emnapiTSFN.getThreadCount(func) === 0 || mode === 1 /* napi_threadsafe_function_release_mode.napi_tsfn_abort */) {
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
if (
|
|
2816
|
+
if (emnapiTSFN.getState(func) === 0 /* State.kOpen */) {
|
|
2817
|
+
if (mode === 1 /* napi_threadsafe_function_release_mode.napi_tsfn_abort */) {
|
|
2818
|
+
emnapiTSFN.setState(func, 1 /* State.kClosing */);
|
|
2819
|
+
}
|
|
2820
|
+
if (emnapiTSFN.getState(func) === 1 /* State.kClosing */ && emnapiTSFN.getMaxQueueSize(func) > 0) {
|
|
2652
2821
|
cond.signal();
|
|
2653
2822
|
}
|
|
2654
2823
|
emnapiTSFN.send(func);
|
|
2655
2824
|
}
|
|
2656
2825
|
}
|
|
2826
|
+
if (!(emnapiTSFN.getState(func) === 2 /* State.kClosed */ && emnapiTSFN.getThreadCount(func) === 0)) {
|
|
2827
|
+
return 0 /* napi_status.napi_ok */;
|
|
2828
|
+
}
|
|
2829
|
+
shouldDelete = true;
|
|
2657
2830
|
return 0 /* napi_status.napi_ok */;
|
|
2658
2831
|
});
|
|
2832
|
+
if (shouldDelete) {
|
|
2833
|
+
emnapiTSFN.destroy(func);
|
|
2834
|
+
}
|
|
2835
|
+
return ret;
|
|
2659
2836
|
}
|
|
2660
2837
|
/** @__sig ipp */
|
|
2661
2838
|
function napi_unref_threadsafe_function(env, func) {
|
|
@@ -2663,11 +2840,15 @@
|
|
|
2663
2840
|
abort();
|
|
2664
2841
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2665
2842
|
}
|
|
2666
|
-
|
|
2667
|
-
var
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2843
|
+
func >>>= 0;
|
|
2844
|
+
var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >>> 2;
|
|
2845
|
+
var arr = new Uint32Array(wasmMemory.buffer);
|
|
2846
|
+
var currentValue = Atomics.load(arr, asyncRefOffset);
|
|
2847
|
+
if (currentValue > 0) {
|
|
2848
|
+
Atomics.store(arr, asyncRefOffset, currentValue - 1);
|
|
2849
|
+
if (currentValue === 1) {
|
|
2850
|
+
emnapiCtx.decreaseWaitingRequestCounter();
|
|
2851
|
+
}
|
|
2671
2852
|
}
|
|
2672
2853
|
return 0 /* napi_status.napi_ok */;
|
|
2673
2854
|
}
|
|
@@ -2677,34 +2858,57 @@
|
|
|
2677
2858
|
abort();
|
|
2678
2859
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2679
2860
|
}
|
|
2680
|
-
|
|
2681
|
-
var
|
|
2682
|
-
|
|
2683
|
-
|
|
2861
|
+
func >>>= 0;
|
|
2862
|
+
var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >>> 2;
|
|
2863
|
+
var arr = new Uint32Array(wasmMemory.buffer);
|
|
2864
|
+
var currentValue = Atomics.load(arr, asyncRefOffset);
|
|
2865
|
+
if (!currentValue) {
|
|
2684
2866
|
emnapiCtx.increaseWaitingRequestCounter();
|
|
2685
2867
|
}
|
|
2868
|
+
Atomics.store(arr, asyncRefOffset, currentValue + 1);
|
|
2686
2869
|
return 0 /* napi_status.napi_ok */;
|
|
2687
2870
|
}
|
|
2688
2871
|
var emnapiAWMT = {
|
|
2689
|
-
|
|
2690
|
-
runningWorkers: [],
|
|
2691
|
-
workQueue: [],
|
|
2872
|
+
pool: [],
|
|
2692
2873
|
workerReady: null,
|
|
2874
|
+
globalAddress: 0,
|
|
2875
|
+
globalOffset: {
|
|
2876
|
+
idle_threads: 0,
|
|
2877
|
+
q: 1 * 4,
|
|
2878
|
+
next: 1 * 4,
|
|
2879
|
+
prev: 2 * 4,
|
|
2880
|
+
mutex: 3 * 4,
|
|
2881
|
+
cond: 4 * 4,
|
|
2882
|
+
exit_message: 5 * 4,
|
|
2883
|
+
end: 7 * 4
|
|
2884
|
+
},
|
|
2693
2885
|
offset: {
|
|
2694
2886
|
/* napi_ref */ resource: 0,
|
|
2695
2887
|
/* double */ async_id: 8,
|
|
2696
2888
|
/* double */ trigger_async_id: 16,
|
|
2697
2889
|
/* napi_env */ env: 24,
|
|
2698
|
-
/*
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2890
|
+
/* int32_t */ status: 1 * 4 + 24, // 0 for pending, 1 for cancelled, 2 for completed
|
|
2891
|
+
queue: 2 * 4 + 24,
|
|
2892
|
+
queue_next: 2 * 4 + 24,
|
|
2893
|
+
queue_prev: 3 * 4 + 24,
|
|
2894
|
+
/* void* */ data: 4 * 4 + 24,
|
|
2895
|
+
/* napi_async_execute_callback */ execute: 5 * 4 + 24,
|
|
2896
|
+
/* napi_async_complete_callback */ complete: 6 * 4 + 24,
|
|
2897
|
+
end: 7 * 4 + 24
|
|
2702
2898
|
},
|
|
2703
2899
|
init: function () {
|
|
2704
|
-
emnapiAWMT.
|
|
2705
|
-
emnapiAWMT.runningWorkers = [];
|
|
2706
|
-
emnapiAWMT.workQueue = [];
|
|
2900
|
+
emnapiAWMT.pool = [];
|
|
2707
2901
|
emnapiAWMT.workerReady = null;
|
|
2902
|
+
if (typeof PThread !== 'undefined') {
|
|
2903
|
+
PThread.unusedWorkers.forEach(emnapiAWMT.addListener);
|
|
2904
|
+
PThread.runningWorkers.forEach(emnapiAWMT.addListener);
|
|
2905
|
+
var __original_getNewWorker_1 = PThread.getNewWorker;
|
|
2906
|
+
PThread.getNewWorker = function () {
|
|
2907
|
+
var r = __original_getNewWorker_1.apply(this, arguments);
|
|
2908
|
+
emnapiAWMT.addListener(r);
|
|
2909
|
+
return r;
|
|
2910
|
+
};
|
|
2911
|
+
}
|
|
2708
2912
|
},
|
|
2709
2913
|
addListener: function (worker) {
|
|
2710
2914
|
if (!worker)
|
|
@@ -2718,18 +2922,8 @@
|
|
|
2718
2922
|
var type = __emnapi__.type;
|
|
2719
2923
|
var payload = __emnapi__.payload;
|
|
2720
2924
|
if (type === 'async-work-complete') {
|
|
2721
|
-
emnapiCtx.decreaseWaitingRequestCounter();
|
|
2722
|
-
emnapiAWMT.runningWorkers.splice(emnapiAWMT.runningWorkers.indexOf(worker), 1);
|
|
2723
|
-
emnapiAWMT.unusedWorkers.push(worker);
|
|
2724
|
-
emnapiAWMT.checkIdleWorker();
|
|
2725
2925
|
emnapiAWMT.callComplete(payload.work, 0 /* napi_status.napi_ok */);
|
|
2726
2926
|
}
|
|
2727
|
-
else if (type === 'async-work-queue') {
|
|
2728
|
-
emnapiAWMT.scheduleWork(payload.work);
|
|
2729
|
-
}
|
|
2730
|
-
else if (type === 'async-work-cancel') {
|
|
2731
|
-
emnapiAWMT.cancelWork(payload.work);
|
|
2732
|
-
}
|
|
2733
2927
|
}
|
|
2734
2928
|
};
|
|
2735
2929
|
var dispose = function () {
|
|
@@ -2750,6 +2944,26 @@
|
|
|
2750
2944
|
}
|
|
2751
2945
|
return true;
|
|
2752
2946
|
},
|
|
2947
|
+
initGlobal: function () {
|
|
2948
|
+
if (!emnapiAWMT.globalAddress) {
|
|
2949
|
+
emnapiAWMT.globalAddress = _malloc(emnapiAWMT.globalOffset.end);
|
|
2950
|
+
emnapiAWMT.globalAddress >>>= 0;
|
|
2951
|
+
var size = emnapiAWMT.globalOffset.end;
|
|
2952
|
+
var addr = emnapiAWMT.globalAddress;
|
|
2953
|
+
new Uint8Array(wasmMemory.buffer, addr, size).fill(0);
|
|
2954
|
+
emnapiAWMT.queueInit(emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.q);
|
|
2955
|
+
emnapiAWMT.queueInit(emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.exit_message);
|
|
2956
|
+
}
|
|
2957
|
+
},
|
|
2958
|
+
terminateWorkers: function () {
|
|
2959
|
+
emnapiAWMT.pool.forEach(function (w) {
|
|
2960
|
+
var _a, _b;
|
|
2961
|
+
(_a = w._emnapiAWMTListener) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
2962
|
+
(_b = w._emnapiTSFNListener) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
2963
|
+
w.terminate();
|
|
2964
|
+
});
|
|
2965
|
+
emnapiAWMT.pool.length = 0;
|
|
2966
|
+
},
|
|
2753
2967
|
initWorkers: function (n) {
|
|
2754
2968
|
if (ENVIRONMENT_IS_PTHREAD) {
|
|
2755
2969
|
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
|
@@ -2757,137 +2971,200 @@
|
|
|
2757
2971
|
}
|
|
2758
2972
|
if (emnapiAWMT.workerReady)
|
|
2759
2973
|
return emnapiAWMT.workerReady;
|
|
2760
|
-
if (typeof onCreateWorker !== 'function') {
|
|
2761
|
-
throw new TypeError('`options.onCreateWorker` is not a function');
|
|
2762
|
-
}
|
|
2763
|
-
var promises = [];
|
|
2764
|
-
var args = [];
|
|
2765
2974
|
if (!('emnapi_async_worker_create' in wasmInstance.exports)) {
|
|
2766
2975
|
throw new TypeError('`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags');
|
|
2767
2976
|
}
|
|
2977
|
+
var emnapi_async_worker_create = wasmInstance.exports.emnapi_async_worker_create;
|
|
2978
|
+
var args = [];
|
|
2979
|
+
emnapiAWMT.initGlobal();
|
|
2768
2980
|
for (var i = 0; i < n; ++i) {
|
|
2769
|
-
args.push(
|
|
2981
|
+
args.push(emnapi_async_worker_create(1, emnapiAWMT.globalAddress));
|
|
2770
2982
|
}
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
var p = PThread.loadWasmModuleToWorker(worker);
|
|
2775
|
-
emnapiAWMT.addListener(worker);
|
|
2776
|
-
promises.push(p.then(function () {
|
|
2777
|
-
if (typeof worker.unref === 'function') {
|
|
2778
|
-
worker.unref();
|
|
2779
|
-
}
|
|
2780
|
-
}));
|
|
2781
|
-
emnapiAWMT.unusedWorkers.push(worker);
|
|
2782
|
-
var arg = args[i];
|
|
2783
|
-
worker.threadBlockBase = arg;
|
|
2784
|
-
worker.postMessage({
|
|
2785
|
-
__emnapi__: {
|
|
2786
|
-
type: 'async-worker-init',
|
|
2787
|
-
payload: { arg: arg }
|
|
2788
|
-
}
|
|
2789
|
-
});
|
|
2790
|
-
};
|
|
2791
|
-
for (var i = 0; i < n; ++i) {
|
|
2792
|
-
_loop_1(i);
|
|
2983
|
+
var promises = args.map(function (index) {
|
|
2984
|
+
if (index === 0) {
|
|
2985
|
+
return Promise.reject(new Error('Failed to create async worker'));
|
|
2793
2986
|
}
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
_free(arg);
|
|
2987
|
+
var worker;
|
|
2988
|
+
if (index < 0) {
|
|
2989
|
+
worker = emnapiAWMT.pool[-index - 1];
|
|
2990
|
+
if (worker)
|
|
2991
|
+
return worker.whenLoaded;
|
|
2800
2992
|
}
|
|
2801
|
-
|
|
2802
|
-
|
|
2993
|
+
index >>>= 0;
|
|
2994
|
+
var view = new DataView(wasmMemory.buffer);
|
|
2995
|
+
var tidOffset = 20;
|
|
2996
|
+
var tid = view.getInt32(index + tidOffset, true);
|
|
2997
|
+
worker = PThread.pthreads[tid];
|
|
2998
|
+
return worker.whenLoaded;
|
|
2999
|
+
});
|
|
2803
3000
|
emnapiAWMT.workerReady = Promise.all(promises);
|
|
2804
3001
|
return emnapiAWMT.workerReady;
|
|
2805
3002
|
},
|
|
2806
|
-
checkIdleWorker: function () {
|
|
2807
|
-
if (emnapiAWMT.unusedWorkers.length > 0 && emnapiAWMT.workQueue.length > 0) {
|
|
2808
|
-
var worker = emnapiAWMT.unusedWorkers.shift();
|
|
2809
|
-
var work = emnapiAWMT.workQueue.shift();
|
|
2810
|
-
emnapiAWMT.runningWorkers.push(worker);
|
|
2811
|
-
worker.postMessage({
|
|
2812
|
-
__emnapi__: {
|
|
2813
|
-
type: 'async-work-execute',
|
|
2814
|
-
payload: { work: work }
|
|
2815
|
-
}
|
|
2816
|
-
});
|
|
2817
|
-
}
|
|
2818
|
-
},
|
|
2819
3003
|
getResource: function (work) {
|
|
2820
|
-
|
|
3004
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3005
|
+
return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.resource, true);
|
|
2821
3006
|
},
|
|
2822
3007
|
getExecute: function (work) {
|
|
2823
|
-
|
|
3008
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3009
|
+
return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.execute, true);
|
|
2824
3010
|
},
|
|
2825
3011
|
getComplete: function (work) {
|
|
2826
|
-
|
|
3012
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3013
|
+
return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.complete, true);
|
|
2827
3014
|
},
|
|
2828
3015
|
getEnv: function (work) {
|
|
2829
|
-
|
|
3016
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3017
|
+
return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.env, true);
|
|
2830
3018
|
},
|
|
2831
3019
|
getData: function (work) {
|
|
2832
|
-
|
|
3020
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3021
|
+
return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.data, true);
|
|
3022
|
+
},
|
|
3023
|
+
getMutex: function () {
|
|
3024
|
+
var index = emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.mutex;
|
|
3025
|
+
var mutex = {
|
|
3026
|
+
lock: function () {
|
|
3027
|
+
var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
|
|
3028
|
+
var i32a = new Int32Array(wasmMemory.buffer, index, 1);
|
|
3029
|
+
if (isBrowserMain) {
|
|
3030
|
+
while (true) {
|
|
3031
|
+
var oldValue = Atomics.compareExchange(i32a, 0, 0, 10);
|
|
3032
|
+
if (oldValue === 0) {
|
|
3033
|
+
return;
|
|
3034
|
+
}
|
|
3035
|
+
}
|
|
3036
|
+
}
|
|
3037
|
+
else {
|
|
3038
|
+
while (true) {
|
|
3039
|
+
var oldValue = Atomics.compareExchange(i32a, 0, 0, 10);
|
|
3040
|
+
if (oldValue === 0) {
|
|
3041
|
+
return;
|
|
3042
|
+
}
|
|
3043
|
+
Atomics.wait(i32a, 0, 10);
|
|
3044
|
+
}
|
|
3045
|
+
}
|
|
3046
|
+
},
|
|
3047
|
+
unlock: function () {
|
|
3048
|
+
var i32a = new Int32Array(wasmMemory.buffer, index, 1);
|
|
3049
|
+
var oldValue = Atomics.compareExchange(i32a, 0, 10, 0);
|
|
3050
|
+
if (oldValue !== 10) {
|
|
3051
|
+
throw new Error('Tried to unlock while not holding the mutex');
|
|
3052
|
+
}
|
|
3053
|
+
Atomics.notify(i32a, 0, 1);
|
|
3054
|
+
},
|
|
3055
|
+
execute: function (fn) {
|
|
3056
|
+
mutex.lock();
|
|
3057
|
+
try {
|
|
3058
|
+
return fn();
|
|
3059
|
+
}
|
|
3060
|
+
finally {
|
|
3061
|
+
mutex.unlock();
|
|
3062
|
+
}
|
|
3063
|
+
}
|
|
3064
|
+
};
|
|
3065
|
+
return mutex;
|
|
3066
|
+
},
|
|
3067
|
+
getCond: function () {
|
|
3068
|
+
var index = emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.cond;
|
|
3069
|
+
var mutex = emnapiAWMT.getMutex();
|
|
3070
|
+
var cond = {
|
|
3071
|
+
wait: function () {
|
|
3072
|
+
var i32a = new Int32Array(wasmMemory.buffer, index, 1);
|
|
3073
|
+
var value = Atomics.load(i32a, 0);
|
|
3074
|
+
mutex.unlock();
|
|
3075
|
+
Atomics.wait(i32a, 0, value);
|
|
3076
|
+
mutex.lock();
|
|
3077
|
+
},
|
|
3078
|
+
signal: function () {
|
|
3079
|
+
var i32a = new Int32Array(wasmMemory.buffer, index, 1);
|
|
3080
|
+
Atomics.add(i32a, 0, 1);
|
|
3081
|
+
Atomics.notify(i32a, 0, 1);
|
|
3082
|
+
}
|
|
3083
|
+
};
|
|
3084
|
+
return cond;
|
|
3085
|
+
},
|
|
3086
|
+
queueInit: function (q) {
|
|
3087
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3088
|
+
HEAP_DATA_VIEW.setUint32(q, q, true);
|
|
3089
|
+
HEAP_DATA_VIEW.setUint32(q + 4, q, true);
|
|
3090
|
+
},
|
|
3091
|
+
queueInsertTail: function (h, q) {
|
|
3092
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3093
|
+
HEAP_DATA_VIEW.setUint32(q, h, true);
|
|
3094
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3095
|
+
var tempValue = HEAP_DATA_VIEW.getUint32(h + 4, true);
|
|
3096
|
+
HEAP_DATA_VIEW.setUint32(q + 4, tempValue, true);
|
|
3097
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3098
|
+
var qprev = HEAP_DATA_VIEW.getUint32(q + 4, true);
|
|
3099
|
+
HEAP_DATA_VIEW.setUint32(qprev, q, true);
|
|
3100
|
+
HEAP_DATA_VIEW.setUint32(h + 4, q, true);
|
|
3101
|
+
},
|
|
3102
|
+
queueRemove: function (q) {
|
|
3103
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3104
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3105
|
+
var qprev = HEAP_DATA_VIEW.getUint32(q + 4, true);
|
|
3106
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3107
|
+
var qnext = HEAP_DATA_VIEW.getUint32(q, true);
|
|
3108
|
+
HEAP_DATA_VIEW.setUint32(qprev, qnext, true);
|
|
3109
|
+
HEAP_DATA_VIEW.setUint32(qnext + 4, qprev, true);
|
|
3110
|
+
},
|
|
3111
|
+
queueEmpty: function (q) {
|
|
3112
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3113
|
+
// eslint-disable-next-line eqeqeq
|
|
3114
|
+
return q == HEAP_DATA_VIEW.getUint32(q, true);
|
|
2833
3115
|
},
|
|
2834
3116
|
scheduleWork: function (work) {
|
|
2835
3117
|
var _a;
|
|
2836
|
-
if (
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
}
|
|
3118
|
+
if (!((_a = emnapiAWMT.workerReady) === null || _a === void 0 ? void 0 : _a.ready)) {
|
|
3119
|
+
emnapiAWMT.initWorkers(_emnapi_async_work_pool_size()).then(function () {
|
|
3120
|
+
emnapiAWMT.workerReady.ready = true;
|
|
3121
|
+
}).catch(function (err) {
|
|
3122
|
+
emnapiAWMT.workerReady = null;
|
|
3123
|
+
throw err;
|
|
2843
3124
|
});
|
|
2844
|
-
return;
|
|
2845
3125
|
}
|
|
2846
3126
|
emnapiCtx.increaseWaitingRequestCounter();
|
|
2847
|
-
emnapiAWMT.
|
|
2848
|
-
|
|
2849
|
-
|
|
3127
|
+
var statusBuffer = new Int32Array(wasmMemory.buffer, work + emnapiAWMT.offset.status, 1);
|
|
3128
|
+
Atomics.store(statusBuffer, 0, 0 /* AsyncWorkStatus.Pending */);
|
|
3129
|
+
var mutex = emnapiAWMT.getMutex();
|
|
3130
|
+
var cond = emnapiAWMT.getCond();
|
|
3131
|
+
mutex.lock();
|
|
3132
|
+
try {
|
|
3133
|
+
emnapiAWMT.queueInsertTail(emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.q, work + emnapiAWMT.offset.queue);
|
|
2850
3134
|
}
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
};
|
|
2856
|
-
try {
|
|
2857
|
-
emnapiAWMT.initWorkers(_emnapi_async_work_pool_size()).then(function () {
|
|
2858
|
-
emnapiAWMT.workerReady.ready = true;
|
|
2859
|
-
emnapiAWMT.checkIdleWorker();
|
|
2860
|
-
}, fail);
|
|
2861
|
-
}
|
|
2862
|
-
catch (err) {
|
|
2863
|
-
fail(err);
|
|
2864
|
-
}
|
|
3135
|
+
catch (err) {
|
|
3136
|
+
emnapiCtx.decreaseWaitingRequestCounter();
|
|
3137
|
+
mutex.unlock();
|
|
3138
|
+
throw err;
|
|
2865
3139
|
}
|
|
3140
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3141
|
+
if (HEAP_DATA_VIEW.getUint32(emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.idle_threads, true) > 0) {
|
|
3142
|
+
cond.signal();
|
|
3143
|
+
}
|
|
3144
|
+
mutex.unlock();
|
|
2866
3145
|
},
|
|
2867
3146
|
cancelWork: function (work) {
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
3147
|
+
var cancelled = false;
|
|
3148
|
+
emnapiAWMT.getMutex().execute(function () {
|
|
3149
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3150
|
+
cancelled = !emnapiAWMT.queueEmpty(work + emnapiAWMT.offset.queue) && HEAP_DATA_VIEW.getInt32(work + emnapiAWMT.offset.status, true) !== 2 /* AsyncWorkStatus.Completed */;
|
|
3151
|
+
if (cancelled) {
|
|
3152
|
+
emnapiAWMT.queueRemove(work + emnapiAWMT.offset.queue);
|
|
3153
|
+
}
|
|
3154
|
+
});
|
|
3155
|
+
if (!cancelled) {
|
|
3156
|
+
return 9 /* napi_status.napi_generic_failure */;
|
|
2877
3157
|
}
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
emnapiAWMT.workQueue.splice(index, 1);
|
|
2881
|
-
emnapiCtx.feature.setImmediate(function () {
|
|
2882
|
-
emnapiCtx.decreaseWaitingRequestCounter();
|
|
2883
|
-
emnapiAWMT.checkIdleWorker();
|
|
2884
|
-
emnapiAWMT.callComplete(work, 11 /* napi_status.napi_cancelled */);
|
|
2885
|
-
});
|
|
2886
|
-
return 0 /* napi_status.napi_ok */;
|
|
3158
|
+
if (Atomics.compareExchange(new Int32Array(wasmMemory.buffer, work + emnapiAWMT.offset.status, 1), 0, 0 /* AsyncWorkStatus.Pending */, 1 /* AsyncWorkStatus.Cancelled */) !== 0 /* AsyncWorkStatus.Pending */) {
|
|
3159
|
+
return 9 /* napi_status.napi_generic_failure */;
|
|
2887
3160
|
}
|
|
2888
|
-
|
|
3161
|
+
emnapiCtx.feature.setImmediate(function () {
|
|
3162
|
+
emnapiAWMT.callComplete(work, 11 /* napi_status.napi_cancelled */);
|
|
3163
|
+
});
|
|
3164
|
+
return 0 /* napi_status.napi_ok */;
|
|
2889
3165
|
},
|
|
2890
3166
|
callComplete: function (work, status) {
|
|
3167
|
+
emnapiCtx.decreaseWaitingRequestCounter();
|
|
2891
3168
|
var complete = emnapiAWMT.getComplete(work);
|
|
2892
3169
|
var env = emnapiAWMT.getEnv(work);
|
|
2893
3170
|
var data = emnapiAWMT.getData(work);
|
|
@@ -2922,6 +3199,7 @@
|
|
|
2922
3199
|
}
|
|
2923
3200
|
}
|
|
2924
3201
|
};
|
|
3202
|
+
emnapiAWMT.init();
|
|
2925
3203
|
/** @__sig ippppppp */
|
|
2926
3204
|
var napi_create_async_work = singleThreadAsyncWork
|
|
2927
3205
|
? function (env, resource, resource_name, execute, complete, data, result) {
|
|
@@ -2946,6 +3224,7 @@
|
|
|
2946
3224
|
var resourceName = String(emnapiCtx.handleStore.get(resource_name).value);
|
|
2947
3225
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2948
3226
|
var id = emnapiAWST.create(env, resourceObject, resourceName, execute, complete, data);
|
|
3227
|
+
result >>>= 0;
|
|
2949
3228
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
2950
3229
|
HEAP_DATA_VIEW.setUint32(result, id, true);
|
|
2951
3230
|
return envObject.clearLastError();
|
|
@@ -2973,6 +3252,7 @@
|
|
|
2973
3252
|
var aw = _malloc(sizeofAW);
|
|
2974
3253
|
if (!aw)
|
|
2975
3254
|
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
3255
|
+
aw >>>= 0;
|
|
2976
3256
|
new Uint8Array(wasmMemory.buffer).subarray(aw, aw + sizeofAW).fill(0);
|
|
2977
3257
|
var s = envObject.ensureHandleId(resourceObject);
|
|
2978
3258
|
var resourceRef = emnapiCtx.createReference(envObject, s, 1, 1 /* ReferenceOwnership.kUserland */);
|
|
@@ -2985,6 +3265,8 @@
|
|
|
2985
3265
|
HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.execute, execute, true);
|
|
2986
3266
|
HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.complete, complete, true);
|
|
2987
3267
|
HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.data, data, true);
|
|
3268
|
+
emnapiAWMT.queueInit(aw + emnapiAWMT.offset.queue);
|
|
3269
|
+
result >>>= 0;
|
|
2988
3270
|
HEAP_DATA_VIEW.setUint32(result, aw, true);
|
|
2989
3271
|
return envObject.clearLastError();
|
|
2990
3272
|
};
|
|
@@ -2998,6 +3280,7 @@
|
|
|
2998
3280
|
envObject.checkGCAccess();
|
|
2999
3281
|
if (!work)
|
|
3000
3282
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3283
|
+
work >>>= 0;
|
|
3001
3284
|
emnapiAWST.remove(work);
|
|
3002
3285
|
return envObject.clearLastError();
|
|
3003
3286
|
}
|
|
@@ -3009,6 +3292,7 @@
|
|
|
3009
3292
|
envObject.checkGCAccess();
|
|
3010
3293
|
if (!work)
|
|
3011
3294
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3295
|
+
work >>>= 0;
|
|
3012
3296
|
var resource = emnapiAWMT.getResource(work);
|
|
3013
3297
|
emnapiCtx.refStore.get(resource).dispose();
|
|
3014
3298
|
if (emnapiNodeBinding) {
|
|
@@ -3028,6 +3312,7 @@
|
|
|
3028
3312
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3029
3313
|
if (!work)
|
|
3030
3314
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3315
|
+
work >>>= 0;
|
|
3031
3316
|
emnapiAWST.queue(work);
|
|
3032
3317
|
return envObject.clearLastError();
|
|
3033
3318
|
}
|
|
@@ -3037,6 +3322,7 @@
|
|
|
3037
3322
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3038
3323
|
if (!work)
|
|
3039
3324
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3325
|
+
work >>>= 0;
|
|
3040
3326
|
emnapiAWMT.scheduleWork(work);
|
|
3041
3327
|
return envObject.clearLastError();
|
|
3042
3328
|
};
|
|
@@ -3048,6 +3334,7 @@
|
|
|
3048
3334
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3049
3335
|
if (!work)
|
|
3050
3336
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3337
|
+
work >>>= 0;
|
|
3051
3338
|
var status = emnapiAWST.cancel(work);
|
|
3052
3339
|
if (status === 0 /* napi_status.napi_ok */)
|
|
3053
3340
|
return envObject.clearLastError();
|
|
@@ -3059,42 +3346,128 @@
|
|
|
3059
3346
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3060
3347
|
if (!work)
|
|
3061
3348
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3349
|
+
work >>>= 0;
|
|
3062
3350
|
var status = emnapiAWMT.cancelWork(work);
|
|
3063
3351
|
if (status === 0 /* napi_status.napi_ok */)
|
|
3064
3352
|
return envObject.clearLastError();
|
|
3065
3353
|
return envObject.setLastError(status);
|
|
3066
3354
|
};
|
|
3067
|
-
|
|
3355
|
+
/** @__sig pp */
|
|
3356
|
+
function _emnapi_async_worker(globalAddress) {
|
|
3357
|
+
globalAddress >>>= 0;
|
|
3358
|
+
emnapiAWMT.globalAddress = globalAddress;
|
|
3359
|
+
var mutex = emnapiAWMT.getMutex();
|
|
3360
|
+
var cond = emnapiAWMT.getCond();
|
|
3361
|
+
mutex.lock();
|
|
3362
|
+
var exitMessageAddr = globalAddress + emnapiAWMT.globalOffset.exit_message;
|
|
3363
|
+
var idleThreadsAddr = globalAddress + emnapiAWMT.globalOffset.idle_threads;
|
|
3364
|
+
var workerQueueAddr = globalAddress + emnapiAWMT.globalOffset.q;
|
|
3365
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3366
|
+
for (;;) {
|
|
3367
|
+
while (emnapiAWMT.queueEmpty(workerQueueAddr)) {
|
|
3368
|
+
Atomics.add(new Int32Array(wasmMemory.buffer, idleThreadsAddr, 1), 0, 1);
|
|
3369
|
+
cond.wait();
|
|
3370
|
+
Atomics.sub(new Int32Array(wasmMemory.buffer, idleThreadsAddr, 1), 0, 1);
|
|
3371
|
+
}
|
|
3372
|
+
var q = HEAP_DATA_VIEW.getUint32(workerQueueAddr, true);
|
|
3373
|
+
if (q === exitMessageAddr) {
|
|
3374
|
+
cond.signal();
|
|
3375
|
+
mutex.unlock();
|
|
3376
|
+
break;
|
|
3377
|
+
}
|
|
3378
|
+
var work = q - emnapiAWMT.offset.queue;
|
|
3379
|
+
emnapiAWMT.queueRemove(q);
|
|
3380
|
+
emnapiAWMT.queueInit(q);
|
|
3381
|
+
mutex.unlock();
|
|
3382
|
+
var statusBuffer = new Int32Array(wasmMemory.buffer, work + emnapiAWMT.offset.status, 1);
|
|
3383
|
+
if (Atomics.load(statusBuffer, 0) === 1 /* AsyncWorkStatus.Cancelled */) {
|
|
3384
|
+
abort('unreachable');
|
|
3385
|
+
}
|
|
3386
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3387
|
+
var execute = emnapiAWMT.getExecute(work);
|
|
3388
|
+
var env = emnapiAWMT.getEnv(work);
|
|
3389
|
+
var data = emnapiAWMT.getData(work);
|
|
3390
|
+
(wasmTable.get(execute))(env, data);
|
|
3391
|
+
Atomics.store(statusBuffer, 0, 2 /* AsyncWorkStatus.Completed */);
|
|
3392
|
+
var postMessage_1 = napiModule.postMessage;
|
|
3393
|
+
postMessage_1({
|
|
3394
|
+
__emnapi__: {
|
|
3395
|
+
type: 'async-work-complete',
|
|
3396
|
+
payload: { work: work }
|
|
3397
|
+
}
|
|
3398
|
+
});
|
|
3399
|
+
mutex.lock();
|
|
3400
|
+
}
|
|
3401
|
+
return 0;
|
|
3402
|
+
}
|
|
3403
|
+
/** @__sig ipp */
|
|
3404
|
+
function _emnapi_spawn_worker(f, globalAddress) {
|
|
3405
|
+
if (typeof onCreateWorker !== 'function') {
|
|
3406
|
+
throw new TypeError('`options.onCreateWorker` is not a function');
|
|
3407
|
+
}
|
|
3408
|
+
var promises = [];
|
|
3409
|
+
var args = [];
|
|
3410
|
+
if (!('emnapi_async_worker_create' in wasmInstance.exports)) {
|
|
3411
|
+
throw new TypeError('`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags');
|
|
3412
|
+
}
|
|
3413
|
+
args.push(wasmInstance.exports.emnapi_async_worker_create(0, 0));
|
|
3414
|
+
var handleError = function (e) {
|
|
3415
|
+
if ('message' in e && (e.message.indexOf('RuntimeError') !== -1 || e.message.indexOf('unreachable') !== -1)) {
|
|
3416
|
+
emnapiAWMT.terminateWorkers();
|
|
3417
|
+
}
|
|
3418
|
+
};
|
|
3419
|
+
var ret;
|
|
3420
|
+
try {
|
|
3421
|
+
var worker_1 = onCreateWorker({ type: 'async-work', name: 'emnapi-async-worker' });
|
|
3422
|
+
var p = PThread.loadWasmModuleToWorker(worker_1);
|
|
3423
|
+
if (ENVIRONMENT_IS_NODE) {
|
|
3424
|
+
worker_1.on('error', handleError);
|
|
3425
|
+
}
|
|
3426
|
+
else {
|
|
3427
|
+
worker_1.addEventListener('error', handleError, false);
|
|
3428
|
+
}
|
|
3429
|
+
emnapiAWMT.addListener(worker_1);
|
|
3430
|
+
emnapiTSFN.addListener(worker_1);
|
|
3431
|
+
promises.push(p.then(function () {
|
|
3432
|
+
if (typeof worker_1.unref === 'function') {
|
|
3433
|
+
worker_1.unref();
|
|
3434
|
+
}
|
|
3435
|
+
}));
|
|
3436
|
+
ret = emnapiAWMT.pool.push(worker_1) - 1;
|
|
3437
|
+
var arg = args[0];
|
|
3438
|
+
worker_1.threadBlockBase = arg;
|
|
3439
|
+
worker_1.postMessage({
|
|
3440
|
+
__emnapi__: {
|
|
3441
|
+
type: 'async-worker-init',
|
|
3442
|
+
payload: { arg: arg, func: [f, globalAddress] }
|
|
3443
|
+
}
|
|
3444
|
+
});
|
|
3445
|
+
}
|
|
3446
|
+
catch (err) {
|
|
3447
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3448
|
+
var arg = args[0];
|
|
3449
|
+
_free(arg);
|
|
3450
|
+
throw err;
|
|
3451
|
+
}
|
|
3452
|
+
return ret;
|
|
3453
|
+
}
|
|
3454
|
+
function initWorker(startArg, func) {
|
|
3068
3455
|
if (napiModule.childThread) {
|
|
3069
3456
|
if (typeof wasmInstance.exports.emnapi_async_worker_init !== 'function') {
|
|
3070
3457
|
throw new TypeError('`emnapi_async_worker_init` is not exported, please try to add `--export=emnapi_async_worker_init` to linker flags');
|
|
3071
3458
|
}
|
|
3072
3459
|
wasmInstance.exports.emnapi_async_worker_init(startArg);
|
|
3460
|
+
(wasmTable.get(func[0]))(func[1]);
|
|
3073
3461
|
}
|
|
3074
3462
|
else {
|
|
3075
3463
|
throw new Error('startThread is only available in child threads');
|
|
3076
3464
|
}
|
|
3077
3465
|
}
|
|
3078
|
-
function executeAsyncWork(work) {
|
|
3079
|
-
if (!ENVIRONMENT_IS_PTHREAD)
|
|
3080
|
-
return;
|
|
3081
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3082
|
-
var execute = emnapiAWMT.getExecute(work);
|
|
3083
|
-
var env = emnapiAWMT.getEnv(work);
|
|
3084
|
-
var data = emnapiAWMT.getData(work);
|
|
3085
|
-
(wasmTable.get(execute))(env, data);
|
|
3086
|
-
var postMessage = napiModule.postMessage;
|
|
3087
|
-
postMessage({
|
|
3088
|
-
__emnapi__: {
|
|
3089
|
-
type: 'async-work-complete',
|
|
3090
|
-
payload: { work: work }
|
|
3091
|
-
}
|
|
3092
|
-
});
|
|
3093
|
-
}
|
|
3094
3466
|
napiModule.initWorker = initWorker;
|
|
3095
|
-
napiModule.executeAsyncWork = executeAsyncWork;
|
|
3096
3467
|
var asyncWorkMod = /*#__PURE__*/ Object.freeze({
|
|
3097
3468
|
__proto__: null,
|
|
3469
|
+
_emnapi_async_worker: _emnapi_async_worker,
|
|
3470
|
+
_emnapi_spawn_worker: _emnapi_spawn_worker,
|
|
3098
3471
|
napi_cancel_async_work: napi_cancel_async_work,
|
|
3099
3472
|
napi_create_async_work: napi_create_async_work,
|
|
3100
3473
|
napi_delete_async_work: napi_delete_async_work,
|
|
@@ -3164,6 +3537,7 @@
|
|
|
3164
3537
|
var pointer = _malloc(arrayBuffer.byteLength);
|
|
3165
3538
|
if (!pointer)
|
|
3166
3539
|
throw new Error('Out of memory');
|
|
3540
|
+
pointer >>>= 0;
|
|
3167
3541
|
new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), pointer);
|
|
3168
3542
|
info.address = pointer;
|
|
3169
3543
|
info.ownership = emnapiExternalMemory.registry ? 0 /* ReferenceOwnership.kRuntime */ : 1 /* ReferenceOwnership.kUserland */;
|
|
@@ -3185,8 +3559,7 @@
|
|
|
3185
3559
|
}
|
|
3186
3560
|
return view;
|
|
3187
3561
|
}
|
|
3188
|
-
var maybeOldWasmMemory = emnapiExternalMemory.isDetachedArrayBuffer(view.buffer) ||
|
|
3189
|
-
((typeof SharedArrayBuffer === 'function') && (view.buffer instanceof SharedArrayBuffer));
|
|
3562
|
+
var maybeOldWasmMemory = emnapiExternalMemory.isDetachedArrayBuffer(view.buffer) || emnapiExternalMemory.isSharedArrayBuffer(view.buffer);
|
|
3190
3563
|
if (maybeOldWasmMemory && emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
|
|
3191
3564
|
var info = emnapiExternalMemory.wasmMemoryViewTable.get(view);
|
|
3192
3565
|
var Ctor = info.Ctor;
|
|
@@ -3326,7 +3699,7 @@
|
|
|
3326
3699
|
ptr >>>= 0;
|
|
3327
3700
|
var HEAPU8 = new Uint8Array(wasmMemory.buffer);
|
|
3328
3701
|
var end = ptr;
|
|
3329
|
-
if (length === -1) {
|
|
3702
|
+
if (length === -1 || length === 4294967295) {
|
|
3330
3703
|
for (; HEAPU8[end];)
|
|
3331
3704
|
++end;
|
|
3332
3705
|
}
|
|
@@ -3417,12 +3790,12 @@
|
|
|
3417
3790
|
return '';
|
|
3418
3791
|
ptr >>>= 0;
|
|
3419
3792
|
var end = ptr;
|
|
3420
|
-
if (length === -1) {
|
|
3421
|
-
var idx = end
|
|
3793
|
+
if (length === -1 || length === 4294967295) {
|
|
3794
|
+
var idx = end >>> 1;
|
|
3422
3795
|
var HEAPU16 = new Uint16Array(wasmMemory.buffer);
|
|
3423
3796
|
while (HEAPU16[idx])
|
|
3424
3797
|
++idx;
|
|
3425
|
-
end = idx << 1;
|
|
3798
|
+
end = (idx << 1) >>> 0;
|
|
3426
3799
|
}
|
|
3427
3800
|
else {
|
|
3428
3801
|
end = ptr + (length >>> 0) * 2;
|
|
@@ -3455,12 +3828,13 @@
|
|
|
3455
3828
|
return outPtr - startPtr;
|
|
3456
3829
|
},
|
|
3457
3830
|
newString: function (env, str, length, result, stringMaker) {
|
|
3831
|
+
length >>>= 0;
|
|
3458
3832
|
if (!env)
|
|
3459
3833
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3460
3834
|
// @ts-expect-error
|
|
3461
3835
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3462
3836
|
envObject.checkGCAccess();
|
|
3463
|
-
var autoLength = length === -1;
|
|
3837
|
+
var autoLength = length === -1 || length === 4294967295;
|
|
3464
3838
|
var sizelength = length >>> 0;
|
|
3465
3839
|
if (length !== 0) {
|
|
3466
3840
|
if (!str)
|
|
@@ -3470,7 +3844,9 @@
|
|
|
3470
3844
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3471
3845
|
if (!(autoLength || (sizelength <= 2147483647)))
|
|
3472
3846
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3847
|
+
str >>>= 0;
|
|
3473
3848
|
var strValue = stringMaker(str, autoLength, sizelength);
|
|
3849
|
+
result >>>= 0;
|
|
3474
3850
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3475
3851
|
var value = emnapiCtx.addToCurrentScope(strValue).id;
|
|
3476
3852
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -3478,12 +3854,13 @@
|
|
|
3478
3854
|
return envObject.clearLastError();
|
|
3479
3855
|
},
|
|
3480
3856
|
newExternalString: function (env, str, length, finalize_callback, finalize_hint, result, copied, createApi, stringMaker) {
|
|
3857
|
+
length >>>= 0;
|
|
3481
3858
|
if (!env)
|
|
3482
3859
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3483
3860
|
// @ts-expect-error
|
|
3484
3861
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3485
3862
|
envObject.checkGCAccess();
|
|
3486
|
-
var autoLength = length === -1;
|
|
3863
|
+
var autoLength = length === -1 || length === 4294967295;
|
|
3487
3864
|
var sizelength = length >>> 0;
|
|
3488
3865
|
if (length !== 0) {
|
|
3489
3866
|
if (!str)
|
|
@@ -3529,6 +3906,7 @@
|
|
|
3529
3906
|
if (!handle.isArray()) {
|
|
3530
3907
|
return envObject.setLastError(8 /* napi_status.napi_array_expected */);
|
|
3531
3908
|
}
|
|
3909
|
+
result >>>= 0;
|
|
3532
3910
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3533
3911
|
var v = handle.value.length >>> 0;
|
|
3534
3912
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -3557,11 +3935,13 @@
|
|
|
3557
3935
|
}
|
|
3558
3936
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3559
3937
|
if (data) {
|
|
3938
|
+
data >>>= 0;
|
|
3560
3939
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3561
3940
|
var p = emnapiExternalMemory.getArrayBufferPointer(handle.value, true).address;
|
|
3562
3941
|
HEAP_DATA_VIEW.setUint32(data, p, true);
|
|
3563
3942
|
}
|
|
3564
3943
|
if (byte_length) {
|
|
3944
|
+
byte_length >>>= 0;
|
|
3565
3945
|
HEAP_DATA_VIEW.setUint32(byte_length, handle.value.byteLength, true);
|
|
3566
3946
|
}
|
|
3567
3947
|
return envObject.clearLastError();
|
|
@@ -3634,6 +4014,7 @@
|
|
|
3634
4014
|
catch (_) {
|
|
3635
4015
|
return envObject.setLastError(2 /* napi_status.napi_object_expected */);
|
|
3636
4016
|
}
|
|
4017
|
+
result >>>= 0;
|
|
3637
4018
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3638
4019
|
var p = envObject.ensureHandleId(Object.getPrototypeOf(v));
|
|
3639
4020
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -3663,6 +4044,7 @@
|
|
|
3663
4044
|
var v = handle.value;
|
|
3664
4045
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3665
4046
|
if (type) {
|
|
4047
|
+
type >>>= 0;
|
|
3666
4048
|
var t = void 0;
|
|
3667
4049
|
if (v instanceof Int8Array) {
|
|
3668
4050
|
t = 0 /* napi_typedarray_type.napi_int8_array */;
|
|
@@ -3706,24 +4088,27 @@
|
|
|
3706
4088
|
}
|
|
3707
4089
|
HEAP_DATA_VIEW.setInt32(type, t, true);
|
|
3708
4090
|
}
|
|
4091
|
+
v = emnapiExternalMemory.getOrUpdateMemoryView(v);
|
|
3709
4092
|
if (length) {
|
|
4093
|
+
length >>>= 0;
|
|
3710
4094
|
HEAP_DATA_VIEW.setUint32(length, v.length, true);
|
|
3711
4095
|
}
|
|
3712
|
-
var buffer;
|
|
3713
4096
|
if (data || arraybuffer) {
|
|
3714
|
-
buffer = v.buffer;
|
|
3715
4097
|
if (data) {
|
|
4098
|
+
data >>>= 0;
|
|
3716
4099
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3717
4100
|
var p = emnapiExternalMemory.getViewPointer(v, true).address;
|
|
3718
4101
|
HEAP_DATA_VIEW.setUint32(data, p, true);
|
|
3719
4102
|
}
|
|
3720
4103
|
if (arraybuffer) {
|
|
4104
|
+
arraybuffer >>>= 0;
|
|
3721
4105
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3722
|
-
var ab = envObject.ensureHandleId(buffer);
|
|
4106
|
+
var ab = envObject.ensureHandleId(v.buffer);
|
|
3723
4107
|
HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
|
|
3724
4108
|
}
|
|
3725
4109
|
}
|
|
3726
4110
|
if (byte_offset) {
|
|
4111
|
+
byte_offset >>>= 0;
|
|
3727
4112
|
HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
|
|
3728
4113
|
}
|
|
3729
4114
|
return envObject.clearLastError();
|
|
@@ -3762,26 +4147,28 @@
|
|
|
3762
4147
|
if (!handle.isDataView()) {
|
|
3763
4148
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3764
4149
|
}
|
|
3765
|
-
var v = handle.value;
|
|
4150
|
+
var v = emnapiExternalMemory.getOrUpdateMemoryView(handle.value);
|
|
3766
4151
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3767
4152
|
if (byte_length) {
|
|
4153
|
+
byte_length >>>= 0;
|
|
3768
4154
|
HEAP_DATA_VIEW.setUint32(byte_length, v.byteLength, true);
|
|
3769
4155
|
}
|
|
3770
|
-
var buffer;
|
|
3771
4156
|
if (data || arraybuffer) {
|
|
3772
|
-
buffer = v.buffer;
|
|
3773
4157
|
if (data) {
|
|
4158
|
+
data >>>= 0;
|
|
3774
4159
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3775
4160
|
var p = emnapiExternalMemory.getViewPointer(v, true).address;
|
|
3776
4161
|
HEAP_DATA_VIEW.setUint32(data, p, true);
|
|
3777
4162
|
}
|
|
3778
4163
|
if (arraybuffer) {
|
|
4164
|
+
arraybuffer >>>= 0;
|
|
3779
4165
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3780
|
-
var ab = envObject.ensureHandleId(buffer);
|
|
4166
|
+
var ab = envObject.ensureHandleId(v.buffer);
|
|
3781
4167
|
HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
|
|
3782
4168
|
}
|
|
3783
4169
|
}
|
|
3784
4170
|
if (byte_offset) {
|
|
4171
|
+
byte_offset >>>= 0;
|
|
3785
4172
|
HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
|
|
3786
4173
|
}
|
|
3787
4174
|
return envObject.clearLastError();
|
|
@@ -3811,6 +4198,7 @@
|
|
|
3811
4198
|
if (!handle.isDate()) {
|
|
3812
4199
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3813
4200
|
}
|
|
4201
|
+
result >>>= 0;
|
|
3814
4202
|
v = handle.value.valueOf();
|
|
3815
4203
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3816
4204
|
HEAP_DATA_VIEW.setFloat64(result, v, true);
|
|
@@ -3838,6 +4226,7 @@
|
|
|
3838
4226
|
if (typeof handle.value !== 'boolean') {
|
|
3839
4227
|
return envObject.setLastError(7 /* napi_status.napi_boolean_expected */);
|
|
3840
4228
|
}
|
|
4229
|
+
result >>>= 0;
|
|
3841
4230
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3842
4231
|
var r = handle.value ? 1 : 0;
|
|
3843
4232
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -3861,6 +4250,7 @@
|
|
|
3861
4250
|
if (typeof handle.value !== 'number') {
|
|
3862
4251
|
return envObject.setLastError(6 /* napi_status.napi_number_expected */);
|
|
3863
4252
|
}
|
|
4253
|
+
result >>>= 0;
|
|
3864
4254
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3865
4255
|
var r = handle.value;
|
|
3866
4256
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -3890,6 +4280,8 @@
|
|
|
3890
4280
|
if (typeof numberValue !== 'bigint') {
|
|
3891
4281
|
return envObject.setLastError(6 /* napi_status.napi_number_expected */);
|
|
3892
4282
|
}
|
|
4283
|
+
lossless >>>= 0;
|
|
4284
|
+
result >>>= 0;
|
|
3893
4285
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3894
4286
|
if ((numberValue >= (BigInt(-1) * (BigInt(1) << BigInt(63)))) && (numberValue < (BigInt(1) << BigInt(63)))) {
|
|
3895
4287
|
HEAP_DATA_VIEW.setInt8(lossless, 1, true);
|
|
@@ -3932,6 +4324,8 @@
|
|
|
3932
4324
|
if (typeof numberValue !== 'bigint') {
|
|
3933
4325
|
return envObject.setLastError(6 /* napi_status.napi_number_expected */);
|
|
3934
4326
|
}
|
|
4327
|
+
lossless >>>= 0;
|
|
4328
|
+
result >>>= 0;
|
|
3935
4329
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3936
4330
|
if ((numberValue >= BigInt(0)) && (numberValue < (BigInt(1) << BigInt(64)))) {
|
|
3937
4331
|
HEAP_DATA_VIEW.setInt8(lossless, 1, true);
|
|
@@ -3969,8 +4363,12 @@
|
|
|
3969
4363
|
return envObject.setLastError(17 /* napi_status.napi_bigint_expected */);
|
|
3970
4364
|
}
|
|
3971
4365
|
var isMinus = handle.value < BigInt(0);
|
|
4366
|
+
sign_bit >>>= 0;
|
|
4367
|
+
words >>>= 0;
|
|
4368
|
+
word_count >>>= 0;
|
|
3972
4369
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
3973
4370
|
var word_count_int = HEAP_DATA_VIEW.getUint32(word_count, true);
|
|
4371
|
+
word_count_int >>>= 0;
|
|
3974
4372
|
var wordCount = 0;
|
|
3975
4373
|
var bigintValue = isMinus ? (handle.value * BigInt(-1)) : handle.value;
|
|
3976
4374
|
while (bigintValue !== BigInt(0)) {
|
|
@@ -4024,6 +4422,7 @@
|
|
|
4024
4422
|
if (!handle.isExternal()) {
|
|
4025
4423
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4026
4424
|
}
|
|
4425
|
+
result >>>= 0;
|
|
4027
4426
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4028
4427
|
var p = handle.data();
|
|
4029
4428
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -4047,6 +4446,7 @@
|
|
|
4047
4446
|
if (typeof handle.value !== 'number') {
|
|
4048
4447
|
return envObject.setLastError(6 /* napi_status.napi_number_expected */);
|
|
4049
4448
|
}
|
|
4449
|
+
result >>>= 0;
|
|
4050
4450
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4051
4451
|
var v = new Int32Array([handle.value])[0];
|
|
4052
4452
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -4071,6 +4471,7 @@
|
|
|
4071
4471
|
return envObject.setLastError(6 /* napi_status.napi_number_expected */);
|
|
4072
4472
|
}
|
|
4073
4473
|
var numberValue = handle.value;
|
|
4474
|
+
result >>>= 0;
|
|
4074
4475
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
4075
4476
|
if (numberValue === Number.POSITIVE_INFINITY || numberValue === Number.NEGATIVE_INFINITY || isNaN(numberValue)) {
|
|
4076
4477
|
HEAP_DATA_VIEW.setInt32(result, 0, true);
|
|
@@ -4100,6 +4501,9 @@
|
|
|
4100
4501
|
envObject.checkGCAccess();
|
|
4101
4502
|
if (!value)
|
|
4102
4503
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4504
|
+
result >>>= 0;
|
|
4505
|
+
buf >>>= 0;
|
|
4506
|
+
buf_size >>>= 0;
|
|
4103
4507
|
buf_size = buf_size >>> 0;
|
|
4104
4508
|
var handle = emnapiCtx.handleStore.get(value);
|
|
4105
4509
|
if (typeof handle.value !== 'string') {
|
|
@@ -4142,6 +4546,9 @@
|
|
|
4142
4546
|
envObject.checkGCAccess();
|
|
4143
4547
|
if (!value)
|
|
4144
4548
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4549
|
+
result >>>= 0;
|
|
4550
|
+
buf >>>= 0;
|
|
4551
|
+
buf_size >>>= 0;
|
|
4145
4552
|
buf_size = buf_size >>> 0;
|
|
4146
4553
|
var handle = emnapiCtx.handleStore.get(value);
|
|
4147
4554
|
if (typeof handle.value !== 'string') {
|
|
@@ -4178,6 +4585,9 @@
|
|
|
4178
4585
|
envObject.checkGCAccess();
|
|
4179
4586
|
if (!value)
|
|
4180
4587
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4588
|
+
result >>>= 0;
|
|
4589
|
+
buf >>>= 0;
|
|
4590
|
+
buf_size >>>= 0;
|
|
4181
4591
|
buf_size = buf_size >>> 0;
|
|
4182
4592
|
var handle = emnapiCtx.handleStore.get(value);
|
|
4183
4593
|
if (typeof handle.value !== 'string') {
|
|
@@ -4218,6 +4628,7 @@
|
|
|
4218
4628
|
if (typeof handle.value !== 'number') {
|
|
4219
4629
|
return envObject.setLastError(6 /* napi_status.napi_number_expected */);
|
|
4220
4630
|
}
|
|
4631
|
+
result >>>= 0;
|
|
4221
4632
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4222
4633
|
var v = new Uint32Array([handle.value])[0];
|
|
4223
4634
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -4258,6 +4669,7 @@
|
|
|
4258
4669
|
envObject.checkGCAccess();
|
|
4259
4670
|
if (!result)
|
|
4260
4671
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4672
|
+
result >>>= 0;
|
|
4261
4673
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4262
4674
|
var v = emnapiCtx.addToCurrentScope(value).id;
|
|
4263
4675
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -4275,6 +4687,7 @@
|
|
|
4275
4687
|
envObject.checkGCAccess();
|
|
4276
4688
|
if (!result)
|
|
4277
4689
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4690
|
+
result >>>= 0;
|
|
4278
4691
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4279
4692
|
var v = emnapiCtx.addToCurrentScope(value >>> 0).id;
|
|
4280
4693
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -4296,6 +4709,7 @@
|
|
|
4296
4709
|
value = Number(low);
|
|
4297
4710
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4298
4711
|
var v1 = emnapiCtx.addToCurrentScope(value).id;
|
|
4712
|
+
high >>>= 0;
|
|
4299
4713
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
4300
4714
|
HEAP_DATA_VIEW.setUint32(high, v1, true);
|
|
4301
4715
|
return envObject.clearLastError();
|
|
@@ -4311,6 +4725,7 @@
|
|
|
4311
4725
|
envObject.checkGCAccess();
|
|
4312
4726
|
if (!result)
|
|
4313
4727
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4728
|
+
result >>>= 0;
|
|
4314
4729
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4315
4730
|
var v = emnapiCtx.addToCurrentScope(value).id;
|
|
4316
4731
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -4411,6 +4826,7 @@
|
|
|
4411
4826
|
value = low;
|
|
4412
4827
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4413
4828
|
var v1 = emnapiCtx.addToCurrentScope(value).id;
|
|
4829
|
+
high >>>= 0;
|
|
4414
4830
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
4415
4831
|
HEAP_DATA_VIEW.setUint32(high, v1, true);
|
|
4416
4832
|
return envObject.clearLastError();
|
|
@@ -4433,6 +4849,7 @@
|
|
|
4433
4849
|
value = low & ((BigInt(1) << BigInt(64)) - BigInt(1));
|
|
4434
4850
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4435
4851
|
var v1 = emnapiCtx.addToCurrentScope(value).id;
|
|
4852
|
+
high >>>= 0;
|
|
4436
4853
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
4437
4854
|
HEAP_DATA_VIEW.setUint32(high, v1, true);
|
|
4438
4855
|
return envObject.clearLastError();
|
|
@@ -4459,6 +4876,8 @@
|
|
|
4459
4876
|
}
|
|
4460
4877
|
if (!result)
|
|
4461
4878
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4879
|
+
words >>>= 0;
|
|
4880
|
+
word_count >>>= 0;
|
|
4462
4881
|
word_count = word_count >>> 0;
|
|
4463
4882
|
if (word_count > 2147483647) {
|
|
4464
4883
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
@@ -4475,6 +4894,7 @@
|
|
|
4475
4894
|
value += wordi << BigInt(64 * i);
|
|
4476
4895
|
}
|
|
4477
4896
|
value *= ((BigInt(sign_bit) % BigInt(2) === BigInt(0)) ? BigInt(1) : BigInt(-1));
|
|
4897
|
+
result >>>= 0;
|
|
4478
4898
|
v = emnapiCtx.addToCurrentScope(value).id;
|
|
4479
4899
|
HEAP_DATA_VIEW.setUint32(result, v, true);
|
|
4480
4900
|
return envObject.getReturnStatus();
|
|
@@ -4503,6 +4923,7 @@
|
|
|
4503
4923
|
node_api_create_property_key_utf8: node_api_create_property_key_utf8
|
|
4504
4924
|
});
|
|
4505
4925
|
function emnapiCreateFunction(envObject, utf8name, length, cb, data) {
|
|
4926
|
+
utf8name >>>= 0;
|
|
4506
4927
|
var functionName = (!utf8name || !length) ? '' : (emnapiString.UTF8ToString(utf8name, length));
|
|
4507
4928
|
var f;
|
|
4508
4929
|
var napiCallback = (wasmTable.get(cb));
|
|
@@ -4645,6 +5066,7 @@
|
|
|
4645
5066
|
if (!finalize_cb)
|
|
4646
5067
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4647
5068
|
reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 1 /* ReferenceOwnership.kUserland */, finalize_cb, native_object, finalize_hint);
|
|
5069
|
+
result >>>= 0;
|
|
4648
5070
|
referenceId = reference.id;
|
|
4649
5071
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
4650
5072
|
HEAP_DATA_VIEW.setUint32(result, referenceId, true);
|
|
@@ -4695,6 +5117,7 @@
|
|
|
4695
5117
|
if (!ref)
|
|
4696
5118
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4697
5119
|
if (result) {
|
|
5120
|
+
result >>>= 0;
|
|
4698
5121
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4699
5122
|
data = ref.data();
|
|
4700
5123
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -4738,12 +5161,15 @@
|
|
|
4738
5161
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4739
5162
|
if (!constructor)
|
|
4740
5163
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5164
|
+
length >>>= 0;
|
|
5165
|
+
properties >>>= 0;
|
|
5166
|
+
property_count >>>= 0;
|
|
4741
5167
|
property_count = property_count >>> 0;
|
|
4742
5168
|
if (property_count > 0) {
|
|
4743
5169
|
if (!properties)
|
|
4744
5170
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4745
5171
|
}
|
|
4746
|
-
if ((length
|
|
5172
|
+
if (!((length >= -1 && length <= 2147483647) || length === 4294967295) || (!utf8name)) {
|
|
4747
5173
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4748
5174
|
}
|
|
4749
5175
|
var fresult = emnapiCreateFunction(envObject, utf8name, length, constructor, callback_data);
|
|
@@ -4762,6 +5188,7 @@
|
|
|
4762
5188
|
var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
|
|
4763
5189
|
var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
|
|
4764
5190
|
attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
|
|
5191
|
+
attributes >>>= 0;
|
|
4765
5192
|
var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
|
|
4766
5193
|
if (utf8Name) {
|
|
4767
5194
|
propertyName = emnapiString.UTF8ToString(utf8Name, -1);
|
|
@@ -4784,6 +5211,7 @@
|
|
|
4784
5211
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4785
5212
|
var valueHandle = emnapiCtx.addToCurrentScope(F);
|
|
4786
5213
|
valueHandleId = valueHandle.id;
|
|
5214
|
+
result >>>= 0;
|
|
4787
5215
|
HEAP_DATA_VIEW.setUint32(result, valueHandleId, true);
|
|
4788
5216
|
return envObject.getReturnStatus();
|
|
4789
5217
|
}
|
|
@@ -4832,6 +5260,7 @@
|
|
|
4832
5260
|
if (!(value.isObject() || value.isFunction())) {
|
|
4833
5261
|
return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 2 /* napi_status.napi_object_expected */);
|
|
4834
5262
|
}
|
|
5263
|
+
type_tag >>>= 0;
|
|
4835
5264
|
if (!type_tag) {
|
|
4836
5265
|
return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
|
|
4837
5266
|
}
|
|
@@ -4881,6 +5310,7 @@
|
|
|
4881
5310
|
}
|
|
4882
5311
|
var binding = envObject.getObjectBinding(value.value);
|
|
4883
5312
|
if (binding.tag !== null) {
|
|
5313
|
+
type_tag >>>= 0;
|
|
4884
5314
|
var tag = binding.tag;
|
|
4885
5315
|
var typeTag = new Uint32Array(wasmMemory.buffer, type_tag, 4);
|
|
4886
5316
|
ret = (tag[0] === typeTag[0] &&
|
|
@@ -4891,6 +5321,7 @@
|
|
|
4891
5321
|
else {
|
|
4892
5322
|
ret = false;
|
|
4893
5323
|
}
|
|
5324
|
+
result >>>= 0;
|
|
4894
5325
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
4895
5326
|
HEAP_DATA_VIEW.setInt8(result, ret ? 1 : 0, true);
|
|
4896
5327
|
return envObject.getReturnStatus();
|
|
@@ -4922,8 +5353,12 @@
|
|
|
4922
5353
|
}
|
|
4923
5354
|
var handle = handleResult.handle;
|
|
4924
5355
|
var ownership = !result ? 0 /* ReferenceOwnership.kRuntime */ : 1 /* ReferenceOwnership.kUserland */;
|
|
5356
|
+
finalize_data >>>= 0;
|
|
5357
|
+
finalize_cb >>>= 0;
|
|
5358
|
+
finalize_hint >>>= 0;
|
|
4925
5359
|
var reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, ownership, finalize_cb, finalize_data, finalize_hint);
|
|
4926
5360
|
if (result) {
|
|
5361
|
+
result >>>= 0;
|
|
4927
5362
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4928
5363
|
var referenceId = reference.id;
|
|
4929
5364
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -4971,6 +5406,9 @@
|
|
|
4971
5406
|
try {
|
|
4972
5407
|
if (!result)
|
|
4973
5408
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5409
|
+
byte_length >>>= 0;
|
|
5410
|
+
external_data >>>= 0;
|
|
5411
|
+
result >>>= 0;
|
|
4974
5412
|
byte_length = byte_length >>> 0;
|
|
4975
5413
|
if (!external_data) {
|
|
4976
5414
|
byte_length = 0;
|
|
@@ -5090,7 +5528,7 @@
|
|
|
5090
5528
|
var pointer = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false).address;
|
|
5091
5529
|
if (!pointer)
|
|
5092
5530
|
throw new Error('Unknown ArrayBuffer address');
|
|
5093
|
-
if (typeof len !== 'number' || len === -1) {
|
|
5531
|
+
if (typeof len !== 'number' || len === -1 || len === 4294967295) {
|
|
5094
5532
|
len = arrayBufferOrView.byteLength - offset;
|
|
5095
5533
|
}
|
|
5096
5534
|
len = len >>> 0;
|
|
@@ -5112,7 +5550,7 @@
|
|
|
5112
5550
|
var pointer = viewPointerInfo.address;
|
|
5113
5551
|
if (!pointer)
|
|
5114
5552
|
throw new Error('Unknown ArrayBuffer address');
|
|
5115
|
-
if (typeof len !== 'number' || len === -1) {
|
|
5553
|
+
if (typeof len !== 'number' || len === -1 || len === 4294967295) {
|
|
5116
5554
|
len = latestView.byteLength - offset;
|
|
5117
5555
|
}
|
|
5118
5556
|
len = len >>> 0;
|
|
@@ -5149,6 +5587,9 @@
|
|
|
5149
5587
|
try {
|
|
5150
5588
|
if (!arraybuffer_or_view)
|
|
5151
5589
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5590
|
+
arraybuffer_or_view >>>= 0;
|
|
5591
|
+
offset >>>= 0;
|
|
5592
|
+
len >>>= 0;
|
|
5152
5593
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
5153
5594
|
var handleId = HEAP_DATA_VIEW.getUint32(arraybuffer_or_view, true);
|
|
5154
5595
|
var handle = envObject.ctx.handleStore.get(handleId);
|
|
@@ -5157,6 +5598,7 @@
|
|
|
5157
5598
|
}
|
|
5158
5599
|
var ret = $emnapiSyncMemory(Boolean(js_to_wasm), handle.value, offset, len);
|
|
5159
5600
|
if (handle.value !== ret) {
|
|
5601
|
+
arraybuffer_or_view >>>= 0;
|
|
5160
5602
|
v = envObject.ensureHandleId(ret);
|
|
5161
5603
|
HEAP_DATA_VIEW.setUint32(arraybuffer_or_view, v, true);
|
|
5162
5604
|
}
|
|
@@ -5215,13 +5657,16 @@
|
|
|
5215
5657
|
p = info.address;
|
|
5216
5658
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
5217
5659
|
if (address) {
|
|
5660
|
+
address >>>= 0;
|
|
5218
5661
|
HEAP_DATA_VIEW.setUint32(address, p, true);
|
|
5219
5662
|
}
|
|
5220
5663
|
if (ownership) {
|
|
5664
|
+
ownership >>>= 0;
|
|
5221
5665
|
ownershipOut = info.ownership;
|
|
5222
5666
|
HEAP_DATA_VIEW.setInt32(ownership, ownershipOut, true);
|
|
5223
5667
|
}
|
|
5224
5668
|
if (runtime_allocated) {
|
|
5669
|
+
runtime_allocated >>>= 0;
|
|
5225
5670
|
runtimeAllocated = info.runtimeAllocated;
|
|
5226
5671
|
HEAP_DATA_VIEW.setInt8(runtime_allocated, runtimeAllocated, true);
|
|
5227
5672
|
}
|
|
@@ -5251,6 +5696,7 @@
|
|
|
5251
5696
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5252
5697
|
var versions = runtimeVersion.split('.')
|
|
5253
5698
|
.map(function (n) { return Number(n); });
|
|
5699
|
+
version >>>= 0;
|
|
5254
5700
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
5255
5701
|
HEAP_DATA_VIEW.setUint32(version, versions[0], true);
|
|
5256
5702
|
HEAP_DATA_VIEW.setUint32(version + 4, versions[1], true);
|
|
@@ -5280,6 +5726,7 @@
|
|
|
5280
5726
|
envObject.checkGCAccess();
|
|
5281
5727
|
if (!result)
|
|
5282
5728
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5729
|
+
result >>>= 0;
|
|
5283
5730
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5284
5731
|
var value = emnapiCtx.addToCurrentScope([]).id;
|
|
5285
5732
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5297,6 +5744,8 @@
|
|
|
5297
5744
|
envObject.checkGCAccess();
|
|
5298
5745
|
if (!result)
|
|
5299
5746
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5747
|
+
length >>>= 0;
|
|
5748
|
+
result >>>= 0;
|
|
5300
5749
|
length = length >>> 0;
|
|
5301
5750
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5302
5751
|
var value = emnapiCtx.addToCurrentScope(new Array(length)).id;
|
|
@@ -5305,9 +5754,11 @@
|
|
|
5305
5754
|
return envObject.clearLastError();
|
|
5306
5755
|
}
|
|
5307
5756
|
function emnapiCreateArrayBuffer(byte_length, data, shared) {
|
|
5757
|
+
byte_length >>>= 0;
|
|
5308
5758
|
byte_length = byte_length >>> 0;
|
|
5309
5759
|
var arrayBuffer = shared ? new SharedArrayBuffer(byte_length) : new ArrayBuffer(byte_length);
|
|
5310
5760
|
if (data) {
|
|
5761
|
+
data >>>= 0;
|
|
5311
5762
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5312
5763
|
var p = emnapiExternalMemory.getArrayBufferPointer(arrayBuffer, true).address;
|
|
5313
5764
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5334,6 +5785,7 @@
|
|
|
5334
5785
|
try {
|
|
5335
5786
|
if (!result)
|
|
5336
5787
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5788
|
+
result >>>= 0;
|
|
5337
5789
|
var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, false);
|
|
5338
5790
|
value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
|
|
5339
5791
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5364,6 +5816,7 @@
|
|
|
5364
5816
|
try {
|
|
5365
5817
|
if (!result)
|
|
5366
5818
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5819
|
+
result >>>= 0;
|
|
5367
5820
|
var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, true);
|
|
5368
5821
|
value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
|
|
5369
5822
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5394,6 +5847,7 @@
|
|
|
5394
5847
|
try {
|
|
5395
5848
|
if (!result)
|
|
5396
5849
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5850
|
+
result >>>= 0;
|
|
5397
5851
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5398
5852
|
value = emnapiCtx.addToCurrentScope(new Date(time)).id;
|
|
5399
5853
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5431,6 +5885,7 @@
|
|
|
5431
5885
|
if (finalize_cb) {
|
|
5432
5886
|
emnapiCtx.createReferenceWithFinalizer(envObject, externalHandle.id, 0, 0 /* ReferenceOwnership.kRuntime */, finalize_cb, data, finalize_hint);
|
|
5433
5887
|
}
|
|
5888
|
+
result >>>= 0;
|
|
5434
5889
|
value = externalHandle.id;
|
|
5435
5890
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
5436
5891
|
HEAP_DATA_VIEW.setUint32(result, value, true);
|
|
@@ -5460,6 +5915,9 @@
|
|
|
5460
5915
|
try {
|
|
5461
5916
|
if (!result)
|
|
5462
5917
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5918
|
+
byte_length >>>= 0;
|
|
5919
|
+
external_data >>>= 0;
|
|
5920
|
+
result >>>= 0;
|
|
5463
5921
|
byte_length = byte_length >>> 0;
|
|
5464
5922
|
if (!external_data) {
|
|
5465
5923
|
byte_length = 0;
|
|
@@ -5521,6 +5979,7 @@
|
|
|
5521
5979
|
envObject.checkGCAccess();
|
|
5522
5980
|
if (!result)
|
|
5523
5981
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5982
|
+
result >>>= 0;
|
|
5524
5983
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5525
5984
|
var value = emnapiCtx.addToCurrentScope({}).id;
|
|
5526
5985
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5530,7 +5989,7 @@
|
|
|
5530
5989
|
/**
|
|
5531
5990
|
* @__sig ipppppp
|
|
5532
5991
|
*/
|
|
5533
|
-
function
|
|
5992
|
+
function node_api_create_object_with_properties(env, prototype_or_null, property_names, property_values, property_count, result) {
|
|
5534
5993
|
if (!env)
|
|
5535
5994
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5536
5995
|
// @ts-expect-error
|
|
@@ -5538,6 +5997,7 @@
|
|
|
5538
5997
|
envObject.checkGCAccess();
|
|
5539
5998
|
if (!result)
|
|
5540
5999
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6000
|
+
property_count >>>= 0;
|
|
5541
6001
|
property_count = property_count >>> 0;
|
|
5542
6002
|
if (property_count > 0) {
|
|
5543
6003
|
if (!property_names)
|
|
@@ -5549,6 +6009,8 @@
|
|
|
5549
6009
|
? emnapiCtx.handleStore.get(prototype_or_null).value
|
|
5550
6010
|
: null;
|
|
5551
6011
|
var properties = {};
|
|
6012
|
+
property_names >>>= 0;
|
|
6013
|
+
property_values >>>= 0;
|
|
5552
6014
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
5553
6015
|
for (var i = 0; i < property_count; i++) {
|
|
5554
6016
|
var name_value = emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_names + i * 4, true)).value;
|
|
@@ -5570,6 +6032,7 @@
|
|
|
5570
6032
|
}
|
|
5571
6033
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5572
6034
|
var value = emnapiCtx.addToCurrentScope(obj).id;
|
|
6035
|
+
result >>>= 0;
|
|
5573
6036
|
HEAP_DATA_VIEW.setUint32(result, value, true);
|
|
5574
6037
|
return envObject.clearLastError();
|
|
5575
6038
|
}
|
|
@@ -5584,6 +6047,7 @@
|
|
|
5584
6047
|
envObject.checkGCAccess();
|
|
5585
6048
|
if (!result)
|
|
5586
6049
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6050
|
+
result >>>= 0;
|
|
5587
6051
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
5588
6052
|
if (!description) {
|
|
5589
6053
|
// eslint-disable-next-line symbol-description, @typescript-eslint/no-unused-vars
|
|
@@ -5628,6 +6092,8 @@
|
|
|
5628
6092
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5629
6093
|
}
|
|
5630
6094
|
var buffer = handle.value;
|
|
6095
|
+
byte_offset >>>= 0;
|
|
6096
|
+
length >>>= 0;
|
|
5631
6097
|
var createTypedArray = function (envObject, Type, size_of_element, buffer, byte_offset, length) {
|
|
5632
6098
|
var _a;
|
|
5633
6099
|
byte_offset = byte_offset >>> 0;
|
|
@@ -5658,6 +6124,7 @@
|
|
|
5658
6124
|
});
|
|
5659
6125
|
}
|
|
5660
6126
|
}
|
|
6127
|
+
result >>>= 0;
|
|
5661
6128
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5662
6129
|
value = emnapiCtx.addToCurrentScope(out).id;
|
|
5663
6130
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5726,7 +6193,9 @@
|
|
|
5726
6193
|
if (!Buffer) {
|
|
5727
6194
|
throw emnapiCtx.createNotSupportBufferError('napi_create_buffer', '');
|
|
5728
6195
|
}
|
|
6196
|
+
result >>>= 0;
|
|
5729
6197
|
var buffer = void 0;
|
|
6198
|
+
size >>>= 0;
|
|
5730
6199
|
size = size >>> 0;
|
|
5731
6200
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
5732
6201
|
if (!data || (size === 0)) {
|
|
@@ -5738,6 +6207,7 @@
|
|
|
5738
6207
|
pointer = _malloc(size);
|
|
5739
6208
|
if (!pointer)
|
|
5740
6209
|
throw new Error('Out of memory');
|
|
6210
|
+
pointer >>>= 0;
|
|
5741
6211
|
new Uint8Array(wasmMemory.buffer).subarray(pointer, pointer + size).fill(0);
|
|
5742
6212
|
var buffer_1 = Buffer.from(wasmMemory.buffer, pointer, size);
|
|
5743
6213
|
var viewDescriptor = {
|
|
@@ -5751,6 +6221,7 @@
|
|
|
5751
6221
|
(_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(viewDescriptor, pointer);
|
|
5752
6222
|
value = emnapiCtx.addToCurrentScope(buffer_1).id;
|
|
5753
6223
|
HEAP_DATA_VIEW.setUint32(result, value, true);
|
|
6224
|
+
data >>>= 0;
|
|
5754
6225
|
HEAP_DATA_VIEW.setUint32(data, pointer, true);
|
|
5755
6226
|
}
|
|
5756
6227
|
return envObject.getReturnStatus();
|
|
@@ -5785,8 +6256,11 @@
|
|
|
5785
6256
|
}
|
|
5786
6257
|
var arrayBuffer = emnapiCreateArrayBuffer(length, result_data, false);
|
|
5787
6258
|
var buffer = Buffer.from(arrayBuffer);
|
|
6259
|
+
data >>>= 0;
|
|
6260
|
+
length >>>= 0;
|
|
5788
6261
|
buffer.set(new Uint8Array(wasmMemory.buffer).subarray(data, data + length));
|
|
5789
6262
|
value = emnapiCtx.addToCurrentScope(buffer).id;
|
|
6263
|
+
result >>>= 0;
|
|
5790
6264
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
5791
6265
|
HEAP_DATA_VIEW.setUint32(result, value, true);
|
|
5792
6266
|
return envObject.getReturnStatus();
|
|
@@ -5823,6 +6297,8 @@
|
|
|
5823
6297
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5824
6298
|
if (!result)
|
|
5825
6299
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6300
|
+
byte_offset >>>= 0;
|
|
6301
|
+
byte_length >>>= 0;
|
|
5826
6302
|
byte_offset = byte_offset >>> 0;
|
|
5827
6303
|
byte_length = byte_length >>> 0;
|
|
5828
6304
|
var handle = emnapiCtx.handleStore.get(arraybuffer);
|
|
@@ -5851,6 +6327,7 @@
|
|
|
5851
6327
|
});
|
|
5852
6328
|
}
|
|
5853
6329
|
}
|
|
6330
|
+
result >>>= 0;
|
|
5854
6331
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5855
6332
|
value = emnapiCtx.addToCurrentScope(out).id;
|
|
5856
6333
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5881,6 +6358,8 @@
|
|
|
5881
6358
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5882
6359
|
if (!result)
|
|
5883
6360
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6361
|
+
byte_length >>>= 0;
|
|
6362
|
+
byte_offset >>>= 0;
|
|
5884
6363
|
byte_length = byte_length >>> 0;
|
|
5885
6364
|
byte_offset = byte_offset >>> 0;
|
|
5886
6365
|
var value = emnapiCtx.handleStore.get(arraybuffer).value;
|
|
@@ -5902,6 +6381,7 @@
|
|
|
5902
6381
|
});
|
|
5903
6382
|
}
|
|
5904
6383
|
}
|
|
6384
|
+
result >>>= 0;
|
|
5905
6385
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5906
6386
|
var v = emnapiCtx.addToCurrentScope(dataview).id;
|
|
5907
6387
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5931,7 +6411,10 @@
|
|
|
5931
6411
|
envObject.checkGCAccess();
|
|
5932
6412
|
if (!result)
|
|
5933
6413
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5934
|
-
|
|
6414
|
+
length >>>= 0;
|
|
6415
|
+
utf8description >>>= 0;
|
|
6416
|
+
result >>>= 0;
|
|
6417
|
+
var autoLength = length === -1 || length === 4294967295;
|
|
5935
6418
|
var sizelength = length >>> 0;
|
|
5936
6419
|
if (length !== 0) {
|
|
5937
6420
|
if (!utf8description)
|
|
@@ -5960,10 +6443,10 @@
|
|
|
5960
6443
|
napi_create_external_arraybuffer: napi_create_external_arraybuffer,
|
|
5961
6444
|
napi_create_external_buffer: napi_create_external_buffer,
|
|
5962
6445
|
napi_create_object: napi_create_object,
|
|
5963
|
-
napi_create_object_with_properties: napi_create_object_with_properties,
|
|
5964
6446
|
napi_create_symbol: napi_create_symbol,
|
|
5965
6447
|
napi_create_typedarray: napi_create_typedarray,
|
|
5966
6448
|
node_api_create_buffer_from_arraybuffer: node_api_create_buffer_from_arraybuffer,
|
|
6449
|
+
node_api_create_object_with_properties: node_api_create_object_with_properties,
|
|
5967
6450
|
node_api_create_sharedarraybuffer: node_api_create_sharedarraybuffer,
|
|
5968
6451
|
node_api_symbol_for: node_api_symbol_for
|
|
5969
6452
|
});
|
|
@@ -5976,6 +6459,7 @@
|
|
|
5976
6459
|
envObject.checkGCAccess();
|
|
5977
6460
|
if (!result)
|
|
5978
6461
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6462
|
+
result >>>= 0;
|
|
5979
6463
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5980
6464
|
var v = value === 0 ? 3 /* GlobalHandle.FALSE */ : 4 /* GlobalHandle.TRUE */;
|
|
5981
6465
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -5991,6 +6475,7 @@
|
|
|
5991
6475
|
envObject.checkGCAccess();
|
|
5992
6476
|
if (!result)
|
|
5993
6477
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6478
|
+
result >>>= 0;
|
|
5994
6479
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5995
6480
|
var value = 5 /* GlobalHandle.GLOBAL */;
|
|
5996
6481
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -6006,6 +6491,7 @@
|
|
|
6006
6491
|
envObject.checkGCAccess();
|
|
6007
6492
|
if (!result)
|
|
6008
6493
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6494
|
+
result >>>= 0;
|
|
6009
6495
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6010
6496
|
var value = 2 /* GlobalHandle.NULL */;
|
|
6011
6497
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -6021,6 +6507,7 @@
|
|
|
6021
6507
|
envObject.checkGCAccess();
|
|
6022
6508
|
if (!result)
|
|
6023
6509
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6510
|
+
result >>>= 0;
|
|
6024
6511
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6025
6512
|
var value = 1 /* GlobalHandle.UNDEFINED */;
|
|
6026
6513
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -6039,6 +6526,9 @@
|
|
|
6039
6526
|
if (!env)
|
|
6040
6527
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
6041
6528
|
var envObject = emnapiCtx.envStore.get(env);
|
|
6529
|
+
data >>>= 0;
|
|
6530
|
+
finalize_cb >>>= 0;
|
|
6531
|
+
finalize_hint >>>= 0;
|
|
6042
6532
|
envObject.setInstanceData(data, finalize_cb, finalize_hint);
|
|
6043
6533
|
return envObject.clearLastError();
|
|
6044
6534
|
}
|
|
@@ -6049,6 +6539,7 @@
|
|
|
6049
6539
|
var envObject = emnapiCtx.envStore.get(env);
|
|
6050
6540
|
if (!data)
|
|
6051
6541
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6542
|
+
data >>>= 0;
|
|
6052
6543
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6053
6544
|
var value = envObject.getInstanceData();
|
|
6054
6545
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -6062,6 +6553,9 @@
|
|
|
6062
6553
|
});
|
|
6063
6554
|
/** @__sig vpppp */
|
|
6064
6555
|
function _emnapi_get_last_error_info(env, error_code, engine_error_code, engine_reserved) {
|
|
6556
|
+
error_code >>>= 0;
|
|
6557
|
+
engine_error_code >>>= 0;
|
|
6558
|
+
engine_reserved >>>= 0;
|
|
6065
6559
|
var envObject = emnapiCtx.envStore.get(env);
|
|
6066
6560
|
var lastError = envObject.lastError;
|
|
6067
6561
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -6070,6 +6564,7 @@
|
|
|
6070
6564
|
var engineErrorCode = lastError.engineErrorCode >>> 0;
|
|
6071
6565
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6072
6566
|
var engineReserved = lastError.engineReserved;
|
|
6567
|
+
engineReserved >>>= 0;
|
|
6073
6568
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6074
6569
|
HEAP_DATA_VIEW.setInt32(error_code, errorCode, true);
|
|
6075
6570
|
HEAP_DATA_VIEW.setUint32(engine_error_code, engineErrorCode, true);
|
|
@@ -6113,6 +6608,8 @@
|
|
|
6113
6608
|
try {
|
|
6114
6609
|
if (!msg)
|
|
6115
6610
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6611
|
+
code >>>= 0;
|
|
6612
|
+
msg >>>= 0;
|
|
6116
6613
|
var error = new Error(emnapiString.UTF8ToString(msg, -1));
|
|
6117
6614
|
if (code)
|
|
6118
6615
|
error.code = emnapiString.UTF8ToString(code, -1);
|
|
@@ -6139,6 +6636,8 @@
|
|
|
6139
6636
|
try {
|
|
6140
6637
|
if (!msg)
|
|
6141
6638
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6639
|
+
code >>>= 0;
|
|
6640
|
+
msg >>>= 0;
|
|
6142
6641
|
var error = new TypeError(emnapiString.UTF8ToString(msg, -1));
|
|
6143
6642
|
if (code)
|
|
6144
6643
|
error.code = emnapiString.UTF8ToString(code, -1);
|
|
@@ -6165,6 +6664,8 @@
|
|
|
6165
6664
|
try {
|
|
6166
6665
|
if (!msg)
|
|
6167
6666
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6667
|
+
code >>>= 0;
|
|
6668
|
+
msg >>>= 0;
|
|
6168
6669
|
var error = new RangeError(emnapiString.UTF8ToString(msg, -1));
|
|
6169
6670
|
if (code)
|
|
6170
6671
|
error.code = emnapiString.UTF8ToString(code, -1);
|
|
@@ -6191,6 +6692,8 @@
|
|
|
6191
6692
|
try {
|
|
6192
6693
|
if (!msg)
|
|
6193
6694
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6695
|
+
code >>>= 0;
|
|
6696
|
+
msg >>>= 0;
|
|
6194
6697
|
var error = new SyntaxError(emnapiString.UTF8ToString(msg, -1));
|
|
6195
6698
|
if (code)
|
|
6196
6699
|
error.code = emnapiString.UTF8ToString(code, -1);
|
|
@@ -6213,6 +6716,7 @@
|
|
|
6213
6716
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6214
6717
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6215
6718
|
var r = envObject.tryCatch.hasCaught();
|
|
6719
|
+
result >>>= 0;
|
|
6216
6720
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6217
6721
|
HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
|
|
6218
6722
|
return envObject.clearLastError();
|
|
@@ -6240,6 +6744,7 @@
|
|
|
6240
6744
|
}
|
|
6241
6745
|
error.code = codeValue;
|
|
6242
6746
|
}
|
|
6747
|
+
result >>>= 0;
|
|
6243
6748
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6244
6749
|
var value = emnapiCtx.addToCurrentScope(error).id;
|
|
6245
6750
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -6269,6 +6774,7 @@
|
|
|
6269
6774
|
}
|
|
6270
6775
|
error.code = codeValue;
|
|
6271
6776
|
}
|
|
6777
|
+
result >>>= 0;
|
|
6272
6778
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6273
6779
|
var value = emnapiCtx.addToCurrentScope(error).id;
|
|
6274
6780
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -6298,6 +6804,7 @@
|
|
|
6298
6804
|
}
|
|
6299
6805
|
error.code = codeValue;
|
|
6300
6806
|
}
|
|
6807
|
+
result >>>= 0;
|
|
6301
6808
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6302
6809
|
var value = emnapiCtx.addToCurrentScope(error).id;
|
|
6303
6810
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -6327,6 +6834,7 @@
|
|
|
6327
6834
|
}
|
|
6328
6835
|
error.code = codeValue;
|
|
6329
6836
|
}
|
|
6837
|
+
result >>>= 0;
|
|
6330
6838
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6331
6839
|
var value = emnapiCtx.addToCurrentScope(error).id;
|
|
6332
6840
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -6342,6 +6850,7 @@
|
|
|
6342
6850
|
envObject.checkGCAccess();
|
|
6343
6851
|
if (!result)
|
|
6344
6852
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6853
|
+
result >>>= 0;
|
|
6345
6854
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6346
6855
|
if (!envObject.tryCatch.hasCaught()) {
|
|
6347
6856
|
HEAP_DATA_VIEW.setUint32(result, 1, true); // ID_UNDEFINED
|
|
@@ -6358,6 +6867,10 @@
|
|
|
6358
6867
|
}
|
|
6359
6868
|
/** @__sig vpppp */
|
|
6360
6869
|
function napi_fatal_error(location, location_len, message, message_len) {
|
|
6870
|
+
location >>>= 0;
|
|
6871
|
+
location_len >>>= 0;
|
|
6872
|
+
message >>>= 0;
|
|
6873
|
+
message_len >>>= 0;
|
|
6361
6874
|
var locationStr = emnapiString.UTF8ToString(location, location_len);
|
|
6362
6875
|
var messageStr = emnapiString.UTF8ToString(message, message_len);
|
|
6363
6876
|
if (emnapiNodeBinding) {
|
|
@@ -6414,9 +6927,23 @@
|
|
|
6414
6927
|
node_api_throw_syntax_error: node_api_throw_syntax_error
|
|
6415
6928
|
});
|
|
6416
6929
|
/** @__sig ipppppp */
|
|
6417
|
-
function
|
|
6930
|
+
function _emnapi_create_function(env, utf8name, length, cb, data, result) {
|
|
6931
|
+
length >>>= 0;
|
|
6932
|
+
var envObject = emnapiCtx.envStore.get(env);
|
|
6933
|
+
var fresult = emnapiCreateFunction(envObject, utf8name, length, cb, data);
|
|
6934
|
+
if (fresult.status !== 0 /* napi_status.napi_ok */)
|
|
6935
|
+
return envObject.setLastError(fresult.status);
|
|
6936
|
+
var f = fresult.f;
|
|
6937
|
+
var valueHandle = emnapiCtx.addToCurrentScope(f);
|
|
6938
|
+
result >>>= 0;
|
|
6418
6939
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6419
|
-
var value;
|
|
6940
|
+
var value = valueHandle.id;
|
|
6941
|
+
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6942
|
+
HEAP_DATA_VIEW.setUint32(result, value, true);
|
|
6943
|
+
return envObject.getReturnStatus();
|
|
6944
|
+
}
|
|
6945
|
+
/** @__sig ipppppp */
|
|
6946
|
+
function napi_create_function(env, utf8name, length, cb, data, result) {
|
|
6420
6947
|
if (!env)
|
|
6421
6948
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
6422
6949
|
// @ts-expect-error
|
|
@@ -6432,15 +6959,7 @@
|
|
|
6432
6959
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6433
6960
|
if (!cb)
|
|
6434
6961
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6435
|
-
|
|
6436
|
-
if (fresult.status !== 0 /* napi_status.napi_ok */)
|
|
6437
|
-
return envObject.setLastError(fresult.status);
|
|
6438
|
-
var f = fresult.f;
|
|
6439
|
-
var valueHandle = emnapiCtx.addToCurrentScope(f);
|
|
6440
|
-
value = valueHandle.id;
|
|
6441
|
-
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6442
|
-
HEAP_DATA_VIEW.setUint32(result, value, true);
|
|
6443
|
-
return envObject.getReturnStatus();
|
|
6962
|
+
return _emnapi_create_function(env, utf8name, length, cb, data, result);
|
|
6444
6963
|
}
|
|
6445
6964
|
catch (err) {
|
|
6446
6965
|
envObject.tryCatch.setError(err);
|
|
@@ -6455,11 +6974,14 @@
|
|
|
6455
6974
|
if (!cbinfo)
|
|
6456
6975
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6457
6976
|
var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
|
|
6977
|
+
argc >>>= 0;
|
|
6978
|
+
argv >>>= 0;
|
|
6458
6979
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6459
6980
|
if (argv) {
|
|
6460
6981
|
if (!argc)
|
|
6461
6982
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6462
6983
|
var argcValue = HEAP_DATA_VIEW.getUint32(argc, true);
|
|
6984
|
+
argcValue >>>= 0;
|
|
6463
6985
|
var len = cbinfoValue.args.length;
|
|
6464
6986
|
var arrlen = argcValue < len ? argcValue : len;
|
|
6465
6987
|
var i = 0;
|
|
@@ -6478,11 +7000,13 @@
|
|
|
6478
7000
|
HEAP_DATA_VIEW.setUint32(argc, cbinfoValue.args.length, true);
|
|
6479
7001
|
}
|
|
6480
7002
|
if (this_arg) {
|
|
7003
|
+
this_arg >>>= 0;
|
|
6481
7004
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6482
7005
|
var v = envObject.ensureHandleId(cbinfoValue.thiz);
|
|
6483
7006
|
HEAP_DATA_VIEW.setUint32(this_arg, v, true);
|
|
6484
7007
|
}
|
|
6485
7008
|
if (data) {
|
|
7009
|
+
data >>>= 0;
|
|
6486
7010
|
HEAP_DATA_VIEW.setUint32(data, cbinfoValue.data, true);
|
|
6487
7011
|
}
|
|
6488
7012
|
return envObject.clearLastError();
|
|
@@ -6505,6 +7029,9 @@
|
|
|
6505
7029
|
try {
|
|
6506
7030
|
if (!recv)
|
|
6507
7031
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
7032
|
+
argc >>>= 0;
|
|
7033
|
+
argv >>>= 0;
|
|
7034
|
+
result >>>= 0;
|
|
6508
7035
|
argc = argc >>> 0;
|
|
6509
7036
|
if (argc > 0) {
|
|
6510
7037
|
if (!argv)
|
|
@@ -6552,6 +7079,9 @@
|
|
|
6552
7079
|
try {
|
|
6553
7080
|
if (!constructor)
|
|
6554
7081
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
7082
|
+
argc >>>= 0;
|
|
7083
|
+
argv >>>= 0;
|
|
7084
|
+
result >>>= 0;
|
|
6555
7085
|
argc = argc >>> 0;
|
|
6556
7086
|
if (argc > 0) {
|
|
6557
7087
|
if (!argv)
|
|
@@ -6604,8 +7134,10 @@
|
|
|
6604
7134
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6605
7135
|
if (!result)
|
|
6606
7136
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
7137
|
+
result >>>= 0;
|
|
6607
7138
|
var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
|
|
6608
7139
|
var thiz = cbinfoValue.thiz, fn = cbinfoValue.fn;
|
|
7140
|
+
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain, @typescript-eslint/no-unused-vars
|
|
6609
7141
|
var value = thiz == null || thiz.constructor == null
|
|
6610
7142
|
? 0
|
|
6611
7143
|
: thiz instanceof fn
|
|
@@ -6617,6 +7149,7 @@
|
|
|
6617
7149
|
}
|
|
6618
7150
|
var functionMod = /*#__PURE__*/ Object.freeze({
|
|
6619
7151
|
__proto__: null,
|
|
7152
|
+
_emnapi_create_function: _emnapi_create_function,
|
|
6620
7153
|
napi_call_function: napi_call_function,
|
|
6621
7154
|
napi_create_function: napi_create_function,
|
|
6622
7155
|
napi_get_cb_info: napi_get_cb_info,
|
|
@@ -6634,6 +7167,7 @@
|
|
|
6634
7167
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6635
7168
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6636
7169
|
var scope = emnapiCtx.openScope(envObject);
|
|
7170
|
+
result >>>= 0;
|
|
6637
7171
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6638
7172
|
HEAP_DATA_VIEW.setUint32(result, scope.id, true);
|
|
6639
7173
|
return envObject.clearLastError();
|
|
@@ -6664,6 +7198,7 @@
|
|
|
6664
7198
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6665
7199
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6666
7200
|
var scope = emnapiCtx.openScope(envObject);
|
|
7201
|
+
result >>>= 0;
|
|
6667
7202
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6668
7203
|
HEAP_DATA_VIEW.setUint32(result, scope.id, true);
|
|
6669
7204
|
return envObject.clearLastError();
|
|
@@ -6698,6 +7233,8 @@
|
|
|
6698
7233
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6699
7234
|
var scopeObject = emnapiCtx.scopeStore.get(scope);
|
|
6700
7235
|
if (!scopeObject.escapeCalled()) {
|
|
7236
|
+
escapee >>>= 0;
|
|
7237
|
+
result >>>= 0;
|
|
6701
7238
|
var newHandle = scopeObject.escape(escapee);
|
|
6702
7239
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6703
7240
|
var value = newHandle ? newHandle.id : 0;
|
|
@@ -6726,6 +7263,7 @@
|
|
|
6726
7263
|
}
|
|
6727
7264
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6728
7265
|
var ref = emnapiCtx.createReference(envObject, handle.id, initial_refcount >>> 0, 1 /* ReferenceOwnership.kUserland */);
|
|
7266
|
+
result >>>= 0;
|
|
6729
7267
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6730
7268
|
HEAP_DATA_VIEW.setUint32(result, ref.id, true);
|
|
6731
7269
|
return envObject.clearLastError();
|
|
@@ -6752,6 +7290,7 @@
|
|
|
6752
7290
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6753
7291
|
var count = emnapiCtx.refStore.get(ref).ref();
|
|
6754
7292
|
if (result) {
|
|
7293
|
+
result >>>= 0;
|
|
6755
7294
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6756
7295
|
HEAP_DATA_VIEW.setUint32(result, count, true);
|
|
6757
7296
|
}
|
|
@@ -6774,6 +7313,7 @@
|
|
|
6774
7313
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6775
7314
|
var count = reference.unref();
|
|
6776
7315
|
if (result) {
|
|
7316
|
+
result >>>= 0;
|
|
6777
7317
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6778
7318
|
HEAP_DATA_VIEW.setUint32(result, count, true);
|
|
6779
7319
|
}
|
|
@@ -6793,6 +7333,7 @@
|
|
|
6793
7333
|
var reference = emnapiCtx.refStore.get(ref);
|
|
6794
7334
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6795
7335
|
var handleId = reference.get(envObject);
|
|
7336
|
+
result >>>= 0;
|
|
6796
7337
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
6797
7338
|
HEAP_DATA_VIEW.setUint32(result, handleId, true);
|
|
6798
7339
|
return envObject.clearLastError();
|
|
@@ -6804,6 +7345,8 @@
|
|
|
6804
7345
|
var envObject = emnapiCtx.envStore.get(env);
|
|
6805
7346
|
if (!fun)
|
|
6806
7347
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
7348
|
+
fun >>>= 0;
|
|
7349
|
+
arg >>>= 0;
|
|
6807
7350
|
emnapiCtx.addCleanupHook(envObject, fun, arg);
|
|
6808
7351
|
return 0 /* napi_status.napi_ok */;
|
|
6809
7352
|
}
|
|
@@ -6814,6 +7357,8 @@
|
|
|
6814
7357
|
var envObject = emnapiCtx.envStore.get(env);
|
|
6815
7358
|
if (!fun)
|
|
6816
7359
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
7360
|
+
fun >>>= 0;
|
|
7361
|
+
arg >>>= 0;
|
|
6817
7362
|
emnapiCtx.removeCleanupHook(envObject, fun, arg);
|
|
6818
7363
|
return 0 /* napi_status.napi_ok */;
|
|
6819
7364
|
}
|
|
@@ -6880,8 +7425,10 @@
|
|
|
6880
7425
|
var p = new Promise(function (resolve, reject) {
|
|
6881
7426
|
var deferredObject = emnapiCtx.createDeferred({ resolve: resolve, reject: reject });
|
|
6882
7427
|
deferredObjectId = deferredObject.id;
|
|
7428
|
+
deferred >>>= 0;
|
|
6883
7429
|
HEAP_DATA_VIEW.setUint32(deferred, deferredObjectId, true);
|
|
6884
7430
|
});
|
|
7431
|
+
promise >>>= 0;
|
|
6885
7432
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6886
7433
|
value = emnapiCtx.addToCurrentScope(p).id;
|
|
6887
7434
|
HEAP_DATA_VIEW.setUint32(promise, value, true);
|
|
@@ -6956,6 +7503,7 @@
|
|
|
6956
7503
|
if (!is_promise)
|
|
6957
7504
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
6958
7505
|
var h = emnapiCtx.handleStore.get(value);
|
|
7506
|
+
is_promise >>>= 0;
|
|
6959
7507
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6960
7508
|
var r = h.isPromise() ? 1 : 0;
|
|
6961
7509
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -7103,6 +7651,7 @@
|
|
|
7103
7651
|
}
|
|
7104
7652
|
}
|
|
7105
7653
|
}
|
|
7654
|
+
result >>>= 0;
|
|
7106
7655
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7107
7656
|
value = emnapiCtx.addToCurrentScope(ret).id;
|
|
7108
7657
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -7181,6 +7730,7 @@
|
|
|
7181
7730
|
catch (_) {
|
|
7182
7731
|
return envObject.setLastError(2 /* napi_status.napi_object_expected */);
|
|
7183
7732
|
}
|
|
7733
|
+
result >>>= 0;
|
|
7184
7734
|
r = (emnapiCtx.handleStore.get(key).value in v) ? 1 : 0;
|
|
7185
7735
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
7186
7736
|
HEAP_DATA_VIEW.setInt8(result, r, true);
|
|
@@ -7223,6 +7773,7 @@
|
|
|
7223
7773
|
catch (_) {
|
|
7224
7774
|
return envObject.setLastError(2 /* napi_status.napi_object_expected */);
|
|
7225
7775
|
}
|
|
7776
|
+
result >>>= 0;
|
|
7226
7777
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7227
7778
|
value = envObject.ensureHandleId(v[emnapiCtx.handleStore.get(key).value]);
|
|
7228
7779
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -7270,6 +7821,7 @@
|
|
|
7270
7821
|
}
|
|
7271
7822
|
}
|
|
7272
7823
|
if (result) {
|
|
7824
|
+
result >>>= 0;
|
|
7273
7825
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
7274
7826
|
HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
|
|
7275
7827
|
}
|
|
@@ -7317,6 +7869,7 @@
|
|
|
7317
7869
|
return envObject.setLastError(4 /* napi_status.napi_name_expected */);
|
|
7318
7870
|
}
|
|
7319
7871
|
r = Object.prototype.hasOwnProperty.call(v, emnapiCtx.handleStore.get(key).value);
|
|
7872
|
+
result >>>= 0;
|
|
7320
7873
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
7321
7874
|
HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
|
|
7322
7875
|
return envObject.getReturnStatus();
|
|
@@ -7350,6 +7903,7 @@
|
|
|
7350
7903
|
if (!cname) {
|
|
7351
7904
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
7352
7905
|
}
|
|
7906
|
+
cname >>>= 0;
|
|
7353
7907
|
emnapiCtx.handleStore.get(object).value[emnapiString.UTF8ToString(cname, -1)] = emnapiCtx.handleStore.get(value).value;
|
|
7354
7908
|
return envObject.getReturnStatus();
|
|
7355
7909
|
}
|
|
@@ -7391,6 +7945,8 @@
|
|
|
7391
7945
|
catch (_) {
|
|
7392
7946
|
return envObject.setLastError(2 /* napi_status.napi_object_expected */);
|
|
7393
7947
|
}
|
|
7948
|
+
utf8name >>>= 0;
|
|
7949
|
+
result >>>= 0;
|
|
7394
7950
|
r = emnapiString.UTF8ToString(utf8name, -1) in v;
|
|
7395
7951
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
7396
7952
|
HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
|
|
@@ -7434,6 +7990,8 @@
|
|
|
7434
7990
|
catch (_) {
|
|
7435
7991
|
return envObject.setLastError(2 /* napi_status.napi_object_expected */);
|
|
7436
7992
|
}
|
|
7993
|
+
utf8name >>>= 0;
|
|
7994
|
+
result >>>= 0;
|
|
7437
7995
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7438
7996
|
value = envObject.ensureHandleId(v[emnapiString.UTF8ToString(utf8name, -1)]);
|
|
7439
7997
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -7504,6 +8062,7 @@
|
|
|
7504
8062
|
catch (_) {
|
|
7505
8063
|
return envObject.setLastError(2 /* napi_status.napi_object_expected */);
|
|
7506
8064
|
}
|
|
8065
|
+
result >>>= 0;
|
|
7507
8066
|
r = ((index >>> 0) in v) ? 1 : 0;
|
|
7508
8067
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
7509
8068
|
HEAP_DATA_VIEW.setInt8(result, r, true);
|
|
@@ -7544,6 +8103,7 @@
|
|
|
7544
8103
|
catch (_) {
|
|
7545
8104
|
return envObject.setLastError(2 /* napi_status.napi_object_expected */);
|
|
7546
8105
|
}
|
|
8106
|
+
result >>>= 0;
|
|
7547
8107
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7548
8108
|
value = envObject.ensureHandleId(v[index >>> 0]);
|
|
7549
8109
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -7588,6 +8148,7 @@
|
|
|
7588
8148
|
}
|
|
7589
8149
|
}
|
|
7590
8150
|
if (result) {
|
|
8151
|
+
result >>>= 0;
|
|
7591
8152
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
7592
8153
|
HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
|
|
7593
8154
|
}
|
|
@@ -7613,6 +8174,8 @@
|
|
|
7613
8174
|
return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
|
|
7614
8175
|
envObject.clearLastError();
|
|
7615
8176
|
try {
|
|
8177
|
+
properties >>>= 0;
|
|
8178
|
+
property_count >>>= 0;
|
|
7616
8179
|
property_count = property_count >>> 0;
|
|
7617
8180
|
if (property_count > 0) {
|
|
7618
8181
|
if (!properties)
|
|
@@ -7637,6 +8200,7 @@
|
|
|
7637
8200
|
var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
|
|
7638
8201
|
var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
|
|
7639
8202
|
attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
|
|
8203
|
+
attributes >>>= 0;
|
|
7640
8204
|
var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
|
|
7641
8205
|
if (utf8Name) {
|
|
7642
8206
|
propertyName = emnapiString.UTF8ToString(utf8Name, -1);
|
|
@@ -7761,6 +8325,7 @@
|
|
|
7761
8325
|
}
|
|
7762
8326
|
var g = emnapiCtx.handleStore.get(5 /* GlobalHandle.GLOBAL */).value;
|
|
7763
8327
|
var ret = g.eval(v8Script.value);
|
|
8328
|
+
result >>>= 0;
|
|
7764
8329
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7765
8330
|
value = envObject.ensureHandleId(ret);
|
|
7766
8331
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -7789,6 +8354,7 @@
|
|
|
7789
8354
|
if (!result)
|
|
7790
8355
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
7791
8356
|
var v = emnapiCtx.handleStore.get(value);
|
|
8357
|
+
result >>>= 0;
|
|
7792
8358
|
var r;
|
|
7793
8359
|
if (v.isNumber()) {
|
|
7794
8360
|
r = 3 /* napi_valuetype.napi_number */;
|
|
@@ -7853,6 +8419,7 @@
|
|
|
7853
8419
|
if (!result)
|
|
7854
8420
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
7855
8421
|
var handle = emnapiCtx.handleStore.get(value);
|
|
8422
|
+
result >>>= 0;
|
|
7856
8423
|
v = handle.value ? 4 /* GlobalHandle.TRUE */ : 3 /* GlobalHandle.FALSE */;
|
|
7857
8424
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
7858
8425
|
HEAP_DATA_VIEW.setUint32(result, v, true);
|
|
@@ -7886,6 +8453,7 @@
|
|
|
7886
8453
|
if (handle.isBigInt()) {
|
|
7887
8454
|
throw new TypeError('Cannot convert a BigInt value to a number');
|
|
7888
8455
|
}
|
|
8456
|
+
result >>>= 0;
|
|
7889
8457
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7890
8458
|
v = emnapiCtx.addToCurrentScope(Number(handle.value)).id;
|
|
7891
8459
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -7920,6 +8488,7 @@
|
|
|
7920
8488
|
if (handle.value == null) {
|
|
7921
8489
|
throw new TypeError('Cannot convert undefined or null to object');
|
|
7922
8490
|
}
|
|
8491
|
+
result >>>= 0;
|
|
7923
8492
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7924
8493
|
v = envObject.ensureHandleId(Object(handle.value));
|
|
7925
8494
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -7954,6 +8523,7 @@
|
|
|
7954
8523
|
if (handle.isSymbol()) {
|
|
7955
8524
|
throw new TypeError('Cannot convert a Symbol value to a string');
|
|
7956
8525
|
}
|
|
8526
|
+
result >>>= 0;
|
|
7957
8527
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7958
8528
|
v = emnapiCtx.addToCurrentScope(String(handle.value)).id;
|
|
7959
8529
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -7986,6 +8556,7 @@
|
|
|
7986
8556
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
7987
8557
|
if (!constructor)
|
|
7988
8558
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8559
|
+
result >>>= 0;
|
|
7989
8560
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
7990
8561
|
HEAP_DATA_VIEW.setInt8(result, 0, true);
|
|
7991
8562
|
var ctor = emnapiCtx.handleStore.get(constructor);
|
|
@@ -8015,6 +8586,7 @@
|
|
|
8015
8586
|
if (!result)
|
|
8016
8587
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8017
8588
|
var h = emnapiCtx.handleStore.get(value);
|
|
8589
|
+
result >>>= 0;
|
|
8018
8590
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8019
8591
|
var r = h.isArray() ? 1 : 0;
|
|
8020
8592
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -8033,6 +8605,7 @@
|
|
|
8033
8605
|
if (!result)
|
|
8034
8606
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8035
8607
|
var h = emnapiCtx.handleStore.get(value);
|
|
8608
|
+
result >>>= 0;
|
|
8036
8609
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8037
8610
|
var r = h.isArrayBuffer() ? 1 : 0;
|
|
8038
8611
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -8051,6 +8624,7 @@
|
|
|
8051
8624
|
if (!result)
|
|
8052
8625
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8053
8626
|
var h = emnapiCtx.handleStore.get(value);
|
|
8627
|
+
result >>>= 0;
|
|
8054
8628
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8055
8629
|
var r = ((typeof SharedArrayBuffer === 'function' && h.value instanceof SharedArrayBuffer) ||
|
|
8056
8630
|
(Object.prototype.toString.call(h.value) === '[object SharedArrayBuffer]'))
|
|
@@ -8072,6 +8646,7 @@
|
|
|
8072
8646
|
if (!result)
|
|
8073
8647
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8074
8648
|
var h = emnapiCtx.handleStore.get(value);
|
|
8649
|
+
result >>>= 0;
|
|
8075
8650
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8076
8651
|
var r = h.isDate() ? 1 : 0;
|
|
8077
8652
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -8090,6 +8665,7 @@
|
|
|
8090
8665
|
if (!result)
|
|
8091
8666
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8092
8667
|
var val = emnapiCtx.handleStore.get(value).value;
|
|
8668
|
+
result >>>= 0;
|
|
8093
8669
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8094
8670
|
var r = (val instanceof Error) ? 1 : 0;
|
|
8095
8671
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -8108,6 +8684,7 @@
|
|
|
8108
8684
|
if (!result)
|
|
8109
8685
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8110
8686
|
var h = emnapiCtx.handleStore.get(value);
|
|
8687
|
+
result >>>= 0;
|
|
8111
8688
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8112
8689
|
var r = h.isTypedArray() ? 1 : 0;
|
|
8113
8690
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -8126,6 +8703,7 @@
|
|
|
8126
8703
|
if (!result)
|
|
8127
8704
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8128
8705
|
var h = emnapiCtx.handleStore.get(value);
|
|
8706
|
+
result >>>= 0;
|
|
8129
8707
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8130
8708
|
var r = h.isBuffer(emnapiCtx.feature.Buffer) ? 1 : 0;
|
|
8131
8709
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -8144,6 +8722,7 @@
|
|
|
8144
8722
|
if (!result)
|
|
8145
8723
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8146
8724
|
var h = emnapiCtx.handleStore.get(value);
|
|
8725
|
+
result >>>= 0;
|
|
8147
8726
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8148
8727
|
var r = h.isDataView() ? 1 : 0;
|
|
8149
8728
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
@@ -8173,6 +8752,7 @@
|
|
|
8173
8752
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8174
8753
|
var lv = emnapiCtx.handleStore.get(lhs).value;
|
|
8175
8754
|
var rv = emnapiCtx.handleStore.get(rhs).value;
|
|
8755
|
+
result >>>= 0;
|
|
8176
8756
|
r = (lv === rv) ? 1 : 0;
|
|
8177
8757
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
8178
8758
|
HEAP_DATA_VIEW.setInt8(result, r, true);
|
|
@@ -8227,6 +8807,7 @@
|
|
|
8227
8807
|
if (!result)
|
|
8228
8808
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
8229
8809
|
var h = emnapiCtx.handleStore.get(arraybuffer);
|
|
8810
|
+
result >>>= 0;
|
|
8230
8811
|
var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
|
|
8231
8812
|
if (h.isArrayBuffer() && h.value.byteLength === 0) {
|
|
8232
8813
|
try {
|
|
@@ -8605,12 +9186,7 @@
|
|
|
8605
9186
|
try {
|
|
8606
9187
|
if (type === 'async-worker-init') {
|
|
8607
9188
|
this.handleAfterLoad(e, function () {
|
|
8608
|
-
_this.napiModule.initWorker(payload_1.arg);
|
|
8609
|
-
});
|
|
8610
|
-
}
|
|
8611
|
-
else if (type === 'async-work-execute') {
|
|
8612
|
-
this.handleAfterLoad(e, function () {
|
|
8613
|
-
_this.napiModule.executeAsyncWork(payload_1.work);
|
|
9189
|
+
_this.napiModule.initWorker(payload_1.arg, payload_1.func);
|
|
8614
9190
|
});
|
|
8615
9191
|
}
|
|
8616
9192
|
}
|
|
@@ -8636,7 +9212,7 @@
|
|
|
8636
9212
|
// }
|
|
8637
9213
|
// }
|
|
8638
9214
|
|
|
8639
|
-
var version = "1.
|
|
9215
|
+
var version = "1.10.0";
|
|
8640
9216
|
|
|
8641
9217
|
exports.MessageHandler = MessageHandler;
|
|
8642
9218
|
exports.ThreadManager = ThreadManager;
|