@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_4_33', 'php_7_4.wasm');
10
10
  export { dependencyFilename };
11
- export const dependenciesTotalSize = 18674775;
11
+ export const dependenciesTotalSize = 19027659;
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['db']();
231
+ wasmExports['eb']();
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['cb'];
399
+ wasmMemory = wasmExports['db'];
400
400
  updateMemoryViews();
401
- wasmTable = wasmExports['eb'];
401
+ wasmTable = wasmExports['fb'];
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
@@ -7850,7 +8009,7 @@ export function init(RuntimeName, PHPLoader) {
7850
8009
  var Asyncify = {
7851
8010
  instrumentWasmImports(imports) {
7852
8011
  var importPattern =
7853
- /^(_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__.*)$/;
8012
+ /^(_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__.*)$/;
7854
8013
  for (let [x, original] of Object.entries(imports)) {
7855
8014
  if (typeof original == 'function') {
7856
8015
  let isAsyncifyImport =
@@ -8243,14 +8402,7 @@ export function init(RuntimeName, PHPLoader) {
8243
8402
  const POLLNVAL = 32;
8244
8403
  return returnCallback((wakeUp) => {
8245
8404
  const polls = [];
8246
- if (socketd in PHPWASM.child_proc_by_fd) {
8247
- const procInfo = PHPWASM.child_proc_by_fd[socketd];
8248
- if (procInfo.exited) {
8249
- wakeUp(0);
8250
- return;
8251
- }
8252
- polls.push(PHPWASM.awaitEvent(procInfo.stdout, 'data'));
8253
- } else if (FS.isSocket(FS.getStream(socketd)?.node.mode)) {
8405
+ if (FS.isSocket(FS.getStream(socketd)?.node.mode)) {
8254
8406
  const sock = getSocketFromFD(socketd);
8255
8407
  if (!sock) {
8256
8408
  wakeUp(0);
@@ -8284,7 +8436,12 @@ export function init(RuntimeName, PHPLoader) {
8284
8436
  polls.push(PHPWASM.awaitConnection(ws));
8285
8437
  lookingFor.add('POLLOUT');
8286
8438
  }
8287
- if (events & POLLHUP) {
8439
+ if (
8440
+ events & POLLHUP ||
8441
+ events & POLLIN ||
8442
+ events & POLLOUT ||
8443
+ events & POLLERR
8444
+ ) {
8288
8445
  polls.push(PHPWASM.awaitClose(ws));
8289
8446
  lookingFor.add('POLLHUP');
8290
8447
  }
@@ -8293,6 +8450,13 @@ export function init(RuntimeName, PHPLoader) {
8293
8450
  lookingFor.add('POLLERR');
8294
8451
  }
8295
8452
  }
8453
+ } else if (socketd in PHPWASM.child_proc_by_fd) {
8454
+ const procInfo = PHPWASM.child_proc_by_fd[socketd];
8455
+ if (procInfo.exited) {
8456
+ wakeUp(0);
8457
+ return;
8458
+ }
8459
+ polls.push(PHPWASM.awaitEvent(procInfo.stdout, 'data'));
8296
8460
  } else {
8297
8461
  setTimeout(function () {
8298
8462
  wakeUp(1);
@@ -8436,78 +8600,78 @@ export function init(RuntimeName, PHPLoader) {
8436
8600
 
8437
8601
  var wasmImports = {
8438
8602
  /** @export */ m: ___assert_fail,
8439
- /** @export */ _: __asyncjs__js_module_onMessage,
8440
- /** @export */ bb: ___call_sighandler,
8603
+ /** @export */ $: __asyncjs__js_module_onMessage,
8604
+ /** @export */ cb: ___call_sighandler,
8441
8605
  /** @export */ U: ___cxa_throw,
8442
- /** @export */ ab: ___syscall_accept4,
8443
- /** @export */ $a: ___syscall_bind,
8444
- /** @export */ _a: ___syscall_chdir,
8606
+ /** @export */ bb: ___syscall_accept4,
8607
+ /** @export */ ab: ___syscall_bind,
8608
+ /** @export */ $a: ___syscall_chdir,
8445
8609
  /** @export */ T: ___syscall_chmod,
8446
- /** @export */ Za: ___syscall_connect,
8447
- /** @export */ Ya: ___syscall_dup,
8448
- /** @export */ Xa: ___syscall_dup3,
8449
- /** @export */ Wa: ___syscall_faccessat,
8450
- /** @export */ Va: ___syscall_fallocate,
8451
- /** @export */ Ua: ___syscall_fchmod,
8452
- /** @export */ Ta: ___syscall_fchown32,
8610
+ /** @export */ _a: ___syscall_connect,
8611
+ /** @export */ Za: ___syscall_dup,
8612
+ /** @export */ Ya: ___syscall_dup3,
8613
+ /** @export */ Xa: ___syscall_faccessat,
8614
+ /** @export */ Wa: ___syscall_fallocate,
8615
+ /** @export */ Va: ___syscall_fchmod,
8616
+ /** @export */ Ua: ___syscall_fchown32,
8453
8617
  /** @export */ S: ___syscall_fchownat,
8454
8618
  /** @export */ l: ___syscall_fcntl64,
8455
- /** @export */ Sa: ___syscall_fdatasync,
8456
- /** @export */ Ra: ___syscall_fstat64,
8457
- /** @export */ Qa: ___syscall_ftruncate64,
8458
- /** @export */ Pa: ___syscall_getcwd,
8459
- /** @export */ Oa: ___syscall_getdents64,
8460
- /** @export */ Na: ___syscall_getpeername,
8461
- /** @export */ Ma: ___syscall_getsockname,
8462
- /** @export */ La: ___syscall_getsockopt,
8619
+ /** @export */ Ta: ___syscall_fdatasync,
8620
+ /** @export */ Sa: ___syscall_fstat64,
8621
+ /** @export */ Ra: ___syscall_ftruncate64,
8622
+ /** @export */ Qa: ___syscall_getcwd,
8623
+ /** @export */ Pa: ___syscall_getdents64,
8624
+ /** @export */ Oa: ___syscall_getpeername,
8625
+ /** @export */ Na: ___syscall_getsockname,
8626
+ /** @export */ Ma: ___syscall_getsockopt,
8463
8627
  /** @export */ E: ___syscall_ioctl,
8464
- /** @export */ Ka: ___syscall_listen,
8465
- /** @export */ Ja: ___syscall_lstat64,
8466
- /** @export */ Ia: ___syscall_mkdirat,
8467
- /** @export */ Ha: ___syscall_newfstatat,
8628
+ /** @export */ La: ___syscall_listen,
8629
+ /** @export */ Ka: ___syscall_lstat64,
8630
+ /** @export */ Ja: ___syscall_mkdirat,
8631
+ /** @export */ Ia: ___syscall_newfstatat,
8468
8632
  /** @export */ y: ___syscall_openat,
8469
- /** @export */ Ga: ___syscall_pipe,
8470
- /** @export */ Fa: ___syscall_poll,
8471
- /** @export */ Ea: ___syscall_readlinkat,
8472
- /** @export */ Da: ___syscall_recvfrom,
8473
- /** @export */ Ca: ___syscall_renameat,
8633
+ /** @export */ Ha: ___syscall_pipe,
8634
+ /** @export */ Ga: ___syscall_poll,
8635
+ /** @export */ Fa: ___syscall_readlinkat,
8636
+ /** @export */ Ea: ___syscall_recvfrom,
8637
+ /** @export */ Da: ___syscall_renameat,
8474
8638
  /** @export */ R: ___syscall_rmdir,
8475
- /** @export */ Ba: ___syscall_sendto,
8639
+ /** @export */ Ca: ___syscall_sendto,
8476
8640
  /** @export */ Q: ___syscall_socket,
8477
- /** @export */ Aa: ___syscall_stat64,
8478
- /** @export */ za: ___syscall_statfs64,
8479
- /** @export */ ya: ___syscall_symlinkat,
8641
+ /** @export */ Ba: ___syscall_stat64,
8642
+ /** @export */ Aa: ___syscall_statfs64,
8643
+ /** @export */ za: ___syscall_symlinkat,
8480
8644
  /** @export */ D: ___syscall_unlinkat,
8481
- /** @export */ xa: ___syscall_utimensat,
8482
- /** @export */ ra: __abort_js,
8483
- /** @export */ qa: __emscripten_lookup_name,
8484
- /** @export */ pa: __emscripten_runtime_keepalive_clear,
8485
- /** @export */ oa: __emscripten_throw_longjmp,
8486
- /** @export */ na: __gmtime_js,
8487
- /** @export */ ma: __localtime_js,
8488
- /** @export */ la: __mktime_js,
8489
- /** @export */ ka: __mmap_js,
8490
- /** @export */ ja: __munmap_js,
8645
+ /** @export */ ya: ___syscall_utimensat,
8646
+ /** @export */ sa: __abort_js,
8647
+ /** @export */ ra: __emscripten_lookup_name,
8648
+ /** @export */ qa: __emscripten_runtime_keepalive_clear,
8649
+ /** @export */ pa: __emscripten_throw_longjmp,
8650
+ /** @export */ oa: __gmtime_js,
8651
+ /** @export */ na: __localtime_js,
8652
+ /** @export */ ma: __mktime_js,
8653
+ /** @export */ la: __mmap_js,
8654
+ /** @export */ ka: __munmap_js,
8491
8655
  /** @export */ N: __setitimer_js,
8492
- /** @export */ ia: __tzset_js,
8493
- /** @export */ wa: _clock_time_get,
8656
+ /** @export */ ja: __tzset_js,
8657
+ /** @export */ xa: _clock_time_get,
8494
8658
  /** @export */ M: _emscripten_date_now,
8495
- /** @export */ ha: _emscripten_get_heap_max,
8659
+ /** @export */ ia: _emscripten_get_heap_max,
8496
8660
  /** @export */ x: _emscripten_get_now,
8497
- /** @export */ ga: _emscripten_resize_heap,
8661
+ /** @export */ ha: _emscripten_resize_heap,
8498
8662
  /** @export */ L: _emscripten_sleep,
8499
- /** @export */ va: _environ_get,
8500
- /** @export */ ua: _environ_sizes_get,
8663
+ /** @export */ wa: _environ_get,
8664
+ /** @export */ va: _environ_sizes_get,
8501
8665
  /** @export */ p: _exit,
8502
8666
  /** @export */ q: _fd_close,
8503
8667
  /** @export */ P: _fd_fdstat_get,
8504
8668
  /** @export */ O: _fd_read,
8505
- /** @export */ ta: _fd_seek,
8669
+ /** @export */ ua: _fd_seek,
8506
8670
  /** @export */ C: _fd_write,
8507
8671
  /** @export */ K: _getaddrinfo,
8508
8672
  /** @export */ B: _getnameinfo,
8509
- /** @export */ fa: _getprotobyname,
8510
- /** @export */ ea: _getprotobynumber,
8673
+ /** @export */ ga: _getprotobyname,
8674
+ /** @export */ fa: _getprotobynumber,
8511
8675
  /** @export */ i: invoke_i,
8512
8676
  /** @export */ c: invoke_ii,
8513
8677
  /** @export */ b: invoke_iii,
@@ -8518,10 +8682,10 @@ export function init(RuntimeName, PHPLoader) {
8518
8682
  /** @export */ w: invoke_iiiiiiii,
8519
8683
  /** @export */ J: invoke_iiiiiiiiii,
8520
8684
  /** @export */ I: invoke_iiji,
8521
- /** @export */ da: invoke_iijii,
8522
- /** @export */ ca: invoke_iijiji,
8523
- /** @export */ ba: invoke_jii,
8524
- /** @export */ aa: invoke_jiii,
8685
+ /** @export */ ea: invoke_iijii,
8686
+ /** @export */ da: invoke_iijiji,
8687
+ /** @export */ ca: invoke_jii,
8688
+ /** @export */ ba: invoke_jiii,
8525
8689
  /** @export */ e: invoke_v,
8526
8690
  /** @export */ a: invoke_vi,
8527
8691
  /** @export */ d: invoke_vii,
@@ -8534,12 +8698,13 @@ export function init(RuntimeName, PHPLoader) {
8534
8698
  /** @export */ n: invoke_viijii,
8535
8699
  /** @export */ H: invoke_vji,
8536
8700
  /** @export */ G: _js_create_input_device,
8537
- /** @export */ $: js_fd_read,
8701
+ /** @export */ aa: js_fd_read,
8538
8702
  /** @export */ F: _js_open_process,
8539
- /** @export */ Z: js_popen_to_file,
8540
- /** @export */ Y: _js_process_status,
8541
- /** @export */ X: _js_waitpid,
8542
- /** @export */ sa: _proc_exit,
8703
+ /** @export */ _: js_popen_to_file,
8704
+ /** @export */ Z: _js_process_status,
8705
+ /** @export */ Y: _js_waitpid,
8706
+ /** @export */ X: _js_wasm_trace,
8707
+ /** @export */ ta: _proc_exit,
8543
8708
  /** @export */ W: _strptime,
8544
8709
  /** @export */ r: _wasm_close,
8545
8710
  /** @export */ t: wasm_poll_socket,
@@ -8551,46 +8716,46 @@ export function init(RuntimeName, PHPLoader) {
8551
8716
 
8552
8717
  createWasm();
8553
8718
 
8554
- var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports['db'])();
8719
+ var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports['eb'])();
8555
8720
 
8556
- var _free = (a0) => (_free = wasmExports['fb'])(a0);
8721
+ var _free = (a0) => (_free = wasmExports['gb'])(a0);
8557
8722
 
8558
- var _malloc = (a0) => (_malloc = wasmExports['gb'])(a0);
8723
+ var _malloc = (a0) => (_malloc = wasmExports['hb'])(a0);
8559
8724
 
8560
8725
  var _wasm_read = (Module['_wasm_read'] = (a0, a1, a2) =>
8561
- (_wasm_read = Module['_wasm_read'] = wasmExports['hb'])(a0, a1, a2));
8726
+ (_wasm_read = Module['_wasm_read'] = wasmExports['ib'])(a0, a1, a2));
8562
8727
 
8563
8728
  var _php_pollfd_for = (Module['_php_pollfd_for'] = (a0, a1, a2) =>
8564
- (_php_pollfd_for = Module['_php_pollfd_for'] = wasmExports['ib'])(
8729
+ (_php_pollfd_for = Module['_php_pollfd_for'] = wasmExports['jb'])(
8565
8730
  a0,
8566
8731
  a1,
8567
8732
  a2
8568
8733
  ));
8569
8734
 
8570
- var _fflush = (a0) => (_fflush = wasmExports['jb'])(a0);
8735
+ var _fflush = (a0) => (_fflush = wasmExports['kb'])(a0);
8571
8736
 
8572
8737
  var _wasm_popen = (Module['_wasm_popen'] = (a0, a1) =>
8573
- (_wasm_popen = Module['_wasm_popen'] = wasmExports['kb'])(a0, a1));
8738
+ (_wasm_popen = Module['_wasm_popen'] = wasmExports['lb'])(a0, a1));
8574
8739
 
8575
8740
  var _wasm_php_exec = (Module['_wasm_php_exec'] = (a0, a1, a2, a3) =>
8576
- (_wasm_php_exec = Module['_wasm_php_exec'] = wasmExports['lb'])(
8741
+ (_wasm_php_exec = Module['_wasm_php_exec'] = wasmExports['mb'])(
8577
8742
  a0,
8578
8743
  a1,
8579
8744
  a2,
8580
8745
  a3
8581
8746
  ));
8582
8747
 
8583
- var _htons = (a0) => (_htons = wasmExports['mb'])(a0);
8748
+ var _htons = (a0) => (_htons = wasmExports['nb'])(a0);
8584
8749
 
8585
- var _ntohs = (a0) => (_ntohs = wasmExports['nb'])(a0);
8750
+ var _ntohs = (a0) => (_ntohs = wasmExports['ob'])(a0);
8586
8751
 
8587
- var _htonl = (a0) => (_htonl = wasmExports['ob'])(a0);
8752
+ var _htonl = (a0) => (_htonl = wasmExports['pb'])(a0);
8588
8753
 
8589
8754
  var _wasm_sleep = (Module['_wasm_sleep'] = (a0) =>
8590
- (_wasm_sleep = Module['_wasm_sleep'] = wasmExports['pb'])(a0));
8755
+ (_wasm_sleep = Module['_wasm_sleep'] = wasmExports['qb'])(a0));
8591
8756
 
8592
8757
  var ___wrap_select = (Module['___wrap_select'] = (a0, a1, a2, a3, a4) =>
8593
- (___wrap_select = Module['___wrap_select'] = wasmExports['qb'])(
8758
+ (___wrap_select = Module['___wrap_select'] = wasmExports['rb'])(
8594
8759
  a0,
8595
8760
  a1,
8596
8761
  a2,
@@ -8598,121 +8763,124 @@ export function init(RuntimeName, PHPLoader) {
8598
8763
  a4
8599
8764
  ));
8600
8765
 
8601
- var _wasm_add_cli_arg = (Module['_wasm_add_cli_arg'] = (a0) =>
8602
- (_wasm_add_cli_arg = Module['_wasm_add_cli_arg'] = wasmExports['rb'])(
8603
- a0
8604
- ));
8605
-
8606
- var _run_cli = (Module['_run_cli'] = () =>
8607
- (_run_cli = Module['_run_cli'] = wasmExports['sb'])());
8608
-
8609
8766
  var _wasm_set_sapi_name = (Module['_wasm_set_sapi_name'] = (a0) =>
8610
8767
  (_wasm_set_sapi_name = Module['_wasm_set_sapi_name'] =
8611
- wasmExports['tb'])(a0));
8768
+ wasmExports['sb'])(a0));
8612
8769
 
8613
8770
  var _wasm_set_phpini_path = (Module['_wasm_set_phpini_path'] = (a0) =>
8614
8771
  (_wasm_set_phpini_path = Module['_wasm_set_phpini_path'] =
8615
- wasmExports['ub'])(a0));
8772
+ wasmExports['tb'])(a0));
8773
+
8774
+ var _wasm_add_cli_arg = (Module['_wasm_add_cli_arg'] = (a0) =>
8775
+ (_wasm_add_cli_arg = Module['_wasm_add_cli_arg'] = wasmExports['ub'])(
8776
+ a0
8777
+ ));
8778
+
8779
+ var _run_cli = (Module['_run_cli'] = () =>
8780
+ (_run_cli = Module['_run_cli'] = wasmExports['vb'])());
8616
8781
 
8617
8782
  var _wasm_add_SERVER_entry = (Module['_wasm_add_SERVER_entry'] = (a0, a1) =>
8618
8783
  (_wasm_add_SERVER_entry = Module['_wasm_add_SERVER_entry'] =
8619
- wasmExports['vb'])(a0, a1));
8784
+ wasmExports['wb'])(a0, a1));
8620
8785
 
8621
8786
  var _wasm_add_ENV_entry = (Module['_wasm_add_ENV_entry'] = (a0, a1) =>
8622
8787
  (_wasm_add_ENV_entry = Module['_wasm_add_ENV_entry'] =
8623
- wasmExports['wb'])(a0, a1));
8788
+ wasmExports['xb'])(a0, a1));
8624
8789
 
8625
8790
  var _wasm_set_query_string = (Module['_wasm_set_query_string'] = (a0) =>
8626
8791
  (_wasm_set_query_string = Module['_wasm_set_query_string'] =
8627
- wasmExports['xb'])(a0));
8792
+ wasmExports['yb'])(a0));
8628
8793
 
8629
8794
  var _wasm_set_path_translated = (Module['_wasm_set_path_translated'] = (
8630
8795
  a0
8631
8796
  ) =>
8632
8797
  (_wasm_set_path_translated = Module['_wasm_set_path_translated'] =
8633
- wasmExports['yb'])(a0));
8798
+ wasmExports['zb'])(a0));
8634
8799
 
8635
8800
  var _wasm_set_skip_shebang = (Module['_wasm_set_skip_shebang'] = (a0) =>
8636
8801
  (_wasm_set_skip_shebang = Module['_wasm_set_skip_shebang'] =
8637
- wasmExports['zb'])(a0));
8802
+ wasmExports['Ab'])(a0));
8638
8803
 
8639
8804
  var _wasm_set_request_uri = (Module['_wasm_set_request_uri'] = (a0) =>
8640
8805
  (_wasm_set_request_uri = Module['_wasm_set_request_uri'] =
8641
- wasmExports['Ab'])(a0));
8806
+ wasmExports['Bb'])(a0));
8642
8807
 
8643
8808
  var _wasm_set_request_method = (Module['_wasm_set_request_method'] = (a0) =>
8644
8809
  (_wasm_set_request_method = Module['_wasm_set_request_method'] =
8645
- wasmExports['Bb'])(a0));
8810
+ wasmExports['Cb'])(a0));
8646
8811
 
8647
8812
  var _wasm_set_request_host = (Module['_wasm_set_request_host'] = (a0) =>
8648
8813
  (_wasm_set_request_host = Module['_wasm_set_request_host'] =
8649
- wasmExports['Cb'])(a0));
8814
+ wasmExports['Db'])(a0));
8650
8815
 
8651
8816
  var _wasm_set_content_type = (Module['_wasm_set_content_type'] = (a0) =>
8652
8817
  (_wasm_set_content_type = Module['_wasm_set_content_type'] =
8653
- wasmExports['Db'])(a0));
8818
+ wasmExports['Eb'])(a0));
8654
8819
 
8655
8820
  var _wasm_set_request_body = (Module['_wasm_set_request_body'] = (a0) =>
8656
8821
  (_wasm_set_request_body = Module['_wasm_set_request_body'] =
8657
- wasmExports['Eb'])(a0));
8822
+ wasmExports['Fb'])(a0));
8658
8823
 
8659
8824
  var _wasm_set_content_length = (Module['_wasm_set_content_length'] = (a0) =>
8660
8825
  (_wasm_set_content_length = Module['_wasm_set_content_length'] =
8661
- wasmExports['Fb'])(a0));
8826
+ wasmExports['Gb'])(a0));
8662
8827
 
8663
8828
  var _wasm_set_cookies = (Module['_wasm_set_cookies'] = (a0) =>
8664
- (_wasm_set_cookies = Module['_wasm_set_cookies'] = wasmExports['Gb'])(
8829
+ (_wasm_set_cookies = Module['_wasm_set_cookies'] = wasmExports['Hb'])(
8665
8830
  a0
8666
8831
  ));
8667
8832
 
8668
8833
  var _wasm_set_request_port = (Module['_wasm_set_request_port'] = (a0) =>
8669
8834
  (_wasm_set_request_port = Module['_wasm_set_request_port'] =
8670
- wasmExports['Hb'])(a0));
8835
+ wasmExports['Ib'])(a0));
8671
8836
 
8672
8837
  var _wasm_sapi_request_shutdown = (Module['_wasm_sapi_request_shutdown'] =
8673
8838
  () =>
8674
8839
  (_wasm_sapi_request_shutdown = Module[
8675
8840
  '_wasm_sapi_request_shutdown'
8676
8841
  ] =
8677
- wasmExports['Ib'])());
8842
+ wasmExports['Jb'])());
8678
8843
 
8679
8844
  var _wasm_sapi_handle_request = (Module['_wasm_sapi_handle_request'] = () =>
8680
8845
  (_wasm_sapi_handle_request = Module['_wasm_sapi_handle_request'] =
8681
- wasmExports['Jb'])());
8846
+ wasmExports['Kb'])());
8682
8847
 
8683
8848
  var _php_wasm_init = (Module['_php_wasm_init'] = () =>
8684
- (_php_wasm_init = Module['_php_wasm_init'] = wasmExports['Kb'])());
8849
+ (_php_wasm_init = Module['_php_wasm_init'] = wasmExports['Lb'])());
8685
8850
 
8686
8851
  var _wasm_free = (Module['_wasm_free'] = (a0) =>
8687
- (_wasm_free = Module['_wasm_free'] = wasmExports['Lb'])(a0));
8852
+ (_wasm_free = Module['_wasm_free'] = wasmExports['Mb'])(a0));
8688
8853
 
8689
- var ___funcs_on_exit = () => (___funcs_on_exit = wasmExports['Mb'])();
8854
+ var _wasm_trace = (Module['_wasm_trace'] = (a0, a1) =>
8855
+ (_wasm_trace = Module['_wasm_trace'] = wasmExports['Nb'])(a0, a1));
8856
+
8857
+ var ___funcs_on_exit = () => (___funcs_on_exit = wasmExports['Ob'])();
8690
8858
 
8691
8859
  var _emscripten_builtin_memalign = (a0, a1) =>
8692
- (_emscripten_builtin_memalign = wasmExports['Nb'])(a0, a1);
8860
+ (_emscripten_builtin_memalign = wasmExports['Pb'])(a0, a1);
8693
8861
 
8694
8862
  var __emscripten_timeout = (a0, a1) =>
8695
- (__emscripten_timeout = wasmExports['Ob'])(a0, a1);
8863
+ (__emscripten_timeout = wasmExports['Qb'])(a0, a1);
8696
8864
 
8697
- var _setThrew = (a0, a1) => (_setThrew = wasmExports['Pb'])(a0, a1);
8865
+ var _setThrew = (a0, a1) => (_setThrew = wasmExports['Rb'])(a0, a1);
8698
8866
 
8699
8867
  var __emscripten_stack_restore = (a0) =>
8700
- (__emscripten_stack_restore = wasmExports['Qb'])(a0);
8868
+ (__emscripten_stack_restore = wasmExports['Sb'])(a0);
8701
8869
 
8702
8870
  var __emscripten_stack_alloc = (a0) =>
8703
- (__emscripten_stack_alloc = wasmExports['Rb'])(a0);
8871
+ (__emscripten_stack_alloc = wasmExports['Tb'])(a0);
8704
8872
 
8705
8873
  var _emscripten_stack_get_current = () =>
8706
- (_emscripten_stack_get_current = wasmExports['Sb'])();
8874
+ (_emscripten_stack_get_current = wasmExports['Ub'])();
8707
8875
 
8708
8876
  var dynCall_vi = (Module['dynCall_vi'] = (a0, a1) =>
8709
- (dynCall_vi = Module['dynCall_vi'] = wasmExports['Tb'])(a0, a1));
8877
+ (dynCall_vi = Module['dynCall_vi'] = wasmExports['Vb'])(a0, a1));
8710
8878
 
8711
8879
  var dynCall_vii = (Module['dynCall_vii'] = (a0, a1, a2) =>
8712
- (dynCall_vii = Module['dynCall_vii'] = wasmExports['Ub'])(a0, a1, a2));
8880
+ (dynCall_vii = Module['dynCall_vii'] = wasmExports['Wb'])(a0, a1, a2));
8713
8881
 
8714
8882
  var dynCall_viii = (Module['dynCall_viii'] = (a0, a1, a2, a3) =>
8715
- (dynCall_viii = Module['dynCall_viii'] = wasmExports['Vb'])(
8883
+ (dynCall_viii = Module['dynCall_viii'] = wasmExports['Xb'])(
8716
8884
  a0,
8717
8885
  a1,
8718
8886
  a2,
@@ -8720,10 +8888,10 @@ export function init(RuntimeName, PHPLoader) {
8720
8888
  ));
8721
8889
 
8722
8890
  var dynCall_ii = (Module['dynCall_ii'] = (a0, a1) =>
8723
- (dynCall_ii = Module['dynCall_ii'] = wasmExports['Wb'])(a0, a1));
8891
+ (dynCall_ii = Module['dynCall_ii'] = wasmExports['Yb'])(a0, a1));
8724
8892
 
8725
8893
  var dynCall_iiii = (Module['dynCall_iiii'] = (a0, a1, a2, a3) =>
8726
- (dynCall_iiii = Module['dynCall_iiii'] = wasmExports['Xb'])(
8894
+ (dynCall_iiii = Module['dynCall_iiii'] = wasmExports['Zb'])(
8727
8895
  a0,
8728
8896
  a1,
8729
8897
  a2,
@@ -8731,7 +8899,7 @@ export function init(RuntimeName, PHPLoader) {
8731
8899
  ));
8732
8900
 
8733
8901
  var dynCall_iiiiii = (Module['dynCall_iiiiii'] = (a0, a1, a2, a3, a4, a5) =>
8734
- (dynCall_iiiiii = Module['dynCall_iiiiii'] = wasmExports['Yb'])(
8902
+ (dynCall_iiiiii = Module['dynCall_iiiiii'] = wasmExports['_b'])(
8735
8903
  a0,
8736
8904
  a1,
8737
8905
  a2,
@@ -8741,7 +8909,7 @@ export function init(RuntimeName, PHPLoader) {
8741
8909
  ));
8742
8910
 
8743
8911
  var dynCall_iiiii = (Module['dynCall_iiiii'] = (a0, a1, a2, a3, a4) =>
8744
- (dynCall_iiiii = Module['dynCall_iiiii'] = wasmExports['Zb'])(
8912
+ (dynCall_iiiii = Module['dynCall_iiiii'] = wasmExports['$b'])(
8745
8913
  a0,
8746
8914
  a1,
8747
8915
  a2,
@@ -8750,10 +8918,10 @@ export function init(RuntimeName, PHPLoader) {
8750
8918
  ));
8751
8919
 
8752
8920
  var dynCall_iii = (Module['dynCall_iii'] = (a0, a1, a2) =>
8753
- (dynCall_iii = Module['dynCall_iii'] = wasmExports['_b'])(a0, a1, a2));
8921
+ (dynCall_iii = Module['dynCall_iii'] = wasmExports['ac'])(a0, a1, a2));
8754
8922
 
8755
8923
  var dynCall_viiiii = (Module['dynCall_viiiii'] = (a0, a1, a2, a3, a4, a5) =>
8756
- (dynCall_viiiii = Module['dynCall_viiiii'] = wasmExports['$b'])(
8924
+ (dynCall_viiiii = Module['dynCall_viiiii'] = wasmExports['bc'])(
8757
8925
  a0,
8758
8926
  a1,
8759
8927
  a2,
@@ -8771,7 +8939,7 @@ export function init(RuntimeName, PHPLoader) {
8771
8939
  a5,
8772
8940
  a6
8773
8941
  ) =>
8774
- (dynCall_iiiiiii = Module['dynCall_iiiiiii'] = wasmExports['ac'])(
8942
+ (dynCall_iiiiiii = Module['dynCall_iiiiiii'] = wasmExports['cc'])(
8775
8943
  a0,
8776
8944
  a1,
8777
8945
  a2,
@@ -8782,13 +8950,13 @@ export function init(RuntimeName, PHPLoader) {
8782
8950
  ));
8783
8951
 
8784
8952
  var dynCall_i = (Module['dynCall_i'] = (a0) =>
8785
- (dynCall_i = Module['dynCall_i'] = wasmExports['bc'])(a0));
8953
+ (dynCall_i = Module['dynCall_i'] = wasmExports['dc'])(a0));
8786
8954
 
8787
8955
  var dynCall_v = (Module['dynCall_v'] = (a0) =>
8788
- (dynCall_v = Module['dynCall_v'] = wasmExports['cc'])(a0));
8956
+ (dynCall_v = Module['dynCall_v'] = wasmExports['ec'])(a0));
8789
8957
 
8790
8958
  var dynCall_iijii = (Module['dynCall_iijii'] = (a0, a1, a2, a3, a4) =>
8791
- (dynCall_iijii = Module['dynCall_iijii'] = wasmExports['dc'])(
8959
+ (dynCall_iijii = Module['dynCall_iijii'] = wasmExports['fc'])(
8792
8960
  a0,
8793
8961
  a1,
8794
8962
  a2,
@@ -8797,7 +8965,7 @@ export function init(RuntimeName, PHPLoader) {
8797
8965
  ));
8798
8966
 
8799
8967
  var dynCall_viiii = (Module['dynCall_viiii'] = (a0, a1, a2, a3, a4) =>
8800
- (dynCall_viiii = Module['dynCall_viiii'] = wasmExports['ec'])(
8968
+ (dynCall_viiii = Module['dynCall_viiii'] = wasmExports['gc'])(
8801
8969
  a0,
8802
8970
  a1,
8803
8971
  a2,
@@ -8806,7 +8974,7 @@ export function init(RuntimeName, PHPLoader) {
8806
8974
  ));
8807
8975
 
8808
8976
  var dynCall_jiii = (Module['dynCall_jiii'] = (a0, a1, a2, a3) =>
8809
- (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['fc'])(
8977
+ (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['hc'])(
8810
8978
  a0,
8811
8979
  a1,
8812
8980
  a2,
@@ -8825,7 +8993,7 @@ export function init(RuntimeName, PHPLoader) {
8825
8993
  a8,
8826
8994
  a9
8827
8995
  ) =>
8828
- (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['gc'])(
8996
+ (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['ic'])(
8829
8997
  a0,
8830
8998
  a1,
8831
8999
  a2,
@@ -8847,7 +9015,7 @@ export function init(RuntimeName, PHPLoader) {
8847
9015
  a5,
8848
9016
  a6
8849
9017
  ) =>
8850
- (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['hc'])(
9018
+ (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['jc'])(
8851
9019
  a0,
8852
9020
  a1,
8853
9021
  a2,
@@ -8867,7 +9035,7 @@ export function init(RuntimeName, PHPLoader) {
8867
9035
  a6,
8868
9036
  a7
8869
9037
  ) =>
8870
- (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['ic'])(
9038
+ (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['kc'])(
8871
9039
  a0,
8872
9040
  a1,
8873
9041
  a2,
@@ -8890,7 +9058,7 @@ export function init(RuntimeName, PHPLoader) {
8890
9058
  a8,
8891
9059
  a9
8892
9060
  ) =>
8893
- (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['jc'])(
9061
+ (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['lc'])(
8894
9062
  a0,
8895
9063
  a1,
8896
9064
  a2,
@@ -8904,7 +9072,7 @@ export function init(RuntimeName, PHPLoader) {
8904
9072
  ));
8905
9073
 
8906
9074
  var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
8907
- (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['kc'])(
9075
+ (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['mc'])(
8908
9076
  a0,
8909
9077
  a1,
8910
9078
  a2,
@@ -8912,10 +9080,10 @@ export function init(RuntimeName, PHPLoader) {
8912
9080
  ));
8913
9081
 
8914
9082
  var dynCall_jii = (Module['dynCall_jii'] = (a0, a1, a2) =>
8915
- (dynCall_jii = Module['dynCall_jii'] = wasmExports['lc'])(a0, a1, a2));
9083
+ (dynCall_jii = Module['dynCall_jii'] = wasmExports['nc'])(a0, a1, a2));
8916
9084
 
8917
9085
  var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
8918
- (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['mc'])(
9086
+ (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['oc'])(
8919
9087
  a0,
8920
9088
  a1,
8921
9089
  a2,
@@ -8925,7 +9093,7 @@ export function init(RuntimeName, PHPLoader) {
8925
9093
  ));
8926
9094
 
8927
9095
  var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
8928
- (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['nc'])(
9096
+ (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['pc'])(
8929
9097
  a0,
8930
9098
  a1,
8931
9099
  a2,
@@ -8935,10 +9103,10 @@ export function init(RuntimeName, PHPLoader) {
8935
9103
  ));
8936
9104
 
8937
9105
  var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
8938
- (dynCall_vji = Module['dynCall_vji'] = wasmExports['oc'])(a0, a1, a2));
9106
+ (dynCall_vji = Module['dynCall_vji'] = wasmExports['qc'])(a0, a1, a2));
8939
9107
 
8940
9108
  var dynCall_viidii = (Module['dynCall_viidii'] = (a0, a1, a2, a3, a4, a5) =>
8941
- (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['pc'])(
9109
+ (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['rc'])(
8942
9110
  a0,
8943
9111
  a1,
8944
9112
  a2,
@@ -8948,16 +9116,16 @@ export function init(RuntimeName, PHPLoader) {
8948
9116
  ));
8949
9117
 
8950
9118
  var _asyncify_start_unwind = (a0) =>
8951
- (_asyncify_start_unwind = wasmExports['qc'])(a0);
9119
+ (_asyncify_start_unwind = wasmExports['sc'])(a0);
8952
9120
 
8953
9121
  var _asyncify_stop_unwind = () =>
8954
- (_asyncify_stop_unwind = wasmExports['rc'])();
9122
+ (_asyncify_stop_unwind = wasmExports['tc'])();
8955
9123
 
8956
9124
  var _asyncify_start_rewind = (a0) =>
8957
- (_asyncify_start_rewind = wasmExports['sc'])(a0);
9125
+ (_asyncify_start_rewind = wasmExports['uc'])(a0);
8958
9126
 
8959
9127
  var _asyncify_stop_rewind = () =>
8960
- (_asyncify_stop_rewind = wasmExports['tc'])();
9128
+ (_asyncify_stop_rewind = wasmExports['vc'])();
8961
9129
 
8962
9130
  function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
8963
9131
  var sp = stackSave();
@@ -9370,6 +9538,32 @@ export function init(RuntimeName, PHPLoader) {
9370
9538
  PHPLoader['free'] =
9371
9539
  typeof _free === 'function' ? _free : PHPLoader['_wasm_free'];
9372
9540
 
9541
+ if (typeof NODEFS === 'object') {
9542
+ // We override NODEFS.createNode() to add an `isSharedFS` flag to all NODEFS
9543
+ // nodes. This way we can tell whether file-locking is needed and possible
9544
+ // for an FS node, even if wrapped with PROXYFS.
9545
+ const originalCreateNode = NODEFS.createNode;
9546
+ NODEFS.createNode = function createNodeWithSharedFlag() {
9547
+ const node = originalCreateNode.apply(NODEFS, arguments);
9548
+ node.isSharedFS = true;
9549
+ return node;
9550
+ };
9551
+
9552
+ var originalHashAddNode = FS.hashAddNode;
9553
+ FS.hashAddNode = function hashAddNodeIfNotSharedFS(node) {
9554
+ if (
9555
+ typeof locking === 'object' &&
9556
+ locking?.is_shared_fs_node(node)
9557
+ ) {
9558
+ // Avoid caching shared VFS nodes so multiple instances
9559
+ // can access the same underlying filesystem without
9560
+ // conflicting caches.
9561
+ return;
9562
+ }
9563
+ return originalHashAddNode.apply(FS, arguments);
9564
+ };
9565
+ }
9566
+
9373
9567
  return PHPLoader;
9374
9568
 
9375
9569
  // Close the opening bracket from esm-prefix.js: