@php-wasm/node 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/asyncify/7_2_34/php_7_2.wasm +0 -0
  2. package/asyncify/7_3_33/php_7_3.wasm +0 -0
  3. package/asyncify/7_4_33/php_7_4.wasm +0 -0
  4. package/asyncify/8_0_30/php_8_0.wasm +0 -0
  5. package/asyncify/8_1_23/php_8_1.wasm +0 -0
  6. package/asyncify/8_2_10/php_8_2.wasm +0 -0
  7. package/asyncify/8_3_0/php_8_3.wasm +0 -0
  8. package/asyncify/8_4_0/php_8_4.wasm +0 -0
  9. package/asyncify/php_7_2.js +351 -157
  10. package/asyncify/php_7_3.js +350 -156
  11. package/asyncify/php_7_4.js +349 -155
  12. package/asyncify/php_8_0.js +353 -159
  13. package/asyncify/php_8_1.js +352 -158
  14. package/asyncify/php_8_2.js +353 -159
  15. package/asyncify/php_8_3.js +353 -159
  16. package/asyncify/php_8_4.js +352 -158
  17. package/fs_ext.node +0 -0
  18. package/index.cjs +9896 -2782
  19. package/index.js +9780 -2782
  20. package/jspi/7_2_34/php_7_2.wasm +0 -0
  21. package/jspi/7_3_33/php_7_3.wasm +0 -0
  22. package/jspi/7_4_33/php_7_4.wasm +0 -0
  23. package/jspi/8_0_30/php_8_0.wasm +0 -0
  24. package/jspi/8_1_23/php_8_1.wasm +0 -0
  25. package/jspi/8_2_10/php_8_2.wasm +0 -0
  26. package/jspi/8_3_0/php_8_3.wasm +0 -0
  27. package/jspi/8_4_0/php_8_4.wasm +0 -0
  28. package/jspi/php_7_2.js +1130 -340
  29. package/jspi/php_7_3.js +1130 -340
  30. package/jspi/php_7_4.js +1130 -340
  31. package/jspi/php_8_0.js +1130 -340
  32. package/jspi/php_8_1.js +1129 -339
  33. package/jspi/php_8_2.js +1129 -339
  34. package/jspi/php_8_3.js +1129 -339
  35. package/jspi/php_8_4.js +1129 -339
  36. package/lib/file-lock-manager-for-node.d.ts +149 -0
  37. package/lib/file-lock-manager.d.ts +96 -0
  38. package/lib/index.d.ts +2 -0
  39. package/lib/load-runtime.d.ts +31 -2
  40. package/package.json +10 -9
@@ -8,7 +8,7 @@ import path from 'path';
8
8
 
9
9
  const dependencyFilename = path.join(__dirname, '8_1_23', 'php_8_1.wasm');
10
10
  export { dependencyFilename };
11
- export const dependenciesTotalSize = 17368520;
11
+ export const dependenciesTotalSize = 17686407;
12
12
  export function init(RuntimeName, PHPLoader) {
13
13
  // The rest of the code comes from the built php.js file and esm-suffix.js
14
14
  // include: shell.js
@@ -228,7 +228,7 @@ export function init(RuntimeName, PHPLoader) {
228
228
  if (!Module['noFSInit'] && !FS.initialized) FS.init();
229
229
  TTY.init();
230
230
  PIPEFS.root = FS.mount(PIPEFS, {}, null);
231
- wasmExports['jb']();
231
+ wasmExports['kb']();
232
232
  FS.ignorePermissions = false;
233
233
  }
234
234
 
@@ -396,9 +396,9 @@ export function init(RuntimeName, PHPLoader) {
396
396
  wasmExports = instance.exports;
397
397
  wasmExports = Asyncify.instrumentWasmExports(wasmExports);
398
398
  Module['wasmExports'] = wasmExports;
399
- wasmMemory = wasmExports['ib'];
399
+ wasmMemory = wasmExports['jb'];
400
400
  updateMemoryViews();
401
- wasmTable = wasmExports['kb'];
401
+ wasmTable = wasmExports['lb'];
402
402
  removeRunDependency('wasm-instantiate');
403
403
  return wasmExports;
404
404
  }
@@ -7018,6 +7018,16 @@ export function init(RuntimeName, PHPLoader) {
7018
7018
 
7019
7019
  var allocateUTF8OnStack = stringToUTF8OnStack;
7020
7020
 
7021
+ function _js_getpid() {
7022
+ return PHPLoader.processId ?? 42;
7023
+ }
7024
+
7025
+ function _js_wasm_trace(format, ...args) {
7026
+ if (PHPLoader.trace instanceof Function) {
7027
+ PHPLoader.trace(_js_getpid(), format, ...args);
7028
+ }
7029
+ }
7030
+
7021
7031
  var PHPWASM = {
7022
7032
  init: function () {
7023
7033
  // The /internal directory is required by the C module. It's where the
@@ -7030,6 +7040,44 @@ export function init(RuntimeName, PHPLoader) {
7030
7040
  // The files from the preload directory are preloaded using the
7031
7041
  // auto_prepend_file php.ini directive.
7032
7042
  FS.mkdir('/internal/shared/preload');
7043
+ // Create stdout and stderr devices. We can't just use Emscripten's
7044
+ // default stdout and stderr devices because they stop processing data
7045
+ // on the first null byte. However, when dealing with binary data,
7046
+ // null bytes are valid and common.
7047
+ FS.registerDevice(FS.makedev(64, 0), {
7048
+ open: () => {},
7049
+ close: () => {},
7050
+ read: () => 0,
7051
+ write: (stream, buffer, offset, length, pos) => {
7052
+ const chunk = buffer.subarray(offset, offset + length);
7053
+ PHPWASM.onStdout(chunk);
7054
+ return length;
7055
+ },
7056
+ });
7057
+ FS.mkdev('/internal/stdout', FS.makedev(64, 0));
7058
+ FS.registerDevice(FS.makedev(63, 0), {
7059
+ open: () => {},
7060
+ close: () => {},
7061
+ read: () => 0,
7062
+ write: (stream, buffer, offset, length, pos) => {
7063
+ const chunk = buffer.subarray(offset, offset + length);
7064
+ PHPWASM.onStderr(chunk);
7065
+ return length;
7066
+ },
7067
+ });
7068
+ FS.mkdev('/internal/stderr', FS.makedev(63, 0));
7069
+ FS.registerDevice(FS.makedev(62, 0), {
7070
+ open: () => {},
7071
+ close: () => {},
7072
+ read: () => 0,
7073
+ write: (stream, buffer, offset, length, pos) => {
7074
+ const chunk = buffer.subarray(offset, offset + length);
7075
+ PHPWASM.onHeaders(chunk);
7076
+ return length;
7077
+ },
7078
+ });
7079
+ FS.mkdev('/internal/headers', FS.makedev(62, 0));
7080
+ // Handle events.
7033
7081
  PHPWASM.EventEmitter = ENVIRONMENT_IS_NODE
7034
7082
  ? require('events').EventEmitter
7035
7083
  : class EventEmitter {
@@ -7070,9 +7118,71 @@ export function init(RuntimeName, PHPLoader) {
7070
7118
  }
7071
7119
  }
7072
7120
  };
7121
+ // Clean up the fd -> childProcess mapping when the fd is closed:
7122
+ const originalClose = FS.close;
7123
+ FS.close = function (stream) {
7124
+ originalClose(stream);
7125
+ delete PHPWASM.child_proc_by_fd[stream.fd];
7126
+ };
7073
7127
  PHPWASM.child_proc_by_fd = {};
7074
7128
  PHPWASM.child_proc_by_pid = {};
7075
7129
  PHPWASM.input_devices = {};
7130
+ const originalWrite = TTY.stream_ops.write;
7131
+ TTY.stream_ops.write = function (stream, ...rest) {
7132
+ const retval = originalWrite(stream, ...rest);
7133
+ // Implicit flush since PHP's fflush() doesn't seem to trigger the fsync event
7134
+ // @TODO: Fix this at the wasm level
7135
+ stream.tty.ops.fsync(stream.tty);
7136
+ return retval;
7137
+ };
7138
+ const originalPutChar = TTY.stream_ops.put_char;
7139
+ TTY.stream_ops.put_char = function (tty, val) {
7140
+ /**
7141
+ * Buffer newlines that Emscripten normally ignores.
7142
+ *
7143
+ * Emscripten doesn't do it by default because its default
7144
+ * print function is console.log that implicitly adds a newline. We are overwriting
7145
+ * it with an environment-specific function that outputs exaclty what it was given,
7146
+ * e.g. in Node.js it's process.stdout.write(). Therefore, we need to mak sure
7147
+ * all the newlines make it to the output buffer.
7148
+ */ if (val === 10) tty.output.push(val);
7149
+ return originalPutChar(tty, val);
7150
+ };
7151
+ },
7152
+ onHeaders: function (chunk) {
7153
+ if (Module['onHeaders']) {
7154
+ Module['onHeaders'](chunk);
7155
+ return;
7156
+ }
7157
+ console.log('headers', {
7158
+ chunk,
7159
+ });
7160
+ },
7161
+ onStdout: function (chunk) {
7162
+ if (Module['onStdout']) {
7163
+ Module['onStdout'](chunk);
7164
+ return;
7165
+ }
7166
+ if (ENVIRONMENT_IS_NODE) {
7167
+ process.stdout.write(chunk);
7168
+ } else {
7169
+ console.log('stdout', {
7170
+ chunk,
7171
+ });
7172
+ }
7173
+ },
7174
+ onStderr: function (chunk) {
7175
+ if (Module['onStderr']) {
7176
+ Module['onStderr'](chunk);
7177
+ return;
7178
+ }
7179
+ if (ENVIRONMENT_IS_NODE) {
7180
+ process.stderr.write(chunk);
7181
+ } else {
7182
+ console.warn('stderr', {
7183
+ chunk,
7184
+ });
7185
+ }
7076
7186
  },
7077
7187
  getAllWebSockets: function (sock) {
7078
7188
  const webSockets = new Set();
@@ -7254,7 +7364,7 @@ export function init(RuntimeName, PHPLoader) {
7254
7364
  argsArray.push(UTF8ToString(HEAPU32[charPointer >> 2]));
7255
7365
  }
7256
7366
  }
7257
- const cwdstr = cwdPtr ? UTF8ToString(cwdPtr) : null;
7367
+ const cwdstr = cwdPtr ? UTF8ToString(cwdPtr) : FS.cwd();
7258
7368
  let envObject = null;
7259
7369
  if (envLength) {
7260
7370
  envObject = {};
@@ -7327,6 +7437,15 @@ export function init(RuntimeName, PHPLoader) {
7327
7437
  PHPWASM.child_proc_by_fd[ProcInfo.stderrParentFd] = ProcInfo;
7328
7438
  PHPWASM.child_proc_by_pid[ProcInfo.pid] = ProcInfo;
7329
7439
  cp.on('exit', function (code) {
7440
+ for (const fd of [
7441
+ // The child process exited. Let's clean up its output streams:
7442
+ ProcInfo.stdoutChildFd,
7443
+ ProcInfo.stderrChildFd,
7444
+ ]) {
7445
+ if (FS.streams[fd] && !FS.isClosed(FS.streams[fd])) {
7446
+ FS.close(FS.streams[fd]);
7447
+ }
7448
+ }
7330
7449
  ProcInfo.exitCode = code;
7331
7450
  ProcInfo.exited = true;
7332
7451
  // Emit events for the wasm_poll_socket function.
@@ -7377,12 +7496,52 @@ export function init(RuntimeName, PHPLoader) {
7377
7496
  * listen to the 'exit' event.
7378
7497
  */ try {
7379
7498
  await new Promise((resolve, reject) => {
7380
- cp.on('spawn', resolve);
7381
- cp.on('error', reject);
7499
+ /**
7500
+ * There was no `await` between the `spawnProcess` call
7501
+ * and the `await` below so the process haven't had a chance
7502
+ * to run any of the exit-related callbacks yet.
7503
+ *
7504
+ * Good.
7505
+ *
7506
+ * Let's listen to all the lifecycle events and resolve
7507
+ * the promise when the process starts or immediately crashes.
7508
+ */ let resolved = false;
7509
+ cp.on('spawn', () => {
7510
+ if (resolved) return;
7511
+ resolved = true;
7512
+ resolve();
7513
+ });
7514
+ cp.on('error', (e) => {
7515
+ if (resolved) return;
7516
+ resolved = true;
7517
+ reject(e);
7518
+ });
7519
+ cp.on('exit', function (code) {
7520
+ if (resolved) return;
7521
+ resolved = true;
7522
+ if (code === 0) {
7523
+ resolve();
7524
+ } else {
7525
+ reject(
7526
+ new Error(`Process exited with code ${code}`)
7527
+ );
7528
+ }
7529
+ });
7530
+ /**
7531
+ * If the process haven't even started after 5 seconds, something
7532
+ * is wrong. Perhaps we're missing an event listener, or perhaps
7533
+ * the `spawnProcess` implementation failed to dispatch the relevant
7534
+ * event. Either way, let's crash to avoid blocking the proc_open()
7535
+ * call indefinitely.
7536
+ */ setTimeout(() => {
7537
+ if (resolved) return;
7538
+ resolved = true;
7539
+ reject(new Error('Process timed out'));
7540
+ }, 5e3);
7382
7541
  });
7383
7542
  } catch (e) {
7384
7543
  console.error(e);
7385
- wakeUp(1);
7544
+ wakeUp(ProcInfo.pid);
7386
7545
  return;
7387
7546
  }
7388
7547
  // Now we want to pass data from the STDIN source supplied by PHP
@@ -7882,7 +8041,7 @@ export function init(RuntimeName, PHPLoader) {
7882
8041
  var Asyncify = {
7883
8042
  instrumentWasmImports(imports) {
7884
8043
  var importPattern =
7885
- /^(_dlopen_js|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|js_fd_read|_js_fd_read|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|wasm_shutdown|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
8044
+ /^(_dlopen_js|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|js_release_file_locks|js_flock|js_fd_read|_js_fd_read|_fd_close|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
7886
8045
  for (let [x, original] of Object.entries(imports)) {
7887
8046
  if (typeof original == 'function') {
7888
8047
  let isAsyncifyImport =
@@ -8275,14 +8434,7 @@ export function init(RuntimeName, PHPLoader) {
8275
8434
  const POLLNVAL = 32;
8276
8435
  return returnCallback((wakeUp) => {
8277
8436
  const polls = [];
8278
- if (socketd in PHPWASM.child_proc_by_fd) {
8279
- const procInfo = PHPWASM.child_proc_by_fd[socketd];
8280
- if (procInfo.exited) {
8281
- wakeUp(0);
8282
- return;
8283
- }
8284
- polls.push(PHPWASM.awaitEvent(procInfo.stdout, 'data'));
8285
- } else if (FS.isSocket(FS.getStream(socketd)?.node.mode)) {
8437
+ if (FS.isSocket(FS.getStream(socketd)?.node.mode)) {
8286
8438
  const sock = getSocketFromFD(socketd);
8287
8439
  if (!sock) {
8288
8440
  wakeUp(0);
@@ -8316,7 +8468,12 @@ export function init(RuntimeName, PHPLoader) {
8316
8468
  polls.push(PHPWASM.awaitConnection(ws));
8317
8469
  lookingFor.add('POLLOUT');
8318
8470
  }
8319
- if (events & POLLHUP) {
8471
+ if (
8472
+ events & POLLHUP ||
8473
+ events & POLLIN ||
8474
+ events & POLLOUT ||
8475
+ events & POLLERR
8476
+ ) {
8320
8477
  polls.push(PHPWASM.awaitClose(ws));
8321
8478
  lookingFor.add('POLLHUP');
8322
8479
  }
@@ -8325,6 +8482,13 @@ export function init(RuntimeName, PHPLoader) {
8325
8482
  lookingFor.add('POLLERR');
8326
8483
  }
8327
8484
  }
8485
+ } else if (socketd in PHPWASM.child_proc_by_fd) {
8486
+ const procInfo = PHPWASM.child_proc_by_fd[socketd];
8487
+ if (procInfo.exited) {
8488
+ wakeUp(0);
8489
+ return;
8490
+ }
8491
+ polls.push(PHPWASM.awaitEvent(procInfo.stdout, 'data'));
8328
8492
  } else {
8329
8493
  setTimeout(function () {
8330
8494
  wakeUp(1);
@@ -8468,80 +8632,80 @@ export function init(RuntimeName, PHPLoader) {
8468
8632
 
8469
8633
  var wasmImports = {
8470
8634
  /** @export */ m: ___assert_fail,
8471
- /** @export */ da: __asyncjs__js_module_onMessage,
8472
- /** @export */ hb: ___call_sighandler,
8635
+ /** @export */ ea: __asyncjs__js_module_onMessage,
8636
+ /** @export */ ib: ___call_sighandler,
8473
8637
  /** @export */ X: ___cxa_throw,
8474
- /** @export */ gb: ___syscall_accept4,
8475
- /** @export */ fb: ___syscall_bind,
8476
- /** @export */ eb: ___syscall_chdir,
8638
+ /** @export */ hb: ___syscall_accept4,
8639
+ /** @export */ gb: ___syscall_bind,
8640
+ /** @export */ fb: ___syscall_chdir,
8477
8641
  /** @export */ W: ___syscall_chmod,
8478
- /** @export */ db: ___syscall_connect,
8479
- /** @export */ cb: ___syscall_dup,
8480
- /** @export */ bb: ___syscall_dup3,
8481
- /** @export */ ab: ___syscall_faccessat,
8482
- /** @export */ $a: ___syscall_fallocate,
8483
- /** @export */ _a: ___syscall_fchmod,
8484
- /** @export */ Za: ___syscall_fchown32,
8642
+ /** @export */ eb: ___syscall_connect,
8643
+ /** @export */ db: ___syscall_dup,
8644
+ /** @export */ cb: ___syscall_dup3,
8645
+ /** @export */ bb: ___syscall_faccessat,
8646
+ /** @export */ ab: ___syscall_fallocate,
8647
+ /** @export */ $a: ___syscall_fchmod,
8648
+ /** @export */ _a: ___syscall_fchown32,
8485
8649
  /** @export */ V: ___syscall_fchownat,
8486
8650
  /** @export */ l: ___syscall_fcntl64,
8487
- /** @export */ Ya: ___syscall_fdatasync,
8488
- /** @export */ Xa: ___syscall_fstat64,
8489
- /** @export */ Wa: ___syscall_ftruncate64,
8490
- /** @export */ Va: ___syscall_getcwd,
8491
- /** @export */ Ua: ___syscall_getdents64,
8492
- /** @export */ Ta: ___syscall_getpeername,
8493
- /** @export */ Sa: ___syscall_getsockname,
8494
- /** @export */ Ra: ___syscall_getsockopt,
8651
+ /** @export */ Za: ___syscall_fdatasync,
8652
+ /** @export */ Ya: ___syscall_fstat64,
8653
+ /** @export */ Xa: ___syscall_ftruncate64,
8654
+ /** @export */ Wa: ___syscall_getcwd,
8655
+ /** @export */ Va: ___syscall_getdents64,
8656
+ /** @export */ Ua: ___syscall_getpeername,
8657
+ /** @export */ Ta: ___syscall_getsockname,
8658
+ /** @export */ Sa: ___syscall_getsockopt,
8495
8659
  /** @export */ F: ___syscall_ioctl,
8496
- /** @export */ Qa: ___syscall_listen,
8497
- /** @export */ Pa: ___syscall_lstat64,
8498
- /** @export */ Oa: ___syscall_mkdirat,
8499
- /** @export */ Na: ___syscall_newfstatat,
8660
+ /** @export */ Ra: ___syscall_listen,
8661
+ /** @export */ Qa: ___syscall_lstat64,
8662
+ /** @export */ Pa: ___syscall_mkdirat,
8663
+ /** @export */ Oa: ___syscall_newfstatat,
8500
8664
  /** @export */ z: ___syscall_openat,
8501
- /** @export */ Ma: ___syscall_pipe,
8502
- /** @export */ La: ___syscall_poll,
8503
- /** @export */ Ka: ___syscall_readlinkat,
8504
- /** @export */ Ja: ___syscall_recvfrom,
8505
- /** @export */ Ia: ___syscall_renameat,
8665
+ /** @export */ Na: ___syscall_pipe,
8666
+ /** @export */ Ma: ___syscall_poll,
8667
+ /** @export */ La: ___syscall_readlinkat,
8668
+ /** @export */ Ka: ___syscall_recvfrom,
8669
+ /** @export */ Ja: ___syscall_renameat,
8506
8670
  /** @export */ U: ___syscall_rmdir,
8507
- /** @export */ Ha: ___syscall_sendto,
8671
+ /** @export */ Ia: ___syscall_sendto,
8508
8672
  /** @export */ T: ___syscall_socket,
8509
- /** @export */ Ga: ___syscall_stat64,
8510
- /** @export */ Fa: ___syscall_statfs64,
8511
- /** @export */ Ea: ___syscall_symlinkat,
8673
+ /** @export */ Ha: ___syscall_stat64,
8674
+ /** @export */ Ga: ___syscall_statfs64,
8675
+ /** @export */ Fa: ___syscall_symlinkat,
8512
8676
  /** @export */ E: ___syscall_unlinkat,
8513
- /** @export */ Da: ___syscall_utimensat,
8514
- /** @export */ wa: __abort_js,
8515
- /** @export */ va: __emscripten_lookup_name,
8516
- /** @export */ ua: __emscripten_runtime_keepalive_clear,
8517
- /** @export */ ta: __emscripten_throw_longjmp,
8518
- /** @export */ sa: __gmtime_js,
8519
- /** @export */ ra: __localtime_js,
8520
- /** @export */ qa: __mktime_js,
8521
- /** @export */ pa: __mmap_js,
8522
- /** @export */ oa: __munmap_js,
8677
+ /** @export */ Ea: ___syscall_utimensat,
8678
+ /** @export */ xa: __abort_js,
8679
+ /** @export */ wa: __emscripten_lookup_name,
8680
+ /** @export */ va: __emscripten_runtime_keepalive_clear,
8681
+ /** @export */ ua: __emscripten_throw_longjmp,
8682
+ /** @export */ ta: __gmtime_js,
8683
+ /** @export */ sa: __localtime_js,
8684
+ /** @export */ ra: __mktime_js,
8685
+ /** @export */ qa: __mmap_js,
8686
+ /** @export */ pa: __munmap_js,
8523
8687
  /** @export */ Q: __setitimer_js,
8524
- /** @export */ na: __tzset_js,
8525
- /** @export */ Ca: _clock_time_get,
8688
+ /** @export */ oa: __tzset_js,
8689
+ /** @export */ Da: _clock_time_get,
8526
8690
  /** @export */ P: _emscripten_date_now,
8527
- /** @export */ ma: _emscripten_get_heap_max,
8691
+ /** @export */ na: _emscripten_get_heap_max,
8528
8692
  /** @export */ y: _emscripten_get_now,
8529
- /** @export */ la: _emscripten_resize_heap,
8693
+ /** @export */ ma: _emscripten_resize_heap,
8530
8694
  /** @export */ O: _emscripten_sleep,
8531
- /** @export */ Ba: _environ_get,
8532
- /** @export */ Aa: _environ_sizes_get,
8695
+ /** @export */ Ca: _environ_get,
8696
+ /** @export */ Ba: _environ_sizes_get,
8533
8697
  /** @export */ q: _exit,
8534
8698
  /** @export */ r: _fd_close,
8535
8699
  /** @export */ S: _fd_fdstat_get,
8536
8700
  /** @export */ R: _fd_read,
8537
- /** @export */ za: _fd_seek,
8538
- /** @export */ ya: _fd_sync,
8701
+ /** @export */ Aa: _fd_seek,
8702
+ /** @export */ za: _fd_sync,
8539
8703
  /** @export */ D: _fd_write,
8540
8704
  /** @export */ N: _getaddrinfo,
8541
- /** @export */ ka: _getcontext,
8705
+ /** @export */ la: _getcontext,
8542
8706
  /** @export */ x: _getnameinfo,
8543
- /** @export */ ja: _getprotobyname,
8544
- /** @export */ ia: _getprotobynumber,
8707
+ /** @export */ ka: _getprotobyname,
8708
+ /** @export */ ja: _getprotobynumber,
8545
8709
  /** @export */ i: invoke_i,
8546
8710
  /** @export */ c: invoke_ii,
8547
8711
  /** @export */ b: invoke_iii,
@@ -8553,8 +8717,8 @@ export function init(RuntimeName, PHPLoader) {
8553
8717
  /** @export */ M: invoke_iiiiiiiiii,
8554
8718
  /** @export */ C: invoke_iij,
8555
8719
  /** @export */ L: invoke_iiji,
8556
- /** @export */ ha: invoke_iijii,
8557
- /** @export */ ga: invoke_iijiji,
8720
+ /** @export */ ia: invoke_iijii,
8721
+ /** @export */ ha: invoke_iijiji,
8558
8722
  /** @export */ K: invoke_jii,
8559
8723
  /** @export */ J: invoke_jiii,
8560
8724
  /** @export */ e: invoke_v,
@@ -8565,18 +8729,19 @@ export function init(RuntimeName, PHPLoader) {
8565
8729
  /** @export */ j: invoke_viiii,
8566
8730
  /** @export */ u: invoke_viiiii,
8567
8731
  /** @export */ k: invoke_viiiiii,
8568
- /** @export */ fa: invoke_viiiiiii,
8732
+ /** @export */ ga: invoke_viiiiiii,
8569
8733
  /** @export */ A: invoke_viiiiiiiii,
8570
8734
  /** @export */ n: invoke_viijii,
8571
8735
  /** @export */ I: invoke_vji,
8572
8736
  /** @export */ H: _js_create_input_device,
8573
- /** @export */ ea: js_fd_read,
8737
+ /** @export */ fa: js_fd_read,
8574
8738
  /** @export */ G: _js_open_process,
8575
- /** @export */ ca: js_popen_to_file,
8576
- /** @export */ ba: _js_process_status,
8577
- /** @export */ aa: _js_waitpid,
8739
+ /** @export */ da: js_popen_to_file,
8740
+ /** @export */ ca: _js_process_status,
8741
+ /** @export */ ba: _js_waitpid,
8742
+ /** @export */ aa: _js_wasm_trace,
8578
8743
  /** @export */ $: _makecontext,
8579
- /** @export */ xa: _proc_exit,
8744
+ /** @export */ ya: _proc_exit,
8580
8745
  /** @export */ _: _strptime,
8581
8746
  /** @export */ Z: _swapcontext,
8582
8747
  /** @export */ t: _wasm_close,
@@ -8589,22 +8754,22 @@ export function init(RuntimeName, PHPLoader) {
8589
8754
 
8590
8755
  createWasm();
8591
8756
 
8592
- var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports['jb'])();
8757
+ var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports['kb'])();
8593
8758
 
8594
- var _free = (a0) => (_free = wasmExports['lb'])(a0);
8759
+ var _free = (a0) => (_free = wasmExports['mb'])(a0);
8595
8760
 
8596
- var _malloc = (a0) => (_malloc = wasmExports['mb'])(a0);
8761
+ var _malloc = (a0) => (_malloc = wasmExports['nb'])(a0);
8597
8762
 
8598
8763
  var _wasm_read = (Module['_wasm_read'] = (a0, a1, a2) =>
8599
- (_wasm_read = Module['_wasm_read'] = wasmExports['nb'])(a0, a1, a2));
8764
+ (_wasm_read = Module['_wasm_read'] = wasmExports['ob'])(a0, a1, a2));
8600
8765
 
8601
- var _fflush = (a0) => (_fflush = wasmExports['ob'])(a0);
8766
+ var _fflush = (a0) => (_fflush = wasmExports['pb'])(a0);
8602
8767
 
8603
8768
  var _wasm_popen = (Module['_wasm_popen'] = (a0, a1) =>
8604
- (_wasm_popen = Module['_wasm_popen'] = wasmExports['pb'])(a0, a1));
8769
+ (_wasm_popen = Module['_wasm_popen'] = wasmExports['qb'])(a0, a1));
8605
8770
 
8606
8771
  var _wasm_php_exec = (Module['_wasm_php_exec'] = (a0, a1, a2, a3) =>
8607
- (_wasm_php_exec = Module['_wasm_php_exec'] = wasmExports['qb'])(
8772
+ (_wasm_php_exec = Module['_wasm_php_exec'] = wasmExports['rb'])(
8608
8773
  a0,
8609
8774
  a1,
8610
8775
  a2,
@@ -8612,23 +8777,23 @@ export function init(RuntimeName, PHPLoader) {
8612
8777
  ));
8613
8778
 
8614
8779
  var _php_pollfd_for = (Module['_php_pollfd_for'] = (a0, a1, a2) =>
8615
- (_php_pollfd_for = Module['_php_pollfd_for'] = wasmExports['rb'])(
8780
+ (_php_pollfd_for = Module['_php_pollfd_for'] = wasmExports['sb'])(
8616
8781
  a0,
8617
8782
  a1,
8618
8783
  a2
8619
8784
  ));
8620
8785
 
8621
- var _htons = (a0) => (_htons = wasmExports['sb'])(a0);
8786
+ var _htons = (a0) => (_htons = wasmExports['tb'])(a0);
8622
8787
 
8623
- var _ntohs = (a0) => (_ntohs = wasmExports['tb'])(a0);
8788
+ var _ntohs = (a0) => (_ntohs = wasmExports['ub'])(a0);
8624
8789
 
8625
- var _htonl = (a0) => (_htonl = wasmExports['ub'])(a0);
8790
+ var _htonl = (a0) => (_htonl = wasmExports['vb'])(a0);
8626
8791
 
8627
8792
  var _wasm_sleep = (Module['_wasm_sleep'] = (a0) =>
8628
- (_wasm_sleep = Module['_wasm_sleep'] = wasmExports['vb'])(a0));
8793
+ (_wasm_sleep = Module['_wasm_sleep'] = wasmExports['wb'])(a0));
8629
8794
 
8630
8795
  var ___wrap_select = (Module['___wrap_select'] = (a0, a1, a2, a3, a4) =>
8631
- (___wrap_select = Module['___wrap_select'] = wasmExports['wb'])(
8796
+ (___wrap_select = Module['___wrap_select'] = wasmExports['xb'])(
8632
8797
  a0,
8633
8798
  a1,
8634
8799
  a2,
@@ -8636,115 +8801,118 @@ export function init(RuntimeName, PHPLoader) {
8636
8801
  a4
8637
8802
  ));
8638
8803
 
8639
- var _wasm_add_cli_arg = (Module['_wasm_add_cli_arg'] = (a0) =>
8640
- (_wasm_add_cli_arg = Module['_wasm_add_cli_arg'] = wasmExports['xb'])(
8641
- a0
8642
- ));
8643
-
8644
- var _run_cli = (Module['_run_cli'] = () =>
8645
- (_run_cli = Module['_run_cli'] = wasmExports['yb'])());
8646
-
8647
8804
  var _wasm_set_sapi_name = (Module['_wasm_set_sapi_name'] = (a0) =>
8648
8805
  (_wasm_set_sapi_name = Module['_wasm_set_sapi_name'] =
8649
- wasmExports['zb'])(a0));
8806
+ wasmExports['yb'])(a0));
8650
8807
 
8651
8808
  var _wasm_set_phpini_path = (Module['_wasm_set_phpini_path'] = (a0) =>
8652
8809
  (_wasm_set_phpini_path = Module['_wasm_set_phpini_path'] =
8653
- wasmExports['Ab'])(a0));
8810
+ wasmExports['zb'])(a0));
8811
+
8812
+ var _wasm_add_cli_arg = (Module['_wasm_add_cli_arg'] = (a0) =>
8813
+ (_wasm_add_cli_arg = Module['_wasm_add_cli_arg'] = wasmExports['Ab'])(
8814
+ a0
8815
+ ));
8816
+
8817
+ var _run_cli = (Module['_run_cli'] = () =>
8818
+ (_run_cli = Module['_run_cli'] = wasmExports['Bb'])());
8654
8819
 
8655
8820
  var _wasm_add_SERVER_entry = (Module['_wasm_add_SERVER_entry'] = (a0, a1) =>
8656
8821
  (_wasm_add_SERVER_entry = Module['_wasm_add_SERVER_entry'] =
8657
- wasmExports['Bb'])(a0, a1));
8822
+ wasmExports['Cb'])(a0, a1));
8658
8823
 
8659
8824
  var _wasm_add_ENV_entry = (Module['_wasm_add_ENV_entry'] = (a0, a1) =>
8660
8825
  (_wasm_add_ENV_entry = Module['_wasm_add_ENV_entry'] =
8661
- wasmExports['Cb'])(a0, a1));
8826
+ wasmExports['Db'])(a0, a1));
8662
8827
 
8663
8828
  var _wasm_set_query_string = (Module['_wasm_set_query_string'] = (a0) =>
8664
8829
  (_wasm_set_query_string = Module['_wasm_set_query_string'] =
8665
- wasmExports['Db'])(a0));
8830
+ wasmExports['Eb'])(a0));
8666
8831
 
8667
8832
  var _wasm_set_path_translated = (Module['_wasm_set_path_translated'] = (
8668
8833
  a0
8669
8834
  ) =>
8670
8835
  (_wasm_set_path_translated = Module['_wasm_set_path_translated'] =
8671
- wasmExports['Eb'])(a0));
8836
+ wasmExports['Fb'])(a0));
8672
8837
 
8673
8838
  var _wasm_set_skip_shebang = (Module['_wasm_set_skip_shebang'] = (a0) =>
8674
8839
  (_wasm_set_skip_shebang = Module['_wasm_set_skip_shebang'] =
8675
- wasmExports['Fb'])(a0));
8840
+ wasmExports['Gb'])(a0));
8676
8841
 
8677
8842
  var _wasm_set_request_uri = (Module['_wasm_set_request_uri'] = (a0) =>
8678
8843
  (_wasm_set_request_uri = Module['_wasm_set_request_uri'] =
8679
- wasmExports['Gb'])(a0));
8844
+ wasmExports['Hb'])(a0));
8680
8845
 
8681
8846
  var _wasm_set_request_method = (Module['_wasm_set_request_method'] = (a0) =>
8682
8847
  (_wasm_set_request_method = Module['_wasm_set_request_method'] =
8683
- wasmExports['Hb'])(a0));
8848
+ wasmExports['Ib'])(a0));
8684
8849
 
8685
8850
  var _wasm_set_request_host = (Module['_wasm_set_request_host'] = (a0) =>
8686
8851
  (_wasm_set_request_host = Module['_wasm_set_request_host'] =
8687
- wasmExports['Ib'])(a0));
8852
+ wasmExports['Jb'])(a0));
8688
8853
 
8689
8854
  var _wasm_set_content_type = (Module['_wasm_set_content_type'] = (a0) =>
8690
8855
  (_wasm_set_content_type = Module['_wasm_set_content_type'] =
8691
- wasmExports['Jb'])(a0));
8856
+ wasmExports['Kb'])(a0));
8692
8857
 
8693
8858
  var _wasm_set_request_body = (Module['_wasm_set_request_body'] = (a0) =>
8694
8859
  (_wasm_set_request_body = Module['_wasm_set_request_body'] =
8695
- wasmExports['Kb'])(a0));
8860
+ wasmExports['Lb'])(a0));
8696
8861
 
8697
8862
  var _wasm_set_content_length = (Module['_wasm_set_content_length'] = (a0) =>
8698
8863
  (_wasm_set_content_length = Module['_wasm_set_content_length'] =
8699
- wasmExports['Lb'])(a0));
8864
+ wasmExports['Mb'])(a0));
8700
8865
 
8701
8866
  var _wasm_set_cookies = (Module['_wasm_set_cookies'] = (a0) =>
8702
- (_wasm_set_cookies = Module['_wasm_set_cookies'] = wasmExports['Mb'])(
8867
+ (_wasm_set_cookies = Module['_wasm_set_cookies'] = wasmExports['Nb'])(
8703
8868
  a0
8704
8869
  ));
8705
8870
 
8706
8871
  var _wasm_set_request_port = (Module['_wasm_set_request_port'] = (a0) =>
8707
8872
  (_wasm_set_request_port = Module['_wasm_set_request_port'] =
8708
- wasmExports['Nb'])(a0));
8873
+ wasmExports['Ob'])(a0));
8709
8874
 
8710
8875
  var _wasm_sapi_request_shutdown = (Module['_wasm_sapi_request_shutdown'] =
8711
8876
  () =>
8712
8877
  (_wasm_sapi_request_shutdown = Module[
8713
8878
  '_wasm_sapi_request_shutdown'
8714
8879
  ] =
8715
- wasmExports['Ob'])());
8880
+ wasmExports['Pb'])());
8716
8881
 
8717
8882
  var _wasm_sapi_handle_request = (Module['_wasm_sapi_handle_request'] = () =>
8718
8883
  (_wasm_sapi_handle_request = Module['_wasm_sapi_handle_request'] =
8719
- wasmExports['Pb'])());
8884
+ wasmExports['Qb'])());
8720
8885
 
8721
8886
  var _php_wasm_init = (Module['_php_wasm_init'] = () =>
8722
- (_php_wasm_init = Module['_php_wasm_init'] = wasmExports['Qb'])());
8887
+ (_php_wasm_init = Module['_php_wasm_init'] = wasmExports['Rb'])());
8723
8888
 
8724
8889
  var _wasm_free = (Module['_wasm_free'] = (a0) =>
8725
- (_wasm_free = Module['_wasm_free'] = wasmExports['Rb'])(a0));
8890
+ (_wasm_free = Module['_wasm_free'] = wasmExports['Sb'])(a0));
8726
8891
 
8727
- var ___funcs_on_exit = () => (___funcs_on_exit = wasmExports['Sb'])();
8892
+ var _wasm_trace = (Module['_wasm_trace'] = (a0, a1) =>
8893
+ (_wasm_trace = Module['_wasm_trace'] = wasmExports['Tb'])(a0, a1));
8894
+
8895
+ var ___funcs_on_exit = () => (___funcs_on_exit = wasmExports['Ub'])();
8728
8896
 
8729
8897
  var _emscripten_builtin_memalign = (a0, a1) =>
8730
- (_emscripten_builtin_memalign = wasmExports['Tb'])(a0, a1);
8898
+ (_emscripten_builtin_memalign = wasmExports['Vb'])(a0, a1);
8731
8899
 
8732
8900
  var __emscripten_timeout = (a0, a1) =>
8733
- (__emscripten_timeout = wasmExports['Ub'])(a0, a1);
8901
+ (__emscripten_timeout = wasmExports['Wb'])(a0, a1);
8734
8902
 
8735
- var _setThrew = (a0, a1) => (_setThrew = wasmExports['Vb'])(a0, a1);
8903
+ var _setThrew = (a0, a1) => (_setThrew = wasmExports['Xb'])(a0, a1);
8736
8904
 
8737
8905
  var __emscripten_stack_restore = (a0) =>
8738
- (__emscripten_stack_restore = wasmExports['Wb'])(a0);
8906
+ (__emscripten_stack_restore = wasmExports['Yb'])(a0);
8739
8907
 
8740
8908
  var __emscripten_stack_alloc = (a0) =>
8741
- (__emscripten_stack_alloc = wasmExports['Xb'])(a0);
8909
+ (__emscripten_stack_alloc = wasmExports['Zb'])(a0);
8742
8910
 
8743
8911
  var _emscripten_stack_get_current = () =>
8744
- (_emscripten_stack_get_current = wasmExports['Yb'])();
8912
+ (_emscripten_stack_get_current = wasmExports['_b'])();
8745
8913
 
8746
8914
  var dynCall_iiii = (Module['dynCall_iiii'] = (a0, a1, a2, a3) =>
8747
- (dynCall_iiii = Module['dynCall_iiii'] = wasmExports['Zb'])(
8915
+ (dynCall_iiii = Module['dynCall_iiii'] = wasmExports['$b'])(
8748
8916
  a0,
8749
8917
  a1,
8750
8918
  a2,
@@ -8752,16 +8920,16 @@ export function init(RuntimeName, PHPLoader) {
8752
8920
  ));
8753
8921
 
8754
8922
  var dynCall_ii = (Module['dynCall_ii'] = (a0, a1) =>
8755
- (dynCall_ii = Module['dynCall_ii'] = wasmExports['_b'])(a0, a1));
8923
+ (dynCall_ii = Module['dynCall_ii'] = wasmExports['ac'])(a0, a1));
8756
8924
 
8757
8925
  var dynCall_vi = (Module['dynCall_vi'] = (a0, a1) =>
8758
- (dynCall_vi = Module['dynCall_vi'] = wasmExports['$b'])(a0, a1));
8926
+ (dynCall_vi = Module['dynCall_vi'] = wasmExports['bc'])(a0, a1));
8759
8927
 
8760
8928
  var dynCall_vii = (Module['dynCall_vii'] = (a0, a1, a2) =>
8761
- (dynCall_vii = Module['dynCall_vii'] = wasmExports['ac'])(a0, a1, a2));
8929
+ (dynCall_vii = Module['dynCall_vii'] = wasmExports['cc'])(a0, a1, a2));
8762
8930
 
8763
8931
  var dynCall_viiiii = (Module['dynCall_viiiii'] = (a0, a1, a2, a3, a4, a5) =>
8764
- (dynCall_viiiii = Module['dynCall_viiiii'] = wasmExports['bc'])(
8932
+ (dynCall_viiiii = Module['dynCall_viiiii'] = wasmExports['dc'])(
8765
8933
  a0,
8766
8934
  a1,
8767
8935
  a2,
@@ -8771,10 +8939,10 @@ export function init(RuntimeName, PHPLoader) {
8771
8939
  ));
8772
8940
 
8773
8941
  var dynCall_iii = (Module['dynCall_iii'] = (a0, a1, a2) =>
8774
- (dynCall_iii = Module['dynCall_iii'] = wasmExports['cc'])(a0, a1, a2));
8942
+ (dynCall_iii = Module['dynCall_iii'] = wasmExports['ec'])(a0, a1, a2));
8775
8943
 
8776
8944
  var dynCall_iiiii = (Module['dynCall_iiiii'] = (a0, a1, a2, a3, a4) =>
8777
- (dynCall_iiiii = Module['dynCall_iiiii'] = wasmExports['dc'])(
8945
+ (dynCall_iiiii = Module['dynCall_iiiii'] = wasmExports['fc'])(
8778
8946
  a0,
8779
8947
  a1,
8780
8948
  a2,
@@ -8783,7 +8951,7 @@ export function init(RuntimeName, PHPLoader) {
8783
8951
  ));
8784
8952
 
8785
8953
  var dynCall_iiiiii = (Module['dynCall_iiiiii'] = (a0, a1, a2, a3, a4, a5) =>
8786
- (dynCall_iiiiii = Module['dynCall_iiiiii'] = wasmExports['ec'])(
8954
+ (dynCall_iiiiii = Module['dynCall_iiiiii'] = wasmExports['gc'])(
8787
8955
  a0,
8788
8956
  a1,
8789
8957
  a2,
@@ -8793,7 +8961,7 @@ export function init(RuntimeName, PHPLoader) {
8793
8961
  ));
8794
8962
 
8795
8963
  var dynCall_viii = (Module['dynCall_viii'] = (a0, a1, a2, a3) =>
8796
- (dynCall_viii = Module['dynCall_viii'] = wasmExports['fc'])(
8964
+ (dynCall_viii = Module['dynCall_viii'] = wasmExports['hc'])(
8797
8965
  a0,
8798
8966
  a1,
8799
8967
  a2,
@@ -8801,16 +8969,16 @@ export function init(RuntimeName, PHPLoader) {
8801
8969
  ));
8802
8970
 
8803
8971
  var dynCall_iij = (Module['dynCall_iij'] = (a0, a1, a2) =>
8804
- (dynCall_iij = Module['dynCall_iij'] = wasmExports['gc'])(a0, a1, a2));
8972
+ (dynCall_iij = Module['dynCall_iij'] = wasmExports['ic'])(a0, a1, a2));
8805
8973
 
8806
8974
  var dynCall_v = (Module['dynCall_v'] = (a0) =>
8807
- (dynCall_v = Module['dynCall_v'] = wasmExports['hc'])(a0));
8975
+ (dynCall_v = Module['dynCall_v'] = wasmExports['jc'])(a0));
8808
8976
 
8809
8977
  var dynCall_i = (Module['dynCall_i'] = (a0) =>
8810
- (dynCall_i = Module['dynCall_i'] = wasmExports['ic'])(a0));
8978
+ (dynCall_i = Module['dynCall_i'] = wasmExports['kc'])(a0));
8811
8979
 
8812
8980
  var dynCall_viiii = (Module['dynCall_viiii'] = (a0, a1, a2, a3, a4) =>
8813
- (dynCall_viiii = Module['dynCall_viiii'] = wasmExports['jc'])(
8981
+ (dynCall_viiii = Module['dynCall_viiii'] = wasmExports['lc'])(
8814
8982
  a0,
8815
8983
  a1,
8816
8984
  a2,
@@ -8827,7 +8995,7 @@ export function init(RuntimeName, PHPLoader) {
8827
8995
  a5,
8828
8996
  a6
8829
8997
  ) =>
8830
- (dynCall_iiiiiii = Module['dynCall_iiiiiii'] = wasmExports['kc'])(
8998
+ (dynCall_iiiiiii = Module['dynCall_iiiiiii'] = wasmExports['mc'])(
8831
8999
  a0,
8832
9000
  a1,
8833
9001
  a2,
@@ -8838,7 +9006,7 @@ export function init(RuntimeName, PHPLoader) {
8838
9006
  ));
8839
9007
 
8840
9008
  var dynCall_iijii = (Module['dynCall_iijii'] = (a0, a1, a2, a3, a4) =>
8841
- (dynCall_iijii = Module['dynCall_iijii'] = wasmExports['lc'])(
9009
+ (dynCall_iijii = Module['dynCall_iijii'] = wasmExports['nc'])(
8842
9010
  a0,
8843
9011
  a1,
8844
9012
  a2,
@@ -8847,10 +9015,10 @@ export function init(RuntimeName, PHPLoader) {
8847
9015
  ));
8848
9016
 
8849
9017
  var dynCall_jii = (Module['dynCall_jii'] = (a0, a1, a2) =>
8850
- (dynCall_jii = Module['dynCall_jii'] = wasmExports['mc'])(a0, a1, a2));
9018
+ (dynCall_jii = Module['dynCall_jii'] = wasmExports['oc'])(a0, a1, a2));
8851
9019
 
8852
9020
  var dynCall_jiii = (Module['dynCall_jiii'] = (a0, a1, a2, a3) =>
8853
- (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['nc'])(
9021
+ (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['pc'])(
8854
9022
  a0,
8855
9023
  a1,
8856
9024
  a2,
@@ -8869,7 +9037,7 @@ export function init(RuntimeName, PHPLoader) {
8869
9037
  a8,
8870
9038
  a9
8871
9039
  ) =>
8872
- (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['oc'])(
9040
+ (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['qc'])(
8873
9041
  a0,
8874
9042
  a1,
8875
9043
  a2,
@@ -8892,7 +9060,7 @@ export function init(RuntimeName, PHPLoader) {
8892
9060
  a6,
8893
9061
  a7
8894
9062
  ) =>
8895
- (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['pc'])(
9063
+ (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['rc'])(
8896
9064
  a0,
8897
9065
  a1,
8898
9066
  a2,
@@ -8912,7 +9080,7 @@ export function init(RuntimeName, PHPLoader) {
8912
9080
  a5,
8913
9081
  a6
8914
9082
  ) =>
8915
- (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['qc'])(
9083
+ (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['sc'])(
8916
9084
  a0,
8917
9085
  a1,
8918
9086
  a2,
@@ -8932,7 +9100,7 @@ export function init(RuntimeName, PHPLoader) {
8932
9100
  a6,
8933
9101
  a7
8934
9102
  ) =>
8935
- (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['rc'])(
9103
+ (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['tc'])(
8936
9104
  a0,
8937
9105
  a1,
8938
9106
  a2,
@@ -8955,7 +9123,7 @@ export function init(RuntimeName, PHPLoader) {
8955
9123
  a8,
8956
9124
  a9
8957
9125
  ) =>
8958
- (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['sc'])(
9126
+ (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['uc'])(
8959
9127
  a0,
8960
9128
  a1,
8961
9129
  a2,
@@ -8969,7 +9137,7 @@ export function init(RuntimeName, PHPLoader) {
8969
9137
  ));
8970
9138
 
8971
9139
  var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
8972
- (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['tc'])(
9140
+ (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['vc'])(
8973
9141
  a0,
8974
9142
  a1,
8975
9143
  a2,
@@ -8977,7 +9145,7 @@ export function init(RuntimeName, PHPLoader) {
8977
9145
  ));
8978
9146
 
8979
9147
  var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
8980
- (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['uc'])(
9148
+ (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['wc'])(
8981
9149
  a0,
8982
9150
  a1,
8983
9151
  a2,
@@ -8987,7 +9155,7 @@ export function init(RuntimeName, PHPLoader) {
8987
9155
  ));
8988
9156
 
8989
9157
  var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
8990
- (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['vc'])(
9158
+ (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['xc'])(
8991
9159
  a0,
8992
9160
  a1,
8993
9161
  a2,
@@ -8997,10 +9165,10 @@ export function init(RuntimeName, PHPLoader) {
8997
9165
  ));
8998
9166
 
8999
9167
  var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
9000
- (dynCall_vji = Module['dynCall_vji'] = wasmExports['wc'])(a0, a1, a2));
9168
+ (dynCall_vji = Module['dynCall_vji'] = wasmExports['yc'])(a0, a1, a2));
9001
9169
 
9002
9170
  var dynCall_viidii = (Module['dynCall_viidii'] = (a0, a1, a2, a3, a4, a5) =>
9003
- (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['xc'])(
9171
+ (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['zc'])(
9004
9172
  a0,
9005
9173
  a1,
9006
9174
  a2,
@@ -9010,16 +9178,16 @@ export function init(RuntimeName, PHPLoader) {
9010
9178
  ));
9011
9179
 
9012
9180
  var _asyncify_start_unwind = (a0) =>
9013
- (_asyncify_start_unwind = wasmExports['yc'])(a0);
9181
+ (_asyncify_start_unwind = wasmExports['Ac'])(a0);
9014
9182
 
9015
9183
  var _asyncify_stop_unwind = () =>
9016
- (_asyncify_stop_unwind = wasmExports['zc'])();
9184
+ (_asyncify_stop_unwind = wasmExports['Bc'])();
9017
9185
 
9018
9186
  var _asyncify_start_rewind = (a0) =>
9019
- (_asyncify_start_rewind = wasmExports['Ac'])(a0);
9187
+ (_asyncify_start_rewind = wasmExports['Cc'])(a0);
9020
9188
 
9021
9189
  var _asyncify_stop_rewind = () =>
9022
- (_asyncify_stop_rewind = wasmExports['Bc'])();
9190
+ (_asyncify_stop_rewind = wasmExports['Dc'])();
9023
9191
 
9024
9192
  function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
9025
9193
  var sp = stackSave();
@@ -9454,6 +9622,32 @@ export function init(RuntimeName, PHPLoader) {
9454
9622
  PHPLoader['free'] =
9455
9623
  typeof _free === 'function' ? _free : PHPLoader['_wasm_free'];
9456
9624
 
9625
+ if (typeof NODEFS === 'object') {
9626
+ // We override NODEFS.createNode() to add an `isSharedFS` flag to all NODEFS
9627
+ // nodes. This way we can tell whether file-locking is needed and possible
9628
+ // for an FS node, even if wrapped with PROXYFS.
9629
+ const originalCreateNode = NODEFS.createNode;
9630
+ NODEFS.createNode = function createNodeWithSharedFlag() {
9631
+ const node = originalCreateNode.apply(NODEFS, arguments);
9632
+ node.isSharedFS = true;
9633
+ return node;
9634
+ };
9635
+
9636
+ var originalHashAddNode = FS.hashAddNode;
9637
+ FS.hashAddNode = function hashAddNodeIfNotSharedFS(node) {
9638
+ if (
9639
+ typeof locking === 'object' &&
9640
+ locking?.is_shared_fs_node(node)
9641
+ ) {
9642
+ // Avoid caching shared VFS nodes so multiple instances
9643
+ // can access the same underlying filesystem without
9644
+ // conflicting caches.
9645
+ return;
9646
+ }
9647
+ return originalHashAddNode.apply(FS, arguments);
9648
+ };
9649
+ }
9650
+
9457
9651
  return PHPLoader;
9458
9652
 
9459
9653
  // Close the opening bracket from esm-prefix.js: