@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, '7_2_34', 'php_7_2.wasm');
10
10
  export { dependencyFilename };
11
- export const dependenciesTotalSize = 18084171;
11
+ export const dependenciesTotalSize = 18432541;
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['cb']();
231
+ wasmExports['db']();
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['bb'];
399
+ wasmMemory = wasmExports['cb'];
400
400
  updateMemoryViews();
401
- wasmTable = wasmExports['db'];
401
+ wasmTable = wasmExports['eb'];
402
402
  removeRunDependency('wasm-instantiate');
403
403
  return wasmExports;
404
404
  }
@@ -6990,6 +6990,16 @@ export function init(RuntimeName, PHPLoader) {
6990
6990
 
6991
6991
  var allocateUTF8OnStack = stringToUTF8OnStack;
6992
6992
 
6993
+ function _js_getpid() {
6994
+ return PHPLoader.processId ?? 42;
6995
+ }
6996
+
6997
+ function _js_wasm_trace(format, ...args) {
6998
+ if (PHPLoader.trace instanceof Function) {
6999
+ PHPLoader.trace(_js_getpid(), format, ...args);
7000
+ }
7001
+ }
7002
+
6993
7003
  var PHPWASM = {
6994
7004
  init: function () {
6995
7005
  // The /internal directory is required by the C module. It's where the
@@ -7002,6 +7012,44 @@ export function init(RuntimeName, PHPLoader) {
7002
7012
  // The files from the preload directory are preloaded using the
7003
7013
  // auto_prepend_file php.ini directive.
7004
7014
  FS.mkdir('/internal/shared/preload');
7015
+ // Create stdout and stderr devices. We can't just use Emscripten's
7016
+ // default stdout and stderr devices because they stop processing data
7017
+ // on the first null byte. However, when dealing with binary data,
7018
+ // null bytes are valid and common.
7019
+ FS.registerDevice(FS.makedev(64, 0), {
7020
+ open: () => {},
7021
+ close: () => {},
7022
+ read: () => 0,
7023
+ write: (stream, buffer, offset, length, pos) => {
7024
+ const chunk = buffer.subarray(offset, offset + length);
7025
+ PHPWASM.onStdout(chunk);
7026
+ return length;
7027
+ },
7028
+ });
7029
+ FS.mkdev('/internal/stdout', FS.makedev(64, 0));
7030
+ FS.registerDevice(FS.makedev(63, 0), {
7031
+ open: () => {},
7032
+ close: () => {},
7033
+ read: () => 0,
7034
+ write: (stream, buffer, offset, length, pos) => {
7035
+ const chunk = buffer.subarray(offset, offset + length);
7036
+ PHPWASM.onStderr(chunk);
7037
+ return length;
7038
+ },
7039
+ });
7040
+ FS.mkdev('/internal/stderr', FS.makedev(63, 0));
7041
+ FS.registerDevice(FS.makedev(62, 0), {
7042
+ open: () => {},
7043
+ close: () => {},
7044
+ read: () => 0,
7045
+ write: (stream, buffer, offset, length, pos) => {
7046
+ const chunk = buffer.subarray(offset, offset + length);
7047
+ PHPWASM.onHeaders(chunk);
7048
+ return length;
7049
+ },
7050
+ });
7051
+ FS.mkdev('/internal/headers', FS.makedev(62, 0));
7052
+ // Handle events.
7005
7053
  PHPWASM.EventEmitter = ENVIRONMENT_IS_NODE
7006
7054
  ? require('events').EventEmitter
7007
7055
  : class EventEmitter {
@@ -7042,9 +7090,71 @@ export function init(RuntimeName, PHPLoader) {
7042
7090
  }
7043
7091
  }
7044
7092
  };
7093
+ // Clean up the fd -> childProcess mapping when the fd is closed:
7094
+ const originalClose = FS.close;
7095
+ FS.close = function (stream) {
7096
+ originalClose(stream);
7097
+ delete PHPWASM.child_proc_by_fd[stream.fd];
7098
+ };
7045
7099
  PHPWASM.child_proc_by_fd = {};
7046
7100
  PHPWASM.child_proc_by_pid = {};
7047
7101
  PHPWASM.input_devices = {};
7102
+ const originalWrite = TTY.stream_ops.write;
7103
+ TTY.stream_ops.write = function (stream, ...rest) {
7104
+ const retval = originalWrite(stream, ...rest);
7105
+ // Implicit flush since PHP's fflush() doesn't seem to trigger the fsync event
7106
+ // @TODO: Fix this at the wasm level
7107
+ stream.tty.ops.fsync(stream.tty);
7108
+ return retval;
7109
+ };
7110
+ const originalPutChar = TTY.stream_ops.put_char;
7111
+ TTY.stream_ops.put_char = function (tty, val) {
7112
+ /**
7113
+ * Buffer newlines that Emscripten normally ignores.
7114
+ *
7115
+ * Emscripten doesn't do it by default because its default
7116
+ * print function is console.log that implicitly adds a newline. We are overwriting
7117
+ * it with an environment-specific function that outputs exaclty what it was given,
7118
+ * e.g. in Node.js it's process.stdout.write(). Therefore, we need to mak sure
7119
+ * all the newlines make it to the output buffer.
7120
+ */ if (val === 10) tty.output.push(val);
7121
+ return originalPutChar(tty, val);
7122
+ };
7123
+ },
7124
+ onHeaders: function (chunk) {
7125
+ if (Module['onHeaders']) {
7126
+ Module['onHeaders'](chunk);
7127
+ return;
7128
+ }
7129
+ console.log('headers', {
7130
+ chunk,
7131
+ });
7132
+ },
7133
+ onStdout: function (chunk) {
7134
+ if (Module['onStdout']) {
7135
+ Module['onStdout'](chunk);
7136
+ return;
7137
+ }
7138
+ if (ENVIRONMENT_IS_NODE) {
7139
+ process.stdout.write(chunk);
7140
+ } else {
7141
+ console.log('stdout', {
7142
+ chunk,
7143
+ });
7144
+ }
7145
+ },
7146
+ onStderr: function (chunk) {
7147
+ if (Module['onStderr']) {
7148
+ Module['onStderr'](chunk);
7149
+ return;
7150
+ }
7151
+ if (ENVIRONMENT_IS_NODE) {
7152
+ process.stderr.write(chunk);
7153
+ } else {
7154
+ console.warn('stderr', {
7155
+ chunk,
7156
+ });
7157
+ }
7048
7158
  },
7049
7159
  getAllWebSockets: function (sock) {
7050
7160
  const webSockets = new Set();
@@ -7226,7 +7336,7 @@ export function init(RuntimeName, PHPLoader) {
7226
7336
  argsArray.push(UTF8ToString(HEAPU32[charPointer >> 2]));
7227
7337
  }
7228
7338
  }
7229
- const cwdstr = cwdPtr ? UTF8ToString(cwdPtr) : null;
7339
+ const cwdstr = cwdPtr ? UTF8ToString(cwdPtr) : FS.cwd();
7230
7340
  let envObject = null;
7231
7341
  if (envLength) {
7232
7342
  envObject = {};
@@ -7299,6 +7409,15 @@ export function init(RuntimeName, PHPLoader) {
7299
7409
  PHPWASM.child_proc_by_fd[ProcInfo.stderrParentFd] = ProcInfo;
7300
7410
  PHPWASM.child_proc_by_pid[ProcInfo.pid] = ProcInfo;
7301
7411
  cp.on('exit', function (code) {
7412
+ for (const fd of [
7413
+ // The child process exited. Let's clean up its output streams:
7414
+ ProcInfo.stdoutChildFd,
7415
+ ProcInfo.stderrChildFd,
7416
+ ]) {
7417
+ if (FS.streams[fd] && !FS.isClosed(FS.streams[fd])) {
7418
+ FS.close(FS.streams[fd]);
7419
+ }
7420
+ }
7302
7421
  ProcInfo.exitCode = code;
7303
7422
  ProcInfo.exited = true;
7304
7423
  // Emit events for the wasm_poll_socket function.
@@ -7349,12 +7468,52 @@ export function init(RuntimeName, PHPLoader) {
7349
7468
  * listen to the 'exit' event.
7350
7469
  */ try {
7351
7470
  await new Promise((resolve, reject) => {
7352
- cp.on('spawn', resolve);
7353
- cp.on('error', reject);
7471
+ /**
7472
+ * There was no `await` between the `spawnProcess` call
7473
+ * and the `await` below so the process haven't had a chance
7474
+ * to run any of the exit-related callbacks yet.
7475
+ *
7476
+ * Good.
7477
+ *
7478
+ * Let's listen to all the lifecycle events and resolve
7479
+ * the promise when the process starts or immediately crashes.
7480
+ */ let resolved = false;
7481
+ cp.on('spawn', () => {
7482
+ if (resolved) return;
7483
+ resolved = true;
7484
+ resolve();
7485
+ });
7486
+ cp.on('error', (e) => {
7487
+ if (resolved) return;
7488
+ resolved = true;
7489
+ reject(e);
7490
+ });
7491
+ cp.on('exit', function (code) {
7492
+ if (resolved) return;
7493
+ resolved = true;
7494
+ if (code === 0) {
7495
+ resolve();
7496
+ } else {
7497
+ reject(
7498
+ new Error(`Process exited with code ${code}`)
7499
+ );
7500
+ }
7501
+ });
7502
+ /**
7503
+ * If the process haven't even started after 5 seconds, something
7504
+ * is wrong. Perhaps we're missing an event listener, or perhaps
7505
+ * the `spawnProcess` implementation failed to dispatch the relevant
7506
+ * event. Either way, let's crash to avoid blocking the proc_open()
7507
+ * call indefinitely.
7508
+ */ setTimeout(() => {
7509
+ if (resolved) return;
7510
+ resolved = true;
7511
+ reject(new Error('Process timed out'));
7512
+ }, 5e3);
7354
7513
  });
7355
7514
  } catch (e) {
7356
7515
  console.error(e);
7357
- wakeUp(1);
7516
+ wakeUp(ProcInfo.pid);
7358
7517
  return;
7359
7518
  }
7360
7519
  // Now we want to pass data from the STDIN source supplied by PHP
@@ -7846,7 +8005,7 @@ export function init(RuntimeName, PHPLoader) {
7846
8005
  var Asyncify = {
7847
8006
  instrumentWasmImports(imports) {
7848
8007
  var importPattern =
7849
- /^(_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__.*)$/;
8008
+ /^(_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__.*)$/;
7850
8009
  for (let [x, original] of Object.entries(imports)) {
7851
8010
  if (typeof original == 'function') {
7852
8011
  let isAsyncifyImport =
@@ -8239,14 +8398,7 @@ export function init(RuntimeName, PHPLoader) {
8239
8398
  const POLLNVAL = 32;
8240
8399
  return returnCallback((wakeUp) => {
8241
8400
  const polls = [];
8242
- if (socketd in PHPWASM.child_proc_by_fd) {
8243
- const procInfo = PHPWASM.child_proc_by_fd[socketd];
8244
- if (procInfo.exited) {
8245
- wakeUp(0);
8246
- return;
8247
- }
8248
- polls.push(PHPWASM.awaitEvent(procInfo.stdout, 'data'));
8249
- } else if (FS.isSocket(FS.getStream(socketd)?.node.mode)) {
8401
+ if (FS.isSocket(FS.getStream(socketd)?.node.mode)) {
8250
8402
  const sock = getSocketFromFD(socketd);
8251
8403
  if (!sock) {
8252
8404
  wakeUp(0);
@@ -8280,7 +8432,12 @@ export function init(RuntimeName, PHPLoader) {
8280
8432
  polls.push(PHPWASM.awaitConnection(ws));
8281
8433
  lookingFor.add('POLLOUT');
8282
8434
  }
8283
- if (events & POLLHUP) {
8435
+ if (
8436
+ events & POLLHUP ||
8437
+ events & POLLIN ||
8438
+ events & POLLOUT ||
8439
+ events & POLLERR
8440
+ ) {
8284
8441
  polls.push(PHPWASM.awaitClose(ws));
8285
8442
  lookingFor.add('POLLHUP');
8286
8443
  }
@@ -8289,6 +8446,13 @@ export function init(RuntimeName, PHPLoader) {
8289
8446
  lookingFor.add('POLLERR');
8290
8447
  }
8291
8448
  }
8449
+ } else if (socketd in PHPWASM.child_proc_by_fd) {
8450
+ const procInfo = PHPWASM.child_proc_by_fd[socketd];
8451
+ if (procInfo.exited) {
8452
+ wakeUp(0);
8453
+ return;
8454
+ }
8455
+ polls.push(PHPWASM.awaitEvent(procInfo.stdout, 'data'));
8292
8456
  } else {
8293
8457
  setTimeout(function () {
8294
8458
  wakeUp(1);
@@ -8432,78 +8596,78 @@ export function init(RuntimeName, PHPLoader) {
8432
8596
 
8433
8597
  var wasmImports = {
8434
8598
  /** @export */ m: ___assert_fail,
8435
- /** @export */ X: __asyncjs__js_module_onMessage,
8436
- /** @export */ ab: ___call_sighandler,
8599
+ /** @export */ Y: __asyncjs__js_module_onMessage,
8600
+ /** @export */ bb: ___call_sighandler,
8437
8601
  /** @export */ S: ___cxa_throw,
8438
- /** @export */ $a: ___syscall_accept4,
8439
- /** @export */ _a: ___syscall_bind,
8440
- /** @export */ Za: ___syscall_chdir,
8602
+ /** @export */ ab: ___syscall_accept4,
8603
+ /** @export */ $a: ___syscall_bind,
8604
+ /** @export */ _a: ___syscall_chdir,
8441
8605
  /** @export */ R: ___syscall_chmod,
8442
- /** @export */ Ya: ___syscall_connect,
8443
- /** @export */ Xa: ___syscall_dup,
8444
- /** @export */ Wa: ___syscall_dup3,
8445
- /** @export */ Va: ___syscall_faccessat,
8446
- /** @export */ Ua: ___syscall_fallocate,
8447
- /** @export */ Ta: ___syscall_fchmod,
8448
- /** @export */ Sa: ___syscall_fchown32,
8606
+ /** @export */ Za: ___syscall_connect,
8607
+ /** @export */ Ya: ___syscall_dup,
8608
+ /** @export */ Xa: ___syscall_dup3,
8609
+ /** @export */ Wa: ___syscall_faccessat,
8610
+ /** @export */ Va: ___syscall_fallocate,
8611
+ /** @export */ Ua: ___syscall_fchmod,
8612
+ /** @export */ Ta: ___syscall_fchown32,
8449
8613
  /** @export */ Q: ___syscall_fchownat,
8450
8614
  /** @export */ l: ___syscall_fcntl64,
8451
- /** @export */ Ra: ___syscall_fdatasync,
8452
- /** @export */ Qa: ___syscall_fstat64,
8453
- /** @export */ Pa: ___syscall_ftruncate64,
8454
- /** @export */ Oa: ___syscall_getcwd,
8455
- /** @export */ Na: ___syscall_getdents64,
8456
- /** @export */ Ma: ___syscall_getpeername,
8457
- /** @export */ La: ___syscall_getsockname,
8458
- /** @export */ Ka: ___syscall_getsockopt,
8615
+ /** @export */ Sa: ___syscall_fdatasync,
8616
+ /** @export */ Ra: ___syscall_fstat64,
8617
+ /** @export */ Qa: ___syscall_ftruncate64,
8618
+ /** @export */ Pa: ___syscall_getcwd,
8619
+ /** @export */ Oa: ___syscall_getdents64,
8620
+ /** @export */ Na: ___syscall_getpeername,
8621
+ /** @export */ Ma: ___syscall_getsockname,
8622
+ /** @export */ La: ___syscall_getsockopt,
8459
8623
  /** @export */ E: ___syscall_ioctl,
8460
- /** @export */ Ja: ___syscall_listen,
8461
- /** @export */ Ia: ___syscall_lstat64,
8462
- /** @export */ Ha: ___syscall_mkdirat,
8463
- /** @export */ Ga: ___syscall_newfstatat,
8624
+ /** @export */ Ka: ___syscall_listen,
8625
+ /** @export */ Ja: ___syscall_lstat64,
8626
+ /** @export */ Ia: ___syscall_mkdirat,
8627
+ /** @export */ Ha: ___syscall_newfstatat,
8464
8628
  /** @export */ x: ___syscall_openat,
8465
- /** @export */ Fa: ___syscall_pipe,
8466
- /** @export */ Ea: ___syscall_poll,
8467
- /** @export */ Da: ___syscall_readlinkat,
8468
- /** @export */ Ca: ___syscall_recvfrom,
8469
- /** @export */ Ba: ___syscall_renameat,
8629
+ /** @export */ Ga: ___syscall_pipe,
8630
+ /** @export */ Fa: ___syscall_poll,
8631
+ /** @export */ Ea: ___syscall_readlinkat,
8632
+ /** @export */ Da: ___syscall_recvfrom,
8633
+ /** @export */ Ca: ___syscall_renameat,
8470
8634
  /** @export */ P: ___syscall_rmdir,
8471
- /** @export */ Aa: ___syscall_sendto,
8635
+ /** @export */ Ba: ___syscall_sendto,
8472
8636
  /** @export */ O: ___syscall_socket,
8473
- /** @export */ za: ___syscall_stat64,
8474
- /** @export */ ya: ___syscall_statfs64,
8475
- /** @export */ xa: ___syscall_symlinkat,
8637
+ /** @export */ Aa: ___syscall_stat64,
8638
+ /** @export */ za: ___syscall_statfs64,
8639
+ /** @export */ ya: ___syscall_symlinkat,
8476
8640
  /** @export */ D: ___syscall_unlinkat,
8477
- /** @export */ wa: ___syscall_utimensat,
8478
- /** @export */ qa: __abort_js,
8479
- /** @export */ pa: __emscripten_lookup_name,
8480
- /** @export */ oa: __emscripten_runtime_keepalive_clear,
8481
- /** @export */ na: __emscripten_throw_longjmp,
8482
- /** @export */ ma: __gmtime_js,
8483
- /** @export */ la: __localtime_js,
8484
- /** @export */ ka: __mktime_js,
8485
- /** @export */ ja: __mmap_js,
8486
- /** @export */ ia: __munmap_js,
8641
+ /** @export */ xa: ___syscall_utimensat,
8642
+ /** @export */ ra: __abort_js,
8643
+ /** @export */ qa: __emscripten_lookup_name,
8644
+ /** @export */ pa: __emscripten_runtime_keepalive_clear,
8645
+ /** @export */ oa: __emscripten_throw_longjmp,
8646
+ /** @export */ na: __gmtime_js,
8647
+ /** @export */ ma: __localtime_js,
8648
+ /** @export */ la: __mktime_js,
8649
+ /** @export */ ka: __mmap_js,
8650
+ /** @export */ ja: __munmap_js,
8487
8651
  /** @export */ L: __setitimer_js,
8488
- /** @export */ ha: __tzset_js,
8489
- /** @export */ va: _clock_time_get,
8652
+ /** @export */ ia: __tzset_js,
8653
+ /** @export */ wa: _clock_time_get,
8490
8654
  /** @export */ K: _emscripten_date_now,
8491
- /** @export */ ga: _emscripten_get_heap_max,
8655
+ /** @export */ ha: _emscripten_get_heap_max,
8492
8656
  /** @export */ w: _emscripten_get_now,
8493
- /** @export */ fa: _emscripten_resize_heap,
8657
+ /** @export */ ga: _emscripten_resize_heap,
8494
8658
  /** @export */ J: _emscripten_sleep,
8495
- /** @export */ ua: _environ_get,
8496
- /** @export */ ta: _environ_sizes_get,
8659
+ /** @export */ va: _environ_get,
8660
+ /** @export */ ua: _environ_sizes_get,
8497
8661
  /** @export */ p: _exit,
8498
8662
  /** @export */ q: _fd_close,
8499
8663
  /** @export */ N: _fd_fdstat_get,
8500
8664
  /** @export */ M: _fd_read,
8501
- /** @export */ sa: _fd_seek,
8665
+ /** @export */ ta: _fd_seek,
8502
8666
  /** @export */ C: _fd_write,
8503
- /** @export */ ea: _getaddrinfo,
8667
+ /** @export */ fa: _getaddrinfo,
8504
8668
  /** @export */ I: _getnameinfo,
8505
- /** @export */ da: _getprotobyname,
8506
- /** @export */ ca: _getprotobynumber,
8669
+ /** @export */ ea: _getprotobyname,
8670
+ /** @export */ da: _getprotobynumber,
8507
8671
  /** @export */ i: invoke_i,
8508
8672
  /** @export */ c: invoke_ii,
8509
8673
  /** @export */ b: invoke_iii,
@@ -8513,11 +8677,11 @@ export function init(RuntimeName, PHPLoader) {
8513
8677
  /** @export */ u: invoke_iiiiiii,
8514
8678
  /** @export */ v: invoke_iiiiiiii,
8515
8679
  /** @export */ B: invoke_iiiiiiiiii,
8516
- /** @export */ ba: invoke_iiji,
8517
- /** @export */ aa: invoke_iijii,
8518
- /** @export */ $: invoke_iijiji,
8519
- /** @export */ _: invoke_jii,
8520
- /** @export */ Z: invoke_jiii,
8680
+ /** @export */ ca: invoke_iiji,
8681
+ /** @export */ ba: invoke_iijii,
8682
+ /** @export */ aa: invoke_iijiji,
8683
+ /** @export */ $: invoke_jii,
8684
+ /** @export */ _: invoke_jiii,
8521
8685
  /** @export */ e: invoke_v,
8522
8686
  /** @export */ a: invoke_vi,
8523
8687
  /** @export */ d: invoke_vii,
@@ -8530,12 +8694,13 @@ export function init(RuntimeName, PHPLoader) {
8530
8694
  /** @export */ n: invoke_viijii,
8531
8695
  /** @export */ H: invoke_vji,
8532
8696
  /** @export */ G: _js_create_input_device,
8533
- /** @export */ Y: js_fd_read,
8697
+ /** @export */ Z: js_fd_read,
8534
8698
  /** @export */ F: _js_open_process,
8535
- /** @export */ W: js_popen_to_file,
8536
- /** @export */ V: _js_process_status,
8537
- /** @export */ U: _js_waitpid,
8538
- /** @export */ ra: _proc_exit,
8699
+ /** @export */ X: js_popen_to_file,
8700
+ /** @export */ W: _js_process_status,
8701
+ /** @export */ V: _js_waitpid,
8702
+ /** @export */ U: _js_wasm_trace,
8703
+ /** @export */ sa: _proc_exit,
8539
8704
  /** @export */ T: _strptime,
8540
8705
  /** @export */ r: _wasm_close,
8541
8706
  /** @export */ t: wasm_poll_socket,
@@ -8546,31 +8711,31 @@ export function init(RuntimeName, PHPLoader) {
8546
8711
 
8547
8712
  createWasm();
8548
8713
 
8549
- var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports['cb'])();
8714
+ var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports['db'])();
8550
8715
 
8551
- var _malloc = (a0) => (_malloc = wasmExports['eb'])(a0);
8716
+ var _malloc = (a0) => (_malloc = wasmExports['fb'])(a0);
8552
8717
 
8553
- var _free = (a0) => (_free = wasmExports['fb'])(a0);
8718
+ var _free = (a0) => (_free = wasmExports['gb'])(a0);
8554
8719
 
8555
8720
  var _wasm_sleep = (Module['_wasm_sleep'] = (a0) =>
8556
- (_wasm_sleep = Module['_wasm_sleep'] = wasmExports['gb'])(a0));
8721
+ (_wasm_sleep = Module['_wasm_sleep'] = wasmExports['hb'])(a0));
8557
8722
 
8558
- var _ntohs = (a0) => (_ntohs = wasmExports['hb'])(a0);
8723
+ var _ntohs = (a0) => (_ntohs = wasmExports['ib'])(a0);
8559
8724
 
8560
- var _htons = (a0) => (_htons = wasmExports['ib'])(a0);
8725
+ var _htons = (a0) => (_htons = wasmExports['jb'])(a0);
8561
8726
 
8562
- var _htonl = (a0) => (_htonl = wasmExports['jb'])(a0);
8727
+ var _htonl = (a0) => (_htonl = wasmExports['kb'])(a0);
8563
8728
 
8564
8729
  var _wasm_read = (Module['_wasm_read'] = (a0, a1, a2) =>
8565
- (_wasm_read = Module['_wasm_read'] = wasmExports['kb'])(a0, a1, a2));
8730
+ (_wasm_read = Module['_wasm_read'] = wasmExports['lb'])(a0, a1, a2));
8566
8731
 
8567
- var _fflush = (a0) => (_fflush = wasmExports['lb'])(a0);
8732
+ var _fflush = (a0) => (_fflush = wasmExports['mb'])(a0);
8568
8733
 
8569
8734
  var _wasm_popen = (Module['_wasm_popen'] = (a0, a1) =>
8570
- (_wasm_popen = Module['_wasm_popen'] = wasmExports['mb'])(a0, a1));
8735
+ (_wasm_popen = Module['_wasm_popen'] = wasmExports['nb'])(a0, a1));
8571
8736
 
8572
8737
  var _wasm_php_exec = (Module['_wasm_php_exec'] = (a0, a1, a2, a3) =>
8573
- (_wasm_php_exec = Module['_wasm_php_exec'] = wasmExports['nb'])(
8738
+ (_wasm_php_exec = Module['_wasm_php_exec'] = wasmExports['ob'])(
8574
8739
  a0,
8575
8740
  a1,
8576
8741
  a2,
@@ -8578,14 +8743,14 @@ export function init(RuntimeName, PHPLoader) {
8578
8743
  ));
8579
8744
 
8580
8745
  var _php_pollfd_for = (Module['_php_pollfd_for'] = (a0, a1, a2) =>
8581
- (_php_pollfd_for = Module['_php_pollfd_for'] = wasmExports['ob'])(
8746
+ (_php_pollfd_for = Module['_php_pollfd_for'] = wasmExports['pb'])(
8582
8747
  a0,
8583
8748
  a1,
8584
8749
  a2
8585
8750
  ));
8586
8751
 
8587
8752
  var ___wrap_select = (Module['___wrap_select'] = (a0, a1, a2, a3, a4) =>
8588
- (___wrap_select = Module['___wrap_select'] = wasmExports['pb'])(
8753
+ (___wrap_select = Module['___wrap_select'] = wasmExports['qb'])(
8589
8754
  a0,
8590
8755
  a1,
8591
8756
  a2,
@@ -8593,118 +8758,121 @@ export function init(RuntimeName, PHPLoader) {
8593
8758
  a4
8594
8759
  ));
8595
8760
 
8596
- var _wasm_add_cli_arg = (Module['_wasm_add_cli_arg'] = (a0) =>
8597
- (_wasm_add_cli_arg = Module['_wasm_add_cli_arg'] = wasmExports['qb'])(
8598
- a0
8599
- ));
8600
-
8601
- var _run_cli = (Module['_run_cli'] = () =>
8602
- (_run_cli = Module['_run_cli'] = wasmExports['rb'])());
8603
-
8604
8761
  var _wasm_set_sapi_name = (Module['_wasm_set_sapi_name'] = (a0) =>
8605
8762
  (_wasm_set_sapi_name = Module['_wasm_set_sapi_name'] =
8606
- wasmExports['sb'])(a0));
8763
+ wasmExports['rb'])(a0));
8607
8764
 
8608
8765
  var _wasm_set_phpini_path = (Module['_wasm_set_phpini_path'] = (a0) =>
8609
8766
  (_wasm_set_phpini_path = Module['_wasm_set_phpini_path'] =
8610
- wasmExports['tb'])(a0));
8767
+ wasmExports['sb'])(a0));
8768
+
8769
+ var _wasm_add_cli_arg = (Module['_wasm_add_cli_arg'] = (a0) =>
8770
+ (_wasm_add_cli_arg = Module['_wasm_add_cli_arg'] = wasmExports['tb'])(
8771
+ a0
8772
+ ));
8773
+
8774
+ var _run_cli = (Module['_run_cli'] = () =>
8775
+ (_run_cli = Module['_run_cli'] = wasmExports['ub'])());
8611
8776
 
8612
8777
  var _wasm_add_SERVER_entry = (Module['_wasm_add_SERVER_entry'] = (a0, a1) =>
8613
8778
  (_wasm_add_SERVER_entry = Module['_wasm_add_SERVER_entry'] =
8614
- wasmExports['ub'])(a0, a1));
8779
+ wasmExports['vb'])(a0, a1));
8615
8780
 
8616
8781
  var _wasm_add_ENV_entry = (Module['_wasm_add_ENV_entry'] = (a0, a1) =>
8617
8782
  (_wasm_add_ENV_entry = Module['_wasm_add_ENV_entry'] =
8618
- wasmExports['vb'])(a0, a1));
8783
+ wasmExports['wb'])(a0, a1));
8619
8784
 
8620
8785
  var _wasm_set_query_string = (Module['_wasm_set_query_string'] = (a0) =>
8621
8786
  (_wasm_set_query_string = Module['_wasm_set_query_string'] =
8622
- wasmExports['wb'])(a0));
8787
+ wasmExports['xb'])(a0));
8623
8788
 
8624
8789
  var _wasm_set_path_translated = (Module['_wasm_set_path_translated'] = (
8625
8790
  a0
8626
8791
  ) =>
8627
8792
  (_wasm_set_path_translated = Module['_wasm_set_path_translated'] =
8628
- wasmExports['xb'])(a0));
8793
+ wasmExports['yb'])(a0));
8629
8794
 
8630
8795
  var _wasm_set_skip_shebang = (Module['_wasm_set_skip_shebang'] = (a0) =>
8631
8796
  (_wasm_set_skip_shebang = Module['_wasm_set_skip_shebang'] =
8632
- wasmExports['yb'])(a0));
8797
+ wasmExports['zb'])(a0));
8633
8798
 
8634
8799
  var _wasm_set_request_uri = (Module['_wasm_set_request_uri'] = (a0) =>
8635
8800
  (_wasm_set_request_uri = Module['_wasm_set_request_uri'] =
8636
- wasmExports['zb'])(a0));
8801
+ wasmExports['Ab'])(a0));
8637
8802
 
8638
8803
  var _wasm_set_request_method = (Module['_wasm_set_request_method'] = (a0) =>
8639
8804
  (_wasm_set_request_method = Module['_wasm_set_request_method'] =
8640
- wasmExports['Ab'])(a0));
8805
+ wasmExports['Bb'])(a0));
8641
8806
 
8642
8807
  var _wasm_set_request_host = (Module['_wasm_set_request_host'] = (a0) =>
8643
8808
  (_wasm_set_request_host = Module['_wasm_set_request_host'] =
8644
- wasmExports['Bb'])(a0));
8809
+ wasmExports['Cb'])(a0));
8645
8810
 
8646
8811
  var _wasm_set_content_type = (Module['_wasm_set_content_type'] = (a0) =>
8647
8812
  (_wasm_set_content_type = Module['_wasm_set_content_type'] =
8648
- wasmExports['Cb'])(a0));
8813
+ wasmExports['Db'])(a0));
8649
8814
 
8650
8815
  var _wasm_set_request_body = (Module['_wasm_set_request_body'] = (a0) =>
8651
8816
  (_wasm_set_request_body = Module['_wasm_set_request_body'] =
8652
- wasmExports['Db'])(a0));
8817
+ wasmExports['Eb'])(a0));
8653
8818
 
8654
8819
  var _wasm_set_content_length = (Module['_wasm_set_content_length'] = (a0) =>
8655
8820
  (_wasm_set_content_length = Module['_wasm_set_content_length'] =
8656
- wasmExports['Eb'])(a0));
8821
+ wasmExports['Fb'])(a0));
8657
8822
 
8658
8823
  var _wasm_set_cookies = (Module['_wasm_set_cookies'] = (a0) =>
8659
- (_wasm_set_cookies = Module['_wasm_set_cookies'] = wasmExports['Fb'])(
8824
+ (_wasm_set_cookies = Module['_wasm_set_cookies'] = wasmExports['Gb'])(
8660
8825
  a0
8661
8826
  ));
8662
8827
 
8663
8828
  var _wasm_set_request_port = (Module['_wasm_set_request_port'] = (a0) =>
8664
8829
  (_wasm_set_request_port = Module['_wasm_set_request_port'] =
8665
- wasmExports['Gb'])(a0));
8830
+ wasmExports['Hb'])(a0));
8666
8831
 
8667
8832
  var _wasm_sapi_request_shutdown = (Module['_wasm_sapi_request_shutdown'] =
8668
8833
  () =>
8669
8834
  (_wasm_sapi_request_shutdown = Module[
8670
8835
  '_wasm_sapi_request_shutdown'
8671
8836
  ] =
8672
- wasmExports['Hb'])());
8837
+ wasmExports['Ib'])());
8673
8838
 
8674
8839
  var _wasm_sapi_handle_request = (Module['_wasm_sapi_handle_request'] = () =>
8675
8840
  (_wasm_sapi_handle_request = Module['_wasm_sapi_handle_request'] =
8676
- wasmExports['Ib'])());
8841
+ wasmExports['Jb'])());
8677
8842
 
8678
8843
  var _php_wasm_init = (Module['_php_wasm_init'] = () =>
8679
- (_php_wasm_init = Module['_php_wasm_init'] = wasmExports['Jb'])());
8844
+ (_php_wasm_init = Module['_php_wasm_init'] = wasmExports['Kb'])());
8680
8845
 
8681
8846
  var _wasm_free = (Module['_wasm_free'] = (a0) =>
8682
- (_wasm_free = Module['_wasm_free'] = wasmExports['Kb'])(a0));
8847
+ (_wasm_free = Module['_wasm_free'] = wasmExports['Lb'])(a0));
8683
8848
 
8684
- var ___funcs_on_exit = () => (___funcs_on_exit = wasmExports['Lb'])();
8849
+ var _wasm_trace = (Module['_wasm_trace'] = (a0, a1) =>
8850
+ (_wasm_trace = Module['_wasm_trace'] = wasmExports['Mb'])(a0, a1));
8851
+
8852
+ var ___funcs_on_exit = () => (___funcs_on_exit = wasmExports['Nb'])();
8685
8853
 
8686
8854
  var _emscripten_builtin_memalign = (a0, a1) =>
8687
- (_emscripten_builtin_memalign = wasmExports['Mb'])(a0, a1);
8855
+ (_emscripten_builtin_memalign = wasmExports['Ob'])(a0, a1);
8688
8856
 
8689
8857
  var __emscripten_timeout = (a0, a1) =>
8690
- (__emscripten_timeout = wasmExports['Nb'])(a0, a1);
8858
+ (__emscripten_timeout = wasmExports['Pb'])(a0, a1);
8691
8859
 
8692
- var _setThrew = (a0, a1) => (_setThrew = wasmExports['Ob'])(a0, a1);
8860
+ var _setThrew = (a0, a1) => (_setThrew = wasmExports['Qb'])(a0, a1);
8693
8861
 
8694
8862
  var __emscripten_stack_restore = (a0) =>
8695
- (__emscripten_stack_restore = wasmExports['Pb'])(a0);
8863
+ (__emscripten_stack_restore = wasmExports['Rb'])(a0);
8696
8864
 
8697
8865
  var __emscripten_stack_alloc = (a0) =>
8698
- (__emscripten_stack_alloc = wasmExports['Qb'])(a0);
8866
+ (__emscripten_stack_alloc = wasmExports['Sb'])(a0);
8699
8867
 
8700
8868
  var _emscripten_stack_get_current = () =>
8701
- (_emscripten_stack_get_current = wasmExports['Rb'])();
8869
+ (_emscripten_stack_get_current = wasmExports['Tb'])();
8702
8870
 
8703
8871
  var dynCall_vi = (Module['dynCall_vi'] = (a0, a1) =>
8704
- (dynCall_vi = Module['dynCall_vi'] = wasmExports['Sb'])(a0, a1));
8872
+ (dynCall_vi = Module['dynCall_vi'] = wasmExports['Ub'])(a0, a1));
8705
8873
 
8706
8874
  var dynCall_iiii = (Module['dynCall_iiii'] = (a0, a1, a2, a3) =>
8707
- (dynCall_iiii = Module['dynCall_iiii'] = wasmExports['Tb'])(
8875
+ (dynCall_iiii = Module['dynCall_iiii'] = wasmExports['Vb'])(
8708
8876
  a0,
8709
8877
  a1,
8710
8878
  a2,
@@ -8712,13 +8880,13 @@ export function init(RuntimeName, PHPLoader) {
8712
8880
  ));
8713
8881
 
8714
8882
  var dynCall_ii = (Module['dynCall_ii'] = (a0, a1) =>
8715
- (dynCall_ii = Module['dynCall_ii'] = wasmExports['Ub'])(a0, a1));
8883
+ (dynCall_ii = Module['dynCall_ii'] = wasmExports['Wb'])(a0, a1));
8716
8884
 
8717
8885
  var dynCall_vii = (Module['dynCall_vii'] = (a0, a1, a2) =>
8718
- (dynCall_vii = Module['dynCall_vii'] = wasmExports['Vb'])(a0, a1, a2));
8886
+ (dynCall_vii = Module['dynCall_vii'] = wasmExports['Xb'])(a0, a1, a2));
8719
8887
 
8720
8888
  var dynCall_viiiii = (Module['dynCall_viiiii'] = (a0, a1, a2, a3, a4, a5) =>
8721
- (dynCall_viiiii = Module['dynCall_viiiii'] = wasmExports['Wb'])(
8889
+ (dynCall_viiiii = Module['dynCall_viiiii'] = wasmExports['Yb'])(
8722
8890
  a0,
8723
8891
  a1,
8724
8892
  a2,
@@ -8728,10 +8896,10 @@ export function init(RuntimeName, PHPLoader) {
8728
8896
  ));
8729
8897
 
8730
8898
  var dynCall_iii = (Module['dynCall_iii'] = (a0, a1, a2) =>
8731
- (dynCall_iii = Module['dynCall_iii'] = wasmExports['Xb'])(a0, a1, a2));
8899
+ (dynCall_iii = Module['dynCall_iii'] = wasmExports['Zb'])(a0, a1, a2));
8732
8900
 
8733
8901
  var dynCall_iiiii = (Module['dynCall_iiiii'] = (a0, a1, a2, a3, a4) =>
8734
- (dynCall_iiiii = Module['dynCall_iiiii'] = wasmExports['Yb'])(
8902
+ (dynCall_iiiii = Module['dynCall_iiiii'] = wasmExports['_b'])(
8735
8903
  a0,
8736
8904
  a1,
8737
8905
  a2,
@@ -8748,7 +8916,7 @@ export function init(RuntimeName, PHPLoader) {
8748
8916
  a5,
8749
8917
  a6
8750
8918
  ) =>
8751
- (dynCall_iiiiiii = Module['dynCall_iiiiiii'] = wasmExports['Zb'])(
8919
+ (dynCall_iiiiiii = Module['dynCall_iiiiiii'] = wasmExports['$b'])(
8752
8920
  a0,
8753
8921
  a1,
8754
8922
  a2,
@@ -8759,7 +8927,7 @@ export function init(RuntimeName, PHPLoader) {
8759
8927
  ));
8760
8928
 
8761
8929
  var dynCall_iiiiii = (Module['dynCall_iiiiii'] = (a0, a1, a2, a3, a4, a5) =>
8762
- (dynCall_iiiiii = Module['dynCall_iiiiii'] = wasmExports['_b'])(
8930
+ (dynCall_iiiiii = Module['dynCall_iiiiii'] = wasmExports['ac'])(
8763
8931
  a0,
8764
8932
  a1,
8765
8933
  a2,
@@ -8769,10 +8937,10 @@ export function init(RuntimeName, PHPLoader) {
8769
8937
  ));
8770
8938
 
8771
8939
  var dynCall_i = (Module['dynCall_i'] = (a0) =>
8772
- (dynCall_i = Module['dynCall_i'] = wasmExports['$b'])(a0));
8940
+ (dynCall_i = Module['dynCall_i'] = wasmExports['bc'])(a0));
8773
8941
 
8774
8942
  var dynCall_viii = (Module['dynCall_viii'] = (a0, a1, a2, a3) =>
8775
- (dynCall_viii = Module['dynCall_viii'] = wasmExports['ac'])(
8943
+ (dynCall_viii = Module['dynCall_viii'] = wasmExports['cc'])(
8776
8944
  a0,
8777
8945
  a1,
8778
8946
  a2,
@@ -8780,7 +8948,7 @@ export function init(RuntimeName, PHPLoader) {
8780
8948
  ));
8781
8949
 
8782
8950
  var dynCall_viiii = (Module['dynCall_viiii'] = (a0, a1, a2, a3, a4) =>
8783
- (dynCall_viiii = Module['dynCall_viiii'] = wasmExports['bc'])(
8951
+ (dynCall_viiii = Module['dynCall_viiii'] = wasmExports['dc'])(
8784
8952
  a0,
8785
8953
  a1,
8786
8954
  a2,
@@ -8789,10 +8957,10 @@ export function init(RuntimeName, PHPLoader) {
8789
8957
  ));
8790
8958
 
8791
8959
  var dynCall_v = (Module['dynCall_v'] = (a0) =>
8792
- (dynCall_v = Module['dynCall_v'] = wasmExports['cc'])(a0));
8960
+ (dynCall_v = Module['dynCall_v'] = wasmExports['ec'])(a0));
8793
8961
 
8794
8962
  var dynCall_iijii = (Module['dynCall_iijii'] = (a0, a1, a2, a3, a4) =>
8795
- (dynCall_iijii = Module['dynCall_iijii'] = wasmExports['dc'])(
8963
+ (dynCall_iijii = Module['dynCall_iijii'] = wasmExports['fc'])(
8796
8964
  a0,
8797
8965
  a1,
8798
8966
  a2,
@@ -8801,7 +8969,7 @@ export function init(RuntimeName, PHPLoader) {
8801
8969
  ));
8802
8970
 
8803
8971
  var dynCall_jiii = (Module['dynCall_jiii'] = (a0, a1, a2, a3) =>
8804
- (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['ec'])(
8972
+ (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['gc'])(
8805
8973
  a0,
8806
8974
  a1,
8807
8975
  a2,
@@ -8820,7 +8988,7 @@ export function init(RuntimeName, PHPLoader) {
8820
8988
  a8,
8821
8989
  a9
8822
8990
  ) =>
8823
- (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['fc'])(
8991
+ (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['hc'])(
8824
8992
  a0,
8825
8993
  a1,
8826
8994
  a2,
@@ -8842,7 +9010,7 @@ export function init(RuntimeName, PHPLoader) {
8842
9010
  a5,
8843
9011
  a6
8844
9012
  ) =>
8845
- (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['gc'])(
9013
+ (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['ic'])(
8846
9014
  a0,
8847
9015
  a1,
8848
9016
  a2,
@@ -8862,7 +9030,7 @@ export function init(RuntimeName, PHPLoader) {
8862
9030
  a6,
8863
9031
  a7
8864
9032
  ) =>
8865
- (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['hc'])(
9033
+ (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['jc'])(
8866
9034
  a0,
8867
9035
  a1,
8868
9036
  a2,
@@ -8885,7 +9053,7 @@ export function init(RuntimeName, PHPLoader) {
8885
9053
  a8,
8886
9054
  a9
8887
9055
  ) =>
8888
- (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['ic'])(
9056
+ (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['kc'])(
8889
9057
  a0,
8890
9058
  a1,
8891
9059
  a2,
@@ -8899,7 +9067,7 @@ export function init(RuntimeName, PHPLoader) {
8899
9067
  ));
8900
9068
 
8901
9069
  var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
8902
- (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['jc'])(
9070
+ (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['lc'])(
8903
9071
  a0,
8904
9072
  a1,
8905
9073
  a2,
@@ -8907,10 +9075,10 @@ export function init(RuntimeName, PHPLoader) {
8907
9075
  ));
8908
9076
 
8909
9077
  var dynCall_jii = (Module['dynCall_jii'] = (a0, a1, a2) =>
8910
- (dynCall_jii = Module['dynCall_jii'] = wasmExports['kc'])(a0, a1, a2));
9078
+ (dynCall_jii = Module['dynCall_jii'] = wasmExports['mc'])(a0, a1, a2));
8911
9079
 
8912
9080
  var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
8913
- (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['lc'])(
9081
+ (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['nc'])(
8914
9082
  a0,
8915
9083
  a1,
8916
9084
  a2,
@@ -8920,7 +9088,7 @@ export function init(RuntimeName, PHPLoader) {
8920
9088
  ));
8921
9089
 
8922
9090
  var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
8923
- (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['mc'])(
9091
+ (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['oc'])(
8924
9092
  a0,
8925
9093
  a1,
8926
9094
  a2,
@@ -8930,10 +9098,10 @@ export function init(RuntimeName, PHPLoader) {
8930
9098
  ));
8931
9099
 
8932
9100
  var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
8933
- (dynCall_vji = Module['dynCall_vji'] = wasmExports['nc'])(a0, a1, a2));
9101
+ (dynCall_vji = Module['dynCall_vji'] = wasmExports['pc'])(a0, a1, a2));
8934
9102
 
8935
9103
  var dynCall_viidii = (Module['dynCall_viidii'] = (a0, a1, a2, a3, a4, a5) =>
8936
- (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['oc'])(
9104
+ (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['qc'])(
8937
9105
  a0,
8938
9106
  a1,
8939
9107
  a2,
@@ -8943,16 +9111,16 @@ export function init(RuntimeName, PHPLoader) {
8943
9111
  ));
8944
9112
 
8945
9113
  var _asyncify_start_unwind = (a0) =>
8946
- (_asyncify_start_unwind = wasmExports['pc'])(a0);
9114
+ (_asyncify_start_unwind = wasmExports['rc'])(a0);
8947
9115
 
8948
9116
  var _asyncify_stop_unwind = () =>
8949
- (_asyncify_stop_unwind = wasmExports['qc'])();
9117
+ (_asyncify_stop_unwind = wasmExports['sc'])();
8950
9118
 
8951
9119
  var _asyncify_start_rewind = (a0) =>
8952
- (_asyncify_start_rewind = wasmExports['rc'])(a0);
9120
+ (_asyncify_start_rewind = wasmExports['tc'])(a0);
8953
9121
 
8954
9122
  var _asyncify_stop_rewind = () =>
8955
- (_asyncify_stop_rewind = wasmExports['sc'])();
9123
+ (_asyncify_stop_rewind = wasmExports['uc'])();
8956
9124
 
8957
9125
  function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
8958
9126
  var sp = stackSave();
@@ -9365,6 +9533,32 @@ export function init(RuntimeName, PHPLoader) {
9365
9533
  PHPLoader['free'] =
9366
9534
  typeof _free === 'function' ? _free : PHPLoader['_wasm_free'];
9367
9535
 
9536
+ if (typeof NODEFS === 'object') {
9537
+ // We override NODEFS.createNode() to add an `isSharedFS` flag to all NODEFS
9538
+ // nodes. This way we can tell whether file-locking is needed and possible
9539
+ // for an FS node, even if wrapped with PROXYFS.
9540
+ const originalCreateNode = NODEFS.createNode;
9541
+ NODEFS.createNode = function createNodeWithSharedFlag() {
9542
+ const node = originalCreateNode.apply(NODEFS, arguments);
9543
+ node.isSharedFS = true;
9544
+ return node;
9545
+ };
9546
+
9547
+ var originalHashAddNode = FS.hashAddNode;
9548
+ FS.hashAddNode = function hashAddNodeIfNotSharedFS(node) {
9549
+ if (
9550
+ typeof locking === 'object' &&
9551
+ locking?.is_shared_fs_node(node)
9552
+ ) {
9553
+ // Avoid caching shared VFS nodes so multiple instances
9554
+ // can access the same underlying filesystem without
9555
+ // conflicting caches.
9556
+ return;
9557
+ }
9558
+ return originalHashAddNode.apply(FS, arguments);
9559
+ };
9560
+ }
9561
+
9368
9562
  return PHPLoader;
9369
9563
 
9370
9564
  // Close the opening bracket from esm-prefix.js: