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