aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald Klop <ronald@FreeBSD.org>2022-10-25 10:20:00 +0000
committerRonald Klop <ronald@FreeBSD.org>2022-10-26 16:18:34 +0000
commitcbde7a63952df7113308e7e2ea2a0a1fec056719 (patch)
treeaa180eca9e1c885992acd352e44bfae55f630ca0
parenta0103c803b137d9cd95310bbfd315103d8e046b2 (diff)
downloadports-cbde7a63952df7113308e7e2ea2a0a1fec056719.tar.gz
ports-cbde7a63952df7113308e7e2ea2a0a1fec056719.zip
databases/mongodb60: update to 6.0.2
Summary: - automate mozjs configuration - enables powerpc64le support - overwrites the upstream amd64 configuration which fixes the build - removes almost 1 MB of patches for aarch64 - use more system libs and llvm-ar (thanks to dizzy@) - Fix removal of (lib)zstd/zstandard directory which fixes the build on all supported platforms - change my maintainer email to @FreeBSD.org changes: https://www.mongodb.com/docs/manual/release-notes/6.0/#6.0.2---sep-28--2022 PR: 266587 Tested by: dizzy (libs), pkubaj (powerpc64le) Approved by: pkubaj (mentor), rene (mentor) Co-Authored-By: dizzy, pkubaj Differential Revision: https://reviews.freebsd.org/D37130
-rw-r--r--databases/mongodb60/Makefile93
-rw-r--r--databases/mongodb60/distinfo8
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src0.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src1.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src10.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src11.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src12.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src13.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src14.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src15.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src16.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src17.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src18.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src19.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src2.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src20.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src21.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src22.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src23.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src24.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src25.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src26.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src27.cpp41
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src3.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src4.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src5.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src6.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src7.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src8.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src9.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger0.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger1.cpp32
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend0.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend1.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend2.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend3.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend4.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend5.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend6.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc0.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc1.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc2.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc3.cpp14
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp0.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp1.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp2.cpp23
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit0.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit1.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit10.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit11.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit12.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit13.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit14.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit15.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit2.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit3.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit4.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit5.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit6.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit7.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit8.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit9.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_js-confdefs.h85
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm0.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm1.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm2.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm3.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm4.cpp59
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_frontend_ReservedWordsGenerated.h363
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_gc_StatsPhasesGenerated.h193
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_CacheIROpsGenerated.h12512
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_LOpcodesGenerated.h571
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_MIROpsGenerated.h2662
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-confdefs.h85
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-config.h80
-rw-r--r--databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_selfhosted.out.h22
-rw-r--r--databases/mongodb60/files/patch-SConstruct14
-rw-r--r--databases/mongodb60/files/patch-boost179-link-fix21
-rw-r--r--databases/mongodb60/files/patch-boost179-system-compat-fix108
-rw-r--r--databases/mongodb60/files/patch-src_mongo_db_fts_stemmer.h11
80 files changed, 222 insertions, 20315 deletions
diff --git a/databases/mongodb60/Makefile b/databases/mongodb60/Makefile
index 6a02d314ba2d..e5aa17b5de94 100644
--- a/databases/mongodb60/Makefile
+++ b/databases/mongodb60/Makefile
@@ -1,10 +1,10 @@
PORTNAME= mongodb
DISTVERSIONPREFIX= r
-DISTVERSION= 6.0.1
+DISTVERSION= 6.0.2
CATEGORIES= databases net
PKGNAMESUFFIX= ${DISTVERSION:R:S/.//}
-MAINTAINER= ronald-lists@klop.ws
+MAINTAINER= ronald@FreeBSD.org
COMMENT= Distributed document-oriented "NoSQL" database (6.0.x Branch)
WWW= https://docs.mongodb.com/v6.0/
@@ -14,48 +14,69 @@ LICENSE_NAME_SSPLv1= Server Side Public License Version 1
LICENSE_FILE_SSPLv1= ${WRKSRC}/LICENSE-Community.txt
LICENSE_PERMS_SSPLv1= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-ONLY_FOR_ARCHS= aarch64 amd64
-ONLY_FOR_ARCHS_REASON= only ported to amd64 and aarch64 on FreeBSD; upstream supports arm64, ppc64le, s390x, and x86-64
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64le
+ONLY_FOR_ARCHS_REASON= only ported to amd64, aarch64, and powerpc64le on FreeBSD; upstream supports arm64, ppc64le, s390x, and x86-64
-BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \
- ${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR} \
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pymongo>0:databases/py-pymongo@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR}
-LIB_DEPENDS= libcurl.so:ftp/curl \
+# build depends used while running ${WRKSRC}/src/third_party/mozjs/gen-config.sh
+BUILD_DEPENDS+= autoconf2.13:devel/autoconf2.13 \
+ gsed:textproc/gsed
+LIB_DEPENDS= libboost_system.so:devel/boost-libs \
+ libcurl.so:ftp/curl \
+ libicuuc.so:devel/icu \
+ libunwind.so:devel/libunwind \
libpcre.so:devel/pcre \
- libsnappy.so:archivers/snappy
+ libsnappy.so:archivers/snappy \
+ libstemmer.so:textproc/snowballstemmer \
+ libyaml-cpp.so:devel/yaml-cpp \
+ libzstd.so:archivers/zstd
+
+USES= compiler:c++17-lang cpe python:build scons shebangfix
+# gmake is used while running ${WRKSRC}/src/third_party/mozjs/gen-config.sh
+USES+= gmake pkgconfig
+
+# mozjs tag comes from ${WRKSRC}/src/third_party/mozjs/get-sources.sh
+MOZJS_TAG= 82aac6af18abcd5bf188afbc821779ccb0ca0902
-USES= compiler:c++17-lang cpe python:3.5+,build scons shebangfix
USE_GITHUB= yes
-GH_ACCOUNT= mongodb
-GH_PROJECT= mongo
+GH_ACCOUNT= mongodb mongodb-forks:mozjs
+GH_PROJECT= mongo spidermonkey:mozjs
+GH_TAGNAME= ${MOZJS_TAG}:mozjs
USE_RC_SUBR= mongod
SHEBANG_FILES= buildscripts/scons.py
python_OLD_CMD= @python_interpreter@
-CONFLICTS_INSTALL= mongodb[0-9][0-9]
-
-USERS= mongodb
-GROUPS= mongodb
-
-OPTIONS_DEFINE= LTO SASL SSL
-OPTIONS_DEFAULT= LTO SASL SSL
-
MAKE_ARGS= --cxx-std=17 \
--disable-warnings-as-errors \
--libc++ \
--runtime-hardening=on \
+ --use-system-boost \
+ --use-system-icu \
+ --use-system-libunwind \
--use-system-pcre \
--use-system-snappy \
+ --use-system-stemmer \
+ --use-system-yaml \
--use-system-zlib \
+ --use-system-zstd \
-j ${MAKE_JOBS_NUMBER} \
- AR=${PREFIX}/bin/ar \
+ AR=llvm-ar \
MONGO_VERSION=${DISTVERSION} \
VERBOSE=on
+CONFLICTS_INSTALL= mongodb[0-9][0-9]
+
+USERS= mongodb
+GROUPS= mongodb
+
+OPTIONS_DEFINE= LTO SASL SSL
+OPTIONS_DEFAULT= LTO SASL SSL
+
LTO_MAKE_ARGS= --lto=on
SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
@@ -66,10 +87,6 @@ SSL_MAKE_ARGS= --ssl
.include <bsd.port.pre.mk>
-.if ${ARCH} == aarch64 || ${ARCH} == powerpc64le
-EXTRA_PATCHES= ${FILESDIR}/${ARCH}
-.endif
-
ALL_TARGET= install-core
# This ports is only following the Major Release.
@@ -78,8 +95,32 @@ PORTSCOUT= limit:^6\.0\.
CPE_PRODUCT= mongodb
-#pre-patch:
-# ${MV} ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.sx ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.S
+.if ${ARCH} == amd64
+MOZJS_ARCH=x86_64
+.elif ${ARCH} == powerpc64le
+MOZJS_ARCH=ppc64le
+.elif ${ARCH} == aarch64
+MOZJS_ARCH=${ARCH}
+.else
+.error Unsupport architecture "${ARCH}"
+.endif
+
+post-patch:
+ ${RM} -rf ${WRKSRC}/src/third_party/boost
+ ${RM} -rf ${WRKSRC}/src/third_party/icu4c-*
+ ${RM} -rf ${WRKSRC}/src/third_party/pcre-*
+ ${RM} -rf ${WRKSRC}/src/third_party/snappy-*
+ ${RM} -rf ${WRKSRC}/src/third_party/libstemmer_c
+ ${RM} -rf ${WRKSRC}/src/third_party/unwind
+ ${RM} -rf ${WRKSRC}/src/third_party/yaml-cpp
+ ${RM} -rf ${WRKSRC}/src/third_party/zlib-*
+ ${RM} -rf ${WRKSRC}/src/third_party/zstandard
+
+do-configure:
+ # Replacement of ${WRKSRC}/src/third_party/mozjs/get-sources.sh
+ ${LN} -sF ${WRKDIR}/spidermonkey-${MOZJS_TAG} ${WRKSRC}/src/third_party/mozjs/mozilla-release
+ cd ${WRKSRC}/src/third_party/mozjs/mozilla-release/js/src && ${LOCALBASE}/bin/autoconf2.13
+ cd ${WRKSRC}/src/third_party/mozjs && PYTHON3="${PYTHON_CMD}" ${SH} ./gen-config.sh ${MOZJS_ARCH} freebsd
do-build:
${WRKSRC}/buildscripts/scons.py -C ${WRKSRC} ${MAKE_ARGS}
diff --git a/databases/mongodb60/distinfo b/databases/mongodb60/distinfo
index b1ae09f8b522..46ef7a384f74 100644
--- a/databases/mongodb60/distinfo
+++ b/databases/mongodb60/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1662628894
-SHA256 (mongodb-mongo-r6.0.1_GH0.tar.gz) = 8b6ed047a61b6172756810c906b2b182761f6c55c8ac34c9a60f41347f1659aa
-SIZE (mongodb-mongo-r6.0.1_GH0.tar.gz) = 90452293
+TIMESTAMP = 1664434467
+SHA256 (mongodb-mongo-r6.0.2_GH0.tar.gz) = 4a89b1bfe6e85f7b39fa65576d99d5d87bf6edf4742d3e732f69882e442c6e46
+SIZE (mongodb-mongo-r6.0.2_GH0.tar.gz) = 90500172
+SHA256 (mongodb-forks-spidermonkey-82aac6af18abcd5bf188afbc821779ccb0ca0902_GH0.tar.gz) = a365bf54ef4e4fd6a136cf6afa9c620ba0c8982402473b9bfac38928a688a9e0
+SIZE (mongodb-forks-spidermonkey-82aac6af18abcd5bf188afbc821779ccb0ca0902_GH0.tar.gz) = 141291901
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src0.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src0.cpp
deleted file mode 100644
index de6b6df13358..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src0.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src0.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src0.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "builtin/Array.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/Array.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/Array.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/AtomicsObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/AtomicsObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/AtomicsObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/BigInt.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/BigInt.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/BigInt.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/Boolean.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/Boolean.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/Boolean.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/DataViewObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/DataViewObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/DataViewObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/Eval.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/Eval.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/Eval.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src1.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src1.cpp
deleted file mode 100644
index b9a68c835e01..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src1.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src1.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src1.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "builtin/FinalizationRegistryObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/FinalizationRegistryObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/FinalizationRegistryObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/JSON.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/JSON.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/JSON.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/MapObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/MapObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/MapObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/ModuleObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/ModuleObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/ModuleObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/Object.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/Object.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/Object.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/Profilers.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/Profilers.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/Profilers.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src10.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src10.cpp
deleted file mode 100644
index 3f7df1be215f..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src10.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src10.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src10.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "proxy/Wrapper.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "proxy/Wrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "proxy/Wrapper.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "threading/Mutex.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "threading/Mutex.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "threading/Mutex.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "threading/ProtectedData.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "threading/ProtectedData.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "threading/ProtectedData.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "threading/Thread.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "threading/Thread.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "threading/Thread.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "threading/posix/CpuCount.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "threading/posix/CpuCount.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "threading/posix/CpuCount.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "threading/posix/PosixThread.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "threading/posix/PosixThread.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "threading/posix/PosixThread.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src11.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src11.cpp
deleted file mode 100644
index 4d59f9a93c33..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src11.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src11.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src11.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "util/AllocPolicy.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/AllocPolicy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/AllocPolicy.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "util/AllocationLogging.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/AllocationLogging.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/AllocationLogging.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "util/CompleteFile.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/CompleteFile.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/CompleteFile.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "util/DumpFunctions.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/DumpFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/DumpFunctions.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "util/NativeStack.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/NativeStack.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/NativeStack.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "util/Printf.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/Printf.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/Printf.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src12.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src12.cpp
deleted file mode 100644
index 6f980c7f4164..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src12.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src12.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src12.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "util/StringBuffer.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/StringBuffer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/StringBuffer.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "util/StructuredSpewer.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/StructuredSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/StructuredSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "util/Text.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/Text.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/Text.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "util/Unicode.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "util/Unicode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "util/Unicode.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Activation.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Activation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Activation.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ArgumentsObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ArgumentsObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ArgumentsObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src13.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src13.cpp
deleted file mode 100644
index a4d56f9bdd49..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src13.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src13.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src13.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/ArrayBufferObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ArrayBufferObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ArrayBufferObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ArrayBufferObjectMaybeShared.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ArrayBufferObjectMaybeShared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ArrayBufferObjectMaybeShared.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ArrayBufferViewObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ArrayBufferViewObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ArrayBufferViewObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/AsyncFunction.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/AsyncFunction.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/AsyncFunction.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/AsyncIteration.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/AsyncIteration.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/AsyncIteration.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/BigIntType.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/BigIntType.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/BigIntType.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src14.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src14.cpp
deleted file mode 100644
index 012acd657845..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src14.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src14.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src14.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/BuildId.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/BuildId.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/BuildId.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/BuiltinObjectKind.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/BuiltinObjectKind.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/BuiltinObjectKind.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/BytecodeLocation.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/BytecodeLocation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/BytecodeLocation.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/BytecodeUtil.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/BytecodeUtil.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/BytecodeUtil.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Caches.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Caches.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Caches.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/CallNonGenericMethod.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/CallNonGenericMethod.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/CallNonGenericMethod.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src15.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src15.cpp
deleted file mode 100644
index a1783dcc5782..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src15.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src15.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src15.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/CharacterEncoding.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/CharacterEncoding.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/CharacterEncoding.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/CodeCoverage.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/CodeCoverage.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/CodeCoverage.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Compartment.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Compartment.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Compartment.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/CompilationAndEvaluation.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/CompilationAndEvaluation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/CompilationAndEvaluation.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Compression.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Compression.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Compression.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/DateTime.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/DateTime.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/DateTime.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src16.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src16.cpp
deleted file mode 100644
index bdd8b279e0e2..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src16.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src16.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src16.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/EnvironmentObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/EnvironmentObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/EnvironmentObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/EqualityOperations.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/EqualityOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/EqualityOperations.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ErrorMessages.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ErrorMessages.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ErrorMessages.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ErrorObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ErrorObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ErrorObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ErrorReporting.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ErrorReporting.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ErrorReporting.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Exception.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Exception.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Exception.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src17.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src17.cpp
deleted file mode 100644
index 3bb547532b04..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src17.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src17.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src17.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/ForOfIterator.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ForOfIterator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ForOfIterator.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/FrameIter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/FrameIter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/FrameIter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/FunctionFlags.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/FunctionFlags.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/FunctionFlags.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/GeckoProfiler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/GeckoProfiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/GeckoProfiler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/GeneratorObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/GeneratorObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/GeneratorObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/GetterSetter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/GetterSetter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/GetterSetter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src18.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src18.cpp
deleted file mode 100644
index f851a67daf5e..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src18.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src18.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src18.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/GlobalObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/GlobalObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/GlobalObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/HelperThreads.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/HelperThreads.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/HelperThreads.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Id.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Id.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Id.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Initialization.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Initialization.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Initialization.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/InternalThreadPool.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/InternalThreadPool.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/InternalThreadPool.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Iteration.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Iteration.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Iteration.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src19.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src19.cpp
deleted file mode 100644
index 5a454612f992..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src19.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src19.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src19.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/JSAtom.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/JSAtom.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/JSAtom.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/JSContext.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/JSContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/JSContext.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/JSFunction.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/JSFunction.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/JSFunction.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/JSONParser.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/JSONParser.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/JSONParser.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/JSONPrinter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/JSONPrinter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/JSONPrinter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/JSObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/JSObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/JSObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src2.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src2.cpp
deleted file mode 100644
index c6c8f4377660..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src2.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src2.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src2.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "builtin/Promise.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/Promise.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/Promise.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/Reflect.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/Reflect.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/Reflect.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/ReflectParse.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/ReflectParse.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/ReflectParse.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/Stream.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/Stream.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/Stream.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/String.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/String.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/String.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/Symbol.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/Symbol.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/Symbol.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src20.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src20.cpp
deleted file mode 100644
index 5bb2530a659d..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src20.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src20.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src20.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/JSScript.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/JSScript.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/JSScript.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/JitActivation.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/JitActivation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/JitActivation.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/List.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/List.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/List.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/MemoryMetrics.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/MemoryMetrics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/MemoryMetrics.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Modules.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Modules.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Modules.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/NativeObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/NativeObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/NativeObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src21.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src21.cpp
deleted file mode 100644
index 769f8c6c083b..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src21.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src21.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src21.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/OffThreadPromiseRuntimeState.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/OffThreadPromiseRuntimeState.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/OffThreadPromiseRuntimeState.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/OffThreadScriptCompilation.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/OffThreadScriptCompilation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/OffThreadScriptCompilation.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/PIC.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/PIC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/PIC.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/PlainObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/PlainObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/PlainObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Printer.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Printer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Printer.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Probes.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Probes.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Probes.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src22.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src22.cpp
deleted file mode 100644
index 654e02947a49..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src22.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src22.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src22.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/PromiseLookup.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/PromiseLookup.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/PromiseLookup.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/PropMap.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/PropMap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/PropMap.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ProxyObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ProxyObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ProxyObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Realm.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Realm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Realm.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/RegExpObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/RegExpObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/RegExpObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/RegExpStatics.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/RegExpStatics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/RegExpStatics.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src23.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src23.cpp
deleted file mode 100644
index f80bcbcb5193..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src23.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src23.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src23.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/Runtime.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Runtime.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Runtime.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/SavedStacks.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/SavedStacks.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/SavedStacks.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Scope.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Scope.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Scope.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/SelfHosting.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/SelfHosting.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/SelfHosting.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Shape.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Shape.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Shape.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ShapeZone.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ShapeZone.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ShapeZone.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src24.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src24.cpp
deleted file mode 100644
index d964c6713e87..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src24.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src24.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src24.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/SharedArrayObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/SharedArrayObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/SharedArrayObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/SharedImmutableStringsCache.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/SharedImmutableStringsCache.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/SharedImmutableStringsCache.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/SourceHook.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/SourceHook.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/SourceHook.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Stack.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Stack.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Stack.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/StencilObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/StencilObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/StencilObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/StringType.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/StringType.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/StringType.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src25.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src25.cpp
deleted file mode 100644
index 71e0bffbfecb..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src25.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src25.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src25.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/StructuredClone.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/StructuredClone.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/StructuredClone.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/SymbolType.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/SymbolType.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/SymbolType.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/TaggedProto.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/TaggedProto.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/TaggedProto.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ThrowMsgKind.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ThrowMsgKind.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ThrowMsgKind.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Time.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Time.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Time.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/ToSource.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/ToSource.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/ToSource.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src26.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src26.cpp
deleted file mode 100644
index 38ad8841441d..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src26.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src26.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src26.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/TypedArrayObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/TypedArrayObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/TypedArrayObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/UbiNode.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/UbiNode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/UbiNode.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/UbiNodeCensus.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/UbiNodeCensus.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/UbiNodeCensus.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/UbiNodeShortestPaths.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/UbiNodeShortestPaths.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/UbiNodeShortestPaths.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/UsageStatistics.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/UsageStatistics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/UsageStatistics.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Value.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Value.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Value.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src27.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src27.cpp
deleted file mode 100644
index 0fd5f9113a4c..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src27.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src27.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src27.cpp
-@@ -0,0 +1,37 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "vm/Warnings.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Warnings.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Warnings.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/WellKnownAtom.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/WellKnownAtom.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/WellKnownAtom.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/WindowProxy.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/WindowProxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/WindowProxy.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "vm/Xdr.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "vm/Xdr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "vm/Xdr.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src3.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src3.cpp
deleted file mode 100644
index 83db42f30245..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src3.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src3.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src3.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "builtin/TestingFunctions.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/TestingFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/TestingFunctions.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/TestingUtility.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/TestingUtility.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/TestingUtility.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/WeakMapObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/WeakMapObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/WeakMapObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/WeakRefObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/WeakRefObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/WeakRefObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/WeakSetObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/WeakSetObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/WeakSetObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/MiscellaneousOperations.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/MiscellaneousOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/MiscellaneousOperations.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src4.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src4.cpp
deleted file mode 100644
index da81cc266b1f..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src4.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src4.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src4.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "builtin/streams/PipeToState.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/PipeToState.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/PipeToState.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/PullIntoDescriptor.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/PullIntoDescriptor.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/PullIntoDescriptor.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/QueueWithSizes.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/QueueWithSizes.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/QueueWithSizes.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/QueueingStrategies.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/QueueingStrategies.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/QueueingStrategies.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/ReadableStream.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/ReadableStream.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/ReadableStream.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/ReadableStreamBYOBReader.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/ReadableStreamBYOBReader.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/ReadableStreamBYOBReader.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src5.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src5.cpp
deleted file mode 100644
index 2ee53f81c558..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src5.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src5.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src5.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "builtin/streams/ReadableStreamDefaultController.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/ReadableStreamDefaultController.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/ReadableStreamDefaultController.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/ReadableStreamDefaultControllerOperations.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/ReadableStreamDefaultControllerOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/ReadableStreamDefaultControllerOperations.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/ReadableStreamDefaultReader.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/ReadableStreamDefaultReader.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/ReadableStreamDefaultReader.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/ReadableStreamInternals.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/ReadableStreamInternals.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/ReadableStreamInternals.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/ReadableStreamOperations.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/ReadableStreamOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/ReadableStreamOperations.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/ReadableStreamReader.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/ReadableStreamReader.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/ReadableStreamReader.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src6.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src6.cpp
deleted file mode 100644
index 66e18ea9488e..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src6.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src6.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src6.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "builtin/streams/StreamAPI.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/StreamAPI.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/StreamAPI.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/TeeState.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/TeeState.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/TeeState.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/WritableStream.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/WritableStream.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/WritableStream.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/WritableStreamDefaultController.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/WritableStreamDefaultController.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/WritableStreamDefaultController.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/WritableStreamDefaultControllerOperations.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/WritableStreamDefaultControllerOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/WritableStreamDefaultControllerOperations.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/WritableStreamDefaultWriter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/WritableStreamDefaultWriter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/WritableStreamDefaultWriter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src7.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src7.cpp
deleted file mode 100644
index b19f2117ca6d..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src7.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src7.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src7.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "builtin/streams/WritableStreamOperations.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/WritableStreamOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/WritableStreamOperations.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "builtin/streams/WritableStreamWriterOperations.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "builtin/streams/WritableStreamWriterOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "builtin/streams/WritableStreamWriterOperations.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "ds/Bitmap.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "ds/Bitmap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "ds/Bitmap.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "ds/LifoAlloc.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "ds/LifoAlloc.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "ds/LifoAlloc.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "ds/MemoryProtectionExceptionHandler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "ds/MemoryProtectionExceptionHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "ds/MemoryProtectionExceptionHandler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jsapi.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jsapi.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jsapi.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src8.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src8.cpp
deleted file mode 100644
index d79b7be93911..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src8.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src8.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src8.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jsdate.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jsdate.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jsdate.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jsexn.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jsexn.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jsexn.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jsfriendapi.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jsfriendapi.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jsfriendapi.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jsnum.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jsnum.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jsnum.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "proxy/BaseProxyHandler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "proxy/BaseProxyHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "proxy/BaseProxyHandler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "proxy/CrossCompartmentWrapper.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "proxy/CrossCompartmentWrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "proxy/CrossCompartmentWrapper.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src9.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src9.cpp
deleted file mode 100644
index 08c84827c516..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src9.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src9.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src9.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "proxy/DOMProxy.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "proxy/DOMProxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "proxy/DOMProxy.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "proxy/DeadObjectProxy.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "proxy/DeadObjectProxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "proxy/DeadObjectProxy.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "proxy/OpaqueCrossCompartmentWrapper.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "proxy/OpaqueCrossCompartmentWrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "proxy/OpaqueCrossCompartmentWrapper.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "proxy/Proxy.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "proxy/Proxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "proxy/Proxy.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "proxy/ScriptedProxyHandler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "proxy/ScriptedProxyHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "proxy/ScriptedProxyHandler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "proxy/SecurityWrapper.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "proxy/SecurityWrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "proxy/SecurityWrapper.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger0.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger0.cpp
deleted file mode 100644
index 4cd59f90cf01..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger0.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/debugger/Unified_cpp_js_src_debugger0.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/debugger/Unified_cpp_js_src_debugger0.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "debugger/DebugScript.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "debugger/DebugScript.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "debugger/DebugScript.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "debugger/Debugger.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "debugger/Debugger.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "debugger/Debugger.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "debugger/DebuggerMemory.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "debugger/DebuggerMemory.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "debugger/DebuggerMemory.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "debugger/Environment.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "debugger/Environment.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "debugger/Environment.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "debugger/Frame.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "debugger/Frame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "debugger/Frame.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "debugger/NoExecute.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "debugger/NoExecute.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "debugger/NoExecute.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger1.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger1.cpp
deleted file mode 100644
index 7d3ec9092558..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger1.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/debugger/Unified_cpp_js_src_debugger1.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/debugger/Unified_cpp_js_src_debugger1.cpp
-@@ -0,0 +1,28 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "debugger/Object.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "debugger/Object.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "debugger/Object.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "debugger/Script.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "debugger/Script.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "debugger/Script.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "debugger/Source.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "debugger/Source.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "debugger/Source.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend0.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend0.cpp
deleted file mode 100644
index e608c5e1109a..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend0.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend0.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend0.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "frontend/AbstractScopePtr.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/AbstractScopePtr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/AbstractScopePtr.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/AsyncEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/AsyncEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/AsyncEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/BytecodeCompiler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/BytecodeCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/BytecodeCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/BytecodeControlStructures.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/BytecodeControlStructures.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/BytecodeControlStructures.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/BytecodeEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/BytecodeEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/BytecodeEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/BytecodeSection.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/BytecodeSection.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/BytecodeSection.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend1.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend1.cpp
deleted file mode 100644
index 3fa5b34356c1..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend1.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend1.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend1.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "frontend/CForEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/CForEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/CForEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/CallOrNewEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/CallOrNewEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/CallOrNewEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/DefaultEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/DefaultEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/DefaultEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/DoWhileEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/DoWhileEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/DoWhileEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/ElemOpEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ElemOpEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ElemOpEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/EmitterScope.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/EmitterScope.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/EmitterScope.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend2.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend2.cpp
deleted file mode 100644
index b3ea55b3444d..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend2.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend2.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend2.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "frontend/ExpressionStatementEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ExpressionStatementEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ExpressionStatementEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/FoldConstants.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/FoldConstants.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/FoldConstants.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/ForInEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ForInEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ForInEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/ForOfEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ForOfEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ForOfEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/ForOfLoopControl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ForOfLoopControl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ForOfLoopControl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/FunctionEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/FunctionEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/FunctionEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend3.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend3.cpp
deleted file mode 100644
index 247ccbbfc87d..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend3.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend3.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend3.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "frontend/IfEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/IfEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/IfEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/JumpList.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/JumpList.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/JumpList.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/LabelEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/LabelEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/LabelEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/LexicalScopeEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/LexicalScopeEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/LexicalScopeEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/NameFunctions.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/NameFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/NameFunctions.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/NameOpEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/NameOpEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/NameOpEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend4.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend4.cpp
deleted file mode 100644
index 2ddb192ffa83..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend4.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend4.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend4.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "frontend/ObjLiteral.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ObjLiteral.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ObjLiteral.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/ObjectEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ObjectEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ObjectEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/OptionalEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/OptionalEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/OptionalEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/ParseContext.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ParseContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ParseContext.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/ParseNode.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ParseNode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ParseNode.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/ParseNodeVerify.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ParseNodeVerify.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ParseNodeVerify.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend5.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend5.cpp
deleted file mode 100644
index e6614da37224..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend5.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend5.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend5.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "frontend/ParserAtom.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/ParserAtom.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/ParserAtom.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/PrivateOpEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/PrivateOpEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/PrivateOpEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/PropOpEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/PropOpEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/PropOpEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/SharedContext.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/SharedContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/SharedContext.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/SourceNotes.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/SourceNotes.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/SourceNotes.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/Stencil.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/Stencil.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/Stencil.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend6.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend6.cpp
deleted file mode 100644
index 5dcfd4fe7560..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend6.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend6.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend6.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "frontend/StencilXdr.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/StencilXdr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/StencilXdr.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/SwitchEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/SwitchEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/SwitchEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/TDZCheckCache.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/TDZCheckCache.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/TDZCheckCache.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/TokenStream.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/TokenStream.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/TokenStream.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/TryEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/TryEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/TryEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "frontend/WhileEmitter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "frontend/WhileEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "frontend/WhileEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc0.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc0.cpp
deleted file mode 100644
index 0ee279202089..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc0.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc0.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc0.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "gc/Allocator.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Allocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Allocator.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/AtomMarking.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/AtomMarking.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/AtomMarking.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/Barrier.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Barrier.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Barrier.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/FinalizationRegistry.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/FinalizationRegistry.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/FinalizationRegistry.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/GC.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/GC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/GC.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/GCParallelTask.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/GCParallelTask.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/GCParallelTask.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc1.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc1.cpp
deleted file mode 100644
index a049aef0ad56..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc1.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc1.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc1.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "gc/Marking.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Marking.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Marking.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/Memory.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Memory.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Memory.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/Nursery.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Nursery.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Nursery.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/Pretenuring.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Pretenuring.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Pretenuring.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/PublicIterators.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/PublicIterators.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/PublicIterators.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/RootMarking.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/RootMarking.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/RootMarking.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc2.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc2.cpp
deleted file mode 100644
index c720921d48d5..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc2.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc2.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc2.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "gc/Scheduling.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Scheduling.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Scheduling.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/Statistics.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Statistics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Statistics.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/Tracer.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Tracer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Tracer.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/Verifier.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Verifier.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Verifier.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/WeakMap.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/WeakMap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/WeakMap.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "gc/WeakMapPtr.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/WeakMapPtr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/WeakMapPtr.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc3.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc3.cpp
deleted file mode 100644
index 31e33327abaa..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc3.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc3.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc3.cpp
-@@ -0,0 +1,10 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "gc/Zone.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "gc/Zone.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "gc/Zone.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp0.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp0.cpp
deleted file mode 100644
index 7000bc2465e0..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp0.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp0.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp0.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "irregexp/RegExpAPI.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/RegExpAPI.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/RegExpAPI.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/RegExpShim.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/RegExpShim.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/RegExpShim.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/imported/regexp-ast.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-ast.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-ast.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/imported/regexp-bytecode-generator.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-bytecode-generator.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-bytecode-generator.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/imported/regexp-bytecode-peephole.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-bytecode-peephole.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-bytecode-peephole.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/imported/regexp-bytecodes.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-bytecodes.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-bytecodes.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp1.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp1.cpp
deleted file mode 100644
index ce75cf27e078..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp1.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp1.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp1.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "irregexp/imported/regexp-compiler-tonode.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-compiler-tonode.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-compiler-tonode.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/imported/regexp-dotprinter.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-dotprinter.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-dotprinter.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/imported/regexp-interpreter.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-interpreter.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-interpreter.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/imported/regexp-macro-assembler-tracer.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-macro-assembler-tracer.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-macro-assembler-tracer.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/imported/regexp-macro-assembler.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-macro-assembler.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-macro-assembler.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/imported/regexp-parser.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-parser.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-parser.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp2.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp2.cpp
deleted file mode 100644
index bc699bb6eb10..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp2.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp2.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp2.cpp
-@@ -0,0 +1,19 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "irregexp/imported/regexp-stack.cc"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/imported/regexp-stack.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/imported/regexp-stack.cc defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "irregexp/util/UnicodeShim.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "irregexp/util/UnicodeShim.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "irregexp/util/UnicodeShim.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit0.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit0.cpp
deleted file mode 100644
index 9ffe47f24ce0..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit0.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit0.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit0.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/AliasAnalysis.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/AliasAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/AliasAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/AlignmentMaskAnalysis.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/AlignmentMaskAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/AlignmentMaskAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/BacktrackingAllocator.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BacktrackingAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BacktrackingAllocator.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Bailouts.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Bailouts.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Bailouts.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/BaselineBailouts.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BaselineBailouts.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BaselineBailouts.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/BaselineCacheIRCompiler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BaselineCacheIRCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BaselineCacheIRCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit1.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit1.cpp
deleted file mode 100644
index 34003c31c155..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit1.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit1.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit1.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/BaselineCodeGen.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BaselineCodeGen.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BaselineCodeGen.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/BaselineDebugModeOSR.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BaselineDebugModeOSR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BaselineDebugModeOSR.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/BaselineFrame.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BaselineFrame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BaselineFrame.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/BaselineFrameInfo.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BaselineFrameInfo.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BaselineFrameInfo.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/BaselineIC.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BaselineIC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BaselineIC.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/BaselineJIT.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BaselineJIT.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BaselineJIT.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit10.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit10.cpp
deleted file mode 100644
index d534deefef45..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit10.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit10.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit10.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/ScalarReplacement.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/ScalarReplacement.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/ScalarReplacement.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Sink.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Sink.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Sink.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Snapshots.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Snapshots.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Snapshots.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/TrialInlining.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/TrialInlining.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/TrialInlining.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/TypePolicy.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/TypePolicy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/TypePolicy.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/VMFunctions.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/VMFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/VMFunctions.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit11.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit11.cpp
deleted file mode 100644
index 78af8e907468..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit11.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit11.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit11.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/ValueNumbering.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/ValueNumbering.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/ValueNumbering.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/WarpBuilder.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/WarpBuilder.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/WarpBuilder.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/WarpBuilderShared.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/WarpBuilderShared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/WarpBuilderShared.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/WarpCacheIRTranspiler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/WarpCacheIRTranspiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/WarpCacheIRTranspiler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/WarpOracle.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/WarpOracle.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/WarpOracle.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/WarpSnapshot.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/WarpSnapshot.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/WarpSnapshot.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit12.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit12.cpp
deleted file mode 100644
index 3d0e669ccbba..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit12.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit12.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit12.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/WasmBCE.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/WasmBCE.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/WasmBCE.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/XrayJitInfo.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/XrayJitInfo.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/XrayJitInfo.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/Architecture-arm64.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/Architecture-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/Architecture-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/Assembler-arm64.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/Assembler-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/Assembler-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/Bailouts-arm64.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/Bailouts-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/Bailouts-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/CodeGenerator-arm64.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/CodeGenerator-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/CodeGenerator-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit13.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit13.cpp
deleted file mode 100644
index 30c98613387e..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit13.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit13.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit13.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/arm64/Lowering-arm64.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/Lowering-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/Lowering-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/MacroAssembler-arm64.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/MacroAssembler-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/MacroAssembler-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/MoveEmitter-arm64.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/MoveEmitter-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/MoveEmitter-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/Trampoline-arm64.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/Trampoline-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/Trampoline-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/vixl/Assembler-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/Assembler-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/Assembler-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/vixl/Cpu-Features-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/Cpu-Features-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/Cpu-Features-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit14.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit14.cpp
deleted file mode 100644
index f4b8d73f6036..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit14.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit14.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit14.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/arm64/vixl/Cpu-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/Cpu-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/Cpu-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/vixl/Decoder-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/Decoder-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/Decoder-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/vixl/Instructions-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/Instructions-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/Instructions-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/vixl/MacroAssembler-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/MacroAssembler-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/MacroAssembler-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/vixl/MozAssembler-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/MozAssembler-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/MozAssembler-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/vixl/MozCpu-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/MozCpu-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/MozCpu-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit15.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit15.cpp
deleted file mode 100644
index 67ee8d2baa1a..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit15.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit15.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit15.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/arm64/vixl/MozInstructions-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/MozInstructions-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/MozInstructions-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/arm64/vixl/Utils-vixl.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/arm64/vixl/Utils-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/arm64/vixl/Utils-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/shared/AtomicOperations-shared-jit.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/shared/AtomicOperations-shared-jit.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/shared/AtomicOperations-shared-jit.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/shared/CodeGenerator-shared.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/shared/CodeGenerator-shared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/shared/CodeGenerator-shared.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/shared/Disassembler-shared.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/shared/Disassembler-shared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/shared/Disassembler-shared.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/shared/Lowering-shared.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/shared/Lowering-shared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/shared/Lowering-shared.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit2.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit2.cpp
deleted file mode 100644
index d46fa773a8e1..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit2.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit2.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit2.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/BitSet.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BitSet.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BitSet.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/BytecodeAnalysis.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/BytecodeAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/BytecodeAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/CacheIR.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/CacheIR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/CacheIR.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/CacheIRCompiler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/CacheIRCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/CacheIRCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/CacheIRHealth.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/CacheIRHealth.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/CacheIRHealth.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/CacheIRSpewer.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/CacheIRSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/CacheIRSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit3.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit3.cpp
deleted file mode 100644
index 583c33cfed09..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit3.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit3.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit3.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/CodeGenerator.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/CodeGenerator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/CodeGenerator.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/CompileWrappers.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/CompileWrappers.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/CompileWrappers.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Disassemble.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Disassemble.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Disassemble.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/EdgeCaseAnalysis.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/EdgeCaseAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/EdgeCaseAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/EffectiveAddressAnalysis.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/EffectiveAddressAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/EffectiveAddressAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/ExecutableAllocator.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/ExecutableAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/ExecutableAllocator.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit4.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit4.cpp
deleted file mode 100644
index 3bc523784ad8..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit4.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit4.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit4.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/FoldLinearArithConstants.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/FoldLinearArithConstants.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/FoldLinearArithConstants.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/InlinableNatives.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/InlinableNatives.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/InlinableNatives.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/InstructionReordering.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/InstructionReordering.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/InstructionReordering.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Ion.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Ion.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Ion.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/IonAnalysis.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/IonAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/IonAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/IonCacheIRCompiler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/IonCacheIRCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/IonCacheIRCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit5.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit5.cpp
deleted file mode 100644
index 66c17628c5a8..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit5.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit5.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit5.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/IonCompileTask.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/IonCompileTask.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/IonCompileTask.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/IonIC.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/IonIC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/IonIC.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/IonOptimizationLevels.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/IonOptimizationLevels.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/IonOptimizationLevels.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/JSJitFrameIter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/JSJitFrameIter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/JSJitFrameIter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/JSONSpewer.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/JSONSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/JSONSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Jit.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Jit.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Jit.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit6.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit6.cpp
deleted file mode 100644
index f5c6285ec0bf..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit6.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit6.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit6.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/JitContext.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/JitContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/JitContext.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/JitFrames.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/JitFrames.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/JitFrames.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/JitOptions.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/JitOptions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/JitOptions.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/JitScript.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/JitScript.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/JitScript.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/JitSpewer.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/JitSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/JitSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/JitcodeMap.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/JitcodeMap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/JitcodeMap.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit7.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit7.cpp
deleted file mode 100644
index 99cb6de51b17..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit7.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit7.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit7.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/KnownClass.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/KnownClass.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/KnownClass.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/LICM.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/LICM.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/LICM.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/LIR.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/LIR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/LIR.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Label.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Label.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Label.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Linker.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Linker.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Linker.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Lowering.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Lowering.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Lowering.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit8.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit8.cpp
deleted file mode 100644
index 92073a7dabd0..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit8.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit8.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit8.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/MIR.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/MIR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/MIR.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/MIRGraph.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/MIRGraph.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/MIRGraph.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/MacroAssembler.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/MacroAssembler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/MacroAssembler.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/MoveResolver.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/MoveResolver.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/MoveResolver.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/PerfSpewer.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/PerfSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/PerfSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/ProcessExecutableMemory.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/ProcessExecutableMemory.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/ProcessExecutableMemory.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit9.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit9.cpp
deleted file mode 100644
index 667c8e6486ba..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit9.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit9.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit9.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "jit/RangeAnalysis.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/RangeAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/RangeAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Recover.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Recover.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Recover.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/RegisterAllocator.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/RegisterAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/RegisterAllocator.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/RematerializedFrame.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/RematerializedFrame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/RematerializedFrame.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/SafepointIndex.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/SafepointIndex.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/SafepointIndex.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "jit/Safepoints.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "jit/Safepoints.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "jit/Safepoints.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_js-confdefs.h b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_js-confdefs.h
deleted file mode 100644
index 2a6873d3fc13..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_js-confdefs.h
+++ /dev/null
@@ -1,85 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/js-confdefs.h.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/js-confdefs.h
-@@ -0,0 +1,82 @@
-+/* List of defines generated by configure. Included with preprocessor flag,
-+ * -include, to avoid long list of -D defines on the compile command-line.
-+ * Do not edit.
-+ */
-+
-+#ifndef js_confdefs_h
-+#define js_confdefs_h
-+
-+// Expands to all the defines from configure.
-+#define CROSS_COMPILE
-+#define ENABLE_SHARED_MEMORY 1
-+#define ENABLE_WASM_SIMD 1
-+#define HAVE_64BIT_BUILD 1
-+#define HAVE_CLOCK_MONOTONIC 1
-+#define HAVE_DIRENT_H 1
-+#define HAVE_DLOPEN 1
-+#define HAVE_FTS_H 1
-+#define HAVE_GETC_UNLOCKED 1
-+#define HAVE_GETOPT_H 1
-+#define HAVE_GMTIME_R 1
-+#define HAVE_INTTYPES_H 1
-+#define HAVE_LANGINFO_CODESET 1
-+#define HAVE_LIBM 1
-+#define HAVE_LOCALECONV 1
-+#define HAVE_LOCALTIME_R 1
-+#define HAVE_MALLOC_H 1
-+#define HAVE_MALLOC_USABLE_SIZE 1
-+#define HAVE_MEMALIGN 1
-+#define HAVE_MEMFD_CREATE 1
-+#define HAVE_NETINET_IN_H 1
-+#define HAVE_NL_TYPES_H 1
-+#define HAVE_POSIX_FADVISE 1
-+#define HAVE_POSIX_FALLOCATE 1
-+#define HAVE_POSIX_MEMALIGN 1
-+#define HAVE_PTHREAD_GETNAME_NP 1
-+#define HAVE_PTHREAD_GET_NAME_NP 1
-+#define HAVE_RES_NINIT 1
-+#define HAVE_SSIZE_T 1
-+#define HAVE_STDINT_H 1
-+#define HAVE_STRNDUP 1
-+#define HAVE_SYS_MOUNT_H 1
-+#define HAVE_SYS_QUEUE_H 1
-+#define HAVE_SYS_STATVFS_H 1
-+#define HAVE_SYS_TYPES_H 1
-+#define HAVE_THREAD_TLS_KEYWORD 1
-+#define HAVE_TM_ZONE_TM_GMTOFF 1
-+#define HAVE_UNISTD_H 1
-+#define HAVE_VALLOC 1
-+#define HAVE_VA_COPY 1
-+#define HAVE_VISIBILITY_ATTRIBUTE 1
-+#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
-+#define HAVE___CXA_DEMANGLE 1
-+#define JS_64BIT 1
-+#define JS_CODEGEN_ARM64 1
-+#define JS_DEFAULT_JITREPORT_GRANULARITY 3
-+#define JS_PUNBOX64 1
-+#define JS_STANDALONE 1
-+#define JS_WITHOUT_NSPR 1
-+#define MALLOC_H <malloc.h>
-+#define MALLOC_USABLE_SIZE_CONST_PTR const
-+#define MOZILLA_UAVERSION "91.0"
-+#define MOZILLA_VERSION "91.4.0"
-+#define MOZILLA_VERSION_U 91.4.0
-+#define MOZJS_MAJOR_VERSION 91
-+#define MOZJS_MINOR_VERSION 4
-+#define MOZ_AARCH64_JSCVT 0
-+#define MOZ_BUILD_APP js
-+#define MOZ_DLL_PREFIX "lib"
-+#define MOZ_DLL_SUFFIX ".so"
-+#define MOZ_UPDATE_CHANNEL default
-+#define NO_NSPR_10_SUPPORT 1
-+#define NO_RUST_PANIC_HOOK 1
-+#define RELEASE_OR_BETA 1
-+#define STDC_HEADERS 1
-+#define U_STATIC_IMPLEMENTATION 1
-+#define VA_COPY va_copy
-+#define XP_FREEBSD 1
-+#define XP_UNIX 1
-+#define _REENTRANT 1
-+#define _THREAD_SAFE 1
-+
-+#endif /* js_confdefs_h */
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm0.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm0.cpp
deleted file mode 100644
index 465cd00dde33..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm0.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm0.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm0.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "wasm/AsmJS.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/AsmJS.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/AsmJS.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/TypedObject.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/TypedObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/TypedObject.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmBaselineCompile.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmBaselineCompile.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmBaselineCompile.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmBinary.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmBinary.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmBinary.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmBuiltins.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmBuiltins.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmBuiltins.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmCode.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmCode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmCode.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm1.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm1.cpp
deleted file mode 100644
index c7e27453b86c..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm1.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm1.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm1.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "wasm/WasmCompile.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmCompile.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmCompile.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmContext.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmContext.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmDebug.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmDebug.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmDebug.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmFrame.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmFrame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmFrame.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmFrameIter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmFrameIter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmFrameIter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmGC.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmGC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmGC.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm2.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm2.cpp
deleted file mode 100644
index d49135178f55..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm2.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm2.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm2.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "wasm/WasmGenerator.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmGenerator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmGenerator.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmInitExpr.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmInitExpr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmInitExpr.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmInstance.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmInstance.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmInstance.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmIonCompile.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmIonCompile.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmIonCompile.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmJS.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmJS.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmJS.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmModule.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmModule.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmModule.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm3.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm3.cpp
deleted file mode 100644
index 40b1ed443549..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm3.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm3.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm3.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "wasm/WasmOpIter.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmOpIter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmOpIter.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmProcess.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmProcess.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmProcess.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmRealm.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmRealm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmRealm.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmSignalHandlers.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmSignalHandlers.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmSignalHandlers.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmStubs.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmStubs.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmStubs.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmTable.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmTable.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmTable.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm4.cpp b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm4.cpp
deleted file mode 100644
index c17eee2e0c33..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm4.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm4.cpp.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm4.cpp
-@@ -0,0 +1,55 @@
-+#define MOZ_UNIFIED_BUILD
-+#include "wasm/WasmTlsData.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmTlsData.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmTlsData.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmTypeDef.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmTypeDef.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmTypeDef.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmTypes.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmTypes.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmTypes.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmValType.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmValType.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmValType.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmValidate.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmValidate.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmValidate.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-+#include "wasm/WasmValue.cpp"
-+#ifdef PL_ARENA_CONST_ALIGN_MASK
-+#error "wasm/WasmValue.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
-+#undef PL_ARENA_CONST_ALIGN_MASK
-+#endif
-+#ifdef INITGUID
-+#error "wasm/WasmValue.cpp defines INITGUID, so it cannot be built in unified mode."
-+#undef INITGUID
-+#endif
-\ No newline at end of file
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_frontend_ReservedWordsGenerated.h b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_frontend_ReservedWordsGenerated.h
deleted file mode 100644
index 5e30e9b7686f..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_frontend_ReservedWordsGenerated.h
+++ /dev/null
@@ -1,363 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/include/frontend/ReservedWordsGenerated.h.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/include/frontend/ReservedWordsGenerated.h
-@@ -0,0 +1,360 @@
-+ /*
-+ * Generating switch for the list of 54 entries:
-+ * false
-+ * true
-+ * null
-+ * break
-+ * case
-+ * catch
-+ * const
-+ * continue
-+ * debugger
-+ * default
-+ * delete
-+ * do
-+ * else
-+ * finally
-+ * for
-+ * function
-+ * if
-+ * in
-+ * instanceof
-+ * new
-+ * return
-+ * switch
-+ * this
-+ * throw
-+ * try
-+ * typeof
-+ * var
-+ * void
-+ * while
-+ * with
-+ * import
-+ * export
-+ * class
-+ * extends
-+ * super
-+ * enum
-+ * implements
-+ * interface
-+ * package
-+ * private
-+ * protected
-+ * public
-+ * as
-+ * async
-+ * await
-+ * from
-+ * get
-+ * let
-+ * meta
-+ * of
-+ * set
-+ * static
-+ * target
-+ * yield
-+ */
-+ switch (JSRW_LENGTH()) {
-+ case 2:
-+ switch (JSRW_AT(1)) {
-+ case 'f':
-+ if (JSRW_AT(0) == 'i') {
-+ JSRW_GOT_MATCH(16) /* if */
-+ }
-+ if (JSRW_AT(0) == 'o') {
-+ JSRW_GOT_MATCH(49) /* of */
-+ }
-+ JSRW_NO_MATCH()
-+ case 'n':
-+ if (JSRW_AT(0)=='i') {
-+ JSRW_GOT_MATCH(17) /* in */
-+ }
-+ JSRW_NO_MATCH()
-+ case 'o':
-+ if (JSRW_AT(0)=='d') {
-+ JSRW_GOT_MATCH(11) /* do */
-+ }
-+ JSRW_NO_MATCH()
-+ case 's':
-+ if (JSRW_AT(0)=='a') {
-+ JSRW_GOT_MATCH(42) /* as */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 3:
-+ switch (JSRW_AT(2)) {
-+ case 'r':
-+ if (JSRW_AT(0) == 'f') {
-+ if (JSRW_AT(1)=='o') {
-+ JSRW_GOT_MATCH(14) /* for */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(0) == 'v') {
-+ if (JSRW_AT(1)=='a') {
-+ JSRW_GOT_MATCH(26) /* var */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 't':
-+ if (JSRW_AT(1) == 'e') {
-+ if (JSRW_AT(0) == 'g') {
-+ JSRW_GOT_MATCH(46) /* get */
-+ }
-+ if (JSRW_AT(0) == 'l') {
-+ JSRW_GOT_MATCH(47) /* let */
-+ }
-+ if (JSRW_AT(0) == 's') {
-+ JSRW_GOT_MATCH(50) /* set */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 'w':
-+ if (JSRW_AT(0)=='n' && JSRW_AT(1)=='e') {
-+ JSRW_GOT_MATCH(19) /* new */
-+ }
-+ JSRW_NO_MATCH()
-+ case 'y':
-+ if (JSRW_AT(0)=='t' && JSRW_AT(1)=='r') {
-+ JSRW_GOT_MATCH(24) /* try */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 4:
-+ switch (JSRW_AT(2)) {
-+ case 'i':
-+ if (JSRW_AT(0) == 't') {
-+ if (JSRW_AT(3)=='s' && JSRW_AT(1)=='h') {
-+ JSRW_GOT_MATCH(22) /* this */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(0) == 'v') {
-+ if (JSRW_AT(3)=='d' && JSRW_AT(1)=='o') {
-+ JSRW_GOT_MATCH(27) /* void */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 'l':
-+ if (JSRW_AT(0)=='n' && JSRW_AT(1)=='u' && JSRW_AT(3)=='l') {
-+ JSRW_GOT_MATCH(2) /* null */
-+ }
-+ JSRW_NO_MATCH()
-+ case 'o':
-+ if (JSRW_AT(0)=='f' && JSRW_AT(1)=='r' && JSRW_AT(3)=='m') {
-+ JSRW_GOT_MATCH(45) /* from */
-+ }
-+ JSRW_NO_MATCH()
-+ case 's':
-+ if (JSRW_AT(1) == 'a') {
-+ if (JSRW_AT(0)=='c' && JSRW_AT(3)=='e') {
-+ JSRW_GOT_MATCH(4) /* case */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(1) == 'l') {
-+ if (JSRW_AT(0)=='e' && JSRW_AT(3)=='e') {
-+ JSRW_GOT_MATCH(12) /* else */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 't':
-+ if (JSRW_AT(0) == 'm') {
-+ if (JSRW_AT(3)=='a' && JSRW_AT(1)=='e') {
-+ JSRW_GOT_MATCH(48) /* meta */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(0) == 'w') {
-+ if (JSRW_AT(3)=='h' && JSRW_AT(1)=='i') {
-+ JSRW_GOT_MATCH(29) /* with */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 'u':
-+ if (JSRW_AT(0) == 'e') {
-+ if (JSRW_AT(3)=='m' && JSRW_AT(1)=='n') {
-+ JSRW_GOT_MATCH(35) /* enum */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(0) == 't') {
-+ if (JSRW_AT(3)=='e' && JSRW_AT(1)=='r') {
-+ JSRW_GOT_MATCH(1) /* true */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 5:
-+ switch (JSRW_AT(3)) {
-+ case 'a':
-+ if (JSRW_AT(0)=='b' && JSRW_AT(1)=='r' && JSRW_AT(2)=='e' && JSRW_AT(4)=='k') {
-+ JSRW_GOT_MATCH(3) /* break */
-+ }
-+ JSRW_NO_MATCH()
-+ case 'c':
-+ if (JSRW_AT(0)=='c' && JSRW_AT(1)=='a' && JSRW_AT(2)=='t' && JSRW_AT(4)=='h') {
-+ JSRW_GOT_MATCH(5) /* catch */
-+ }
-+ JSRW_NO_MATCH()
-+ case 'e':
-+ if (JSRW_AT(0)=='s' && JSRW_AT(1)=='u' && JSRW_AT(2)=='p' && JSRW_AT(4)=='r') {
-+ JSRW_GOT_MATCH(34) /* super */
-+ }
-+ JSRW_NO_MATCH()
-+ case 'i':
-+ if (JSRW_AT(0)=='a' && JSRW_AT(1)=='w' && JSRW_AT(2)=='a' && JSRW_AT(4)=='t') {
-+ JSRW_GOT_MATCH(44) /* await */
-+ }
-+ JSRW_NO_MATCH()
-+ case 'l':
-+ if (JSRW_AT(0) == 'w') {
-+ if (JSRW_AT(4)=='e' && JSRW_AT(1)=='h' && JSRW_AT(2)=='i') {
-+ JSRW_GOT_MATCH(28) /* while */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(0) == 'y') {
-+ if (JSRW_AT(4)=='d' && JSRW_AT(1)=='i' && JSRW_AT(2)=='e') {
-+ JSRW_GOT_MATCH(53) /* yield */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 'n':
-+ if (JSRW_AT(0)=='a' && JSRW_AT(1)=='s' && JSRW_AT(2)=='y' && JSRW_AT(4)=='c') {
-+ JSRW_GOT_MATCH(43) /* async */
-+ }
-+ JSRW_NO_MATCH()
-+ case 'o':
-+ if (JSRW_AT(0)=='t' && JSRW_AT(1)=='h' && JSRW_AT(2)=='r' && JSRW_AT(4)=='w') {
-+ JSRW_GOT_MATCH(23) /* throw */
-+ }
-+ JSRW_NO_MATCH()
-+ case 's':
-+ if (JSRW_AT(0) == 'c') {
-+ if (JSRW_AT(4) == 's') {
-+ if (JSRW_AT(2)=='a' && JSRW_AT(1)=='l') {
-+ JSRW_GOT_MATCH(32) /* class */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(4) == 't') {
-+ if (JSRW_AT(2)=='n' && JSRW_AT(1)=='o') {
-+ JSRW_GOT_MATCH(6) /* const */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(0) == 'f') {
-+ if (JSRW_AT(4)=='e' && JSRW_AT(1)=='a' && JSRW_AT(2)=='l') {
-+ JSRW_GOT_MATCH(0) /* false */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 6:
-+ switch (JSRW_AT(0)) {
-+ case 'd':
-+ JSRW_TEST_GUESS(10) /* delete */
-+ case 'e':
-+ JSRW_TEST_GUESS(31) /* export */
-+ case 'i':
-+ JSRW_TEST_GUESS(30) /* import */
-+ case 'p':
-+ JSRW_TEST_GUESS(41) /* public */
-+ case 'r':
-+ JSRW_TEST_GUESS(20) /* return */
-+ case 's':
-+ if (JSRW_AT(1) == 't') {
-+ if (JSRW_AT(5)=='c' && JSRW_AT(4)=='i' && JSRW_AT(2)=='a' && JSRW_AT(3)=='t') {
-+ JSRW_GOT_MATCH(51) /* static */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(1) == 'w') {
-+ if (JSRW_AT(5)=='h' && JSRW_AT(4)=='c' && JSRW_AT(2)=='i' && JSRW_AT(3)=='t') {
-+ JSRW_GOT_MATCH(21) /* switch */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 't':
-+ if (JSRW_AT(5) == 'f') {
-+ if (JSRW_AT(4)=='o' && JSRW_AT(1)=='y' && JSRW_AT(2)=='p' && JSRW_AT(3)=='e') {
-+ JSRW_GOT_MATCH(25) /* typeof */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ if (JSRW_AT(5) == 't') {
-+ if (JSRW_AT(4)=='e' && JSRW_AT(1)=='a' && JSRW_AT(2)=='r' && JSRW_AT(3)=='g') {
-+ JSRW_GOT_MATCH(52) /* target */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 7:
-+ switch (JSRW_AT(0)) {
-+ case 'd':
-+ JSRW_TEST_GUESS(9) /* default */
-+ case 'e':
-+ JSRW_TEST_GUESS(33) /* extends */
-+ case 'f':
-+ JSRW_TEST_GUESS(13) /* finally */
-+ case 'p':
-+ if (JSRW_AT(1) == 'a') {
-+ JSRW_TEST_GUESS(38) /* package */
-+ }
-+ if (JSRW_AT(1) == 'r') {
-+ JSRW_TEST_GUESS(39) /* private */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 8:
-+ if (JSRW_AT(2) == 'b') {
-+ JSRW_TEST_GUESS(8) /* debugger */
-+ }
-+ if (JSRW_AT(2) == 'n') {
-+ if (JSRW_AT(0) == 'c') {
-+ JSRW_TEST_GUESS(7) /* continue */
-+ }
-+ if (JSRW_AT(0) == 'f') {
-+ JSRW_TEST_GUESS(15) /* function */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
-+ case 9:
-+ if (JSRW_AT(0) == 'i') {
-+ JSRW_TEST_GUESS(37) /* interface */
-+ }
-+ if (JSRW_AT(0) == 'p') {
-+ JSRW_TEST_GUESS(40) /* protected */
-+ }
-+ JSRW_NO_MATCH()
-+ case 10:
-+ if (JSRW_AT(1) == 'm') {
-+ JSRW_TEST_GUESS(36) /* implements */
-+ }
-+ if (JSRW_AT(1) == 'n') {
-+ JSRW_TEST_GUESS(18) /* instanceof */
-+ }
-+ JSRW_NO_MATCH()
-+ }
-+ JSRW_NO_MATCH()
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_gc_StatsPhasesGenerated.h b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_gc_StatsPhasesGenerated.h
deleted file mode 100644
index 5983603327b3..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_gc_StatsPhasesGenerated.h
+++ /dev/null
@@ -1,193 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/include/gc/StatsPhasesGenerated.h.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/include/gc/StatsPhasesGenerated.h
-@@ -0,0 +1,190 @@
-+enum class PhaseKind : uint8_t {
-+ FIRST,
-+ MUTATOR = FIRST,
-+ GC_BEGIN,
-+ MARK_CCWS,
-+ MARK_STACK,
-+ MARK_RUNTIME_DATA,
-+ MARK_EMBEDDING,
-+ MARK_COMPARTMENTS,
-+ MARK_ROOTS,
-+ EVICT_NURSERY_FOR_MAJOR_GC,
-+ WAIT_BACKGROUND_THREAD,
-+ UNMARK,
-+ UNMARK_WEAKMAPS,
-+ BUFFER_GRAY_ROOTS,
-+ MARK_DISCARD_CODE,
-+ RELAZIFY_FUNCTIONS,
-+ PURGE,
-+ PURGE_PROP_MAP_TABLES,
-+ PURGE_SOURCE_URLS,
-+ JOIN_PARALLEL_TASKS,
-+ PREPARE,
-+ MARK_DELAYED,
-+ MARK,
-+ SWEEP_MARK_INCOMING_BLACK,
-+ SWEEP_MARK_GRAY_WEAK,
-+ SWEEP_MARK_WEAK,
-+ SWEEP_MARK_INCOMING_GRAY,
-+ SWEEP_MARK_GRAY,
-+ SWEEP_MARK,
-+ WEAK_ZONES_CALLBACK,
-+ WEAK_COMPARTMENT_CALLBACK,
-+ FINALIZE_START,
-+ UPDATE_ATOMS_BITMAP,
-+ SWEEP_ATOMS_TABLE,
-+ SWEEP_DISCARD_CODE,
-+ SWEEP_INNER_VIEWS,
-+ SWEEP_CC_WRAPPER,
-+ SWEEP_BASE_SHAPE,
-+ SWEEP_INITIAL_SHAPE,
-+ SWEEP_REGEXP,
-+ SWEEP_COMPRESSION,
-+ SWEEP_WEAKMAPS,
-+ SWEEP_UNIQUEIDS,
-+ SWEEP_FINALIZATION_REGISTRIES,
-+ SWEEP_WEAKREFS,
-+ SWEEP_JIT_DATA,
-+ SWEEP_WEAK_CACHES,
-+ SWEEP_MISC,
-+ SWEEP_COMPARTMENTS,
-+ SWEEP_OBJECT,
-+ SWEEP_STRING,
-+ SWEEP_SCRIPT,
-+ SWEEP_SCOPE,
-+ SWEEP_REGEXP_SHARED,
-+ SWEEP_SHAPE,
-+ SWEEP_PROP_MAP,
-+ FINALIZE_END,
-+ DESTROY,
-+ SWEEP,
-+ COMPACT_MOVE,
-+ COMPACT_UPDATE_CELLS,
-+ COMPACT_UPDATE,
-+ COMPACT,
-+ DECOMMIT,
-+ GC_END,
-+ MINOR_GC,
-+ EVICT_NURSERY,
-+ TRACE_HEAP,
-+ UNMARK_GRAY,
-+ BARRIER,
-+ LIMIT,
-+ NONE = LIMIT,
-+ EXPLICIT_SUSPENSION = LIMIT,
-+ IMPLICIT_SUSPENSION
-+};
-+
-+enum class Phase : uint8_t {
-+ FIRST,
-+ MUTATOR = FIRST,
-+ GC_BEGIN,
-+ EVICT_NURSERY_FOR_MAJOR_GC,
-+ MARK_ROOTS_1,
-+ MARK_CCWS_1,
-+ MARK_STACK_1,
-+ MARK_RUNTIME_DATA_1,
-+ MARK_EMBEDDING_1,
-+ MARK_COMPARTMENTS_1,
-+ WAIT_BACKGROUND_THREAD,
-+ PREPARE,
-+ UNMARK,
-+ UNMARK_WEAKMAPS,
-+ BUFFER_GRAY_ROOTS,
-+ MARK_DISCARD_CODE,
-+ RELAZIFY_FUNCTIONS,
-+ PURGE,
-+ PURGE_PROP_MAP_TABLES,
-+ PURGE_SOURCE_URLS,
-+ JOIN_PARALLEL_TASKS_1,
-+ MARK,
-+ MARK_ROOTS_2,
-+ MARK_CCWS_2,
-+ MARK_STACK_2,
-+ MARK_RUNTIME_DATA_2,
-+ MARK_EMBEDDING_2,
-+ MARK_COMPARTMENTS_2,
-+ MARK_DELAYED_1,
-+ SWEEP,
-+ SWEEP_MARK,
-+ MARK_DELAYED_2,
-+ SWEEP_MARK_INCOMING_BLACK,
-+ SWEEP_MARK_WEAK,
-+ MARK_DELAYED_3,
-+ SWEEP_MARK_GRAY_WEAK,
-+ SWEEP_MARK_INCOMING_GRAY,
-+ SWEEP_MARK_GRAY,
-+ FINALIZE_START,
-+ WEAK_ZONES_CALLBACK,
-+ WEAK_COMPARTMENT_CALLBACK,
-+ UPDATE_ATOMS_BITMAP,
-+ SWEEP_ATOMS_TABLE,
-+ SWEEP_COMPARTMENTS,
-+ SWEEP_DISCARD_CODE,
-+ SWEEP_INNER_VIEWS,
-+ SWEEP_CC_WRAPPER,
-+ SWEEP_BASE_SHAPE,
-+ SWEEP_INITIAL_SHAPE,
-+ SWEEP_REGEXP,
-+ SWEEP_COMPRESSION,
-+ SWEEP_WEAKMAPS,
-+ SWEEP_UNIQUEIDS,
-+ SWEEP_FINALIZATION_REGISTRIES,
-+ SWEEP_WEAKREFS,
-+ SWEEP_JIT_DATA,
-+ SWEEP_WEAK_CACHES,
-+ SWEEP_MISC,
-+ JOIN_PARALLEL_TASKS_2,
-+ SWEEP_OBJECT,
-+ SWEEP_STRING,
-+ SWEEP_SCRIPT,
-+ SWEEP_SCOPE,
-+ SWEEP_REGEXP_SHARED,
-+ SWEEP_SHAPE,
-+ SWEEP_PROP_MAP,
-+ FINALIZE_END,
-+ DESTROY,
-+ JOIN_PARALLEL_TASKS_3,
-+ COMPACT,
-+ COMPACT_MOVE,
-+ COMPACT_UPDATE,
-+ MARK_ROOTS_3,
-+ MARK_CCWS_3,
-+ MARK_STACK_3,
-+ MARK_RUNTIME_DATA_3,
-+ MARK_EMBEDDING_3,
-+ MARK_COMPARTMENTS_3,
-+ COMPACT_UPDATE_CELLS,
-+ JOIN_PARALLEL_TASKS_4,
-+ DECOMMIT,
-+ GC_END,
-+ MINOR_GC,
-+ MARK_ROOTS_4,
-+ MARK_CCWS_4,
-+ MARK_STACK_4,
-+ MARK_RUNTIME_DATA_4,
-+ MARK_EMBEDDING_4,
-+ MARK_COMPARTMENTS_4,
-+ EVICT_NURSERY,
-+ MARK_ROOTS_5,
-+ MARK_CCWS_5,
-+ MARK_STACK_5,
-+ MARK_RUNTIME_DATA_5,
-+ MARK_EMBEDDING_5,
-+ MARK_COMPARTMENTS_5,
-+ TRACE_HEAP,
-+ MARK_ROOTS_6,
-+ MARK_CCWS_6,
-+ MARK_STACK_6,
-+ MARK_RUNTIME_DATA_6,
-+ MARK_EMBEDDING_6,
-+ MARK_COMPARTMENTS_6,
-+ BARRIER,
-+ UNMARK_GRAY,
-+ LIMIT,
-+ NONE = LIMIT,
-+ EXPLICIT_SUSPENSION = LIMIT,
-+ IMPLICIT_SUSPENSION
-+};
-+
-+static const size_t MAX_PHASE_NESTING = 4;
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_CacheIROpsGenerated.h b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_CacheIROpsGenerated.h
deleted file mode 100644
index 7ada21b4d00e..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_CacheIROpsGenerated.h
+++ /dev/null
@@ -1,12512 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/include/jit/CacheIROpsGenerated.h.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/include/jit/CacheIROpsGenerated.h
-@@ -0,0 +1,12509 @@
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+#ifndef jit_CacheIROpsGenerated_h
-+#define jit_CacheIROpsGenerated_h
-+
-+/* This file is generated by jit/GenerateCacheIRFiles.py. Do not edit! */
-+
-+#define CACHE_IR_OPS(_)\
-+_(ReturnFromIC, 0, true, 1)\
-+_(GuardToObject, 1, true, 1)\
-+_(GuardIsNullOrUndefined, 1, true, 1)\
-+_(GuardIsNull, 1, true, 1)\
-+_(GuardIsUndefined, 1, true, 1)\
-+_(GuardToBoolean, 1, true, 1)\
-+_(GuardToString, 1, true, 1)\
-+_(GuardToSymbol, 1, true, 1)\
-+_(GuardToBigInt, 1, true, 1)\
-+_(GuardIsNumber, 1, true, 1)\
-+_(GuardToInt32, 1, true, 1)\
-+_(GuardBooleanToInt32, 1 + 1, true, 1)\
-+_(GuardToInt32Index, 1 + 1, true, 1)\
-+_(Int32ToIntPtr, 1 + 1, true, 1)\
-+_(GuardNumberToIntPtrIndex, 1 + 1 + 1, true, 2)\
-+_(GuardToInt32ModUint32, 1 + 1, true, 2)\
-+_(GuardToUint8Clamped, 1 + 1, true, 2)\
-+_(GuardNonDoubleType, 1 + 1, true, 1)\
-+_(GuardShape, 1 + 1, true, 1)\
-+_(GuardProto, 1 + 1, true, 1)\
-+_(GuardNullProto, 1, true, 1)\
-+_(GuardClass, 1 + 1, true, 1)\
-+_(GuardAnyClass, 1 + 1, true, 1)\
-+_(HasClassResult, 1 + 1, true, 1)\
-+_(CallRegExpMatcherResult, 1 + 1 + 1, true, 5)\
-+_(CallRegExpSearcherResult, 1 + 1 + 1, true, 5)\
-+_(CallRegExpTesterResult, 1 + 1 + 1, true, 5)\
-+_(RegExpFlagResult, 1 + 4, true, 2)\
-+_(CallSubstringKernelResult, 1 + 1 + 1, true, 5)\
-+_(StringReplaceStringResult, 1 + 1 + 1, true, 5)\
-+_(StringSplitStringResult, 1 + 1, true, 5)\
-+_(RegExpPrototypeOptimizableResult, 1, true, 4)\
-+_(RegExpInstanceOptimizableResult, 1 + 1, true, 4)\
-+_(GetFirstDollarIndexResult, 1, true, 5)\
-+_(GuardCompartment, 1 + 1 + 1, false, 2)\
-+_(GuardIsExtensible, 1, true, 1)\
-+_(GuardIsNativeObject, 1, true, 1)\
-+_(GuardIsProxy, 1, true, 1)\
-+_(GuardIsNotProxy, 1, true, 1)\
-+_(GuardIsNotArrayBufferMaybeShared, 1, true, 1)\
-+_(GuardIsTypedArray, 1, true, 1)\
-+_(GuardHasProxyHandler, 1 + 1, false, 1)\
-+_(GuardIsNotDOMProxy, 1, true, 1)\
-+_(GuardSpecificObject, 1 + 1, true, 1)\
-+_(GuardSpecificFunction, 1 + 1 + 1, true, 1)\
-+_(GuardFunctionScript, 1 + 1 + 1, true, 1)\
-+_(GuardSpecificAtom, 1 + 1, true, 4)\
-+_(GuardSpecificSymbol, 1 + 1, true, 1)\
-+_(GuardNoDenseElements, 1, true, 1)\
-+_(GuardStringToIndex, 1 + 1, true, 4)\
-+_(GuardStringToInt32, 1 + 1, true, 4)\
-+_(GuardStringToNumber, 1 + 1, true, 4)\
-+_(BooleanToNumber, 1 + 1, true, 1)\
-+_(GuardAndGetIterator, 1 + 1 + 1 + 1, false, 4)\
-+_(GuardHasGetterSetter, 1 + 1 + 1, true, 4)\
-+_(GuardInt32IsNonNegative, 1, true, 1)\
-+_(GuardIndexIsValidUpdateOrAdd, 1 + 1, true, 1)\
-+_(GuardIndexGreaterThanDenseInitLength, 1 + 1, true, 1)\
-+_(GuardTagNotEqual, 1 + 1, true, 1)\
-+_(GuardXrayExpandoShapeAndDefaultProto, 1 + 1, false, 2)\
-+_(GuardXrayNoExpando, 1, false, 2)\
-+_(GuardDynamicSlotIsSpecificObject, 1 + 1 + 1, true, 1)\
-+_(GuardFixedSlotValue, 1 + 1 + 1, true, 1)\
-+_(GuardDynamicSlotValue, 1 + 1 + 1, true, 1)\
-+_(GuardNoAllocationMetadataBuilder, 1, true, 1)\
-+_(GuardFunctionHasJitEntry, 1 + 1, true, 1)\
-+_(GuardFunctionHasNoJitEntry, 1, true, 1)\
-+_(GuardFunctionIsNonBuiltinCtor, 1, true, 1)\
-+_(GuardFunctionIsConstructor, 1, true, 1)\
-+_(GuardNotClassConstructor, 1, true, 1)\
-+_(GuardArrayIsPacked, 1, true, 1)\
-+_(GuardArgumentsObjectFlags, 1 + 1, true, 1)\
-+_(LoadObject, 1 + 1, true, 1)\
-+_(LoadProto, 1 + 1, true, 1)\
-+_(LoadEnclosingEnvironment, 1 + 1, true, 1)\
-+_(LoadWrapperTarget, 1 + 1, true, 1)\
-+_(LoadValueTag, 1 + 1, true, 1)\
-+_(LoadArgumentFixedSlot, 1 + 1, true, 1)\
-+_(LoadArgumentDynamicSlot, 1 + 1 + 1, true, 1)\
-+_(TruncateDoubleToUInt32, 1 + 1, true, 4)\
-+_(MegamorphicLoadSlotResult, 1 + 1, true, 4)\
-+_(MegamorphicLoadSlotByValueResult, 1 + 1, true, 4)\
-+_(MegamorphicStoreSlot, 1 + 1 + 1, true, 4)\
-+_(MegamorphicSetElement, 1 + 1 + 1 + 1, true, 5)\
-+_(MegamorphicHasPropResult, 1 + 1 + 1, true, 4)\
-+_(LoadDOMExpandoValue, 1 + 1, true, 1)\
-+_(LoadDOMExpandoValueGuardGeneration, 1 + 1 + 1 + 1, true, 2)\
-+_(LoadDOMExpandoValueIgnoreGeneration, 1 + 1, true, 1)\
-+_(GuardDOMExpandoMissingOrGuardShape, 1 + 1, true, 2)\
-+_(StoreFixedSlot, 1 + 1 + 1, true, 6)\
-+_(StoreDynamicSlot, 1 + 1 + 1, true, 6)\
-+_(AddAndStoreFixedSlot, 1 + 1 + 1 + 1, true, 6)\
-+_(AddAndStoreDynamicSlot, 1 + 1 + 1 + 1, true, 6)\
-+_(AllocateAndStoreDynamicSlot, 1 + 1 + 1 + 1 + 1, true, 6)\
-+_(StoreDenseElement, 1 + 1 + 1, true, 6)\
-+_(StoreDenseElementHole, 1 + 1 + 1 + 1, true, 6)\
-+_(ArrayPush, 1 + 1, true, 6)\
-+_(ArrayJoinResult, 1 + 1, true, 5)\
-+_(PackedArrayPopResult, 1, true, 2)\
-+_(PackedArrayShiftResult, 1, true, 4)\
-+_(PackedArraySliceResult, 1 + 1 + 1 + 1, true, 5)\
-+_(IsArrayResult, 1, true, 5)\
-+_(StoreFixedSlotUndefinedResult, 1 + 1 + 1, true, 4294967295)\
-+_(IsObjectResult, 1, true, 1)\
-+_(IsPackedArrayResult, 1, true, 2)\
-+_(IsCallableResult, 1, true, 4)\
-+_(IsConstructorResult, 1, true, 4)\
-+_(IsCrossRealmArrayConstructorResult, 1, true, 2)\
-+_(IsTypedArrayResult, 1 + 1, true, 5)\
-+_(IsTypedArrayConstructorResult, 1, true, 2)\
-+_(ArrayBufferViewByteOffsetInt32Result, 1, true, 1)\
-+_(ArrayBufferViewByteOffsetDoubleResult, 1, true, 1)\
-+_(TypedArrayByteLengthInt32Result, 1, true, 2)\
-+_(TypedArrayByteLengthDoubleResult, 1, true, 2)\
-+_(TypedArrayElementSizeResult, 1, true, 2)\
-+_(GuardHasAttachedArrayBuffer, 1, true, 2)\
-+_(FinishBoundFunctionInitResult, 1 + 1 + 1, true, 5)\
-+_(NewArrayIteratorResult, 1, true, 5)\
-+_(NewStringIteratorResult, 1, true, 5)\
-+_(NewRegExpStringIteratorResult, 1, true, 5)\
-+_(ObjectCreateResult, 1, true, 5)\
-+_(NewArrayFromLengthResult, 1 + 1, true, 5)\
-+_(NewTypedArrayFromLengthResult, 1 + 1, true, 5)\
-+_(NewTypedArrayFromArrayBufferResult, 1 + 1 + 1 + 1, true, 5)\
-+_(NewTypedArrayFromArrayResult, 1 + 1, true, 5)\
-+_(NewStringObjectResult, 1 + 1, true, 5)\
-+_(StringFromCharCodeResult, 1, true, 5)\
-+_(StringFromCodePointResult, 1, true, 5)\
-+_(StringToLowerCaseResult, 1, true, 5)\
-+_(StringToUpperCaseResult, 1, true, 5)\
-+_(MathAbsInt32Result, 1, true, 2)\
-+_(MathAbsNumberResult, 1, true, 1)\
-+_(MathClz32Result, 1, true, 1)\
-+_(MathSignInt32Result, 1, true, 1)\
-+_(MathSignNumberResult, 1, true, 2)\
-+_(MathSignNumberToInt32Result, 1, true, 2)\
-+_(MathImulResult, 1 + 1, true, 1)\
-+_(MathSqrtNumberResult, 1, true, 1)\
-+_(MathFRoundNumberResult, 1, true, 1)\
-+_(MathRandomResult, 1, true, 3)\
-+_(MathHypot2NumberResult, 1 + 1, true, 4)\
-+_(MathHypot3NumberResult, 1 + 1 + 1, true, 4)\
-+_(MathHypot4NumberResult, 1 + 1 + 1 + 1, true, 4)\
-+_(MathAtan2NumberResult, 1 + 1, true, 4)\
-+_(MathFloorNumberResult, 1, true, 4)\
-+_(MathCeilNumberResult, 1, true, 4)\
-+_(MathTruncNumberResult, 1, true, 4)\
-+_(MathFloorToInt32Result, 1, true, 3)\
-+_(MathCeilToInt32Result, 1, true, 1)\
-+_(MathTruncToInt32Result, 1, true, 4294967295)\
-+_(MathRoundToInt32Result, 1, true, 1)\
-+_(Int32MinMax, 1 + 1 + 1 + 1, true, 1)\
-+_(NumberMinMax, 1 + 1 + 1 + 1, true, 1)\
-+_(Int32MinMaxArrayResult, 1 + 1, true, 3)\
-+_(NumberMinMaxArrayResult, 1 + 1, true, 3)\
-+_(MathFunctionNumberResult, 1 + 1, true, 4)\
-+_(ObjectToStringResult, 1, true, 4)\
-+_(ReflectGetPrototypeOfResult, 1, true, 5)\
-+_(StoreTypedArrayElement, 1 + 1 + 1 + 1 + 1, true, 3)\
-+_(AtomicsCompareExchangeResult, 1 + 1 + 1 + 1 + 1, true, 4)\
-+_(AtomicsExchangeResult, 1 + 1 + 1 + 1, true, 4)\
-+_(AtomicsAddResult, 1 + 1 + 1 + 1 + 1, true, 4)\
-+_(AtomicsSubResult, 1 + 1 + 1 + 1 + 1, true, 4)\
-+_(AtomicsAndResult, 1 + 1 + 1 + 1 + 1, true, 4)\
-+_(AtomicsOrResult, 1 + 1 + 1 + 1 + 1, true, 4)\
-+_(AtomicsXorResult, 1 + 1 + 1 + 1 + 1, true, 4)\
-+_(AtomicsLoadResult, 1 + 1 + 1, true, 2)\
-+_(AtomicsStoreResult, 1 + 1 + 1 + 1, true, 2)\
-+_(AtomicsIsLockFreeResult, 1, true, 1)\
-+_(CallNativeSetter, 1 + 1 + 1 + 1 + 1, true, 5)\
-+_(CallScriptedSetter, 1 + 1 + 1 + 1 + 1, true, 3)\
-+_(CallInlinedSetter, 1 + 1 + 1 + 1 + 1 + 1, true, 3)\
-+_(CallDOMSetter, 1 + 1 + 1, true, 4)\
-+_(CallSetArrayLength, 1 + 1 + 1, true, 5)\
-+_(ProxySet, 1 + 1 + 1 + 1, true, 5)\
-+_(ProxySetByValue, 1 + 1 + 1 + 1, true, 5)\
-+_(CallAddOrUpdateSparseElementHelper, 1 + 1 + 1 + 1, true, 5)\
-+_(CallInt32ToString, 1 + 1, true, 4)\
-+_(CallNumberToString, 1 + 1, true, 4)\
-+_(BooleanToString, 1 + 1, true, 2)\
-+_(CallScriptedFunction, 1 + 1 + 1, true, 3)\
-+_(CallWasmFunction, 1 + 1 + 1 + 1 + 1, true, 3)\
-+_(GuardWasmArg, 1 + 1, true, 2)\
-+_(CallNativeFunction, 1 + 1 + 1 + 1, true, 4)\
-+_(CallDOMFunction, 1 + 1 + 1 + 1, true, 4)\
-+_(CallClassHook, 1 + 1 + 1 + 1, false, 4)\
-+_(CallInlinedFunction, 1 + 1 + 1 + 1, true, 4)\
-+_(MetaTwoByte, 1 + 1, true, 0)\
-+_(LoadFixedSlotResult, 1 + 1, true, 1)\
-+_(LoadFixedSlotTypedResult, 1 + 1 + 1, true, 1)\
-+_(LoadDynamicSlotResult, 1 + 1, true, 1)\
-+_(LoadDenseElementResult, 1 + 1, true, 2)\
-+_(LoadDenseElementHoleResult, 1 + 1, true, 2)\
-+_(CallGetSparseElementResult, 1 + 1, true, 5)\
-+_(LoadDenseElementExistsResult, 1 + 1, true, 1)\
-+_(LoadTypedArrayElementExistsResult, 1 + 1, true, 2)\
-+_(LoadDenseElementHoleExistsResult, 1 + 1, true, 2)\
-+_(LoadTypedArrayElementResult, 1 + 1 + 1 + 1 + 1, true, 4)\
-+_(LoadDataViewValueResult, 1 + 1 + 1 + 1 + 1, true, 4)\
-+_(StoreDataViewValueResult, 1 + 1 + 1 + 1 + 1, true, 4)\
-+_(LoadInt32ArrayLengthResult, 1, true, 1)\
-+_(LoadInt32ArrayLength, 1 + 1, true, 1)\
-+_(LoadArgumentsObjectArgResult, 1 + 1, true, 2)\
-+_(LoadArgumentsObjectLengthResult, 1, true, 1)\
-+_(LoadFunctionLengthResult, 1, true, 2)\
-+_(LoadFunctionNameResult, 1, true, 2)\
-+_(LoadArrayBufferByteLengthInt32Result, 1, true, 1)\
-+_(LoadArrayBufferByteLengthDoubleResult, 1, true, 1)\
-+_(LoadArrayBufferViewLengthInt32Result, 1, true, 1)\
-+_(LoadArrayBufferViewLengthDoubleResult, 1, true, 1)\
-+_(LoadStringCharResult, 1 + 1, true, 5)\
-+_(LoadStringCharCodeResult, 1 + 1, true, 3)\
-+_(LoadStringLengthResult, 1, true, 1)\
-+_(FrameIsConstructingResult, 0, true, 1)\
-+_(LoadEnvironmentFixedSlotResult, 1 + 1, true, 1)\
-+_(LoadEnvironmentDynamicSlotResult, 1 + 1, true, 1)\
-+_(LoadObjectResult, 1, true, 1)\
-+_(LoadStringResult, 1, true, 1)\
-+_(LoadSymbolResult, 1, true, 1)\
-+_(LoadInt32Result, 1, true, 1)\
-+_(LoadDoubleResult, 1, true, 2)\
-+_(LoadBigIntResult, 1, true, 1)\
-+_(CallScriptedGetterResult, 1 + 1 + 1 + 1, true, 5)\
-+_(CallInlinedGetterResult, 1 + 1 + 1 + 1 + 1, true, 5)\
-+_(CallNativeGetterResult, 1 + 1 + 1 + 1, true, 5)\
-+_(CallDOMGetterResult, 1 + 1, true, 4)\
-+_(ProxyGetResult, 1 + 1, true, 5)\
-+_(ProxyGetByValueResult, 1 + 1, true, 5)\
-+_(ProxyHasPropResult, 1 + 1 + 1, true, 5)\
-+_(CallObjectHasSparseElementResult, 1 + 1, true, 4)\
-+_(CallNativeGetElementResult, 1 + 1, true, 5)\
-+_(GetNextMapSetEntryForIteratorResult, 1 + 1 + 1, true, 4)\
-+_(LoadUndefinedResult, 0, true, 1)\
-+_(LoadBooleanResult, 1, true, 1)\
-+_(LoadInt32Constant, 1 + 1, true, 1)\
-+_(LoadBooleanConstant, 1 + 1, true, 1)\
-+_(LoadUndefined, 1, true, 1)\
-+_(LoadConstantString, 1 + 1, true, 1)\
-+_(LoadConstantStringResult, 1, true, 1)\
-+_(LoadInstanceOfObjectResult, 1 + 1, true, 3)\
-+_(LoadTypeOfObjectResult, 1, true, 4)\
-+_(DoubleAddResult, 1 + 1, true, 2)\
-+_(DoubleSubResult, 1 + 1, true, 2)\
-+_(DoubleMulResult, 1 + 1, true, 2)\
-+_(DoubleDivResult, 1 + 1, true, 2)\
-+_(DoubleModResult, 1 + 1, true, 4)\
-+_(DoublePowResult, 1 + 1, true, 4)\
-+_(Int32AddResult, 1 + 1, true, 1)\
-+_(Int32SubResult, 1 + 1, true, 1)\
-+_(Int32MulResult, 1 + 1, true, 2)\
-+_(Int32DivResult, 1 + 1, true, 2)\
-+_(Int32ModResult, 1 + 1, true, 2)\
-+_(Int32PowResult, 1 + 1, true, 1)\
-+_(BigIntAddResult, 1 + 1, true, 5)\
-+_(BigIntSubResult, 1 + 1, true, 5)\
-+_(BigIntMulResult, 1 + 1, true, 5)\
-+_(BigIntDivResult, 1 + 1, true, 5)\
-+_(BigIntModResult, 1 + 1, true, 5)\
-+_(BigIntPowResult, 1 + 1, true, 5)\
-+_(Int32BitOrResult, 1 + 1, true, 1)\
-+_(Int32BitXorResult, 1 + 1, true, 1)\
-+_(Int32BitAndResult, 1 + 1, true, 1)\
-+_(Int32LeftShiftResult, 1 + 1, true, 1)\
-+_(Int32RightShiftResult, 1 + 1, true, 1)\
-+_(Int32URightShiftResult, 1 + 1 + 1, true, 2)\
-+_(Int32NotResult, 1, true, 1)\
-+_(BigIntBitOrResult, 1 + 1, true, 5)\
-+_(BigIntBitXorResult, 1 + 1, true, 5)\
-+_(BigIntBitAndResult, 1 + 1, true, 5)\
-+_(BigIntLeftShiftResult, 1 + 1, true, 5)\
-+_(BigIntRightShiftResult, 1 + 1, true, 5)\
-+_(BigIntNotResult, 1, true, 5)\
-+_(Int32NegationResult, 1, true, 1)\
-+_(DoubleNegationResult, 1, true, 1)\
-+_(BigIntNegationResult, 1, true, 5)\
-+_(Int32IncResult, 1, true, 1)\
-+_(Int32DecResult, 1, true, 1)\
-+_(DoubleIncResult, 1, true, 1)\
-+_(DoubleDecResult, 1, true, 1)\
-+_(BigIntIncResult, 1, true, 5)\
-+_(BigIntDecResult, 1, true, 5)\
-+_(LoadInt32TruthyResult, 1, true, 2)\
-+_(LoadDoubleTruthyResult, 1, true, 2)\
-+_(LoadStringTruthyResult, 1, true, 2)\
-+_(LoadObjectTruthyResult, 1, true, 4)\
-+_(LoadBigIntTruthyResult, 1, true, 2)\
-+_(LoadValueTruthyResult, 1, true, 4)\
-+_(LoadValueResult, 1, false, 1)\
-+_(LoadOperandResult, 1, true, 1)\
-+_(NewPlainObjectResult, 4 + 4 + 1 + 1 + 1, true, 4)\
-+_(NewArrayObjectResult, 4 + 1 + 1, true, 4)\
-+_(CallStringConcatResult, 1 + 1, true, 5)\
-+_(CallStringObjectConcatResult, 1 + 1, false, 5)\
-+_(CallIsSuspendedGeneratorResult, 1, false, 2)\
-+_(CompareStringResult, 1 + 1 + 1, true, 5)\
-+_(CompareObjectResult, 1 + 1 + 1, true, 2)\
-+_(CompareSymbolResult, 1 + 1 + 1, true, 2)\
-+_(CompareInt32Result, 1 + 1 + 1, true, 2)\
-+_(CompareDoubleResult, 1 + 1 + 1, true, 2)\
-+_(CompareBigIntResult, 1 + 1 + 1, true, 4)\
-+_(CompareBigIntInt32Result, 1 + 1 + 1, true, 3)\
-+_(CompareBigIntNumberResult, 1 + 1 + 1, true, 4)\
-+_(CompareBigIntStringResult, 1 + 1 + 1, true, 5)\
-+_(CompareNullUndefinedResult, 1 + 1 + 1, true, 2)\
-+_(CompareDoubleSameValueResult, 1 + 1, true, 3)\
-+_(SameValueResult, 1 + 1, true, 4)\
-+_(IndirectTruncateInt32Result, 1, true, 1)\
-+_(BigIntAsIntNResult, 1 + 1, true, 5)\
-+_(BigIntAsUintNResult, 1 + 1, true, 5)\
-+_(CallPrintString, sizeof(uintptr_t), false, 1)\
-+_(Breakpoint, 0, false, 1)\
-+_(WrapResult, 0, false, 4)\
-+_(Bailout, 0, true, 0)\
-+_(AssertRecoveredOnBailoutResult, 1 + 1, true, 1)
-+
-+#define CACHE_IR_WRITER_GENERATED \
-+void returnFromIC() {\
-+ writeOp(CacheOp::ReturnFromIC);\
-+ assertLengthMatches();\
-+}\
-+private:\
-+void guardToObject_(ValOperandId input) {\
-+ writeOp(CacheOp::GuardToObject);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+void guardIsNullOrUndefined(ValOperandId input) {\
-+ writeOp(CacheOp::GuardIsNullOrUndefined);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void guardIsNull(ValOperandId input) {\
-+ writeOp(CacheOp::GuardIsNull);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void guardIsUndefined(ValOperandId input) {\
-+ writeOp(CacheOp::GuardIsUndefined);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+private:\
-+void guardToBoolean_(ValOperandId input) {\
-+ writeOp(CacheOp::GuardToBoolean);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void guardToString_(ValOperandId input) {\
-+ writeOp(CacheOp::GuardToString);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void guardToSymbol_(ValOperandId input) {\
-+ writeOp(CacheOp::GuardToSymbol);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void guardToBigInt_(ValOperandId input) {\
-+ writeOp(CacheOp::GuardToBigInt);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void guardIsNumber_(ValOperandId input) {\
-+ writeOp(CacheOp::GuardIsNumber);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void guardToInt32_(ValOperandId input) {\
-+ writeOp(CacheOp::GuardToInt32);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+Int32OperandId guardBooleanToInt32(ValOperandId input) {\
-+ writeOp(CacheOp::GuardBooleanToInt32);\
-+ writeOperandId(input);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+Int32OperandId guardToInt32Index(ValOperandId input) {\
-+ writeOp(CacheOp::GuardToInt32Index);\
-+ writeOperandId(input);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+IntPtrOperandId int32ToIntPtr(Int32OperandId input) {\
-+ writeOp(CacheOp::Int32ToIntPtr);\
-+ writeOperandId(input);\
-+ IntPtrOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+IntPtrOperandId guardNumberToIntPtrIndex(NumberOperandId input, bool supportOOB) {\
-+ writeOp(CacheOp::GuardNumberToIntPtrIndex);\
-+ writeOperandId(input);\
-+ writeBoolImm(supportOOB);\
-+ IntPtrOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+Int32OperandId guardToInt32ModUint32(ValOperandId input) {\
-+ writeOp(CacheOp::GuardToInt32ModUint32);\
-+ writeOperandId(input);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+Int32OperandId guardToUint8Clamped(ValOperandId input) {\
-+ writeOp(CacheOp::GuardToUint8Clamped);\
-+ writeOperandId(input);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+void guardNonDoubleType(ValOperandId input, ValueType type) {\
-+ writeOp(CacheOp::GuardNonDoubleType);\
-+ writeOperandId(input);\
-+ writeValueTypeImm(type);\
-+ assertLengthMatches();\
-+}\
-+void guardShape(ObjOperandId obj, Shape* shape) {\
-+ writeOp(CacheOp::GuardShape);\
-+ writeOperandId(obj);\
-+ writeShapeField(shape);\
-+ assertLengthMatches();\
-+}\
-+void guardProto(ObjOperandId obj, JSObject* proto) {\
-+ writeOp(CacheOp::GuardProto);\
-+ writeOperandId(obj);\
-+ writeObjectField(proto);\
-+ assertLengthMatches();\
-+}\
-+void guardNullProto(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardNullProto);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardClass(ObjOperandId obj, GuardClassKind kind) {\
-+ writeOp(CacheOp::GuardClass);\
-+ writeOperandId(obj);\
-+ writeGuardClassKindImm(kind);\
-+ assertLengthMatches();\
-+}\
-+void guardAnyClass(ObjOperandId obj, const void* clasp) {\
-+ writeOp(CacheOp::GuardAnyClass);\
-+ writeOperandId(obj);\
-+ writeRawPointerField(clasp);\
-+ assertLengthMatches();\
-+}\
-+void hasClassResult(ObjOperandId obj, const void* clasp) {\
-+ writeOp(CacheOp::HasClassResult);\
-+ writeOperandId(obj);\
-+ writeRawPointerField(clasp);\
-+ assertLengthMatches();\
-+}\
-+void callRegExpMatcherResult(ObjOperandId regexp, StringOperandId input, Int32OperandId lastIndex) {\
-+ writeOp(CacheOp::CallRegExpMatcherResult);\
-+ writeOperandId(regexp);\
-+ writeOperandId(input);\
-+ writeOperandId(lastIndex);\
-+ assertLengthMatches();\
-+}\
-+void callRegExpSearcherResult(ObjOperandId regexp, StringOperandId input, Int32OperandId lastIndex) {\
-+ writeOp(CacheOp::CallRegExpSearcherResult);\
-+ writeOperandId(regexp);\
-+ writeOperandId(input);\
-+ writeOperandId(lastIndex);\
-+ assertLengthMatches();\
-+}\
-+void callRegExpTesterResult(ObjOperandId regexp, StringOperandId input, Int32OperandId lastIndex) {\
-+ writeOp(CacheOp::CallRegExpTesterResult);\
-+ writeOperandId(regexp);\
-+ writeOperandId(input);\
-+ writeOperandId(lastIndex);\
-+ assertLengthMatches();\
-+}\
-+void regExpFlagResult(ObjOperandId regexp, int32_t flagsMask) {\
-+ writeOp(CacheOp::RegExpFlagResult);\
-+ writeOperandId(regexp);\
-+ writeInt32Imm(flagsMask);\
-+ assertLengthMatches();\
-+}\
-+void callSubstringKernelResult(StringOperandId str, Int32OperandId begin, Int32OperandId length) {\
-+ writeOp(CacheOp::CallSubstringKernelResult);\
-+ writeOperandId(str);\
-+ writeOperandId(begin);\
-+ writeOperandId(length);\
-+ assertLengthMatches();\
-+}\
-+void stringReplaceStringResult(StringOperandId str, StringOperandId pattern, StringOperandId replacement) {\
-+ writeOp(CacheOp::StringReplaceStringResult);\
-+ writeOperandId(str);\
-+ writeOperandId(pattern);\
-+ writeOperandId(replacement);\
-+ assertLengthMatches();\
-+}\
-+void stringSplitStringResult(StringOperandId str, StringOperandId separator) {\
-+ writeOp(CacheOp::StringSplitStringResult);\
-+ writeOperandId(str);\
-+ writeOperandId(separator);\
-+ assertLengthMatches();\
-+}\
-+void regExpPrototypeOptimizableResult(ObjOperandId proto) {\
-+ writeOp(CacheOp::RegExpPrototypeOptimizableResult);\
-+ writeOperandId(proto);\
-+ assertLengthMatches();\
-+}\
-+void regExpInstanceOptimizableResult(ObjOperandId regexp, ObjOperandId proto) {\
-+ writeOp(CacheOp::RegExpInstanceOptimizableResult);\
-+ writeOperandId(regexp);\
-+ writeOperandId(proto);\
-+ assertLengthMatches();\
-+}\
-+void getFirstDollarIndexResult(StringOperandId str) {\
-+ writeOp(CacheOp::GetFirstDollarIndexResult);\
-+ writeOperandId(str);\
-+ assertLengthMatches();\
-+}\
-+void guardCompartment(ObjOperandId obj, JSObject* global, const void* compartment) {\
-+ writeOp(CacheOp::GuardCompartment);\
-+ writeOperandId(obj);\
-+ writeObjectField(global);\
-+ writeRawPointerField(compartment);\
-+ assertLengthMatches();\
-+}\
-+void guardIsExtensible(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardIsExtensible);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardIsNativeObject(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardIsNativeObject);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardIsProxy(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardIsProxy);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardIsNotProxy(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardIsNotProxy);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardIsNotArrayBufferMaybeShared(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardIsNotArrayBufferMaybeShared);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardIsTypedArray(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardIsTypedArray);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardHasProxyHandler(ObjOperandId obj, const void* handler) {\
-+ writeOp(CacheOp::GuardHasProxyHandler);\
-+ writeOperandId(obj);\
-+ writeRawPointerField(handler);\
-+ assertLengthMatches();\
-+}\
-+void guardIsNotDOMProxy(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardIsNotDOMProxy);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardSpecificObject(ObjOperandId obj, JSObject* expected) {\
-+ writeOp(CacheOp::GuardSpecificObject);\
-+ writeOperandId(obj);\
-+ writeObjectField(expected);\
-+ assertLengthMatches();\
-+}\
-+private:\
-+void guardSpecificFunction_(ObjOperandId fun, JSObject* expected, uint32_t nargsAndFlags) {\
-+ writeOp(CacheOp::GuardSpecificFunction);\
-+ writeOperandId(fun);\
-+ writeObjectField(expected);\
-+ writeRawInt32Field(nargsAndFlags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void guardFunctionScript_(ObjOperandId obj, BaseScript* expected, uint32_t nargsAndFlags) {\
-+ writeOp(CacheOp::GuardFunctionScript);\
-+ writeOperandId(obj);\
-+ writeBaseScriptField(expected);\
-+ writeRawInt32Field(nargsAndFlags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+void guardSpecificAtom(StringOperandId str, JSAtom* expected) {\
-+ writeOp(CacheOp::GuardSpecificAtom);\
-+ writeOperandId(str);\
-+ writeStringField(expected);\
-+ assertLengthMatches();\
-+}\
-+void guardSpecificSymbol(SymbolOperandId sym, JS::Symbol* expected) {\
-+ writeOp(CacheOp::GuardSpecificSymbol);\
-+ writeOperandId(sym);\
-+ writeSymbolField(expected);\
-+ assertLengthMatches();\
-+}\
-+void guardNoDenseElements(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardNoDenseElements);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+Int32OperandId guardStringToIndex(StringOperandId str) {\
-+ writeOp(CacheOp::GuardStringToIndex);\
-+ writeOperandId(str);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+Int32OperandId guardStringToInt32(StringOperandId str) {\
-+ writeOp(CacheOp::GuardStringToInt32);\
-+ writeOperandId(str);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+NumberOperandId guardStringToNumber(StringOperandId str) {\
-+ writeOp(CacheOp::GuardStringToNumber);\
-+ writeOperandId(str);\
-+ NumberOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+NumberOperandId booleanToNumber(BooleanOperandId boolean) {\
-+ writeOp(CacheOp::BooleanToNumber);\
-+ writeOperandId(boolean);\
-+ NumberOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+ObjOperandId guardAndGetIterator(ObjOperandId obj, JSObject* iter, const void* enumeratorsAddr) {\
-+ writeOp(CacheOp::GuardAndGetIterator);\
-+ writeOperandId(obj);\
-+ writeObjectField(iter);\
-+ writeRawPointerField(enumeratorsAddr);\
-+ ObjOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+void guardHasGetterSetter(ObjOperandId obj, jsid id, GetterSetter* getterSetter) {\
-+ writeOp(CacheOp::GuardHasGetterSetter);\
-+ writeOperandId(obj);\
-+ writeIdField(id);\
-+ writeGetterSetterField(getterSetter);\
-+ assertLengthMatches();\
-+}\
-+void guardInt32IsNonNegative(Int32OperandId index) {\
-+ writeOp(CacheOp::GuardInt32IsNonNegative);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void guardIndexIsValidUpdateOrAdd(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::GuardIndexIsValidUpdateOrAdd);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void guardIndexGreaterThanDenseInitLength(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::GuardIndexGreaterThanDenseInitLength);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void guardTagNotEqual(ValueTagOperandId lhs, ValueTagOperandId rhs) {\
-+ writeOp(CacheOp::GuardTagNotEqual);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void guardXrayExpandoShapeAndDefaultProto(ObjOperandId obj, JSObject* shapeWrapper) {\
-+ writeOp(CacheOp::GuardXrayExpandoShapeAndDefaultProto);\
-+ writeOperandId(obj);\
-+ writeObjectField(shapeWrapper);\
-+ assertLengthMatches();\
-+}\
-+void guardXrayNoExpando(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardXrayNoExpando);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardDynamicSlotIsSpecificObject(ObjOperandId obj, ObjOperandId expected, uint32_t slot) {\
-+ writeOp(CacheOp::GuardDynamicSlotIsSpecificObject);\
-+ writeOperandId(obj);\
-+ writeOperandId(expected);\
-+ writeRawInt32Field(slot);\
-+ assertLengthMatches();\
-+}\
-+void guardFixedSlotValue(ObjOperandId obj, uint32_t offset, const Value& val) {\
-+ writeOp(CacheOp::GuardFixedSlotValue);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ writeValueField(val);\
-+ assertLengthMatches();\
-+}\
-+void guardDynamicSlotValue(ObjOperandId obj, uint32_t offset, const Value& val) {\
-+ writeOp(CacheOp::GuardDynamicSlotValue);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ writeValueField(val);\
-+ assertLengthMatches();\
-+}\
-+void guardNoAllocationMetadataBuilder(const void* builderAddr) {\
-+ writeOp(CacheOp::GuardNoAllocationMetadataBuilder);\
-+ writeRawPointerField(builderAddr);\
-+ assertLengthMatches();\
-+}\
-+void guardFunctionHasJitEntry(ObjOperandId fun, bool constructing) {\
-+ writeOp(CacheOp::GuardFunctionHasJitEntry);\
-+ writeOperandId(fun);\
-+ writeBoolImm(constructing);\
-+ assertLengthMatches();\
-+}\
-+void guardFunctionHasNoJitEntry(ObjOperandId fun) {\
-+ writeOp(CacheOp::GuardFunctionHasNoJitEntry);\
-+ writeOperandId(fun);\
-+ assertLengthMatches();\
-+}\
-+void guardFunctionIsNonBuiltinCtor(ObjOperandId fun) {\
-+ writeOp(CacheOp::GuardFunctionIsNonBuiltinCtor);\
-+ writeOperandId(fun);\
-+ assertLengthMatches();\
-+}\
-+void guardFunctionIsConstructor(ObjOperandId fun) {\
-+ writeOp(CacheOp::GuardFunctionIsConstructor);\
-+ writeOperandId(fun);\
-+ assertLengthMatches();\
-+}\
-+void guardNotClassConstructor(ObjOperandId fun) {\
-+ writeOp(CacheOp::GuardNotClassConstructor);\
-+ writeOperandId(fun);\
-+ assertLengthMatches();\
-+}\
-+void guardArrayIsPacked(ObjOperandId array) {\
-+ writeOp(CacheOp::GuardArrayIsPacked);\
-+ writeOperandId(array);\
-+ assertLengthMatches();\
-+}\
-+void guardArgumentsObjectFlags(ObjOperandId obj, uint32_t flags) {\
-+ writeOp(CacheOp::GuardArgumentsObjectFlags);\
-+ writeOperandId(obj);\
-+ writeByteImm(flags);\
-+ assertLengthMatches();\
-+}\
-+ObjOperandId loadObject(JSObject* obj) {\
-+ writeOp(CacheOp::LoadObject);\
-+ ObjOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ writeObjectField(obj);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+ObjOperandId loadProto(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadProto);\
-+ writeOperandId(obj);\
-+ ObjOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+ObjOperandId loadEnclosingEnvironment(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadEnclosingEnvironment);\
-+ writeOperandId(obj);\
-+ ObjOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+ObjOperandId loadWrapperTarget(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadWrapperTarget);\
-+ writeOperandId(obj);\
-+ ObjOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+ValueTagOperandId loadValueTag(ValOperandId val) {\
-+ writeOp(CacheOp::LoadValueTag);\
-+ writeOperandId(val);\
-+ ValueTagOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+private:\
-+ValOperandId loadArgumentFixedSlot_(uint32_t slotIndex) {\
-+ writeOp(CacheOp::LoadArgumentFixedSlot);\
-+ ValOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ writeByteImm(slotIndex);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+public:\
-+private:\
-+ValOperandId loadArgumentDynamicSlot_(Int32OperandId argc, uint32_t slotIndex) {\
-+ writeOp(CacheOp::LoadArgumentDynamicSlot);\
-+ ValOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ writeOperandId(argc);\
-+ writeByteImm(slotIndex);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+public:\
-+Int32OperandId truncateDoubleToUInt32(NumberOperandId input) {\
-+ writeOp(CacheOp::TruncateDoubleToUInt32);\
-+ writeOperandId(input);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+void megamorphicLoadSlotResult(ObjOperandId obj, PropertyName* name) {\
-+ writeOp(CacheOp::MegamorphicLoadSlotResult);\
-+ writeOperandId(obj);\
-+ writeStringField(name);\
-+ assertLengthMatches();\
-+}\
-+void megamorphicLoadSlotByValueResult(ObjOperandId obj, ValOperandId id) {\
-+ writeOp(CacheOp::MegamorphicLoadSlotByValueResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(id);\
-+ assertLengthMatches();\
-+}\
-+void megamorphicStoreSlot(ObjOperandId obj, PropertyName* name, ValOperandId rhs) {\
-+ writeOp(CacheOp::MegamorphicStoreSlot);\
-+ writeOperandId(obj);\
-+ writeStringField(name);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void megamorphicSetElement(ObjOperandId obj, ValOperandId id, ValOperandId rhs, bool strict) {\
-+ writeOp(CacheOp::MegamorphicSetElement);\
-+ writeOperandId(obj);\
-+ writeOperandId(id);\
-+ writeOperandId(rhs);\
-+ writeBoolImm(strict);\
-+ assertLengthMatches();\
-+}\
-+void megamorphicHasPropResult(ObjOperandId obj, ValOperandId id, bool hasOwn) {\
-+ writeOp(CacheOp::MegamorphicHasPropResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(id);\
-+ writeBoolImm(hasOwn);\
-+ assertLengthMatches();\
-+}\
-+ValOperandId loadDOMExpandoValue(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadDOMExpandoValue);\
-+ writeOperandId(obj);\
-+ ValOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+ValOperandId loadDOMExpandoValueGuardGeneration(ObjOperandId obj, const void* expandoAndGeneration, uint64_t generation) {\
-+ writeOp(CacheOp::LoadDOMExpandoValueGuardGeneration);\
-+ writeOperandId(obj);\
-+ writeRawPointerField(expandoAndGeneration);\
-+ writeRawInt64Field(generation);\
-+ ValOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+ValOperandId loadDOMExpandoValueIgnoreGeneration(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadDOMExpandoValueIgnoreGeneration);\
-+ writeOperandId(obj);\
-+ ValOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+void guardDOMExpandoMissingOrGuardShape(ValOperandId expando, Shape* shape) {\
-+ writeOp(CacheOp::GuardDOMExpandoMissingOrGuardShape);\
-+ writeOperandId(expando);\
-+ writeShapeField(shape);\
-+ assertLengthMatches();\
-+}\
-+void storeFixedSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs) {\
-+ writeOp(CacheOp::StoreFixedSlot);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void storeDynamicSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs) {\
-+ writeOp(CacheOp::StoreDynamicSlot);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void addAndStoreFixedSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs, Shape* newShape) {\
-+ writeOp(CacheOp::AddAndStoreFixedSlot);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ writeOperandId(rhs);\
-+ writeShapeField(newShape);\
-+ assertLengthMatches();\
-+}\
-+void addAndStoreDynamicSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs, Shape* newShape) {\
-+ writeOp(CacheOp::AddAndStoreDynamicSlot);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ writeOperandId(rhs);\
-+ writeShapeField(newShape);\
-+ assertLengthMatches();\
-+}\
-+void allocateAndStoreDynamicSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs, Shape* newShape, uint32_t numNewSlots) {\
-+ writeOp(CacheOp::AllocateAndStoreDynamicSlot);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ writeOperandId(rhs);\
-+ writeShapeField(newShape);\
-+ writeRawInt32Field(numNewSlots);\
-+ assertLengthMatches();\
-+}\
-+void storeDenseElement(ObjOperandId obj, Int32OperandId index, ValOperandId rhs) {\
-+ writeOp(CacheOp::StoreDenseElement);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void storeDenseElementHole(ObjOperandId obj, Int32OperandId index, ValOperandId rhs, bool handleAdd) {\
-+ writeOp(CacheOp::StoreDenseElementHole);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(rhs);\
-+ writeBoolImm(handleAdd);\
-+ assertLengthMatches();\
-+}\
-+void arrayPush(ObjOperandId obj, ValOperandId rhs) {\
-+ writeOp(CacheOp::ArrayPush);\
-+ writeOperandId(obj);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void arrayJoinResult(ObjOperandId obj, StringOperandId sep) {\
-+ writeOp(CacheOp::ArrayJoinResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(sep);\
-+ assertLengthMatches();\
-+}\
-+void packedArrayPopResult(ObjOperandId array) {\
-+ writeOp(CacheOp::PackedArrayPopResult);\
-+ writeOperandId(array);\
-+ assertLengthMatches();\
-+}\
-+void packedArrayShiftResult(ObjOperandId array) {\
-+ writeOp(CacheOp::PackedArrayShiftResult);\
-+ writeOperandId(array);\
-+ assertLengthMatches();\
-+}\
-+void packedArraySliceResult(JSObject* templateObject, ObjOperandId array, Int32OperandId begin, Int32OperandId end) {\
-+ writeOp(CacheOp::PackedArraySliceResult);\
-+ writeObjectField(templateObject);\
-+ writeOperandId(array);\
-+ writeOperandId(begin);\
-+ writeOperandId(end);\
-+ assertLengthMatches();\
-+}\
-+void isArrayResult(ValOperandId input) {\
-+ writeOp(CacheOp::IsArrayResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void storeFixedSlotUndefinedResult(ObjOperandId obj, uint32_t offset, ValOperandId rhs) {\
-+ writeOp(CacheOp::StoreFixedSlotUndefinedResult);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void isObjectResult(ValOperandId input) {\
-+ writeOp(CacheOp::IsObjectResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void isPackedArrayResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::IsPackedArrayResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void isCallableResult(ValOperandId input) {\
-+ writeOp(CacheOp::IsCallableResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void isConstructorResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::IsConstructorResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void isCrossRealmArrayConstructorResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::IsCrossRealmArrayConstructorResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void isTypedArrayResult(ObjOperandId obj, bool isPossiblyWrapped) {\
-+ writeOp(CacheOp::IsTypedArrayResult);\
-+ writeOperandId(obj);\
-+ writeBoolImm(isPossiblyWrapped);\
-+ assertLengthMatches();\
-+}\
-+void isTypedArrayConstructorResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::IsTypedArrayConstructorResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void arrayBufferViewByteOffsetInt32Result(ObjOperandId obj) {\
-+ writeOp(CacheOp::ArrayBufferViewByteOffsetInt32Result);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void arrayBufferViewByteOffsetDoubleResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::ArrayBufferViewByteOffsetDoubleResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void typedArrayByteLengthInt32Result(ObjOperandId obj) {\
-+ writeOp(CacheOp::TypedArrayByteLengthInt32Result);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void typedArrayByteLengthDoubleResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::TypedArrayByteLengthDoubleResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void typedArrayElementSizeResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::TypedArrayElementSizeResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void guardHasAttachedArrayBuffer(ObjOperandId obj) {\
-+ writeOp(CacheOp::GuardHasAttachedArrayBuffer);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void finishBoundFunctionInitResult(ObjOperandId bound, ObjOperandId target, Int32OperandId argCount) {\
-+ writeOp(CacheOp::FinishBoundFunctionInitResult);\
-+ writeOperandId(bound);\
-+ writeOperandId(target);\
-+ writeOperandId(argCount);\
-+ assertLengthMatches();\
-+}\
-+void newArrayIteratorResult(JSObject* templateObject) {\
-+ writeOp(CacheOp::NewArrayIteratorResult);\
-+ writeObjectField(templateObject);\
-+ assertLengthMatches();\
-+}\
-+void newStringIteratorResult(JSObject* templateObject) {\
-+ writeOp(CacheOp::NewStringIteratorResult);\
-+ writeObjectField(templateObject);\
-+ assertLengthMatches();\
-+}\
-+void newRegExpStringIteratorResult(JSObject* templateObject) {\
-+ writeOp(CacheOp::NewRegExpStringIteratorResult);\
-+ writeObjectField(templateObject);\
-+ assertLengthMatches();\
-+}\
-+void objectCreateResult(JSObject* templateObject) {\
-+ writeOp(CacheOp::ObjectCreateResult);\
-+ writeObjectField(templateObject);\
-+ assertLengthMatches();\
-+}\
-+void newArrayFromLengthResult(JSObject* templateObject, Int32OperandId length) {\
-+ writeOp(CacheOp::NewArrayFromLengthResult);\
-+ writeObjectField(templateObject);\
-+ writeOperandId(length);\
-+ assertLengthMatches();\
-+}\
-+void newTypedArrayFromLengthResult(JSObject* templateObject, Int32OperandId length) {\
-+ writeOp(CacheOp::NewTypedArrayFromLengthResult);\
-+ writeObjectField(templateObject);\
-+ writeOperandId(length);\
-+ assertLengthMatches();\
-+}\
-+void newTypedArrayFromArrayBufferResult(JSObject* templateObject, ObjOperandId buffer, ValOperandId byteOffset, ValOperandId length) {\
-+ writeOp(CacheOp::NewTypedArrayFromArrayBufferResult);\
-+ writeObjectField(templateObject);\
-+ writeOperandId(buffer);\
-+ writeOperandId(byteOffset);\
-+ writeOperandId(length);\
-+ assertLengthMatches();\
-+}\
-+void newTypedArrayFromArrayResult(JSObject* templateObject, ObjOperandId array) {\
-+ writeOp(CacheOp::NewTypedArrayFromArrayResult);\
-+ writeObjectField(templateObject);\
-+ writeOperandId(array);\
-+ assertLengthMatches();\
-+}\
-+void newStringObjectResult(JSObject* templateObject, StringOperandId str) {\
-+ writeOp(CacheOp::NewStringObjectResult);\
-+ writeObjectField(templateObject);\
-+ writeOperandId(str);\
-+ assertLengthMatches();\
-+}\
-+void stringFromCharCodeResult(Int32OperandId code) {\
-+ writeOp(CacheOp::StringFromCharCodeResult);\
-+ writeOperandId(code);\
-+ assertLengthMatches();\
-+}\
-+void stringFromCodePointResult(Int32OperandId code) {\
-+ writeOp(CacheOp::StringFromCodePointResult);\
-+ writeOperandId(code);\
-+ assertLengthMatches();\
-+}\
-+void stringToLowerCaseResult(StringOperandId str) {\
-+ writeOp(CacheOp::StringToLowerCaseResult);\
-+ writeOperandId(str);\
-+ assertLengthMatches();\
-+}\
-+void stringToUpperCaseResult(StringOperandId str) {\
-+ writeOp(CacheOp::StringToUpperCaseResult);\
-+ writeOperandId(str);\
-+ assertLengthMatches();\
-+}\
-+void mathAbsInt32Result(Int32OperandId input) {\
-+ writeOp(CacheOp::MathAbsInt32Result);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathAbsNumberResult(NumberOperandId input) {\
-+ writeOp(CacheOp::MathAbsNumberResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathClz32Result(Int32OperandId input) {\
-+ writeOp(CacheOp::MathClz32Result);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathSignInt32Result(Int32OperandId input) {\
-+ writeOp(CacheOp::MathSignInt32Result);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathSignNumberResult(NumberOperandId input) {\
-+ writeOp(CacheOp::MathSignNumberResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathSignNumberToInt32Result(NumberOperandId input) {\
-+ writeOp(CacheOp::MathSignNumberToInt32Result);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathImulResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::MathImulResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void mathSqrtNumberResult(NumberOperandId input) {\
-+ writeOp(CacheOp::MathSqrtNumberResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathFRoundNumberResult(NumberOperandId input) {\
-+ writeOp(CacheOp::MathFRoundNumberResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathRandomResult(const void* rng) {\
-+ writeOp(CacheOp::MathRandomResult);\
-+ writeRawPointerField(rng);\
-+ assertLengthMatches();\
-+}\
-+void mathHypot2NumberResult(NumberOperandId first, NumberOperandId second) {\
-+ writeOp(CacheOp::MathHypot2NumberResult);\
-+ writeOperandId(first);\
-+ writeOperandId(second);\
-+ assertLengthMatches();\
-+}\
-+void mathHypot3NumberResult(NumberOperandId first, NumberOperandId second, NumberOperandId third) {\
-+ writeOp(CacheOp::MathHypot3NumberResult);\
-+ writeOperandId(first);\
-+ writeOperandId(second);\
-+ writeOperandId(third);\
-+ assertLengthMatches();\
-+}\
-+void mathHypot4NumberResult(NumberOperandId first, NumberOperandId second, NumberOperandId third, NumberOperandId fourth) {\
-+ writeOp(CacheOp::MathHypot4NumberResult);\
-+ writeOperandId(first);\
-+ writeOperandId(second);\
-+ writeOperandId(third);\
-+ writeOperandId(fourth);\
-+ assertLengthMatches();\
-+}\
-+void mathAtan2NumberResult(NumberOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::MathAtan2NumberResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void mathFloorNumberResult(NumberOperandId input) {\
-+ writeOp(CacheOp::MathFloorNumberResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathCeilNumberResult(NumberOperandId input) {\
-+ writeOp(CacheOp::MathCeilNumberResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathTruncNumberResult(NumberOperandId input) {\
-+ writeOp(CacheOp::MathTruncNumberResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathFloorToInt32Result(NumberOperandId input) {\
-+ writeOp(CacheOp::MathFloorToInt32Result);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathCeilToInt32Result(NumberOperandId input) {\
-+ writeOp(CacheOp::MathCeilToInt32Result);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathTruncToInt32Result(NumberOperandId input) {\
-+ writeOp(CacheOp::MathTruncToInt32Result);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void mathRoundToInt32Result(NumberOperandId input) {\
-+ writeOp(CacheOp::MathRoundToInt32Result);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+Int32OperandId int32MinMax(bool isMax, Int32OperandId first, Int32OperandId second) {\
-+ writeOp(CacheOp::Int32MinMax);\
-+ writeBoolImm(isMax);\
-+ writeOperandId(first);\
-+ writeOperandId(second);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+NumberOperandId numberMinMax(bool isMax, NumberOperandId first, NumberOperandId second) {\
-+ writeOp(CacheOp::NumberMinMax);\
-+ writeBoolImm(isMax);\
-+ writeOperandId(first);\
-+ writeOperandId(second);\
-+ NumberOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+void int32MinMaxArrayResult(ObjOperandId array, bool isMax) {\
-+ writeOp(CacheOp::Int32MinMaxArrayResult);\
-+ writeOperandId(array);\
-+ writeBoolImm(isMax);\
-+ assertLengthMatches();\
-+}\
-+void numberMinMaxArrayResult(ObjOperandId array, bool isMax) {\
-+ writeOp(CacheOp::NumberMinMaxArrayResult);\
-+ writeOperandId(array);\
-+ writeBoolImm(isMax);\
-+ assertLengthMatches();\
-+}\
-+void mathFunctionNumberResult(NumberOperandId input, UnaryMathFunction fun) {\
-+ writeOp(CacheOp::MathFunctionNumberResult);\
-+ writeOperandId(input);\
-+ writeUnaryMathFunctionImm(fun);\
-+ assertLengthMatches();\
-+}\
-+void objectToStringResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::ObjectToStringResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void reflectGetPrototypeOfResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::ReflectGetPrototypeOfResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void storeTypedArrayElement(ObjOperandId obj, Scalar::Type elementType, IntPtrOperandId index, OperandId rhs, bool handleOOB) {\
-+ writeOp(CacheOp::StoreTypedArrayElement);\
-+ writeOperandId(obj);\
-+ writeScalarTypeImm(elementType);\
-+ writeOperandId(index);\
-+ writeOperandId(rhs);\
-+ writeBoolImm(handleOOB);\
-+ assertLengthMatches();\
-+}\
-+void atomicsCompareExchangeResult(ObjOperandId obj, IntPtrOperandId index, OperandId expected, OperandId replacement, Scalar::Type elementType) {\
-+ writeOp(CacheOp::AtomicsCompareExchangeResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(expected);\
-+ writeOperandId(replacement);\
-+ writeScalarTypeImm(elementType);\
-+ assertLengthMatches();\
-+}\
-+void atomicsExchangeResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType) {\
-+ writeOp(CacheOp::AtomicsExchangeResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(value);\
-+ writeScalarTypeImm(elementType);\
-+ assertLengthMatches();\
-+}\
-+void atomicsAddResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
-+ writeOp(CacheOp::AtomicsAddResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(value);\
-+ writeScalarTypeImm(elementType);\
-+ writeBoolImm(forEffect);\
-+ assertLengthMatches();\
-+}\
-+void atomicsSubResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
-+ writeOp(CacheOp::AtomicsSubResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(value);\
-+ writeScalarTypeImm(elementType);\
-+ writeBoolImm(forEffect);\
-+ assertLengthMatches();\
-+}\
-+void atomicsAndResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
-+ writeOp(CacheOp::AtomicsAndResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(value);\
-+ writeScalarTypeImm(elementType);\
-+ writeBoolImm(forEffect);\
-+ assertLengthMatches();\
-+}\
-+void atomicsOrResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
-+ writeOp(CacheOp::AtomicsOrResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(value);\
-+ writeScalarTypeImm(elementType);\
-+ writeBoolImm(forEffect);\
-+ assertLengthMatches();\
-+}\
-+void atomicsXorResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
-+ writeOp(CacheOp::AtomicsXorResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(value);\
-+ writeScalarTypeImm(elementType);\
-+ writeBoolImm(forEffect);\
-+ assertLengthMatches();\
-+}\
-+void atomicsLoadResult(ObjOperandId obj, IntPtrOperandId index, Scalar::Type elementType) {\
-+ writeOp(CacheOp::AtomicsLoadResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeScalarTypeImm(elementType);\
-+ assertLengthMatches();\
-+}\
-+void atomicsStoreResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType) {\
-+ writeOp(CacheOp::AtomicsStoreResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeOperandId(value);\
-+ writeScalarTypeImm(elementType);\
-+ assertLengthMatches();\
-+}\
-+void atomicsIsLockFreeResult(Int32OperandId value) {\
-+ writeOp(CacheOp::AtomicsIsLockFreeResult);\
-+ writeOperandId(value);\
-+ assertLengthMatches();\
-+}\
-+private:\
-+void callNativeSetter_(ObjOperandId receiver, JSObject* setter, ValOperandId rhs, bool sameRealm, uint32_t nargsAndFlags) {\
-+ writeOp(CacheOp::CallNativeSetter);\
-+ writeOperandId(receiver);\
-+ writeObjectField(setter);\
-+ writeOperandId(rhs);\
-+ writeBoolImm(sameRealm);\
-+ writeRawInt32Field(nargsAndFlags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void callScriptedSetter_(ObjOperandId receiver, JSObject* setter, ValOperandId rhs, bool sameRealm, uint32_t nargsAndFlags) {\
-+ writeOp(CacheOp::CallScriptedSetter);\
-+ writeOperandId(receiver);\
-+ writeObjectField(setter);\
-+ writeOperandId(rhs);\
-+ writeBoolImm(sameRealm);\
-+ writeRawInt32Field(nargsAndFlags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void callInlinedSetter_(ObjOperandId receiver, JSObject* setter, ValOperandId rhs, const void* icScript, bool sameRealm, uint32_t nargsAndFlags) {\
-+ writeOp(CacheOp::CallInlinedSetter);\
-+ writeOperandId(receiver);\
-+ writeObjectField(setter);\
-+ writeOperandId(rhs);\
-+ writeRawPointerField(icScript);\
-+ writeBoolImm(sameRealm);\
-+ writeRawInt32Field(nargsAndFlags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+void callDOMSetter(ObjOperandId obj, const void* jitInfo, ValOperandId rhs) {\
-+ writeOp(CacheOp::CallDOMSetter);\
-+ writeOperandId(obj);\
-+ writeRawPointerField(jitInfo);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void callSetArrayLength(ObjOperandId obj, bool strict, ValOperandId rhs) {\
-+ writeOp(CacheOp::CallSetArrayLength);\
-+ writeOperandId(obj);\
-+ writeBoolImm(strict);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void proxySet(ObjOperandId obj, jsid id, ValOperandId rhs, bool strict) {\
-+ writeOp(CacheOp::ProxySet);\
-+ writeOperandId(obj);\
-+ writeIdField(id);\
-+ writeOperandId(rhs);\
-+ writeBoolImm(strict);\
-+ assertLengthMatches();\
-+}\
-+void proxySetByValue(ObjOperandId obj, ValOperandId id, ValOperandId rhs, bool strict) {\
-+ writeOp(CacheOp::ProxySetByValue);\
-+ writeOperandId(obj);\
-+ writeOperandId(id);\
-+ writeOperandId(rhs);\
-+ writeBoolImm(strict);\
-+ assertLengthMatches();\
-+}\
-+void callAddOrUpdateSparseElementHelper(ObjOperandId obj, Int32OperandId id, ValOperandId rhs, bool strict) {\
-+ writeOp(CacheOp::CallAddOrUpdateSparseElementHelper);\
-+ writeOperandId(obj);\
-+ writeOperandId(id);\
-+ writeOperandId(rhs);\
-+ writeBoolImm(strict);\
-+ assertLengthMatches();\
-+}\
-+StringOperandId callInt32ToString(Int32OperandId input) {\
-+ writeOp(CacheOp::CallInt32ToString);\
-+ writeOperandId(input);\
-+ StringOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+StringOperandId callNumberToString(NumberOperandId input) {\
-+ writeOp(CacheOp::CallNumberToString);\
-+ writeOperandId(input);\
-+ StringOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+StringOperandId booleanToString(BooleanOperandId input) {\
-+ writeOp(CacheOp::BooleanToString);\
-+ writeOperandId(input);\
-+ StringOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+private:\
-+void callScriptedFunction_(ObjOperandId callee, Int32OperandId argc, CallFlags flags) {\
-+ writeOp(CacheOp::CallScriptedFunction);\
-+ writeOperandId(callee);\
-+ writeOperandId(argc);\
-+ writeCallFlagsImm(flags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+void callWasmFunction(ObjOperandId callee, Int32OperandId argc, CallFlags flags, const void* funcExport, JSObject* instance) {\
-+ writeOp(CacheOp::CallWasmFunction);\
-+ writeOperandId(callee);\
-+ writeOperandId(argc);\
-+ writeCallFlagsImm(flags);\
-+ writeRawPointerField(funcExport);\
-+ writeObjectField(instance);\
-+ assertLengthMatches();\
-+}\
-+void guardWasmArg(ValOperandId arg, wasm::ValType::Kind type) {\
-+ writeOp(CacheOp::GuardWasmArg);\
-+ writeOperandId(arg);\
-+ writeWasmValTypeImm(type);\
-+ assertLengthMatches();\
-+}\
-+private:\
-+void callNativeFunction_(ObjOperandId callee, Int32OperandId argc, CallFlags flags, bool ignoresReturnValue) {\
-+ writeOp(CacheOp::CallNativeFunction);\
-+ writeOperandId(callee);\
-+ writeOperandId(argc);\
-+ writeCallFlagsImm(flags);\
-+ writeBoolImm(ignoresReturnValue);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void callDOMFunction_(ObjOperandId callee, Int32OperandId argc, ObjOperandId thisObj, CallFlags flags) {\
-+ writeOp(CacheOp::CallDOMFunction);\
-+ writeOperandId(callee);\
-+ writeOperandId(argc);\
-+ writeOperandId(thisObj);\
-+ writeCallFlagsImm(flags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void callClassHook_(ObjOperandId callee, Int32OperandId argc, CallFlags flags, const void* target) {\
-+ writeOp(CacheOp::CallClassHook);\
-+ writeOperandId(callee);\
-+ writeOperandId(argc);\
-+ writeCallFlagsImm(flags);\
-+ writeRawPointerField(target);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void callInlinedFunction_(ObjOperandId callee, Int32OperandId argc, const void* icScript, CallFlags flags) {\
-+ writeOp(CacheOp::CallInlinedFunction);\
-+ writeOperandId(callee);\
-+ writeOperandId(argc);\
-+ writeRawPointerField(icScript);\
-+ writeCallFlagsImm(flags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void metaTwoByte_(JSObject* functionObject, JSObject* templateObject) {\
-+ writeOp(CacheOp::MetaTwoByte);\
-+ writeObjectField(functionObject);\
-+ writeObjectField(templateObject);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+void loadFixedSlotResult(ObjOperandId obj, uint32_t offset) {\
-+ writeOp(CacheOp::LoadFixedSlotResult);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ assertLengthMatches();\
-+}\
-+void loadFixedSlotTypedResult(ObjOperandId obj, uint32_t offset, ValueType type) {\
-+ writeOp(CacheOp::LoadFixedSlotTypedResult);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ writeValueTypeImm(type);\
-+ assertLengthMatches();\
-+}\
-+void loadDynamicSlotResult(ObjOperandId obj, uint32_t offset) {\
-+ writeOp(CacheOp::LoadDynamicSlotResult);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ assertLengthMatches();\
-+}\
-+void loadDenseElementResult(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::LoadDenseElementResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void loadDenseElementHoleResult(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::LoadDenseElementHoleResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void callGetSparseElementResult(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::CallGetSparseElementResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void loadDenseElementExistsResult(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::LoadDenseElementExistsResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void loadTypedArrayElementExistsResult(ObjOperandId obj, IntPtrOperandId index) {\
-+ writeOp(CacheOp::LoadTypedArrayElementExistsResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void loadDenseElementHoleExistsResult(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::LoadDenseElementHoleExistsResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void loadTypedArrayElementResult(ObjOperandId obj, IntPtrOperandId index, Scalar::Type elementType, bool handleOOB, bool forceDoubleForUint32) {\
-+ writeOp(CacheOp::LoadTypedArrayElementResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ writeScalarTypeImm(elementType);\
-+ writeBoolImm(handleOOB);\
-+ writeBoolImm(forceDoubleForUint32);\
-+ assertLengthMatches();\
-+}\
-+void loadDataViewValueResult(ObjOperandId obj, IntPtrOperandId offset, BooleanOperandId littleEndian, Scalar::Type elementType, bool forceDoubleForUint32) {\
-+ writeOp(CacheOp::LoadDataViewValueResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(offset);\
-+ writeOperandId(littleEndian);\
-+ writeScalarTypeImm(elementType);\
-+ writeBoolImm(forceDoubleForUint32);\
-+ assertLengthMatches();\
-+}\
-+void storeDataViewValueResult(ObjOperandId obj, IntPtrOperandId offset, OperandId value, BooleanOperandId littleEndian, Scalar::Type elementType) {\
-+ writeOp(CacheOp::StoreDataViewValueResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(offset);\
-+ writeOperandId(value);\
-+ writeOperandId(littleEndian);\
-+ writeScalarTypeImm(elementType);\
-+ assertLengthMatches();\
-+}\
-+void loadInt32ArrayLengthResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadInt32ArrayLengthResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+Int32OperandId loadInt32ArrayLength(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadInt32ArrayLength);\
-+ writeOperandId(obj);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+void loadArgumentsObjectArgResult(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::LoadArgumentsObjectArgResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void loadArgumentsObjectLengthResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadArgumentsObjectLengthResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void loadFunctionLengthResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadFunctionLengthResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void loadFunctionNameResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadFunctionNameResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void loadArrayBufferByteLengthInt32Result(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadArrayBufferByteLengthInt32Result);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void loadArrayBufferByteLengthDoubleResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadArrayBufferByteLengthDoubleResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void loadArrayBufferViewLengthInt32Result(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadArrayBufferViewLengthInt32Result);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void loadArrayBufferViewLengthDoubleResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadArrayBufferViewLengthDoubleResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void loadStringCharResult(StringOperandId str, Int32OperandId index) {\
-+ writeOp(CacheOp::LoadStringCharResult);\
-+ writeOperandId(str);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void loadStringCharCodeResult(StringOperandId str, Int32OperandId index) {\
-+ writeOp(CacheOp::LoadStringCharCodeResult);\
-+ writeOperandId(str);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void loadStringLengthResult(StringOperandId str) {\
-+ writeOp(CacheOp::LoadStringLengthResult);\
-+ writeOperandId(str);\
-+ assertLengthMatches();\
-+}\
-+void frameIsConstructingResult() {\
-+ writeOp(CacheOp::FrameIsConstructingResult);\
-+ assertLengthMatches();\
-+}\
-+void loadEnvironmentFixedSlotResult(ObjOperandId obj, uint32_t offset) {\
-+ writeOp(CacheOp::LoadEnvironmentFixedSlotResult);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ assertLengthMatches();\
-+}\
-+void loadEnvironmentDynamicSlotResult(ObjOperandId obj, uint32_t offset) {\
-+ writeOp(CacheOp::LoadEnvironmentDynamicSlotResult);\
-+ writeOperandId(obj);\
-+ writeRawInt32Field(offset);\
-+ assertLengthMatches();\
-+}\
-+void loadObjectResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadObjectResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void loadStringResult(StringOperandId str) {\
-+ writeOp(CacheOp::LoadStringResult);\
-+ writeOperandId(str);\
-+ assertLengthMatches();\
-+}\
-+void loadSymbolResult(SymbolOperandId sym) {\
-+ writeOp(CacheOp::LoadSymbolResult);\
-+ writeOperandId(sym);\
-+ assertLengthMatches();\
-+}\
-+void loadInt32Result(Int32OperandId val) {\
-+ writeOp(CacheOp::LoadInt32Result);\
-+ writeOperandId(val);\
-+ assertLengthMatches();\
-+}\
-+void loadDoubleResult(NumberOperandId val) {\
-+ writeOp(CacheOp::LoadDoubleResult);\
-+ writeOperandId(val);\
-+ assertLengthMatches();\
-+}\
-+void loadBigIntResult(BigIntOperandId val) {\
-+ writeOp(CacheOp::LoadBigIntResult);\
-+ writeOperandId(val);\
-+ assertLengthMatches();\
-+}\
-+private:\
-+void callScriptedGetterResult_(ValOperandId receiver, JSObject* getter, bool sameRealm, uint32_t nargsAndFlags) {\
-+ writeOp(CacheOp::CallScriptedGetterResult);\
-+ writeOperandId(receiver);\
-+ writeObjectField(getter);\
-+ writeBoolImm(sameRealm);\
-+ writeRawInt32Field(nargsAndFlags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void callInlinedGetterResult_(ValOperandId receiver, JSObject* getter, const void* icScript, bool sameRealm, uint32_t nargsAndFlags) {\
-+ writeOp(CacheOp::CallInlinedGetterResult);\
-+ writeOperandId(receiver);\
-+ writeObjectField(getter);\
-+ writeRawPointerField(icScript);\
-+ writeBoolImm(sameRealm);\
-+ writeRawInt32Field(nargsAndFlags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+private:\
-+void callNativeGetterResult_(ValOperandId receiver, JSObject* getter, bool sameRealm, uint32_t nargsAndFlags) {\
-+ writeOp(CacheOp::CallNativeGetterResult);\
-+ writeOperandId(receiver);\
-+ writeObjectField(getter);\
-+ writeBoolImm(sameRealm);\
-+ writeRawInt32Field(nargsAndFlags);\
-+ assertLengthMatches();\
-+}\
-+public:\
-+void callDOMGetterResult(ObjOperandId obj, const void* jitInfo) {\
-+ writeOp(CacheOp::CallDOMGetterResult);\
-+ writeOperandId(obj);\
-+ writeRawPointerField(jitInfo);\
-+ assertLengthMatches();\
-+}\
-+void proxyGetResult(ObjOperandId obj, jsid id) {\
-+ writeOp(CacheOp::ProxyGetResult);\
-+ writeOperandId(obj);\
-+ writeIdField(id);\
-+ assertLengthMatches();\
-+}\
-+void proxyGetByValueResult(ObjOperandId obj, ValOperandId id) {\
-+ writeOp(CacheOp::ProxyGetByValueResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(id);\
-+ assertLengthMatches();\
-+}\
-+void proxyHasPropResult(ObjOperandId obj, ValOperandId id, bool hasOwn) {\
-+ writeOp(CacheOp::ProxyHasPropResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(id);\
-+ writeBoolImm(hasOwn);\
-+ assertLengthMatches();\
-+}\
-+void callObjectHasSparseElementResult(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::CallObjectHasSparseElementResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void callNativeGetElementResult(ObjOperandId obj, Int32OperandId index) {\
-+ writeOp(CacheOp::CallNativeGetElementResult);\
-+ writeOperandId(obj);\
-+ writeOperandId(index);\
-+ assertLengthMatches();\
-+}\
-+void getNextMapSetEntryForIteratorResult(ObjOperandId iter, ObjOperandId resultArr, bool isMap) {\
-+ writeOp(CacheOp::GetNextMapSetEntryForIteratorResult);\
-+ writeOperandId(iter);\
-+ writeOperandId(resultArr);\
-+ writeBoolImm(isMap);\
-+ assertLengthMatches();\
-+}\
-+void loadUndefinedResult() {\
-+ writeOp(CacheOp::LoadUndefinedResult);\
-+ assertLengthMatches();\
-+}\
-+void loadBooleanResult(bool val) {\
-+ writeOp(CacheOp::LoadBooleanResult);\
-+ writeBoolImm(val);\
-+ assertLengthMatches();\
-+}\
-+Int32OperandId loadInt32Constant(uint32_t val) {\
-+ writeOp(CacheOp::LoadInt32Constant);\
-+ writeRawInt32Field(val);\
-+ Int32OperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+BooleanOperandId loadBooleanConstant(bool val) {\
-+ writeOp(CacheOp::LoadBooleanConstant);\
-+ writeBoolImm(val);\
-+ BooleanOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+ValOperandId loadUndefined() {\
-+ writeOp(CacheOp::LoadUndefined);\
-+ ValOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+StringOperandId loadConstantString(JSString* str) {\
-+ writeOp(CacheOp::LoadConstantString);\
-+ writeStringField(str);\
-+ StringOperandId result(newOperandId());\
-+ writeOperandId(result);\
-+ assertLengthMatches();\
-+ return result;\
-+}\
-+void loadConstantStringResult(JSString* str) {\
-+ writeOp(CacheOp::LoadConstantStringResult);\
-+ writeStringField(str);\
-+ assertLengthMatches();\
-+}\
-+void loadInstanceOfObjectResult(ValOperandId lhs, ObjOperandId proto) {\
-+ writeOp(CacheOp::LoadInstanceOfObjectResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(proto);\
-+ assertLengthMatches();\
-+}\
-+void loadTypeOfObjectResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadTypeOfObjectResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void doubleAddResult(NumberOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::DoubleAddResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void doubleSubResult(NumberOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::DoubleSubResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void doubleMulResult(NumberOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::DoubleMulResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void doubleDivResult(NumberOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::DoubleDivResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void doubleModResult(NumberOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::DoubleModResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void doublePowResult(NumberOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::DoublePowResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32AddResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32AddResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32SubResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32SubResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32MulResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32MulResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32DivResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32DivResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32ModResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32ModResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32PowResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32PowResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntAddResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntAddResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntSubResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntSubResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntMulResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntMulResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntDivResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntDivResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntModResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntModResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntPowResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntPowResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32BitOrResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32BitOrResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32BitXorResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32BitXorResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32BitAndResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32BitAndResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32LeftShiftResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32LeftShiftResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32RightShiftResult(Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::Int32RightShiftResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void int32URightShiftResult(Int32OperandId lhs, Int32OperandId rhs, bool forceDouble) {\
-+ writeOp(CacheOp::Int32URightShiftResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ writeBoolImm(forceDouble);\
-+ assertLengthMatches();\
-+}\
-+void int32NotResult(Int32OperandId input) {\
-+ writeOp(CacheOp::Int32NotResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void bigIntBitOrResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntBitOrResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntBitXorResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntBitXorResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntBitAndResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntBitAndResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntLeftShiftResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntLeftShiftResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntRightShiftResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::BigIntRightShiftResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void bigIntNotResult(BigIntOperandId input) {\
-+ writeOp(CacheOp::BigIntNotResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void int32NegationResult(Int32OperandId input) {\
-+ writeOp(CacheOp::Int32NegationResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void doubleNegationResult(NumberOperandId input) {\
-+ writeOp(CacheOp::DoubleNegationResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void bigIntNegationResult(BigIntOperandId input) {\
-+ writeOp(CacheOp::BigIntNegationResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void int32IncResult(Int32OperandId input) {\
-+ writeOp(CacheOp::Int32IncResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void int32DecResult(Int32OperandId input) {\
-+ writeOp(CacheOp::Int32DecResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void doubleIncResult(NumberOperandId input) {\
-+ writeOp(CacheOp::DoubleIncResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void doubleDecResult(NumberOperandId input) {\
-+ writeOp(CacheOp::DoubleDecResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void bigIntIncResult(BigIntOperandId input) {\
-+ writeOp(CacheOp::BigIntIncResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void bigIntDecResult(BigIntOperandId input) {\
-+ writeOp(CacheOp::BigIntDecResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void loadInt32TruthyResult(ValOperandId input) {\
-+ writeOp(CacheOp::LoadInt32TruthyResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void loadDoubleTruthyResult(NumberOperandId input) {\
-+ writeOp(CacheOp::LoadDoubleTruthyResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void loadStringTruthyResult(StringOperandId str) {\
-+ writeOp(CacheOp::LoadStringTruthyResult);\
-+ writeOperandId(str);\
-+ assertLengthMatches();\
-+}\
-+void loadObjectTruthyResult(ObjOperandId obj) {\
-+ writeOp(CacheOp::LoadObjectTruthyResult);\
-+ writeOperandId(obj);\
-+ assertLengthMatches();\
-+}\
-+void loadBigIntTruthyResult(BigIntOperandId bigInt) {\
-+ writeOp(CacheOp::LoadBigIntTruthyResult);\
-+ writeOperandId(bigInt);\
-+ assertLengthMatches();\
-+}\
-+void loadValueTruthyResult(ValOperandId input) {\
-+ writeOp(CacheOp::LoadValueTruthyResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void loadValueResult(const Value& val) {\
-+ writeOp(CacheOp::LoadValueResult);\
-+ writeValueField(val);\
-+ assertLengthMatches();\
-+}\
-+void loadOperandResult(ValOperandId input) {\
-+ writeOp(CacheOp::LoadOperandResult);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void newPlainObjectResult(uint32_t numFixedSlots, uint32_t numDynamicSlots, gc::AllocKind allocKind, Shape* shape, gc::AllocSite* site) {\
-+ writeOp(CacheOp::NewPlainObjectResult);\
-+ writeUInt32Imm(numFixedSlots);\
-+ writeUInt32Imm(numDynamicSlots);\
-+ writeAllocKindImm(allocKind);\
-+ writeShapeField(shape);\
-+ writeAllocSiteField(site);\
-+ assertLengthMatches();\
-+}\
-+void newArrayObjectResult(uint32_t arrayLength, Shape* shape, gc::AllocSite* site) {\
-+ writeOp(CacheOp::NewArrayObjectResult);\
-+ writeUInt32Imm(arrayLength);\
-+ writeShapeField(shape);\
-+ writeAllocSiteField(site);\
-+ assertLengthMatches();\
-+}\
-+void callStringConcatResult(StringOperandId lhs, StringOperandId rhs) {\
-+ writeOp(CacheOp::CallStringConcatResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void callStringObjectConcatResult(ValOperandId lhs, ValOperandId rhs) {\
-+ writeOp(CacheOp::CallStringObjectConcatResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void callIsSuspendedGeneratorResult(ValOperandId val) {\
-+ writeOp(CacheOp::CallIsSuspendedGeneratorResult);\
-+ writeOperandId(val);\
-+ assertLengthMatches();\
-+}\
-+void compareStringResult(JSOp op, StringOperandId lhs, StringOperandId rhs) {\
-+ writeOp(CacheOp::CompareStringResult);\
-+ writeJSOpImm(op);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void compareObjectResult(JSOp op, ObjOperandId lhs, ObjOperandId rhs) {\
-+ writeOp(CacheOp::CompareObjectResult);\
-+ writeJSOpImm(op);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void compareSymbolResult(JSOp op, SymbolOperandId lhs, SymbolOperandId rhs) {\
-+ writeOp(CacheOp::CompareSymbolResult);\
-+ writeJSOpImm(op);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void compareInt32Result(JSOp op, Int32OperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::CompareInt32Result);\
-+ writeJSOpImm(op);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void compareDoubleResult(JSOp op, NumberOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::CompareDoubleResult);\
-+ writeJSOpImm(op);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void compareBigIntResult(JSOp op, BigIntOperandId lhs, BigIntOperandId rhs) {\
-+ writeOp(CacheOp::CompareBigIntResult);\
-+ writeJSOpImm(op);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void compareBigIntInt32Result(JSOp op, BigIntOperandId lhs, Int32OperandId rhs) {\
-+ writeOp(CacheOp::CompareBigIntInt32Result);\
-+ writeJSOpImm(op);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void compareBigIntNumberResult(JSOp op, BigIntOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::CompareBigIntNumberResult);\
-+ writeJSOpImm(op);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void compareBigIntStringResult(JSOp op, BigIntOperandId lhs, StringOperandId rhs) {\
-+ writeOp(CacheOp::CompareBigIntStringResult);\
-+ writeJSOpImm(op);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void compareNullUndefinedResult(JSOp op, bool isUndefined, ValOperandId input) {\
-+ writeOp(CacheOp::CompareNullUndefinedResult);\
-+ writeJSOpImm(op);\
-+ writeBoolImm(isUndefined);\
-+ writeOperandId(input);\
-+ assertLengthMatches();\
-+}\
-+void compareDoubleSameValueResult(NumberOperandId lhs, NumberOperandId rhs) {\
-+ writeOp(CacheOp::CompareDoubleSameValueResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void sameValueResult(ValOperandId lhs, ValOperandId rhs) {\
-+ writeOp(CacheOp::SameValueResult);\
-+ writeOperandId(lhs);\
-+ writeOperandId(rhs);\
-+ assertLengthMatches();\
-+}\
-+void indirectTruncateInt32Result(Int32OperandId val) {\
-+ writeOp(CacheOp::IndirectTruncateInt32Result);\
-+ writeOperandId(val);\
-+ assertLengthMatches();\
-+}\
-+void bigIntAsIntNResult(Int32OperandId bits, BigIntOperandId bigInt) {\
-+ writeOp(CacheOp::BigIntAsIntNResult);\
-+ writeOperandId(bits);\
-+ writeOperandId(bigInt);\
-+ assertLengthMatches();\
-+}\
-+void bigIntAsUintNResult(Int32OperandId bits, BigIntOperandId bigInt) {\
-+ writeOp(CacheOp::BigIntAsUintNResult);\
-+ writeOperandId(bits);\
-+ writeOperandId(bigInt);\
-+ assertLengthMatches();\
-+}\
-+void callPrintString(const char* str) {\
-+ writeOp(CacheOp::CallPrintString);\
-+ writeStaticStringImm(str);\
-+ assertLengthMatches();\
-+}\
-+void breakpoint() {\
-+ writeOp(CacheOp::Breakpoint);\
-+ assertLengthMatches();\
-+}\
-+void wrapResult() {\
-+ writeOp(CacheOp::WrapResult);\
-+ assertLengthMatches();\
-+}\
-+void bailout() {\
-+ writeOp(CacheOp::Bailout);\
-+ assertLengthMatches();\
-+}\
-+void assertRecoveredOnBailoutResult(ValOperandId val, bool mustBeRecovered) {\
-+ writeOp(CacheOp::AssertRecoveredOnBailoutResult);\
-+ writeOperandId(val);\
-+ writeBoolImm(mustBeRecovered);\
-+ assertLengthMatches();\
-+}
-+
-+#define CACHE_IR_COMPILER_SHARED_GENERATED \
-+[[nodiscard]] bool emitGuardToObject(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToObject(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToObject(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNullOrUndefined(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardIsNullOrUndefined(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardIsNullOrUndefined(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNull(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardIsNull(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardIsNull(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsUndefined(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardIsUndefined(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardIsUndefined(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToBoolean(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToBoolean(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToBoolean(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToString(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToString(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToString(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToSymbol(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToSymbol(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToSymbol(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToBigInt(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToBigInt(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToBigInt(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNumber(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardIsNumber(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardIsNumber(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToInt32(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToInt32(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToInt32(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardBooleanToInt32(ValOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardBooleanToInt32(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardBooleanToInt32(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToInt32Index(ValOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardToInt32Index(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardToInt32Index(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32ToIntPtr(Int32OperandId inputId, IntPtrOperandId resultId);\
-+[[nodiscard]] bool emitInt32ToIntPtr(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ IntPtrOperandId resultId = reader.intPtrOperandId();\
-+ return emitInt32ToIntPtr(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNumberToIntPtrIndex(NumberOperandId inputId, bool supportOOB, IntPtrOperandId resultId);\
-+[[nodiscard]] bool emitGuardNumberToIntPtrIndex(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ bool supportOOB = reader.readBool();\
-+ IntPtrOperandId resultId = reader.intPtrOperandId();\
-+ return emitGuardNumberToIntPtrIndex(inputId, supportOOB, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToInt32ModUint32(ValOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardToInt32ModUint32(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardToInt32ModUint32(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToUint8Clamped(ValOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardToUint8Clamped(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardToUint8Clamped(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNonDoubleType(ValOperandId inputId, ValueType type);\
-+[[nodiscard]] bool emitGuardNonDoubleType(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ ValueType type = reader.valueType();\
-+ return emitGuardNonDoubleType(inputId, type);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNullProto(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardNullProto(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardNullProto(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardClass(ObjOperandId objId, GuardClassKind kind);\
-+[[nodiscard]] bool emitGuardClass(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ GuardClassKind kind = reader.guardClassKind();\
-+ return emitGuardClass(objId, kind);\
-+}\
-+\
-+[[nodiscard]] bool emitCallRegExpMatcherResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
-+[[nodiscard]] bool emitCallRegExpMatcherResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ StringOperandId inputId = reader.stringOperandId();\
-+ Int32OperandId lastIndexId = reader.int32OperandId();\
-+ return emitCallRegExpMatcherResult(regexpId, inputId, lastIndexId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallRegExpSearcherResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
-+[[nodiscard]] bool emitCallRegExpSearcherResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ StringOperandId inputId = reader.stringOperandId();\
-+ Int32OperandId lastIndexId = reader.int32OperandId();\
-+ return emitCallRegExpSearcherResult(regexpId, inputId, lastIndexId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallRegExpTesterResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
-+[[nodiscard]] bool emitCallRegExpTesterResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ StringOperandId inputId = reader.stringOperandId();\
-+ Int32OperandId lastIndexId = reader.int32OperandId();\
-+ return emitCallRegExpTesterResult(regexpId, inputId, lastIndexId);\
-+}\
-+\
-+[[nodiscard]] bool emitRegExpFlagResult(ObjOperandId regexpId, int32_t flagsMask);\
-+[[nodiscard]] bool emitRegExpFlagResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ int32_t flagsMask = reader.int32Immediate();\
-+ return emitRegExpFlagResult(regexpId, flagsMask);\
-+}\
-+\
-+[[nodiscard]] bool emitCallSubstringKernelResult(StringOperandId strId, Int32OperandId beginId, Int32OperandId lengthId);\
-+[[nodiscard]] bool emitCallSubstringKernelResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId beginId = reader.int32OperandId();\
-+ Int32OperandId lengthId = reader.int32OperandId();\
-+ return emitCallSubstringKernelResult(strId, beginId, lengthId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringReplaceStringResult(StringOperandId strId, StringOperandId patternId, StringOperandId replacementId);\
-+[[nodiscard]] bool emitStringReplaceStringResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ StringOperandId patternId = reader.stringOperandId();\
-+ StringOperandId replacementId = reader.stringOperandId();\
-+ return emitStringReplaceStringResult(strId, patternId, replacementId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringSplitStringResult(StringOperandId strId, StringOperandId separatorId);\
-+[[nodiscard]] bool emitStringSplitStringResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ StringOperandId separatorId = reader.stringOperandId();\
-+ return emitStringSplitStringResult(strId, separatorId);\
-+}\
-+\
-+[[nodiscard]] bool emitRegExpPrototypeOptimizableResult(ObjOperandId protoId);\
-+[[nodiscard]] bool emitRegExpPrototypeOptimizableResult(CacheIRReader& reader) {\
-+ ObjOperandId protoId = reader.objOperandId();\
-+ return emitRegExpPrototypeOptimizableResult(protoId);\
-+}\
-+\
-+[[nodiscard]] bool emitRegExpInstanceOptimizableResult(ObjOperandId regexpId, ObjOperandId protoId);\
-+[[nodiscard]] bool emitRegExpInstanceOptimizableResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ ObjOperandId protoId = reader.objOperandId();\
-+ return emitRegExpInstanceOptimizableResult(regexpId, protoId);\
-+}\
-+\
-+[[nodiscard]] bool emitGetFirstDollarIndexResult(StringOperandId strId);\
-+[[nodiscard]] bool emitGetFirstDollarIndexResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitGetFirstDollarIndexResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsExtensible(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsExtensible(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsExtensible(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNativeObject(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsNativeObject(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsNativeObject(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsProxy(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsProxy(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsProxy(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNotProxy(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsNotProxy(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsNotProxy(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNotArrayBufferMaybeShared(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsNotArrayBufferMaybeShared(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsNotArrayBufferMaybeShared(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsTypedArray(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsTypedArray(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsTypedArray(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNotDOMProxy(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsNotDOMProxy(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsNotDOMProxy(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNoDenseElements(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardNoDenseElements(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardNoDenseElements(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardStringToIndex(StringOperandId strId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardStringToIndex(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardStringToIndex(strId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardStringToInt32(StringOperandId strId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardStringToInt32(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardStringToInt32(strId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardStringToNumber(StringOperandId strId, NumberOperandId resultId);\
-+[[nodiscard]] bool emitGuardStringToNumber(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ NumberOperandId resultId = reader.numberOperandId();\
-+ return emitGuardStringToNumber(strId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitBooleanToNumber(BooleanOperandId booleanId, NumberOperandId resultId);\
-+[[nodiscard]] bool emitBooleanToNumber(CacheIRReader& reader) {\
-+ BooleanOperandId booleanId = reader.booleanOperandId();\
-+ NumberOperandId resultId = reader.numberOperandId();\
-+ return emitBooleanToNumber(booleanId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardHasGetterSetter(ObjOperandId objId, uint32_t idOffset, uint32_t getterSetterOffset);\
-+[[nodiscard]] bool emitGuardHasGetterSetter(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t idOffset = reader.stubOffset();\
-+ uint32_t getterSetterOffset = reader.stubOffset();\
-+ return emitGuardHasGetterSetter(objId, idOffset, getterSetterOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardInt32IsNonNegative(Int32OperandId indexId);\
-+[[nodiscard]] bool emitGuardInt32IsNonNegative(CacheIRReader& reader) {\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitGuardInt32IsNonNegative(indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIndexIsValidUpdateOrAdd(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitGuardIndexIsValidUpdateOrAdd(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitGuardIndexIsValidUpdateOrAdd(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIndexGreaterThanDenseInitLength(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitGuardIndexGreaterThanDenseInitLength(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitGuardIndexGreaterThanDenseInitLength(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardTagNotEqual(ValueTagOperandId lhsId, ValueTagOperandId rhsId);\
-+[[nodiscard]] bool emitGuardTagNotEqual(CacheIRReader& reader) {\
-+ ValueTagOperandId lhsId = reader.valueTagOperandId();\
-+ ValueTagOperandId rhsId = reader.valueTagOperandId();\
-+ return emitGuardTagNotEqual(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardXrayExpandoShapeAndDefaultProto(ObjOperandId objId, uint32_t shapeWrapperOffset);\
-+[[nodiscard]] bool emitGuardXrayExpandoShapeAndDefaultProto(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t shapeWrapperOffset = reader.stubOffset();\
-+ return emitGuardXrayExpandoShapeAndDefaultProto(objId, shapeWrapperOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardXrayNoExpando(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardXrayNoExpando(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardXrayNoExpando(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardDynamicSlotIsSpecificObject(ObjOperandId objId, ObjOperandId expectedId, uint32_t slotOffset);\
-+[[nodiscard]] bool emitGuardDynamicSlotIsSpecificObject(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ObjOperandId expectedId = reader.objOperandId();\
-+ uint32_t slotOffset = reader.stubOffset();\
-+ return emitGuardDynamicSlotIsSpecificObject(objId, expectedId, slotOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFixedSlotValue(ObjOperandId objId, uint32_t offsetOffset, uint32_t valOffset);\
-+[[nodiscard]] bool emitGuardFixedSlotValue(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t valOffset = reader.stubOffset();\
-+ return emitGuardFixedSlotValue(objId, offsetOffset, valOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardDynamicSlotValue(ObjOperandId objId, uint32_t offsetOffset, uint32_t valOffset);\
-+[[nodiscard]] bool emitGuardDynamicSlotValue(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t valOffset = reader.stubOffset();\
-+ return emitGuardDynamicSlotValue(objId, offsetOffset, valOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNoAllocationMetadataBuilder(uint32_t builderAddrOffset);\
-+[[nodiscard]] bool emitGuardNoAllocationMetadataBuilder(CacheIRReader& reader) {\
-+ uint32_t builderAddrOffset = reader.stubOffset();\
-+ return emitGuardNoAllocationMetadataBuilder(builderAddrOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionHasJitEntry(ObjOperandId funId, bool constructing);\
-+[[nodiscard]] bool emitGuardFunctionHasJitEntry(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ bool constructing = reader.readBool();\
-+ return emitGuardFunctionHasJitEntry(funId, constructing);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionHasNoJitEntry(ObjOperandId funId);\
-+[[nodiscard]] bool emitGuardFunctionHasNoJitEntry(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ return emitGuardFunctionHasNoJitEntry(funId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionIsNonBuiltinCtor(ObjOperandId funId);\
-+[[nodiscard]] bool emitGuardFunctionIsNonBuiltinCtor(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ return emitGuardFunctionIsNonBuiltinCtor(funId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionIsConstructor(ObjOperandId funId);\
-+[[nodiscard]] bool emitGuardFunctionIsConstructor(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ return emitGuardFunctionIsConstructor(funId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNotClassConstructor(ObjOperandId funId);\
-+[[nodiscard]] bool emitGuardNotClassConstructor(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ return emitGuardNotClassConstructor(funId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardArrayIsPacked(ObjOperandId arrayId);\
-+[[nodiscard]] bool emitGuardArrayIsPacked(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ return emitGuardArrayIsPacked(arrayId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardArgumentsObjectFlags(ObjOperandId objId, uint8_t flags);\
-+[[nodiscard]] bool emitGuardArgumentsObjectFlags(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint8_t flags = reader.readByte();\
-+ return emitGuardArgumentsObjectFlags(objId, flags);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadObject(ObjOperandId resultId, uint32_t objOffset);\
-+[[nodiscard]] bool emitLoadObject(CacheIRReader& reader) {\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ uint32_t objOffset = reader.stubOffset();\
-+ return emitLoadObject(resultId, objOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadProto(ObjOperandId objId, ObjOperandId resultId);\
-+[[nodiscard]] bool emitLoadProto(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ return emitLoadProto(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadEnclosingEnvironment(ObjOperandId objId, ObjOperandId resultId);\
-+[[nodiscard]] bool emitLoadEnclosingEnvironment(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ return emitLoadEnclosingEnvironment(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadWrapperTarget(ObjOperandId objId, ObjOperandId resultId);\
-+[[nodiscard]] bool emitLoadWrapperTarget(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ return emitLoadWrapperTarget(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadValueTag(ValOperandId valId, ValueTagOperandId resultId);\
-+[[nodiscard]] bool emitLoadValueTag(CacheIRReader& reader) {\
-+ ValOperandId valId = reader.valOperandId();\
-+ ValueTagOperandId resultId = reader.valueTagOperandId();\
-+ return emitLoadValueTag(valId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitTruncateDoubleToUInt32(NumberOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitTruncateDoubleToUInt32(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitTruncateDoubleToUInt32(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicLoadSlotResult(ObjOperandId objId, uint32_t nameOffset);\
-+[[nodiscard]] bool emitMegamorphicLoadSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t nameOffset = reader.stubOffset();\
-+ return emitMegamorphicLoadSlotResult(objId, nameOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicLoadSlotByValueResult(ObjOperandId objId, ValOperandId idId);\
-+[[nodiscard]] bool emitMegamorphicLoadSlotByValueResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ return emitMegamorphicLoadSlotByValueResult(objId, idId);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicStoreSlot(ObjOperandId objId, uint32_t nameOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitMegamorphicStoreSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t nameOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitMegamorphicStoreSlot(objId, nameOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicHasPropResult(ObjOperandId objId, ValOperandId idId, bool hasOwn);\
-+[[nodiscard]] bool emitMegamorphicHasPropResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ bool hasOwn = reader.readBool();\
-+ return emitMegamorphicHasPropResult(objId, idId, hasOwn);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDOMExpandoValue(ObjOperandId objId, ValOperandId resultId);\
-+[[nodiscard]] bool emitLoadDOMExpandoValue(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId resultId = reader.valOperandId();\
-+ return emitLoadDOMExpandoValue(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDOMExpandoValueIgnoreGeneration(ObjOperandId objId, ValOperandId resultId);\
-+[[nodiscard]] bool emitLoadDOMExpandoValueIgnoreGeneration(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId resultId = reader.valOperandId();\
-+ return emitLoadDOMExpandoValueIgnoreGeneration(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreDenseElement(ObjOperandId objId, Int32OperandId indexId, ValOperandId rhsId);\
-+[[nodiscard]] bool emitStoreDenseElement(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitStoreDenseElement(objId, indexId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreDenseElementHole(ObjOperandId objId, Int32OperandId indexId, ValOperandId rhsId, bool handleAdd);\
-+[[nodiscard]] bool emitStoreDenseElementHole(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool handleAdd = reader.readBool();\
-+ return emitStoreDenseElementHole(objId, indexId, rhsId, handleAdd);\
-+}\
-+\
-+[[nodiscard]] bool emitArrayPush(ObjOperandId objId, ValOperandId rhsId);\
-+[[nodiscard]] bool emitArrayPush(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitArrayPush(objId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitPackedArrayPopResult(ObjOperandId arrayId);\
-+[[nodiscard]] bool emitPackedArrayPopResult(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ return emitPackedArrayPopResult(arrayId);\
-+}\
-+\
-+[[nodiscard]] bool emitPackedArrayShiftResult(ObjOperandId arrayId);\
-+[[nodiscard]] bool emitPackedArrayShiftResult(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ return emitPackedArrayShiftResult(arrayId);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreFixedSlotUndefinedResult(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitStoreFixedSlotUndefinedResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitStoreFixedSlotUndefinedResult(objId, offsetOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsObjectResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitIsObjectResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitIsObjectResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsPackedArrayResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitIsPackedArrayResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitIsPackedArrayResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsCallableResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitIsCallableResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitIsCallableResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsConstructorResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitIsConstructorResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitIsConstructorResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsCrossRealmArrayConstructorResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitIsCrossRealmArrayConstructorResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitIsCrossRealmArrayConstructorResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsTypedArrayConstructorResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitIsTypedArrayConstructorResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitIsTypedArrayConstructorResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitArrayBufferViewByteOffsetInt32Result(ObjOperandId objId);\
-+[[nodiscard]] bool emitArrayBufferViewByteOffsetInt32Result(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitArrayBufferViewByteOffsetInt32Result(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitArrayBufferViewByteOffsetDoubleResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitArrayBufferViewByteOffsetDoubleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitArrayBufferViewByteOffsetDoubleResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitTypedArrayByteLengthInt32Result(ObjOperandId objId);\
-+[[nodiscard]] bool emitTypedArrayByteLengthInt32Result(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitTypedArrayByteLengthInt32Result(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitTypedArrayByteLengthDoubleResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitTypedArrayByteLengthDoubleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitTypedArrayByteLengthDoubleResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitTypedArrayElementSizeResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitTypedArrayElementSizeResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitTypedArrayElementSizeResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardHasAttachedArrayBuffer(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardHasAttachedArrayBuffer(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardHasAttachedArrayBuffer(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitFinishBoundFunctionInitResult(ObjOperandId boundId, ObjOperandId targetId, Int32OperandId argCountId);\
-+[[nodiscard]] bool emitFinishBoundFunctionInitResult(CacheIRReader& reader) {\
-+ ObjOperandId boundId = reader.objOperandId();\
-+ ObjOperandId targetId = reader.objOperandId();\
-+ Int32OperandId argCountId = reader.int32OperandId();\
-+ return emitFinishBoundFunctionInitResult(boundId, targetId, argCountId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewArrayIteratorResult(uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitNewArrayIteratorResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitNewArrayIteratorResult(templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitNewStringIteratorResult(uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitNewStringIteratorResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitNewStringIteratorResult(templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitNewRegExpStringIteratorResult(uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitNewRegExpStringIteratorResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitNewRegExpStringIteratorResult(templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitObjectCreateResult(uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitObjectCreateResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitObjectCreateResult(templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitNewArrayFromLengthResult(uint32_t templateObjectOffset, Int32OperandId lengthId);\
-+[[nodiscard]] bool emitNewArrayFromLengthResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ Int32OperandId lengthId = reader.int32OperandId();\
-+ return emitNewArrayFromLengthResult(templateObjectOffset, lengthId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewTypedArrayFromLengthResult(uint32_t templateObjectOffset, Int32OperandId lengthId);\
-+[[nodiscard]] bool emitNewTypedArrayFromLengthResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ Int32OperandId lengthId = reader.int32OperandId();\
-+ return emitNewTypedArrayFromLengthResult(templateObjectOffset, lengthId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewTypedArrayFromArrayBufferResult(uint32_t templateObjectOffset, ObjOperandId bufferId, ValOperandId byteOffsetId, ValOperandId lengthId);\
-+[[nodiscard]] bool emitNewTypedArrayFromArrayBufferResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ ObjOperandId bufferId = reader.objOperandId();\
-+ ValOperandId byteOffsetId = reader.valOperandId();\
-+ ValOperandId lengthId = reader.valOperandId();\
-+ return emitNewTypedArrayFromArrayBufferResult(templateObjectOffset, bufferId, byteOffsetId, lengthId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewTypedArrayFromArrayResult(uint32_t templateObjectOffset, ObjOperandId arrayId);\
-+[[nodiscard]] bool emitNewTypedArrayFromArrayResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ return emitNewTypedArrayFromArrayResult(templateObjectOffset, arrayId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewStringObjectResult(uint32_t templateObjectOffset, StringOperandId strId);\
-+[[nodiscard]] bool emitNewStringObjectResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitNewStringObjectResult(templateObjectOffset, strId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringToLowerCaseResult(StringOperandId strId);\
-+[[nodiscard]] bool emitStringToLowerCaseResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitStringToLowerCaseResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringToUpperCaseResult(StringOperandId strId);\
-+[[nodiscard]] bool emitStringToUpperCaseResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitStringToUpperCaseResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathAbsInt32Result(Int32OperandId inputId);\
-+[[nodiscard]] bool emitMathAbsInt32Result(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitMathAbsInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathAbsNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathAbsNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathAbsNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathClz32Result(Int32OperandId inputId);\
-+[[nodiscard]] bool emitMathClz32Result(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitMathClz32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathSignInt32Result(Int32OperandId inputId);\
-+[[nodiscard]] bool emitMathSignInt32Result(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitMathSignInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathSignNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathSignNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathSignNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathSignNumberToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathSignNumberToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathSignNumberToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathImulResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitMathImulResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitMathImulResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathSqrtNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathSqrtNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathSqrtNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathFRoundNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathFRoundNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathFRoundNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathHypot2NumberResult(NumberOperandId firstId, NumberOperandId secondId);\
-+[[nodiscard]] bool emitMathHypot2NumberResult(CacheIRReader& reader) {\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ return emitMathHypot2NumberResult(firstId, secondId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathHypot3NumberResult(NumberOperandId firstId, NumberOperandId secondId, NumberOperandId thirdId);\
-+[[nodiscard]] bool emitMathHypot3NumberResult(CacheIRReader& reader) {\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ NumberOperandId thirdId = reader.numberOperandId();\
-+ return emitMathHypot3NumberResult(firstId, secondId, thirdId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathHypot4NumberResult(NumberOperandId firstId, NumberOperandId secondId, NumberOperandId thirdId, NumberOperandId fourthId);\
-+[[nodiscard]] bool emitMathHypot4NumberResult(CacheIRReader& reader) {\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ NumberOperandId thirdId = reader.numberOperandId();\
-+ NumberOperandId fourthId = reader.numberOperandId();\
-+ return emitMathHypot4NumberResult(firstId, secondId, thirdId, fourthId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathAtan2NumberResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitMathAtan2NumberResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitMathAtan2NumberResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathFloorNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathFloorNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathFloorNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathCeilNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathCeilNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathCeilNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathTruncNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathTruncNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathTruncNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathFloorToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathFloorToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathFloorToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathCeilToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathCeilToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathCeilToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathTruncToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathTruncToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathTruncToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathRoundToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathRoundToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathRoundToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32MinMax(bool isMax, Int32OperandId firstId, Int32OperandId secondId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitInt32MinMax(CacheIRReader& reader) {\
-+ bool isMax = reader.readBool();\
-+ Int32OperandId firstId = reader.int32OperandId();\
-+ Int32OperandId secondId = reader.int32OperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitInt32MinMax(isMax, firstId, secondId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitNumberMinMax(bool isMax, NumberOperandId firstId, NumberOperandId secondId, NumberOperandId resultId);\
-+[[nodiscard]] bool emitNumberMinMax(CacheIRReader& reader) {\
-+ bool isMax = reader.readBool();\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ NumberOperandId resultId = reader.numberOperandId();\
-+ return emitNumberMinMax(isMax, firstId, secondId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32MinMaxArrayResult(ObjOperandId arrayId, bool isMax);\
-+[[nodiscard]] bool emitInt32MinMaxArrayResult(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ bool isMax = reader.readBool();\
-+ return emitInt32MinMaxArrayResult(arrayId, isMax);\
-+}\
-+\
-+[[nodiscard]] bool emitNumberMinMaxArrayResult(ObjOperandId arrayId, bool isMax);\
-+[[nodiscard]] bool emitNumberMinMaxArrayResult(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ bool isMax = reader.readBool();\
-+ return emitNumberMinMaxArrayResult(arrayId, isMax);\
-+}\
-+\
-+[[nodiscard]] bool emitMathFunctionNumberResult(NumberOperandId inputId, UnaryMathFunction fun);\
-+[[nodiscard]] bool emitMathFunctionNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ UnaryMathFunction fun = reader.unaryMathFunction();\
-+ return emitMathFunctionNumberResult(inputId, fun);\
-+}\
-+\
-+[[nodiscard]] bool emitObjectToStringResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitObjectToStringResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitObjectToStringResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreTypedArrayElement(ObjOperandId objId, Scalar::Type elementType, IntPtrOperandId indexId, uint32_t rhsId, bool handleOOB);\
-+[[nodiscard]] bool emitStoreTypedArrayElement(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t rhsId = reader.rawOperandId();\
-+ bool handleOOB = reader.readBool();\
-+ return emitStoreTypedArrayElement(objId, elementType, indexId, rhsId, handleOOB);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsCompareExchangeResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t expectedId, uint32_t replacementId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitAtomicsCompareExchangeResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t expectedId = reader.rawOperandId();\
-+ uint32_t replacementId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitAtomicsCompareExchangeResult(objId, indexId, expectedId, replacementId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsExchangeResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitAtomicsExchangeResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitAtomicsExchangeResult(objId, indexId, valueId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsAddResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsAddResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsAddResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsSubResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsSubResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsSubResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsAndResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsAndResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsAndResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsOrResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsOrResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsOrResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsXorResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsXorResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsXorResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsLoadResult(ObjOperandId objId, IntPtrOperandId indexId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitAtomicsLoadResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitAtomicsLoadResult(objId, indexId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsStoreResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitAtomicsStoreResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitAtomicsStoreResult(objId, indexId, valueId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsIsLockFreeResult(Int32OperandId valueId);\
-+[[nodiscard]] bool emitAtomicsIsLockFreeResult(CacheIRReader& reader) {\
-+ Int32OperandId valueId = reader.int32OperandId();\
-+ return emitAtomicsIsLockFreeResult(valueId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallInt32ToString(Int32OperandId inputId, StringOperandId resultId);\
-+[[nodiscard]] bool emitCallInt32ToString(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ return emitCallInt32ToString(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNumberToString(NumberOperandId inputId, StringOperandId resultId);\
-+[[nodiscard]] bool emitCallNumberToString(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ return emitCallNumberToString(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitBooleanToString(BooleanOperandId inputId, StringOperandId resultId);\
-+[[nodiscard]] bool emitBooleanToString(CacheIRReader& reader) {\
-+ BooleanOperandId inputId = reader.booleanOperandId();\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ return emitBooleanToString(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardWasmArg(ValOperandId argId, wasm::ValType::Kind type);\
-+[[nodiscard]] bool emitGuardWasmArg(CacheIRReader& reader) {\
-+ ValOperandId argId = reader.valOperandId();\
-+ wasm::ValType::Kind type = reader.wasmValType();\
-+ return emitGuardWasmArg(argId, type);\
-+}\
-+\
-+[[nodiscard]] bool emitMetaTwoByte(uint32_t functionObjectOffset, uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitMetaTwoByte(CacheIRReader& reader) {\
-+ uint32_t functionObjectOffset = reader.stubOffset();\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitMetaTwoByte(functionObjectOffset, templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDenseElementResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadDenseElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadDenseElementResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDenseElementHoleResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadDenseElementHoleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadDenseElementHoleResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallGetSparseElementResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitCallGetSparseElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitCallGetSparseElementResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDenseElementExistsResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadDenseElementExistsResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadDenseElementExistsResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadTypedArrayElementExistsResult(ObjOperandId objId, IntPtrOperandId indexId);\
-+[[nodiscard]] bool emitLoadTypedArrayElementExistsResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ return emitLoadTypedArrayElementExistsResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDenseElementHoleExistsResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadDenseElementHoleExistsResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadDenseElementHoleExistsResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadTypedArrayElementResult(ObjOperandId objId, IntPtrOperandId indexId, Scalar::Type elementType, bool handleOOB, bool forceDoubleForUint32);\
-+[[nodiscard]] bool emitLoadTypedArrayElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool handleOOB = reader.readBool();\
-+ bool forceDoubleForUint32 = reader.readBool();\
-+ return emitLoadTypedArrayElementResult(objId, indexId, elementType, handleOOB, forceDoubleForUint32);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDataViewValueResult(ObjOperandId objId, IntPtrOperandId offsetId, BooleanOperandId littleEndianId, Scalar::Type elementType, bool forceDoubleForUint32);\
-+[[nodiscard]] bool emitLoadDataViewValueResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId offsetId = reader.intPtrOperandId();\
-+ BooleanOperandId littleEndianId = reader.booleanOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forceDoubleForUint32 = reader.readBool();\
-+ return emitLoadDataViewValueResult(objId, offsetId, littleEndianId, elementType, forceDoubleForUint32);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreDataViewValueResult(ObjOperandId objId, IntPtrOperandId offsetId, uint32_t valueId, BooleanOperandId littleEndianId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitStoreDataViewValueResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId offsetId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ BooleanOperandId littleEndianId = reader.booleanOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitStoreDataViewValueResult(objId, offsetId, valueId, littleEndianId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32ArrayLengthResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadInt32ArrayLengthResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadInt32ArrayLengthResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32ArrayLength(ObjOperandId objId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitLoadInt32ArrayLength(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitLoadInt32ArrayLength(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArgumentsObjectArgResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadArgumentsObjectArgResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadArgumentsObjectArgResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArgumentsObjectLengthResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArgumentsObjectLengthResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArgumentsObjectLengthResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadFunctionLengthResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadFunctionLengthResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadFunctionLengthResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadFunctionNameResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadFunctionNameResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadFunctionNameResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArrayBufferByteLengthInt32Result(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArrayBufferByteLengthInt32Result(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArrayBufferByteLengthInt32Result(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArrayBufferByteLengthDoubleResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArrayBufferByteLengthDoubleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArrayBufferByteLengthDoubleResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArrayBufferViewLengthInt32Result(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArrayBufferViewLengthInt32Result(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArrayBufferViewLengthInt32Result(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArrayBufferViewLengthDoubleResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArrayBufferViewLengthDoubleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArrayBufferViewLengthDoubleResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringCharCodeResult(StringOperandId strId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadStringCharCodeResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadStringCharCodeResult(strId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringLengthResult(StringOperandId strId);\
-+[[nodiscard]] bool emitLoadStringLengthResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitLoadStringLengthResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadObjectResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadObjectResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadObjectResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringResult(StringOperandId strId);\
-+[[nodiscard]] bool emitLoadStringResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitLoadStringResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadSymbolResult(SymbolOperandId symId);\
-+[[nodiscard]] bool emitLoadSymbolResult(CacheIRReader& reader) {\
-+ SymbolOperandId symId = reader.symbolOperandId();\
-+ return emitLoadSymbolResult(symId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32Result(Int32OperandId valId);\
-+[[nodiscard]] bool emitLoadInt32Result(CacheIRReader& reader) {\
-+ Int32OperandId valId = reader.int32OperandId();\
-+ return emitLoadInt32Result(valId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDoubleResult(NumberOperandId valId);\
-+[[nodiscard]] bool emitLoadDoubleResult(CacheIRReader& reader) {\
-+ NumberOperandId valId = reader.numberOperandId();\
-+ return emitLoadDoubleResult(valId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadBigIntResult(BigIntOperandId valId);\
-+[[nodiscard]] bool emitLoadBigIntResult(CacheIRReader& reader) {\
-+ BigIntOperandId valId = reader.bigIntOperandId();\
-+ return emitLoadBigIntResult(valId);\
-+}\
-+\
-+[[nodiscard]] bool emitProxyGetByValueResult(ObjOperandId objId, ValOperandId idId);\
-+[[nodiscard]] bool emitProxyGetByValueResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ return emitProxyGetByValueResult(objId, idId);\
-+}\
-+\
-+[[nodiscard]] bool emitProxyHasPropResult(ObjOperandId objId, ValOperandId idId, bool hasOwn);\
-+[[nodiscard]] bool emitProxyHasPropResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ bool hasOwn = reader.readBool();\
-+ return emitProxyHasPropResult(objId, idId, hasOwn);\
-+}\
-+\
-+[[nodiscard]] bool emitCallObjectHasSparseElementResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitCallObjectHasSparseElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitCallObjectHasSparseElementResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNativeGetElementResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitCallNativeGetElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitCallNativeGetElementResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitGetNextMapSetEntryForIteratorResult(ObjOperandId iterId, ObjOperandId resultArrId, bool isMap);\
-+[[nodiscard]] bool emitGetNextMapSetEntryForIteratorResult(CacheIRReader& reader) {\
-+ ObjOperandId iterId = reader.objOperandId();\
-+ ObjOperandId resultArrId = reader.objOperandId();\
-+ bool isMap = reader.readBool();\
-+ return emitGetNextMapSetEntryForIteratorResult(iterId, resultArrId, isMap);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadUndefinedResult();\
-+[[nodiscard]] bool emitLoadUndefinedResult(CacheIRReader& reader) {\
-+ return emitLoadUndefinedResult();\
-+}\
-+\
-+[[nodiscard]] bool emitLoadBooleanResult(bool val);\
-+[[nodiscard]] bool emitLoadBooleanResult(CacheIRReader& reader) {\
-+ bool val = reader.readBool();\
-+ return emitLoadBooleanResult(val);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32Constant(uint32_t valOffset, Int32OperandId resultId);\
-+[[nodiscard]] bool emitLoadInt32Constant(CacheIRReader& reader) {\
-+ uint32_t valOffset = reader.stubOffset();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitLoadInt32Constant(valOffset, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadBooleanConstant(bool val, BooleanOperandId resultId);\
-+[[nodiscard]] bool emitLoadBooleanConstant(CacheIRReader& reader) {\
-+ bool val = reader.readBool();\
-+ BooleanOperandId resultId = reader.booleanOperandId();\
-+ return emitLoadBooleanConstant(val, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadUndefined(ValOperandId resultId);\
-+[[nodiscard]] bool emitLoadUndefined(CacheIRReader& reader) {\
-+ ValOperandId resultId = reader.valOperandId();\
-+ return emitLoadUndefined(resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadConstantString(uint32_t strOffset, StringOperandId resultId);\
-+[[nodiscard]] bool emitLoadConstantString(CacheIRReader& reader) {\
-+ uint32_t strOffset = reader.stubOffset();\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ return emitLoadConstantString(strOffset, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInstanceOfObjectResult(ValOperandId lhsId, ObjOperandId protoId);\
-+[[nodiscard]] bool emitLoadInstanceOfObjectResult(CacheIRReader& reader) {\
-+ ValOperandId lhsId = reader.valOperandId();\
-+ ObjOperandId protoId = reader.objOperandId();\
-+ return emitLoadInstanceOfObjectResult(lhsId, protoId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadTypeOfObjectResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadTypeOfObjectResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadTypeOfObjectResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleAddResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleAddResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleAddResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleSubResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleSubResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleSubResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleMulResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleMulResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleMulResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleDivResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleDivResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleDivResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleModResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleModResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleModResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoublePowResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoublePowResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoublePowResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32AddResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32AddResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32AddResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32SubResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32SubResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32SubResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32MulResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32MulResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32MulResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32DivResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32DivResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32DivResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32ModResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32ModResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32ModResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32PowResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32PowResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32PowResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntAddResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntAddResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntAddResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntSubResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntSubResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntSubResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntMulResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntMulResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntMulResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntDivResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntDivResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntDivResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntModResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntModResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntModResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntPowResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntPowResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntPowResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32BitOrResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32BitOrResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32BitOrResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32BitXorResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32BitXorResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32BitXorResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32BitAndResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32BitAndResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32BitAndResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32LeftShiftResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32LeftShiftResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32LeftShiftResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32RightShiftResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32RightShiftResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32RightShiftResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32URightShiftResult(Int32OperandId lhsId, Int32OperandId rhsId, bool forceDouble);\
-+[[nodiscard]] bool emitInt32URightShiftResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ bool forceDouble = reader.readBool();\
-+ return emitInt32URightShiftResult(lhsId, rhsId, forceDouble);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32NotResult(Int32OperandId inputId);\
-+[[nodiscard]] bool emitInt32NotResult(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitInt32NotResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntBitOrResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntBitOrResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntBitOrResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntBitXorResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntBitXorResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntBitXorResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntBitAndResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntBitAndResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntBitAndResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntLeftShiftResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntLeftShiftResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntLeftShiftResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntRightShiftResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntRightShiftResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntRightShiftResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntNotResult(BigIntOperandId inputId);\
-+[[nodiscard]] bool emitBigIntNotResult(CacheIRReader& reader) {\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ return emitBigIntNotResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32NegationResult(Int32OperandId inputId);\
-+[[nodiscard]] bool emitInt32NegationResult(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitInt32NegationResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleNegationResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitDoubleNegationResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitDoubleNegationResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntNegationResult(BigIntOperandId inputId);\
-+[[nodiscard]] bool emitBigIntNegationResult(CacheIRReader& reader) {\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ return emitBigIntNegationResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32IncResult(Int32OperandId inputId);\
-+[[nodiscard]] bool emitInt32IncResult(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitInt32IncResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32DecResult(Int32OperandId inputId);\
-+[[nodiscard]] bool emitInt32DecResult(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitInt32DecResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleIncResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitDoubleIncResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitDoubleIncResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleDecResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitDoubleDecResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitDoubleDecResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntIncResult(BigIntOperandId inputId);\
-+[[nodiscard]] bool emitBigIntIncResult(CacheIRReader& reader) {\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ return emitBigIntIncResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntDecResult(BigIntOperandId inputId);\
-+[[nodiscard]] bool emitBigIntDecResult(CacheIRReader& reader) {\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ return emitBigIntDecResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32TruthyResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitLoadInt32TruthyResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitLoadInt32TruthyResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDoubleTruthyResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitLoadDoubleTruthyResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitLoadDoubleTruthyResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringTruthyResult(StringOperandId strId);\
-+[[nodiscard]] bool emitLoadStringTruthyResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitLoadStringTruthyResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadObjectTruthyResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadObjectTruthyResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadObjectTruthyResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadBigIntTruthyResult(BigIntOperandId bigIntId);\
-+[[nodiscard]] bool emitLoadBigIntTruthyResult(CacheIRReader& reader) {\
-+ BigIntOperandId bigIntId = reader.bigIntOperandId();\
-+ return emitLoadBigIntTruthyResult(bigIntId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadValueTruthyResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitLoadValueTruthyResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitLoadValueTruthyResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadOperandResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitLoadOperandResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitLoadOperandResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallStringConcatResult(StringOperandId lhsId, StringOperandId rhsId);\
-+[[nodiscard]] bool emitCallStringConcatResult(CacheIRReader& reader) {\
-+ StringOperandId lhsId = reader.stringOperandId();\
-+ StringOperandId rhsId = reader.stringOperandId();\
-+ return emitCallStringConcatResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallIsSuspendedGeneratorResult(ValOperandId valId);\
-+[[nodiscard]] bool emitCallIsSuspendedGeneratorResult(CacheIRReader& reader) {\
-+ ValOperandId valId = reader.valOperandId();\
-+ return emitCallIsSuspendedGeneratorResult(valId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareObjectResult(JSOp op, ObjOperandId lhsId, ObjOperandId rhsId);\
-+[[nodiscard]] bool emitCompareObjectResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ ObjOperandId lhsId = reader.objOperandId();\
-+ ObjOperandId rhsId = reader.objOperandId();\
-+ return emitCompareObjectResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareSymbolResult(JSOp op, SymbolOperandId lhsId, SymbolOperandId rhsId);\
-+[[nodiscard]] bool emitCompareSymbolResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ SymbolOperandId lhsId = reader.symbolOperandId();\
-+ SymbolOperandId rhsId = reader.symbolOperandId();\
-+ return emitCompareSymbolResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareInt32Result(JSOp op, Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitCompareInt32Result(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitCompareInt32Result(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareDoubleResult(JSOp op, NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitCompareDoubleResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitCompareDoubleResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareBigIntResult(JSOp op, BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitCompareBigIntResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitCompareBigIntResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareBigIntInt32Result(JSOp op, BigIntOperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitCompareBigIntInt32Result(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitCompareBigIntInt32Result(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareBigIntNumberResult(JSOp op, BigIntOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitCompareBigIntNumberResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitCompareBigIntNumberResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareBigIntStringResult(JSOp op, BigIntOperandId lhsId, StringOperandId rhsId);\
-+[[nodiscard]] bool emitCompareBigIntStringResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ StringOperandId rhsId = reader.stringOperandId();\
-+ return emitCompareBigIntStringResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareNullUndefinedResult(JSOp op, bool isUndefined, ValOperandId inputId);\
-+[[nodiscard]] bool emitCompareNullUndefinedResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ bool isUndefined = reader.readBool();\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitCompareNullUndefinedResult(op, isUndefined, inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareDoubleSameValueResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitCompareDoubleSameValueResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitCompareDoubleSameValueResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitIndirectTruncateInt32Result(Int32OperandId valId);\
-+[[nodiscard]] bool emitIndirectTruncateInt32Result(CacheIRReader& reader) {\
-+ Int32OperandId valId = reader.int32OperandId();\
-+ return emitIndirectTruncateInt32Result(valId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntAsIntNResult(Int32OperandId bitsId, BigIntOperandId bigIntId);\
-+[[nodiscard]] bool emitBigIntAsIntNResult(CacheIRReader& reader) {\
-+ Int32OperandId bitsId = reader.int32OperandId();\
-+ BigIntOperandId bigIntId = reader.bigIntOperandId();\
-+ return emitBigIntAsIntNResult(bitsId, bigIntId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntAsUintNResult(Int32OperandId bitsId, BigIntOperandId bigIntId);\
-+[[nodiscard]] bool emitBigIntAsUintNResult(CacheIRReader& reader) {\
-+ Int32OperandId bitsId = reader.int32OperandId();\
-+ BigIntOperandId bigIntId = reader.bigIntOperandId();\
-+ return emitBigIntAsUintNResult(bitsId, bigIntId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallPrintString(const char* str);\
-+[[nodiscard]] bool emitCallPrintString(CacheIRReader& reader) {\
-+ const char* str = reinterpret_cast<char*>(reader.pointer());\
-+ return emitCallPrintString(str);\
-+}\
-+\
-+[[nodiscard]] bool emitBreakpoint();\
-+[[nodiscard]] bool emitBreakpoint(CacheIRReader& reader) {\
-+ return emitBreakpoint();\
-+}\
-+\
-+[[nodiscard]] bool emitWrapResult();\
-+[[nodiscard]] bool emitWrapResult(CacheIRReader& reader) {\
-+ return emitWrapResult();\
-+}\
-+\
-+[[nodiscard]] bool emitBailout();\
-+[[nodiscard]] bool emitBailout(CacheIRReader& reader) {\
-+ return emitBailout();\
-+}\
-+\
-+[[nodiscard]] bool emitAssertRecoveredOnBailoutResult(ValOperandId valId, bool mustBeRecovered);\
-+[[nodiscard]] bool emitAssertRecoveredOnBailoutResult(CacheIRReader& reader) {\
-+ ValOperandId valId = reader.valOperandId();\
-+ bool mustBeRecovered = reader.readBool();\
-+ return emitAssertRecoveredOnBailoutResult(valId, mustBeRecovered);\
-+}\
-+
-+
-+#define CACHE_IR_COMPILER_UNSHARED_GENERATED \
-+[[nodiscard]] bool emitReturnFromIC();\
-+[[nodiscard]] bool emitReturnFromIC(CacheIRReader& reader) {\
-+ return emitReturnFromIC();\
-+}\
-+\
-+[[nodiscard]] bool emitGuardShape(ObjOperandId objId, uint32_t shapeOffset);\
-+[[nodiscard]] bool emitGuardShape(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ return emitGuardShape(objId, shapeOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardProto(ObjOperandId objId, uint32_t protoOffset);\
-+[[nodiscard]] bool emitGuardProto(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t protoOffset = reader.stubOffset();\
-+ return emitGuardProto(objId, protoOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardAnyClass(ObjOperandId objId, uint32_t claspOffset);\
-+[[nodiscard]] bool emitGuardAnyClass(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t claspOffset = reader.stubOffset();\
-+ return emitGuardAnyClass(objId, claspOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitHasClassResult(ObjOperandId objId, uint32_t claspOffset);\
-+[[nodiscard]] bool emitHasClassResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t claspOffset = reader.stubOffset();\
-+ return emitHasClassResult(objId, claspOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardCompartment(ObjOperandId objId, uint32_t globalOffset, uint32_t compartmentOffset);\
-+[[nodiscard]] bool emitGuardCompartment(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t globalOffset = reader.stubOffset();\
-+ uint32_t compartmentOffset = reader.stubOffset();\
-+ return emitGuardCompartment(objId, globalOffset, compartmentOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardHasProxyHandler(ObjOperandId objId, uint32_t handlerOffset);\
-+[[nodiscard]] bool emitGuardHasProxyHandler(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t handlerOffset = reader.stubOffset();\
-+ return emitGuardHasProxyHandler(objId, handlerOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardSpecificObject(ObjOperandId objId, uint32_t expectedOffset);\
-+[[nodiscard]] bool emitGuardSpecificObject(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ return emitGuardSpecificObject(objId, expectedOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardSpecificFunction(ObjOperandId funId, uint32_t expectedOffset, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitGuardSpecificFunction(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitGuardSpecificFunction(funId, expectedOffset, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionScript(ObjOperandId objId, uint32_t expectedOffset, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitGuardFunctionScript(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitGuardFunctionScript(objId, expectedOffset, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardSpecificAtom(StringOperandId strId, uint32_t expectedOffset);\
-+[[nodiscard]] bool emitGuardSpecificAtom(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ return emitGuardSpecificAtom(strId, expectedOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardSpecificSymbol(SymbolOperandId symId, uint32_t expectedOffset);\
-+[[nodiscard]] bool emitGuardSpecificSymbol(CacheIRReader& reader) {\
-+ SymbolOperandId symId = reader.symbolOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ return emitGuardSpecificSymbol(symId, expectedOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardAndGetIterator(ObjOperandId objId, uint32_t iterOffset, uint32_t enumeratorsAddrOffset, ObjOperandId resultId);\
-+[[nodiscard]] bool emitGuardAndGetIterator(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t iterOffset = reader.stubOffset();\
-+ uint32_t enumeratorsAddrOffset = reader.stubOffset();\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ return emitGuardAndGetIterator(objId, iterOffset, enumeratorsAddrOffset, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArgumentFixedSlot(ValOperandId resultId, uint8_t slotIndex);\
-+[[nodiscard]] bool emitLoadArgumentFixedSlot(CacheIRReader& reader) {\
-+ ValOperandId resultId = reader.valOperandId();\
-+ uint8_t slotIndex = reader.readByte();\
-+ return emitLoadArgumentFixedSlot(resultId, slotIndex);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArgumentDynamicSlot(ValOperandId resultId, Int32OperandId argcId, uint8_t slotIndex);\
-+[[nodiscard]] bool emitLoadArgumentDynamicSlot(CacheIRReader& reader) {\
-+ ValOperandId resultId = reader.valOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ uint8_t slotIndex = reader.readByte();\
-+ return emitLoadArgumentDynamicSlot(resultId, argcId, slotIndex);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicSetElement(ObjOperandId objId, ValOperandId idId, ValOperandId rhsId, bool strict);\
-+[[nodiscard]] bool emitMegamorphicSetElement(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool strict = reader.readBool();\
-+ return emitMegamorphicSetElement(objId, idId, rhsId, strict);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDOMExpandoValueGuardGeneration(ObjOperandId objId, uint32_t expandoAndGenerationOffset, uint32_t generationOffset, ValOperandId resultId);\
-+[[nodiscard]] bool emitLoadDOMExpandoValueGuardGeneration(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t expandoAndGenerationOffset = reader.stubOffset();\
-+ uint32_t generationOffset = reader.stubOffset();\
-+ ValOperandId resultId = reader.valOperandId();\
-+ return emitLoadDOMExpandoValueGuardGeneration(objId, expandoAndGenerationOffset, generationOffset, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardDOMExpandoMissingOrGuardShape(ValOperandId expandoId, uint32_t shapeOffset);\
-+[[nodiscard]] bool emitGuardDOMExpandoMissingOrGuardShape(CacheIRReader& reader) {\
-+ ValOperandId expandoId = reader.valOperandId();\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ return emitGuardDOMExpandoMissingOrGuardShape(expandoId, shapeOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreFixedSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitStoreFixedSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitStoreFixedSlot(objId, offsetOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitStoreDynamicSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitStoreDynamicSlot(objId, offsetOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitAddAndStoreFixedSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset);\
-+[[nodiscard]] bool emitAddAndStoreFixedSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ uint32_t newShapeOffset = reader.stubOffset();\
-+ return emitAddAndStoreFixedSlot(objId, offsetOffset, rhsId, newShapeOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitAddAndStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset);\
-+[[nodiscard]] bool emitAddAndStoreDynamicSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ uint32_t newShapeOffset = reader.stubOffset();\
-+ return emitAddAndStoreDynamicSlot(objId, offsetOffset, rhsId, newShapeOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitAllocateAndStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset, uint32_t numNewSlotsOffset);\
-+[[nodiscard]] bool emitAllocateAndStoreDynamicSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ uint32_t newShapeOffset = reader.stubOffset();\
-+ uint32_t numNewSlotsOffset = reader.stubOffset();\
-+ return emitAllocateAndStoreDynamicSlot(objId, offsetOffset, rhsId, newShapeOffset, numNewSlotsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitArrayJoinResult(ObjOperandId objId, StringOperandId sepId);\
-+[[nodiscard]] bool emitArrayJoinResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ StringOperandId sepId = reader.stringOperandId();\
-+ return emitArrayJoinResult(objId, sepId);\
-+}\
-+\
-+[[nodiscard]] bool emitPackedArraySliceResult(uint32_t templateObjectOffset, ObjOperandId arrayId, Int32OperandId beginId, Int32OperandId endId);\
-+[[nodiscard]] bool emitPackedArraySliceResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ Int32OperandId beginId = reader.int32OperandId();\
-+ Int32OperandId endId = reader.int32OperandId();\
-+ return emitPackedArraySliceResult(templateObjectOffset, arrayId, beginId, endId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsArrayResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitIsArrayResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitIsArrayResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsTypedArrayResult(ObjOperandId objId, bool isPossiblyWrapped);\
-+[[nodiscard]] bool emitIsTypedArrayResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ bool isPossiblyWrapped = reader.readBool();\
-+ return emitIsTypedArrayResult(objId, isPossiblyWrapped);\
-+}\
-+\
-+[[nodiscard]] bool emitStringFromCharCodeResult(Int32OperandId codeId);\
-+[[nodiscard]] bool emitStringFromCharCodeResult(CacheIRReader& reader) {\
-+ Int32OperandId codeId = reader.int32OperandId();\
-+ return emitStringFromCharCodeResult(codeId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringFromCodePointResult(Int32OperandId codeId);\
-+[[nodiscard]] bool emitStringFromCodePointResult(CacheIRReader& reader) {\
-+ Int32OperandId codeId = reader.int32OperandId();\
-+ return emitStringFromCodePointResult(codeId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathRandomResult(uint32_t rngOffset);\
-+[[nodiscard]] bool emitMathRandomResult(CacheIRReader& reader) {\
-+ uint32_t rngOffset = reader.stubOffset();\
-+ return emitMathRandomResult(rngOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitReflectGetPrototypeOfResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitReflectGetPrototypeOfResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitReflectGetPrototypeOfResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNativeSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallNativeSetter(CacheIRReader& reader) {\
-+ ObjOperandId receiverId = reader.objOperandId();\
-+ uint32_t setterOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallNativeSetter(receiverId, setterOffset, rhsId, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallScriptedSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallScriptedSetter(CacheIRReader& reader) {\
-+ ObjOperandId receiverId = reader.objOperandId();\
-+ uint32_t setterOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallScriptedSetter(receiverId, setterOffset, rhsId, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallInlinedSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, uint32_t icScriptOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallInlinedSetter(CacheIRReader& reader) {\
-+ ObjOperandId receiverId = reader.objOperandId();\
-+ uint32_t setterOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ uint32_t icScriptOffset = reader.stubOffset();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallInlinedSetter(receiverId, setterOffset, rhsId, icScriptOffset, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallDOMSetter(ObjOperandId objId, uint32_t jitInfoOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitCallDOMSetter(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t jitInfoOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitCallDOMSetter(objId, jitInfoOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallSetArrayLength(ObjOperandId objId, bool strict, ValOperandId rhsId);\
-+[[nodiscard]] bool emitCallSetArrayLength(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ bool strict = reader.readBool();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitCallSetArrayLength(objId, strict, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitProxySet(ObjOperandId objId, uint32_t idOffset, ValOperandId rhsId, bool strict);\
-+[[nodiscard]] bool emitProxySet(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t idOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool strict = reader.readBool();\
-+ return emitProxySet(objId, idOffset, rhsId, strict);\
-+}\
-+\
-+[[nodiscard]] bool emitProxySetByValue(ObjOperandId objId, ValOperandId idId, ValOperandId rhsId, bool strict);\
-+[[nodiscard]] bool emitProxySetByValue(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool strict = reader.readBool();\
-+ return emitProxySetByValue(objId, idId, rhsId, strict);\
-+}\
-+\
-+[[nodiscard]] bool emitCallAddOrUpdateSparseElementHelper(ObjOperandId objId, Int32OperandId idId, ValOperandId rhsId, bool strict);\
-+[[nodiscard]] bool emitCallAddOrUpdateSparseElementHelper(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId idId = reader.int32OperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool strict = reader.readBool();\
-+ return emitCallAddOrUpdateSparseElementHelper(objId, idId, rhsId, strict);\
-+}\
-+\
-+[[nodiscard]] bool emitCallScriptedFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags);\
-+[[nodiscard]] bool emitCallScriptedFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ CallFlags flags = reader.callFlags();\
-+ return emitCallScriptedFunction(calleeId, argcId, flags);\
-+}\
-+\
-+[[nodiscard]] bool emitCallWasmFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, uint32_t funcExportOffset, uint32_t instanceOffset);\
-+[[nodiscard]] bool emitCallWasmFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ CallFlags flags = reader.callFlags();\
-+ uint32_t funcExportOffset = reader.stubOffset();\
-+ uint32_t instanceOffset = reader.stubOffset();\
-+ return emitCallWasmFunction(calleeId, argcId, flags, funcExportOffset, instanceOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNativeFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, bool ignoresReturnValue);\
-+[[nodiscard]] bool emitCallNativeFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ CallFlags flags = reader.callFlags();\
-+ bool ignoresReturnValue = reader.readBool();\
-+ return emitCallNativeFunction(calleeId, argcId, flags, ignoresReturnValue);\
-+}\
-+\
-+[[nodiscard]] bool emitCallDOMFunction(ObjOperandId calleeId, Int32OperandId argcId, ObjOperandId thisObjId, CallFlags flags);\
-+[[nodiscard]] bool emitCallDOMFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ ObjOperandId thisObjId = reader.objOperandId();\
-+ CallFlags flags = reader.callFlags();\
-+ return emitCallDOMFunction(calleeId, argcId, thisObjId, flags);\
-+}\
-+\
-+[[nodiscard]] bool emitCallClassHook(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, uint32_t targetOffset);\
-+[[nodiscard]] bool emitCallClassHook(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ CallFlags flags = reader.callFlags();\
-+ uint32_t targetOffset = reader.stubOffset();\
-+ return emitCallClassHook(calleeId, argcId, flags, targetOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallInlinedFunction(ObjOperandId calleeId, Int32OperandId argcId, uint32_t icScriptOffset, CallFlags flags);\
-+[[nodiscard]] bool emitCallInlinedFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ uint32_t icScriptOffset = reader.stubOffset();\
-+ CallFlags flags = reader.callFlags();\
-+ return emitCallInlinedFunction(calleeId, argcId, icScriptOffset, flags);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadFixedSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
-+[[nodiscard]] bool emitLoadFixedSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ return emitLoadFixedSlotResult(objId, offsetOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadFixedSlotTypedResult(ObjOperandId objId, uint32_t offsetOffset, ValueType type);\
-+[[nodiscard]] bool emitLoadFixedSlotTypedResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValueType type = reader.valueType();\
-+ return emitLoadFixedSlotTypedResult(objId, offsetOffset, type);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDynamicSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
-+[[nodiscard]] bool emitLoadDynamicSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ return emitLoadDynamicSlotResult(objId, offsetOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringCharResult(StringOperandId strId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadStringCharResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadStringCharResult(strId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitFrameIsConstructingResult();\
-+[[nodiscard]] bool emitFrameIsConstructingResult(CacheIRReader& reader) {\
-+ return emitFrameIsConstructingResult();\
-+}\
-+\
-+[[nodiscard]] bool emitLoadEnvironmentFixedSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
-+[[nodiscard]] bool emitLoadEnvironmentFixedSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ return emitLoadEnvironmentFixedSlotResult(objId, offsetOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadEnvironmentDynamicSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
-+[[nodiscard]] bool emitLoadEnvironmentDynamicSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ return emitLoadEnvironmentDynamicSlotResult(objId, offsetOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallScriptedGetterResult(ValOperandId receiverId, uint32_t getterOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallScriptedGetterResult(CacheIRReader& reader) {\
-+ ValOperandId receiverId = reader.valOperandId();\
-+ uint32_t getterOffset = reader.stubOffset();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallScriptedGetterResult(receiverId, getterOffset, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallInlinedGetterResult(ValOperandId receiverId, uint32_t getterOffset, uint32_t icScriptOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallInlinedGetterResult(CacheIRReader& reader) {\
-+ ValOperandId receiverId = reader.valOperandId();\
-+ uint32_t getterOffset = reader.stubOffset();\
-+ uint32_t icScriptOffset = reader.stubOffset();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallInlinedGetterResult(receiverId, getterOffset, icScriptOffset, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNativeGetterResult(ValOperandId receiverId, uint32_t getterOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallNativeGetterResult(CacheIRReader& reader) {\
-+ ValOperandId receiverId = reader.valOperandId();\
-+ uint32_t getterOffset = reader.stubOffset();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallNativeGetterResult(receiverId, getterOffset, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallDOMGetterResult(ObjOperandId objId, uint32_t jitInfoOffset);\
-+[[nodiscard]] bool emitCallDOMGetterResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t jitInfoOffset = reader.stubOffset();\
-+ return emitCallDOMGetterResult(objId, jitInfoOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitProxyGetResult(ObjOperandId objId, uint32_t idOffset);\
-+[[nodiscard]] bool emitProxyGetResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t idOffset = reader.stubOffset();\
-+ return emitProxyGetResult(objId, idOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadConstantStringResult(uint32_t strOffset);\
-+[[nodiscard]] bool emitLoadConstantStringResult(CacheIRReader& reader) {\
-+ uint32_t strOffset = reader.stubOffset();\
-+ return emitLoadConstantStringResult(strOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadValueResult(uint32_t valOffset);\
-+[[nodiscard]] bool emitLoadValueResult(CacheIRReader& reader) {\
-+ uint32_t valOffset = reader.stubOffset();\
-+ return emitLoadValueResult(valOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitNewPlainObjectResult(uint32_t numFixedSlots, uint32_t numDynamicSlots, gc::AllocKind allocKind, uint32_t shapeOffset, uint32_t siteOffset);\
-+[[nodiscard]] bool emitNewPlainObjectResult(CacheIRReader& reader) {\
-+ uint32_t numFixedSlots = reader.uint32Immediate();\
-+ uint32_t numDynamicSlots = reader.uint32Immediate();\
-+ gc::AllocKind allocKind = reader.allocKind();\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ uint32_t siteOffset = reader.stubOffset();\
-+ return emitNewPlainObjectResult(numFixedSlots, numDynamicSlots, allocKind, shapeOffset, siteOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitNewArrayObjectResult(uint32_t arrayLength, uint32_t shapeOffset, uint32_t siteOffset);\
-+[[nodiscard]] bool emitNewArrayObjectResult(CacheIRReader& reader) {\
-+ uint32_t arrayLength = reader.uint32Immediate();\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ uint32_t siteOffset = reader.stubOffset();\
-+ return emitNewArrayObjectResult(arrayLength, shapeOffset, siteOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallStringObjectConcatResult(ValOperandId lhsId, ValOperandId rhsId);\
-+[[nodiscard]] bool emitCallStringObjectConcatResult(CacheIRReader& reader) {\
-+ ValOperandId lhsId = reader.valOperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitCallStringObjectConcatResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareStringResult(JSOp op, StringOperandId lhsId, StringOperandId rhsId);\
-+[[nodiscard]] bool emitCompareStringResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ StringOperandId lhsId = reader.stringOperandId();\
-+ StringOperandId rhsId = reader.stringOperandId();\
-+ return emitCompareStringResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitSameValueResult(ValOperandId lhsId, ValOperandId rhsId);\
-+[[nodiscard]] bool emitSameValueResult(CacheIRReader& reader) {\
-+ ValOperandId lhsId = reader.valOperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitSameValueResult(lhsId, rhsId);\
-+}\
-+
-+
-+#define CACHE_IR_TRANSPILER_GENERATED \
-+[[nodiscard]] bool emitReturnFromIC();\
-+[[nodiscard]] bool emitReturnFromIC(CacheIRReader& reader) {\
-+ return emitReturnFromIC();\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToObject(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToObject(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToObject(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNullOrUndefined(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardIsNullOrUndefined(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardIsNullOrUndefined(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNull(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardIsNull(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardIsNull(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsUndefined(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardIsUndefined(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardIsUndefined(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToBoolean(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToBoolean(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToBoolean(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToString(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToString(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToString(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToSymbol(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToSymbol(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToSymbol(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToBigInt(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToBigInt(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToBigInt(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNumber(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardIsNumber(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardIsNumber(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToInt32(ValOperandId inputId);\
-+[[nodiscard]] bool emitGuardToInt32(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitGuardToInt32(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardBooleanToInt32(ValOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardBooleanToInt32(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardBooleanToInt32(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToInt32Index(ValOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardToInt32Index(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardToInt32Index(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32ToIntPtr(Int32OperandId inputId, IntPtrOperandId resultId);\
-+[[nodiscard]] bool emitInt32ToIntPtr(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ IntPtrOperandId resultId = reader.intPtrOperandId();\
-+ return emitInt32ToIntPtr(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNumberToIntPtrIndex(NumberOperandId inputId, bool supportOOB, IntPtrOperandId resultId);\
-+[[nodiscard]] bool emitGuardNumberToIntPtrIndex(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ bool supportOOB = reader.readBool();\
-+ IntPtrOperandId resultId = reader.intPtrOperandId();\
-+ return emitGuardNumberToIntPtrIndex(inputId, supportOOB, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToInt32ModUint32(ValOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardToInt32ModUint32(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardToInt32ModUint32(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardToUint8Clamped(ValOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardToUint8Clamped(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardToUint8Clamped(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNonDoubleType(ValOperandId inputId, ValueType type);\
-+[[nodiscard]] bool emitGuardNonDoubleType(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ ValueType type = reader.valueType();\
-+ return emitGuardNonDoubleType(inputId, type);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardShape(ObjOperandId objId, uint32_t shapeOffset);\
-+[[nodiscard]] bool emitGuardShape(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ return emitGuardShape(objId, shapeOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardProto(ObjOperandId objId, uint32_t protoOffset);\
-+[[nodiscard]] bool emitGuardProto(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t protoOffset = reader.stubOffset();\
-+ return emitGuardProto(objId, protoOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNullProto(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardNullProto(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardNullProto(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardClass(ObjOperandId objId, GuardClassKind kind);\
-+[[nodiscard]] bool emitGuardClass(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ GuardClassKind kind = reader.guardClassKind();\
-+ return emitGuardClass(objId, kind);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardAnyClass(ObjOperandId objId, uint32_t claspOffset);\
-+[[nodiscard]] bool emitGuardAnyClass(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t claspOffset = reader.stubOffset();\
-+ return emitGuardAnyClass(objId, claspOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitHasClassResult(ObjOperandId objId, uint32_t claspOffset);\
-+[[nodiscard]] bool emitHasClassResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t claspOffset = reader.stubOffset();\
-+ return emitHasClassResult(objId, claspOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallRegExpMatcherResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
-+[[nodiscard]] bool emitCallRegExpMatcherResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ StringOperandId inputId = reader.stringOperandId();\
-+ Int32OperandId lastIndexId = reader.int32OperandId();\
-+ return emitCallRegExpMatcherResult(regexpId, inputId, lastIndexId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallRegExpSearcherResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
-+[[nodiscard]] bool emitCallRegExpSearcherResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ StringOperandId inputId = reader.stringOperandId();\
-+ Int32OperandId lastIndexId = reader.int32OperandId();\
-+ return emitCallRegExpSearcherResult(regexpId, inputId, lastIndexId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallRegExpTesterResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
-+[[nodiscard]] bool emitCallRegExpTesterResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ StringOperandId inputId = reader.stringOperandId();\
-+ Int32OperandId lastIndexId = reader.int32OperandId();\
-+ return emitCallRegExpTesterResult(regexpId, inputId, lastIndexId);\
-+}\
-+\
-+[[nodiscard]] bool emitRegExpFlagResult(ObjOperandId regexpId, int32_t flagsMask);\
-+[[nodiscard]] bool emitRegExpFlagResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ int32_t flagsMask = reader.int32Immediate();\
-+ return emitRegExpFlagResult(regexpId, flagsMask);\
-+}\
-+\
-+[[nodiscard]] bool emitCallSubstringKernelResult(StringOperandId strId, Int32OperandId beginId, Int32OperandId lengthId);\
-+[[nodiscard]] bool emitCallSubstringKernelResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId beginId = reader.int32OperandId();\
-+ Int32OperandId lengthId = reader.int32OperandId();\
-+ return emitCallSubstringKernelResult(strId, beginId, lengthId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringReplaceStringResult(StringOperandId strId, StringOperandId patternId, StringOperandId replacementId);\
-+[[nodiscard]] bool emitStringReplaceStringResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ StringOperandId patternId = reader.stringOperandId();\
-+ StringOperandId replacementId = reader.stringOperandId();\
-+ return emitStringReplaceStringResult(strId, patternId, replacementId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringSplitStringResult(StringOperandId strId, StringOperandId separatorId);\
-+[[nodiscard]] bool emitStringSplitStringResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ StringOperandId separatorId = reader.stringOperandId();\
-+ return emitStringSplitStringResult(strId, separatorId);\
-+}\
-+\
-+[[nodiscard]] bool emitRegExpPrototypeOptimizableResult(ObjOperandId protoId);\
-+[[nodiscard]] bool emitRegExpPrototypeOptimizableResult(CacheIRReader& reader) {\
-+ ObjOperandId protoId = reader.objOperandId();\
-+ return emitRegExpPrototypeOptimizableResult(protoId);\
-+}\
-+\
-+[[nodiscard]] bool emitRegExpInstanceOptimizableResult(ObjOperandId regexpId, ObjOperandId protoId);\
-+[[nodiscard]] bool emitRegExpInstanceOptimizableResult(CacheIRReader& reader) {\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ ObjOperandId protoId = reader.objOperandId();\
-+ return emitRegExpInstanceOptimizableResult(regexpId, protoId);\
-+}\
-+\
-+[[nodiscard]] bool emitGetFirstDollarIndexResult(StringOperandId strId);\
-+[[nodiscard]] bool emitGetFirstDollarIndexResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitGetFirstDollarIndexResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsExtensible(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsExtensible(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsExtensible(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNativeObject(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsNativeObject(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsNativeObject(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsProxy(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsProxy(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsProxy(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNotProxy(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsNotProxy(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsNotProxy(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNotArrayBufferMaybeShared(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsNotArrayBufferMaybeShared(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsNotArrayBufferMaybeShared(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsTypedArray(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsTypedArray(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsTypedArray(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIsNotDOMProxy(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardIsNotDOMProxy(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardIsNotDOMProxy(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardSpecificObject(ObjOperandId objId, uint32_t expectedOffset);\
-+[[nodiscard]] bool emitGuardSpecificObject(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ return emitGuardSpecificObject(objId, expectedOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardSpecificFunction(ObjOperandId funId, uint32_t expectedOffset, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitGuardSpecificFunction(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitGuardSpecificFunction(funId, expectedOffset, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionScript(ObjOperandId objId, uint32_t expectedOffset, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitGuardFunctionScript(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitGuardFunctionScript(objId, expectedOffset, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardSpecificAtom(StringOperandId strId, uint32_t expectedOffset);\
-+[[nodiscard]] bool emitGuardSpecificAtom(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ return emitGuardSpecificAtom(strId, expectedOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardSpecificSymbol(SymbolOperandId symId, uint32_t expectedOffset);\
-+[[nodiscard]] bool emitGuardSpecificSymbol(CacheIRReader& reader) {\
-+ SymbolOperandId symId = reader.symbolOperandId();\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ return emitGuardSpecificSymbol(symId, expectedOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNoDenseElements(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardNoDenseElements(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardNoDenseElements(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardStringToIndex(StringOperandId strId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardStringToIndex(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardStringToIndex(strId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardStringToInt32(StringOperandId strId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitGuardStringToInt32(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitGuardStringToInt32(strId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardStringToNumber(StringOperandId strId, NumberOperandId resultId);\
-+[[nodiscard]] bool emitGuardStringToNumber(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ NumberOperandId resultId = reader.numberOperandId();\
-+ return emitGuardStringToNumber(strId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitBooleanToNumber(BooleanOperandId booleanId, NumberOperandId resultId);\
-+[[nodiscard]] bool emitBooleanToNumber(CacheIRReader& reader) {\
-+ BooleanOperandId booleanId = reader.booleanOperandId();\
-+ NumberOperandId resultId = reader.numberOperandId();\
-+ return emitBooleanToNumber(booleanId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardHasGetterSetter(ObjOperandId objId, uint32_t idOffset, uint32_t getterSetterOffset);\
-+[[nodiscard]] bool emitGuardHasGetterSetter(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t idOffset = reader.stubOffset();\
-+ uint32_t getterSetterOffset = reader.stubOffset();\
-+ return emitGuardHasGetterSetter(objId, idOffset, getterSetterOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardInt32IsNonNegative(Int32OperandId indexId);\
-+[[nodiscard]] bool emitGuardInt32IsNonNegative(CacheIRReader& reader) {\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitGuardInt32IsNonNegative(indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIndexIsValidUpdateOrAdd(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitGuardIndexIsValidUpdateOrAdd(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitGuardIndexIsValidUpdateOrAdd(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardIndexGreaterThanDenseInitLength(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitGuardIndexGreaterThanDenseInitLength(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitGuardIndexGreaterThanDenseInitLength(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardTagNotEqual(ValueTagOperandId lhsId, ValueTagOperandId rhsId);\
-+[[nodiscard]] bool emitGuardTagNotEqual(CacheIRReader& reader) {\
-+ ValueTagOperandId lhsId = reader.valueTagOperandId();\
-+ ValueTagOperandId rhsId = reader.valueTagOperandId();\
-+ return emitGuardTagNotEqual(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardDynamicSlotIsSpecificObject(ObjOperandId objId, ObjOperandId expectedId, uint32_t slotOffset);\
-+[[nodiscard]] bool emitGuardDynamicSlotIsSpecificObject(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ObjOperandId expectedId = reader.objOperandId();\
-+ uint32_t slotOffset = reader.stubOffset();\
-+ return emitGuardDynamicSlotIsSpecificObject(objId, expectedId, slotOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFixedSlotValue(ObjOperandId objId, uint32_t offsetOffset, uint32_t valOffset);\
-+[[nodiscard]] bool emitGuardFixedSlotValue(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t valOffset = reader.stubOffset();\
-+ return emitGuardFixedSlotValue(objId, offsetOffset, valOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardDynamicSlotValue(ObjOperandId objId, uint32_t offsetOffset, uint32_t valOffset);\
-+[[nodiscard]] bool emitGuardDynamicSlotValue(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t valOffset = reader.stubOffset();\
-+ return emitGuardDynamicSlotValue(objId, offsetOffset, valOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNoAllocationMetadataBuilder(uint32_t builderAddrOffset);\
-+[[nodiscard]] bool emitGuardNoAllocationMetadataBuilder(CacheIRReader& reader) {\
-+ uint32_t builderAddrOffset = reader.stubOffset();\
-+ return emitGuardNoAllocationMetadataBuilder(builderAddrOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionHasJitEntry(ObjOperandId funId, bool constructing);\
-+[[nodiscard]] bool emitGuardFunctionHasJitEntry(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ bool constructing = reader.readBool();\
-+ return emitGuardFunctionHasJitEntry(funId, constructing);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionHasNoJitEntry(ObjOperandId funId);\
-+[[nodiscard]] bool emitGuardFunctionHasNoJitEntry(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ return emitGuardFunctionHasNoJitEntry(funId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionIsNonBuiltinCtor(ObjOperandId funId);\
-+[[nodiscard]] bool emitGuardFunctionIsNonBuiltinCtor(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ return emitGuardFunctionIsNonBuiltinCtor(funId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardFunctionIsConstructor(ObjOperandId funId);\
-+[[nodiscard]] bool emitGuardFunctionIsConstructor(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ return emitGuardFunctionIsConstructor(funId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardNotClassConstructor(ObjOperandId funId);\
-+[[nodiscard]] bool emitGuardNotClassConstructor(CacheIRReader& reader) {\
-+ ObjOperandId funId = reader.objOperandId();\
-+ return emitGuardNotClassConstructor(funId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardArrayIsPacked(ObjOperandId arrayId);\
-+[[nodiscard]] bool emitGuardArrayIsPacked(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ return emitGuardArrayIsPacked(arrayId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardArgumentsObjectFlags(ObjOperandId objId, uint8_t flags);\
-+[[nodiscard]] bool emitGuardArgumentsObjectFlags(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint8_t flags = reader.readByte();\
-+ return emitGuardArgumentsObjectFlags(objId, flags);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadObject(ObjOperandId resultId, uint32_t objOffset);\
-+[[nodiscard]] bool emitLoadObject(CacheIRReader& reader) {\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ uint32_t objOffset = reader.stubOffset();\
-+ return emitLoadObject(resultId, objOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadProto(ObjOperandId objId, ObjOperandId resultId);\
-+[[nodiscard]] bool emitLoadProto(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ return emitLoadProto(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadEnclosingEnvironment(ObjOperandId objId, ObjOperandId resultId);\
-+[[nodiscard]] bool emitLoadEnclosingEnvironment(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ return emitLoadEnclosingEnvironment(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadWrapperTarget(ObjOperandId objId, ObjOperandId resultId);\
-+[[nodiscard]] bool emitLoadWrapperTarget(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ return emitLoadWrapperTarget(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadValueTag(ValOperandId valId, ValueTagOperandId resultId);\
-+[[nodiscard]] bool emitLoadValueTag(CacheIRReader& reader) {\
-+ ValOperandId valId = reader.valOperandId();\
-+ ValueTagOperandId resultId = reader.valueTagOperandId();\
-+ return emitLoadValueTag(valId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArgumentFixedSlot(ValOperandId resultId, uint8_t slotIndex);\
-+[[nodiscard]] bool emitLoadArgumentFixedSlot(CacheIRReader& reader) {\
-+ ValOperandId resultId = reader.valOperandId();\
-+ uint8_t slotIndex = reader.readByte();\
-+ return emitLoadArgumentFixedSlot(resultId, slotIndex);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArgumentDynamicSlot(ValOperandId resultId, Int32OperandId argcId, uint8_t slotIndex);\
-+[[nodiscard]] bool emitLoadArgumentDynamicSlot(CacheIRReader& reader) {\
-+ ValOperandId resultId = reader.valOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ uint8_t slotIndex = reader.readByte();\
-+ return emitLoadArgumentDynamicSlot(resultId, argcId, slotIndex);\
-+}\
-+\
-+[[nodiscard]] bool emitTruncateDoubleToUInt32(NumberOperandId inputId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitTruncateDoubleToUInt32(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitTruncateDoubleToUInt32(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicLoadSlotResult(ObjOperandId objId, uint32_t nameOffset);\
-+[[nodiscard]] bool emitMegamorphicLoadSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t nameOffset = reader.stubOffset();\
-+ return emitMegamorphicLoadSlotResult(objId, nameOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicLoadSlotByValueResult(ObjOperandId objId, ValOperandId idId);\
-+[[nodiscard]] bool emitMegamorphicLoadSlotByValueResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ return emitMegamorphicLoadSlotByValueResult(objId, idId);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicStoreSlot(ObjOperandId objId, uint32_t nameOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitMegamorphicStoreSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t nameOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitMegamorphicStoreSlot(objId, nameOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicSetElement(ObjOperandId objId, ValOperandId idId, ValOperandId rhsId, bool strict);\
-+[[nodiscard]] bool emitMegamorphicSetElement(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool strict = reader.readBool();\
-+ return emitMegamorphicSetElement(objId, idId, rhsId, strict);\
-+}\
-+\
-+[[nodiscard]] bool emitMegamorphicHasPropResult(ObjOperandId objId, ValOperandId idId, bool hasOwn);\
-+[[nodiscard]] bool emitMegamorphicHasPropResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ bool hasOwn = reader.readBool();\
-+ return emitMegamorphicHasPropResult(objId, idId, hasOwn);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDOMExpandoValue(ObjOperandId objId, ValOperandId resultId);\
-+[[nodiscard]] bool emitLoadDOMExpandoValue(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId resultId = reader.valOperandId();\
-+ return emitLoadDOMExpandoValue(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDOMExpandoValueGuardGeneration(ObjOperandId objId, uint32_t expandoAndGenerationOffset, uint32_t generationOffset, ValOperandId resultId);\
-+[[nodiscard]] bool emitLoadDOMExpandoValueGuardGeneration(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t expandoAndGenerationOffset = reader.stubOffset();\
-+ uint32_t generationOffset = reader.stubOffset();\
-+ ValOperandId resultId = reader.valOperandId();\
-+ return emitLoadDOMExpandoValueGuardGeneration(objId, expandoAndGenerationOffset, generationOffset, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDOMExpandoValueIgnoreGeneration(ObjOperandId objId, ValOperandId resultId);\
-+[[nodiscard]] bool emitLoadDOMExpandoValueIgnoreGeneration(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId resultId = reader.valOperandId();\
-+ return emitLoadDOMExpandoValueIgnoreGeneration(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardDOMExpandoMissingOrGuardShape(ValOperandId expandoId, uint32_t shapeOffset);\
-+[[nodiscard]] bool emitGuardDOMExpandoMissingOrGuardShape(CacheIRReader& reader) {\
-+ ValOperandId expandoId = reader.valOperandId();\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ return emitGuardDOMExpandoMissingOrGuardShape(expandoId, shapeOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreFixedSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitStoreFixedSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitStoreFixedSlot(objId, offsetOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitStoreDynamicSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitStoreDynamicSlot(objId, offsetOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitAddAndStoreFixedSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset);\
-+[[nodiscard]] bool emitAddAndStoreFixedSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ uint32_t newShapeOffset = reader.stubOffset();\
-+ return emitAddAndStoreFixedSlot(objId, offsetOffset, rhsId, newShapeOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitAddAndStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset);\
-+[[nodiscard]] bool emitAddAndStoreDynamicSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ uint32_t newShapeOffset = reader.stubOffset();\
-+ return emitAddAndStoreDynamicSlot(objId, offsetOffset, rhsId, newShapeOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitAllocateAndStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset, uint32_t numNewSlotsOffset);\
-+[[nodiscard]] bool emitAllocateAndStoreDynamicSlot(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ uint32_t newShapeOffset = reader.stubOffset();\
-+ uint32_t numNewSlotsOffset = reader.stubOffset();\
-+ return emitAllocateAndStoreDynamicSlot(objId, offsetOffset, rhsId, newShapeOffset, numNewSlotsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreDenseElement(ObjOperandId objId, Int32OperandId indexId, ValOperandId rhsId);\
-+[[nodiscard]] bool emitStoreDenseElement(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitStoreDenseElement(objId, indexId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreDenseElementHole(ObjOperandId objId, Int32OperandId indexId, ValOperandId rhsId, bool handleAdd);\
-+[[nodiscard]] bool emitStoreDenseElementHole(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool handleAdd = reader.readBool();\
-+ return emitStoreDenseElementHole(objId, indexId, rhsId, handleAdd);\
-+}\
-+\
-+[[nodiscard]] bool emitArrayPush(ObjOperandId objId, ValOperandId rhsId);\
-+[[nodiscard]] bool emitArrayPush(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitArrayPush(objId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitArrayJoinResult(ObjOperandId objId, StringOperandId sepId);\
-+[[nodiscard]] bool emitArrayJoinResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ StringOperandId sepId = reader.stringOperandId();\
-+ return emitArrayJoinResult(objId, sepId);\
-+}\
-+\
-+[[nodiscard]] bool emitPackedArrayPopResult(ObjOperandId arrayId);\
-+[[nodiscard]] bool emitPackedArrayPopResult(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ return emitPackedArrayPopResult(arrayId);\
-+}\
-+\
-+[[nodiscard]] bool emitPackedArrayShiftResult(ObjOperandId arrayId);\
-+[[nodiscard]] bool emitPackedArrayShiftResult(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ return emitPackedArrayShiftResult(arrayId);\
-+}\
-+\
-+[[nodiscard]] bool emitPackedArraySliceResult(uint32_t templateObjectOffset, ObjOperandId arrayId, Int32OperandId beginId, Int32OperandId endId);\
-+[[nodiscard]] bool emitPackedArraySliceResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ Int32OperandId beginId = reader.int32OperandId();\
-+ Int32OperandId endId = reader.int32OperandId();\
-+ return emitPackedArraySliceResult(templateObjectOffset, arrayId, beginId, endId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsArrayResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitIsArrayResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitIsArrayResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreFixedSlotUndefinedResult(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitStoreFixedSlotUndefinedResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitStoreFixedSlotUndefinedResult(objId, offsetOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsObjectResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitIsObjectResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitIsObjectResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsPackedArrayResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitIsPackedArrayResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitIsPackedArrayResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsCallableResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitIsCallableResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitIsCallableResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsConstructorResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitIsConstructorResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitIsConstructorResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsCrossRealmArrayConstructorResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitIsCrossRealmArrayConstructorResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitIsCrossRealmArrayConstructorResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitIsTypedArrayResult(ObjOperandId objId, bool isPossiblyWrapped);\
-+[[nodiscard]] bool emitIsTypedArrayResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ bool isPossiblyWrapped = reader.readBool();\
-+ return emitIsTypedArrayResult(objId, isPossiblyWrapped);\
-+}\
-+\
-+[[nodiscard]] bool emitIsTypedArrayConstructorResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitIsTypedArrayConstructorResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitIsTypedArrayConstructorResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitArrayBufferViewByteOffsetInt32Result(ObjOperandId objId);\
-+[[nodiscard]] bool emitArrayBufferViewByteOffsetInt32Result(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitArrayBufferViewByteOffsetInt32Result(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitArrayBufferViewByteOffsetDoubleResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitArrayBufferViewByteOffsetDoubleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitArrayBufferViewByteOffsetDoubleResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitTypedArrayByteLengthInt32Result(ObjOperandId objId);\
-+[[nodiscard]] bool emitTypedArrayByteLengthInt32Result(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitTypedArrayByteLengthInt32Result(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitTypedArrayByteLengthDoubleResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitTypedArrayByteLengthDoubleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitTypedArrayByteLengthDoubleResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitTypedArrayElementSizeResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitTypedArrayElementSizeResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitTypedArrayElementSizeResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardHasAttachedArrayBuffer(ObjOperandId objId);\
-+[[nodiscard]] bool emitGuardHasAttachedArrayBuffer(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitGuardHasAttachedArrayBuffer(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitFinishBoundFunctionInitResult(ObjOperandId boundId, ObjOperandId targetId, Int32OperandId argCountId);\
-+[[nodiscard]] bool emitFinishBoundFunctionInitResult(CacheIRReader& reader) {\
-+ ObjOperandId boundId = reader.objOperandId();\
-+ ObjOperandId targetId = reader.objOperandId();\
-+ Int32OperandId argCountId = reader.int32OperandId();\
-+ return emitFinishBoundFunctionInitResult(boundId, targetId, argCountId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewArrayIteratorResult(uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitNewArrayIteratorResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitNewArrayIteratorResult(templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitNewStringIteratorResult(uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitNewStringIteratorResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitNewStringIteratorResult(templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitNewRegExpStringIteratorResult(uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitNewRegExpStringIteratorResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitNewRegExpStringIteratorResult(templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitObjectCreateResult(uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitObjectCreateResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitObjectCreateResult(templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitNewArrayFromLengthResult(uint32_t templateObjectOffset, Int32OperandId lengthId);\
-+[[nodiscard]] bool emitNewArrayFromLengthResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ Int32OperandId lengthId = reader.int32OperandId();\
-+ return emitNewArrayFromLengthResult(templateObjectOffset, lengthId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewTypedArrayFromLengthResult(uint32_t templateObjectOffset, Int32OperandId lengthId);\
-+[[nodiscard]] bool emitNewTypedArrayFromLengthResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ Int32OperandId lengthId = reader.int32OperandId();\
-+ return emitNewTypedArrayFromLengthResult(templateObjectOffset, lengthId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewTypedArrayFromArrayBufferResult(uint32_t templateObjectOffset, ObjOperandId bufferId, ValOperandId byteOffsetId, ValOperandId lengthId);\
-+[[nodiscard]] bool emitNewTypedArrayFromArrayBufferResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ ObjOperandId bufferId = reader.objOperandId();\
-+ ValOperandId byteOffsetId = reader.valOperandId();\
-+ ValOperandId lengthId = reader.valOperandId();\
-+ return emitNewTypedArrayFromArrayBufferResult(templateObjectOffset, bufferId, byteOffsetId, lengthId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewTypedArrayFromArrayResult(uint32_t templateObjectOffset, ObjOperandId arrayId);\
-+[[nodiscard]] bool emitNewTypedArrayFromArrayResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ return emitNewTypedArrayFromArrayResult(templateObjectOffset, arrayId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewStringObjectResult(uint32_t templateObjectOffset, StringOperandId strId);\
-+[[nodiscard]] bool emitNewStringObjectResult(CacheIRReader& reader) {\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitNewStringObjectResult(templateObjectOffset, strId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringFromCharCodeResult(Int32OperandId codeId);\
-+[[nodiscard]] bool emitStringFromCharCodeResult(CacheIRReader& reader) {\
-+ Int32OperandId codeId = reader.int32OperandId();\
-+ return emitStringFromCharCodeResult(codeId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringFromCodePointResult(Int32OperandId codeId);\
-+[[nodiscard]] bool emitStringFromCodePointResult(CacheIRReader& reader) {\
-+ Int32OperandId codeId = reader.int32OperandId();\
-+ return emitStringFromCodePointResult(codeId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringToLowerCaseResult(StringOperandId strId);\
-+[[nodiscard]] bool emitStringToLowerCaseResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitStringToLowerCaseResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitStringToUpperCaseResult(StringOperandId strId);\
-+[[nodiscard]] bool emitStringToUpperCaseResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitStringToUpperCaseResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathAbsInt32Result(Int32OperandId inputId);\
-+[[nodiscard]] bool emitMathAbsInt32Result(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitMathAbsInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathAbsNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathAbsNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathAbsNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathClz32Result(Int32OperandId inputId);\
-+[[nodiscard]] bool emitMathClz32Result(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitMathClz32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathSignInt32Result(Int32OperandId inputId);\
-+[[nodiscard]] bool emitMathSignInt32Result(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitMathSignInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathSignNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathSignNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathSignNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathSignNumberToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathSignNumberToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathSignNumberToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathImulResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitMathImulResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitMathImulResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathSqrtNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathSqrtNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathSqrtNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathFRoundNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathFRoundNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathFRoundNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathRandomResult(uint32_t rngOffset);\
-+[[nodiscard]] bool emitMathRandomResult(CacheIRReader& reader) {\
-+ uint32_t rngOffset = reader.stubOffset();\
-+ return emitMathRandomResult(rngOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitMathHypot2NumberResult(NumberOperandId firstId, NumberOperandId secondId);\
-+[[nodiscard]] bool emitMathHypot2NumberResult(CacheIRReader& reader) {\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ return emitMathHypot2NumberResult(firstId, secondId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathHypot3NumberResult(NumberOperandId firstId, NumberOperandId secondId, NumberOperandId thirdId);\
-+[[nodiscard]] bool emitMathHypot3NumberResult(CacheIRReader& reader) {\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ NumberOperandId thirdId = reader.numberOperandId();\
-+ return emitMathHypot3NumberResult(firstId, secondId, thirdId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathHypot4NumberResult(NumberOperandId firstId, NumberOperandId secondId, NumberOperandId thirdId, NumberOperandId fourthId);\
-+[[nodiscard]] bool emitMathHypot4NumberResult(CacheIRReader& reader) {\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ NumberOperandId thirdId = reader.numberOperandId();\
-+ NumberOperandId fourthId = reader.numberOperandId();\
-+ return emitMathHypot4NumberResult(firstId, secondId, thirdId, fourthId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathAtan2NumberResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitMathAtan2NumberResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitMathAtan2NumberResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathFloorNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathFloorNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathFloorNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathCeilNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathCeilNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathCeilNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathTruncNumberResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathTruncNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathTruncNumberResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathFloorToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathFloorToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathFloorToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathCeilToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathCeilToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathCeilToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathTruncToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathTruncToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathTruncToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitMathRoundToInt32Result(NumberOperandId inputId);\
-+[[nodiscard]] bool emitMathRoundToInt32Result(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitMathRoundToInt32Result(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32MinMax(bool isMax, Int32OperandId firstId, Int32OperandId secondId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitInt32MinMax(CacheIRReader& reader) {\
-+ bool isMax = reader.readBool();\
-+ Int32OperandId firstId = reader.int32OperandId();\
-+ Int32OperandId secondId = reader.int32OperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitInt32MinMax(isMax, firstId, secondId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitNumberMinMax(bool isMax, NumberOperandId firstId, NumberOperandId secondId, NumberOperandId resultId);\
-+[[nodiscard]] bool emitNumberMinMax(CacheIRReader& reader) {\
-+ bool isMax = reader.readBool();\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ NumberOperandId resultId = reader.numberOperandId();\
-+ return emitNumberMinMax(isMax, firstId, secondId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32MinMaxArrayResult(ObjOperandId arrayId, bool isMax);\
-+[[nodiscard]] bool emitInt32MinMaxArrayResult(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ bool isMax = reader.readBool();\
-+ return emitInt32MinMaxArrayResult(arrayId, isMax);\
-+}\
-+\
-+[[nodiscard]] bool emitNumberMinMaxArrayResult(ObjOperandId arrayId, bool isMax);\
-+[[nodiscard]] bool emitNumberMinMaxArrayResult(CacheIRReader& reader) {\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ bool isMax = reader.readBool();\
-+ return emitNumberMinMaxArrayResult(arrayId, isMax);\
-+}\
-+\
-+[[nodiscard]] bool emitMathFunctionNumberResult(NumberOperandId inputId, UnaryMathFunction fun);\
-+[[nodiscard]] bool emitMathFunctionNumberResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ UnaryMathFunction fun = reader.unaryMathFunction();\
-+ return emitMathFunctionNumberResult(inputId, fun);\
-+}\
-+\
-+[[nodiscard]] bool emitObjectToStringResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitObjectToStringResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitObjectToStringResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitReflectGetPrototypeOfResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitReflectGetPrototypeOfResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitReflectGetPrototypeOfResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreTypedArrayElement(ObjOperandId objId, Scalar::Type elementType, IntPtrOperandId indexId, uint32_t rhsId, bool handleOOB);\
-+[[nodiscard]] bool emitStoreTypedArrayElement(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t rhsId = reader.rawOperandId();\
-+ bool handleOOB = reader.readBool();\
-+ return emitStoreTypedArrayElement(objId, elementType, indexId, rhsId, handleOOB);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsCompareExchangeResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t expectedId, uint32_t replacementId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitAtomicsCompareExchangeResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t expectedId = reader.rawOperandId();\
-+ uint32_t replacementId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitAtomicsCompareExchangeResult(objId, indexId, expectedId, replacementId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsExchangeResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitAtomicsExchangeResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitAtomicsExchangeResult(objId, indexId, valueId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsAddResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsAddResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsAddResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsSubResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsSubResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsSubResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsAndResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsAndResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsAndResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsOrResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsOrResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsOrResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsXorResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
-+[[nodiscard]] bool emitAtomicsXorResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forEffect = reader.readBool();\
-+ return emitAtomicsXorResult(objId, indexId, valueId, elementType, forEffect);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsLoadResult(ObjOperandId objId, IntPtrOperandId indexId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitAtomicsLoadResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitAtomicsLoadResult(objId, indexId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsStoreResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitAtomicsStoreResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitAtomicsStoreResult(objId, indexId, valueId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitAtomicsIsLockFreeResult(Int32OperandId valueId);\
-+[[nodiscard]] bool emitAtomicsIsLockFreeResult(CacheIRReader& reader) {\
-+ Int32OperandId valueId = reader.int32OperandId();\
-+ return emitAtomicsIsLockFreeResult(valueId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNativeSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallNativeSetter(CacheIRReader& reader) {\
-+ ObjOperandId receiverId = reader.objOperandId();\
-+ uint32_t setterOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallNativeSetter(receiverId, setterOffset, rhsId, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallScriptedSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallScriptedSetter(CacheIRReader& reader) {\
-+ ObjOperandId receiverId = reader.objOperandId();\
-+ uint32_t setterOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallScriptedSetter(receiverId, setterOffset, rhsId, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallInlinedSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, uint32_t icScriptOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallInlinedSetter(CacheIRReader& reader) {\
-+ ObjOperandId receiverId = reader.objOperandId();\
-+ uint32_t setterOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ uint32_t icScriptOffset = reader.stubOffset();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallInlinedSetter(receiverId, setterOffset, rhsId, icScriptOffset, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallDOMSetter(ObjOperandId objId, uint32_t jitInfoOffset, ValOperandId rhsId);\
-+[[nodiscard]] bool emitCallDOMSetter(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t jitInfoOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitCallDOMSetter(objId, jitInfoOffset, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallSetArrayLength(ObjOperandId objId, bool strict, ValOperandId rhsId);\
-+[[nodiscard]] bool emitCallSetArrayLength(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ bool strict = reader.readBool();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitCallSetArrayLength(objId, strict, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitProxySet(ObjOperandId objId, uint32_t idOffset, ValOperandId rhsId, bool strict);\
-+[[nodiscard]] bool emitProxySet(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t idOffset = reader.stubOffset();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool strict = reader.readBool();\
-+ return emitProxySet(objId, idOffset, rhsId, strict);\
-+}\
-+\
-+[[nodiscard]] bool emitProxySetByValue(ObjOperandId objId, ValOperandId idId, ValOperandId rhsId, bool strict);\
-+[[nodiscard]] bool emitProxySetByValue(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool strict = reader.readBool();\
-+ return emitProxySetByValue(objId, idId, rhsId, strict);\
-+}\
-+\
-+[[nodiscard]] bool emitCallAddOrUpdateSparseElementHelper(ObjOperandId objId, Int32OperandId idId, ValOperandId rhsId, bool strict);\
-+[[nodiscard]] bool emitCallAddOrUpdateSparseElementHelper(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId idId = reader.int32OperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ bool strict = reader.readBool();\
-+ return emitCallAddOrUpdateSparseElementHelper(objId, idId, rhsId, strict);\
-+}\
-+\
-+[[nodiscard]] bool emitCallInt32ToString(Int32OperandId inputId, StringOperandId resultId);\
-+[[nodiscard]] bool emitCallInt32ToString(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ return emitCallInt32ToString(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNumberToString(NumberOperandId inputId, StringOperandId resultId);\
-+[[nodiscard]] bool emitCallNumberToString(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ return emitCallNumberToString(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitBooleanToString(BooleanOperandId inputId, StringOperandId resultId);\
-+[[nodiscard]] bool emitBooleanToString(CacheIRReader& reader) {\
-+ BooleanOperandId inputId = reader.booleanOperandId();\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ return emitBooleanToString(inputId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallScriptedFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags);\
-+[[nodiscard]] bool emitCallScriptedFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ CallFlags flags = reader.callFlags();\
-+ return emitCallScriptedFunction(calleeId, argcId, flags);\
-+}\
-+\
-+[[nodiscard]] bool emitCallWasmFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, uint32_t funcExportOffset, uint32_t instanceOffset);\
-+[[nodiscard]] bool emitCallWasmFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ CallFlags flags = reader.callFlags();\
-+ uint32_t funcExportOffset = reader.stubOffset();\
-+ uint32_t instanceOffset = reader.stubOffset();\
-+ return emitCallWasmFunction(calleeId, argcId, flags, funcExportOffset, instanceOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitGuardWasmArg(ValOperandId argId, wasm::ValType::Kind type);\
-+[[nodiscard]] bool emitGuardWasmArg(CacheIRReader& reader) {\
-+ ValOperandId argId = reader.valOperandId();\
-+ wasm::ValType::Kind type = reader.wasmValType();\
-+ return emitGuardWasmArg(argId, type);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNativeFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, bool ignoresReturnValue);\
-+[[nodiscard]] bool emitCallNativeFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ CallFlags flags = reader.callFlags();\
-+ bool ignoresReturnValue = reader.readBool();\
-+ return emitCallNativeFunction(calleeId, argcId, flags, ignoresReturnValue);\
-+}\
-+\
-+[[nodiscard]] bool emitCallDOMFunction(ObjOperandId calleeId, Int32OperandId argcId, ObjOperandId thisObjId, CallFlags flags);\
-+[[nodiscard]] bool emitCallDOMFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ ObjOperandId thisObjId = reader.objOperandId();\
-+ CallFlags flags = reader.callFlags();\
-+ return emitCallDOMFunction(calleeId, argcId, thisObjId, flags);\
-+}\
-+\
-+[[nodiscard]] bool emitCallInlinedFunction(ObjOperandId calleeId, Int32OperandId argcId, uint32_t icScriptOffset, CallFlags flags);\
-+[[nodiscard]] bool emitCallInlinedFunction(CacheIRReader& reader) {\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ uint32_t icScriptOffset = reader.stubOffset();\
-+ CallFlags flags = reader.callFlags();\
-+ return emitCallInlinedFunction(calleeId, argcId, icScriptOffset, flags);\
-+}\
-+\
-+[[nodiscard]] bool emitMetaTwoByte(uint32_t functionObjectOffset, uint32_t templateObjectOffset);\
-+[[nodiscard]] bool emitMetaTwoByte(CacheIRReader& reader) {\
-+ uint32_t functionObjectOffset = reader.stubOffset();\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ return emitMetaTwoByte(functionObjectOffset, templateObjectOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadFixedSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
-+[[nodiscard]] bool emitLoadFixedSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ return emitLoadFixedSlotResult(objId, offsetOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadFixedSlotTypedResult(ObjOperandId objId, uint32_t offsetOffset, ValueType type);\
-+[[nodiscard]] bool emitLoadFixedSlotTypedResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ ValueType type = reader.valueType();\
-+ return emitLoadFixedSlotTypedResult(objId, offsetOffset, type);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDynamicSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
-+[[nodiscard]] bool emitLoadDynamicSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ return emitLoadDynamicSlotResult(objId, offsetOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDenseElementResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadDenseElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadDenseElementResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDenseElementHoleResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadDenseElementHoleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadDenseElementHoleResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallGetSparseElementResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitCallGetSparseElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitCallGetSparseElementResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDenseElementExistsResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadDenseElementExistsResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadDenseElementExistsResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadTypedArrayElementExistsResult(ObjOperandId objId, IntPtrOperandId indexId);\
-+[[nodiscard]] bool emitLoadTypedArrayElementExistsResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ return emitLoadTypedArrayElementExistsResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDenseElementHoleExistsResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadDenseElementHoleExistsResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadDenseElementHoleExistsResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadTypedArrayElementResult(ObjOperandId objId, IntPtrOperandId indexId, Scalar::Type elementType, bool handleOOB, bool forceDoubleForUint32);\
-+[[nodiscard]] bool emitLoadTypedArrayElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool handleOOB = reader.readBool();\
-+ bool forceDoubleForUint32 = reader.readBool();\
-+ return emitLoadTypedArrayElementResult(objId, indexId, elementType, handleOOB, forceDoubleForUint32);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDataViewValueResult(ObjOperandId objId, IntPtrOperandId offsetId, BooleanOperandId littleEndianId, Scalar::Type elementType, bool forceDoubleForUint32);\
-+[[nodiscard]] bool emitLoadDataViewValueResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId offsetId = reader.intPtrOperandId();\
-+ BooleanOperandId littleEndianId = reader.booleanOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ bool forceDoubleForUint32 = reader.readBool();\
-+ return emitLoadDataViewValueResult(objId, offsetId, littleEndianId, elementType, forceDoubleForUint32);\
-+}\
-+\
-+[[nodiscard]] bool emitStoreDataViewValueResult(ObjOperandId objId, IntPtrOperandId offsetId, uint32_t valueId, BooleanOperandId littleEndianId, Scalar::Type elementType);\
-+[[nodiscard]] bool emitStoreDataViewValueResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ IntPtrOperandId offsetId = reader.intPtrOperandId();\
-+ uint32_t valueId = reader.rawOperandId();\
-+ BooleanOperandId littleEndianId = reader.booleanOperandId();\
-+ Scalar::Type elementType = reader.scalarType();\
-+ return emitStoreDataViewValueResult(objId, offsetId, valueId, littleEndianId, elementType);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32ArrayLengthResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadInt32ArrayLengthResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadInt32ArrayLengthResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32ArrayLength(ObjOperandId objId, Int32OperandId resultId);\
-+[[nodiscard]] bool emitLoadInt32ArrayLength(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitLoadInt32ArrayLength(objId, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArgumentsObjectArgResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadArgumentsObjectArgResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadArgumentsObjectArgResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArgumentsObjectLengthResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArgumentsObjectLengthResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArgumentsObjectLengthResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadFunctionLengthResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadFunctionLengthResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadFunctionLengthResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadFunctionNameResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadFunctionNameResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadFunctionNameResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArrayBufferByteLengthInt32Result(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArrayBufferByteLengthInt32Result(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArrayBufferByteLengthInt32Result(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArrayBufferByteLengthDoubleResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArrayBufferByteLengthDoubleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArrayBufferByteLengthDoubleResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArrayBufferViewLengthInt32Result(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArrayBufferViewLengthInt32Result(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArrayBufferViewLengthInt32Result(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadArrayBufferViewLengthDoubleResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadArrayBufferViewLengthDoubleResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadArrayBufferViewLengthDoubleResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringCharResult(StringOperandId strId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadStringCharResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadStringCharResult(strId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringCharCodeResult(StringOperandId strId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitLoadStringCharCodeResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitLoadStringCharCodeResult(strId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringLengthResult(StringOperandId strId);\
-+[[nodiscard]] bool emitLoadStringLengthResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitLoadStringLengthResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitFrameIsConstructingResult();\
-+[[nodiscard]] bool emitFrameIsConstructingResult(CacheIRReader& reader) {\
-+ return emitFrameIsConstructingResult();\
-+}\
-+\
-+[[nodiscard]] bool emitLoadEnvironmentFixedSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
-+[[nodiscard]] bool emitLoadEnvironmentFixedSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ return emitLoadEnvironmentFixedSlotResult(objId, offsetOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadEnvironmentDynamicSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
-+[[nodiscard]] bool emitLoadEnvironmentDynamicSlotResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ return emitLoadEnvironmentDynamicSlotResult(objId, offsetOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadObjectResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadObjectResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadObjectResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringResult(StringOperandId strId);\
-+[[nodiscard]] bool emitLoadStringResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitLoadStringResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadSymbolResult(SymbolOperandId symId);\
-+[[nodiscard]] bool emitLoadSymbolResult(CacheIRReader& reader) {\
-+ SymbolOperandId symId = reader.symbolOperandId();\
-+ return emitLoadSymbolResult(symId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32Result(Int32OperandId valId);\
-+[[nodiscard]] bool emitLoadInt32Result(CacheIRReader& reader) {\
-+ Int32OperandId valId = reader.int32OperandId();\
-+ return emitLoadInt32Result(valId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDoubleResult(NumberOperandId valId);\
-+[[nodiscard]] bool emitLoadDoubleResult(CacheIRReader& reader) {\
-+ NumberOperandId valId = reader.numberOperandId();\
-+ return emitLoadDoubleResult(valId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadBigIntResult(BigIntOperandId valId);\
-+[[nodiscard]] bool emitLoadBigIntResult(CacheIRReader& reader) {\
-+ BigIntOperandId valId = reader.bigIntOperandId();\
-+ return emitLoadBigIntResult(valId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallScriptedGetterResult(ValOperandId receiverId, uint32_t getterOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallScriptedGetterResult(CacheIRReader& reader) {\
-+ ValOperandId receiverId = reader.valOperandId();\
-+ uint32_t getterOffset = reader.stubOffset();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallScriptedGetterResult(receiverId, getterOffset, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallInlinedGetterResult(ValOperandId receiverId, uint32_t getterOffset, uint32_t icScriptOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallInlinedGetterResult(CacheIRReader& reader) {\
-+ ValOperandId receiverId = reader.valOperandId();\
-+ uint32_t getterOffset = reader.stubOffset();\
-+ uint32_t icScriptOffset = reader.stubOffset();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallInlinedGetterResult(receiverId, getterOffset, icScriptOffset, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNativeGetterResult(ValOperandId receiverId, uint32_t getterOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
-+[[nodiscard]] bool emitCallNativeGetterResult(CacheIRReader& reader) {\
-+ ValOperandId receiverId = reader.valOperandId();\
-+ uint32_t getterOffset = reader.stubOffset();\
-+ bool sameRealm = reader.readBool();\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ return emitCallNativeGetterResult(receiverId, getterOffset, sameRealm, nargsAndFlagsOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallDOMGetterResult(ObjOperandId objId, uint32_t jitInfoOffset);\
-+[[nodiscard]] bool emitCallDOMGetterResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t jitInfoOffset = reader.stubOffset();\
-+ return emitCallDOMGetterResult(objId, jitInfoOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitProxyGetResult(ObjOperandId objId, uint32_t idOffset);\
-+[[nodiscard]] bool emitProxyGetResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ uint32_t idOffset = reader.stubOffset();\
-+ return emitProxyGetResult(objId, idOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitProxyGetByValueResult(ObjOperandId objId, ValOperandId idId);\
-+[[nodiscard]] bool emitProxyGetByValueResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ return emitProxyGetByValueResult(objId, idId);\
-+}\
-+\
-+[[nodiscard]] bool emitProxyHasPropResult(ObjOperandId objId, ValOperandId idId, bool hasOwn);\
-+[[nodiscard]] bool emitProxyHasPropResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ ValOperandId idId = reader.valOperandId();\
-+ bool hasOwn = reader.readBool();\
-+ return emitProxyHasPropResult(objId, idId, hasOwn);\
-+}\
-+\
-+[[nodiscard]] bool emitCallObjectHasSparseElementResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitCallObjectHasSparseElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitCallObjectHasSparseElementResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitCallNativeGetElementResult(ObjOperandId objId, Int32OperandId indexId);\
-+[[nodiscard]] bool emitCallNativeGetElementResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ return emitCallNativeGetElementResult(objId, indexId);\
-+}\
-+\
-+[[nodiscard]] bool emitGetNextMapSetEntryForIteratorResult(ObjOperandId iterId, ObjOperandId resultArrId, bool isMap);\
-+[[nodiscard]] bool emitGetNextMapSetEntryForIteratorResult(CacheIRReader& reader) {\
-+ ObjOperandId iterId = reader.objOperandId();\
-+ ObjOperandId resultArrId = reader.objOperandId();\
-+ bool isMap = reader.readBool();\
-+ return emitGetNextMapSetEntryForIteratorResult(iterId, resultArrId, isMap);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadUndefinedResult();\
-+[[nodiscard]] bool emitLoadUndefinedResult(CacheIRReader& reader) {\
-+ return emitLoadUndefinedResult();\
-+}\
-+\
-+[[nodiscard]] bool emitLoadBooleanResult(bool val);\
-+[[nodiscard]] bool emitLoadBooleanResult(CacheIRReader& reader) {\
-+ bool val = reader.readBool();\
-+ return emitLoadBooleanResult(val);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32Constant(uint32_t valOffset, Int32OperandId resultId);\
-+[[nodiscard]] bool emitLoadInt32Constant(CacheIRReader& reader) {\
-+ uint32_t valOffset = reader.stubOffset();\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ return emitLoadInt32Constant(valOffset, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadBooleanConstant(bool val, BooleanOperandId resultId);\
-+[[nodiscard]] bool emitLoadBooleanConstant(CacheIRReader& reader) {\
-+ bool val = reader.readBool();\
-+ BooleanOperandId resultId = reader.booleanOperandId();\
-+ return emitLoadBooleanConstant(val, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadUndefined(ValOperandId resultId);\
-+[[nodiscard]] bool emitLoadUndefined(CacheIRReader& reader) {\
-+ ValOperandId resultId = reader.valOperandId();\
-+ return emitLoadUndefined(resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadConstantString(uint32_t strOffset, StringOperandId resultId);\
-+[[nodiscard]] bool emitLoadConstantString(CacheIRReader& reader) {\
-+ uint32_t strOffset = reader.stubOffset();\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ return emitLoadConstantString(strOffset, resultId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadConstantStringResult(uint32_t strOffset);\
-+[[nodiscard]] bool emitLoadConstantStringResult(CacheIRReader& reader) {\
-+ uint32_t strOffset = reader.stubOffset();\
-+ return emitLoadConstantStringResult(strOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInstanceOfObjectResult(ValOperandId lhsId, ObjOperandId protoId);\
-+[[nodiscard]] bool emitLoadInstanceOfObjectResult(CacheIRReader& reader) {\
-+ ValOperandId lhsId = reader.valOperandId();\
-+ ObjOperandId protoId = reader.objOperandId();\
-+ return emitLoadInstanceOfObjectResult(lhsId, protoId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadTypeOfObjectResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadTypeOfObjectResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadTypeOfObjectResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleAddResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleAddResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleAddResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleSubResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleSubResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleSubResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleMulResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleMulResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleMulResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleDivResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleDivResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleDivResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleModResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoubleModResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoubleModResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoublePowResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitDoublePowResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitDoublePowResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32AddResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32AddResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32AddResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32SubResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32SubResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32SubResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32MulResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32MulResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32MulResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32DivResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32DivResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32DivResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32ModResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32ModResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32ModResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32PowResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32PowResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32PowResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntAddResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntAddResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntAddResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntSubResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntSubResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntSubResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntMulResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntMulResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntMulResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntDivResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntDivResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntDivResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntModResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntModResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntModResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntPowResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntPowResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntPowResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32BitOrResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32BitOrResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32BitOrResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32BitXorResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32BitXorResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32BitXorResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32BitAndResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32BitAndResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32BitAndResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32LeftShiftResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32LeftShiftResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32LeftShiftResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32RightShiftResult(Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitInt32RightShiftResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitInt32RightShiftResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32URightShiftResult(Int32OperandId lhsId, Int32OperandId rhsId, bool forceDouble);\
-+[[nodiscard]] bool emitInt32URightShiftResult(CacheIRReader& reader) {\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ bool forceDouble = reader.readBool();\
-+ return emitInt32URightShiftResult(lhsId, rhsId, forceDouble);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32NotResult(Int32OperandId inputId);\
-+[[nodiscard]] bool emitInt32NotResult(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitInt32NotResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntBitOrResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntBitOrResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntBitOrResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntBitXorResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntBitXorResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntBitXorResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntBitAndResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntBitAndResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntBitAndResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntLeftShiftResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntLeftShiftResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntLeftShiftResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntRightShiftResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitBigIntRightShiftResult(CacheIRReader& reader) {\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitBigIntRightShiftResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntNotResult(BigIntOperandId inputId);\
-+[[nodiscard]] bool emitBigIntNotResult(CacheIRReader& reader) {\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ return emitBigIntNotResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32NegationResult(Int32OperandId inputId);\
-+[[nodiscard]] bool emitInt32NegationResult(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitInt32NegationResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleNegationResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitDoubleNegationResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitDoubleNegationResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntNegationResult(BigIntOperandId inputId);\
-+[[nodiscard]] bool emitBigIntNegationResult(CacheIRReader& reader) {\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ return emitBigIntNegationResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32IncResult(Int32OperandId inputId);\
-+[[nodiscard]] bool emitInt32IncResult(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitInt32IncResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitInt32DecResult(Int32OperandId inputId);\
-+[[nodiscard]] bool emitInt32DecResult(CacheIRReader& reader) {\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ return emitInt32DecResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleIncResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitDoubleIncResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitDoubleIncResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitDoubleDecResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitDoubleDecResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitDoubleDecResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntIncResult(BigIntOperandId inputId);\
-+[[nodiscard]] bool emitBigIntIncResult(CacheIRReader& reader) {\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ return emitBigIntIncResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntDecResult(BigIntOperandId inputId);\
-+[[nodiscard]] bool emitBigIntDecResult(CacheIRReader& reader) {\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ return emitBigIntDecResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadInt32TruthyResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitLoadInt32TruthyResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitLoadInt32TruthyResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadDoubleTruthyResult(NumberOperandId inputId);\
-+[[nodiscard]] bool emitLoadDoubleTruthyResult(CacheIRReader& reader) {\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ return emitLoadDoubleTruthyResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadStringTruthyResult(StringOperandId strId);\
-+[[nodiscard]] bool emitLoadStringTruthyResult(CacheIRReader& reader) {\
-+ StringOperandId strId = reader.stringOperandId();\
-+ return emitLoadStringTruthyResult(strId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadObjectTruthyResult(ObjOperandId objId);\
-+[[nodiscard]] bool emitLoadObjectTruthyResult(CacheIRReader& reader) {\
-+ ObjOperandId objId = reader.objOperandId();\
-+ return emitLoadObjectTruthyResult(objId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadBigIntTruthyResult(BigIntOperandId bigIntId);\
-+[[nodiscard]] bool emitLoadBigIntTruthyResult(CacheIRReader& reader) {\
-+ BigIntOperandId bigIntId = reader.bigIntOperandId();\
-+ return emitLoadBigIntTruthyResult(bigIntId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadValueTruthyResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitLoadValueTruthyResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitLoadValueTruthyResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitLoadOperandResult(ValOperandId inputId);\
-+[[nodiscard]] bool emitLoadOperandResult(CacheIRReader& reader) {\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitLoadOperandResult(inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitNewPlainObjectResult(uint32_t numFixedSlots, uint32_t numDynamicSlots, gc::AllocKind allocKind, uint32_t shapeOffset, uint32_t siteOffset);\
-+[[nodiscard]] bool emitNewPlainObjectResult(CacheIRReader& reader) {\
-+ uint32_t numFixedSlots = reader.uint32Immediate();\
-+ uint32_t numDynamicSlots = reader.uint32Immediate();\
-+ gc::AllocKind allocKind = reader.allocKind();\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ uint32_t siteOffset = reader.stubOffset();\
-+ return emitNewPlainObjectResult(numFixedSlots, numDynamicSlots, allocKind, shapeOffset, siteOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitNewArrayObjectResult(uint32_t arrayLength, uint32_t shapeOffset, uint32_t siteOffset);\
-+[[nodiscard]] bool emitNewArrayObjectResult(CacheIRReader& reader) {\
-+ uint32_t arrayLength = reader.uint32Immediate();\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ uint32_t siteOffset = reader.stubOffset();\
-+ return emitNewArrayObjectResult(arrayLength, shapeOffset, siteOffset);\
-+}\
-+\
-+[[nodiscard]] bool emitCallStringConcatResult(StringOperandId lhsId, StringOperandId rhsId);\
-+[[nodiscard]] bool emitCallStringConcatResult(CacheIRReader& reader) {\
-+ StringOperandId lhsId = reader.stringOperandId();\
-+ StringOperandId rhsId = reader.stringOperandId();\
-+ return emitCallStringConcatResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareStringResult(JSOp op, StringOperandId lhsId, StringOperandId rhsId);\
-+[[nodiscard]] bool emitCompareStringResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ StringOperandId lhsId = reader.stringOperandId();\
-+ StringOperandId rhsId = reader.stringOperandId();\
-+ return emitCompareStringResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareObjectResult(JSOp op, ObjOperandId lhsId, ObjOperandId rhsId);\
-+[[nodiscard]] bool emitCompareObjectResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ ObjOperandId lhsId = reader.objOperandId();\
-+ ObjOperandId rhsId = reader.objOperandId();\
-+ return emitCompareObjectResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareSymbolResult(JSOp op, SymbolOperandId lhsId, SymbolOperandId rhsId);\
-+[[nodiscard]] bool emitCompareSymbolResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ SymbolOperandId lhsId = reader.symbolOperandId();\
-+ SymbolOperandId rhsId = reader.symbolOperandId();\
-+ return emitCompareSymbolResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareInt32Result(JSOp op, Int32OperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitCompareInt32Result(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitCompareInt32Result(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareDoubleResult(JSOp op, NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitCompareDoubleResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitCompareDoubleResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareBigIntResult(JSOp op, BigIntOperandId lhsId, BigIntOperandId rhsId);\
-+[[nodiscard]] bool emitCompareBigIntResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ return emitCompareBigIntResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareBigIntInt32Result(JSOp op, BigIntOperandId lhsId, Int32OperandId rhsId);\
-+[[nodiscard]] bool emitCompareBigIntInt32Result(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ return emitCompareBigIntInt32Result(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareBigIntNumberResult(JSOp op, BigIntOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitCompareBigIntNumberResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitCompareBigIntNumberResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareBigIntStringResult(JSOp op, BigIntOperandId lhsId, StringOperandId rhsId);\
-+[[nodiscard]] bool emitCompareBigIntStringResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ StringOperandId rhsId = reader.stringOperandId();\
-+ return emitCompareBigIntStringResult(op, lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareNullUndefinedResult(JSOp op, bool isUndefined, ValOperandId inputId);\
-+[[nodiscard]] bool emitCompareNullUndefinedResult(CacheIRReader& reader) {\
-+ JSOp op = reader.jsop();\
-+ bool isUndefined = reader.readBool();\
-+ ValOperandId inputId = reader.valOperandId();\
-+ return emitCompareNullUndefinedResult(op, isUndefined, inputId);\
-+}\
-+\
-+[[nodiscard]] bool emitCompareDoubleSameValueResult(NumberOperandId lhsId, NumberOperandId rhsId);\
-+[[nodiscard]] bool emitCompareDoubleSameValueResult(CacheIRReader& reader) {\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ return emitCompareDoubleSameValueResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitSameValueResult(ValOperandId lhsId, ValOperandId rhsId);\
-+[[nodiscard]] bool emitSameValueResult(CacheIRReader& reader) {\
-+ ValOperandId lhsId = reader.valOperandId();\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ return emitSameValueResult(lhsId, rhsId);\
-+}\
-+\
-+[[nodiscard]] bool emitIndirectTruncateInt32Result(Int32OperandId valId);\
-+[[nodiscard]] bool emitIndirectTruncateInt32Result(CacheIRReader& reader) {\
-+ Int32OperandId valId = reader.int32OperandId();\
-+ return emitIndirectTruncateInt32Result(valId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntAsIntNResult(Int32OperandId bitsId, BigIntOperandId bigIntId);\
-+[[nodiscard]] bool emitBigIntAsIntNResult(CacheIRReader& reader) {\
-+ Int32OperandId bitsId = reader.int32OperandId();\
-+ BigIntOperandId bigIntId = reader.bigIntOperandId();\
-+ return emitBigIntAsIntNResult(bitsId, bigIntId);\
-+}\
-+\
-+[[nodiscard]] bool emitBigIntAsUintNResult(Int32OperandId bitsId, BigIntOperandId bigIntId);\
-+[[nodiscard]] bool emitBigIntAsUintNResult(CacheIRReader& reader) {\
-+ Int32OperandId bitsId = reader.int32OperandId();\
-+ BigIntOperandId bigIntId = reader.bigIntOperandId();\
-+ return emitBigIntAsUintNResult(bitsId, bigIntId);\
-+}\
-+\
-+[[nodiscard]] bool emitBailout();\
-+[[nodiscard]] bool emitBailout(CacheIRReader& reader) {\
-+ return emitBailout();\
-+}\
-+\
-+[[nodiscard]] bool emitAssertRecoveredOnBailoutResult(ValOperandId valId, bool mustBeRecovered);\
-+[[nodiscard]] bool emitAssertRecoveredOnBailoutResult(CacheIRReader& reader) {\
-+ ValOperandId valId = reader.valOperandId();\
-+ bool mustBeRecovered = reader.readBool();\
-+ return emitAssertRecoveredOnBailoutResult(valId, mustBeRecovered);\
-+}\
-+
-+
-+#define CACHE_IR_TRANSPILER_OPS(_)\
-+_(ReturnFromIC)\
-+_(GuardToObject)\
-+_(GuardIsNullOrUndefined)\
-+_(GuardIsNull)\
-+_(GuardIsUndefined)\
-+_(GuardToBoolean)\
-+_(GuardToString)\
-+_(GuardToSymbol)\
-+_(GuardToBigInt)\
-+_(GuardIsNumber)\
-+_(GuardToInt32)\
-+_(GuardBooleanToInt32)\
-+_(GuardToInt32Index)\
-+_(Int32ToIntPtr)\
-+_(GuardNumberToIntPtrIndex)\
-+_(GuardToInt32ModUint32)\
-+_(GuardToUint8Clamped)\
-+_(GuardNonDoubleType)\
-+_(GuardShape)\
-+_(GuardProto)\
-+_(GuardNullProto)\
-+_(GuardClass)\
-+_(GuardAnyClass)\
-+_(HasClassResult)\
-+_(CallRegExpMatcherResult)\
-+_(CallRegExpSearcherResult)\
-+_(CallRegExpTesterResult)\
-+_(RegExpFlagResult)\
-+_(CallSubstringKernelResult)\
-+_(StringReplaceStringResult)\
-+_(StringSplitStringResult)\
-+_(RegExpPrototypeOptimizableResult)\
-+_(RegExpInstanceOptimizableResult)\
-+_(GetFirstDollarIndexResult)\
-+_(GuardIsExtensible)\
-+_(GuardIsNativeObject)\
-+_(GuardIsProxy)\
-+_(GuardIsNotProxy)\
-+_(GuardIsNotArrayBufferMaybeShared)\
-+_(GuardIsTypedArray)\
-+_(GuardIsNotDOMProxy)\
-+_(GuardSpecificObject)\
-+_(GuardSpecificFunction)\
-+_(GuardFunctionScript)\
-+_(GuardSpecificAtom)\
-+_(GuardSpecificSymbol)\
-+_(GuardNoDenseElements)\
-+_(GuardStringToIndex)\
-+_(GuardStringToInt32)\
-+_(GuardStringToNumber)\
-+_(BooleanToNumber)\
-+_(GuardHasGetterSetter)\
-+_(GuardInt32IsNonNegative)\
-+_(GuardIndexIsValidUpdateOrAdd)\
-+_(GuardIndexGreaterThanDenseInitLength)\
-+_(GuardTagNotEqual)\
-+_(GuardDynamicSlotIsSpecificObject)\
-+_(GuardFixedSlotValue)\
-+_(GuardDynamicSlotValue)\
-+_(GuardNoAllocationMetadataBuilder)\
-+_(GuardFunctionHasJitEntry)\
-+_(GuardFunctionHasNoJitEntry)\
-+_(GuardFunctionIsNonBuiltinCtor)\
-+_(GuardFunctionIsConstructor)\
-+_(GuardNotClassConstructor)\
-+_(GuardArrayIsPacked)\
-+_(GuardArgumentsObjectFlags)\
-+_(LoadObject)\
-+_(LoadProto)\
-+_(LoadEnclosingEnvironment)\
-+_(LoadWrapperTarget)\
-+_(LoadValueTag)\
-+_(LoadArgumentFixedSlot)\
-+_(LoadArgumentDynamicSlot)\
-+_(TruncateDoubleToUInt32)\
-+_(MegamorphicLoadSlotResult)\
-+_(MegamorphicLoadSlotByValueResult)\
-+_(MegamorphicStoreSlot)\
-+_(MegamorphicSetElement)\
-+_(MegamorphicHasPropResult)\
-+_(LoadDOMExpandoValue)\
-+_(LoadDOMExpandoValueGuardGeneration)\
-+_(LoadDOMExpandoValueIgnoreGeneration)\
-+_(GuardDOMExpandoMissingOrGuardShape)\
-+_(StoreFixedSlot)\
-+_(StoreDynamicSlot)\
-+_(AddAndStoreFixedSlot)\
-+_(AddAndStoreDynamicSlot)\
-+_(AllocateAndStoreDynamicSlot)\
-+_(StoreDenseElement)\
-+_(StoreDenseElementHole)\
-+_(ArrayPush)\
-+_(ArrayJoinResult)\
-+_(PackedArrayPopResult)\
-+_(PackedArrayShiftResult)\
-+_(PackedArraySliceResult)\
-+_(IsArrayResult)\
-+_(StoreFixedSlotUndefinedResult)\
-+_(IsObjectResult)\
-+_(IsPackedArrayResult)\
-+_(IsCallableResult)\
-+_(IsConstructorResult)\
-+_(IsCrossRealmArrayConstructorResult)\
-+_(IsTypedArrayResult)\
-+_(IsTypedArrayConstructorResult)\
-+_(ArrayBufferViewByteOffsetInt32Result)\
-+_(ArrayBufferViewByteOffsetDoubleResult)\
-+_(TypedArrayByteLengthInt32Result)\
-+_(TypedArrayByteLengthDoubleResult)\
-+_(TypedArrayElementSizeResult)\
-+_(GuardHasAttachedArrayBuffer)\
-+_(FinishBoundFunctionInitResult)\
-+_(NewArrayIteratorResult)\
-+_(NewStringIteratorResult)\
-+_(NewRegExpStringIteratorResult)\
-+_(ObjectCreateResult)\
-+_(NewArrayFromLengthResult)\
-+_(NewTypedArrayFromLengthResult)\
-+_(NewTypedArrayFromArrayBufferResult)\
-+_(NewTypedArrayFromArrayResult)\
-+_(NewStringObjectResult)\
-+_(StringFromCharCodeResult)\
-+_(StringFromCodePointResult)\
-+_(StringToLowerCaseResult)\
-+_(StringToUpperCaseResult)\
-+_(MathAbsInt32Result)\
-+_(MathAbsNumberResult)\
-+_(MathClz32Result)\
-+_(MathSignInt32Result)\
-+_(MathSignNumberResult)\
-+_(MathSignNumberToInt32Result)\
-+_(MathImulResult)\
-+_(MathSqrtNumberResult)\
-+_(MathFRoundNumberResult)\
-+_(MathRandomResult)\
-+_(MathHypot2NumberResult)\
-+_(MathHypot3NumberResult)\
-+_(MathHypot4NumberResult)\
-+_(MathAtan2NumberResult)\
-+_(MathFloorNumberResult)\
-+_(MathCeilNumberResult)\
-+_(MathTruncNumberResult)\
-+_(MathFloorToInt32Result)\
-+_(MathCeilToInt32Result)\
-+_(MathTruncToInt32Result)\
-+_(MathRoundToInt32Result)\
-+_(Int32MinMax)\
-+_(NumberMinMax)\
-+_(Int32MinMaxArrayResult)\
-+_(NumberMinMaxArrayResult)\
-+_(MathFunctionNumberResult)\
-+_(ObjectToStringResult)\
-+_(ReflectGetPrototypeOfResult)\
-+_(StoreTypedArrayElement)\
-+_(AtomicsCompareExchangeResult)\
-+_(AtomicsExchangeResult)\
-+_(AtomicsAddResult)\
-+_(AtomicsSubResult)\
-+_(AtomicsAndResult)\
-+_(AtomicsOrResult)\
-+_(AtomicsXorResult)\
-+_(AtomicsLoadResult)\
-+_(AtomicsStoreResult)\
-+_(AtomicsIsLockFreeResult)\
-+_(CallNativeSetter)\
-+_(CallScriptedSetter)\
-+_(CallInlinedSetter)\
-+_(CallDOMSetter)\
-+_(CallSetArrayLength)\
-+_(ProxySet)\
-+_(ProxySetByValue)\
-+_(CallAddOrUpdateSparseElementHelper)\
-+_(CallInt32ToString)\
-+_(CallNumberToString)\
-+_(BooleanToString)\
-+_(CallScriptedFunction)\
-+_(CallWasmFunction)\
-+_(GuardWasmArg)\
-+_(CallNativeFunction)\
-+_(CallDOMFunction)\
-+_(CallInlinedFunction)\
-+_(MetaTwoByte)\
-+_(LoadFixedSlotResult)\
-+_(LoadFixedSlotTypedResult)\
-+_(LoadDynamicSlotResult)\
-+_(LoadDenseElementResult)\
-+_(LoadDenseElementHoleResult)\
-+_(CallGetSparseElementResult)\
-+_(LoadDenseElementExistsResult)\
-+_(LoadTypedArrayElementExistsResult)\
-+_(LoadDenseElementHoleExistsResult)\
-+_(LoadTypedArrayElementResult)\
-+_(LoadDataViewValueResult)\
-+_(StoreDataViewValueResult)\
-+_(LoadInt32ArrayLengthResult)\
-+_(LoadInt32ArrayLength)\
-+_(LoadArgumentsObjectArgResult)\
-+_(LoadArgumentsObjectLengthResult)\
-+_(LoadFunctionLengthResult)\
-+_(LoadFunctionNameResult)\
-+_(LoadArrayBufferByteLengthInt32Result)\
-+_(LoadArrayBufferByteLengthDoubleResult)\
-+_(LoadArrayBufferViewLengthInt32Result)\
-+_(LoadArrayBufferViewLengthDoubleResult)\
-+_(LoadStringCharResult)\
-+_(LoadStringCharCodeResult)\
-+_(LoadStringLengthResult)\
-+_(FrameIsConstructingResult)\
-+_(LoadEnvironmentFixedSlotResult)\
-+_(LoadEnvironmentDynamicSlotResult)\
-+_(LoadObjectResult)\
-+_(LoadStringResult)\
-+_(LoadSymbolResult)\
-+_(LoadInt32Result)\
-+_(LoadDoubleResult)\
-+_(LoadBigIntResult)\
-+_(CallScriptedGetterResult)\
-+_(CallInlinedGetterResult)\
-+_(CallNativeGetterResult)\
-+_(CallDOMGetterResult)\
-+_(ProxyGetResult)\
-+_(ProxyGetByValueResult)\
-+_(ProxyHasPropResult)\
-+_(CallObjectHasSparseElementResult)\
-+_(CallNativeGetElementResult)\
-+_(GetNextMapSetEntryForIteratorResult)\
-+_(LoadUndefinedResult)\
-+_(LoadBooleanResult)\
-+_(LoadInt32Constant)\
-+_(LoadBooleanConstant)\
-+_(LoadUndefined)\
-+_(LoadConstantString)\
-+_(LoadConstantStringResult)\
-+_(LoadInstanceOfObjectResult)\
-+_(LoadTypeOfObjectResult)\
-+_(DoubleAddResult)\
-+_(DoubleSubResult)\
-+_(DoubleMulResult)\
-+_(DoubleDivResult)\
-+_(DoubleModResult)\
-+_(DoublePowResult)\
-+_(Int32AddResult)\
-+_(Int32SubResult)\
-+_(Int32MulResult)\
-+_(Int32DivResult)\
-+_(Int32ModResult)\
-+_(Int32PowResult)\
-+_(BigIntAddResult)\
-+_(BigIntSubResult)\
-+_(BigIntMulResult)\
-+_(BigIntDivResult)\
-+_(BigIntModResult)\
-+_(BigIntPowResult)\
-+_(Int32BitOrResult)\
-+_(Int32BitXorResult)\
-+_(Int32BitAndResult)\
-+_(Int32LeftShiftResult)\
-+_(Int32RightShiftResult)\
-+_(Int32URightShiftResult)\
-+_(Int32NotResult)\
-+_(BigIntBitOrResult)\
-+_(BigIntBitXorResult)\
-+_(BigIntBitAndResult)\
-+_(BigIntLeftShiftResult)\
-+_(BigIntRightShiftResult)\
-+_(BigIntNotResult)\
-+_(Int32NegationResult)\
-+_(DoubleNegationResult)\
-+_(BigIntNegationResult)\
-+_(Int32IncResult)\
-+_(Int32DecResult)\
-+_(DoubleIncResult)\
-+_(DoubleDecResult)\
-+_(BigIntIncResult)\
-+_(BigIntDecResult)\
-+_(LoadInt32TruthyResult)\
-+_(LoadDoubleTruthyResult)\
-+_(LoadStringTruthyResult)\
-+_(LoadObjectTruthyResult)\
-+_(LoadBigIntTruthyResult)\
-+_(LoadValueTruthyResult)\
-+_(LoadOperandResult)\
-+_(NewPlainObjectResult)\
-+_(NewArrayObjectResult)\
-+_(CallStringConcatResult)\
-+_(CompareStringResult)\
-+_(CompareObjectResult)\
-+_(CompareSymbolResult)\
-+_(CompareInt32Result)\
-+_(CompareDoubleResult)\
-+_(CompareBigIntResult)\
-+_(CompareBigIntInt32Result)\
-+_(CompareBigIntNumberResult)\
-+_(CompareBigIntStringResult)\
-+_(CompareNullUndefinedResult)\
-+_(CompareDoubleSameValueResult)\
-+_(SameValueResult)\
-+_(IndirectTruncateInt32Result)\
-+_(BigIntAsIntNResult)\
-+_(BigIntAsUintNResult)\
-+_(Bailout)\
-+_(AssertRecoveredOnBailoutResult)
-+
-+#define CACHE_IR_SPEWER_GENERATED \
-+void spewReturnFromIC(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ReturnFromIC);\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardToObject(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardToObject);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsNullOrUndefined(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsNullOrUndefined);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsNull(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsNull);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsUndefined(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsUndefined);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardToBoolean(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardToBoolean);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardToString(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardToString);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardToSymbol(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardToSymbol);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardToBigInt(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardToBigInt);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsNumber(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsNumber);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardToInt32(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardToInt32);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardBooleanToInt32(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardBooleanToInt32);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardToInt32Index(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardToInt32Index);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32ToIntPtr(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32ToIntPtr);\
-+ spewOperandId("inputId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.intPtrOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardNumberToIntPtrIndex(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardNumberToIntPtrIndex);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("supportOOB", reader.readBool());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.intPtrOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardToInt32ModUint32(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardToInt32ModUint32);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardToUint8Clamped(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardToUint8Clamped);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardNonDoubleType(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardNonDoubleType);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewValueTypeImm("type", reader.valueType());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardShape(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardShape);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("shapeOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardProto(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardProto);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("protoOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardNullProto(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardNullProto);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardClass(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardClass);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewGuardClassKindImm("kind", reader.guardClassKind());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardAnyClass(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardAnyClass);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("claspOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewHasClassResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::HasClassResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("claspOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallRegExpMatcherResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallRegExpMatcherResult);\
-+ spewOperandId("regexpId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("inputId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("lastIndexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallRegExpSearcherResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallRegExpSearcherResult);\
-+ spewOperandId("regexpId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("inputId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("lastIndexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallRegExpTesterResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallRegExpTesterResult);\
-+ spewOperandId("regexpId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("inputId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("lastIndexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewRegExpFlagResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::RegExpFlagResult);\
-+ spewOperandId("regexpId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewInt32Imm("flagsMask", reader.int32Immediate());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallSubstringKernelResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallSubstringKernelResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("beginId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("lengthId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStringReplaceStringResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StringReplaceStringResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("patternId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("replacementId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStringSplitStringResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StringSplitStringResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("separatorId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewRegExpPrototypeOptimizableResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::RegExpPrototypeOptimizableResult);\
-+ spewOperandId("protoId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewRegExpInstanceOptimizableResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::RegExpInstanceOptimizableResult);\
-+ spewOperandId("regexpId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("protoId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGetFirstDollarIndexResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GetFirstDollarIndexResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardCompartment(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardCompartment);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("globalOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("compartmentOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsExtensible(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsExtensible);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsNativeObject(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsNativeObject);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsProxy(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsProxy);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsNotProxy(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsNotProxy);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsNotArrayBufferMaybeShared(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsNotArrayBufferMaybeShared);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsTypedArray(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsTypedArray);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardHasProxyHandler(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardHasProxyHandler);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("handlerOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIsNotDOMProxy(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIsNotDOMProxy);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardSpecificObject(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardSpecificObject);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("expectedOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardSpecificFunction(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardSpecificFunction);\
-+ spewOperandId("funId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("expectedOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("nargsAndFlagsOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardFunctionScript(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardFunctionScript);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("expectedOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("nargsAndFlagsOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardSpecificAtom(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardSpecificAtom);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewField("expectedOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardSpecificSymbol(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardSpecificSymbol);\
-+ spewOperandId("symId", reader.symbolOperandId());\
-+ spewArgSeparator();\
-+ spewField("expectedOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardNoDenseElements(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardNoDenseElements);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardStringToIndex(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardStringToIndex);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardStringToInt32(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardStringToInt32);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardStringToNumber(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardStringToNumber);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBooleanToNumber(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BooleanToNumber);\
-+ spewOperandId("booleanId", reader.booleanOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardAndGetIterator(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardAndGetIterator);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("iterOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("enumeratorsAddrOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardHasGetterSetter(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardHasGetterSetter);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("idOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("getterSetterOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardInt32IsNonNegative(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardInt32IsNonNegative);\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIndexIsValidUpdateOrAdd(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIndexIsValidUpdateOrAdd);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardIndexGreaterThanDenseInitLength(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardIndexGreaterThanDenseInitLength);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardTagNotEqual(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardTagNotEqual);\
-+ spewOperandId("lhsId", reader.valueTagOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valueTagOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardXrayExpandoShapeAndDefaultProto(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardXrayExpandoShapeAndDefaultProto);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("shapeWrapperOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardXrayNoExpando(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardXrayNoExpando);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardDynamicSlotIsSpecificObject(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardDynamicSlotIsSpecificObject);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("expectedId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("slotOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardFixedSlotValue(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardFixedSlotValue);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("valOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardDynamicSlotValue(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardDynamicSlotValue);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("valOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardNoAllocationMetadataBuilder(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardNoAllocationMetadataBuilder);\
-+ spewField("builderAddrOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardFunctionHasJitEntry(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardFunctionHasJitEntry);\
-+ spewOperandId("funId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("constructing", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardFunctionHasNoJitEntry(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardFunctionHasNoJitEntry);\
-+ spewOperandId("funId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardFunctionIsNonBuiltinCtor(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardFunctionIsNonBuiltinCtor);\
-+ spewOperandId("funId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardFunctionIsConstructor(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardFunctionIsConstructor);\
-+ spewOperandId("funId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardNotClassConstructor(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardNotClassConstructor);\
-+ spewOperandId("funId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardArrayIsPacked(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardArrayIsPacked);\
-+ spewOperandId("arrayId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardArgumentsObjectFlags(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardArgumentsObjectFlags);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewByteImm("flags", reader.readByte());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadObject(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadObject);\
-+ spewOperandId("resultId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("objOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadProto(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadProto);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadEnclosingEnvironment(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadEnclosingEnvironment);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadWrapperTarget(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadWrapperTarget);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadValueTag(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadValueTag);\
-+ spewOperandId("valId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.valueTagOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadArgumentFixedSlot(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadArgumentFixedSlot);\
-+ spewOperandId("resultId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewByteImm("slotIndex", reader.readByte());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadArgumentDynamicSlot(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadArgumentDynamicSlot);\
-+ spewOperandId("resultId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("argcId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewByteImm("slotIndex", reader.readByte());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewTruncateDoubleToUInt32(CacheIRReader& reader) {\
-+ spewOp(CacheOp::TruncateDoubleToUInt32);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMegamorphicLoadSlotResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MegamorphicLoadSlotResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("nameOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMegamorphicLoadSlotByValueResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MegamorphicLoadSlotByValueResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("idId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMegamorphicStoreSlot(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MegamorphicStoreSlot);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("nameOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMegamorphicSetElement(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MegamorphicSetElement);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("idId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("strict", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMegamorphicHasPropResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MegamorphicHasPropResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("idId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("hasOwn", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDOMExpandoValue(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDOMExpandoValue);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDOMExpandoValueGuardGeneration(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDOMExpandoValueGuardGeneration);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("expandoAndGenerationOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("generationOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDOMExpandoValueIgnoreGeneration(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDOMExpandoValueIgnoreGeneration);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardDOMExpandoMissingOrGuardShape(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardDOMExpandoMissingOrGuardShape);\
-+ spewOperandId("expandoId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewField("shapeOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStoreFixedSlot(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StoreFixedSlot);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStoreDynamicSlot(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StoreDynamicSlot);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAddAndStoreFixedSlot(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AddAndStoreFixedSlot);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewField("newShapeOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAddAndStoreDynamicSlot(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AddAndStoreDynamicSlot);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewField("newShapeOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAllocateAndStoreDynamicSlot(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AllocateAndStoreDynamicSlot);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewField("newShapeOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("numNewSlotsOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStoreDenseElement(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StoreDenseElement);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStoreDenseElementHole(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StoreDenseElementHole);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("handleAdd", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewArrayPush(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ArrayPush);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewArrayJoinResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ArrayJoinResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("sepId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewPackedArrayPopResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::PackedArrayPopResult);\
-+ spewOperandId("arrayId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewPackedArrayShiftResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::PackedArrayShiftResult);\
-+ spewOperandId("arrayId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewPackedArraySliceResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::PackedArraySliceResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("arrayId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("beginId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("endId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewIsArrayResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::IsArrayResult);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStoreFixedSlotUndefinedResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StoreFixedSlotUndefinedResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewIsObjectResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::IsObjectResult);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewIsPackedArrayResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::IsPackedArrayResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewIsCallableResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::IsCallableResult);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewIsConstructorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::IsConstructorResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewIsCrossRealmArrayConstructorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::IsCrossRealmArrayConstructorResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewIsTypedArrayResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::IsTypedArrayResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("isPossiblyWrapped", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewIsTypedArrayConstructorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::IsTypedArrayConstructorResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewArrayBufferViewByteOffsetInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ArrayBufferViewByteOffsetInt32Result);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewArrayBufferViewByteOffsetDoubleResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ArrayBufferViewByteOffsetDoubleResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewTypedArrayByteLengthInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::TypedArrayByteLengthInt32Result);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewTypedArrayByteLengthDoubleResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::TypedArrayByteLengthDoubleResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewTypedArrayElementSizeResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::TypedArrayElementSizeResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardHasAttachedArrayBuffer(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardHasAttachedArrayBuffer);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewFinishBoundFunctionInitResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::FinishBoundFunctionInitResult);\
-+ spewOperandId("boundId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("targetId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("argCountId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewArrayIteratorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewArrayIteratorResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewStringIteratorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewStringIteratorResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewRegExpStringIteratorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewRegExpStringIteratorResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewObjectCreateResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ObjectCreateResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewArrayFromLengthResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewArrayFromLengthResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("lengthId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewTypedArrayFromLengthResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewTypedArrayFromLengthResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("lengthId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewTypedArrayFromArrayBufferResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewTypedArrayFromArrayBufferResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("bufferId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("byteOffsetId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("lengthId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewTypedArrayFromArrayResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewTypedArrayFromArrayResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("arrayId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewStringObjectResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewStringObjectResult);\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStringFromCharCodeResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StringFromCharCodeResult);\
-+ spewOperandId("codeId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStringFromCodePointResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StringFromCodePointResult);\
-+ spewOperandId("codeId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStringToLowerCaseResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StringToLowerCaseResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStringToUpperCaseResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StringToUpperCaseResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathAbsInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathAbsInt32Result);\
-+ spewOperandId("inputId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathAbsNumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathAbsNumberResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathClz32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathClz32Result);\
-+ spewOperandId("inputId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathSignInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathSignInt32Result);\
-+ spewOperandId("inputId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathSignNumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathSignNumberResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathSignNumberToInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathSignNumberToInt32Result);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathImulResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathImulResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathSqrtNumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathSqrtNumberResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathFRoundNumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathFRoundNumberResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathRandomResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathRandomResult);\
-+ spewField("rngOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathHypot2NumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathHypot2NumberResult);\
-+ spewOperandId("firstId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("secondId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathHypot3NumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathHypot3NumberResult);\
-+ spewOperandId("firstId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("secondId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("thirdId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathHypot4NumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathHypot4NumberResult);\
-+ spewOperandId("firstId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("secondId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("thirdId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("fourthId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathAtan2NumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathAtan2NumberResult);\
-+ spewOperandId("lhsId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathFloorNumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathFloorNumberResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathCeilNumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathCeilNumberResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathTruncNumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathTruncNumberResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathFloorToInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathFloorToInt32Result);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathCeilToInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathCeilToInt32Result);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathTruncToInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathTruncToInt32Result);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathRoundToInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathRoundToInt32Result);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32MinMax(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32MinMax);\
-+ spewBoolImm("isMax", reader.readBool());\
-+ spewArgSeparator();\
-+ spewOperandId("firstId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("secondId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNumberMinMax(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NumberMinMax);\
-+ spewBoolImm("isMax", reader.readBool());\
-+ spewArgSeparator();\
-+ spewOperandId("firstId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("secondId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32MinMaxArrayResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32MinMaxArrayResult);\
-+ spewOperandId("arrayId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("isMax", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNumberMinMaxArrayResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NumberMinMaxArrayResult);\
-+ spewOperandId("arrayId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("isMax", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMathFunctionNumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MathFunctionNumberResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewUnaryMathFunctionImm("fun", reader.unaryMathFunction());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewObjectToStringResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ObjectToStringResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewReflectGetPrototypeOfResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ReflectGetPrototypeOfResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStoreTypedArrayElement(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StoreTypedArrayElement);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("rhsId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("handleOOB", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsCompareExchangeResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsCompareExchangeResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("expectedId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("replacementId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsExchangeResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsExchangeResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("valueId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsAddResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsAddResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("valueId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewArgSeparator();\
-+ spewBoolImm("forEffect", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsSubResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsSubResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("valueId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewArgSeparator();\
-+ spewBoolImm("forEffect", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsAndResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsAndResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("valueId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewArgSeparator();\
-+ spewBoolImm("forEffect", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsOrResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsOrResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("valueId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewArgSeparator();\
-+ spewBoolImm("forEffect", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsXorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsXorResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("valueId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewArgSeparator();\
-+ spewBoolImm("forEffect", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsLoadResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsLoadResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsStoreResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsStoreResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("valueId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAtomicsIsLockFreeResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AtomicsIsLockFreeResult);\
-+ spewOperandId("valueId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallNativeSetter(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallNativeSetter);\
-+ spewOperandId("receiverId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("setterOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("sameRealm", reader.readBool());\
-+ spewArgSeparator();\
-+ spewField("nargsAndFlagsOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallScriptedSetter(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallScriptedSetter);\
-+ spewOperandId("receiverId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("setterOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("sameRealm", reader.readBool());\
-+ spewArgSeparator();\
-+ spewField("nargsAndFlagsOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallInlinedSetter(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallInlinedSetter);\
-+ spewOperandId("receiverId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("setterOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewField("icScriptOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewBoolImm("sameRealm", reader.readBool());\
-+ spewArgSeparator();\
-+ spewField("nargsAndFlagsOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallDOMSetter(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallDOMSetter);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("jitInfoOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallSetArrayLength(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallSetArrayLength);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("strict", reader.readBool());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewProxySet(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ProxySet);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("idOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("strict", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewProxySetByValue(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ProxySetByValue);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("idId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("strict", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallAddOrUpdateSparseElementHelper(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallAddOrUpdateSparseElementHelper);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("idId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("strict", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallInt32ToString(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallInt32ToString);\
-+ spewOperandId("inputId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallNumberToString(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallNumberToString);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBooleanToString(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BooleanToString);\
-+ spewOperandId("inputId", reader.booleanOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallScriptedFunction(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallScriptedFunction);\
-+ spewOperandId("calleeId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("argcId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewCallFlagsImm("flags", reader.callFlags());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallWasmFunction(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallWasmFunction);\
-+ spewOperandId("calleeId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("argcId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewCallFlagsImm("flags", reader.callFlags());\
-+ spewArgSeparator();\
-+ spewField("funcExportOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("instanceOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGuardWasmArg(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GuardWasmArg);\
-+ spewOperandId("argId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewWasmValTypeImm("type", reader.wasmValType());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallNativeFunction(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallNativeFunction);\
-+ spewOperandId("calleeId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("argcId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewCallFlagsImm("flags", reader.callFlags());\
-+ spewArgSeparator();\
-+ spewBoolImm("ignoresReturnValue", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallDOMFunction(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallDOMFunction);\
-+ spewOperandId("calleeId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("argcId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("thisObjId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewCallFlagsImm("flags", reader.callFlags());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallClassHook(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallClassHook);\
-+ spewOperandId("calleeId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("argcId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewCallFlagsImm("flags", reader.callFlags());\
-+ spewArgSeparator();\
-+ spewField("targetOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallInlinedFunction(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallInlinedFunction);\
-+ spewOperandId("calleeId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("argcId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewField("icScriptOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewCallFlagsImm("flags", reader.callFlags());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewMetaTwoByte(CacheIRReader& reader) {\
-+ spewOp(CacheOp::MetaTwoByte);\
-+ spewField("functionObjectOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("templateObjectOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadFixedSlotResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadFixedSlotResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadFixedSlotTypedResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadFixedSlotTypedResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewValueTypeImm("type", reader.valueType());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDynamicSlotResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDynamicSlotResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDenseElementResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDenseElementResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDenseElementHoleResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDenseElementHoleResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallGetSparseElementResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallGetSparseElementResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDenseElementExistsResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDenseElementExistsResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadTypedArrayElementExistsResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadTypedArrayElementExistsResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDenseElementHoleExistsResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDenseElementHoleExistsResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadTypedArrayElementResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadTypedArrayElementResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewArgSeparator();\
-+ spewBoolImm("handleOOB", reader.readBool());\
-+ spewArgSeparator();\
-+ spewBoolImm("forceDoubleForUint32", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDataViewValueResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDataViewValueResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("offsetId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("littleEndianId", reader.booleanOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewArgSeparator();\
-+ spewBoolImm("forceDoubleForUint32", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewStoreDataViewValueResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::StoreDataViewValueResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("offsetId", reader.intPtrOperandId());\
-+ spewArgSeparator();\
-+ spewRawOperandId("valueId", reader.rawOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("littleEndianId", reader.booleanOperandId());\
-+ spewArgSeparator();\
-+ spewScalarTypeImm("elementType", reader.scalarType());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadInt32ArrayLengthResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadInt32ArrayLengthResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadInt32ArrayLength(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadInt32ArrayLength);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadArgumentsObjectArgResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadArgumentsObjectArgResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadArgumentsObjectLengthResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadArgumentsObjectLengthResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadFunctionLengthResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadFunctionLengthResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadFunctionNameResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadFunctionNameResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadArrayBufferByteLengthInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadArrayBufferByteLengthInt32Result);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadArrayBufferByteLengthDoubleResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadArrayBufferByteLengthDoubleResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadArrayBufferViewLengthInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadArrayBufferViewLengthInt32Result);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadArrayBufferViewLengthDoubleResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadArrayBufferViewLengthDoubleResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadStringCharResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadStringCharResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadStringCharCodeResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadStringCharCodeResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadStringLengthResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadStringLengthResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewFrameIsConstructingResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::FrameIsConstructingResult);\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadEnvironmentFixedSlotResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadEnvironmentFixedSlotResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadEnvironmentDynamicSlotResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadEnvironmentDynamicSlotResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("offsetOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadObjectResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadObjectResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadStringResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadStringResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadSymbolResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadSymbolResult);\
-+ spewOperandId("symId", reader.symbolOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadInt32Result);\
-+ spewOperandId("valId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDoubleResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDoubleResult);\
-+ spewOperandId("valId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadBigIntResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadBigIntResult);\
-+ spewOperandId("valId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallScriptedGetterResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallScriptedGetterResult);\
-+ spewOperandId("receiverId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewField("getterOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewBoolImm("sameRealm", reader.readBool());\
-+ spewArgSeparator();\
-+ spewField("nargsAndFlagsOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallInlinedGetterResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallInlinedGetterResult);\
-+ spewOperandId("receiverId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewField("getterOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("icScriptOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewBoolImm("sameRealm", reader.readBool());\
-+ spewArgSeparator();\
-+ spewField("nargsAndFlagsOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallNativeGetterResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallNativeGetterResult);\
-+ spewOperandId("receiverId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewField("getterOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewBoolImm("sameRealm", reader.readBool());\
-+ spewArgSeparator();\
-+ spewField("nargsAndFlagsOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallDOMGetterResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallDOMGetterResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("jitInfoOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewProxyGetResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ProxyGetResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewField("idOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewProxyGetByValueResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ProxyGetByValueResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("idId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewProxyHasPropResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::ProxyHasPropResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("idId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("hasOwn", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallObjectHasSparseElementResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallObjectHasSparseElementResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallNativeGetElementResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallNativeGetElementResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("indexId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewGetNextMapSetEntryForIteratorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::GetNextMapSetEntryForIteratorResult);\
-+ spewOperandId("iterId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("resultArrId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("isMap", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadUndefinedResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadUndefinedResult);\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadBooleanResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadBooleanResult);\
-+ spewBoolImm("val", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadInt32Constant(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadInt32Constant);\
-+ spewField("valOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadBooleanConstant(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadBooleanConstant);\
-+ spewBoolImm("val", reader.readBool());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.booleanOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadUndefined(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadUndefined);\
-+ spewOperandId("resultId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadConstantString(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadConstantString);\
-+ spewField("strOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewOperandId("resultId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadConstantStringResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadConstantStringResult);\
-+ spewField("strOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadInstanceOfObjectResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadInstanceOfObjectResult);\
-+ spewOperandId("lhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("protoId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadTypeOfObjectResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadTypeOfObjectResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewDoubleAddResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::DoubleAddResult);\
-+ spewOperandId("lhsId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewDoubleSubResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::DoubleSubResult);\
-+ spewOperandId("lhsId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewDoubleMulResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::DoubleMulResult);\
-+ spewOperandId("lhsId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewDoubleDivResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::DoubleDivResult);\
-+ spewOperandId("lhsId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewDoubleModResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::DoubleModResult);\
-+ spewOperandId("lhsId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewDoublePowResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::DoublePowResult);\
-+ spewOperandId("lhsId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32AddResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32AddResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32SubResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32SubResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32MulResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32MulResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32DivResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32DivResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32ModResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32ModResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32PowResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32PowResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntAddResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntAddResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntSubResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntSubResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntMulResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntMulResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntDivResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntDivResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntModResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntModResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntPowResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntPowResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32BitOrResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32BitOrResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32BitXorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32BitXorResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32BitAndResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32BitAndResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32LeftShiftResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32LeftShiftResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32RightShiftResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32RightShiftResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32URightShiftResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32URightShiftResult);\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("forceDouble", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32NotResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32NotResult);\
-+ spewOperandId("inputId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntBitOrResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntBitOrResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntBitXorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntBitXorResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntBitAndResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntBitAndResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntLeftShiftResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntLeftShiftResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntRightShiftResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntRightShiftResult);\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntNotResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntNotResult);\
-+ spewOperandId("inputId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32NegationResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32NegationResult);\
-+ spewOperandId("inputId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewDoubleNegationResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::DoubleNegationResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntNegationResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntNegationResult);\
-+ spewOperandId("inputId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32IncResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32IncResult);\
-+ spewOperandId("inputId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewInt32DecResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Int32DecResult);\
-+ spewOperandId("inputId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewDoubleIncResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::DoubleIncResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewDoubleDecResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::DoubleDecResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntIncResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntIncResult);\
-+ spewOperandId("inputId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntDecResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntDecResult);\
-+ spewOperandId("inputId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadInt32TruthyResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadInt32TruthyResult);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadDoubleTruthyResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadDoubleTruthyResult);\
-+ spewOperandId("inputId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadStringTruthyResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadStringTruthyResult);\
-+ spewOperandId("strId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadObjectTruthyResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadObjectTruthyResult);\
-+ spewOperandId("objId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadBigIntTruthyResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadBigIntTruthyResult);\
-+ spewOperandId("bigIntId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadValueTruthyResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadValueTruthyResult);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadValueResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadValueResult);\
-+ spewField("valOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewLoadOperandResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::LoadOperandResult);\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewPlainObjectResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewPlainObjectResult);\
-+ spewUInt32Imm("numFixedSlots", reader.uint32Immediate());\
-+ spewArgSeparator();\
-+ spewUInt32Imm("numDynamicSlots", reader.uint32Immediate());\
-+ spewArgSeparator();\
-+ spewAllocKindImm("allocKind", reader.allocKind());\
-+ spewArgSeparator();\
-+ spewField("shapeOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("siteOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewNewArrayObjectResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::NewArrayObjectResult);\
-+ spewUInt32Imm("arrayLength", reader.uint32Immediate());\
-+ spewArgSeparator();\
-+ spewField("shapeOffset", reader.stubOffset());\
-+ spewArgSeparator();\
-+ spewField("siteOffset", reader.stubOffset());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallStringConcatResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallStringConcatResult);\
-+ spewOperandId("lhsId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallStringObjectConcatResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallStringObjectConcatResult);\
-+ spewOperandId("lhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallIsSuspendedGeneratorResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallIsSuspendedGeneratorResult);\
-+ spewOperandId("valId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareStringResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareStringResult);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewOperandId("lhsId", reader.stringOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareObjectResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareObjectResult);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewOperandId("lhsId", reader.objOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.objOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareSymbolResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareSymbolResult);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewOperandId("lhsId", reader.symbolOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.symbolOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareInt32Result);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewOperandId("lhsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareDoubleResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareDoubleResult);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewOperandId("lhsId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareBigIntResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareBigIntResult);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareBigIntInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareBigIntInt32Result);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareBigIntNumberResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareBigIntNumberResult);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareBigIntStringResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareBigIntStringResult);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewOperandId("lhsId", reader.bigIntOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.stringOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareNullUndefinedResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareNullUndefinedResult);\
-+ spewJSOpImm("op", reader.jsop());\
-+ spewArgSeparator();\
-+ spewBoolImm("isUndefined", reader.readBool());\
-+ spewArgSeparator();\
-+ spewOperandId("inputId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCompareDoubleSameValueResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CompareDoubleSameValueResult);\
-+ spewOperandId("lhsId", reader.numberOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.numberOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewSameValueResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::SameValueResult);\
-+ spewOperandId("lhsId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("rhsId", reader.valOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewIndirectTruncateInt32Result(CacheIRReader& reader) {\
-+ spewOp(CacheOp::IndirectTruncateInt32Result);\
-+ spewOperandId("valId", reader.int32OperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntAsIntNResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntAsIntNResult);\
-+ spewOperandId("bitsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("bigIntId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBigIntAsUintNResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::BigIntAsUintNResult);\
-+ spewOperandId("bitsId", reader.int32OperandId());\
-+ spewArgSeparator();\
-+ spewOperandId("bigIntId", reader.bigIntOperandId());\
-+ spewOpEnd();\
-+}\
-+\
-+void spewCallPrintString(CacheIRReader& reader) {\
-+ spewOp(CacheOp::CallPrintString);\
-+ spewStaticStringImm("str", reinterpret_cast<char*>(reader.pointer()));\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBreakpoint(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Breakpoint);\
-+ spewOpEnd();\
-+}\
-+\
-+void spewWrapResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::WrapResult);\
-+ spewOpEnd();\
-+}\
-+\
-+void spewBailout(CacheIRReader& reader) {\
-+ spewOp(CacheOp::Bailout);\
-+ spewOpEnd();\
-+}\
-+\
-+void spewAssertRecoveredOnBailoutResult(CacheIRReader& reader) {\
-+ spewOp(CacheOp::AssertRecoveredOnBailoutResult);\
-+ spewOperandId("valId", reader.valOperandId());\
-+ spewArgSeparator();\
-+ spewBoolImm("mustBeRecovered", reader.readBool());\
-+ spewOpEnd();\
-+}\
-+
-+
-+#define CACHE_IR_CLONE_GENERATED \
-+void cloneReturnFromIC(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ReturnFromIC);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardToObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardToObject);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsNullOrUndefined(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsNullOrUndefined);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsNull(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsNull);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsUndefined(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsUndefined);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardToBoolean(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardToBoolean);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardToString(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardToString);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardToSymbol(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardToSymbol);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardToBigInt(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardToBigInt);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsNumber(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsNumber);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardToInt32(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardToInt32);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardBooleanToInt32(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardBooleanToInt32);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardToInt32Index(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardToInt32Index);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32ToIntPtr(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32ToIntPtr);\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ writer.writeOperandId(inputId);\
-+ IntPtrOperandId resultId = reader.intPtrOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardNumberToIntPtrIndex(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardNumberToIntPtrIndex);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ bool supportOOB = reader.readBool();\
-+ writer.writeBoolImm(supportOOB);\
-+ IntPtrOperandId resultId = reader.intPtrOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardToInt32ModUint32(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardToInt32ModUint32);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardToUint8Clamped(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardToUint8Clamped);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardNonDoubleType(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardNonDoubleType);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ ValueType type = reader.valueType();\
-+ writer.writeValueTypeImm(type);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardShape(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardShape);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ Shape* shape = getShapeField(shapeOffset);\
-+ writer.writeShapeField(shape);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardProto(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardProto);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t protoOffset = reader.stubOffset();\
-+ JSObject* proto = getObjectField(protoOffset);\
-+ writer.writeObjectField(proto);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardNullProto(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardNullProto);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardClass(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardClass);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ GuardClassKind kind = reader.guardClassKind();\
-+ writer.writeGuardClassKindImm(kind);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardAnyClass(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardAnyClass);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t claspOffset = reader.stubOffset();\
-+ const void* clasp = getRawPointerField(claspOffset);\
-+ writer.writeRawPointerField(clasp);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneHasClassResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::HasClassResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t claspOffset = reader.stubOffset();\
-+ const void* clasp = getRawPointerField(claspOffset);\
-+ writer.writeRawPointerField(clasp);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallRegExpMatcherResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallRegExpMatcherResult);\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ writer.writeOperandId(regexpId);\
-+ StringOperandId inputId = reader.stringOperandId();\
-+ writer.writeOperandId(inputId);\
-+ Int32OperandId lastIndexId = reader.int32OperandId();\
-+ writer.writeOperandId(lastIndexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallRegExpSearcherResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallRegExpSearcherResult);\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ writer.writeOperandId(regexpId);\
-+ StringOperandId inputId = reader.stringOperandId();\
-+ writer.writeOperandId(inputId);\
-+ Int32OperandId lastIndexId = reader.int32OperandId();\
-+ writer.writeOperandId(lastIndexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallRegExpTesterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallRegExpTesterResult);\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ writer.writeOperandId(regexpId);\
-+ StringOperandId inputId = reader.stringOperandId();\
-+ writer.writeOperandId(inputId);\
-+ Int32OperandId lastIndexId = reader.int32OperandId();\
-+ writer.writeOperandId(lastIndexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneRegExpFlagResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::RegExpFlagResult);\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ writer.writeOperandId(regexpId);\
-+ int32_t flagsMask = reader.int32Immediate();\
-+ writer.writeInt32Imm(flagsMask);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallSubstringKernelResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallSubstringKernelResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ Int32OperandId beginId = reader.int32OperandId();\
-+ writer.writeOperandId(beginId);\
-+ Int32OperandId lengthId = reader.int32OperandId();\
-+ writer.writeOperandId(lengthId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStringReplaceStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StringReplaceStringResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ StringOperandId patternId = reader.stringOperandId();\
-+ writer.writeOperandId(patternId);\
-+ StringOperandId replacementId = reader.stringOperandId();\
-+ writer.writeOperandId(replacementId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStringSplitStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StringSplitStringResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ StringOperandId separatorId = reader.stringOperandId();\
-+ writer.writeOperandId(separatorId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneRegExpPrototypeOptimizableResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::RegExpPrototypeOptimizableResult);\
-+ ObjOperandId protoId = reader.objOperandId();\
-+ writer.writeOperandId(protoId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneRegExpInstanceOptimizableResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::RegExpInstanceOptimizableResult);\
-+ ObjOperandId regexpId = reader.objOperandId();\
-+ writer.writeOperandId(regexpId);\
-+ ObjOperandId protoId = reader.objOperandId();\
-+ writer.writeOperandId(protoId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGetFirstDollarIndexResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GetFirstDollarIndexResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardCompartment(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardCompartment);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t globalOffset = reader.stubOffset();\
-+ JSObject* global = getObjectField(globalOffset);\
-+ writer.writeObjectField(global);\
-+ uint32_t compartmentOffset = reader.stubOffset();\
-+ const void* compartment = getRawPointerField(compartmentOffset);\
-+ writer.writeRawPointerField(compartment);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsExtensible(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsExtensible);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsNativeObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsNativeObject);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsProxy(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsProxy);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsNotProxy(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsNotProxy);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsNotArrayBufferMaybeShared(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsNotArrayBufferMaybeShared);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsTypedArray(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsTypedArray);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardHasProxyHandler(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardHasProxyHandler);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t handlerOffset = reader.stubOffset();\
-+ const void* handler = getRawPointerField(handlerOffset);\
-+ writer.writeRawPointerField(handler);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIsNotDOMProxy(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIsNotDOMProxy);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardSpecificObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardSpecificObject);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ JSObject* expected = getObjectField(expectedOffset);\
-+ writer.writeObjectField(expected);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardSpecificFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardSpecificFunction);\
-+ ObjOperandId funId = reader.objOperandId();\
-+ writer.writeOperandId(funId);\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ JSObject* expected = getObjectField(expectedOffset);\
-+ writer.writeObjectField(expected);\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
-+ writer.writeRawInt32Field(nargsAndFlags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardFunctionScript(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardFunctionScript);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ BaseScript* expected = getBaseScriptField(expectedOffset);\
-+ writer.writeBaseScriptField(expected);\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
-+ writer.writeRawInt32Field(nargsAndFlags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardSpecificAtom(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardSpecificAtom);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ JSAtom* expected = getAtomField(expectedOffset);\
-+ writer.writeStringField(expected);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardSpecificSymbol(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardSpecificSymbol);\
-+ SymbolOperandId symId = reader.symbolOperandId();\
-+ writer.writeOperandId(symId);\
-+ uint32_t expectedOffset = reader.stubOffset();\
-+ JS::Symbol* expected = getSymbolField(expectedOffset);\
-+ writer.writeSymbolField(expected);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardNoDenseElements(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardNoDenseElements);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardStringToIndex(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardStringToIndex);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardStringToInt32(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardStringToInt32);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardStringToNumber(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardStringToNumber);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ NumberOperandId resultId = reader.numberOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBooleanToNumber(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BooleanToNumber);\
-+ BooleanOperandId booleanId = reader.booleanOperandId();\
-+ writer.writeOperandId(booleanId);\
-+ NumberOperandId resultId = reader.numberOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardAndGetIterator(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardAndGetIterator);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t iterOffset = reader.stubOffset();\
-+ JSObject* iter = getObjectField(iterOffset);\
-+ writer.writeObjectField(iter);\
-+ uint32_t enumeratorsAddrOffset = reader.stubOffset();\
-+ const void* enumeratorsAddr = getRawPointerField(enumeratorsAddrOffset);\
-+ writer.writeRawPointerField(enumeratorsAddr);\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardHasGetterSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardHasGetterSetter);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t idOffset = reader.stubOffset();\
-+ jsid id = getIdField(idOffset);\
-+ writer.writeIdField(id);\
-+ uint32_t getterSetterOffset = reader.stubOffset();\
-+ GetterSetter* getterSetter = getGetterSetterField(getterSetterOffset);\
-+ writer.writeGetterSetterField(getterSetter);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardInt32IsNonNegative(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardInt32IsNonNegative);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIndexIsValidUpdateOrAdd(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIndexIsValidUpdateOrAdd);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardIndexGreaterThanDenseInitLength(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardIndexGreaterThanDenseInitLength);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardTagNotEqual(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardTagNotEqual);\
-+ ValueTagOperandId lhsId = reader.valueTagOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ ValueTagOperandId rhsId = reader.valueTagOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardXrayExpandoShapeAndDefaultProto(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardXrayExpandoShapeAndDefaultProto);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t shapeWrapperOffset = reader.stubOffset();\
-+ JSObject* shapeWrapper = getObjectField(shapeWrapperOffset);\
-+ writer.writeObjectField(shapeWrapper);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardXrayNoExpando(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardXrayNoExpando);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardDynamicSlotIsSpecificObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardDynamicSlotIsSpecificObject);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ObjOperandId expectedId = reader.objOperandId();\
-+ writer.writeOperandId(expectedId);\
-+ uint32_t slotOffset = reader.stubOffset();\
-+ uint32_t slot = getRawInt32Field(slotOffset);\
-+ writer.writeRawInt32Field(slot);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardFixedSlotValue(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardFixedSlotValue);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ uint32_t valOffset = reader.stubOffset();\
-+ const Value val = getValueField(valOffset);\
-+ writer.writeValueField(val);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardDynamicSlotValue(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardDynamicSlotValue);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ uint32_t valOffset = reader.stubOffset();\
-+ const Value val = getValueField(valOffset);\
-+ writer.writeValueField(val);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardNoAllocationMetadataBuilder(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardNoAllocationMetadataBuilder);\
-+ uint32_t builderAddrOffset = reader.stubOffset();\
-+ const void* builderAddr = getRawPointerField(builderAddrOffset);\
-+ writer.writeRawPointerField(builderAddr);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardFunctionHasJitEntry(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardFunctionHasJitEntry);\
-+ ObjOperandId funId = reader.objOperandId();\
-+ writer.writeOperandId(funId);\
-+ bool constructing = reader.readBool();\
-+ writer.writeBoolImm(constructing);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardFunctionHasNoJitEntry(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardFunctionHasNoJitEntry);\
-+ ObjOperandId funId = reader.objOperandId();\
-+ writer.writeOperandId(funId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardFunctionIsNonBuiltinCtor(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardFunctionIsNonBuiltinCtor);\
-+ ObjOperandId funId = reader.objOperandId();\
-+ writer.writeOperandId(funId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardFunctionIsConstructor(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardFunctionIsConstructor);\
-+ ObjOperandId funId = reader.objOperandId();\
-+ writer.writeOperandId(funId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardNotClassConstructor(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardNotClassConstructor);\
-+ ObjOperandId funId = reader.objOperandId();\
-+ writer.writeOperandId(funId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardArrayIsPacked(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardArrayIsPacked);\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ writer.writeOperandId(arrayId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardArgumentsObjectFlags(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardArgumentsObjectFlags);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint8_t flags = reader.readByte();\
-+ writer.writeByteImm(flags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadObject);\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ uint32_t objOffset = reader.stubOffset();\
-+ JSObject* obj = getObjectField(objOffset);\
-+ writer.writeObjectField(obj);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadProto(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadProto);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadEnclosingEnvironment(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadEnclosingEnvironment);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadWrapperTarget(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadWrapperTarget);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ObjOperandId resultId = reader.objOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadValueTag(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadValueTag);\
-+ ValOperandId valId = reader.valOperandId();\
-+ writer.writeOperandId(valId);\
-+ ValueTagOperandId resultId = reader.valueTagOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadArgumentFixedSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadArgumentFixedSlot);\
-+ ValOperandId resultId = reader.valOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ uint8_t slotIndex = reader.readByte();\
-+ writer.writeByteImm(slotIndex);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadArgumentDynamicSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadArgumentDynamicSlot);\
-+ ValOperandId resultId = reader.valOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ writer.writeOperandId(argcId);\
-+ uint8_t slotIndex = reader.readByte();\
-+ writer.writeByteImm(slotIndex);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneTruncateDoubleToUInt32(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::TruncateDoubleToUInt32);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMegamorphicLoadSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MegamorphicLoadSlotResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t nameOffset = reader.stubOffset();\
-+ PropertyName* name = getPropertyNameField(nameOffset);\
-+ writer.writeStringField(name);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMegamorphicLoadSlotByValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MegamorphicLoadSlotByValueResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ValOperandId idId = reader.valOperandId();\
-+ writer.writeOperandId(idId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMegamorphicStoreSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MegamorphicStoreSlot);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t nameOffset = reader.stubOffset();\
-+ PropertyName* name = getPropertyNameField(nameOffset);\
-+ writer.writeStringField(name);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMegamorphicSetElement(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MegamorphicSetElement);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ValOperandId idId = reader.valOperandId();\
-+ writer.writeOperandId(idId);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ bool strict = reader.readBool();\
-+ writer.writeBoolImm(strict);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMegamorphicHasPropResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MegamorphicHasPropResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ValOperandId idId = reader.valOperandId();\
-+ writer.writeOperandId(idId);\
-+ bool hasOwn = reader.readBool();\
-+ writer.writeBoolImm(hasOwn);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDOMExpandoValue(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDOMExpandoValue);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ValOperandId resultId = reader.valOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDOMExpandoValueGuardGeneration(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDOMExpandoValueGuardGeneration);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t expandoAndGenerationOffset = reader.stubOffset();\
-+ const void* expandoAndGeneration = getRawPointerField(expandoAndGenerationOffset);\
-+ writer.writeRawPointerField(expandoAndGeneration);\
-+ uint32_t generationOffset = reader.stubOffset();\
-+ uint64_t generation = getRawInt64Field(generationOffset);\
-+ writer.writeRawInt64Field(generation);\
-+ ValOperandId resultId = reader.valOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDOMExpandoValueIgnoreGeneration(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDOMExpandoValueIgnoreGeneration);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ValOperandId resultId = reader.valOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardDOMExpandoMissingOrGuardShape(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardDOMExpandoMissingOrGuardShape);\
-+ ValOperandId expandoId = reader.valOperandId();\
-+ writer.writeOperandId(expandoId);\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ Shape* shape = getShapeField(shapeOffset);\
-+ writer.writeShapeField(shape);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStoreFixedSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StoreFixedSlot);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStoreDynamicSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StoreDynamicSlot);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAddAndStoreFixedSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AddAndStoreFixedSlot);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ uint32_t newShapeOffset = reader.stubOffset();\
-+ Shape* newShape = getShapeField(newShapeOffset);\
-+ writer.writeShapeField(newShape);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAddAndStoreDynamicSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AddAndStoreDynamicSlot);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ uint32_t newShapeOffset = reader.stubOffset();\
-+ Shape* newShape = getShapeField(newShapeOffset);\
-+ writer.writeShapeField(newShape);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAllocateAndStoreDynamicSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AllocateAndStoreDynamicSlot);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ uint32_t newShapeOffset = reader.stubOffset();\
-+ Shape* newShape = getShapeField(newShapeOffset);\
-+ writer.writeShapeField(newShape);\
-+ uint32_t numNewSlotsOffset = reader.stubOffset();\
-+ uint32_t numNewSlots = getRawInt32Field(numNewSlotsOffset);\
-+ writer.writeRawInt32Field(numNewSlots);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStoreDenseElement(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StoreDenseElement);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStoreDenseElementHole(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StoreDenseElementHole);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ bool handleAdd = reader.readBool();\
-+ writer.writeBoolImm(handleAdd);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneArrayPush(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ArrayPush);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneArrayJoinResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ArrayJoinResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ StringOperandId sepId = reader.stringOperandId();\
-+ writer.writeOperandId(sepId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void clonePackedArrayPopResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::PackedArrayPopResult);\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ writer.writeOperandId(arrayId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void clonePackedArrayShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::PackedArrayShiftResult);\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ writer.writeOperandId(arrayId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void clonePackedArraySliceResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::PackedArraySliceResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ writer.writeOperandId(arrayId);\
-+ Int32OperandId beginId = reader.int32OperandId();\
-+ writer.writeOperandId(beginId);\
-+ Int32OperandId endId = reader.int32OperandId();\
-+ writer.writeOperandId(endId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneIsArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::IsArrayResult);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStoreFixedSlotUndefinedResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StoreFixedSlotUndefinedResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneIsObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::IsObjectResult);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneIsPackedArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::IsPackedArrayResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneIsCallableResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::IsCallableResult);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneIsConstructorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::IsConstructorResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneIsCrossRealmArrayConstructorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::IsCrossRealmArrayConstructorResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneIsTypedArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::IsTypedArrayResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ bool isPossiblyWrapped = reader.readBool();\
-+ writer.writeBoolImm(isPossiblyWrapped);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneIsTypedArrayConstructorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::IsTypedArrayConstructorResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneArrayBufferViewByteOffsetInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ArrayBufferViewByteOffsetInt32Result);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneArrayBufferViewByteOffsetDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ArrayBufferViewByteOffsetDoubleResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneTypedArrayByteLengthInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::TypedArrayByteLengthInt32Result);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneTypedArrayByteLengthDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::TypedArrayByteLengthDoubleResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneTypedArrayElementSizeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::TypedArrayElementSizeResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardHasAttachedArrayBuffer(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardHasAttachedArrayBuffer);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneFinishBoundFunctionInitResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::FinishBoundFunctionInitResult);\
-+ ObjOperandId boundId = reader.objOperandId();\
-+ writer.writeOperandId(boundId);\
-+ ObjOperandId targetId = reader.objOperandId();\
-+ writer.writeOperandId(targetId);\
-+ Int32OperandId argCountId = reader.int32OperandId();\
-+ writer.writeOperandId(argCountId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewArrayIteratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewArrayIteratorResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewStringIteratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewStringIteratorResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewRegExpStringIteratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewRegExpStringIteratorResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneObjectCreateResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ObjectCreateResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewArrayFromLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewArrayFromLengthResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ Int32OperandId lengthId = reader.int32OperandId();\
-+ writer.writeOperandId(lengthId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewTypedArrayFromLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewTypedArrayFromLengthResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ Int32OperandId lengthId = reader.int32OperandId();\
-+ writer.writeOperandId(lengthId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewTypedArrayFromArrayBufferResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewTypedArrayFromArrayBufferResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ ObjOperandId bufferId = reader.objOperandId();\
-+ writer.writeOperandId(bufferId);\
-+ ValOperandId byteOffsetId = reader.valOperandId();\
-+ writer.writeOperandId(byteOffsetId);\
-+ ValOperandId lengthId = reader.valOperandId();\
-+ writer.writeOperandId(lengthId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewTypedArrayFromArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewTypedArrayFromArrayResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ writer.writeOperandId(arrayId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewStringObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewStringObjectResult);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStringFromCharCodeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StringFromCharCodeResult);\
-+ Int32OperandId codeId = reader.int32OperandId();\
-+ writer.writeOperandId(codeId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStringFromCodePointResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StringFromCodePointResult);\
-+ Int32OperandId codeId = reader.int32OperandId();\
-+ writer.writeOperandId(codeId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStringToLowerCaseResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StringToLowerCaseResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStringToUpperCaseResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StringToUpperCaseResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathAbsInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathAbsInt32Result);\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathAbsNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathAbsNumberResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathClz32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathClz32Result);\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathSignInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathSignInt32Result);\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathSignNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathSignNumberResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathSignNumberToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathSignNumberToInt32Result);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathImulResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathImulResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathSqrtNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathSqrtNumberResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathFRoundNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathFRoundNumberResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathRandomResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathRandomResult);\
-+ uint32_t rngOffset = reader.stubOffset();\
-+ const void* rng = getRawPointerField(rngOffset);\
-+ writer.writeRawPointerField(rng);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathHypot2NumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathHypot2NumberResult);\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ writer.writeOperandId(firstId);\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ writer.writeOperandId(secondId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathHypot3NumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathHypot3NumberResult);\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ writer.writeOperandId(firstId);\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ writer.writeOperandId(secondId);\
-+ NumberOperandId thirdId = reader.numberOperandId();\
-+ writer.writeOperandId(thirdId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathHypot4NumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathHypot4NumberResult);\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ writer.writeOperandId(firstId);\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ writer.writeOperandId(secondId);\
-+ NumberOperandId thirdId = reader.numberOperandId();\
-+ writer.writeOperandId(thirdId);\
-+ NumberOperandId fourthId = reader.numberOperandId();\
-+ writer.writeOperandId(fourthId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathAtan2NumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathAtan2NumberResult);\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathFloorNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathFloorNumberResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathCeilNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathCeilNumberResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathTruncNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathTruncNumberResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathFloorToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathFloorToInt32Result);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathCeilToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathCeilToInt32Result);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathTruncToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathTruncToInt32Result);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathRoundToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathRoundToInt32Result);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32MinMax(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32MinMax);\
-+ bool isMax = reader.readBool();\
-+ writer.writeBoolImm(isMax);\
-+ Int32OperandId firstId = reader.int32OperandId();\
-+ writer.writeOperandId(firstId);\
-+ Int32OperandId secondId = reader.int32OperandId();\
-+ writer.writeOperandId(secondId);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNumberMinMax(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NumberMinMax);\
-+ bool isMax = reader.readBool();\
-+ writer.writeBoolImm(isMax);\
-+ NumberOperandId firstId = reader.numberOperandId();\
-+ writer.writeOperandId(firstId);\
-+ NumberOperandId secondId = reader.numberOperandId();\
-+ writer.writeOperandId(secondId);\
-+ NumberOperandId resultId = reader.numberOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32MinMaxArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32MinMaxArrayResult);\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ writer.writeOperandId(arrayId);\
-+ bool isMax = reader.readBool();\
-+ writer.writeBoolImm(isMax);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNumberMinMaxArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NumberMinMaxArrayResult);\
-+ ObjOperandId arrayId = reader.objOperandId();\
-+ writer.writeOperandId(arrayId);\
-+ bool isMax = reader.readBool();\
-+ writer.writeBoolImm(isMax);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMathFunctionNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MathFunctionNumberResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ UnaryMathFunction fun = reader.unaryMathFunction();\
-+ writer.writeUnaryMathFunctionImm(fun);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneObjectToStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ObjectToStringResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneReflectGetPrototypeOfResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ReflectGetPrototypeOfResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStoreTypedArrayElement(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StoreTypedArrayElement);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ bool handleOOB = reader.readBool();\
-+ writer.writeBoolImm(handleOOB);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsCompareExchangeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsCompareExchangeResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId expectedId = reader.valOperandId();\
-+ writer.writeOperandId(expectedId);\
-+ ValOperandId replacementId = reader.valOperandId();\
-+ writer.writeOperandId(replacementId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsExchangeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsExchangeResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId valueId = reader.valOperandId();\
-+ writer.writeOperandId(valueId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsAddResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsAddResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId valueId = reader.valOperandId();\
-+ writer.writeOperandId(valueId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ bool forEffect = reader.readBool();\
-+ writer.writeBoolImm(forEffect);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsSubResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsSubResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId valueId = reader.valOperandId();\
-+ writer.writeOperandId(valueId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ bool forEffect = reader.readBool();\
-+ writer.writeBoolImm(forEffect);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsAndResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsAndResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId valueId = reader.valOperandId();\
-+ writer.writeOperandId(valueId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ bool forEffect = reader.readBool();\
-+ writer.writeBoolImm(forEffect);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsOrResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsOrResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId valueId = reader.valOperandId();\
-+ writer.writeOperandId(valueId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ bool forEffect = reader.readBool();\
-+ writer.writeBoolImm(forEffect);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsXorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsXorResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId valueId = reader.valOperandId();\
-+ writer.writeOperandId(valueId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ bool forEffect = reader.readBool();\
-+ writer.writeBoolImm(forEffect);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsLoadResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsLoadResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsStoreResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsStoreResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ ValOperandId valueId = reader.valOperandId();\
-+ writer.writeOperandId(valueId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAtomicsIsLockFreeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AtomicsIsLockFreeResult);\
-+ Int32OperandId valueId = reader.int32OperandId();\
-+ writer.writeOperandId(valueId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallNativeSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallNativeSetter);\
-+ ObjOperandId receiverId = reader.objOperandId();\
-+ writer.writeOperandId(receiverId);\
-+ uint32_t setterOffset = reader.stubOffset();\
-+ JSObject* setter = getObjectField(setterOffset);\
-+ writer.writeObjectField(setter);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ bool sameRealm = reader.readBool();\
-+ writer.writeBoolImm(sameRealm);\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
-+ writer.writeRawInt32Field(nargsAndFlags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallScriptedSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallScriptedSetter);\
-+ ObjOperandId receiverId = reader.objOperandId();\
-+ writer.writeOperandId(receiverId);\
-+ uint32_t setterOffset = reader.stubOffset();\
-+ JSObject* setter = getObjectField(setterOffset);\
-+ writer.writeObjectField(setter);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ bool sameRealm = reader.readBool();\
-+ writer.writeBoolImm(sameRealm);\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
-+ writer.writeRawInt32Field(nargsAndFlags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallInlinedSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallInlinedSetter);\
-+ ObjOperandId receiverId = reader.objOperandId();\
-+ writer.writeOperandId(receiverId);\
-+ uint32_t setterOffset = reader.stubOffset();\
-+ JSObject* setter = getObjectField(setterOffset);\
-+ writer.writeObjectField(setter);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ uint32_t icScriptOffset = reader.stubOffset();\
-+ const void* icScript = getRawPointerField(icScriptOffset);\
-+ writer.writeRawPointerField(icScript);\
-+ bool sameRealm = reader.readBool();\
-+ writer.writeBoolImm(sameRealm);\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
-+ writer.writeRawInt32Field(nargsAndFlags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallDOMSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallDOMSetter);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t jitInfoOffset = reader.stubOffset();\
-+ const void* jitInfo = getRawPointerField(jitInfoOffset);\
-+ writer.writeRawPointerField(jitInfo);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallSetArrayLength(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallSetArrayLength);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ bool strict = reader.readBool();\
-+ writer.writeBoolImm(strict);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneProxySet(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ProxySet);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t idOffset = reader.stubOffset();\
-+ jsid id = getIdField(idOffset);\
-+ writer.writeIdField(id);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ bool strict = reader.readBool();\
-+ writer.writeBoolImm(strict);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneProxySetByValue(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ProxySetByValue);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ValOperandId idId = reader.valOperandId();\
-+ writer.writeOperandId(idId);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ bool strict = reader.readBool();\
-+ writer.writeBoolImm(strict);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallAddOrUpdateSparseElementHelper(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallAddOrUpdateSparseElementHelper);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId idId = reader.int32OperandId();\
-+ writer.writeOperandId(idId);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ bool strict = reader.readBool();\
-+ writer.writeBoolImm(strict);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallInt32ToString(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallInt32ToString);\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ writer.writeOperandId(inputId);\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallNumberToString(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallNumberToString);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBooleanToString(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BooleanToString);\
-+ BooleanOperandId inputId = reader.booleanOperandId();\
-+ writer.writeOperandId(inputId);\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallScriptedFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallScriptedFunction);\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ writer.writeOperandId(calleeId);\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ writer.writeOperandId(argcId);\
-+ CallFlags flags = reader.callFlags();\
-+ writer.writeCallFlagsImm(flags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallWasmFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallWasmFunction);\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ writer.writeOperandId(calleeId);\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ writer.writeOperandId(argcId);\
-+ CallFlags flags = reader.callFlags();\
-+ writer.writeCallFlagsImm(flags);\
-+ uint32_t funcExportOffset = reader.stubOffset();\
-+ const void* funcExport = getRawPointerField(funcExportOffset);\
-+ writer.writeRawPointerField(funcExport);\
-+ uint32_t instanceOffset = reader.stubOffset();\
-+ JSObject* instance = getObjectField(instanceOffset);\
-+ writer.writeObjectField(instance);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGuardWasmArg(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GuardWasmArg);\
-+ ValOperandId argId = reader.valOperandId();\
-+ writer.writeOperandId(argId);\
-+ wasm::ValType::Kind type = reader.wasmValType();\
-+ writer.writeWasmValTypeImm(type);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallNativeFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallNativeFunction);\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ writer.writeOperandId(calleeId);\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ writer.writeOperandId(argcId);\
-+ CallFlags flags = reader.callFlags();\
-+ writer.writeCallFlagsImm(flags);\
-+ bool ignoresReturnValue = reader.readBool();\
-+ writer.writeBoolImm(ignoresReturnValue);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallDOMFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallDOMFunction);\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ writer.writeOperandId(calleeId);\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ writer.writeOperandId(argcId);\
-+ ObjOperandId thisObjId = reader.objOperandId();\
-+ writer.writeOperandId(thisObjId);\
-+ CallFlags flags = reader.callFlags();\
-+ writer.writeCallFlagsImm(flags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallClassHook(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallClassHook);\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ writer.writeOperandId(calleeId);\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ writer.writeOperandId(argcId);\
-+ CallFlags flags = reader.callFlags();\
-+ writer.writeCallFlagsImm(flags);\
-+ uint32_t targetOffset = reader.stubOffset();\
-+ const void* target = getRawPointerField(targetOffset);\
-+ writer.writeRawPointerField(target);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallInlinedFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallInlinedFunction);\
-+ ObjOperandId calleeId = reader.objOperandId();\
-+ writer.writeOperandId(calleeId);\
-+ Int32OperandId argcId = reader.int32OperandId();\
-+ writer.writeOperandId(argcId);\
-+ uint32_t icScriptOffset = reader.stubOffset();\
-+ const void* icScript = getRawPointerField(icScriptOffset);\
-+ writer.writeRawPointerField(icScript);\
-+ CallFlags flags = reader.callFlags();\
-+ writer.writeCallFlagsImm(flags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneMetaTwoByte(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::MetaTwoByte);\
-+ uint32_t functionObjectOffset = reader.stubOffset();\
-+ JSObject* functionObject = getObjectField(functionObjectOffset);\
-+ writer.writeObjectField(functionObject);\
-+ uint32_t templateObjectOffset = reader.stubOffset();\
-+ JSObject* templateObject = getObjectField(templateObjectOffset);\
-+ writer.writeObjectField(templateObject);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadFixedSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadFixedSlotResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadFixedSlotTypedResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadFixedSlotTypedResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ ValueType type = reader.valueType();\
-+ writer.writeValueTypeImm(type);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDynamicSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDynamicSlotResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDenseElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDenseElementResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDenseElementHoleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDenseElementHoleResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallGetSparseElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallGetSparseElementResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDenseElementExistsResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDenseElementExistsResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadTypedArrayElementExistsResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadTypedArrayElementExistsResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDenseElementHoleExistsResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDenseElementHoleExistsResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadTypedArrayElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadTypedArrayElementResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId indexId = reader.intPtrOperandId();\
-+ writer.writeOperandId(indexId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ bool handleOOB = reader.readBool();\
-+ writer.writeBoolImm(handleOOB);\
-+ bool forceDoubleForUint32 = reader.readBool();\
-+ writer.writeBoolImm(forceDoubleForUint32);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDataViewValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDataViewValueResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId offsetId = reader.intPtrOperandId();\
-+ writer.writeOperandId(offsetId);\
-+ BooleanOperandId littleEndianId = reader.booleanOperandId();\
-+ writer.writeOperandId(littleEndianId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ bool forceDoubleForUint32 = reader.readBool();\
-+ writer.writeBoolImm(forceDoubleForUint32);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneStoreDataViewValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::StoreDataViewValueResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ IntPtrOperandId offsetId = reader.intPtrOperandId();\
-+ writer.writeOperandId(offsetId);\
-+ ValOperandId valueId = reader.valOperandId();\
-+ writer.writeOperandId(valueId);\
-+ BooleanOperandId littleEndianId = reader.booleanOperandId();\
-+ writer.writeOperandId(littleEndianId);\
-+ Scalar::Type elementType = reader.scalarType();\
-+ writer.writeScalarTypeImm(elementType);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadInt32ArrayLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadInt32ArrayLengthResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadInt32ArrayLength(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadInt32ArrayLength);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadArgumentsObjectArgResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadArgumentsObjectArgResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadArgumentsObjectLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadArgumentsObjectLengthResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadFunctionLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadFunctionLengthResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadFunctionNameResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadFunctionNameResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadArrayBufferByteLengthInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadArrayBufferByteLengthInt32Result);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadArrayBufferByteLengthDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadArrayBufferByteLengthDoubleResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadArrayBufferViewLengthInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadArrayBufferViewLengthInt32Result);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadArrayBufferViewLengthDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadArrayBufferViewLengthDoubleResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadStringCharResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadStringCharResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadStringCharCodeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadStringCharCodeResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadStringLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadStringLengthResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneFrameIsConstructingResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::FrameIsConstructingResult);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadEnvironmentFixedSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadEnvironmentFixedSlotResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadEnvironmentDynamicSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadEnvironmentDynamicSlotResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t offsetOffset = reader.stubOffset();\
-+ uint32_t offset = getRawInt32Field(offsetOffset);\
-+ writer.writeRawInt32Field(offset);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadObjectResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadStringResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadSymbolResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadSymbolResult);\
-+ SymbolOperandId symId = reader.symbolOperandId();\
-+ writer.writeOperandId(symId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadInt32Result);\
-+ Int32OperandId valId = reader.int32OperandId();\
-+ writer.writeOperandId(valId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDoubleResult);\
-+ NumberOperandId valId = reader.numberOperandId();\
-+ writer.writeOperandId(valId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadBigIntResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadBigIntResult);\
-+ BigIntOperandId valId = reader.bigIntOperandId();\
-+ writer.writeOperandId(valId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallScriptedGetterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallScriptedGetterResult);\
-+ ValOperandId receiverId = reader.valOperandId();\
-+ writer.writeOperandId(receiverId);\
-+ uint32_t getterOffset = reader.stubOffset();\
-+ JSObject* getter = getObjectField(getterOffset);\
-+ writer.writeObjectField(getter);\
-+ bool sameRealm = reader.readBool();\
-+ writer.writeBoolImm(sameRealm);\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
-+ writer.writeRawInt32Field(nargsAndFlags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallInlinedGetterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallInlinedGetterResult);\
-+ ValOperandId receiverId = reader.valOperandId();\
-+ writer.writeOperandId(receiverId);\
-+ uint32_t getterOffset = reader.stubOffset();\
-+ JSObject* getter = getObjectField(getterOffset);\
-+ writer.writeObjectField(getter);\
-+ uint32_t icScriptOffset = reader.stubOffset();\
-+ const void* icScript = getRawPointerField(icScriptOffset);\
-+ writer.writeRawPointerField(icScript);\
-+ bool sameRealm = reader.readBool();\
-+ writer.writeBoolImm(sameRealm);\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
-+ writer.writeRawInt32Field(nargsAndFlags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallNativeGetterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallNativeGetterResult);\
-+ ValOperandId receiverId = reader.valOperandId();\
-+ writer.writeOperandId(receiverId);\
-+ uint32_t getterOffset = reader.stubOffset();\
-+ JSObject* getter = getObjectField(getterOffset);\
-+ writer.writeObjectField(getter);\
-+ bool sameRealm = reader.readBool();\
-+ writer.writeBoolImm(sameRealm);\
-+ uint32_t nargsAndFlagsOffset = reader.stubOffset();\
-+ uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
-+ writer.writeRawInt32Field(nargsAndFlags);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallDOMGetterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallDOMGetterResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t jitInfoOffset = reader.stubOffset();\
-+ const void* jitInfo = getRawPointerField(jitInfoOffset);\
-+ writer.writeRawPointerField(jitInfo);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneProxyGetResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ProxyGetResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ uint32_t idOffset = reader.stubOffset();\
-+ jsid id = getIdField(idOffset);\
-+ writer.writeIdField(id);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneProxyGetByValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ProxyGetByValueResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ValOperandId idId = reader.valOperandId();\
-+ writer.writeOperandId(idId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneProxyHasPropResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::ProxyHasPropResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ ValOperandId idId = reader.valOperandId();\
-+ writer.writeOperandId(idId);\
-+ bool hasOwn = reader.readBool();\
-+ writer.writeBoolImm(hasOwn);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallObjectHasSparseElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallObjectHasSparseElementResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallNativeGetElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallNativeGetElementResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ Int32OperandId indexId = reader.int32OperandId();\
-+ writer.writeOperandId(indexId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneGetNextMapSetEntryForIteratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::GetNextMapSetEntryForIteratorResult);\
-+ ObjOperandId iterId = reader.objOperandId();\
-+ writer.writeOperandId(iterId);\
-+ ObjOperandId resultArrId = reader.objOperandId();\
-+ writer.writeOperandId(resultArrId);\
-+ bool isMap = reader.readBool();\
-+ writer.writeBoolImm(isMap);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadUndefinedResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadUndefinedResult);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadBooleanResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadBooleanResult);\
-+ bool val = reader.readBool();\
-+ writer.writeBoolImm(val);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadInt32Constant(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadInt32Constant);\
-+ uint32_t valOffset = reader.stubOffset();\
-+ uint32_t val = getRawInt32Field(valOffset);\
-+ writer.writeRawInt32Field(val);\
-+ Int32OperandId resultId = reader.int32OperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadBooleanConstant(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadBooleanConstant);\
-+ bool val = reader.readBool();\
-+ writer.writeBoolImm(val);\
-+ BooleanOperandId resultId = reader.booleanOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadUndefined(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadUndefined);\
-+ ValOperandId resultId = reader.valOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadConstantString(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadConstantString);\
-+ uint32_t strOffset = reader.stubOffset();\
-+ JSString* str = getStringField(strOffset);\
-+ writer.writeStringField(str);\
-+ StringOperandId resultId = reader.stringOperandId();\
-+ writer.newOperandId();\
-+ writer.writeOperandId(resultId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadConstantStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadConstantStringResult);\
-+ uint32_t strOffset = reader.stubOffset();\
-+ JSString* str = getStringField(strOffset);\
-+ writer.writeStringField(str);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadInstanceOfObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadInstanceOfObjectResult);\
-+ ValOperandId lhsId = reader.valOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ ObjOperandId protoId = reader.objOperandId();\
-+ writer.writeOperandId(protoId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadTypeOfObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadTypeOfObjectResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneDoubleAddResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::DoubleAddResult);\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneDoubleSubResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::DoubleSubResult);\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneDoubleMulResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::DoubleMulResult);\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneDoubleDivResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::DoubleDivResult);\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneDoubleModResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::DoubleModResult);\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneDoublePowResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::DoublePowResult);\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32AddResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32AddResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32SubResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32SubResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32MulResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32MulResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32DivResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32DivResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32ModResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32ModResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32PowResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32PowResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntAddResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntAddResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntSubResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntSubResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntMulResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntMulResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntDivResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntDivResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntModResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntModResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntPowResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntPowResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32BitOrResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32BitOrResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32BitXorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32BitXorResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32BitAndResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32BitAndResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32LeftShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32LeftShiftResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32RightShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32RightShiftResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32URightShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32URightShiftResult);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ bool forceDouble = reader.readBool();\
-+ writer.writeBoolImm(forceDouble);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32NotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32NotResult);\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntBitOrResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntBitOrResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntBitXorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntBitXorResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntBitAndResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntBitAndResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntLeftShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntLeftShiftResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntRightShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntRightShiftResult);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntNotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntNotResult);\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32NegationResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32NegationResult);\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneDoubleNegationResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::DoubleNegationResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntNegationResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntNegationResult);\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32IncResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32IncResult);\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneInt32DecResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Int32DecResult);\
-+ Int32OperandId inputId = reader.int32OperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneDoubleIncResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::DoubleIncResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneDoubleDecResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::DoubleDecResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntIncResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntIncResult);\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntDecResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntDecResult);\
-+ BigIntOperandId inputId = reader.bigIntOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadInt32TruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadInt32TruthyResult);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadDoubleTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadDoubleTruthyResult);\
-+ NumberOperandId inputId = reader.numberOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadStringTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadStringTruthyResult);\
-+ StringOperandId strId = reader.stringOperandId();\
-+ writer.writeOperandId(strId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadObjectTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadObjectTruthyResult);\
-+ ObjOperandId objId = reader.objOperandId();\
-+ writer.writeOperandId(objId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadBigIntTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadBigIntTruthyResult);\
-+ BigIntOperandId bigIntId = reader.bigIntOperandId();\
-+ writer.writeOperandId(bigIntId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadValueTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadValueTruthyResult);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadValueResult);\
-+ uint32_t valOffset = reader.stubOffset();\
-+ const Value val = getValueField(valOffset);\
-+ writer.writeValueField(val);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneLoadOperandResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::LoadOperandResult);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewPlainObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewPlainObjectResult);\
-+ uint32_t numFixedSlots = reader.uint32Immediate();\
-+ writer.writeUInt32Imm(numFixedSlots);\
-+ uint32_t numDynamicSlots = reader.uint32Immediate();\
-+ writer.writeUInt32Imm(numDynamicSlots);\
-+ gc::AllocKind allocKind = reader.allocKind();\
-+ writer.writeAllocKindImm(allocKind);\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ Shape* shape = getShapeField(shapeOffset);\
-+ writer.writeShapeField(shape);\
-+ uint32_t siteOffset = reader.stubOffset();\
-+ gc::AllocSite* site = getAllocSiteField(siteOffset);\
-+ writer.writeAllocSiteField(site);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneNewArrayObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::NewArrayObjectResult);\
-+ uint32_t arrayLength = reader.uint32Immediate();\
-+ writer.writeUInt32Imm(arrayLength);\
-+ uint32_t shapeOffset = reader.stubOffset();\
-+ Shape* shape = getShapeField(shapeOffset);\
-+ writer.writeShapeField(shape);\
-+ uint32_t siteOffset = reader.stubOffset();\
-+ gc::AllocSite* site = getAllocSiteField(siteOffset);\
-+ writer.writeAllocSiteField(site);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallStringConcatResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallStringConcatResult);\
-+ StringOperandId lhsId = reader.stringOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ StringOperandId rhsId = reader.stringOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallStringObjectConcatResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallStringObjectConcatResult);\
-+ ValOperandId lhsId = reader.valOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallIsSuspendedGeneratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallIsSuspendedGeneratorResult);\
-+ ValOperandId valId = reader.valOperandId();\
-+ writer.writeOperandId(valId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareStringResult);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ StringOperandId lhsId = reader.stringOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ StringOperandId rhsId = reader.stringOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareObjectResult);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ ObjOperandId lhsId = reader.objOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ ObjOperandId rhsId = reader.objOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareSymbolResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareSymbolResult);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ SymbolOperandId lhsId = reader.symbolOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ SymbolOperandId rhsId = reader.symbolOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareInt32Result);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ Int32OperandId lhsId = reader.int32OperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareDoubleResult);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareBigIntResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareBigIntResult);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ BigIntOperandId rhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareBigIntInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareBigIntInt32Result);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ Int32OperandId rhsId = reader.int32OperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareBigIntNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareBigIntNumberResult);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareBigIntStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareBigIntStringResult);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ BigIntOperandId lhsId = reader.bigIntOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ StringOperandId rhsId = reader.stringOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareNullUndefinedResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareNullUndefinedResult);\
-+ JSOp op = reader.jsop();\
-+ writer.writeJSOpImm(op);\
-+ bool isUndefined = reader.readBool();\
-+ writer.writeBoolImm(isUndefined);\
-+ ValOperandId inputId = reader.valOperandId();\
-+ writer.writeOperandId(inputId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCompareDoubleSameValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CompareDoubleSameValueResult);\
-+ NumberOperandId lhsId = reader.numberOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ NumberOperandId rhsId = reader.numberOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneSameValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::SameValueResult);\
-+ ValOperandId lhsId = reader.valOperandId();\
-+ writer.writeOperandId(lhsId);\
-+ ValOperandId rhsId = reader.valOperandId();\
-+ writer.writeOperandId(rhsId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneIndirectTruncateInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::IndirectTruncateInt32Result);\
-+ Int32OperandId valId = reader.int32OperandId();\
-+ writer.writeOperandId(valId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntAsIntNResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntAsIntNResult);\
-+ Int32OperandId bitsId = reader.int32OperandId();\
-+ writer.writeOperandId(bitsId);\
-+ BigIntOperandId bigIntId = reader.bigIntOperandId();\
-+ writer.writeOperandId(bigIntId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBigIntAsUintNResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::BigIntAsUintNResult);\
-+ Int32OperandId bitsId = reader.int32OperandId();\
-+ writer.writeOperandId(bitsId);\
-+ BigIntOperandId bigIntId = reader.bigIntOperandId();\
-+ writer.writeOperandId(bigIntId);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneCallPrintString(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::CallPrintString);\
-+ const char* str = reinterpret_cast<char*>(reader.pointer());\
-+ writer.writeStaticStringImm(str);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBreakpoint(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Breakpoint);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneWrapResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::WrapResult);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneBailout(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::Bailout);\
-+ writer.assertLengthMatches();\
-+}}\
-+\
-+void cloneAssertRecoveredOnBailoutResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
-+ writer.writeOp(CacheOp::AssertRecoveredOnBailoutResult);\
-+ ValOperandId valId = reader.valOperandId();\
-+ writer.writeOperandId(valId);\
-+ bool mustBeRecovered = reader.readBool();\
-+ writer.writeBoolImm(mustBeRecovered);\
-+ writer.assertLengthMatches();\
-+}}\
-+
-+
-+
-+
-+#endif // jit_CacheIROpsGenerated_h
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_LOpcodesGenerated.h b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_LOpcodesGenerated.h
deleted file mode 100644
index ff52f1b55b1e..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_LOpcodesGenerated.h
+++ /dev/null
@@ -1,571 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/include/jit/LOpcodesGenerated.h.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/include/jit/LOpcodesGenerated.h
-@@ -0,0 +1,568 @@
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+#ifndef jit_LOpcodesGenerated_h
-+#define jit_LOpcodesGenerated_h
-+
-+/* This file is generated by jit/GenerateOpcodeFiles.py. Do not edit! */
-+
-+#define LIR_OPCODE_LIST(_) \
-+_(Phi)\
-+_(Box)\
-+_(OsiPoint)\
-+_(MoveGroup)\
-+_(Integer)\
-+_(Integer64)\
-+_(Pointer)\
-+_(Double)\
-+_(Float32)\
-+_(Value)\
-+_(NurseryObject)\
-+_(Parameter)\
-+_(Callee)\
-+_(IsConstructing)\
-+_(Goto)\
-+_(NewArray)\
-+_(NewArrayDynamicLength)\
-+_(NewIterator)\
-+_(NewTypedArray)\
-+_(NewTypedArrayDynamicLength)\
-+_(NewTypedArrayFromArray)\
-+_(NewTypedArrayFromArrayBuffer)\
-+_(NewObject)\
-+_(NewPlainObject)\
-+_(NewArrayObject)\
-+_(NewNamedLambdaObject)\
-+_(NewCallObject)\
-+_(NewStringObject)\
-+_(InitElemGetterSetter)\
-+_(MutateProto)\
-+_(InitPropGetterSetter)\
-+_(CheckOverRecursed)\
-+_(WasmTrap)\
-+_(WasmReinterpret)\
-+_(WasmReinterpretFromI64)\
-+_(WasmReinterpretToI64)\
-+_(Rotate)\
-+_(RotateI64)\
-+_(InterruptCheck)\
-+_(WasmInterruptCheck)\
-+_(TypeOfV)\
-+_(TypeOfO)\
-+_(ToAsyncIter)\
-+_(ToPropertyKeyCache)\
-+_(CreateThis)\
-+_(CreateThisWithTemplate)\
-+_(CreateArgumentsObject)\
-+_(CreateInlinedArgumentsObject)\
-+_(GetInlinedArgument)\
-+_(GetArgumentsObjectArg)\
-+_(SetArgumentsObjectArg)\
-+_(LoadArgumentsObjectArg)\
-+_(ArgumentsObjectLength)\
-+_(GuardArgumentsObjectFlags)\
-+_(ReturnFromCtor)\
-+_(BoxNonStrictThis)\
-+_(ImplicitThis)\
-+_(StackArgT)\
-+_(StackArgV)\
-+_(CallGeneric)\
-+_(CallKnown)\
-+_(CallNative)\
-+_(CallDOMNative)\
-+_(Bail)\
-+_(Unreachable)\
-+_(EncodeSnapshot)\
-+_(UnreachableResultV)\
-+_(UnreachableResultT)\
-+_(GetDOMProperty)\
-+_(GetDOMMemberV)\
-+_(GetDOMMemberT)\
-+_(SetDOMProperty)\
-+_(LoadDOMExpandoValue)\
-+_(LoadDOMExpandoValueGuardGeneration)\
-+_(LoadDOMExpandoValueIgnoreGeneration)\
-+_(GuardDOMExpandoMissingOrGuardShape)\
-+_(ApplyArgsGeneric)\
-+_(ApplyArgsObj)\
-+_(ApplyArrayGeneric)\
-+_(ConstructArrayGeneric)\
-+_(TestIAndBranch)\
-+_(TestI64AndBranch)\
-+_(TestDAndBranch)\
-+_(TestFAndBranch)\
-+_(TestBIAndBranch)\
-+_(TestOAndBranch)\
-+_(TestVAndBranch)\
-+_(Compare)\
-+_(CompareI64)\
-+_(CompareI64AndBranch)\
-+_(CompareAndBranch)\
-+_(CompareD)\
-+_(CompareF)\
-+_(CompareDAndBranch)\
-+_(CompareFAndBranch)\
-+_(CompareS)\
-+_(CompareBigInt)\
-+_(CompareBigIntInt32)\
-+_(CompareBigIntDouble)\
-+_(CompareBigIntString)\
-+_(BitAndAndBranch)\
-+_(IsNullOrLikeUndefinedV)\
-+_(IsNullOrLikeUndefinedT)\
-+_(IsNullOrLikeUndefinedAndBranchV)\
-+_(IsNullOrLikeUndefinedAndBranchT)\
-+_(SameValueDouble)\
-+_(SameValue)\
-+_(NotI)\
-+_(NotI64)\
-+_(NotD)\
-+_(NotF)\
-+_(NotBI)\
-+_(NotO)\
-+_(NotV)\
-+_(BitNotI)\
-+_(BitOpI)\
-+_(BitOpI64)\
-+_(ShiftI)\
-+_(ShiftI64)\
-+_(SignExtendInt32)\
-+_(SignExtendInt64)\
-+_(UrshD)\
-+_(Return)\
-+_(Throw)\
-+_(MinMaxI)\
-+_(MinMaxD)\
-+_(MinMaxF)\
-+_(MinMaxArrayI)\
-+_(MinMaxArrayD)\
-+_(NegI)\
-+_(NegI64)\
-+_(NegD)\
-+_(NegF)\
-+_(AbsI)\
-+_(AbsD)\
-+_(AbsF)\
-+_(CopySignD)\
-+_(CopySignF)\
-+_(ClzI)\
-+_(ClzI64)\
-+_(CtzI)\
-+_(CtzI64)\
-+_(PopcntI)\
-+_(PopcntI64)\
-+_(SqrtD)\
-+_(SqrtF)\
-+_(Atan2D)\
-+_(Hypot)\
-+_(PowI)\
-+_(PowII)\
-+_(PowD)\
-+_(PowOfTwoI)\
-+_(SignI)\
-+_(SignD)\
-+_(SignDI)\
-+_(MathFunctionD)\
-+_(MathFunctionF)\
-+_(AddI)\
-+_(AddI64)\
-+_(SubI)\
-+_(SubI64)\
-+_(MulI64)\
-+_(MathD)\
-+_(MathF)\
-+_(ModD)\
-+_(ModPowTwoD)\
-+_(WasmBuiltinModD)\
-+_(BigIntAdd)\
-+_(BigIntSub)\
-+_(BigIntMul)\
-+_(BigIntDiv)\
-+_(BigIntMod)\
-+_(BigIntPow)\
-+_(BigIntBitAnd)\
-+_(BigIntBitOr)\
-+_(BigIntBitXor)\
-+_(BigIntLsh)\
-+_(BigIntRsh)\
-+_(BigIntIncrement)\
-+_(BigIntDecrement)\
-+_(BigIntNegate)\
-+_(BigIntBitNot)\
-+_(Concat)\
-+_(CharCodeAt)\
-+_(FromCharCode)\
-+_(FromCodePoint)\
-+_(StringConvertCase)\
-+_(StringSplit)\
-+_(Substr)\
-+_(Int32ToDouble)\
-+_(Float32ToDouble)\
-+_(DoubleToFloat32)\
-+_(Int32ToFloat32)\
-+_(ValueToDouble)\
-+_(ValueToFloat32)\
-+_(ValueToInt32)\
-+_(ValueToBigInt)\
-+_(DoubleToInt32)\
-+_(Float32ToInt32)\
-+_(DoubleToIntegerInt32)\
-+_(Float32ToIntegerInt32)\
-+_(TruncateDToInt32)\
-+_(WasmBuiltinTruncateDToInt32)\
-+_(TruncateFToInt32)\
-+_(WasmBuiltinTruncateFToInt32)\
-+_(WasmTruncateToInt32)\
-+_(WrapInt64ToInt32)\
-+_(ExtendInt32ToInt64)\
-+_(BooleanToString)\
-+_(IntToString)\
-+_(DoubleToString)\
-+_(ValueToString)\
-+_(PowHalfD)\
-+_(NaNToZero)\
-+_(OsrEntry)\
-+_(OsrValue)\
-+_(OsrEnvironmentChain)\
-+_(OsrReturnValue)\
-+_(OsrArgumentsObject)\
-+_(RegExp)\
-+_(RegExpMatcher)\
-+_(RegExpSearcher)\
-+_(RegExpTester)\
-+_(RegExpPrototypeOptimizable)\
-+_(RegExpInstanceOptimizable)\
-+_(GetFirstDollarIndex)\
-+_(StringReplace)\
-+_(BinaryValueCache)\
-+_(BinaryBoolCache)\
-+_(UnaryCache)\
-+_(ModuleMetadata)\
-+_(DynamicImport)\
-+_(Lambda)\
-+_(LambdaArrow)\
-+_(FunctionWithProto)\
-+_(SetFunName)\
-+_(KeepAliveObject)\
-+_(Slots)\
-+_(Elements)\
-+_(InitializedLength)\
-+_(SetInitializedLength)\
-+_(ArrayLength)\
-+_(SetArrayLength)\
-+_(FunctionLength)\
-+_(FunctionName)\
-+_(GetNextEntryForIterator)\
-+_(ArrayBufferByteLength)\
-+_(ArrayBufferViewLength)\
-+_(ArrayBufferViewByteOffset)\
-+_(ArrayBufferViewElements)\
-+_(TypedArrayElementSize)\
-+_(GuardHasAttachedArrayBuffer)\
-+_(GuardNumberToIntPtrIndex)\
-+_(BoundsCheck)\
-+_(BoundsCheckRange)\
-+_(BoundsCheckLower)\
-+_(SpectreMaskIndex)\
-+_(LoadElementV)\
-+_(InArray)\
-+_(GuardElementNotHole)\
-+_(LoadElementHole)\
-+_(StoreElementV)\
-+_(StoreElementT)\
-+_(StoreHoleValueElement)\
-+_(StoreElementHoleV)\
-+_(StoreElementHoleT)\
-+_(ArrayPopShift)\
-+_(ArrayPush)\
-+_(ArraySlice)\
-+_(ArrayJoin)\
-+_(LoadUnboxedScalar)\
-+_(LoadUnboxedBigInt)\
-+_(LoadDataViewElement)\
-+_(LoadTypedArrayElementHole)\
-+_(LoadTypedArrayElementHoleBigInt)\
-+_(StoreUnboxedScalar)\
-+_(StoreUnboxedBigInt)\
-+_(StoreDataViewElement)\
-+_(StoreTypedArrayElementHole)\
-+_(StoreTypedArrayElementHoleBigInt)\
-+_(AtomicIsLockFree)\
-+_(CompareExchangeTypedArrayElement)\
-+_(AtomicExchangeTypedArrayElement)\
-+_(AtomicTypedArrayElementBinop)\
-+_(AtomicTypedArrayElementBinopForEffect)\
-+_(AtomicLoad64)\
-+_(AtomicStore64)\
-+_(CompareExchangeTypedArrayElement64)\
-+_(AtomicExchangeTypedArrayElement64)\
-+_(AtomicTypedArrayElementBinop64)\
-+_(AtomicTypedArrayElementBinopForEffect64)\
-+_(EffectiveAddress)\
-+_(ClampIToUint8)\
-+_(ClampDToUint8)\
-+_(ClampVToUint8)\
-+_(LoadFixedSlotV)\
-+_(LoadFixedSlotT)\
-+_(LoadFixedSlotAndUnbox)\
-+_(LoadDynamicSlotAndUnbox)\
-+_(LoadElementAndUnbox)\
-+_(AddAndStoreSlot)\
-+_(AllocateAndStoreSlot)\
-+_(StoreFixedSlotV)\
-+_(StoreFixedSlotT)\
-+_(GetNameCache)\
-+_(CallGetIntrinsicValue)\
-+_(GetPropSuperCache)\
-+_(GetPropertyCache)\
-+_(BindNameCache)\
-+_(CallBindVar)\
-+_(LoadDynamicSlotV)\
-+_(StoreDynamicSlotV)\
-+_(StoreDynamicSlotT)\
-+_(StringLength)\
-+_(Floor)\
-+_(FloorF)\
-+_(Ceil)\
-+_(CeilF)\
-+_(Round)\
-+_(RoundF)\
-+_(Trunc)\
-+_(TruncF)\
-+_(NearbyInt)\
-+_(NearbyIntF)\
-+_(FunctionEnvironment)\
-+_(HomeObject)\
-+_(HomeObjectSuperBase)\
-+_(NewLexicalEnvironmentObject)\
-+_(CopyLexicalEnvironmentObject)\
-+_(NewClassBodyEnvironmentObject)\
-+_(CallSetElement)\
-+_(CallDeleteProperty)\
-+_(CallDeleteElement)\
-+_(SetPropertyCache)\
-+_(GetIteratorCache)\
-+_(OptimizeSpreadCallCache)\
-+_(IteratorMore)\
-+_(IsNoIterAndBranch)\
-+_(IteratorEnd)\
-+_(ArgumentsLength)\
-+_(GetFrameArgument)\
-+_(Rest)\
-+_(Int32ToIntPtr)\
-+_(NonNegativeIntPtrToInt32)\
-+_(IntPtrToDouble)\
-+_(AdjustDataViewLength)\
-+_(BooleanToInt64)\
-+_(StringToInt64)\
-+_(ValueToInt64)\
-+_(TruncateBigIntToInt64)\
-+_(Int64ToBigInt)\
-+_(PostWriteBarrierO)\
-+_(PostWriteBarrierS)\
-+_(PostWriteBarrierBI)\
-+_(PostWriteBarrierV)\
-+_(PostWriteElementBarrierO)\
-+_(PostWriteElementBarrierS)\
-+_(PostWriteElementBarrierBI)\
-+_(PostWriteElementBarrierV)\
-+_(GuardObjectIdentity)\
-+_(GuardSpecificFunction)\
-+_(GuardSpecificAtom)\
-+_(GuardSpecificSymbol)\
-+_(GuardStringToIndex)\
-+_(GuardStringToInt32)\
-+_(GuardStringToDouble)\
-+_(GuardShape)\
-+_(GuardProto)\
-+_(GuardNullProto)\
-+_(GuardIsNativeObject)\
-+_(GuardIsProxy)\
-+_(GuardIsNotProxy)\
-+_(GuardIsNotDOMProxy)\
-+_(ProxyGet)\
-+_(ProxyGetByValue)\
-+_(ProxyHasProp)\
-+_(ProxySet)\
-+_(ProxySetByValue)\
-+_(CallSetArrayLength)\
-+_(MegamorphicLoadSlot)\
-+_(MegamorphicLoadSlotByValue)\
-+_(MegamorphicStoreSlot)\
-+_(MegamorphicHasProp)\
-+_(GuardIsNotArrayBufferMaybeShared)\
-+_(GuardIsTypedArray)\
-+_(GuardNoDenseElements)\
-+_(InCache)\
-+_(HasOwnCache)\
-+_(CheckPrivateFieldCache)\
-+_(InstanceOfO)\
-+_(InstanceOfV)\
-+_(InstanceOfCache)\
-+_(IsCallableO)\
-+_(IsCallableV)\
-+_(IsConstructor)\
-+_(IsCrossRealmArrayConstructor)\
-+_(IsArrayO)\
-+_(IsArrayV)\
-+_(IsTypedArray)\
-+_(IsObject)\
-+_(IsObjectAndBranch)\
-+_(IsNullOrUndefined)\
-+_(IsNullOrUndefinedAndBranch)\
-+_(HasClass)\
-+_(GuardToClass)\
-+_(ObjectClassToString)\
-+_(WasmSelect)\
-+_(WasmSelectI64)\
-+_(WasmCompareAndSelect)\
-+_(WasmAddOffset)\
-+_(WasmBoundsCheck)\
-+_(WasmBoundsCheck64)\
-+_(WasmExtendU32Index)\
-+_(WasmWrapU32Index)\
-+_(WasmAlignmentCheck)\
-+_(WasmLoadTls)\
-+_(WasmHeapBase)\
-+_(WasmLoad)\
-+_(WasmLoadI64)\
-+_(WasmStore)\
-+_(WasmStoreI64)\
-+_(AsmJSLoadHeap)\
-+_(AsmJSStoreHeap)\
-+_(WasmCompareExchangeHeap)\
-+_(WasmFence)\
-+_(WasmAtomicExchangeHeap)\
-+_(WasmAtomicBinopHeap)\
-+_(WasmAtomicBinopHeapForEffect)\
-+_(WasmLoadSlot)\
-+_(WasmLoadSlotI64)\
-+_(WasmStoreSlot)\
-+_(WasmStoreSlotI64)\
-+_(WasmDerivedPointer)\
-+_(WasmStoreRef)\
-+_(WasmParameter)\
-+_(WasmParameterI64)\
-+_(WasmReturn)\
-+_(WasmReturnI64)\
-+_(WasmReturnVoid)\
-+_(WasmStackArg)\
-+_(WasmStackArgI64)\
-+_(WasmNullConstant)\
-+_(WasmCall)\
-+_(WasmRegisterResult)\
-+_(WasmRegisterPairResult)\
-+_(WasmStackResultArea)\
-+_(WasmStackResult)\
-+_(WasmStackResult64)\
-+_(AssertRangeI)\
-+_(AssertRangeD)\
-+_(AssertRangeF)\
-+_(AssertRangeV)\
-+_(AssertClass)\
-+_(AssertShape)\
-+_(AssertResultT)\
-+_(AssertResultV)\
-+_(GuardValue)\
-+_(GuardNullOrUndefined)\
-+_(GuardFunctionFlags)\
-+_(GuardFunctionIsNonBuiltinCtor)\
-+_(GuardFunctionKind)\
-+_(GuardFunctionScript)\
-+_(IncrementWarmUpCounter)\
-+_(LexicalCheck)\
-+_(ThrowRuntimeLexicalError)\
-+_(ThrowMsg)\
-+_(GlobalDeclInstantiation)\
-+_(MemoryBarrier)\
-+_(Debugger)\
-+_(NewTarget)\
-+_(ArrowNewTarget)\
-+_(Random)\
-+_(CheckReturn)\
-+_(CheckIsObj)\
-+_(CheckObjCoercible)\
-+_(CheckClassHeritage)\
-+_(CheckThis)\
-+_(CheckThisReinit)\
-+_(Generator)\
-+_(AsyncResolve)\
-+_(AsyncAwait)\
-+_(CanSkipAwait)\
-+_(MaybeExtractAwaitValue)\
-+_(DebugCheckSelfHosted)\
-+_(FinishBoundFunctionInit)\
-+_(IsPackedArray)\
-+_(GuardArrayIsPacked)\
-+_(GetPrototypeOf)\
-+_(ObjectWithProto)\
-+_(ObjectStaticProto)\
-+_(BuiltinObject)\
-+_(SuperFunction)\
-+_(InitHomeObject)\
-+_(IsTypedArrayConstructor)\
-+_(LoadValueTag)\
-+_(GuardTagNotEqual)\
-+_(LoadWrapperTarget)\
-+_(GuardHasGetterSetter)\
-+_(GuardIsExtensible)\
-+_(GuardInt32IsNonNegative)\
-+_(GuardIndexGreaterThanDenseInitLength)\
-+_(GuardIndexIsValidUpdateOrAdd)\
-+_(CallAddOrUpdateSparseElement)\
-+_(CallGetSparseElement)\
-+_(CallNativeGetElement)\
-+_(CallObjectHasSparseElement)\
-+_(BigIntAsIntN)\
-+_(BigIntAsIntN64)\
-+_(BigIntAsIntN32)\
-+_(BigIntAsUintN)\
-+_(BigIntAsUintN64)\
-+_(BigIntAsUintN32)\
-+_(IonToWasmCall)\
-+_(IonToWasmCallV)\
-+_(IonToWasmCallI64)\
-+_(WasmBoxValue)\
-+_(WasmAnyRefFromJSObject)\
-+_(Simd128)\
-+_(WasmBitselectSimd128)\
-+_(WasmBinarySimd128)\
-+_(WasmBinarySimd128WithConstant)\
-+_(WasmVariableShiftSimd128)\
-+_(WasmConstantShiftSimd128)\
-+_(WasmSignReplicationSimd128)\
-+_(WasmShuffleSimd128)\
-+_(WasmPermuteSimd128)\
-+_(WasmReplaceLaneSimd128)\
-+_(WasmReplaceInt64LaneSimd128)\
-+_(WasmScalarToSimd128)\
-+_(WasmInt64ToSimd128)\
-+_(WasmUnarySimd128)\
-+_(WasmReduceSimd128)\
-+_(WasmReduceAndBranchSimd128)\
-+_(WasmReduceSimd128ToInt64)\
-+_(WasmLoadLaneSimd128)\
-+_(WasmStoreLaneSimd128)\
-+_(Unbox)\
-+_(UnboxFloatingPoint)\
-+_(WasmUint32ToDouble)\
-+_(WasmUint32ToFloat32)\
-+_(DivI)\
-+_(DivPowTwoI)\
-+_(DivConstantI)\
-+_(UDivConstantI)\
-+_(ModI)\
-+_(ModPowTwoI)\
-+_(ModMaskI)\
-+_(TableSwitch)\
-+_(TableSwitchV)\
-+_(MulI)\
-+_(UDiv)\
-+_(UMod)\
-+_(Int64ToFloatingPoint)\
-+_(WasmTruncateToInt64)\
-+_(DivOrModI64)\
-+_(UDivOrModI64)
-+
-+#endif // jit_LOpcodesGenerated_h
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_MIROpsGenerated.h b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_MIROpsGenerated.h
deleted file mode 100644
index 33cbe80e6269..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_MIROpsGenerated.h
+++ /dev/null
@@ -1,2662 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/include/jit/MIROpsGenerated.h.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/include/jit/MIROpsGenerated.h
-@@ -0,0 +1,2659 @@
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+#ifndef jit_MIROpsGenerated_h
-+#define jit_MIROpsGenerated_h
-+
-+/* This file is generated by jit/GenerateMIRFiles.py. Do not edit! */
-+
-+#define MIR_OPCODE_LIST(_)\
-+_(Start)\
-+_(OsrEntry)\
-+_(Nop)\
-+_(LimitedTruncate)\
-+_(Constant)\
-+_(WasmNullConstant)\
-+_(WasmFloatConstant)\
-+_(Parameter)\
-+_(Callee)\
-+_(IsConstructing)\
-+_(TableSwitch)\
-+_(Goto)\
-+_(Test)\
-+_(Return)\
-+_(Throw)\
-+_(NewArray)\
-+_(NewArrayDynamicLength)\
-+_(NewTypedArray)\
-+_(NewTypedArrayDynamicLength)\
-+_(NewTypedArrayFromArray)\
-+_(NewTypedArrayFromArrayBuffer)\
-+_(NewObject)\
-+_(NewPlainObject)\
-+_(NewArrayObject)\
-+_(NewIterator)\
-+_(ObjectState)\
-+_(ArrayState)\
-+_(MutateProto)\
-+_(InitPropGetterSetter)\
-+_(InitElemGetterSetter)\
-+_(Call)\
-+_(ApplyArgs)\
-+_(ApplyArgsObj)\
-+_(ApplyArray)\
-+_(ConstructArray)\
-+_(Bail)\
-+_(Unreachable)\
-+_(EncodeSnapshot)\
-+_(AssertRecoveredOnBailout)\
-+_(AssertFloat32)\
-+_(Compare)\
-+_(SameValueDouble)\
-+_(SameValue)\
-+_(Box)\
-+_(Unbox)\
-+_(AssertRange)\
-+_(AssertClass)\
-+_(AssertShape)\
-+_(CreateThisWithTemplate)\
-+_(CreateThis)\
-+_(CreateArgumentsObject)\
-+_(CreateInlinedArgumentsObject)\
-+_(GetInlinedArgument)\
-+_(GetArgumentsObjectArg)\
-+_(SetArgumentsObjectArg)\
-+_(LoadArgumentsObjectArg)\
-+_(ArgumentsObjectLength)\
-+_(GuardArgumentsObjectFlags)\
-+_(ReturnFromCtor)\
-+_(ToDouble)\
-+_(ToFloat32)\
-+_(WasmUnsignedToDouble)\
-+_(WasmUnsignedToFloat32)\
-+_(WrapInt64ToInt32)\
-+_(ExtendInt32ToInt64)\
-+_(WasmBuiltinTruncateToInt64)\
-+_(WasmTruncateToInt64)\
-+_(WasmTruncateToInt32)\
-+_(WasmBoxValue)\
-+_(WasmAnyRefFromJSObject)\
-+_(Int32ToIntPtr)\
-+_(NonNegativeIntPtrToInt32)\
-+_(IntPtrToDouble)\
-+_(AdjustDataViewLength)\
-+_(Int64ToFloatingPoint)\
-+_(BuiltinInt64ToFloatingPoint)\
-+_(ToNumberInt32)\
-+_(ToIntegerInt32)\
-+_(TruncateToInt32)\
-+_(WasmBuiltinTruncateToInt32)\
-+_(ToBigInt)\
-+_(ToInt64)\
-+_(TruncateBigIntToInt64)\
-+_(Int64ToBigInt)\
-+_(ToString)\
-+_(BitNot)\
-+_(TypeOf)\
-+_(ToAsyncIter)\
-+_(ToPropertyKeyCache)\
-+_(BitAnd)\
-+_(BitOr)\
-+_(BitXor)\
-+_(Lsh)\
-+_(Rsh)\
-+_(Ursh)\
-+_(SignExtendInt32)\
-+_(SignExtendInt64)\
-+_(MinMax)\
-+_(MinMaxArray)\
-+_(Abs)\
-+_(Clz)\
-+_(Ctz)\
-+_(Popcnt)\
-+_(Sqrt)\
-+_(CopySign)\
-+_(Atan2)\
-+_(Hypot)\
-+_(Pow)\
-+_(PowHalf)\
-+_(Random)\
-+_(Sign)\
-+_(MathFunction)\
-+_(Add)\
-+_(Sub)\
-+_(Mul)\
-+_(Div)\
-+_(WasmBuiltinDivI64)\
-+_(Mod)\
-+_(WasmBuiltinModD)\
-+_(WasmBuiltinModI64)\
-+_(BigIntAdd)\
-+_(BigIntSub)\
-+_(BigIntMul)\
-+_(BigIntDiv)\
-+_(BigIntMod)\
-+_(BigIntPow)\
-+_(BigIntBitAnd)\
-+_(BigIntBitOr)\
-+_(BigIntBitXor)\
-+_(BigIntLsh)\
-+_(BigIntRsh)\
-+_(BigIntIncrement)\
-+_(BigIntDecrement)\
-+_(BigIntNegate)\
-+_(BigIntBitNot)\
-+_(Concat)\
-+_(CharCodeAt)\
-+_(FromCharCode)\
-+_(FromCodePoint)\
-+_(StringConvertCase)\
-+_(StringSplit)\
-+_(BoxNonStrictThis)\
-+_(ImplicitThis)\
-+_(ArrowNewTarget)\
-+_(Phi)\
-+_(Beta)\
-+_(NaNToZero)\
-+_(OsrValue)\
-+_(OsrEnvironmentChain)\
-+_(OsrArgumentsObject)\
-+_(OsrReturnValue)\
-+_(BinaryCache)\
-+_(UnaryCache)\
-+_(CheckOverRecursed)\
-+_(InterruptCheck)\
-+_(WasmInterruptCheck)\
-+_(WasmTrap)\
-+_(LexicalCheck)\
-+_(ThrowRuntimeLexicalError)\
-+_(ThrowMsg)\
-+_(GlobalDeclInstantiation)\
-+_(RegExp)\
-+_(RegExpMatcher)\
-+_(RegExpSearcher)\
-+_(RegExpTester)\
-+_(RegExpPrototypeOptimizable)\
-+_(RegExpInstanceOptimizable)\
-+_(GetFirstDollarIndex)\
-+_(StringReplace)\
-+_(Substr)\
-+_(ModuleMetadata)\
-+_(DynamicImport)\
-+_(Lambda)\
-+_(LambdaArrow)\
-+_(FunctionWithProto)\
-+_(SetFunName)\
-+_(Slots)\
-+_(Elements)\
-+_(InitializedLength)\
-+_(SetInitializedLength)\
-+_(ArrayLength)\
-+_(SetArrayLength)\
-+_(FunctionLength)\
-+_(FunctionName)\
-+_(GetNextEntryForIterator)\
-+_(ArrayBufferByteLength)\
-+_(ArrayBufferViewLength)\
-+_(ArrayBufferViewByteOffset)\
-+_(ArrayBufferViewElements)\
-+_(TypedArrayElementSize)\
-+_(GuardHasAttachedArrayBuffer)\
-+_(GuardNumberToIntPtrIndex)\
-+_(KeepAliveObject)\
-+_(Not)\
-+_(BoundsCheck)\
-+_(BoundsCheckLower)\
-+_(SpectreMaskIndex)\
-+_(LoadElement)\
-+_(LoadElementAndUnbox)\
-+_(LoadElementHole)\
-+_(StoreElement)\
-+_(StoreHoleValueElement)\
-+_(StoreElementHole)\
-+_(ArrayPopShift)\
-+_(ArrayPush)\
-+_(ArraySlice)\
-+_(ArrayJoin)\
-+_(LoadUnboxedScalar)\
-+_(LoadDataViewElement)\
-+_(LoadTypedArrayElementHole)\
-+_(StoreUnboxedScalar)\
-+_(StoreDataViewElement)\
-+_(StoreTypedArrayElementHole)\
-+_(EffectiveAddress)\
-+_(ClampToUint8)\
-+_(LoadFixedSlot)\
-+_(LoadFixedSlotAndUnbox)\
-+_(LoadDynamicSlotAndUnbox)\
-+_(StoreFixedSlot)\
-+_(GetPropertyCache)\
-+_(HomeObjectSuperBase)\
-+_(GetPropSuperCache)\
-+_(BindNameCache)\
-+_(CallBindVar)\
-+_(GuardShape)\
-+_(GuardProto)\
-+_(GuardNullProto)\
-+_(GuardIsNativeObject)\
-+_(GuardIsProxy)\
-+_(GuardIsNotDOMProxy)\
-+_(GuardIsNotProxy)\
-+_(ProxyGet)\
-+_(ProxyGetByValue)\
-+_(ProxyHasProp)\
-+_(ProxySet)\
-+_(ProxySetByValue)\
-+_(CallSetArrayLength)\
-+_(MegamorphicLoadSlot)\
-+_(MegamorphicLoadSlotByValue)\
-+_(MegamorphicStoreSlot)\
-+_(MegamorphicHasProp)\
-+_(GuardIsNotArrayBufferMaybeShared)\
-+_(GuardIsTypedArray)\
-+_(NurseryObject)\
-+_(GuardValue)\
-+_(GuardNullOrUndefined)\
-+_(GuardFunctionFlags)\
-+_(GuardFunctionIsNonBuiltinCtor)\
-+_(GuardFunctionKind)\
-+_(GuardFunctionScript)\
-+_(GuardObjectIdentity)\
-+_(GuardSpecificFunction)\
-+_(GuardSpecificAtom)\
-+_(GuardSpecificSymbol)\
-+_(GuardStringToIndex)\
-+_(GuardStringToInt32)\
-+_(GuardStringToDouble)\
-+_(GuardNoDenseElements)\
-+_(GuardTagNotEqual)\
-+_(LoadDynamicSlot)\
-+_(FunctionEnvironment)\
-+_(NewLexicalEnvironmentObject)\
-+_(NewClassBodyEnvironmentObject)\
-+_(CopyLexicalEnvironmentObject)\
-+_(HomeObject)\
-+_(AddAndStoreSlot)\
-+_(AllocateAndStoreSlot)\
-+_(StoreDynamicSlot)\
-+_(GetNameCache)\
-+_(CallGetIntrinsicValue)\
-+_(DeleteProperty)\
-+_(DeleteElement)\
-+_(SetPropertyCache)\
-+_(CallSetElement)\
-+_(SetDOMProperty)\
-+_(GetDOMProperty)\
-+_(GetDOMMember)\
-+_(LoadDOMExpandoValue)\
-+_(LoadDOMExpandoValueGuardGeneration)\
-+_(LoadDOMExpandoValueIgnoreGeneration)\
-+_(GuardDOMExpandoMissingOrGuardShape)\
-+_(StringLength)\
-+_(Floor)\
-+_(Ceil)\
-+_(Round)\
-+_(Trunc)\
-+_(NearbyInt)\
-+_(GetIteratorCache)\
-+_(OptimizeSpreadCallCache)\
-+_(IteratorMore)\
-+_(IsNoIter)\
-+_(IteratorEnd)\
-+_(InCache)\
-+_(InArray)\
-+_(GuardElementNotHole)\
-+_(CheckPrivateFieldCache)\
-+_(HasOwnCache)\
-+_(InstanceOf)\
-+_(InstanceOfCache)\
-+_(ArgumentsLength)\
-+_(GetFrameArgument)\
-+_(NewTarget)\
-+_(Rest)\
-+_(PostWriteBarrier)\
-+_(PostWriteElementBarrier)\
-+_(NewNamedLambdaObject)\
-+_(NewCallObject)\
-+_(NewStringObject)\
-+_(IsCallable)\
-+_(IsConstructor)\
-+_(IsCrossRealmArrayConstructor)\
-+_(IsObject)\
-+_(IsNullOrUndefined)\
-+_(HasClass)\
-+_(GuardToClass)\
-+_(IsArray)\
-+_(IsTypedArray)\
-+_(ObjectClassToString)\
-+_(CheckReturn)\
-+_(CheckThis)\
-+_(AsyncResolve)\
-+_(GeneratorReturn)\
-+_(AsyncAwait)\
-+_(CheckThisReinit)\
-+_(Generator)\
-+_(CanSkipAwait)\
-+_(MaybeExtractAwaitValue)\
-+_(IncrementWarmUpCounter)\
-+_(AtomicIsLockFree)\
-+_(CompareExchangeTypedArrayElement)\
-+_(AtomicExchangeTypedArrayElement)\
-+_(AtomicTypedArrayElementBinop)\
-+_(Debugger)\
-+_(CheckIsObj)\
-+_(CheckObjCoercible)\
-+_(CheckClassHeritage)\
-+_(DebugCheckSelfHosted)\
-+_(FinishBoundFunctionInit)\
-+_(IsPackedArray)\
-+_(GuardArrayIsPacked)\
-+_(GetPrototypeOf)\
-+_(ObjectWithProto)\
-+_(ObjectStaticProto)\
-+_(BuiltinObject)\
-+_(SuperFunction)\
-+_(InitHomeObject)\
-+_(IsTypedArrayConstructor)\
-+_(LoadValueTag)\
-+_(LoadWrapperTarget)\
-+_(GuardHasGetterSetter)\
-+_(GuardIsExtensible)\
-+_(GuardInt32IsNonNegative)\
-+_(GuardIndexGreaterThanDenseInitLength)\
-+_(GuardIndexIsValidUpdateOrAdd)\
-+_(CallAddOrUpdateSparseElement)\
-+_(CallGetSparseElement)\
-+_(CallNativeGetElement)\
-+_(CallObjectHasSparseElement)\
-+_(BigIntAsIntN)\
-+_(BigIntAsUintN)\
-+_(WasmNeg)\
-+_(WasmLoadTls)\
-+_(WasmHeapBase)\
-+_(WasmBoundsCheck)\
-+_(WasmExtendU32Index)\
-+_(WasmWrapU32Index)\
-+_(WasmAddOffset)\
-+_(WasmAlignmentCheck)\
-+_(WasmLoad)\
-+_(WasmStore)\
-+_(AsmJSLoadHeap)\
-+_(AsmJSStoreHeap)\
-+_(WasmFence)\
-+_(WasmCompareExchangeHeap)\
-+_(WasmAtomicExchangeHeap)\
-+_(WasmAtomicBinopHeap)\
-+_(WasmLoadGlobalVar)\
-+_(WasmLoadGlobalCell)\
-+_(WasmStoreGlobalVar)\
-+_(WasmStoreGlobalCell)\
-+_(WasmStoreStackResult)\
-+_(WasmDerivedPointer)\
-+_(WasmStoreRef)\
-+_(WasmParameter)\
-+_(WasmReturn)\
-+_(WasmReturnVoid)\
-+_(WasmStackArg)\
-+_(WasmRegisterResult)\
-+_(WasmFloatRegisterResult)\
-+_(WasmRegister64Result)\
-+_(WasmStackResultArea)\
-+_(WasmStackResult)\
-+_(WasmCall)\
-+_(WasmSelect)\
-+_(WasmReinterpret)\
-+_(Rotate)\
-+_(WasmBitselectSimd128)\
-+_(WasmBinarySimd128)\
-+_(WasmBinarySimd128WithConstant)\
-+_(WasmShiftSimd128)\
-+_(WasmShuffleSimd128)\
-+_(WasmReplaceLaneSimd128)\
-+_(WasmUnarySimd128)\
-+_(WasmScalarToSimd128)\
-+_(WasmReduceSimd128)\
-+_(WasmLoadLaneSimd128)\
-+_(WasmStoreLaneSimd128)\
-+_(UnreachableResult)\
-+_(IonToWasmCall)
-+
-+#define MIR_OPCODE_CLASS_GENERATED \
-+class MStart : public MNullaryInstruction {\
-+ explicit MStart() : MNullaryInstruction(classOpcode) {\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(Start)\
-+ TRIVIAL_NEW_WRAPPERS\
-+};\
-+\
-+class MOsrEntry : public MNullaryInstruction {\
-+ explicit MOsrEntry() : MNullaryInstruction(classOpcode) {\
-+ setResultType(MIRType::Pointer);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(OsrEntry)\
-+ TRIVIAL_NEW_WRAPPERS\
-+};\
-+\
-+class MNop : public MNullaryInstruction {\
-+ explicit MNop() : MNullaryInstruction(classOpcode) {\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(Nop)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ ALLOW_CLONE(MNop)\
-+};\
-+\
-+class MCallee : public MNullaryInstruction {\
-+ explicit MCallee() : MNullaryInstruction(classOpcode) {\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(Callee)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MIsConstructing : public MNullaryInstruction {\
-+ explicit MIsConstructing() : MNullaryInstruction(classOpcode) {\
-+ setMovable();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IsConstructing)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MThrow : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MThrow(MDefinition* ins) : MUnaryInstruction(classOpcode, ins) {\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(Throw)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, ins))\
-+ AliasSet getAliasSet() const override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MNewArrayDynamicLength : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
-+ CompilerGCPointer<JSObject*> templateObject_;\
-+ gc::InitialHeap initialHeap_;\
-+ explicit MNewArrayDynamicLength(MDefinition* length, JSObject* templateObject, gc::InitialHeap initialHeap) : MUnaryInstruction(classOpcode, length), templateObject_(templateObject), initialHeap_(initialHeap) {\
-+ setGuard();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ JSObject* templateObject() const { return templateObject_; }\
-+ gc::InitialHeap initialHeap() const { return initialHeap_; }\
-+ INSTRUCTION_HEADER(NewArrayDynamicLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, length))\
-+ AliasSet getAliasSet() const override;\
-+};\
-+\
-+class MNewTypedArrayDynamicLength : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
-+ CompilerGCPointer<JSObject*> templateObject_;\
-+ gc::InitialHeap initialHeap_;\
-+ explicit MNewTypedArrayDynamicLength(MDefinition* length, JSObject* templateObject, gc::InitialHeap initialHeap) : MUnaryInstruction(classOpcode, length), templateObject_(templateObject), initialHeap_(initialHeap) {\
-+ setGuard();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ JSObject* templateObject() const { return templateObject_; }\
-+ gc::InitialHeap initialHeap() const { return initialHeap_; }\
-+ INSTRUCTION_HEADER(NewTypedArrayDynamicLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, length))\
-+ AliasSet getAliasSet() const override;\
-+};\
-+\
-+class MNewTypedArrayFromArray : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ CompilerGCPointer<JSObject*> templateObject_;\
-+ gc::InitialHeap initialHeap_;\
-+ explicit MNewTypedArrayFromArray(MDefinition* array, JSObject* templateObject, gc::InitialHeap initialHeap) : MUnaryInstruction(classOpcode, array), templateObject_(templateObject), initialHeap_(initialHeap) {\
-+ setGuard();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ JSObject* templateObject() const { return templateObject_; }\
-+ gc::InitialHeap initialHeap() const { return initialHeap_; }\
-+ INSTRUCTION_HEADER(NewTypedArrayFromArray)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, array))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MNewTypedArrayFromArrayBuffer : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>, BoxPolicy<2>>::Data {\
-+ CompilerGCPointer<JSObject*> templateObject_;\
-+ gc::InitialHeap initialHeap_;\
-+ explicit MNewTypedArrayFromArrayBuffer(MDefinition* arrayBuffer, MDefinition* byteOffset, MDefinition* length, JSObject* templateObject, gc::InitialHeap initialHeap) : MTernaryInstruction(classOpcode, arrayBuffer, byteOffset, length), templateObject_(templateObject), initialHeap_(initialHeap) {\
-+ setGuard();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ JSObject* templateObject() const { return templateObject_; }\
-+ gc::InitialHeap initialHeap() const { return initialHeap_; }\
-+ INSTRUCTION_HEADER(NewTypedArrayFromArrayBuffer)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, arrayBuffer), (1, byteOffset), (2, length))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MMutateProto : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ explicit MMutateProto(MDefinition* object, MDefinition* value) : MBinaryInstruction(classOpcode, object, value) {\
-+ setResultType(MIRType::None);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(MutateProto)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, value))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MInitPropGetterSetter : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, ObjectPolicy<1>>::Data {\
-+ CompilerGCPointer<PropertyName*> name_;\
-+ explicit MInitPropGetterSetter(MDefinition* object, MDefinition* value, PropertyName* name) : MBinaryInstruction(classOpcode, object, value), name_(name) {\
-+ }\
-+ public:\
-+ PropertyName* name() const { return name_; }\
-+ INSTRUCTION_HEADER(InitPropGetterSetter)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, value))\
-+};\
-+\
-+class MInitElemGetterSetter : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>, ObjectPolicy<2>>::Data {\
-+ explicit MInitElemGetterSetter(MDefinition* object, MDefinition* id, MDefinition* value) : MTernaryInstruction(classOpcode, object, id, value) {\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(InitElemGetterSetter)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, id), (2, value))\
-+};\
-+\
-+class MEncodeSnapshot : public MNullaryInstruction {\
-+ explicit MEncodeSnapshot() : MNullaryInstruction(classOpcode) {\
-+ setGuard();\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(EncodeSnapshot)\
-+ TRIVIAL_NEW_WRAPPERS\
-+};\
-+\
-+class MSameValueDouble : public MBinaryInstruction, public MixPolicy<DoublePolicy<0>, DoublePolicy<1>>::Data {\
-+ explicit MSameValueDouble(MDefinition* left, MDefinition* right) : MBinaryInstruction(classOpcode, left, right) {\
-+ setMovable();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(SameValueDouble)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, left), (1, right))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ ALLOW_CLONE(MSameValueDouble)\
-+};\
-+\
-+class MSameValue : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, BoxPolicy<1>>::Data {\
-+ explicit MSameValue(MDefinition* left, MDefinition* right) : MBinaryInstruction(classOpcode, left, right) {\
-+ setMovable();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(SameValue)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, left), (1, right))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ ALLOW_CLONE(MSameValue)\
-+};\
-+\
-+class MCreateThis : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, ObjectPolicy<1>>::Data {\
-+ explicit MCreateThis(MDefinition* callee, MDefinition* newTarget) : MBinaryInstruction(classOpcode, callee, newTarget) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CreateThis)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, callee), (1, newTarget))\
-+ AliasSet getAliasSet() const override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MGetArgumentsObjectArg : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ size_t argno_;\
-+ explicit MGetArgumentsObjectArg(MDefinition* argsObject, size_t argno) : MUnaryInstruction(classOpcode, argsObject), argno_(argno) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ size_t argno() const { return argno_; }\
-+ INSTRUCTION_HEADER(GetArgumentsObjectArg)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, argsObject))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+};\
-+\
-+class MSetArgumentsObjectArg : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ size_t argno_;\
-+ explicit MSetArgumentsObjectArg(MDefinition* argsObject, MDefinition* value, size_t argno) : MBinaryInstruction(classOpcode, argsObject, value), argno_(argno) {\
-+ }\
-+ public:\
-+ size_t argno() const { return argno_; }\
-+ INSTRUCTION_HEADER(SetArgumentsObjectArg)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, argsObject), (1, value))\
-+ AliasSet getAliasSet() const override;\
-+};\
-+\
-+class MLoadArgumentsObjectArg : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
-+ explicit MLoadArgumentsObjectArg(MDefinition* argsObject, MDefinition* index) : MBinaryInstruction(classOpcode, argsObject, index) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(LoadArgumentsObjectArg)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, argsObject), (1, index))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MArgumentsObjectLength : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MArgumentsObjectLength(MDefinition* argsObject) : MUnaryInstruction(classOpcode, argsObject) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArgumentsObjectLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, argsObject))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardArgumentsObjectFlags : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ uint32_t flags_;\
-+ explicit MGuardArgumentsObjectFlags(MDefinition* argsObject, uint32_t flags) : MUnaryInstruction(classOpcode, argsObject), flags_(flags) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ uint32_t flags() const { return flags_; }\
-+ INSTRUCTION_HEADER(GuardArgumentsObjectFlags)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, argsObject))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+};\
-+\
-+class MReturnFromCtor : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, ObjectPolicy<1>>::Data {\
-+ explicit MReturnFromCtor(MDefinition* value, MDefinition* object) : MBinaryInstruction(classOpcode, value, object) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ReturnFromCtor)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value), (1, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MWasmUnsignedToDouble : public MUnaryInstruction, public NoTypePolicy::Data {\
-+ explicit MWasmUnsignedToDouble(MDefinition* def) : MUnaryInstruction(classOpcode, def) {\
-+ setMovable();\
-+ setResultType(MIRType::Double);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(WasmUnsignedToDouble)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, def))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MWasmBoxValue : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MWasmBoxValue(MDefinition* def) : MUnaryInstruction(classOpcode, def) {\
-+ setResultType(MIRType::RefOrNull);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(WasmBoxValue)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, def))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MWasmAnyRefFromJSObject : public MUnaryInstruction, public NoTypePolicy::Data {\
-+ explicit MWasmAnyRefFromJSObject(MDefinition* def) : MUnaryInstruction(classOpcode, def) {\
-+ setResultType(MIRType::RefOrNull);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(WasmAnyRefFromJSObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, def))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MToAsyncIter : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ explicit MToAsyncIter(MDefinition* iterator, MDefinition* nextMethod) : MBinaryInstruction(classOpcode, iterator, nextMethod) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ToAsyncIter)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, iterator), (1, nextMethod))\
-+};\
-+\
-+class MToPropertyKeyCache : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MToPropertyKeyCache(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ToPropertyKeyCache)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, input))\
-+};\
-+\
-+class MAtan2 : public MBinaryInstruction, public MixPolicy<DoublePolicy<0>, DoublePolicy<1>>::Data {\
-+ explicit MAtan2(MDefinition* y, MDefinition* x) : MBinaryInstruction(classOpcode, y, x) {\
-+ setMovable();\
-+ setResultType(MIRType::Double);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(Atan2)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, y), (1, x))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ bool possiblyCalls() const override { return true; }\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+ ALLOW_CLONE(MAtan2)\
-+};\
-+\
-+class MRandom : public MNullaryInstruction {\
-+ explicit MRandom() : MNullaryInstruction(classOpcode) {\
-+ setResultType(MIRType::Double);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(Random)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool possiblyCalls() const override { return true; }\
-+ void computeRange(TempAllocator& alloc) override;\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override;\
-+ ALLOW_CLONE(MRandom)\
-+};\
-+\
-+class MCharCodeAt : public MBinaryInstruction, public MixPolicy<StringPolicy<0>, UnboxedInt32Policy<1>>::Data {\
-+ explicit MCharCodeAt(MDefinition* string, MDefinition* index) : MBinaryInstruction(classOpcode, string, index) {\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CharCodeAt)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, string), (1, index))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ void computeRange(TempAllocator& alloc) override;\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+ ALLOW_CLONE(MCharCodeAt)\
-+};\
-+\
-+class MFromCharCode : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
-+ explicit MFromCharCode(MDefinition* code) : MUnaryInstruction(classOpcode, code) {\
-+ setMovable();\
-+ setResultType(MIRType::String);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(FromCharCode)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, code))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+ ALLOW_CLONE(MFromCharCode)\
-+};\
-+\
-+class MFromCodePoint : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
-+ explicit MFromCodePoint(MDefinition* codePoint) : MUnaryInstruction(classOpcode, codePoint) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::String);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(FromCodePoint)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, codePoint))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ ALLOW_CLONE(MFromCodePoint)\
-+};\
-+\
-+class MStringSplit : public MBinaryInstruction, public MixPolicy<StringPolicy<0>, StringPolicy<1>>::Data {\
-+ explicit MStringSplit(MDefinition* string, MDefinition* separator) : MBinaryInstruction(classOpcode, string, separator) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(StringSplit)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, string), (1, separator))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ bool possiblyCalls() const override { return true; }\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+};\
-+\
-+class MBoxNonStrictThis : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ CompilerGCPointer<JSObject*> globalThis_;\
-+ explicit MBoxNonStrictThis(MDefinition* def, JSObject* globalThis) : MUnaryInstruction(classOpcode, def), globalThis_(globalThis) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ JSObject* globalThis() const { return globalThis_; }\
-+ INSTRUCTION_HEADER(BoxNonStrictThis)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, def))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MImplicitThis : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ CompilerGCPointer<PropertyName*> name_;\
-+ explicit MImplicitThis(MDefinition* envChain, PropertyName* name) : MUnaryInstruction(classOpcode, envChain), name_(name) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ PropertyName* name() const { return name_; }\
-+ INSTRUCTION_HEADER(ImplicitThis)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, envChain))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MArrowNewTarget : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MArrowNewTarget(MDefinition* callee) : MUnaryInstruction(classOpcode, callee) {\
-+ setMovable();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArrowNewTarget)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, callee))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MUnaryCache : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MUnaryCache(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(UnaryCache)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, input))\
-+};\
-+\
-+class MCheckOverRecursed : public MNullaryInstruction {\
-+ explicit MCheckOverRecursed() : MNullaryInstruction(classOpcode) {\
-+ setGuard();\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CheckOverRecursed)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MInterruptCheck : public MNullaryInstruction {\
-+ explicit MInterruptCheck() : MNullaryInstruction(classOpcode) {\
-+ setGuard();\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(InterruptCheck)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MThrowRuntimeLexicalError : public MNullaryInstruction {\
-+ unsigned errorNumber_;\
-+ explicit MThrowRuntimeLexicalError(unsigned errorNumber) : MNullaryInstruction(classOpcode), errorNumber_(errorNumber) {\
-+ setGuard();\
-+ setResultType(MIRType::None);\
-+ }\
-+ public:\
-+ unsigned errorNumber() const { return errorNumber_; }\
-+ INSTRUCTION_HEADER(ThrowRuntimeLexicalError)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override;\
-+};\
-+\
-+class MGlobalDeclInstantiation : public MNullaryInstruction {\
-+ explicit MGlobalDeclInstantiation() : MNullaryInstruction(classOpcode) {\
-+ setGuard();\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GlobalDeclInstantiation)\
-+ TRIVIAL_NEW_WRAPPERS\
-+};\
-+\
-+class MRegExp : public MNullaryInstruction {\
-+ CompilerGCPointer<RegExpObject*> source_;\
-+ bool hasShared_;\
-+ explicit MRegExp(RegExpObject* source, bool hasShared) : MNullaryInstruction(classOpcode), source_(source), hasShared_(hasShared) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ RegExpObject* source() const { return source_; }\
-+ bool hasShared() const { return hasShared_; }\
-+ INSTRUCTION_HEADER(RegExp)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MRegExpMatcher : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, StringPolicy<1>, UnboxedInt32Policy<2>>::Data {\
-+ explicit MRegExpMatcher(MDefinition* regexp, MDefinition* string, MDefinition* lastIndex) : MTernaryInstruction(classOpcode, regexp, string, lastIndex) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(RegExpMatcher)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, regexp), (1, string), (2, lastIndex))\
-+ bool possiblyCalls() const override { return true; }\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+};\
-+\
-+class MRegExpSearcher : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, StringPolicy<1>, UnboxedInt32Policy<2>>::Data {\
-+ explicit MRegExpSearcher(MDefinition* regexp, MDefinition* string, MDefinition* lastIndex) : MTernaryInstruction(classOpcode, regexp, string, lastIndex) {\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(RegExpSearcher)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, regexp), (1, string), (2, lastIndex))\
-+ bool possiblyCalls() const override { return true; }\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+};\
-+\
-+class MRegExpTester : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, StringPolicy<1>, UnboxedInt32Policy<2>>::Data {\
-+ explicit MRegExpTester(MDefinition* regexp, MDefinition* string, MDefinition* lastIndex) : MTernaryInstruction(classOpcode, regexp, string, lastIndex) {\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(RegExpTester)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, regexp), (1, string), (2, lastIndex))\
-+ bool possiblyCalls() const override { return true; }\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+};\
-+\
-+class MRegExpPrototypeOptimizable : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MRegExpPrototypeOptimizable(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(RegExpPrototypeOptimizable)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MRegExpInstanceOptimizable : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, ObjectPolicy<1>>::Data {\
-+ explicit MRegExpInstanceOptimizable(MDefinition* object, MDefinition* proto) : MBinaryInstruction(classOpcode, object, proto) {\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(RegExpInstanceOptimizable)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, proto))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MSubstr : public MTernaryInstruction, public MixPolicy<StringPolicy<0>, UnboxedInt32Policy<1>, UnboxedInt32Policy<2>>::Data {\
-+ explicit MSubstr(MDefinition* string, MDefinition* begin, MDefinition* length) : MTernaryInstruction(classOpcode, string, begin, length) {\
-+ setResultType(MIRType::String);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(Substr)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, string), (1, begin), (2, length))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MModuleMetadata : public MNullaryInstruction {\
-+ CompilerGCPointer<JSObject*> module_;\
-+ explicit MModuleMetadata(JSObject* module) : MNullaryInstruction(classOpcode), module_(module) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ JSObject* module() const { return module_; }\
-+ INSTRUCTION_HEADER(ModuleMetadata)\
-+ TRIVIAL_NEW_WRAPPERS\
-+};\
-+\
-+class MDynamicImport : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MDynamicImport(MDefinition* specifier) : MUnaryInstruction(classOpcode, specifier) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(DynamicImport)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, specifier))\
-+};\
-+\
-+class MSetFunName : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ uint8_t prefixKind_;\
-+ explicit MSetFunName(MDefinition* fun, MDefinition* name, uint8_t prefixKind) : MBinaryInstruction(classOpcode, fun, name), prefixKind_(prefixKind) {\
-+ setResultType(MIRType::None);\
-+ }\
-+ public:\
-+ uint8_t prefixKind() const { return prefixKind_; }\
-+ INSTRUCTION_HEADER(SetFunName)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, fun), (1, name))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MSlots : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MSlots(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::Slots);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(Slots)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ ALLOW_CLONE(MSlots)\
-+};\
-+\
-+class MElements : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MElements(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::Elements);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(Elements)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ ALLOW_CLONE(MElements)\
-+};\
-+\
-+class MInitializedLength : public MUnaryInstruction, public NoTypePolicy::Data {\
-+ explicit MInitializedLength(MDefinition* elements) : MUnaryInstruction(classOpcode, elements) {\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(InitializedLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, elements))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ void computeRange(TempAllocator& alloc) override;\
-+ ALLOW_CLONE(MInitializedLength)\
-+};\
-+\
-+class MSetInitializedLength : public MBinaryInstruction, public NoTypePolicy::Data {\
-+ explicit MSetInitializedLength(MDefinition* elements, MDefinition* index) : MBinaryInstruction(classOpcode, elements, index) {\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(SetInitializedLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, elements), (1, index))\
-+ AliasSet getAliasSet() const override;\
-+ ALLOW_CLONE(MSetInitializedLength)\
-+};\
-+\
-+class MArrayLength : public MUnaryInstruction, public NoTypePolicy::Data {\
-+ explicit MArrayLength(MDefinition* elements) : MUnaryInstruction(classOpcode, elements) {\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArrayLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, elements))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ void computeRange(TempAllocator& alloc) override;\
-+ ALLOW_CLONE(MArrayLength)\
-+};\
-+\
-+class MSetArrayLength : public MBinaryInstruction, public NoTypePolicy::Data {\
-+ explicit MSetArrayLength(MDefinition* elements, MDefinition* index) : MBinaryInstruction(classOpcode, elements, index) {\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(SetArrayLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, elements), (1, index))\
-+ AliasSet getAliasSet() const override;\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override;\
-+};\
-+\
-+class MFunctionLength : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MFunctionLength(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
-+ setGuard();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(FunctionLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, function))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MFunctionName : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MFunctionName(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
-+ setGuard();\
-+ setResultType(MIRType::String);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(FunctionName)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, function))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MArrayBufferByteLength : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MArrayBufferByteLength(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::IntPtr);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArrayBufferByteLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MArrayBufferViewLength : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MArrayBufferViewLength(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::IntPtr);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArrayBufferViewLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ void computeRange(TempAllocator& alloc) override;\
-+};\
-+\
-+class MArrayBufferViewByteOffset : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MArrayBufferViewByteOffset(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::IntPtr);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArrayBufferViewByteOffset)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ void computeRange(TempAllocator& alloc) override;\
-+};\
-+\
-+class MArrayBufferViewElements : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MArrayBufferViewElements(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::Elements);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArrayBufferViewElements)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ ALLOW_CLONE(MArrayBufferViewElements)\
-+};\
-+\
-+class MTypedArrayElementSize : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MTypedArrayElementSize(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(TypedArrayElementSize)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ void computeRange(TempAllocator& alloc) override;\
-+};\
-+\
-+class MGuardHasAttachedArrayBuffer : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardHasAttachedArrayBuffer(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardHasAttachedArrayBuffer)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MKeepAliveObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MKeepAliveObject(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setResultType(MIRType::None);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(KeepAliveObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+};\
-+\
-+class MArrayPush : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ explicit MArrayPush(MDefinition* object, MDefinition* value) : MBinaryInstruction(classOpcode, object, value) {\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArrayPush)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, value))\
-+ AliasSet getAliasSet() const override;\
-+ void computeRange(TempAllocator& alloc) override;\
-+ ALLOW_CLONE(MArrayPush)\
-+};\
-+\
-+class MArraySlice : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>, UnboxedInt32Policy<2>>::Data {\
-+ CompilerGCPointer<JSObject*> templateObj_;\
-+ gc::InitialHeap initialHeap_;\
-+ explicit MArraySlice(MDefinition* object, MDefinition* begin, MDefinition* end, JSObject* templateObj, gc::InitialHeap initialHeap) : MTernaryInstruction(classOpcode, object, begin, end), templateObj_(templateObj), initialHeap_(initialHeap) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ JSObject* templateObj() const { return templateObj_; }\
-+ gc::InitialHeap initialHeap() const { return initialHeap_; }\
-+ INSTRUCTION_HEADER(ArraySlice)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, begin), (2, end))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MArrayJoin : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, StringPolicy<1>>::Data {\
-+ explicit MArrayJoin(MDefinition* array, MDefinition* sep) : MBinaryInstruction(classOpcode, array, sep) {\
-+ setResultType(MIRType::String);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArrayJoin)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, array), (1, sep))\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MHomeObjectSuperBase : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MHomeObjectSuperBase(MDefinition* homeObject) : MUnaryInstruction(classOpcode, homeObject) {\
-+ setGuard();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(HomeObjectSuperBase)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, homeObject))\
-+ AliasSet getAliasSet() const override;\
-+};\
-+\
-+class MBindNameCache : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MBindNameCache(MDefinition* envChain) : MUnaryInstruction(classOpcode, envChain) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(BindNameCache)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, envChain))\
-+};\
-+\
-+class MCallBindVar : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MCallBindVar(MDefinition* environmentChain) : MUnaryInstruction(classOpcode, environmentChain) {\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CallBindVar)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, environmentChain))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+};\
-+\
-+class MGuardShape : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ CompilerGCPointer<Shape*> shape_;\
-+ explicit MGuardShape(MDefinition* object, Shape* shape) : MUnaryInstruction(classOpcode, object), shape_(shape) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ Shape* shape() const { return shape_; }\
-+ INSTRUCTION_HEADER(GuardShape)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+};\
-+\
-+class MGuardIsNativeObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardIsNativeObject(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardIsNativeObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardIsProxy : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardIsProxy(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardIsProxy)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardIsNotDOMProxy : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardIsNotDOMProxy(MDefinition* proxy) : MUnaryInstruction(classOpcode, proxy) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardIsNotDOMProxy)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, proxy))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardIsNotProxy : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardIsNotProxy(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardIsNotProxy)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MProxyGet : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ jsid id_;\
-+ explicit MProxyGet(MDefinition* proxy, jsid id) : MUnaryInstruction(classOpcode, proxy), id_(id) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ jsid id() const { return id_; }\
-+ INSTRUCTION_HEADER(ProxyGet)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, proxy))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MProxyGetByValue : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ explicit MProxyGetByValue(MDefinition* proxy, MDefinition* idVal) : MBinaryInstruction(classOpcode, proxy, idVal) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ProxyGetByValue)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, proxy), (1, idVal))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MProxyHasProp : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ bool hasOwn_;\
-+ explicit MProxyHasProp(MDefinition* proxy, MDefinition* idVal, bool hasOwn) : MBinaryInstruction(classOpcode, proxy, idVal), hasOwn_(hasOwn) {\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ bool hasOwn() const { return hasOwn_; }\
-+ INSTRUCTION_HEADER(ProxyHasProp)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, proxy), (1, idVal))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MProxySet : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ jsid id_;\
-+ bool strict_;\
-+ explicit MProxySet(MDefinition* proxy, MDefinition* rhs, jsid id, bool strict) : MBinaryInstruction(classOpcode, proxy, rhs), id_(id), strict_(strict) {\
-+ }\
-+ public:\
-+ jsid id() const { return id_; }\
-+ bool strict() const { return strict_; }\
-+ INSTRUCTION_HEADER(ProxySet)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, proxy), (1, rhs))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MProxySetByValue : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>, BoxPolicy<2>>::Data {\
-+ bool strict_;\
-+ explicit MProxySetByValue(MDefinition* proxy, MDefinition* idVal, MDefinition* rhs, bool strict) : MTernaryInstruction(classOpcode, proxy, idVal, rhs), strict_(strict) {\
-+ }\
-+ public:\
-+ bool strict() const { return strict_; }\
-+ INSTRUCTION_HEADER(ProxySetByValue)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, proxy), (1, idVal), (2, rhs))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MCallSetArrayLength : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ bool strict_;\
-+ explicit MCallSetArrayLength(MDefinition* obj, MDefinition* rhs, bool strict) : MBinaryInstruction(classOpcode, obj, rhs), strict_(strict) {\
-+ }\
-+ public:\
-+ bool strict() const { return strict_; }\
-+ INSTRUCTION_HEADER(CallSetArrayLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, obj), (1, rhs))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MMegamorphicLoadSlot : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ CompilerGCPointer<PropertyName*> name_;\
-+ explicit MMegamorphicLoadSlot(MDefinition* object, PropertyName* name) : MUnaryInstruction(classOpcode, object), name_(name) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ PropertyName* name() const { return name_; }\
-+ INSTRUCTION_HEADER(MegamorphicLoadSlot)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MMegamorphicLoadSlotByValue : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ explicit MMegamorphicLoadSlotByValue(MDefinition* object, MDefinition* idVal) : MBinaryInstruction(classOpcode, object, idVal) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(MegamorphicLoadSlotByValue)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, idVal))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MMegamorphicStoreSlot : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ CompilerGCPointer<PropertyName*> name_;\
-+ explicit MMegamorphicStoreSlot(MDefinition* object, MDefinition* rhs, PropertyName* name) : MBinaryInstruction(classOpcode, object, rhs), name_(name) {\
-+ }\
-+ public:\
-+ PropertyName* name() const { return name_; }\
-+ INSTRUCTION_HEADER(MegamorphicStoreSlot)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, rhs))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MMegamorphicHasProp : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ bool hasOwn_;\
-+ explicit MMegamorphicHasProp(MDefinition* object, MDefinition* idVal, bool hasOwn) : MBinaryInstruction(classOpcode, object, idVal), hasOwn_(hasOwn) {\
-+ setGuard();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ bool hasOwn() const { return hasOwn_; }\
-+ INSTRUCTION_HEADER(MegamorphicHasProp)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, idVal))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MGuardIsNotArrayBufferMaybeShared : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardIsNotArrayBufferMaybeShared(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardIsNotArrayBufferMaybeShared)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardIsTypedArray : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardIsTypedArray(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardIsTypedArray)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MNurseryObject : public MNullaryInstruction {\
-+ uint32_t nurseryIndex_;\
-+ explicit MNurseryObject(uint32_t nurseryIndex) : MNullaryInstruction(classOpcode), nurseryIndex_(nurseryIndex) {\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ uint32_t nurseryIndex() const { return nurseryIndex_; }\
-+ INSTRUCTION_HEADER(NurseryObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+};\
-+\
-+class MGuardNullOrUndefined : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MGuardNullOrUndefined(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardNullOrUndefined)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardFunctionIsNonBuiltinCtor : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardFunctionIsNonBuiltinCtor(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardFunctionIsNonBuiltinCtor)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, function))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardFunctionKind : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ FunctionFlags::FunctionKind expected_;\
-+ bool bailOnEquality_;\
-+ explicit MGuardFunctionKind(MDefinition* function, FunctionFlags::FunctionKind expected, bool bailOnEquality) : MUnaryInstruction(classOpcode, function), expected_(expected), bailOnEquality_(bailOnEquality) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ FunctionFlags::FunctionKind expected() const { return expected_; }\
-+ bool bailOnEquality() const { return bailOnEquality_; }\
-+ INSTRUCTION_HEADER(GuardFunctionKind)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, function))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+};\
-+\
-+class MGuardFunctionScript : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ CompilerGCPointer<BaseScript*> expected_;\
-+ uint16_t nargs_;\
-+ FunctionFlags flags_;\
-+ explicit MGuardFunctionScript(MDefinition* function, BaseScript* expected, uint16_t nargs, FunctionFlags flags) : MUnaryInstruction(classOpcode, function), expected_(expected), nargs_(nargs), flags_(flags) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ BaseScript* expected() const { return expected_; }\
-+ uint16_t nargs() const { return nargs_; }\
-+ FunctionFlags flags() const { return flags_; }\
-+ INSTRUCTION_HEADER(GuardFunctionScript)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, function))\
-+ AliasSet getAliasSet() const override;\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+};\
-+\
-+class MGuardSpecificAtom : public MUnaryInstruction, public StringPolicy<0>::Data {\
-+ CompilerGCPointer<JSAtom*> atom_;\
-+ explicit MGuardSpecificAtom(MDefinition* str, JSAtom* atom) : MUnaryInstruction(classOpcode, str), atom_(atom) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::String);\
-+ }\
-+ public:\
-+ JSAtom* atom() const { return atom_; }\
-+ INSTRUCTION_HEADER(GuardSpecificAtom)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, str))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+};\
-+\
-+class MGuardStringToIndex : public MUnaryInstruction, public StringPolicy<0>::Data {\
-+ explicit MGuardStringToIndex(MDefinition* string) : MUnaryInstruction(classOpcode, string) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardStringToIndex)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, string))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardStringToInt32 : public MUnaryInstruction, public StringPolicy<0>::Data {\
-+ explicit MGuardStringToInt32(MDefinition* string) : MUnaryInstruction(classOpcode, string) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardStringToInt32)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, string))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardStringToDouble : public MUnaryInstruction, public StringPolicy<0>::Data {\
-+ explicit MGuardStringToDouble(MDefinition* string) : MUnaryInstruction(classOpcode, string) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Double);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardStringToDouble)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, string))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardNoDenseElements : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardNoDenseElements(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardNoDenseElements)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+};\
-+\
-+class MFunctionEnvironment : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MFunctionEnvironment(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(FunctionEnvironment)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, function))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+};\
-+\
-+class MNewClassBodyEnvironmentObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ CompilerGCPointer<ClassBodyScope*> scope_;\
-+ explicit MNewClassBodyEnvironmentObject(MDefinition* enclosing, ClassBodyScope* scope) : MUnaryInstruction(classOpcode, enclosing), scope_(scope) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ ClassBodyScope* scope() const { return scope_; }\
-+ INSTRUCTION_HEADER(NewClassBodyEnvironmentObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, enclosing))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MCopyLexicalEnvironmentObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ bool copySlots_;\
-+ explicit MCopyLexicalEnvironmentObject(MDefinition* env, bool copySlots) : MUnaryInstruction(classOpcode, env), copySlots_(copySlots) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ bool copySlots() const { return copySlots_; }\
-+ INSTRUCTION_HEADER(CopyLexicalEnvironmentObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, env))\
-+ AliasSet getAliasSet() const override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MHomeObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MHomeObject(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(HomeObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, function))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MAllocateAndStoreSlot : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ uint32_t slotOffset_;\
-+ CompilerGCPointer<Shape*> shape_;\
-+ uint32_t numNewSlots_;\
-+ explicit MAllocateAndStoreSlot(MDefinition* object, MDefinition* value, uint32_t slotOffset, Shape* shape, uint32_t numNewSlots) : MBinaryInstruction(classOpcode, object, value), slotOffset_(slotOffset), shape_(shape), numNewSlots_(numNewSlots) {\
-+ }\
-+ public:\
-+ uint32_t slotOffset() const { return slotOffset_; }\
-+ Shape* shape() const { return shape_; }\
-+ uint32_t numNewSlots() const { return numNewSlots_; }\
-+ INSTRUCTION_HEADER(AllocateAndStoreSlot)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, value))\
-+ AliasSet getAliasSet() const override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MGetNameCache : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGetNameCache(MDefinition* envObj) : MUnaryInstruction(classOpcode, envObj) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GetNameCache)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, envObj))\
-+};\
-+\
-+class MCallGetIntrinsicValue : public MNullaryInstruction {\
-+ CompilerGCPointer<PropertyName*> name_;\
-+ explicit MCallGetIntrinsicValue(PropertyName* name) : MNullaryInstruction(classOpcode), name_(name) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ PropertyName* name() const { return name_; }\
-+ INSTRUCTION_HEADER(CallGetIntrinsicValue)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MDeleteProperty : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ CompilerGCPointer<PropertyName*> name_;\
-+ bool strict_;\
-+ explicit MDeleteProperty(MDefinition* value, PropertyName* name, bool strict) : MUnaryInstruction(classOpcode, value), name_(name), strict_(strict) {\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ PropertyName* name() const { return name_; }\
-+ bool strict() const { return strict_; }\
-+ INSTRUCTION_HEADER(DeleteProperty)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value))\
-+};\
-+\
-+class MDeleteElement : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, BoxPolicy<1>>::Data {\
-+ bool strict_;\
-+ explicit MDeleteElement(MDefinition* value, MDefinition* index, bool strict) : MBinaryInstruction(classOpcode, value, index), strict_(strict) {\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ bool strict() const { return strict_; }\
-+ INSTRUCTION_HEADER(DeleteElement)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value), (1, index))\
-+};\
-+\
-+class MLoadDOMExpandoValue : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MLoadDOMExpandoValue(MDefinition* proxy) : MUnaryInstruction(classOpcode, proxy) {\
-+ setMovable();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(LoadDOMExpandoValue)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, proxy))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MLoadDOMExpandoValueIgnoreGeneration : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MLoadDOMExpandoValueIgnoreGeneration(MDefinition* proxy) : MUnaryInstruction(classOpcode, proxy) {\
-+ setMovable();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(LoadDOMExpandoValueIgnoreGeneration)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, proxy))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardDOMExpandoMissingOrGuardShape : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ CompilerGCPointer<Shape*> shape_;\
-+ explicit MGuardDOMExpandoMissingOrGuardShape(MDefinition* expando, Shape* shape) : MUnaryInstruction(classOpcode, expando), shape_(shape) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ Shape* shape() const { return shape_; }\
-+ INSTRUCTION_HEADER(GuardDOMExpandoMissingOrGuardShape)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, expando))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+};\
-+\
-+class MStringLength : public MUnaryInstruction, public StringPolicy<0>::Data {\
-+ explicit MStringLength(MDefinition* string) : MUnaryInstruction(classOpcode, string) {\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(StringLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, string))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ void computeRange(TempAllocator& alloc) override;\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+ ALLOW_CLONE(MStringLength)\
-+};\
-+\
-+class MOptimizeSpreadCallCache : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MOptimizeSpreadCallCache(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(OptimizeSpreadCallCache)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value))\
-+};\
-+\
-+class MIteratorMore : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MIteratorMore(MDefinition* iterator) : MUnaryInstruction(classOpcode, iterator) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IteratorMore)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, iterator))\
-+};\
-+\
-+class MIsNoIter : public MUnaryInstruction, public NoTypePolicy::Data {\
-+ explicit MIsNoIter(MDefinition* def) : MUnaryInstruction(classOpcode, def) {\
-+ setMovable();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IsNoIter)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, def))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MIteratorEnd : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MIteratorEnd(MDefinition* iterator) : MUnaryInstruction(classOpcode, iterator) {\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IteratorEnd)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, iterator))\
-+};\
-+\
-+class MInstanceOfCache : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, ObjectPolicy<1>>::Data {\
-+ explicit MInstanceOfCache(MDefinition* obj, MDefinition* proto) : MBinaryInstruction(classOpcode, obj, proto) {\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(InstanceOfCache)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, obj), (1, proto))\
-+};\
-+\
-+class MArgumentsLength : public MNullaryInstruction {\
-+ explicit MArgumentsLength() : MNullaryInstruction(classOpcode) {\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ArgumentsLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ void computeRange(TempAllocator& alloc) override;\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+};\
-+\
-+class MGetFrameArgument : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
-+ explicit MGetFrameArgument(MDefinition* index) : MUnaryInstruction(classOpcode, index) {\
-+ setMovable();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GetFrameArgument)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, index))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MNewTarget : public MNullaryInstruction {\
-+ explicit MNewTarget() : MNullaryInstruction(classOpcode) {\
-+ setMovable();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(NewTarget)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MRest : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
-+ unsigned numFormals_;\
-+ CompilerGCPointer<Shape*> shape_;\
-+ explicit MRest(MDefinition* numActuals, unsigned numFormals, Shape* shape) : MUnaryInstruction(classOpcode, numActuals), numFormals_(numFormals), shape_(shape) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ unsigned numFormals() const { return numFormals_; }\
-+ Shape* shape() const { return shape_; }\
-+ INSTRUCTION_HEADER(Rest)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, numActuals))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MNewNamedLambdaObject : public MNullaryInstruction {\
-+ CompilerGCPointer<NamedLambdaObject*> templateObj_;\
-+ explicit MNewNamedLambdaObject(NamedLambdaObject* templateObj) : MNullaryInstruction(classOpcode), templateObj_(templateObj) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ NamedLambdaObject* templateObj() const { return templateObj_; }\
-+ INSTRUCTION_HEADER(NewNamedLambdaObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MIsConstructor : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MIsConstructor(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IsConstructor)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MIsCrossRealmArrayConstructor : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MIsCrossRealmArrayConstructor(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IsCrossRealmArrayConstructor)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MIsObject : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MIsObject(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IsObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MIsNullOrUndefined : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MIsNullOrUndefined(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
-+ setMovable();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IsNullOrUndefined)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MObjectClassToString : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MObjectClassToString(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::String);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ObjectClassToString)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MCheckReturn : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, BoxPolicy<1>>::Data {\
-+ explicit MCheckReturn(MDefinition* returnValue, MDefinition* thisValue) : MBinaryInstruction(classOpcode, returnValue, thisValue) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CheckReturn)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, returnValue), (1, thisValue))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MCheckThis : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MCheckThis(MDefinition* thisValue) : MUnaryInstruction(classOpcode, thisValue) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CheckThis)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, thisValue))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+};\
-+\
-+class MAsyncResolve : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ AsyncFunctionResolveKind resolveKind_;\
-+ explicit MAsyncResolve(MDefinition* generator, MDefinition* valueOrReason, AsyncFunctionResolveKind resolveKind) : MBinaryInstruction(classOpcode, generator, valueOrReason), resolveKind_(resolveKind) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ AsyncFunctionResolveKind resolveKind() const { return resolveKind_; }\
-+ INSTRUCTION_HEADER(AsyncResolve)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, generator), (1, valueOrReason))\
-+};\
-+\
-+class MGeneratorReturn : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MGeneratorReturn(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
-+ setGuard();\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GeneratorReturn)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, input))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MAsyncAwait : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, ObjectPolicy<1>>::Data {\
-+ explicit MAsyncAwait(MDefinition* value, MDefinition* generator) : MBinaryInstruction(classOpcode, value, generator) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(AsyncAwait)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value), (1, generator))\
-+};\
-+\
-+class MCheckThisReinit : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MCheckThisReinit(MDefinition* thisValue) : MUnaryInstruction(classOpcode, thisValue) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CheckThisReinit)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, thisValue))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+};\
-+\
-+class MCanSkipAwait : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MCanSkipAwait(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CanSkipAwait)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value))\
-+};\
-+\
-+class MIncrementWarmUpCounter : public MNullaryInstruction {\
-+ CompilerGCPointer<JSScript*> script_;\
-+ explicit MIncrementWarmUpCounter(JSScript* script) : MNullaryInstruction(classOpcode), script_(script) {\
-+ }\
-+ public:\
-+ JSScript* script() const { return script_; }\
-+ INSTRUCTION_HEADER(IncrementWarmUpCounter)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MCheckIsObj : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ uint8_t checkKind_;\
-+ explicit MCheckIsObj(MDefinition* value, uint8_t checkKind) : MUnaryInstruction(classOpcode, value), checkKind_(checkKind) {\
-+ setGuard();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ uint8_t checkKind() const { return checkKind_; }\
-+ INSTRUCTION_HEADER(CheckIsObj)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+};\
-+\
-+class MCheckObjCoercible : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MCheckObjCoercible(MDefinition* checkValue) : MUnaryInstruction(classOpcode, checkValue) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CheckObjCoercible)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, checkValue))\
-+ AliasSet getAliasSet() const override;\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+};\
-+\
-+class MCheckClassHeritage : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MCheckClassHeritage(MDefinition* heritage) : MUnaryInstruction(classOpcode, heritage) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CheckClassHeritage)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, heritage))\
-+};\
-+\
-+class MDebugCheckSelfHosted : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MDebugCheckSelfHosted(MDefinition* checkValue) : MUnaryInstruction(classOpcode, checkValue) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(DebugCheckSelfHosted)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, checkValue))\
-+};\
-+\
-+class MFinishBoundFunctionInit : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, ObjectPolicy<1>, UnboxedInt32Policy<2>>::Data {\
-+ explicit MFinishBoundFunctionInit(MDefinition* bound, MDefinition* target, MDefinition* argCount) : MTernaryInstruction(classOpcode, bound, target, argCount) {\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(FinishBoundFunctionInit)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, bound), (1, target), (2, argCount))\
-+};\
-+\
-+class MIsPackedArray : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MIsPackedArray(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IsPackedArray)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+};\
-+\
-+class MGuardArrayIsPacked : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardArrayIsPacked(MDefinition* array) : MUnaryInstruction(classOpcode, array) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardArrayIsPacked)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, array))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGetPrototypeOf : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGetPrototypeOf(MDefinition* target) : MUnaryInstruction(classOpcode, target) {\
-+ setGuard();\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GetPrototypeOf)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, target))\
-+};\
-+\
-+class MObjectWithProto : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MObjectWithProto(MDefinition* prototype) : MUnaryInstruction(classOpcode, prototype) {\
-+ setGuard();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(ObjectWithProto)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, prototype))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MBuiltinObject : public MNullaryInstruction {\
-+ BuiltinObjectKind builtinObjectKind_;\
-+ explicit MBuiltinObject(BuiltinObjectKind builtinObjectKind) : MNullaryInstruction(classOpcode), builtinObjectKind_(builtinObjectKind) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ BuiltinObjectKind builtinObjectKind() const { return builtinObjectKind_; }\
-+ INSTRUCTION_HEADER(BuiltinObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MSuperFunction : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MSuperFunction(MDefinition* callee) : MUnaryInstruction(classOpcode, callee) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(SuperFunction)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, callee))\
-+ AliasSet getAliasSet() const override;\
-+};\
-+\
-+class MInitHomeObject : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
-+ explicit MInitHomeObject(MDefinition* function, MDefinition* homeObject) : MBinaryInstruction(classOpcode, function, homeObject) {\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(InitHomeObject)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, function), (1, homeObject))\
-+ AliasSet getAliasSet() const override;\
-+};\
-+\
-+class MIsTypedArrayConstructor : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MIsTypedArrayConstructor(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(IsTypedArrayConstructor)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MLoadValueTag : public MUnaryInstruction, public BoxPolicy<0>::Data {\
-+ explicit MLoadValueTag(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(LoadValueTag)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, value))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MLoadWrapperTarget : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MLoadWrapperTarget(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(LoadWrapperTarget)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardHasGetterSetter : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ jsid propId_;\
-+ CompilerGCPointer<GetterSetter*> getterSetter_;\
-+ explicit MGuardHasGetterSetter(MDefinition* object, jsid propId, GetterSetter* getterSetter) : MUnaryInstruction(classOpcode, object), propId_(propId), getterSetter_(getterSetter) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ jsid propId() const { return propId_; }\
-+ GetterSetter* getterSetter() const { return getterSetter_; }\
-+ INSTRUCTION_HEADER(GuardHasGetterSetter)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MGuardIsExtensible : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
-+ explicit MGuardIsExtensible(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Object);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardIsExtensible)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardInt32IsNonNegative : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
-+ explicit MGuardInt32IsNonNegative(MDefinition* index) : MUnaryInstruction(classOpcode, index) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardInt32IsNonNegative)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, index))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ MDefinition* foldsTo(TempAllocator& alloc) override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardIndexGreaterThanDenseInitLength : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
-+ explicit MGuardIndexGreaterThanDenseInitLength(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardIndexGreaterThanDenseInitLength)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, index))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MGuardIndexIsValidUpdateOrAdd : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
-+ explicit MGuardIndexIsValidUpdateOrAdd(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
-+ setGuard();\
-+ setMovable();\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(GuardIndexIsValidUpdateOrAdd)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, index))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+};\
-+\
-+class MCallAddOrUpdateSparseElement : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>, BoxPolicy<2>>::Data {\
-+ bool strict_;\
-+ explicit MCallAddOrUpdateSparseElement(MDefinition* object, MDefinition* index, MDefinition* value, bool strict) : MTernaryInstruction(classOpcode, object, index, value), strict_(strict) {\
-+ }\
-+ public:\
-+ bool strict() const { return strict_; }\
-+ INSTRUCTION_HEADER(CallAddOrUpdateSparseElement)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, index), (2, value))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MCallGetSparseElement : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
-+ explicit MCallGetSparseElement(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CallGetSparseElement)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, index))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MCallNativeGetElement : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
-+ explicit MCallNativeGetElement(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
-+ setResultType(MIRType::Value);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CallNativeGetElement)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, index))\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MCallObjectHasSparseElement : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
-+ explicit MCallObjectHasSparseElement(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
-+ setGuard();\
-+ setResultType(MIRType::Boolean);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(CallObjectHasSparseElement)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, object), (1, index))\
-+ AliasSet getAliasSet() const override;\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ bool possiblyCalls() const override { return true; }\
-+};\
-+\
-+class MBigIntAsIntN : public MBinaryInstruction, public MixPolicy<UnboxedInt32Policy<0>, BigIntPolicy<1>>::Data {\
-+ explicit MBigIntAsIntN(MDefinition* bits, MDefinition* input) : MBinaryInstruction(classOpcode, bits, input) {\
-+ setMovable();\
-+ setResultType(MIRType::BigInt);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(BigIntAsIntN)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, bits), (1, input))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ bool possiblyCalls() const override { return true; }\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+ ALLOW_CLONE(MBigIntAsIntN)\
-+};\
-+\
-+class MBigIntAsUintN : public MBinaryInstruction, public MixPolicy<UnboxedInt32Policy<0>, BigIntPolicy<1>>::Data {\
-+ explicit MBigIntAsUintN(MDefinition* bits, MDefinition* input) : MBinaryInstruction(classOpcode, bits, input) {\
-+ setMovable();\
-+ setResultType(MIRType::BigInt);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(BigIntAsUintN)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, bits), (1, input))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
-+ bool possiblyCalls() const override { return true; }\
-+ [[nodiscard]] bool writeRecoverData(\
-+ CompactBufferWriter& writer) const override;\
-+ bool canRecoverOnBailout() const override { return true; }\
-+ ALLOW_CLONE(MBigIntAsUintN)\
-+};\
-+\
-+class MWasmExtendU32Index : public MUnaryInstruction, public NoTypePolicy::Data {\
-+ explicit MWasmExtendU32Index(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
-+ setResultType(MIRType::Int64);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(WasmExtendU32Index)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, input))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MWasmWrapU32Index : public MUnaryInstruction, public NoTypePolicy::Data {\
-+ explicit MWasmWrapU32Index(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
-+ setResultType(MIRType::Int32);\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(WasmWrapU32Index)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, input))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+};\
-+\
-+class MWasmFence : public MNullaryInstruction {\
-+ explicit MWasmFence() : MNullaryInstruction(classOpcode) {\
-+ setGuard();\
-+ }\
-+ public:\
-+ INSTRUCTION_HEADER(WasmFence)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ ALLOW_CLONE(MWasmFence)\
-+};\
-+\
-+class MWasmShiftSimd128 : public MBinaryInstruction, public NoTypePolicy::Data {\
-+ wasm::SimdOp simdOp_;\
-+ explicit MWasmShiftSimd128(MDefinition* lhs, MDefinition* rhs, wasm::SimdOp simdOp) : MBinaryInstruction(classOpcode, lhs, rhs), simdOp_(simdOp) {\
-+ setMovable();\
-+ setResultType(MIRType::Simd128);\
-+ }\
-+ public:\
-+ wasm::SimdOp simdOp() const { return simdOp_; }\
-+ INSTRUCTION_HEADER(WasmShiftSimd128)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, lhs), (1, rhs))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+ ALLOW_CLONE(MWasmShiftSimd128)\
-+};\
-+\
-+class MWasmShuffleSimd128 : public MBinaryInstruction, public NoTypePolicy::Data {\
-+ SimdConstant control_;\
-+ explicit MWasmShuffleSimd128(MDefinition* lhs, MDefinition* rhs, SimdConstant control) : MBinaryInstruction(classOpcode, lhs, rhs), control_(control) {\
-+ setMovable();\
-+ setResultType(MIRType::Simd128);\
-+ }\
-+ public:\
-+ SimdConstant control() const { return control_; }\
-+ INSTRUCTION_HEADER(WasmShuffleSimd128)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, lhs), (1, rhs))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+ ALLOW_CLONE(MWasmShuffleSimd128)\
-+};\
-+\
-+class MWasmUnarySimd128 : public MUnaryInstruction, public NoTypePolicy::Data {\
-+ wasm::SimdOp simdOp_;\
-+ explicit MWasmUnarySimd128(MDefinition* src, wasm::SimdOp simdOp) : MUnaryInstruction(classOpcode, src), simdOp_(simdOp) {\
-+ setMovable();\
-+ setResultType(MIRType::Simd128);\
-+ }\
-+ public:\
-+ wasm::SimdOp simdOp() const { return simdOp_; }\
-+ INSTRUCTION_HEADER(WasmUnarySimd128)\
-+ TRIVIAL_NEW_WRAPPERS\
-+ NAMED_OPERANDS((0, src))\
-+ AliasSet getAliasSet() const override { return AliasSet::None(); }\
-+ bool congruentTo(const MDefinition* ins) const override;\
-+ ALLOW_CLONE(MWasmUnarySimd128)\
-+};\
-+
-+
-+#define NON_GC_POINTER_TYPE_ASSERTIONS_GENERATED \
-+static_assert(!std::is_base_of_v<gc::Cell, AsyncFunctionResolveKind>, "Ensure that AsyncFunctionResolveKind is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, BuiltinObjectKind>, "Ensure that BuiltinObjectKind is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, FunctionFlags>, "Ensure that FunctionFlags is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, FunctionFlags::FunctionKind>, "Ensure that FunctionFlags::FunctionKind is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, SimdConstant>, "Ensure that SimdConstant is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, bool>, "Ensure that bool is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, gc::InitialHeap>, "Ensure that gc::InitialHeap is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, jsid>, "Ensure that jsid is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, size_t>, "Ensure that size_t is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, uint16_t>, "Ensure that uint16_t is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, uint32_t>, "Ensure that uint32_t is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, uint8_t>, "Ensure that uint8_t is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, unsigned>, "Ensure that unsigned is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
-+static_assert(!std::is_base_of_v<gc::Cell, wasm::SimdOp>, "Ensure that wasm::SimdOp is added to the gc_pointer_types list in GenerateMIRFiles.py.");
-+
-+
-+
-+#endif // jit_MIROpsGenerated_h
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-confdefs.h b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-confdefs.h
deleted file mode 100644
index a2ed9fe3d3a1..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-confdefs.h
+++ /dev/null
@@ -1,85 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/include/js-confdefs.h.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/include/js-confdefs.h
-@@ -0,0 +1,82 @@
-+/* List of defines generated by configure. Included with preprocessor flag,
-+ * -include, to avoid long list of -D defines on the compile command-line.
-+ * Do not edit.
-+ */
-+
-+#ifndef js_confdefs_h
-+#define js_confdefs_h
-+
-+// Expands to all the defines from configure.
-+#define CROSS_COMPILE
-+#define ENABLE_SHARED_MEMORY 1
-+#define ENABLE_WASM_SIMD 1
-+#define HAVE_64BIT_BUILD 1
-+#define HAVE_CLOCK_MONOTONIC 1
-+#define HAVE_DIRENT_H 1
-+#define HAVE_DLOPEN 1
-+#define HAVE_FTS_H 1
-+#define HAVE_GETC_UNLOCKED 1
-+#define HAVE_GETOPT_H 1
-+#define HAVE_GMTIME_R 1
-+#define HAVE_INTTYPES_H 1
-+#define HAVE_LANGINFO_CODESET 1
-+#define HAVE_LIBM 1
-+#define HAVE_LOCALECONV 1
-+#define HAVE_LOCALTIME_R 1
-+#define HAVE_MALLOC_H 1
-+#define HAVE_MALLOC_USABLE_SIZE 1
-+#define HAVE_MEMALIGN 1
-+#define HAVE_MEMFD_CREATE 1
-+#define HAVE_NETINET_IN_H 1
-+#define HAVE_NL_TYPES_H 1
-+#define HAVE_POSIX_FADVISE 1
-+#define HAVE_POSIX_FALLOCATE 1
-+#define HAVE_POSIX_MEMALIGN 1
-+#define HAVE_PTHREAD_GETNAME_NP 1
-+#define HAVE_PTHREAD_GET_NAME_NP 1
-+#define HAVE_RES_NINIT 1
-+#define HAVE_SSIZE_T 1
-+#define HAVE_STDINT_H 1
-+#define HAVE_STRNDUP 1
-+#define HAVE_SYS_MOUNT_H 1
-+#define HAVE_SYS_QUEUE_H 1
-+#define HAVE_SYS_STATVFS_H 1
-+#define HAVE_SYS_TYPES_H 1
-+#define HAVE_THREAD_TLS_KEYWORD 1
-+#define HAVE_TM_ZONE_TM_GMTOFF 1
-+#define HAVE_UNISTD_H 1
-+#define HAVE_VALLOC 1
-+#define HAVE_VA_COPY 1
-+#define HAVE_VISIBILITY_ATTRIBUTE 1
-+#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
-+#define HAVE___CXA_DEMANGLE 1
-+#define JS_64BIT 1
-+#define JS_CODEGEN_ARM64 1
-+#define JS_DEFAULT_JITREPORT_GRANULARITY 3
-+#define JS_PUNBOX64 1
-+#define JS_STANDALONE 1
-+#define JS_WITHOUT_NSPR 1
-+#define MALLOC_H <malloc.h>
-+#define MALLOC_USABLE_SIZE_CONST_PTR const
-+#define MOZILLA_UAVERSION "91.0"
-+#define MOZILLA_VERSION "91.4.0"
-+#define MOZILLA_VERSION_U 91.4.0
-+#define MOZJS_MAJOR_VERSION 91
-+#define MOZJS_MINOR_VERSION 4
-+#define MOZ_AARCH64_JSCVT 0
-+#define MOZ_BUILD_APP js
-+#define MOZ_DLL_PREFIX "lib"
-+#define MOZ_DLL_SUFFIX ".so"
-+#define MOZ_UPDATE_CHANNEL default
-+#define NO_NSPR_10_SUPPORT 1
-+#define NO_RUST_PANIC_HOOK 1
-+#define RELEASE_OR_BETA 1
-+#define STDC_HEADERS 1
-+#define U_STATIC_IMPLEMENTATION 1
-+#define VA_COPY va_copy
-+#define XP_FREEBSD 1
-+#define XP_UNIX 1
-+#define _REENTRANT 1
-+#define _THREAD_SAFE 1
-+
-+#endif /* js_confdefs_h */
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-config.h b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-config.h
deleted file mode 100644
index 8871fcc50821..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-config.h
+++ /dev/null
@@ -1,80 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/include/js-config.h.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/include/js-config.h
-@@ -0,0 +1,77 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-+ * vim: set ts=8 sw=4 et tw=78:
-+ *
-+ * This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+#ifndef js_config_h
-+#define js_config_h
-+
-+/* Definitions set at build time that affect SpiderMonkey's public API.
-+ This header file is generated by the SpiderMonkey configure script,
-+ and installed along with jsapi.h. */
-+
-+/* Define to 1 if SpiderMonkey is in debug mode. */
-+/* #undef JS_DEBUG */
-+
-+/* Define to 1 if SpiderMonkey is in 64-bit mode. */
-+#define JS_64BIT 1
-+
-+/*
-+ * NB: We have a special case for rust-bindgen, which wants to be able to
-+ * generate both debug and release bindings on a single objdir.
-+ */
-+#ifdef JS_DEBUG
-+#if !defined(DEBUG) && !defined(RUST_BINDGEN)
-+# error "SpiderMonkey was configured with --enable-debug, so DEBUG must be defined when including this header"
-+# endif
-+#else
-+# if defined(DEBUG) && !defined(RUST_BINDGEN)
-+# error "SpiderMonkey was configured with --disable-debug, so DEBUG must be not defined when including this header"
-+# endif
-+#endif
-+
-+/* Define to 1 if SpiderMonkey should include ctypes support. */
-+/* #undef JS_HAS_CTYPES */
-+
-+/* Define to 1 if SpiderMonkey should include trace logging support. */
-+/* #undef JS_TRACE_LOGGING */
-+
-+/* Define to 1 if SpiderMonkey should include support for the Intl API. */
-+/* #undef JS_HAS_INTL_API */
-+
-+/* Define to 1 if SpiderMonkey should include a breakpoint function for
-+ * artificial OOMs. */
-+/* #undef JS_OOM_BREAKPOINT */
-+
-+/* Define to 1 if SpiderMonkey should support the ability to perform
-+ entirely too much GC. */
-+/* #undef JS_GC_ZEAL */
-+
-+/* Define to 1 if SpiderMonkey should use small chunks. */
-+/* #undef JS_GC_SMALL_CHUNK_SIZE */
-+
-+/* Define to 1 to perform extra assertions and heap poisoning. */
-+/* #undef JS_CRASH_DIAGNOSTICS */
-+
-+/* Define to 1 if SpiderMonkey is in NUNBOX32 mode. */
-+/* #undef JS_NUNBOX32 */
-+
-+/* Define to 1 if SpiderMonkey is in PUNBOX64 mode. */
-+#define JS_PUNBOX64 1
-+
-+/* Define to 1 if SpiderMonkey should support SmooshMonkey parser. */
-+/* #undef JS_ENABLE_SMOOSH */
-+
-+/* Experimental WASM features */
-+/* #undef ENABLE_WASM_EXCEPTIONS */
-+/* #undef ENABLE_WASM_FUNCTION_REFERENCES */
-+/* #undef ENABLE_WASM_GC */
-+#define ENABLE_WASM_SIMD 1
-+
-+/* MOZILLA JSAPI version number components */
-+#define MOZJS_MAJOR_VERSION 91
-+#define MOZJS_MINOR_VERSION 4
-+
-+#endif /* js_config_h */
diff --git a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_selfhosted.out.h b/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_selfhosted.out.h
deleted file mode 100644
index 25a44b8c42ca..000000000000
--- a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_selfhosted.out.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- src/third_party/mozjs/platform/aarch64/freebsd/include/selfhosted.out.h.orig 2022-09-08 14:42:13 UTC
-+++ src/third_party/mozjs/platform/aarch64/freebsd/include/selfhosted.out.h
-@@ -0,0 +1,19 @@
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+namespace js {
-+namespace selfhosted {
-+ static const unsigned char data[] = { 120, 156, 237, 189, 123, 119, 27, 71, 142, 56, 250, 127, 62, 69, 155, 103, 54, 161, 34, 74, 43, 202, 118, 30, 150, 229, 172, 162, 88, 51, 186, 99, 91, 190, 146, 119, 246, 156, 245, 245, 245, 175, 69, 182, 228, 182, 72, 54, 195, 38, 45, 41, 19, 223, 207, 126, 11, 168, 23, 80, 143, 238, 38, 69, 202, 178, 227, 158, 51, 49, 213, 93, 133, 2, 80, 40, 20, 10, 133, 66, 157, 205, 70, 189, 105, 94, 140, 146, 81, 118, 249, 246, 89, 94, 78, 219, 107, 201, 191, 191, 73, 196, 51, 201, 166, 179, 201, 40, 41, 167, 253, 183, 71, 167, 239, 179, 222, 244, 109, 111, 146, 165, 211, 172, 61, 154, 13, 6, 107, 59, 223, 124, 252, 230, 140, 214, 61, 206, 122, 197, 164, 191, 72, 237, 87, 197, 175, 69, 49, 200, 210, 81, 251, 131, 83, 251, 222, 189, 15, 78, 201, 23, 179, 225, 105, 54, 241, 10, 174, 243, 114, 39, 233, 48, 251, 87, 58, 152, 101, 255, 155, 77, 138, 246, 85, 39, 185, 118, 202, 95, 37, 187, 187, 187, 201, 117, 242, 231, 159, 73, 251, 42, 185, 39, 126, 95, 37, 223, 126, 43, 94, 192, 207, 107, 142, 222, 223, 179, 233, 243, 108, 250, 174, 232, 183, 255, 213, 73, 94, 106, 64, 59, 59, 248, 207, 135, 116, 146, 64, 201, 100, 55, 249, 215, 235, 151, 111, 228, 203, 252, 44, 105, 203, 151, 2, 218, 108, 212, 207, 206, 242, 81, 214, 135, 198, 204, 91, 228, 2, 22, 38, 88, 153, 162, 22, 204, 189, 195, 114, 63, 29, 12, 210, 211, 65, 134, 32, 215, 108, 165, 87, 239, 38, 197, 229, 171, 235, 113, 246, 116, 50, 41, 38, 237, 238, 86, 39, 153, 138, 191, 138, 51, 108, 101, 109, 135, 210, 11, 111, 24, 81, 135, 229, 203, 73, 49, 206, 38, 211, 235, 127, 102, 215, 237, 116, 114, 62, 27, 102, 163, 169, 38, 14, 168, 2, 88, 130, 42, 5, 82, 151, 96, 80, 101, 17, 65, 77, 171, 156, 78, 242, 209, 121, 11, 72, 36, 47, 175, 135, 167, 197, 160, 197, 123, 102, 156, 245, 242, 172, 220, 47, 70, 162, 202, 172, 55, 21, 136, 23, 167, 239, 59, 137, 32, 60, 157, 13, 166, 228, 125, 128, 209, 240, 90, 160, 36, 42, 108, 246, 108, 65, 203, 44, 249, 157, 242, 220, 99, 177, 223, 14, 227, 181, 20, 85, 4, 20, 231, 244, 131, 159, 58, 73, 171, 192, 146, 223, 149, 201, 119, 4, 149, 239, 146, 177, 226, 106, 107, 205, 162, 93, 10, 156, 225, 235, 107, 33, 73, 191, 206, 242, 193, 52, 31, 157, 32, 107, 218, 173, 82, 178, 163, 181, 70, 36, 167, 244, 197, 166, 140, 203, 76, 21, 65, 135, 140, 207, 229, 154, 87, 185, 148, 101, 93, 73, 234, 10, 250, 254, 235, 191, 20, 110, 134, 164, 68, 136, 129, 161, 154, 16, 221, 242, 134, 139, 5, 53, 44, 207, 117, 63, 78, 39, 215, 234, 23, 60, 61, 33, 212, 7, 170, 74, 27, 148, 132, 254, 227, 109, 58, 30, 15, 174, 59, 14, 78, 29, 203, 143, 142, 145, 197, 82, 241, 248, 163, 128, 54, 237, 189, 75, 218, 217, 26, 105, 65, 145, 152, 169, 50, 90, 150, 56, 166, 123, 231, 231, 147, 236, 92, 168, 165, 165, 160, 203, 161, 173, 10, 231, 195, 209, 52, 155, 140, 210, 193, 82, 80, 102, 192, 86, 130, 241, 139, 25, 193, 67, 84, 37, 159, 246, 139, 241, 245, 111, 233, 52, 85, 170, 72, 8, 91, 123, 42, 154, 205, 166, 157, 164, 44, 102, 147, 94, 214, 73, 178, 171, 222, 96, 214, 207, 250, 135, 211, 108, 88, 58, 42, 97, 135, 140, 25, 44, 30, 24, 56, 246, 125, 104, 244, 16, 29, 62, 41, 134, 98, 152, 190, 42, 148, 6, 144, 21, 201, 32, 190, 200, 174, 97, 28, 251, 40, 31, 77, 68, 159, 28, 93, 142, 132, 30, 181, 232, 3, 56, 23, 121, 139, 173, 132, 85, 137, 211, 153, 208, 100, 109, 104, 55, 23, 228, 136, 217, 42, 217, 218, 81, 63, 31, 35, 42, 155, 131, 108, 116, 62, 125, 167, 94, 174, 175, 211, 62, 81, 232, 138, 74, 80, 242, 53, 150, 80, 250, 197, 168, 186, 119, 105, 41, 112, 6, 76, 60, 30, 127, 251, 173, 41, 26, 148, 35, 53, 157, 107, 181, 112, 88, 62, 29, 9, 65, 153, 192, 20, 165, 9, 23, 96, 137, 178, 249, 55, 131, 247, 27, 246, 14, 225, 225, 181, 225, 26, 98, 3, 16, 94, 139, 95, 111, 214, 44, 202, 31, 149, 116, 85, 202, 206, 127, 143, 206, 132, 110, 205, 38, 89, 223, 145, 34, 71, 108, 238, 174, 188, 40, 211, 232, 238, 136, 201, 205, 251, 126, 145, 30, 103, 253, 92, 204, 68, 151, 186, 86, 165, 249, 154, 143, 70, 228, 43, 41, 209, 58, 43, 138, 150, 2, 199, 212, 209, 222, 100, 146, 94, 31, 2, 173, 71, 103, 237, 50, 75, 39, 189, 119, 79, 7, 25, 40, 186, 132, 90, 63, 71, 180, 115, 167, 239, 242, 146, 116, 173, 224, 41, 126, 125, 134, 188, 109, 31, 41, 38, 147, 158, 195, 18, 162, 227, 182, 188, 25, 119, 163, 107, 225, 0, 20, 163, 101, 21, 144, 228, 73, 210, 77, 126, 17, 192, 65, 49, 159, 11, 218, 76, 129, 215, 221, 55, 107, 201, 35, 209, 193, 166, 149, 81, 242, 100, 23, 144, 169, 108, 228, 194, 41, 191, 69, 153, 117, 33, 48, 24, 105, 245, 158, 13, 202, 204, 249, 6, 116, 172, 235, 18, 70, 44, 133, 108, 109, 241, 30, 190, 64, 201, 35, 83, 0, 202, 229, 78, 2, 69, 5, 12, 241, 131, 139, 158, 4, 147, 143, 4, 155, 133, 213, 125, 244, 250, 226, 13, 178, 139, 117, 7, 111, 65, 81, 118, 65, 27, 33, 212, 186, 29, 252, 44, 45, 167, 159, 113, 39, 3, 232, 141, 36, 218, 139, 250, 251, 154, 215, 89, 166, 18, 118, 166, 44, 206, 122, 203, 235, 85, 40, 24, 146, 7, 211, 131, 79, 80, 169, 92, 108, 108, 220, 106, 7, 62, 253, 144, 77, 174, 81, 255, 156, 166, 189, 139, 179, 209, 18, 251, 205, 235, 13, 167, 19, 93, 107, 255, 199, 78, 34, 150, 86, 45, 68, 107, 83, 104, 190, 105, 1, 75, 156, 205, 12, 48, 108, 17, 184, 116, 169, 102, 17, 175, 94, 176, 253, 38, 22, 205, 195, 113, 62, 200, 246, 38, 231, 109, 241, 55, 173, 103, 105, 122, 21, 151, 33, 42, 57, 66, 112, 62, 20, 121, 95, 143, 68, 51, 55, 200, 209, 217, 96, 48, 174, 57, 83, 53, 82, 5, 40, 137, 101, 196, 84, 52, 98, 166, 2, 139, 166, 48, 35, 59, 216, 255, 66, 151, 139, 31, 142, 230, 39, 157, 124, 150, 10, 65, 243, 103, 116, 82, 66, 44, 39, 50, 16, 132, 19, 97, 226, 150, 135, 163, 65, 62, 2, 86, 62, 131, 153, 194, 52, 108, 101, 67, 176, 135, 75, 204, 73, 49, 204, 238, 180, 192, 148, 2, 193, 47, 95, 94, 150, 36, 46, 82, 24, 42, 164, 69, 201, 83, 3, 113, 1, 193, 8, 72, 203, 68, 44, 243, 5, 47, 211, 73, 38, 152, 167, 8, 65, 2, 244, 75, 244, 5, 89, 79, 130, 195, 1, 214, 123, 6, 14, 167, 199, 233, 192, 31, 214, 168, 242, 171, 146, 75, 207, 246, 66, 156, 95, 164, 211, 252, 67, 6, 152, 11, 214, 137, 190, 15, 180, 170, 152, 115, 52, 239, 60, 246, 120, 215, 206, 38, 62, 140, 203, 137, 88, 50, 102, 253, 125, 217, 224, 1, 0, 52, 141, 203, 82, 150, 105, 187, 198, 56, 99, 126, 55, 221, 216, 149, 227, 159, 9, 72, 208, 117, 204, 133, 227, 16, 185, 181, 243, 141, 255, 178, 235, 10, 77, 35, 168, 206, 188, 173, 233, 254, 128, 156, 83, 46, 71, 151, 9, 146, 60, 178, 72, 81, 64, 62, 160, 220, 124, 16, 99, 109, 11, 6, 152, 177, 65, 73, 145, 231, 153, 16, 82, 148, 64, 209, 141, 130, 253, 180, 47, 253, 169, 240, 160, 152, 60, 77, 123, 239, 238, 180, 110, 59, 147, 56, 126, 217, 234, 109, 62, 213, 86, 169, 189, 52, 98, 13, 212, 151, 234, 126, 79, 131, 61, 79, 199, 119, 90, 36, 134, 233, 248, 46, 139, 3, 212, 220, 19, 53, 229, 108, 160, 188, 210, 114, 135, 66, 14, 202, 181, 101, 137, 13, 84, 30, 162, 238, 192, 45, 9, 80, 158, 11, 10, 18, 60, 129, 197, 244, 30, 22, 36, 77, 84, 203, 222, 94, 35, 177, 19, 226, 229, 137, 220, 1, 250, 87, 238, 180, 212, 73, 23, 208, 231, 43, 120, 91, 65, 177, 235, 36, 211, 226, 38, 226, 119, 161, 37, 15, 196, 106, 199, 251, 92, 102, 3, 209, 103, 89, 191, 153, 104, 74, 96, 65, 225, 68, 215, 154, 2, 230, 207, 219, 97, 209, 157, 22, 235, 235, 26, 104, 3, 193, 229, 18, 121, 156, 245, 103, 189, 187, 109, 246, 79, 16, 197, 219, 145, 72, 226, 135, 129, 63, 211, 94, 111, 54, 156, 13, 82, 182, 41, 20, 146, 88, 42, 51, 164, 18, 149, 111, 33, 200, 17, 71, 81, 196, 23, 2, 207, 20, 8, 241, 24, 245, 128, 116, 51, 98, 253, 114, 146, 149, 224, 155, 217, 117, 87, 137, 253, 34, 96, 31, 134, 197, 28, 30, 2, 136, 175, 31, 244, 115, 42, 198, 217, 5, 127, 109, 173, 196, 143, 201, 229, 59, 193, 224, 164, 189, 190, 174, 70, 25, 193, 19, 251, 77, 195, 167, 68, 214, 147, 200, 25, 42, 70, 224, 250, 186, 102, 37, 247, 180, 204, 59, 178, 57, 96, 43, 17, 109, 242, 161, 185, 73, 194, 132, 37, 60, 206, 142, 243, 243, 119, 211, 175, 131, 45, 177, 131, 205, 115, 212, 125, 29, 114, 206, 211, 108, 200, 109, 108, 72, 71, 99, 147, 17, 183, 208, 152, 219, 216, 8, 143, 185, 26, 239, 230, 39, 28, 114, 7, 249, 168, 223, 30, 11, 129, 206, 123, 194, 54, 184, 123, 67, 77, 204, 229, 253, 216, 64, 51, 104, 207, 55, 206, 72, 181, 69, 172, 44, 39, 124, 166, 169, 229, 94, 97, 32, 197, 28, 90, 6, 81, 223, 32, 10, 123, 189, 177, 68, 192, 245, 77, 80, 14, 245, 63, 110, 97, 124, 21, 130, 91, 16, 130, 102, 61, 29, 245, 92, 206, 185, 187, 1, 187, 194, 255, 147, 139, 78, 27, 217, 173, 106, 241, 67, 252, 147, 141, 192, 10, 247, 252, 99, 55, 235, 112, 40, 49, 201, 6, 232, 62, 124, 133, 237, 97, 97, 189, 251, 36, 81, 32, 101, 113, 177, 225, 84, 120, 156, 108, 9, 102, 195, 30, 240, 243, 116, 250, 238, 237, 48, 189, 106, 203, 125, 36, 94, 174, 227, 206, 71, 161, 231, 17, 129, 35, 88, 224, 66, 176, 150, 23, 69, 252, 4, 24, 196, 240, 70, 150, 145, 146, 106, 79, 158, 87, 168, 197, 251, 68, 50, 190, 1, 218, 49, 188, 21, 132, 48, 218, 79, 177, 67, 177, 91, 89, 176, 193, 47, 216, 103, 143, 8, 57, 162, 12, 37, 70, 172, 204, 7, 132, 26, 128, 83, 75, 139, 40, 116, 147, 14, 192, 234, 156, 140, 94, 49, 195, 201, 157, 149, 151, 184, 109, 168, 13, 127, 105, 3, 77, 11, 162, 6, 176, 39, 30, 131, 28, 125, 251, 45, 252, 247, 177, 122, 181, 46, 225, 173, 209, 145, 167, 122, 141, 126, 183, 38, 21, 60, 40, 141, 226, 63, 193, 143, 202, 126, 144, 95, 158, 240, 221, 109, 134, 13, 206, 230, 30, 99, 142, 94, 79, 139, 55, 168, 246, 161, 144, 179, 52, 102, 91, 163, 250, 233, 139, 229, 173, 208, 196, 88, 145, 23, 7, 8, 27, 27, 252, 221, 180, 112, 223, 32, 166, 244, 229, 199, 176, 137, 119, 199, 8, 91, 95, 119, 9, 115, 223, 196, 8, 163, 186, 240, 40, 52, 205, 13, 6, 66, 65, 227, 4, 90, 170, 33, 190, 117, 11, 122, 176, 94, 157, 92, 132, 116, 9, 35, 121, 1, 189, 114, 7, 84, 136, 215, 243, 11, 169, 148, 102, 42, 132, 172, 109, 17, 27, 111, 222, 149, 161, 3, 201, 135, 136, 125, 20, 16, 152, 195, 17, 70, 171, 149, 60, 174, 67, 70, 17, 29, 234, 40, 168, 219, 136, 242, 32, 11, 39, 29, 232, 97, 123, 194, 96, 67, 5, 202, 66, 189, 197, 80, 28, 165, 72, 180, 75, 195, 177, 121, 120, 164, 188, 195, 82, 232, 156, 176, 161, 195, 215, 122, 23, 90, 23, 132, 119, 104, 109, 204, 30, 186, 57, 101, 47, 78, 179, 73, 106, 162, 191, 47, 132, 25, 73, 187, 44, 199, 175, 89, 95, 118, 26, 237, 63, 81, 156, 112, 52, 87, 80, 68, 137, 23, 217, 37, 7, 172, 138, 253, 247, 168, 76, 207, 178, 147, 108, 122, 44, 22, 146, 147, 15, 89, 255, 100, 80, 76, 219, 186, 34, 90, 181, 188, 181, 134, 245, 186, 214, 87, 91, 87, 116, 91, 17, 184, 67, 185, 163, 63, 7, 4, 92, 125, 121, 145, 93, 217, 195, 24, 64, 173, 160, 157, 89, 218, 84, 164, 241, 36, 131, 40, 32, 56, 241, 247, 89, 58, 233, 191, 42, 56, 55, 176, 208, 154, 141, 38, 244, 35, 230, 216, 126, 51, 24, 241, 12, 128, 60, 1, 113, 120, 246, 63, 114, 23, 180, 147, 0, 192, 78, 165, 161, 209, 242, 168, 209, 43, 5, 187, 1, 158, 10, 124, 37, 251, 254, 238, 176, 15, 229, 98, 139, 105, 195, 114, 54, 0, 89, 248, 183, 212, 22, 143, 104, 176, 114, 191, 24, 137, 23, 40, 113, 122, 175, 21, 87, 57, 1, 130, 37, 156, 77, 168, 225, 56, 45, 20, 35, 100, 1, 23, 83, 29, 96, 89, 129, 109, 151, 75, 230, 240, 159, 57, 42, 110, 83, 67, 232, 134, 251, 219, 7, 66, 49, 248, 85, 183, 185, 78, 178, 20, 28, 150, 47, 139, 178, 204, 79, 7, 215, 138, 243, 176, 120, 234, 35, 103, 219, 41, 179, 163, 164, 42, 139, 150, 86, 26, 46, 117, 60, 44, 86, 189, 5, 236, 139, 40, 176, 127, 164, 229, 111, 217, 52, 237, 189, 203, 250, 191, 206, 206, 206, 32, 130, 45, 16, 202, 225, 44, 246, 30, 222, 255, 217, 119, 135, 184, 170, 206, 81, 200, 41, 87, 200, 31, 13, 95, 100, 119, 168, 248, 71, 82, 63, 60, 22, 165, 48, 177, 0, 219, 106, 81, 168, 16, 134, 138, 22, 132, 78, 144, 120, 173, 27, 89, 64, 92, 141, 44, 236, 238, 114, 199, 159, 66, 224, 131, 114, 62, 164, 94, 16, 110, 20, 11, 15, 238, 182, 235, 210, 24, 167, 57, 232, 69, 9, 178, 99, 96, 191, 241, 200, 215, 173, 67, 133, 6, 45, 239, 104, 53, 198, 42, 35, 112, 166, 224, 116, 205, 6, 123, 141, 84, 71, 208, 77, 199, 191, 225, 87, 156, 158, 74, 55, 4, 56, 52, 151, 160, 78, 66, 214, 99, 163, 251, 233, 168, 24, 137, 197, 251, 224, 133, 152, 228, 218, 20, 88, 39, 105, 33, 226, 101, 203, 219, 227, 124, 58, 154, 78, 242, 121, 154, 219, 14, 132, 108, 96, 108, 119, 99, 8, 91, 161, 160, 15, 161, 38, 176, 131, 75, 220, 217, 197, 192, 26, 162, 239, 160, 226, 222, 228, 60, 102, 34, 239, 131, 56, 139, 34, 86, 169, 192, 238, 112, 62, 130, 10, 18, 26, 139, 109, 178, 162, 170, 139, 137, 101, 27, 117, 229, 96, 157, 57, 220, 56, 93, 133, 180, 235, 194, 81, 104, 219, 151, 179, 82, 180, 118, 104, 103, 113, 164, 56, 112, 78, 74, 207, 150, 236, 160, 20, 175, 204, 40, 2, 2, 252, 207, 238, 204, 231, 122, 172, 88, 141, 154, 88, 174, 135, 190, 231, 10, 145, 167, 17, 65, 122, 171, 151, 159, 195, 218, 95, 19, 22, 247, 40, 187, 76, 246, 219, 16, 235, 251, 250, 13, 175, 64, 108, 154, 231, 233, 69, 166, 209, 145, 58, 120, 162, 101, 130, 163, 234, 56, 247, 173, 9, 8, 143, 113, 129, 141, 196, 240, 146, 126, 78, 56, 208, 55, 24, 20, 151, 202, 219, 5, 112, 140, 189, 178, 230, 206, 4, 126, 252, 130, 150, 146, 95, 130, 219, 197, 216, 243, 232, 46, 51, 13, 10, 3, 8, 72, 53, 127, 243, 149, 99, 36, 164, 1, 182, 133, 171, 130, 26, 224, 217, 51, 238, 203, 228, 194, 211, 93, 123, 158, 181, 129, 19, 97, 126, 145, 81, 139, 50, 39, 135, 115, 2, 75, 2, 83, 199, 95, 74, 86, 118, 45, 206, 75, 114, 145, 36, 103, 235, 249, 67, 74, 152, 99, 90, 142, 140, 11, 71, 88, 22, 235, 151, 11, 218, 41, 23, 78, 143, 204, 17, 96, 34, 57, 75, 250, 192, 152, 46, 193, 29, 251, 10, 113, 30, 162, 121, 233, 28, 212, 81, 64, 44, 67, 170, 21, 195, 35, 123, 44, 132, 91, 173, 109, 87, 162, 137, 197, 235, 49, 9, 107, 232, 177, 76, 68, 78, 218, 186, 129, 179, 36, 175, 138, 19, 60, 252, 202, 76, 117, 148, 154, 138, 117, 167, 58, 50, 140, 197, 54, 223, 23, 57, 177, 248, 42, 78, 252, 134, 44, 117, 114, 42, 103, 170, 48, 233, 72, 184, 124, 189, 17, 34, 22, 192, 219, 194, 62, 97, 207, 10, 81, 43, 83, 228, 13, 240, 15, 209, 87, 197, 24, 202, 184, 135, 241, 40, 213, 124, 234, 9, 13, 168, 121, 214, 217, 173, 22, 117, 105, 76, 202, 169, 62, 202, 161, 248, 247, 122, 235, 141, 45, 112, 76, 156, 144, 172, 172, 119, 18, 219, 253, 234, 78, 14, 199, 2, 190, 110, 218, 51, 83, 143, 145, 34, 197, 153, 32, 107, 9, 248, 205, 41, 227, 100, 135, 181, 189, 230, 173, 137, 202, 108, 156, 234, 25, 160, 213, 105, 5, 116, 70, 183, 90, 103, 128, 154, 117, 121, 68, 21, 199, 113, 178, 190, 107, 91, 225, 235, 129, 123, 109, 86, 219, 229, 154, 251, 17, 153, 230, 14, 47, 132, 95, 201, 29, 2, 198, 99, 14, 249, 182, 230, 175, 23, 168, 72, 31, 51, 153, 253, 27, 13, 168, 114, 141, 47, 41, 145, 81, 171, 80, 213, 18, 102, 33, 108, 117, 188, 150, 202, 101, 83, 29, 128, 126, 227, 27, 137, 60, 108, 171, 152, 228, 231, 224, 220, 194, 79, 232, 253, 2, 209, 142, 158, 85, 37, 27, 110, 27, 68, 218, 141, 18, 221, 98, 186, 64, 78, 30, 172, 137, 192, 57, 110, 58, 203, 240, 73, 10, 76, 65, 86, 59, 124, 116, 222, 155, 199, 132, 1, 37, 222, 77, 196, 10, 240, 56, 75, 7, 67, 181, 109, 69, 139, 52, 197, 66, 130, 87, 122, 112, 159, 73, 11, 32, 183, 223, 224, 88, 188, 6, 179, 143, 92, 179, 229, 41, 66, 210, 221, 208, 10, 251, 171, 34, 168, 113, 184, 252, 152, 101, 125, 109, 187, 18, 219, 175, 201, 58, 80, 193, 153, 123, 46, 231, 227, 86, 54, 28, 203, 39, 157, 231, 229, 26, 80, 141, 25, 251, 67, 54, 196, 146, 62, 136, 166, 122, 233, 244, 100, 44, 4, 183, 143, 51, 140, 137, 112, 224, 62, 165, 35, 191, 119, 29, 119, 103, 105, 96, 224, 46, 67, 96, 102, 246, 26, 227, 89, 14, 108, 253, 123, 149, 188, 179, 217, 65, 108, 21, 78, 176, 30, 36, 71, 129, 73, 76, 226, 0, 219, 221, 221, 166, 62, 225, 250, 224, 76, 237, 238, 37, 161, 118, 185, 220, 182, 16, 237, 148, 207, 178, 208, 153, 63, 91, 244, 41, 48, 140, 120, 133, 59, 214, 108, 82, 190, 90, 240, 68, 184, 235, 148, 64, 223, 61, 245, 52, 175, 51, 213, 62, 221, 244, 164, 93, 131, 3, 103, 50, 148, 126, 146, 108, 93, 117, 207, 232, 211, 192, 143, 211, 13, 0, 60, 44, 95, 166, 189, 11, 237, 154, 218, 83, 10, 132, 190, 243, 209, 133, 7, 39, 182, 26, 67, 152, 62, 97, 243, 84, 216, 181, 79, 193, 89, 189, 19, 172, 51, 114, 247, 170, 224, 249, 200, 222, 120, 51, 252, 162, 248, 153, 216, 161, 167, 241, 109, 216, 85, 209, 96, 39, 203, 16, 53, 118, 223, 225, 230, 61, 30, 167, 192, 41, 200, 208, 230, 39, 114, 114, 192, 69, 13, 24, 142, 130, 19, 51, 246, 148, 5, 197, 229, 116, 78, 224, 27, 15, 100, 37, 82, 181, 14, 145, 14, 150, 65, 58, 133, 35, 20, 184, 170, 153, 104, 203, 164, 113, 132, 141, 60, 239, 255, 172, 118, 251, 200, 241, 162, 144, 166, 230, 139, 138, 113, 235, 114, 191, 202, 66, 161, 49, 205, 116, 29, 240, 73, 216, 110, 135, 163, 105, 161, 134, 54, 30, 62, 51, 244, 163, 95, 181, 235, 34, 40, 150, 153, 107, 77, 122, 160, 189, 84, 134, 67, 185, 126, 54, 158, 190, 123, 49, 27, 162, 153, 108, 186, 33, 192, 160, 45, 208, 80, 150, 67, 91, 111, 98, 243, 16, 129, 24, 58, 177, 189, 245, 102, 174, 185, 163, 17, 63, 117, 147, 85, 60, 244, 0, 185, 169, 83, 8, 72, 21, 92, 132, 96, 253, 174, 82, 94, 57, 150, 252, 9, 97, 233, 237, 84, 172, 238, 172, 67, 36, 116, 179, 225, 186, 195, 94, 60, 182, 141, 179, 15, 126, 204, 21, 173, 37, 148, 38, 79, 216, 161, 31, 104, 47, 51, 11, 26, 89, 230, 53, 169, 233, 196, 43, 104, 71, 38, 25, 47, 1, 101, 189, 227, 171, 83, 219, 70, 196, 127, 18, 98, 91, 71, 87, 235, 80, 74, 77, 238, 17, 222, 202, 71, 143, 174, 242, 93, 49, 27, 244, 85, 103, 250, 225, 184, 154, 30, 236, 186, 80, 28, 8, 60, 46, 12, 109, 16, 41, 196, 42, 113, 192, 78, 160, 245, 67, 13, 144, 14, 112, 70, 160, 122, 27, 54, 52, 224, 225, 146, 20, 21, 90, 195, 67, 219, 76, 135, 214, 85, 194, 139, 89, 15, 28, 114, 98, 51, 55, 80, 70, 91, 111, 52, 243, 193, 83, 59, 251, 193, 83, 145, 212, 132, 161, 29, 238, 3, 135, 51, 238, 220, 78, 102, 114, 127, 217, 75, 234, 249, 74, 117, 111, 42, 183, 198, 150, 31, 48, 163, 187, 208, 234, 192, 60, 30, 223, 192, 43, 133, 98, 29, 88, 137, 136, 151, 197, 198, 61, 132, 74, 155, 198, 48, 10, 2, 188, 19, 23, 129, 13, 193, 112, 106, 61, 30, 100, 130, 222, 145, 6, 251, 84, 123, 108, 119, 106, 175, 188, 30, 245, 116, 1, 220, 172, 255, 144, 14, 194, 46, 76, 216, 11, 27, 102, 127, 207, 70, 108, 223, 71, 20, 23, 43, 186, 145, 218, 24, 255, 24, 129, 140, 210, 184, 24, 104, 140, 147, 15, 193, 214, 254, 209, 195, 190, 16, 205, 92, 136, 110, 196, 93, 194, 107, 153, 70, 150, 79, 172, 41, 189, 10, 106, 77, 241, 99, 4, 178, 24, 116, 89, 68, 130, 79, 1, 106, 18, 102, 233, 254, 160, 40, 51, 179, 153, 34, 147, 98, 118, 100, 196, 130, 108, 20, 87, 240, 116, 151, 135, 151, 221, 180, 129, 33, 186, 172, 108, 90, 250, 178, 73, 249, 77, 155, 8, 74, 14, 57, 82, 202, 219, 12, 243, 190, 82, 119, 167, 110, 70, 5, 88, 164, 151, 105, 62, 13, 78, 129, 20, 74, 199, 32, 194, 205, 93, 165, 103, 36, 52, 178, 228, 11, 36, 81, 116, 141, 92, 93, 199, 142, 81, 248, 191, 62, 50, 45, 183, 41, 156, 252, 125, 148, 245, 191, 229, 19, 209, 178, 222, 89, 128, 72, 33, 108, 156, 227, 5, 175, 53, 82, 1, 148, 116, 124, 209, 71, 195, 125, 16, 89, 195, 123, 72, 61, 9, 47, 118, 190, 241, 205, 123, 91, 48, 214, 0, 24, 246, 164, 212, 14, 39, 80, 86, 9, 120, 82, 82, 74, 36, 223, 232, 96, 244, 123, 187, 29, 108, 52, 35, 75, 229, 46, 198, 72, 141, 95, 234, 101, 168, 216, 38, 176, 40, 35, 127, 180, 52, 51, 144, 114, 72, 76, 204, 0, 163, 160, 131, 82, 12, 156, 164, 153, 204, 110, 44, 196, 53, 68, 112, 209, 245, 200, 176, 115, 174, 238, 13, 25, 82, 4, 174, 24, 85, 242, 35, 33, 248, 99, 92, 167, 254, 35, 27, 8, 241, 123, 225, 176, 120, 144, 77, 165, 211, 39, 22, 187, 117, 68, 34, 183, 124, 112, 177, 248, 173, 104, 236, 150, 15, 98, 206, 8, 46, 21, 146, 219, 138, 208, 214, 114, 70, 201, 185, 86, 154, 209, 16, 41, 179, 6, 10, 225, 124, 8, 81, 23, 163, 50, 239, 249, 19, 77, 199, 194, 182, 93, 86, 205, 252, 99, 79, 12, 191, 36, 246, 31, 155, 153, 104, 245, 29, 32, 219, 90, 160, 11, 204, 60, 254, 37, 246, 192, 43, 109, 105, 172, 190, 3, 176, 169, 185, 248, 111, 157, 90, 190, 189, 129, 71, 252, 33, 18, 145, 205, 152, 118, 77, 16, 246, 88, 85, 77, 103, 97, 63, 213, 154, 195, 155, 156, 177, 79, 69, 235, 6, 58, 121, 109, 39, 200, 78, 151, 62, 107, 161, 105, 178, 76, 195, 8, 96, 126, 205, 130, 245, 170, 227, 120, 37, 138, 232, 158, 225, 213, 156, 128, 94, 89, 206, 55, 19, 191, 159, 135, 12, 51, 100, 6, 105, 105, 67, 102, 224, 197, 40, 203, 250, 104, 99, 146, 136, 69, 155, 248, 247, 58, 207, 6, 106, 137, 67, 11, 18, 167, 2, 58, 112, 36, 160, 43, 107, 236, 177, 152, 99, 139, 141, 105, 157, 44, 95, 239, 65, 69, 140, 153, 180, 239, 230, 131, 229, 90, 6, 58, 134, 16, 1, 127, 160, 209, 40, 33, 98, 225, 49, 176, 196, 123, 36, 185, 194, 97, 195, 146, 26, 243, 41, 63, 194, 34, 52, 60, 229, 121, 133, 129, 102, 44, 58, 207, 117, 113, 75, 64, 212, 244, 207, 250, 204, 138, 141, 13, 86, 149, 81, 69, 37, 174, 93, 194, 136, 53, 144, 230, 24, 179, 182, 206, 234, 70, 173, 36, 52, 36, 241, 166, 245, 207, 102, 232, 54, 160, 229, 235, 248, 173, 28, 191, 232, 146, 143, 174, 50, 53, 23, 3, 35, 151, 5, 188, 123, 74, 128, 181, 253, 241, 206, 12, 242, 87, 233, 69, 214, 30, 228, 195, 124, 58, 255, 248, 214, 107, 167, 97, 154, 143, 100, 252, 174, 245, 191, 73, 144, 118, 253, 175, 203, 60, 182, 222, 54, 28, 253, 199, 233, 232, 220, 132, 173, 254, 176, 194, 65, 14, 132, 134, 134, 133, 65, 237, 243, 25, 227, 245, 164, 172, 120, 136, 239, 144, 78, 127, 2, 251, 43, 230, 79, 154, 171, 194, 186, 40, 230, 87, 5, 82, 218, 149, 46, 168, 119, 153, 218, 17, 181, 188, 89, 59, 90, 109, 233, 3, 149, 232, 146, 176, 123, 169, 113, 221, 216, 40, 255, 109, 82, 140, 255, 18, 163, 28, 8, 253, 66, 70, 121, 61, 41, 102, 148, 223, 193, 65, 221, 116, 36, 243, 241, 43, 255, 235, 41, 174, 47, 196, 178, 248, 148, 58, 166, 145, 49, 176, 87, 226, 30, 86, 214, 127, 153, 230, 19, 29, 167, 58, 191, 174, 88, 230, 128, 230, 40, 249, 227, 225, 243, 25, 207, 181, 148, 44, 109, 56, 47, 111, 252, 116, 200, 221, 29, 75, 28, 74, 29, 255, 202, 143, 229, 141, 41, 125, 168, 16, 171, 191, 185, 59, 131, 139, 7, 117, 125, 153, 254, 47, 69, 227, 151, 224, 3, 171, 39, 101, 185, 211, 111, 179, 193, 121, 227, 25, 109, 9, 211, 152, 172, 39, 79, 92, 85, 238, 200, 214, 250, 184, 128, 112, 89, 189, 173, 100, 17, 174, 204, 137, 31, 3, 148, 109, 178, 133, 182, 28, 243, 182, 222, 167, 92, 97, 87, 109, 189, 171, 100, 176, 50, 7, 228, 36, 137, 15, 255, 138, 93, 227, 168, 42, 80, 80, 231, 209, 5, 166, 138, 86, 6, 32, 127, 78, 130, 200, 104, 46, 54, 19, 174, 30, 176, 6, 67, 130, 160, 41, 196, 237, 105, 155, 211, 34, 184, 55, 15, 69, 230, 219, 153, 151, 53, 108, 87, 68, 109, 78, 23, 214, 67, 86, 137, 167, 79, 228, 195, 129, 69, 255, 84, 103, 196, 4, 96, 158, 92, 127, 168, 57, 217, 74, 132, 218, 129, 94, 17, 238, 128, 29, 200, 175, 197, 163, 137, 30, 237, 80, 35, 43, 73, 39, 171, 99, 149, 196, 170, 44, 29, 49, 43, 240, 223, 141, 130, 1, 68, 237, 221, 39, 184, 153, 245, 145, 217, 135, 67, 184, 127, 76, 158, 46, 6, 193, 99, 86, 198, 77, 184, 23, 136, 124, 203, 229, 41, 78, 101, 113, 68, 248, 130, 133, 234, 56, 162, 47, 59, 208, 119, 114, 44, 107, 248, 194, 89, 244, 57, 60, 226, 35, 59, 104, 111, 36, 104, 113, 31, 231, 40, 162, 179, 235, 148, 28, 94, 115, 243, 101, 112, 167, 198, 11, 28, 226, 144, 31, 219, 98, 38, 77, 199, 159, 99, 178, 15, 85, 49, 83, 222, 50, 245, 229, 112, 243, 222, 77, 217, 233, 78, 223, 223, 56, 140, 174, 25, 188, 144, 178, 246, 203, 225, 230, 77, 153, 233, 36, 53, 99, 203, 22, 164, 192, 30, 29, 255, 6, 170, 170, 28, 79, 137, 61, 64, 29, 8, 93, 11, 49, 226, 126, 39, 105, 225, 175, 22, 132, 65, 42, 160, 45, 157, 228, 68, 6, 42, 224, 153, 181, 116, 152, 233, 32, 54, 241, 19, 94, 171, 87, 109, 249, 47, 191, 154, 231, 23, 13, 21, 115, 204, 41, 84, 161, 160, 1, 56, 44, 207, 21, 188, 97, 86, 150, 233, 57, 130, 148, 47, 219, 248, 143, 7, 144, 193, 130, 187, 107, 53, 153, 6, 129, 86, 75, 210, 168, 152, 40, 202, 232, 34, 26, 162, 83, 66, 147, 66, 254, 76, 214, 147, 214, 163, 164, 37, 254, 193, 234, 49, 190, 67, 10, 214, 87, 147, 52, 31, 136, 223, 98, 69, 38, 254, 201, 84, 87, 196, 78, 218, 235, 63, 244, 29, 186, 12, 156, 138, 40, 17, 115, 238, 26, 32, 240, 255, 140, 90, 252, 192, 134, 250, 241, 43, 140, 18, 115, 120, 96, 115, 115, 243, 180, 16, 60, 18, 127, 152, 35, 245, 246, 4, 70, 66, 15, 211, 187, 35, 67, 229, 109, 141, 158, 35, 2, 177, 208, 141, 130, 52, 156, 66, 178, 94, 29, 158, 78, 226, 182, 15, 236, 79, 241, 105, 95, 101, 252, 52, 88, 177, 3, 140, 229, 101, 142, 151, 0, 235, 130, 100, 169, 147, 10, 235, 109, 235, 145, 65, 230, 0, 96, 136, 22, 223, 194, 127, 52, 26, 91, 54, 72, 94, 51, 192, 82, 111, 215, 88, 236, 0, 24, 2, 238, 214, 0, 238, 46, 10, 120, 187, 6, 240, 246, 2, 128, 213, 157, 220, 53, 144, 95, 212, 67, 150, 86, 179, 80, 171, 121, 249, 238, 87, 248, 166, 235, 30, 142, 242, 105, 251, 64, 247, 101, 199, 244, 155, 238, 85, 184, 111, 196, 151, 215, 29, 58, 108, 14, 152, 112, 6, 122, 74, 124, 11, 162, 198, 35, 175, 236, 249, 123, 44, 193, 114, 109, 96, 22, 6, 152, 81, 214, 36, 70, 6, 134, 229, 155, 204, 87, 112, 41, 83, 255, 238, 176, 154, 228, 96, 52, 234, 72, 247, 96, 138, 169, 134, 75, 137, 203, 205, 169, 3, 67, 195, 33, 229, 132, 242, 144, 104, 250, 7, 63, 40, 52, 65, 19, 7, 67, 164, 158, 173, 212, 252, 179, 50, 238, 40, 208, 143, 86, 40, 154, 162, 64, 42, 142, 142, 197, 193, 59, 45, 226, 142, 129, 197, 192, 118, 216, 121, 183, 112, 35, 219, 203, 109, 164, 195, 22, 111, 225, 38, 239, 175, 178, 73, 250, 215, 118, 4, 129, 7, 183, 135, 0, 253, 235, 126, 4, 157, 135, 159, 10, 29, 250, 215, 3, 31, 57, 79, 173, 233, 71, 205, 28, 165, 58, 56, 87, 57, 99, 162, 162, 25, 166, 227, 61, 221, 146, 204, 202, 231, 223, 55, 31, 32, 31, 235, 26, 30, 88, 61, 26, 160, 222, 133, 82, 115, 54, 122, 121, 3, 60, 156, 102, 199, 30, 178, 156, 119, 100, 215, 192, 187, 225, 144, 158, 11, 250, 13, 199, 242, 13, 218, 186, 225, 32, 94, 90, 203, 55, 28, 189, 43, 194, 99, 209, 97, 219, 212, 200, 141, 224, 24, 31, 97, 210, 118, 169, 182, 47, 186, 117, 246, 5, 40, 21, 124, 217, 165, 198, 40, 75, 246, 36, 150, 126, 2, 36, 110, 168, 128, 14, 97, 230, 205, 87, 187, 132, 61, 203, 177, 75, 84, 55, 249, 231, 97, 151, 101, 159, 72, 240, 183, 100, 167, 132, 26, 187, 37, 123, 165, 190, 233, 91, 178, 91, 230, 69, 228, 150, 236, 151, 155, 161, 85, 169, 16, 239, 138, 37, 176, 240, 88, 106, 8, 119, 213, 150, 193, 10, 70, 207, 18, 218, 92, 181, 165, 112, 203, 227, 101, 197, 248, 52, 29, 40, 108, 254, 179, 179, 110, 224, 4, 38, 18, 101, 167, 101, 61, 11, 123, 41, 56, 225, 193, 41, 28, 19, 205, 159, 151, 218, 235, 228, 14, 59, 127, 45, 64, 22, 27, 54, 173, 90, 23, 110, 135, 161, 160, 2, 139, 136, 192, 190, 21, 192, 193, 104, 134, 200, 80, 36, 249, 78, 114, 153, 229, 36, 79, 30, 243, 134, 118, 32, 9, 81, 56, 143, 68, 180, 193, 28, 18, 132, 83, 222, 231, 161, 172, 79, 122, 59, 145, 217, 37, 216, 29, 59, 129, 158, 153, 103, 13, 166, 59, 168, 106, 233, 229, 91, 40, 213, 119, 167, 163, 129, 135, 240, 157, 117, 25, 53, 28, 105, 3, 139, 175, 233, 106, 44, 203, 237, 37, 88, 150, 248, 118, 155, 125, 238, 126, 53, 60, 237, 243, 169, 12, 79, 245, 239, 246, 202, 13, 80, 217, 204, 45, 27, 162, 161, 70, 111, 217, 32, 173, 71, 225, 150, 13, 211, 121, 17, 186, 101, 3, 245, 102, 232, 125, 86, 134, 234, 194, 99, 111, 78, 248, 183, 101, 184, 174, 96, 180, 45, 177, 237, 219, 50, 100, 111, 121, 124, 221, 18, 94, 95, 140, 97, 187, 189, 42, 195, 54, 90, 41, 62, 206, 87, 104, 13, 179, 142, 254, 106, 13, 47, 209, 26, 118, 219, 245, 172, 97, 146, 191, 127, 81, 179, 246, 238, 219, 172, 124, 160, 187, 99, 49, 126, 3, 150, 5, 24, 73, 14, 186, 96, 255, 133, 66, 8, 230, 18, 159, 16, 128, 21, 106, 51, 211, 92, 117, 116, 136, 91, 109, 73, 74, 208, 105, 189, 94, 35, 134, 244, 20, 7, 178, 144, 162, 34, 108, 15, 43, 169, 149, 233, 71, 142, 252, 103, 165, 44, 43, 6, 206, 205, 182, 117, 23, 81, 181, 1, 101, 73, 247, 162, 217, 29, 46, 131, 154, 60, 238, 158, 152, 6, 110, 248, 33, 114, 128, 137, 195, 89, 239, 87, 9, 90, 160, 131, 89, 167, 186, 84, 212, 51, 64, 81, 70, 150, 13, 254, 138, 193, 93, 41, 204, 187, 169, 237, 174, 4, 230, 217, 248, 100, 198, 190, 107, 228, 207, 11, 72, 253, 232, 58, 16, 239, 47, 1, 162, 250, 177, 237, 128, 126, 176, 76, 208, 234, 199, 125, 167, 141, 135, 43, 105, 67, 253, 120, 224, 52, 246, 195, 106, 27, 83, 63, 30, 58, 173, 254, 120, 75, 173, 170, 31, 63, 56, 205, 255, 116, 219, 205, 171, 31, 63, 58, 120, 252, 252, 201, 240, 80, 63, 126, 178, 8, 121, 241, 3, 11, 199, 13, 216, 176, 70, 87, 125, 53, 213, 254, 141, 149, 88, 64, 9, 205, 17, 59, 213, 72, 23, 205, 9, 175, 185, 74, 90, 20, 112, 115, 205, 116, 227, 22, 154, 43, 168, 229, 53, 213, 92, 79, 173, 160, 205, 230, 234, 106, 149, 141, 55, 215, 90, 183, 130, 69, 115, 229, 117, 187, 232, 248, 58, 76, 234, 132, 128, 101, 243, 137, 16, 83, 63, 126, 118, 49, 188, 185, 218, 90, 58, 134, 26, 160, 171, 17, 187, 75, 84, 137, 203, 199, 85, 255, 234, 86, 204, 99, 228, 6, 8, 69, 192, 190, 59, 13, 85, 58, 94, 120, 46, 234, 72, 110, 116, 117, 104, 227, 100, 86, 142, 51, 177, 10, 234, 243, 236, 226, 107, 238, 238, 96, 32, 51, 170, 120, 101, 42, 209, 111, 193, 181, 148, 151, 8, 213, 84, 13, 167, 63, 85, 217, 205, 25, 250, 45, 103, 45, 231, 180, 126, 88, 226, 9, 237, 126, 5, 22, 241, 43, 218, 225, 24, 25, 93, 133, 50, 248, 135, 229, 241, 108, 4, 217, 112, 66, 160, 221, 195, 45, 63, 177, 51, 18, 54, 23, 0, 65, 163, 73, 38, 122, 4, 33, 216, 134, 246, 132, 119, 235, 214, 189, 57, 104, 55, 69, 225, 146, 65, 82, 202, 18, 139, 25, 234, 147, 172, 74, 124, 188, 252, 247, 159, 153, 252, 144, 212, 184, 11, 9, 144, 100, 145, 0, 122, 7, 68, 100, 74, 105, 185, 67, 50, 98, 211, 91, 127, 166, 66, 66, 51, 88, 47, 36, 37, 174, 154, 65, 248, 183, 169, 96, 240, 98, 20, 209, 42, 28, 210, 111, 128, 68, 165, 176, 77, 220, 11, 38, 238, 134, 184, 65, 254, 185, 201, 88, 96, 69, 186, 13, 208, 111, 159, 195, 213, 60, 136, 243, 133, 88, 186, 105, 244, 206, 10, 188, 250, 72, 213, 209, 185, 108, 212, 5, 45, 162, 156, 60, 185, 41, 181, 174, 110, 61, 194, 22, 219, 0, 211, 210, 28, 146, 26, 156, 205, 65, 177, 209, 92, 125, 239, 7, 169, 101, 123, 133, 178, 70, 157, 96, 118, 174, 79, 209, 39, 165, 221, 203, 83, 2, 73, 98, 42, 110, 6, 49, 215, 112, 248, 219, 20, 143, 147, 109, 69, 111, 248, 134, 111, 14, 123, 147, 222, 219, 224, 124, 210, 127, 106, 254, 61, 90, 18, 60, 115, 22, 26, 248, 91, 121, 33, 72, 32, 233, 136, 42, 1, 85, 201, 193, 115, 249, 54, 200, 208, 47, 224, 174, 149, 207, 226, 150, 21, 39, 93, 214, 98, 55, 171, 184, 104, 96, 113, 221, 215, 189, 85, 92, 181, 18, 74, 98, 163, 107, 57, 66, 166, 166, 81, 69, 231, 35, 188, 31, 4, 95, 17, 153, 199, 191, 165, 126, 199, 24, 62, 255, 30, 16, 143, 85, 95, 222, 93, 52, 154, 69, 252, 26, 26, 77, 245, 167, 188, 129, 102, 98, 172, 162, 191, 212, 221, 51, 38, 47, 204, 52, 27, 87, 169, 66, 72, 1, 164, 85, 105, 197, 46, 248, 182, 61, 222, 93, 161, 161, 52, 215, 162, 243, 67, 184, 128, 153, 37, 212, 103, 68, 15, 127, 75, 249, 163, 97, 110, 171, 108, 159, 52, 185, 192, 52, 85, 165, 79, 189, 121, 11, 211, 99, 137, 233, 26, 53, 134, 152, 102, 43, 102, 179, 131, 73, 49, 212, 247, 113, 75, 177, 157, 149, 194, 84, 61, 180, 179, 87, 240, 154, 109, 59, 32, 119, 84, 55, 115, 170, 117, 119, 115, 96, 158, 124, 251, 159, 253, 89, 139, 76, 164, 161, 94, 97, 32, 58, 201, 145, 158, 177, 24, 58, 193, 4, 140, 129, 57, 46, 210, 117, 73, 46, 16, 73, 71, 189, 172, 56, 139, 221, 3, 111, 147, 99, 121, 186, 165, 98, 250, 215, 249, 234, 136, 8, 54, 64, 252, 200, 81, 208, 151, 82, 225, 203, 12, 143, 160, 253, 15, 10, 200, 153, 151, 247, 117, 61, 105, 22, 135, 179, 44, 170, 202, 24, 183, 197, 219, 198, 74, 138, 6, 85, 138, 137, 80, 168, 165, 155, 220, 64, 21, 196, 60, 114, 3, 79, 147, 128, 154, 216, 186, 49, 212, 206, 156, 215, 244, 36, 73, 43, 70, 125, 139, 45, 224, 86, 136, 131, 190, 42, 168, 26, 17, 55, 29, 40, 38, 69, 170, 185, 41, 168, 161, 214, 222, 106, 164, 181, 89, 138, 64, 110, 94, 102, 100, 73, 48, 159, 42, 110, 6, 212, 77, 9, 23, 214, 185, 139, 104, 220, 248, 42, 33, 212, 27, 199, 158, 145, 176, 170, 97, 241, 137, 196, 141, 186, 86, 22, 17, 184, 200, 138, 41, 251, 36, 107, 37, 153, 182, 112, 148, 161, 231, 97, 25, 203, 37, 2, 108, 190, 53, 19, 171, 24, 92, 56, 253, 155, 44, 15, 208, 112, 251, 198, 118, 149, 103, 180, 133, 122, 238, 70, 55, 166, 125, 6, 146, 25, 188, 52, 109, 53, 130, 137, 174, 30, 95, 46, 241, 181, 102, 40, 43, 195, 164, 82, 176, 214, 253, 72, 217, 103, 60, 212, 42, 109, 233, 55, 149, 166, 63, 129, 100, 101, 51, 120, 137, 155, 230, 211, 205, 239, 143, 228, 144, 230, 21, 3, 94, 123, 65, 1, 240, 137, 89, 206, 117, 121, 46, 123, 231, 186, 41, 146, 35, 117, 179, 169, 224, 206, 241, 56, 172, 248, 151, 204, 101, 217, 200, 124, 124, 190, 145, 94, 187, 115, 108, 94, 226, 213, 143, 81, 46, 55, 186, 243, 209, 104, 232, 207, 36, 221, 189, 211, 147, 68, 167, 83, 238, 17, 170, 26, 36, 184, 111, 170, 13, 42, 214, 92, 28, 213, 121, 50, 219, 235, 158, 248, 190, 33, 210, 70, 246, 87, 126, 37, 92, 192, 37, 20, 187, 178, 69, 251, 15, 237, 95, 77, 234, 175, 226, 74, 137, 79, 116, 129, 99, 104, 43, 33, 126, 217, 132, 77, 116, 251, 153, 93, 219, 56, 223, 232, 155, 227, 178, 198, 59, 54, 4, 239, 212, 213, 140, 159, 193, 56, 196, 131, 66, 159, 193, 21, 140, 139, 13, 211, 207, 238, 226, 197, 249, 134, 105, 243, 235, 22, 239, 216, 40, 253, 28, 47, 87, 108, 60, 152, 81, 181, 227, 125, 25, 222, 230, 144, 59, 46, 150, 55, 123, 46, 249, 146, 179, 6, 195, 173, 162, 80, 96, 36, 126, 118, 151, 35, 206, 55, 18, 155, 95, 137, 120, 199, 70, 226, 221, 188, 0, 81, 90, 71, 161, 1, 183, 86, 55, 168, 26, 223, 110, 248, 25, 76, 206, 119, 97, 152, 7, 198, 242, 10, 111, 48, 156, 111, 212, 53, 190, 183, 240, 142, 13, 186, 230, 183, 20, 126, 122, 19, 53, 120, 59, 225, 98, 3, 226, 179, 188, 145, 112, 193, 245, 225, 103, 116, 15, 225, 156, 75, 195, 198, 183, 15, 222, 177, 65, 247, 9, 239, 26, 12, 207, 100, 139, 12, 167, 229, 223, 44, 184, 240, 157, 130, 119, 248, 54, 193, 197, 198, 108, 227, 219, 3, 249, 160, 253, 76, 46, 14, 252, 122, 101, 32, 19, 219, 133, 47, 11, 92, 217, 53, 129, 190, 243, 98, 254, 187, 1, 181, 30, 12, 93, 11, 168, 90, 125, 189, 185, 185, 25, 167, 249, 77, 56, 48, 173, 193, 157, 124, 115, 14, 138, 155, 93, 234, 53, 127, 39, 206, 125, 5, 159, 31, 95, 89, 119, 239, 222, 29, 231, 64, 212, 211, 183, 164, 107, 246, 60, 134, 213, 223, 173, 247, 25, 112, 236, 222, 42, 175, 210, 11, 108, 43, 212, 220, 159, 247, 25, 112, 108, 53, 215, 229, 9, 203, 141, 196, 120, 226, 237, 87, 216, 186, 160, 146, 166, 236, 17, 230, 70, 66, 111, 76, 195, 52, 61, 253, 62, 154, 186, 226, 219, 102, 169, 83, 139, 185, 156, 194, 66, 241, 155, 212, 128, 93, 83, 241, 23, 112, 1, 75, 18, 67, 79, 38, 63, 187, 2, 150, 12, 227, 108, 2, 68, 227, 199, 240, 116, 253, 154, 19, 105, 63, 118, 146, 150, 224, 4, 61, 56, 23, 98, 55, 162, 136, 102, 109, 199, 96, 134, 167, 173, 205, 31, 230, 84, 180, 203, 100, 173, 234, 1, 236, 105, 218, 187, 56, 179, 25, 60, 18, 118, 149, 159, 229, 249, 243, 36, 112, 71, 157, 162, 235, 185, 220, 208, 127, 110, 55, 244, 69, 27, 230, 27, 217, 200, 55, 244, 196, 182, 242, 69, 189, 200, 217, 194, 0, 170, 146, 77, 138, 150, 214, 90, 184, 203, 109, 189, 234, 126, 119, 135, 9, 173, 103, 165, 44, 131, 43, 214, 179, 96, 10, 45, 129, 202, 91, 245, 185, 147, 60, 39, 117, 68, 7, 201, 1, 45, 74, 202, 216, 50, 112, 8, 144, 136, 165, 87, 217, 112, 188, 25, 46, 69, 104, 10, 23, 160, 194, 118, 147, 134, 146, 93, 38, 146, 251, 147, 76, 12, 249, 231, 193, 162, 109, 102, 184, 93, 190, 19, 60, 75, 218, 160, 236, 220, 92, 129, 24, 19, 143, 10, 13, 214, 130, 2, 216, 83, 193, 158, 107, 209, 95, 90, 191, 181, 13, 191, 34, 196, 237, 176, 129, 132, 246, 36, 67, 147, 93, 199, 39, 27, 189, 200, 174, 165, 22, 8, 192, 51, 185, 191, 117, 97, 189, 174, 138, 20, 239, 146, 226, 81, 136, 9, 205, 162, 88, 81, 178, 235, 151, 12, 141, 234, 160, 156, 171, 32, 21, 65, 155, 21, 45, 24, 211, 152, 123, 140, 116, 46, 158, 83, 13, 183, 255, 8, 219, 134, 0, 69, 170, 8, 116, 79, 96, 28, 26, 29, 238, 71, 21, 195, 253, 200, 139, 223, 33, 144, 196, 215, 57, 7, 188, 174, 25, 25, 248, 45, 7, 205, 214, 95, 102, 104, 225, 233, 227, 12, 60, 96, 208, 175, 85, 169, 22, 62, 90, 150, 212, 15, 186, 163, 154, 225, 134, 44, 225, 107, 55, 9, 90, 208, 58, 252, 39, 158, 204, 181, 225, 79, 135, 163, 233, 253, 109, 56, 210, 226, 198, 65, 209, 188, 178, 146, 16, 29, 222, 110, 7, 180, 5, 24, 74, 204, 105, 226, 209, 27, 12, 102, 181, 68, 244, 128, 118, 231, 5, 218, 245, 129, 114, 0, 36, 155, 8, 131, 247, 58, 138, 101, 140, 221, 162, 45, 218, 216, 74, 53, 141, 20, 163, 77, 173, 239, 220, 206, 80, 159, 149, 236, 56, 38, 45, 9, 190, 135, 82, 204, 164, 253, 155, 16, 176, 147, 113, 214, 19, 74, 220, 168, 15, 231, 124, 52, 156, 73, 79, 71, 197, 40, 23, 99, 255, 69, 42, 86, 87, 164, 142, 24, 221, 144, 59, 242, 181, 92, 217, 110, 150, 242, 237, 27, 24, 226, 166, 9, 212, 18, 69, 127, 54, 200, 4, 137, 197, 224, 67, 246, 143, 162, 184, 104, 15, 241, 141, 96, 173, 250, 242, 251, 44, 43, 167, 157, 36, 187, 18, 32, 132, 173, 250, 60, 31, 229, 195, 217, 240, 100, 154, 78, 103, 165, 188, 235, 87, 159, 178, 192, 146, 162, 4, 86, 20, 212, 254, 163, 40, 167, 10, 242, 225, 112, 92, 76, 204, 183, 112, 27, 100, 144, 56, 176, 54, 75, 108, 45, 121, 28, 195, 66, 115, 27, 173, 15, 60, 67, 63, 74, 7, 210, 2, 121, 248, 227, 207, 10, 176, 225, 53, 131, 205, 152, 46, 95, 137, 193, 247, 244, 74, 226, 11, 108, 45, 219, 25, 254, 37, 26, 131, 52, 0, 32, 145, 111, 52, 225, 241, 100, 16, 138, 82, 47, 125, 68, 84, 93, 99, 249, 136, 166, 102, 8, 84, 29, 229, 73, 132, 82, 15, 210, 192, 143, 242, 64, 127, 13, 117, 55, 241, 201, 136, 33, 134, 14, 148, 195, 81, 111, 48, 235, 103, 30, 26, 10, 194, 154, 55, 21, 189, 86, 131, 47, 144, 158, 211, 129, 192, 254, 84, 62, 56, 3, 119, 199, 160, 154, 81, 74, 144, 255, 246, 27, 220, 86, 109, 210, 227, 110, 217, 247, 131, 66, 80, 34, 89, 240, 212, 152, 150, 18, 242, 166, 255, 205, 241, 59, 211, 172, 163, 94, 89, 157, 199, 20, 115, 145, 210, 88, 30, 192, 84, 84, 244, 107, 188, 206, 137, 58, 138, 114, 69, 209, 215, 33, 36, 173, 175, 11, 30, 109, 202, 207, 47, 244, 189, 225, 180, 19, 133, 54, 198, 149, 108, 132, 208, 224, 231, 56, 173, 193, 226, 117, 228, 6, 43, 173, 142, 98, 161, 10, 38, 17, 106, 189, 79, 113, 74, 189, 162, 117, 84, 122, 21, 24, 133, 97, 253, 87, 173, 95, 179, 77, 174, 97, 43, 71, 117, 236, 217, 90, 227, 72, 0, 154, 122, 148, 176, 145, 236, 106, 212, 115, 71, 63, 116, 92, 252, 27, 226, 195, 70, 48, 65, 198, 48, 253, 189, 100, 250, 123, 197, 116, 108, 204, 48, 251, 61, 103, 182, 166, 98, 164, 24, 142, 133, 95, 191, 127, 195, 13, 3, 244, 130, 227, 81, 167, 150, 202, 72, 214, 130, 131, 80, 247, 234, 53, 151, 149, 183, 53, 63, 133, 244, 188, 82, 58, 90, 115, 77, 12, 54, 165, 179, 186, 129, 73, 70, 176, 75, 206, 94, 70, 32, 70, 217, 37, 159, 85, 149, 65, 164, 254, 9, 239, 240, 233, 202, 247, 105, 253, 64, 115, 74, 2, 101, 159, 183, 237, 248, 194, 179, 128, 240, 197, 157, 217, 118, 66, 235, 147, 21, 79, 112, 46, 66, 141, 102, 58, 70, 89, 163, 105, 46, 164, 16, 108, 163, 85, 154, 96, 34, 45, 60, 85, 146, 169, 0, 52, 91, 54, 117, 107, 187, 90, 41, 225, 17, 61, 162, 207, 240, 19, 81, 111, 158, 17, 141, 204, 227, 38, 38, 149, 174, 128, 148, 18, 126, 249, 100, 116, 146, 127, 27, 133, 99, 90, 253, 184, 246, 25, 204, 147, 192, 80, 151, 111, 116, 98, 8, 241, 205, 208, 10, 57, 113, 243, 209, 57, 20, 124, 148, 40, 66, 144, 242, 207, 114, 2, 173, 99, 69, 64, 133, 230, 204, 224, 190, 157, 201, 40, 225, 243, 145, 193, 124, 83, 34, 99, 112, 15, 221, 165, 224, 119, 226, 35, 135, 6, 167, 83, 91, 223, 163, 58, 30, 167, 189, 236, 251, 214, 71, 222, 234, 199, 144, 108, 48, 133, 196, 65, 111, 78, 168, 14, 233, 120, 13, 83, 10, 234, 89, 99, 199, 96, 100, 134, 8, 116, 167, 153, 201, 2, 154, 212, 42, 3, 110, 5, 97, 63, 206, 80, 199, 211, 69, 233, 157, 54, 146, 62, 129, 88, 186, 38, 210, 132, 178, 237, 38, 66, 113, 213, 92, 36, 42, 4, 67, 46, 119, 45, 74, 32, 12, 233, 240, 52, 63, 159, 21, 179, 178, 21, 212, 114, 182, 120, 20, 76, 40, 191, 142, 46, 230, 202, 78, 197, 136, 244, 196, 44, 212, 52, 60, 65, 135, 142, 143, 151, 158, 31, 1, 61, 14, 91, 127, 249, 243, 207, 32, 51, 9, 8, 162, 5, 66, 112, 200, 103, 223, 198, 243, 241, 35, 108, 37, 108, 223, 241, 202, 125, 140, 40, 152, 128, 229, 199, 17, 226, 251, 148, 165, 146, 242, 254, 175, 18, 77, 194, 27, 199, 240, 210, 190, 30, 185, 105, 230, 74, 72, 129, 246, 88, 75, 38, 0, 240, 122, 221, 205, 169, 37, 69, 246, 133, 214, 151, 106, 120, 133, 205, 76, 179, 166, 134, 146, 86, 109, 152, 87, 214, 44, 84, 168, 145, 194, 128, 153, 241, 162, 182, 60, 13, 225, 172, 226, 217, 216, 27, 198, 150, 37, 204, 25, 160, 65, 205, 70, 166, 175, 92, 159, 0, 60, 33, 101, 198, 90, 143, 41, 50, 202, 128, 100, 151, 215, 97, 186, 76, 23, 140, 43, 147, 97, 80, 137, 24, 91, 223, 46, 109, 245, 35, 47, 123, 170, 144, 143, 70, 75, 22, 151, 51, 29, 143, 87, 198, 48, 116, 112, 176, 50, 77, 187, 223, 17, 29, 233, 98, 55, 250, 217, 133, 29, 202, 23, 67, 36, 199, 91, 149, 196, 224, 74, 198, 155, 133, 144, 191, 178, 59, 65, 110, 234, 98, 68, 114, 75, 25, 147, 25, 150, 120, 183, 70, 92, 78, 42, 167, 58, 38, 29, 254, 28, 167, 52, 208, 141, 4, 98, 135, 107, 118, 5, 146, 233, 62, 28, 109, 212, 8, 138, 9, 178, 238, 202, 128, 34, 208, 112, 189, 65, 6, 207, 211, 81, 57, 155, 100, 178, 202, 211, 209, 135, 124, 82, 140, 32, 32, 44, 86, 187, 99, 27, 115, 0, 237, 245, 251, 78, 195, 90, 186, 71, 106, 85, 109, 108, 59, 3, 43, 64, 49, 149, 213, 208, 116, 179, 130, 102, 2, 210, 92, 134, 149, 43, 97, 80, 173, 122, 205, 70, 31, 146, 216, 57, 119, 141, 152, 190, 113, 144, 207, 6, 162, 38, 107, 30, 157, 17, 56, 32, 48, 18, 180, 108, 167, 240, 91, 7, 136, 16, 231, 124, 143, 59, 72, 67, 130, 143, 85, 99, 98, 47, 131, 37, 69, 1, 33, 237, 40, 121, 170, 5, 202, 255, 158, 244, 140, 4, 84, 0, 126, 97, 136, 35, 206, 176, 65, 155, 230, 163, 48, 214, 43, 65, 49, 24, 140, 85, 17, 138, 245, 143, 116, 212, 31, 168, 33, 112, 136, 121, 211, 166, 57, 238, 9, 29, 164, 249, 64, 12, 14, 167, 171, 99, 158, 29, 109, 130, 86, 187, 112, 186, 15, 72, 144, 79, 179, 26, 15, 121, 13, 79, 191, 90, 156, 179, 246, 156, 91, 22, 55, 243, 231, 180, 188, 246, 91, 68, 75, 71, 182, 30, 236, 10, 5, 54, 123, 112, 147, 145, 218, 131, 254, 231, 251, 18, 75, 43, 3, 149, 251, 63, 108, 245, 212, 187, 32, 54, 3, 79, 77, 125, 8, 145, 213, 18, 255, 103, 249, 232, 2, 20, 136, 102, 56, 86, 180, 253, 105, 115, 76, 67, 83, 84, 24, 35, 203, 169, 222, 69, 157, 229, 49, 148, 203, 168, 222, 133, 103, 110, 32, 135, 24, 115, 66, 22, 123, 189, 196, 58, 202, 57, 118, 151, 43, 197, 86, 238, 34, 131, 177, 25, 232, 34, 23, 139, 166, 99, 38, 100, 121, 144, 105, 79, 229, 213, 6, 198, 210, 238, 219, 9, 169, 69, 51, 6, 184, 177, 93, 219, 143, 120, 228, 133, 142, 139, 185, 37, 112, 187, 250, 243, 131, 234, 207, 15, 93, 249, 213, 199, 49, 0, 47, 74, 181, 143, 219, 61, 220, 215, 111, 38, 248, 49, 181, 212, 109, 172, 150, 36, 163, 154, 170, 36, 90, 90, 157, 88, 138, 110, 8, 170, 158, 160, 210, 22, 216, 0, 116, 246, 38, 136, 59, 195, 253, 82, 229, 225, 229, 37, 43, 253, 188, 162, 108, 62, 193, 160, 81, 183, 154, 24, 151, 220, 41, 225, 239, 2, 65, 205, 134, 14, 14, 93, 188, 195, 220, 20, 250, 196, 88, 64, 130, 57, 124, 71, 146, 131, 246, 99, 237, 79, 189, 225, 110, 193, 86, 142, 239, 218, 254, 111, 224, 13, 145, 81, 125, 211, 119, 111, 135, 185, 49, 140, 251, 103, 229, 222, 168, 39, 24, 10, 225, 169, 112, 20, 109, 94, 103, 143, 67, 131, 11, 111, 45, 98, 216, 177, 137, 13, 2, 99, 243, 116, 144, 255, 65, 13, 58, 71, 32, 185, 10, 34, 67, 211, 109, 145, 108, 3, 192, 55, 137, 69, 68, 210, 116, 48, 130, 254, 214, 47, 188, 157, 1, 71, 176, 188, 48, 73, 180, 169, 222, 142, 139, 177, 146, 10, 71, 209, 187, 90, 192, 149, 164, 109, 102, 95, 171, 224, 67, 167, 213, 123, 134, 160, 208, 74, 79, 169, 45, 166, 130, 3, 236, 108, 83, 195, 52, 96, 10, 124, 54, 110, 249, 155, 56, 0, 2, 123, 220, 90, 154, 238, 85, 123, 1, 28, 185, 144, 167, 243, 205, 119, 169, 251, 173, 122, 209, 239, 133, 73, 198, 9, 106, 113, 28, 26, 140, 182, 108, 115, 32, 180, 247, 139, 217, 240, 20, 130, 163, 179, 205, 158, 0, 61, 28, 201, 191, 35, 99, 203, 174, 118, 170, 22, 74, 164, 219, 135, 225, 238, 30, 54, 235, 230, 97, 195, 238, 205, 49, 158, 147, 21, 191, 169, 167, 58, 135, 32, 197, 27, 251, 170, 187, 142, 40, 0, 212, 6, 155, 39, 13, 86, 250, 156, 28, 71, 53, 72, 239, 139, 183, 108, 22, 61, 39, 9, 51, 219, 103, 225, 53, 126, 112, 53, 190, 68, 87, 251, 28, 156, 228, 12, 11, 120, 216, 230, 27, 92, 240, 204, 49, 192, 134, 106, 96, 113, 44, 26, 226, 143, 140, 38, 3, 12, 254, 142, 12, 49, 100, 186, 71, 90, 196, 71, 94, 235, 39, 130, 167, 129, 4, 121, 94, 124, 7, 33, 120, 106, 93, 70, 30, 144, 184, 215, 8, 30, 41, 152, 50, 120, 176, 74, 42, 125, 176, 141, 120, 30, 230, 152, 203, 232, 216, 214, 198, 157, 64, 46, 168, 118, 201, 178, 91, 246, 133, 30, 119, 191, 101, 189, 65, 42, 163, 90, 75, 171, 125, 201, 132, 221, 88, 216, 225, 30, 33, 237, 84, 3, 169, 133, 139, 205, 65, 86, 195, 94, 47, 226, 252, 50, 14, 99, 182, 155, 228, 238, 123, 17, 103, 25, 160, 32, 71, 128, 53, 184, 236, 45, 70, 106, 204, 217, 149, 16, 41, 15, 167, 88, 77, 107, 191, 36, 15, 127, 252, 33, 121, 36, 254, 251, 80, 194, 129, 94, 109, 84, 235, 1, 214, 186, 79, 220, 23, 89, 89, 166, 231, 106, 152, 32, 139, 158, 203, 55, 109, 2, 102, 45, 89, 79, 90, 143, 146, 150, 248, 7, 184, 228, 16, 4, 243, 137, 140, 86, 151, 86, 217, 245, 104, 154, 94, 113, 110, 83, 174, 118, 116, 155, 170, 251, 217, 226, 56, 232, 142, 4, 231, 87, 234, 118, 97, 184, 115, 148, 245, 86, 237, 143, 124, 192, 229, 68, 102, 213, 175, 106, 171, 35, 209, 11, 132, 19, 133, 214, 193, 145, 164, 52, 31, 43, 215, 175, 15, 27, 173, 72, 31, 104, 76, 2, 254, 49, 133, 250, 167, 113, 142, 233, 198, 181, 103, 76, 157, 87, 44, 95, 21, 227, 103, 217, 135, 108, 176, 119, 153, 230, 194, 60, 129, 179, 86, 176, 16, 61, 12, 126, 104, 19, 235, 169, 145, 91, 237, 30, 122, 45, 190, 253, 54, 226, 150, 184, 135, 94, 139, 202, 207, 158, 215, 162, 161, 215, 173, 151, 142, 211, 211, 124, 144, 79, 175, 233, 73, 56, 139, 103, 152, 114, 158, 212, 40, 224, 98, 97, 135, 73, 52, 7, 132, 24, 239, 95, 247, 132, 49, 86, 20, 83, 215, 225, 244, 209, 135, 55, 85, 13, 239, 27, 20, 3, 113, 24, 209, 178, 46, 96, 70, 168, 28, 230, 175, 188, 74, 28, 171, 5, 124, 147, 118, 216, 197, 220, 147, 77, 25, 75, 4, 127, 175, 188, 30, 245, 52, 100, 227, 48, 243, 236, 34, 137, 129, 79, 148, 50, 173, 124, 23, 31, 183, 87, 216, 73, 15, 242, 135, 154, 195, 110, 211, 171, 234, 28, 58, 169, 212, 107, 86, 145, 248, 68, 133, 93, 166, 107, 205, 129, 51, 165, 25, 245, 211, 52, 233, 202, 120, 231, 160, 82, 139, 181, 20, 176, 115, 60, 31, 44, 233, 36, 58, 117, 244, 200, 80, 8, 59, 96, 227, 194, 202, 124, 176, 55, 82, 129, 177, 185, 229, 27, 78, 78, 221, 28, 89, 5, 236, 129, 167, 249, 137, 171, 54, 92, 229, 126, 85, 149, 157, 106, 7, 237, 253, 219, 112, 208, 54, 144, 170, 106, 136, 219, 91, 100, 71, 68, 194, 252, 139, 59, 125, 249, 226, 186, 161, 3, 152, 250, 223, 2, 14, 96, 50, 130, 110, 221, 7, 124, 255, 139, 244, 1, 251, 250, 174, 169, 134, 13, 120, 99, 153, 193, 193, 191, 58, 75, 54, 103, 198, 169, 226, 60, 55, 140, 229, 83, 163, 196, 42, 155, 166, 115, 112, 108, 223, 175, 169, 177, 224, 219, 10, 78, 211, 62, 234, 149, 82, 211, 168, 167, 133, 170, 105, 84, 78, 137, 19, 220, 229, 44, 48, 67, 68, 127, 203, 240, 102, 231, 17, 28, 131, 20, 107, 178, 174, 231, 109, 216, 27, 67, 1, 44, 251, 50, 157, 100, 35, 197, 96, 111, 180, 85, 218, 54, 110, 152, 239, 28, 54, 109, 20, 217, 39, 201, 22, 172, 65, 84, 177, 20, 190, 175, 49, 147, 48, 159, 70, 204, 54, 62, 190, 235, 218, 9, 28, 21, 126, 122, 149, 245, 102, 211, 12, 203, 42, 118, 120, 160, 53, 241, 222, 120, 82, 149, 195, 245, 180, 169, 199, 234, 84, 212, 8, 237, 254, 222, 112, 235, 165, 167, 199, 171, 153, 88, 170, 180, 250, 167, 220, 154, 121, 224, 148, 63, 137, 43, 155, 142, 37, 107, 5, 251, 57, 127, 23, 250, 58, 155, 144, 49, 178, 95, 12, 199, 130, 87, 196, 159, 4, 49, 118, 89, 239, 89, 94, 170, 227, 68, 200, 43, 236, 48, 59, 53, 127, 99, 146, 91, 80, 161, 166, 163, 14, 102, 92, 158, 134, 109, 104, 167, 255, 96, 105, 43, 18, 124, 237, 183, 102, 151, 174, 201, 67, 186, 176, 173, 57, 47, 38, 105, 16, 195, 157, 40, 50, 163, 186, 205, 143, 136, 74, 171, 214, 82, 117, 90, 108, 24, 31, 163, 27, 68, 113, 201, 128, 144, 230, 195, 57, 38, 149, 179, 242, 29, 39, 152, 171, 141, 123, 67, 95, 231, 36, 180, 147, 171, 133, 194, 130, 14, 233, 12, 170, 46, 165, 193, 136, 185, 54, 195, 241, 158, 46, 211, 12, 206, 238, 135, 118, 218, 73, 78, 49, 123, 91, 42, 113, 183, 170, 241, 101, 81, 78, 143, 38, 144, 208, 104, 35, 57, 141, 126, 68, 84, 205, 65, 62, 217, 10, 29, 7, 113, 189, 104, 197, 61, 162, 204, 8, 20, 233, 40, 124, 155, 151, 7, 185, 208, 225, 89, 123, 52, 27, 210, 68, 80, 58, 190, 122, 54, 148, 135, 29, 71, 88, 188, 229, 173, 39, 72, 82, 1, 115, 98, 100, 40, 200, 131, 255, 162, 16, 132, 27, 125, 145, 190, 88, 110, 139, 50, 250, 124, 24, 110, 77, 231, 27, 31, 41, 231, 104, 168, 81, 112, 190, 54, 109, 23, 179, 102, 72, 152, 184, 182, 87, 182, 228, 116, 34, 90, 214, 141, 184, 24, 158, 98, 175, 155, 90, 113, 214, 156, 136, 49, 253, 233, 16, 198, 243, 173, 46, 182, 78, 188, 79, 180, 35, 54, 218, 237, 237, 228, 251, 239, 147, 135, 194, 102, 7, 101, 145, 60, 222, 53, 48, 190, 253, 214, 252, 20, 111, 89, 57, 174, 229, 7, 197, 105, 58, 176, 34, 66, 232, 87, 173, 48, 33, 122, 85, 200, 63, 117, 209, 181, 48, 48, 43, 228, 21, 240, 84, 161, 106, 144, 210, 59, 43, 212, 252, 209, 229, 72, 175, 41, 127, 203, 202, 222, 36, 31, 139, 249, 191, 212, 87, 0, 75, 158, 23, 167, 112, 2, 249, 85, 97, 50, 236, 216, 238, 184, 200, 174, 75, 213, 23, 199, 217, 217, 64, 124, 126, 91, 92, 142, 254, 41, 222, 182, 245, 205, 225, 42, 243, 139, 5, 14, 249, 98, 62, 146, 245, 166, 236, 86, 149, 224, 185, 35, 230, 56, 216, 234, 4, 192, 118, 165, 137, 95, 31, 195, 167, 29, 63, 129, 51, 77, 173, 4, 213, 100, 26, 102, 39, 153, 18, 180, 47, 190, 87, 211, 221, 198, 107, 177, 5, 12, 71, 127, 43, 113, 69, 24, 247, 156, 19, 26, 76, 113, 6, 22, 234, 132, 112, 149, 35, 9, 222, 132, 108, 5, 82, 50, 220, 87, 2, 230, 180, 0, 92, 142, 206, 236, 109, 238, 228, 204, 140, 237, 131, 115, 94, 216, 116, 157, 186, 239, 222, 3, 126, 88, 62, 189, 154, 102, 163, 50, 135, 164, 100, 62, 104, 118, 89, 60, 140, 1, 218, 86, 238, 214, 13, 192, 127, 59, 45, 158, 193, 110, 94, 118, 50, 157, 128, 113, 29, 79, 230, 84, 113, 55, 217, 209, 230, 180, 144, 245, 229, 189, 206, 126, 43, 24, 174, 44, 232, 117, 208, 55, 228, 171, 36, 133, 126, 197, 119, 105, 73, 4, 162, 253, 47, 7, 128, 252, 220, 254, 151, 220, 125, 224, 16, 254, 38, 65, 32, 187, 69, 31, 65, 178, 189, 5, 58, 70, 238, 137, 132, 51, 210, 120, 13, 168, 196, 52, 111, 223, 142, 225, 221, 219, 183, 44, 35, 13, 45, 126, 34, 241, 193, 98, 14, 82, 158, 37, 163, 56, 81, 42, 4, 245, 70, 139, 172, 91, 139, 216, 137, 70, 172, 140, 34, 38, 75, 203, 17, 162, 16, 147, 123, 159, 37, 254, 225, 40, 28, 81, 148, 234, 28, 147, 94, 210, 207, 161, 167, 170, 71, 243, 231, 109, 255, 32, 209, 154, 194, 236, 194, 52, 151, 104, 128, 158, 192, 146, 67, 187, 68, 9, 195, 99, 97, 222, 55, 53, 71, 5, 191, 149, 152, 37, 168, 149, 252, 34, 144, 214, 130, 36, 244, 32, 210, 184, 150, 60, 162, 167, 83, 36, 15, 140, 180, 73, 106, 149, 114, 216, 186, 218, 222, 18, 107, 85, 241, 239, 86, 87, 254, 179, 29, 180, 116, 33, 134, 69, 179, 174, 131, 209, 248, 33, 193, 150, 45, 253, 157, 114, 251, 252, 102, 220, 62, 111, 194, 237, 243, 47, 141, 219, 231, 138, 207, 146, 235, 49, 110, 63, 43, 138, 139, 217, 152, 200, 118, 99, 46, 127, 98, 22, 177, 229, 56, 153, 45, 99, 243, 164, 78, 11, 77, 120, 233, 204, 152, 56, 199, 5, 14, 206, 194, 123, 72, 22, 246, 173, 100, 189, 127, 30, 143, 204, 133, 175, 183, 157, 141, 38, 63, 84, 93, 127, 177, 222, 35, 195, 230, 10, 173, 43, 203, 152, 3, 8, 106, 29, 173, 106, 154, 99, 191, 209, 14, 254, 251, 215, 14, 94, 82, 7, 119, 239, 90, 7, 87, 27, 134, 99, 203, 100, 218, 241, 205, 121, 201, 65, 16, 5, 139, 220, 116, 87, 38, 14, 27, 48, 143, 240, 116, 58, 41, 247, 70, 125, 149, 232, 80, 49, 219, 2, 98, 223, 161, 11, 186, 91, 204, 127, 193, 238, 9, 183, 242, 128, 185, 27, 85, 143, 112, 253, 119, 57, 201, 167, 160, 247, 31, 37, 247, 238, 249, 208, 183, 30, 172, 241, 226, 153, 144, 87, 153, 104, 56, 82, 161, 235, 84, 232, 21, 163, 179, 252, 124, 86, 85, 101, 155, 84, 97, 185, 71, 120, 236, 141, 165, 73, 8, 67, 128, 154, 210, 188, 221, 38, 111, 231, 66, 120, 14, 100, 63, 6, 132, 235, 104, 162, 196, 213, 159, 145, 152, 96, 116, 176, 155, 243, 211, 217, 20, 220, 104, 160, 29, 122, 83, 186, 120, 190, 199, 204, 241, 232, 76, 28, 186, 15, 65, 217, 255, 80, 154, 52, 72, 180, 18, 125, 27, 81, 78, 94, 17, 95, 71, 249, 80, 34, 170, 138, 141, 168, 71, 177, 209, 97, 232, 181, 124, 113, 201, 22, 244, 1, 229, 47, 138, 169, 42, 186, 69, 185, 184, 230, 140, 32, 185, 208, 20, 86, 189, 190, 191, 199, 113, 50, 168, 140, 182, 114, 214, 87, 153, 65, 180, 177, 197, 18, 133, 0, 122, 45, 43, 67, 45, 177, 56, 165, 205, 26, 28, 101, 171, 127, 238, 146, 143, 155, 182, 154, 96, 11, 26, 32, 143, 224, 159, 159, 8, 100, 42, 112, 115, 193, 166, 21, 37, 244, 109, 132, 222, 221, 34, 208, 145, 74, 23, 44, 25, 71, 6, 48, 170, 17, 186, 156, 150, 76, 35, 237, 177, 91, 95, 18, 202, 89, 247, 156, 40, 182, 172, 181, 202, 2, 141, 135, 168, 213, 224, 36, 165, 15, 144, 210, 237, 45, 175, 85, 209, 157, 205, 26, 220, 166, 13, 26, 33, 32, 13, 158, 103, 78, 174, 216, 128, 133, 12, 195, 65, 213, 133, 33, 96, 207, 152, 50, 253, 231, 140, 217, 31, 182, 165, 245, 204, 115, 112, 33, 246, 229, 66, 216, 151, 1, 236, 203, 42, 236, 75, 139, 125, 185, 16, 246, 101, 8, 123, 137, 158, 182, 9, 220, 19, 199, 230, 99, 215, 53, 24, 156, 6, 212, 173, 137, 242, 81, 122, 191, 145, 50, 45, 59, 198, 132, 215, 75, 38, 165, 87, 93, 76, 181, 232, 186, 72, 114, 53, 76, 191, 24, 252, 219, 100, 21, 33, 255, 121, 32, 179, 77, 123, 54, 80, 176, 36, 43, 245, 111, 175, 78, 192, 181, 228, 211, 202, 175, 72, 178, 143, 119, 104, 91, 63, 161, 45, 236, 57, 25, 171, 148, 165, 210, 145, 62, 87, 231, 4, 71, 82, 72, 147, 159, 6, 110, 100, 137, 219, 104, 50, 101, 147, 232, 77, 230, 100, 92, 0, 54, 72, 51, 165, 94, 11, 96, 1, 196, 33, 47, 181, 58, 57, 131, 215, 51, 240, 189, 58, 233, 115, 101, 126, 82, 249, 97, 12, 73, 187, 99, 87, 60, 84, 92, 239, 0, 245, 26, 92, 237, 32, 75, 111, 158, 89, 228, 232, 77, 15, 81, 33, 212, 201, 164, 199, 50, 197, 115, 72, 0, 194, 92, 248, 135, 116, 173, 29, 117, 146, 151, 13, 92, 206, 220, 31, 247, 82, 26, 52, 12, 170, 192, 107, 152, 151, 217, 91, 117, 73, 87, 187, 24, 29, 200, 95, 20, 250, 88, 22, 242, 194, 124, 9, 183, 100, 137, 184, 117, 117, 95, 240, 74, 181, 213, 18, 63, 85, 115, 240, 83, 78, 171, 196, 228, 216, 23, 237, 168, 148, 210, 228, 254, 16, 221, 68, 39, 177, 119, 40, 209, 207, 6, 186, 54, 216, 118, 44, 196, 233, 187, 76, 147, 213, 145, 145, 158, 234, 175, 176, 207, 198, 242, 128, 138, 7, 1, 34, 16, 52, 101, 108, 103, 83, 192, 126, 9, 47, 86, 161, 77, 0, 174, 129, 77, 165, 189, 139, 31, 92, 125, 170, 201, 48, 233, 201, 13, 232, 182, 163, 187, 120, 103, 41, 142, 232, 8, 217, 253, 142, 130, 224, 84, 170, 112, 33, 43, 88, 155, 128, 106, 39, 49, 61, 96, 80, 21, 88, 234, 234, 210, 164, 73, 62, 18, 224, 36, 69, 94, 155, 50, 135, 81, 59, 201, 210, 178, 24, 125, 62, 228, 202, 96, 40, 137, 117, 144, 92, 39, 76, 181, 113, 43, 81, 33, 229, 3, 86, 6, 119, 195, 238, 48, 40, 68, 92, 42, 63, 203, 47, 178, 131, 98, 34, 108, 250, 146, 110, 70, 144, 1, 32, 247, 136, 94, 21, 207, 112, 131, 8, 10, 169, 189, 34, 178, 108, 128, 50, 79, 146, 246, 195, 173, 173, 228, 251, 68, 88, 22, 91, 238, 96, 38, 247, 49, 119, 187, 93, 50, 96, 7, 114, 83, 222, 236, 239, 3, 168, 53, 119, 195, 138, 164, 237, 196, 93, 169, 245, 117, 11, 62, 160, 38, 7, 24, 24, 144, 163, 198, 130, 192, 12, 166, 207, 224, 163, 115, 54, 68, 250, 53, 210, 241, 88, 72, 201, 52, 157, 156, 67, 102, 82, 117, 227, 198, 76, 30, 168, 54, 183, 203, 97, 96, 0, 95, 31, 154, 161, 47, 171, 206, 119, 185, 140, 174, 19, 92, 129, 177, 70, 169, 148, 187, 171, 207, 159, 133, 42, 252, 63, 172, 248, 255, 1, 237, 168, 40, 219, 68, 202, 90, 209, 32, 142, 87, 197, 73, 49, 155, 244, 50, 183, 193, 136, 72, 178, 157, 12, 253, 135, 228, 158, 166, 167, 154, 125, 65, 238, 247, 180, 58, 54, 61, 192, 42, 37, 46, 211, 137, 246, 174, 229, 123, 183, 142, 239, 242, 74, 167, 203, 87, 248, 146, 120, 120, 220, 235, 22, 159, 36, 219, 180, 27, 76, 149, 132, 222, 63, 184, 237, 100, 66, 117, 176, 53, 149, 170, 13, 4, 15, 233, 237, 78, 66, 170, 70, 230, 5, 138, 209, 148, 80, 243, 113, 149, 226, 101, 186, 238, 102, 34, 134, 30, 3, 161, 134, 192, 67, 114, 88, 190, 76, 123, 23, 89, 95, 170, 4, 103, 244, 137, 229, 18, 123, 163, 123, 7, 130, 4, 130, 26, 72, 61, 191, 240, 106, 238, 231, 71, 117, 234, 209, 149, 98, 168, 84, 94, 230, 120, 246, 3, 16, 215, 106, 209, 112, 178, 151, 138, 206, 217, 122, 228, 90, 174, 134, 95, 174, 114, 215, 146, 111, 251, 121, 135, 66, 234, 222, 0, 18, 14, 167, 82, 152, 141, 28, 228, 246, 50, 64, 170, 31, 93, 7, 246, 253, 165, 194, 86, 63, 182, 157, 70, 30, 172, 166, 17, 245, 227, 190, 211, 218, 195, 21, 183, 166, 126, 60, 112, 154, 253, 225, 182, 154, 85, 63, 30, 58, 237, 255, 120, 235, 237, 171, 31, 63, 56, 136, 252, 244, 233, 16, 81, 63, 126, 116, 48, 250, 249, 14, 96, 164, 126, 252, 228, 160, 214, 189, 137, 230, 89, 58, 110, 234, 199, 207, 46, 146, 75, 81, 106, 75, 71, 82, 3, 116, 245, 101, 119, 185, 10, 115, 249, 232, 234, 95, 68, 25, 171, 84, 221, 30, 226, 198, 40, 169, 195, 216, 204, 210, 1, 179, 173, 63, 191, 71, 72, 53, 127, 19, 159, 16, 110, 33, 132, 237, 200, 243, 216, 174, 162, 38, 46, 176, 177, 232, 156, 162, 118, 173, 179, 6, 123, 61, 220, 156, 100, 20, 70, 183, 57, 67, 8, 5, 73, 122, 151, 150, 243, 99, 95, 103, 206, 201, 114, 204, 142, 19, 237, 52, 176, 224, 56, 169, 108, 117, 64, 183, 162, 242, 145, 49, 64, 195, 189, 20, 34, 201, 181, 242, 111, 78, 19, 248, 247, 23, 163, 169, 201, 2, 64, 209, 45, 119, 196, 145, 136, 147, 25, 94, 208, 235, 147, 70, 214, 51, 214, 136, 97, 220, 147, 149, 94, 147, 58, 252, 118, 238, 191, 29, 103, 231, 79, 175, 198, 7, 131, 244, 188, 116, 130, 223, 192, 116, 62, 174, 240, 176, 29, 87, 75, 243, 177, 201, 212, 35, 108, 228, 22, 252, 219, 18, 214, 176, 218, 95, 60, 38, 107, 36, 227, 85, 105, 181, 108, 51, 199, 32, 56, 135, 163, 126, 222, 163, 59, 101, 170, 232, 58, 220, 21, 192, 10, 159, 99, 128, 109, 176, 224, 57, 43, 152, 159, 143, 138, 73, 182, 47, 212, 110, 176, 112, 206, 10, 15, 197, 235, 28, 82, 80, 4, 203, 14, 89, 217, 126, 49, 221, 27, 132, 49, 40, 89, 193, 217, 40, 239, 21, 125, 154, 147, 149, 20, 157, 177, 162, 229, 52, 239, 93, 92, 7, 97, 94, 183, 152, 86, 208, 55, 238, 133, 130, 252, 188, 30, 86, 209, 135, 103, 240, 134, 71, 30, 202, 162, 175, 10, 29, 228, 249, 205, 237, 74, 194, 56, 5, 244, 164, 99, 72, 161, 32, 152, 128, 163, 137, 148, 66, 188, 121, 25, 124, 197, 245, 100, 235, 63, 33, 235, 136, 134, 184, 174, 254, 198, 130, 85, 108, 122, 101, 2, 84, 91, 58, 86, 149, 177, 104, 175, 255, 33, 29, 245, 84, 20, 44, 158, 168, 106, 159, 232, 83, 167, 220, 203, 197, 157, 93, 120, 26, 62, 57, 209, 1, 209, 134, 137, 50, 48, 122, 61, 233, 38, 79, 118, 85, 185, 240, 89, 105, 40, 67, 120, 144, 79, 208, 195, 229, 185, 78, 36, 98, 111, 123, 239, 210, 201, 190, 144, 178, 61, 161, 47, 78, 252, 179, 206, 178, 250, 227, 100, 235, 234, 183, 159, 182, 240, 96, 157, 124, 243, 4, 222, 252, 122, 112, 208, 4, 133, 82, 204, 86, 24, 195, 50, 15, 14, 228, 208, 33, 238, 201, 73, 24, 136, 200, 190, 68, 68, 189, 66, 76, 14, 234, 49, 113, 222, 110, 59, 19, 3, 116, 233, 115, 240, 92, 182, 101, 24, 4, 213, 109, 147, 171, 10, 145, 158, 92, 85, 203, 244, 228, 170, 74, 168, 39, 87, 68, 94, 79, 168, 172, 42, 52, 108, 147, 144, 138, 11, 177, 196, 52, 41, 71, 227, 105, 62, 204, 255, 64, 207, 31, 160, 224, 4, 125, 105, 209, 175, 185, 31, 117, 114, 229, 95, 144, 42, 53, 164, 168, 123, 239, 94, 91, 130, 81, 225, 46, 220, 175, 164, 20, 105, 192, 249, 125, 38, 72, 252, 111, 169, 187, 92, 40, 93, 247, 198, 27, 213, 43, 146, 50, 121, 248, 1, 123, 65, 144, 135, 200, 157, 116, 40, 184, 192, 153, 40, 7, 132, 218, 93, 129, 211, 68, 166, 190, 178, 214, 108, 45, 86, 3, 155, 19, 204, 184, 124, 153, 78, 223, 201, 58, 174, 29, 20, 43, 70, 173, 133, 201, 85, 96, 106, 33, 205, 196, 48, 10, 49, 76, 192, 82, 186, 95, 137, 238, 213, 230, 32, 45, 167, 135, 250, 224, 132, 173, 185, 71, 82, 159, 160, 23, 209, 126, 174, 184, 15, 219, 204, 163, 213, 168, 105, 218, 116, 113, 239, 46, 101, 67, 98, 123, 164, 207, 207, 253, 34, 5, 253, 81, 178, 199, 133, 106, 136, 236, 155, 78, 168, 132, 75, 184, 212, 41, 20, 116, 167, 239, 137, 21, 65, 199, 0, 112, 79, 233, 26, 184, 16, 123, 228, 37, 107, 67, 157, 74, 88, 103, 182, 17, 40, 75, 93, 145, 228, 220, 166, 157, 243, 75, 68, 171, 91, 80, 130, 114, 91, 217, 232, 30, 46, 176, 35, 155, 245, 221, 19, 179, 250, 33, 64, 244, 82, 64, 40, 22, 18, 21, 59, 243, 156, 120, 83, 79, 115, 49, 66, 164, 133, 85, 168, 112, 14, 177, 183, 70, 154, 26, 202, 19, 37, 80, 66, 219, 212, 90, 221, 136, 20, 163, 33, 32, 132, 166, 224, 202, 68, 111, 21, 50, 164, 155, 182, 159, 159, 232, 142, 139, 70, 223, 238, 53, 23, 193, 202, 25, 134, 47, 141, 100, 193, 208, 20, 24, 62, 203, 39, 203, 99, 224, 174, 140, 159, 85, 138, 218, 132, 242, 182, 91, 178, 72, 139, 27, 103, 164, 30, 6, 252, 18, 156, 200, 167, 53, 122, 82, 57, 73, 84, 45, 153, 215, 175, 151, 113, 66, 58, 73, 109, 69, 252, 180, 9, 39, 89, 177, 111, 229, 75, 121, 208, 5, 144, 120, 11, 10, 51, 48, 69, 28, 103, 227, 1, 100, 109, 44, 149, 93, 56, 145, 127, 179, 24, 163, 187, 97, 78, 84, 13, 120, 57, 33, 73, 194, 210, 129, 162, 9, 179, 9, 153, 157, 70, 70, 152, 99, 106, 254, 86, 136, 66, 58, 171, 64, 178, 209, 37, 52, 122, 80, 249, 90, 214, 194, 228, 147, 132, 215, 150, 6, 72, 63, 217, 21, 114, 151, 143, 132, 0, 82, 66, 250, 14, 156, 183, 161, 102, 236, 58, 252, 179, 176, 188, 208, 90, 175, 226, 48, 45, 168, 59, 255, 73, 242, 112, 107, 203, 187, 240, 158, 226, 148, 13, 178, 225, 175, 105, 169, 211, 55, 170, 191, 14, 138, 201, 179, 116, 120, 218, 79, 99, 253, 227, 54, 104, 228, 91, 195, 11, 38, 143, 181, 194, 224, 89, 133, 138, 32, 193, 124, 141, 131, 153, 104, 36, 45, 124, 188, 117, 100, 63, 44, 124, 51, 163, 122, 12, 182, 97, 202, 62, 122, 111, 253, 55, 149, 180, 192, 106, 168, 9, 29, 78, 251, 126, 54, 91, 79, 204, 33, 148, 115, 35, 120, 231, 69, 37, 66, 39, 179, 211, 114, 186, 50, 206, 186, 88, 214, 146, 165, 229, 20, 214, 125, 63, 158, 157, 157, 69, 103, 185, 0, 53, 39, 239, 138, 201, 148, 24, 81, 115, 240, 183, 146, 69, 115, 194, 227, 249, 130, 252, 17, 26, 111, 24, 143, 209, 206, 33, 43, 142, 154, 136, 137, 68, 227, 6, 27, 201, 66, 188, 71, 235, 251, 175, 178, 113, 232, 189, 166, 228, 86, 1, 106, 2, 35, 176, 44, 212, 66, 196, 86, 124, 49, 54, 212, 143, 5, 175, 223, 131, 172, 139, 153, 20, 203, 193, 162, 9, 14, 196, 143, 71, 102, 35, 179, 184, 141, 173, 89, 137, 181, 23, 158, 161, 234, 150, 184, 200, 255, 224, 218, 197, 70, 103, 72, 155, 189, 116, 215, 49, 199, 230, 245, 109, 174, 124, 147, 228, 116, 146, 165, 23, 149, 203, 7, 133, 112, 199, 224, 8, 23, 161, 123, 129, 125, 104, 27, 185, 190, 131, 64, 3, 243, 44, 163, 63, 199, 165, 49, 9, 195, 233, 245, 102, 195, 217, 32, 157, 102, 253, 99, 215, 229, 47, 99, 165, 174, 166, 114, 235, 228, 101, 81, 230, 42, 97, 62, 189, 171, 205, 137, 218, 211, 236, 247, 242, 24, 26, 113, 80, 61, 197, 242, 157, 98, 75, 251, 233, 88, 40, 133, 76, 39, 190, 144, 25, 248, 210, 171, 182, 229, 150, 92, 128, 234, 216, 155, 141, 164, 203, 51, 202, 154, 94, 195, 76, 137, 149, 157, 102, 138, 62, 211, 94, 96, 85, 49, 184, 152, 29, 91, 210, 25, 102, 44, 81, 224, 171, 66, 39, 102, 161, 11, 229, 53, 163, 65, 214, 124, 100, 71, 16, 193, 57, 126, 97, 116, 11, 236, 25, 57, 19, 139, 183, 58, 208, 110, 225, 122, 3, 132, 0, 53, 163, 16, 50, 80, 97, 14, 164, 171, 99, 251, 85, 33, 220, 209, 60, 192, 49, 170, 105, 94, 212, 172, 51, 221, 57, 183, 254, 14, 62, 205, 148, 186, 46, 29, 204, 140, 143, 226, 10, 125, 216, 221, 73, 70, 16, 66, 102, 80, 220, 129, 69, 122, 200, 126, 131, 222, 177, 30, 140, 145, 115, 174, 22, 30, 232, 36, 44, 85, 113, 158, 71, 63, 70, 34, 161, 66, 165, 61, 134, 194, 145, 14, 179, 62, 25, 19, 74, 170, 206, 39, 197, 108, 92, 250, 126, 10, 94, 188, 6, 27, 115, 2, 128, 213, 242, 44, 51, 42, 63, 180, 19, 99, 22, 151, 25, 39, 79, 118, 3, 138, 195, 101, 176, 175, 122, 214, 197, 2, 25, 12, 33, 100, 210, 73, 39, 0, 99, 46, 241, 49, 232, 108, 4, 177, 89, 15, 15, 59, 120, 130, 90, 207, 128, 91, 167, 170, 35, 172, 90, 177, 71, 124, 32, 102, 59, 233, 196, 115, 226, 120, 220, 96, 190, 153, 0, 175, 106, 89, 101, 220, 14, 65, 242, 3, 22, 208, 202, 148, 195, 205, 116, 193, 156, 182, 84, 207, 14, 25, 106, 187, 232, 215, 70, 225, 171, 73, 44, 96, 75, 244, 12, 182, 188, 18, 152, 20, 138, 11, 110, 220, 122, 51, 181, 162, 240, 136, 168, 148, 38, 170, 68, 213, 142, 105, 146, 57, 137, 33, 181, 173, 69, 208, 64, 239, 212, 250, 63, 124, 133, 180, 203, 104, 114, 52, 129, 14, 173, 53, 156, 243, 117, 177, 27, 96, 171, 31, 147, 139, 40, 224, 195, 50, 180, 203, 51, 84, 102, 92, 156, 172, 121, 62, 6, 55, 234, 118, 126, 240, 230, 143, 110, 163, 182, 182, 151, 214, 150, 249, 99, 187, 81, 195, 247, 87, 211, 176, 249, 227, 126, 35, 44, 30, 220, 2, 22, 230, 143, 7, 213, 40, 133, 14, 107, 206, 57, 144, 198, 86, 171, 46, 8, 225, 196, 89, 81, 84, 77, 231, 206, 224, 152, 179, 165, 216, 148, 239, 237, 242, 18, 37, 83, 115, 20, 132, 251, 41, 200, 249, 82, 221, 186, 31, 111, 213, 144, 62, 87, 25, 85, 26, 46, 1, 215, 130, 152, 210, 112, 154, 204, 167, 120, 153, 15, 97, 12, 157, 197, 106, 28, 45, 13, 230, 41, 23, 157, 208, 220, 122, 224, 106, 76, 54, 189, 70, 241, 9, 156, 211, 26, 249, 234, 89, 249, 228, 55, 104, 48, 72, 67, 77, 222, 80, 81, 215, 40, 233, 144, 130, 174, 28, 210, 102, 89, 86, 49, 56, 67, 106, 185, 41, 80, 245, 179, 82, 29, 135, 84, 241, 2, 240, 213, 207, 74, 5, 28, 82, 190, 55, 107, 74, 253, 172, 84, 184, 33, 101, 187, 180, 86, 213, 207, 10, 245, 234, 122, 27, 2, 182, 25, 51, 161, 182, 106, 77, 168, 157, 134, 26, 118, 212, 177, 38, 22, 83, 15, 213, 181, 204, 48, 88, 7, 231, 130, 163, 214, 27, 87, 221, 182, 250, 124, 14, 93, 215, 24, 252, 253, 176, 18, 103, 234, 111, 201, 202, 59, 18, 60, 177, 136, 251, 159, 152, 234, 77, 162, 151, 230, 14, 190, 184, 137, 71, 171, 185, 59, 243, 36, 75, 39, 115, 134, 96, 184, 251, 1, 1, 159, 35, 113, 52, 169, 138, 223, 42, 111, 190, 45, 71, 201, 214, 224, 159, 60, 73, 186, 15, 215, 2, 133, 87, 186, 198, 110, 186, 190, 118, 124, 6, 193, 14, 48, 84, 57, 155, 26, 150, 216, 93, 187, 2, 191, 115, 241, 31, 78, 87, 126, 254, 158, 128, 5, 246, 225, 2, 82, 243, 133, 140, 245, 101, 68, 91, 57, 18, 178, 195, 199, 189, 245, 90, 7, 130, 165, 234, 124, 213, 144, 234, 166, 70, 141, 168, 160, 45, 86, 144, 178, 180, 206, 181, 37, 153, 18, 112, 150, 53, 241, 17, 222, 9, 29, 196, 209, 158, 71, 5, 49, 214, 251, 23, 145, 220, 61, 237, 195, 113, 250, 115, 151, 118, 250, 23, 167, 153, 154, 70, 117, 124, 10, 237, 84, 76, 242, 115, 200, 205, 33, 169, 162, 113, 74, 82, 34, 130, 129, 74, 52, 99, 134, 6, 112, 160, 226, 156, 212, 65, 9, 253, 249, 171, 246, 187, 83, 218, 239, 198, 11, 253, 175, 42, 243, 238, 170, 76, 13, 189, 217, 16, 198, 69, 158, 51, 252, 255, 252, 147, 53, 215, 40, 102, 145, 193, 57, 144, 203, 39, 13, 192, 217, 236, 189, 50, 18, 104, 78, 251, 30, 167, 151, 109, 142, 68, 199, 1, 246, 5, 79, 12, 243, 132, 46, 134, 70, 78, 199, 4, 36, 126, 157, 58, 190, 78, 29, 75, 159, 58, 154, 5, 234, 170, 204, 101, 99, 25, 17, 44, 187, 158, 57, 136, 116, 77, 119, 99, 146, 54, 131, 0, 42, 119, 16, 28, 198, 234, 135, 79, 111, 0, 198, 217, 56, 9, 69, 89, 192, 67, 2, 153, 3, 73, 199, 177, 106, 68, 189, 222, 11, 240, 132, 235, 185, 175, 83, 238, 215, 41, 247, 235, 148, 123, 39, 167, 220, 198, 1, 237, 225, 249, 214, 221, 118, 251, 234, 80, 250, 11, 206, 139, 115, 68, 190, 205, 185, 77, 62, 215, 86, 50, 60, 116, 67, 60, 56, 233, 176, 157, 229, 218, 185, 102, 190, 200, 71, 111, 15, 58, 186, 111, 255, 117, 226, 186, 107, 19, 215, 103, 172, 210, 231, 57, 208, 81, 163, 159, 155, 6, 188, 47, 120, 144, 207, 30, 155, 56, 154, 156, 96, 74, 22, 62, 11, 180, 109, 22, 248, 159, 104, 210, 85, 94, 199, 13, 90, 11, 9, 68, 224, 240, 159, 3, 196, 183, 156, 131, 19, 140, 211, 221, 39, 158, 220, 184, 246, 116, 131, 35, 26, 77, 231, 148, 208, 124, 226, 208, 94, 69, 84, 156, 32, 78, 12, 187, 66, 166, 114, 34, 106, 22, 129, 95, 49, 249, 212, 76, 202, 85, 51, 80, 5, 181, 14, 161, 62, 232, 29, 210, 1, 142, 234, 171, 219, 12, 137, 25, 24, 108, 20, 111, 145, 176, 131, 144, 126, 253, 18, 212, 74, 253, 129, 179, 175, 186, 229, 46, 233, 150, 186, 96, 7, 63, 208, 97, 101, 170, 165, 73, 148, 68, 84, 39, 84, 134, 75, 124, 85, 10, 21, 95, 111, 65, 41, 212, 238, 228, 125, 213, 9, 119, 73, 39, 124, 181, 55, 238, 152, 189, 177, 36, 95, 232, 87, 125, 212, 216, 155, 21, 90, 68, 207, 237, 198, 250, 170, 182, 190, 170, 173, 191, 150, 218, 90, 248, 104, 194, 114, 79, 137, 44, 195, 165, 183, 200, 81, 145, 16, 206, 127, 121, 221, 43, 87, 24, 119, 50, 31, 168, 220, 131, 205, 62, 228, 197, 172, 124, 70, 211, 225, 145, 33, 16, 216, 109, 56, 44, 255, 55, 155, 64, 2, 182, 19, 209, 209, 242, 108, 133, 7, 197, 102, 4, 64, 186, 156, 186, 164, 159, 130, 106, 165, 54, 93, 22, 92, 159, 114, 98, 174, 76, 209, 105, 97, 230, 139, 107, 223, 114, 246, 36, 60, 36, 189, 77, 49, 134, 170, 71, 50, 81, 230, 161, 221, 227, 27, 100, 245, 210, 24, 134, 103, 182, 186, 185, 167, 10, 81, 198, 128, 138, 128, 126, 53, 96, 54, 186, 158, 218, 15, 46, 83, 3, 199, 213, 36, 247, 221, 20, 52, 30, 110, 241, 17, 84, 95, 149, 142, 173, 102, 25, 90, 240, 224, 206, 108, 50, 17, 26, 166, 90, 254, 81, 62, 172, 184, 187, 117, 66, 216, 68, 101, 60, 210, 31, 149, 219, 98, 14, 255, 25, 239, 245, 100, 24, 72, 193, 120, 50, 30, 228, 83, 55, 113, 225, 254, 82, 146, 48, 238, 79, 139, 73, 178, 27, 187, 138, 144, 103, 97, 132, 134, 246, 113, 142, 179, 117, 231, 75, 245, 104, 235, 109, 154, 4, 138, 59, 190, 144, 125, 30, 25, 30, 177, 87, 76, 126, 199, 129, 104, 115, 122, 247, 230, 133, 200, 29, 148, 192, 151, 154, 62, 167, 161, 90, 150, 163, 201, 110, 173, 84, 114, 22, 147, 167, 141, 60, 226, 231, 55, 33, 91, 140, 162, 74, 127, 53, 23, 139, 187, 235, 10, 56, 251, 133, 59, 107, 104, 34, 35, 215, 75, 192, 97, 154, 77, 44, 143, 9, 174, 44, 229, 212, 98, 42, 219, 105, 208, 91, 153, 116, 183, 214, 156, 233, 135, 164, 106, 252, 41, 20, 44, 85, 46, 18, 47, 167, 31, 77, 110, 56, 172, 163, 84, 225, 28, 26, 133, 255, 15, 113, 168, 153, 207, 8, 200, 137, 55, 165, 120, 53, 188, 36, 250, 66, 41, 186, 57, 238, 124, 158, 197, 82, 189, 231, 163, 222, 96, 214, 199, 75, 84, 100, 255, 182, 102, 244, 210, 89, 185, 36, 184, 60, 176, 129, 129, 154, 201, 205, 1, 94, 183, 156, 153, 85, 3, 228, 17, 135, 240, 0, 169, 149, 69, 225, 58, 0, 125, 129, 130, 195, 58, 81, 52, 217, 199, 46, 211, 149, 188, 172, 21, 110, 202, 101, 105, 245, 236, 241, 232, 14, 49, 6, 172, 40, 7, 134, 139, 165, 69, 124, 132, 170, 87, 103, 234, 145, 213, 24, 13, 178, 136, 132, 242, 228, 201, 19, 218, 206, 152, 27, 105, 88, 18, 183, 182, 93, 117, 190, 103, 235, 148, 249, 31, 32, 183, 254, 101, 4, 242, 131, 187, 51, 14, 85, 254, 224, 221, 70, 199, 38, 227, 244, 31, 222, 234, 87, 243, 214, 51, 241, 188, 94, 250, 131, 155, 7, 172, 98, 40, 141, 219, 31, 56, 131, 69, 179, 77, 147, 12, 201, 225, 28, 208, 91, 60, 21, 2, 175, 102, 187, 251, 119, 48, 17, 228, 75, 21, 118, 243, 187, 176, 112, 129, 85, 46, 147, 178, 56, 147, 156, 177, 90, 195, 166, 223, 3, 182, 230, 31, 145, 224, 28, 120, 2, 97, 3, 128, 245, 31, 116, 89, 78, 97, 253, 14, 75, 52, 164, 160, 9, 40, 144, 149, 223, 197, 144, 249, 35, 148, 128, 187, 82, 21, 49, 51, 235, 247, 157, 133, 123, 59, 192, 131, 64, 40, 232, 239, 24, 3, 202, 85, 86, 44, 114, 227, 119, 136, 216, 248, 221, 143, 212, 128, 167, 87, 140, 196, 84, 26, 191, 103, 93, 243, 196, 184, 208, 124, 114, 163, 137, 66, 229, 240, 26, 187, 232, 47, 3, 117, 31, 237, 202, 28, 35, 123, 122, 229, 44, 126, 176, 53, 246, 88, 52, 33, 22, 211, 99, 58, 31, 170, 146, 58, 189, 184, 166, 198, 104, 190, 93, 212, 78, 117, 195, 16, 116, 21, 65, 15, 103, 5, 52, 16, 142, 206, 106, 19, 242, 253, 81, 157, 139, 15, 210, 2, 18, 126, 168, 129, 154, 227, 1, 127, 167, 137, 6, 57, 77, 40, 111, 254, 176, 119, 253, 26, 210, 41, 31, 34, 236, 105, 196, 162, 48, 155, 108, 183, 17, 213, 99, 3, 125, 198, 254, 224, 173, 33, 161, 165, 231, 98, 166, 114, 231, 148, 9, 156, 27, 136, 88, 88, 188, 61, 123, 218, 177, 184, 3, 174, 150, 234, 203, 132, 192, 148, 116, 215, 65, 199, 254, 50, 136, 217, 14, 144, 197, 156, 250, 39, 14, 207, 254, 103, 146, 142, 199, 144, 92, 224, 88, 32, 175, 239, 244, 9, 34, 216, 106, 100, 132, 71, 47, 36, 57, 102, 58, 203, 227, 6, 45, 83, 76, 94, 101, 37, 91, 92, 200, 197, 74, 114, 140, 171, 22, 203, 142, 234, 53, 140, 98, 144, 201, 220, 14, 165, 89, 64, 127, 29, 174, 10, 143, 168, 3, 59, 116, 73, 56, 52, 130, 204, 164, 249, 38, 84, 13, 61, 17, 131, 27, 136, 172, 141, 100, 78, 212, 232, 250, 232, 225, 214, 125, 206, 91, 133, 151, 80, 125, 46, 220, 71, 234, 77, 128, 191, 113, 242, 42, 150, 213, 1, 113, 250, 239, 209, 165, 144, 152, 189, 81, 223, 138, 82, 29, 231, 162, 155, 42, 199, 55, 217, 83, 57, 190, 249, 150, 202, 189, 248, 158, 74, 104, 7, 195, 157, 195, 221, 125, 151, 19, 239, 18, 98, 91, 174, 110, 227, 229, 184, 193, 190, 139, 237, 119, 28, 69, 162, 183, 161, 211, 189, 53, 140, 33, 207, 233, 96, 51, 150, 70, 125, 221, 142, 186, 204, 75, 20, 18, 182, 213, 113, 101, 232, 179, 173, 21, 202, 108, 186, 52, 18, 173, 55, 197, 210, 210, 164, 1, 14, 92, 35, 235, 153, 173, 16, 10, 30, 29, 206, 220, 212, 12, 179, 227, 134, 219, 81, 65, 30, 4, 5, 171, 57, 20, 22, 255, 29, 187, 5, 134, 185, 54, 3, 74, 98, 174, 97, 205, 47, 19, 157, 99, 130, 177, 48, 196, 36, 19, 108, 169, 197, 231, 134, 48, 54, 81, 84, 252, 162, 48, 125, 58, 42, 201, 83, 141, 240, 126, 238, 217, 119, 57, 87, 249, 53, 156, 71, 73, 31, 224, 97, 134, 208, 221, 148, 202, 235, 213, 118, 88, 34, 41, 136, 223, 228, 167, 170, 169, 203, 14, 95, 159, 92, 15, 79, 139, 193, 102, 41, 223, 190, 97, 151, 250, 153, 173, 13, 24, 33, 123, 131, 193, 87, 15, 237, 18, 60, 180, 177, 219, 214, 4, 127, 63, 225, 230, 91, 201, 179, 172, 175, 198, 205, 202, 252, 119, 250, 188, 228, 164, 227, 158, 75, 96, 187, 106, 81, 209, 99, 137, 241, 22, 245, 57, 46, 232, 53, 85, 152, 59, 46, 197, 166, 113, 36, 158, 250, 55, 232, 183, 90, 62, 106, 85, 158, 72, 139, 135, 245, 207, 69, 202, 108, 54, 197, 142, 182, 61, 135, 31, 242, 188, 5, 215, 151, 161, 221, 245, 8, 252, 100, 252, 220, 31, 60, 115, 0, 155, 41, 96, 221, 45, 4, 22, 102, 241, 198, 118, 96, 166, 219, 159, 100, 233, 52, 83, 154, 78, 58, 8, 132, 169, 147, 130, 68, 26, 113, 19, 50, 218, 113, 101, 113, 16, 222, 216, 171, 0, 55, 201, 206, 179, 171, 177, 93, 67, 69, 1, 6, 175, 63, 245, 47, 67, 205, 21, 96, 65, 217, 139, 236, 50, 216, 164, 98, 132, 20, 86, 161, 223, 153, 140, 234, 250, 232, 192, 147, 200, 53, 44, 223, 213, 68, 52, 44, 191, 173, 137, 109, 88, 254, 190, 246, 216, 255, 105, 250, 178, 174, 202, 3, 223, 16, 211, 55, 154, 170, 50, 225, 125, 68, 198, 175, 23, 217, 21, 219, 190, 97, 115, 253, 39, 184, 161, 109, 209, 109, 56, 143, 40, 70, 73, 113, 250, 62, 52, 55, 192, 156, 129, 30, 3, 184, 221, 29, 72, 156, 165, 147, 254, 171, 34, 40, 87, 88, 118, 45, 104, 223, 86, 155, 124, 28, 142, 103, 0, 162, 45, 230, 233, 1, 250, 180, 98, 36, 106, 182, 7, 172, 246, 127, 139, 63, 7, 179, 236, 17, 77, 148, 216, 47, 70, 226, 133, 92, 37, 125, 12, 47, 66, 141, 138, 103, 34, 39, 152, 35, 164, 141, 88, 23, 60, 221, 29, 95, 248, 40, 195, 27, 26, 131, 89, 121, 66, 157, 138, 142, 165, 237, 226, 14, 195, 145, 34, 33, 123, 201, 155, 104, 16, 157, 45, 62, 47, 203, 45, 166, 186, 153, 13, 107, 210, 244, 19, 13, 167, 54, 172, 119, 159, 212, 171, 185, 150, 173, 233, 185, 95, 103, 173, 236, 236, 157, 56, 103, 101, 27, 207, 223, 136, 173, 123, 67, 92, 211, 209, 239, 236, 219, 214, 218, 10, 74, 193, 119, 229, 200, 80, 56, 198, 128, 68, 12, 7, 5, 99, 91, 194, 56, 171, 58, 204, 190, 136, 83, 131, 178, 193, 117, 110, 120, 3, 175, 98, 53, 110, 98, 28, 97, 210, 183, 229, 30, 239, 42, 1, 212, 142, 142, 232, 96, 254, 197, 13, 238, 116, 102, 71, 171, 205, 163, 32, 92, 239, 134, 166, 75, 225, 85, 177, 195, 17, 158, 77, 228, 208, 110, 26, 14, 184, 225, 110, 69, 195, 83, 53, 224, 109, 25, 111, 224, 235, 199, 191, 225, 45, 124, 153, 33, 60, 145, 40, 211, 208, 222, 146, 126, 104, 127, 98, 97, 227, 18, 8, 30, 248, 166, 120, 212, 30, 249, 13, 181, 81, 123, 244, 215, 239, 236, 234, 243, 191, 62, 143, 224, 169, 236, 205, 160, 187, 10, 225, 196, 50, 161, 172, 68, 56, 56, 214, 74, 76, 62, 168, 219, 60, 145, 185, 65, 111, 151, 43, 36, 244, 124, 187, 154, 33, 234, 194, 30, 216, 206, 44, 212, 97, 134, 125, 224, 132, 119, 5, 253, 174, 161, 120, 83, 118, 109, 108, 123, 179, 182, 86, 42, 52, 190, 205, 81, 13, 116, 87, 179, 122, 188, 223, 8, 183, 46, 227, 220, 2, 19, 121, 120, 252, 26, 34, 157, 123, 202, 244, 232, 117, 230, 42, 93, 84, 199, 132, 6, 7, 31, 192, 4, 219, 201, 95, 174, 57, 61, 190, 230, 107, 113, 8, 246, 157, 123, 192, 154, 198, 96, 192, 218, 150, 189, 1, 27, 144, 56, 211, 158, 231, 150, 118, 7, 228, 82, 122, 79, 47, 246, 98, 3, 46, 238, 240, 212, 86, 66, 59, 157, 156, 207, 32, 86, 219, 113, 94, 41, 187, 217, 124, 13, 88, 193, 196, 177, 228, 72, 56, 174, 193, 117, 213, 215, 118, 57, 33, 189, 107, 237, 22, 22, 106, 173, 189, 113, 164, 92, 84, 139, 70, 212, 171, 54, 239, 221, 83, 37, 3, 139, 221, 195, 242, 101, 81, 150, 249, 233, 224, 90, 153, 220, 204, 1, 103, 40, 97, 108, 144, 221, 143, 75, 145, 127, 164, 229, 139, 2, 39, 108, 182, 160, 144, 213, 43, 151, 70, 178, 8, 219, 31, 180, 96, 99, 149, 100, 17, 234, 201, 187, 39, 225, 8, 60, 108, 49, 2, 168, 67, 81, 169, 116, 38, 106, 94, 181, 163, 156, 79, 114, 70, 250, 154, 35, 26, 242, 147, 190, 136, 254, 179, 90, 49, 198, 43, 86, 200, 33, 1, 247, 92, 14, 30, 194, 14, 244, 36, 30, 142, 122, 197, 112, 156, 78, 133, 116, 101, 114, 97, 135, 71, 57, 164, 174, 248, 160, 25, 227, 56, 29, 197, 74, 95, 119, 179, 204, 150, 210, 177, 10, 81, 214, 11, 9, 227, 91, 196, 74, 41, 55, 58, 42, 161, 74, 32, 154, 82, 191, 229, 65, 63, 49, 172, 21, 205, 18, 113, 34, 177, 121, 249, 50, 133, 232, 148, 209, 137, 94, 98, 181, 181, 99, 84, 205, 197, 16, 169, 89, 250, 66, 219, 118, 107, 66, 140, 127, 120, 84, 97, 252, 191, 2, 199, 6, 186, 243, 222, 157, 232, 184, 94, 17, 221, 168, 104, 209, 83, 103, 180, 99, 67, 179, 141, 167, 100, 66, 150, 73, 104, 103, 219, 56, 204, 116, 179, 132, 131, 86, 255, 177, 29, 13, 82, 2, 218, 15, 112, 42, 62, 214, 2, 87, 139, 79, 205, 249, 155, 3, 241, 7, 169, 216, 62, 9, 152, 46, 42, 58, 85, 87, 170, 39, 218, 22, 246, 22, 236, 36, 177, 24, 186, 0, 219, 172, 53, 185, 234, 140, 18, 226, 106, 170, 224, 185, 183, 45, 174, 38, 66, 29, 64, 58, 254, 170, 170, 211, 193, 211, 47, 227, 15, 34, 99, 11, 246, 22, 86, 58, 188, 68, 3, 124, 132, 201, 109, 211, 185, 5, 159, 46, 231, 53, 198, 33, 235, 72, 59, 55, 148, 65, 226, 4, 186, 18, 97, 56, 15, 80, 104, 95, 199, 22, 148, 142, 90, 235, 110, 109, 85, 218, 255, 168, 22, 234, 189, 219, 102, 148, 72, 67, 94, 58, 205, 27, 53, 223, 21, 101, 13, 159, 163, 168, 124, 188, 169, 254, 64, 232, 159, 64, 133, 24, 39, 87, 72, 143, 84, 13, 71, 201, 194, 229, 140, 35, 73, 188, 28, 74, 198, 29, 238, 143, 167, 113, 218, 23, 84, 93, 73, 131, 28, 78, 31, 14, 6, 39, 202, 138, 22, 159, 158, 142, 250, 75, 31, 97, 18, 44, 108, 224, 201, 95, 176, 133, 7, 63, 79, 166, 233, 100, 202, 71, 221, 32, 155, 186, 59, 121, 206, 215, 124, 52, 125, 174, 177, 167, 43, 11, 67, 18, 135, 36, 222, 97, 232, 225, 196, 139, 137, 102, 128, 164, 159, 72, 252, 225, 169, 62, 241, 154, 237, 116, 0, 92, 224, 89, 198, 144, 180, 92, 36, 234, 67, 23, 147, 247, 57, 71, 1, 123, 200, 60, 73, 218, 237, 110, 242, 248, 113, 114, 127, 11, 162, 34, 183, 221, 61, 210, 227, 116, 116, 174, 70, 214, 207, 63, 175, 113, 180, 36, 189, 12, 220, 134, 34, 205, 22, 20, 235, 197, 81, 15, 14, 99, 42, 199, 161, 38, 135, 105, 0, 37, 46, 147, 108, 44, 228, 181, 163, 104, 158, 243, 234, 221, 182, 70, 233, 63, 85, 125, 19, 111, 100, 119, 82, 194, 200, 176, 252, 115, 170, 109, 88, 238, 107, 128, 255, 225, 0, 180, 172, 84, 210, 6, 92, 199, 200, 131, 0, 223, 197, 186, 48, 216, 42, 27, 135, 17, 188, 100, 191, 5, 135, 213, 219, 18, 4, 58, 60, 184, 96, 111, 52, 105, 57, 145, 14, 33, 126, 11, 56, 106, 223, 33, 137, 140, 210, 64, 64, 34, 193, 33, 27, 69, 134, 247, 18, 49, 240, 35, 58, 92, 243, 81, 165, 64, 248, 130, 151, 101, 234, 204, 116, 205, 194, 204, 202, 48, 238, 217, 158, 77, 138, 161, 14, 197, 173, 220, 86, 213, 71, 253, 117, 245, 127, 10, 19, 52, 27, 88, 32, 48, 126, 52, 32, 53, 150, 124, 113, 80, 40, 182, 75, 60, 214, 169, 78, 155, 135, 174, 5, 92, 158, 45, 165, 185, 226, 153, 82, 247, 244, 218, 132, 32, 195, 22, 40, 161, 69, 136, 145, 34, 182, 184, 164, 16, 60, 211, 204, 253, 104, 241, 230, 182, 185, 66, 148, 91, 23, 140, 81, 21, 93, 238, 88, 24, 6, 214, 98, 38, 134, 174, 222, 73, 88, 251, 114, 4, 6, 178, 171, 204, 97, 118, 72, 128, 39, 94, 49, 210, 16, 233, 35, 179, 122, 180, 77, 242, 53, 164, 239, 220, 145, 240, 244, 21, 110, 52, 244, 166, 195, 26, 175, 32, 68, 121, 175, 76, 204, 51, 43, 120, 163, 38, 131, 183, 19, 174, 121, 92, 28, 23, 101, 229, 9, 184, 126, 118, 117, 116, 70, 194, 36, 72, 27, 116, 218, 41, 74, 239, 64, 183, 157, 113, 68, 89, 98, 12, 10, 116, 28, 103, 107, 133, 92, 248, 151, 234, 113, 42, 69, 195, 198, 222, 35, 93, 63, 77, 243, 193, 75, 164, 12, 48, 91, 103, 149, 188, 188, 31, 163, 236, 242, 132, 32, 73, 233, 33, 7, 206, 76, 41, 18, 232, 195, 78, 30, 208, 2, 76, 243, 33, 162, 50, 233, 132, 66, 209, 22, 93, 223, 213, 12, 113, 55, 141, 141, 145, 87, 250, 88, 163, 188, 42, 18, 31, 179, 242, 33, 124, 215, 67, 248, 168, 234, 29, 222, 218, 134, 126, 207, 173, 114, 194, 161, 168, 162, 197, 0, 184, 91, 215, 181, 193, 149, 235, 252, 58, 50, 182, 134, 165, 170, 162, 106, 33, 75, 202, 253, 37, 86, 179, 132, 251, 13, 215, 179, 183, 48, 229, 184, 137, 52, 150, 55, 233, 88, 114, 86, 54, 253, 44, 60, 9, 236, 105, 203, 244, 102, 243, 128, 172, 100, 149, 78, 149, 194, 76, 229, 86, 212, 175, 215, 238, 185, 182, 110, 135, 193, 33, 204, 16, 134, 249, 209, 25, 164, 162, 120, 174, 118, 20, 183, 232, 140, 16, 200, 19, 79, 146, 49, 213, 103, 135, 135, 93, 44, 146, 146, 105, 161, 217, 44, 120, 7, 185, 78, 5, 100, 128, 63, 142, 94, 161, 25, 188, 193, 18, 30, 66, 9, 5, 181, 19, 26, 30, 42, 155, 210, 18, 102, 198, 249, 150, 170, 246, 177, 121, 154, 248, 172, 202, 197, 254, 100, 144, 99, 192, 143, 63, 175, 240, 142, 238, 208, 252, 231, 252, 147, 183, 159, 11, 243, 20, 133, 30, 73, 141, 238, 73, 18, 73, 192, 69, 133, 111, 199, 239, 0, 209, 128, 17, 93, 215, 8, 115, 192, 62, 118, 34, 103, 188, 48, 178, 240, 172, 234, 82, 207, 128, 196, 88, 80, 119, 214, 195, 93, 24, 168, 84, 79, 95, 238, 234, 82, 118, 99, 195, 93, 63, 201, 141, 47, 122, 219, 79, 243, 131, 238, 251, 73, 178, 67, 246, 152, 44, 189, 178, 13, 3, 133, 204, 237, 110, 200, 105, 145, 191, 201, 142, 92, 169, 18, 115, 53, 116, 169, 107, 166, 59, 179, 129, 129, 178, 216, 114, 87, 87, 191, 137, 75, 189, 102, 107, 46, 48, 32, 26, 238, 205, 177, 28, 114, 205, 118, 232, 54, 182, 151, 187, 53, 119, 131, 109, 0, 211, 97, 117, 155, 0, 68, 172, 48, 69, 210, 23, 172, 72, 129, 190, 58, 39, 157, 210, 26, 50, 91, 84, 54, 78, 85, 12, 63, 75, 24, 181, 68, 245, 129, 40, 121, 75, 54, 165, 42, 12, 180, 144, 215, 5, 202, 69, 122, 48, 116, 190, 213, 184, 220, 20, 73, 81, 184, 180, 82, 40, 167, 77, 36, 182, 146, 25, 227, 136, 7, 25, 170, 29, 219, 110, 32, 48, 149, 175, 216, 220, 37, 19, 241, 12, 133, 136, 168, 116, 26, 26, 126, 48, 151, 161, 174, 28, 88, 12, 211, 79, 49, 119, 33, 73, 36, 68, 215, 110, 70, 84, 162, 130, 231, 234, 78, 13, 103, 65, 221, 105, 146, 169, 144, 182, 37, 179, 165, 176, 54, 141, 109, 64, 195, 192, 202, 158, 236, 243, 232, 90, 82, 229, 61, 74, 2, 169, 138, 224, 57, 230, 107, 59, 191, 211, 35, 9, 140, 8, 177, 175, 223, 184, 115, 12, 21, 217, 106, 70, 189, 62, 33, 149, 99, 34, 249, 12, 16, 135, 160, 139, 99, 100, 21, 99, 84, 37, 254, 141, 176, 113, 49, 137, 14, 12, 64, 32, 172, 124, 136, 33, 157, 78, 166, 104, 71, 175, 64, 245, 232, 86, 124, 227, 165, 140, 238, 186, 170, 84, 88, 129, 109, 84, 52, 122, 70, 83, 220, 199, 197, 202, 135, 66, 92, 207, 33, 233, 17, 188, 89, 99, 133, 112, 79, 14, 23, 25, 174, 110, 249, 5, 161, 63, 34, 213, 129, 118, 91, 249, 12, 47, 194, 83, 109, 216, 197, 118, 46, 23, 182, 102, 229, 173, 17, 129, 192, 20, 220, 26, 113, 65, 72, 12, 42, 1, 136, 34, 193, 234, 184, 109, 51, 45, 232, 214, 174, 193, 233, 177, 129, 206, 178, 217, 193, 38, 205, 46, 193, 221, 138, 40, 78, 145, 186, 142, 146, 67, 47, 139, 27, 169, 110, 74, 241, 202, 4, 42, 91, 62, 213, 236, 25, 181, 5, 132, 13, 252, 123, 205, 108, 28, 157, 100, 211, 195, 242, 112, 52, 16, 96, 133, 176, 60, 75, 39, 231, 153, 187, 41, 104, 36, 103, 109, 39, 34, 187, 90, 112, 249, 114, 113, 217, 178, 59, 175, 224, 54, 18, 79, 149, 55, 45, 36, 222, 153, 20, 91, 18, 236, 204, 36, 23, 107, 82, 209, 245, 182, 163, 13, 2, 143, 169, 234, 35, 104, 5, 133, 24, 86, 242, 2, 52, 63, 74, 37, 23, 198, 196, 43, 30, 147, 228, 76, 139, 177, 202, 237, 163, 161, 178, 208, 38, 2, 235, 113, 40, 175, 156, 118, 69, 85, 137, 149, 65, 247, 79, 25, 138, 79, 96, 206, 45, 91, 1, 193, 234, 21, 176, 3, 15, 113, 192, 221, 229, 203, 147, 4, 62, 143, 60, 65, 219, 58, 38, 185, 140, 198, 191, 187, 225, 29, 31, 171, 235, 118, 195, 117, 133, 0, 24, 20, 76, 61, 27, 141, 95, 3, 116, 123, 78, 160, 225, 15, 221, 55, 158, 61, 97, 28, 149, 134, 188, 51, 49, 43, 182, 117, 166, 174, 173, 29, 241, 207, 227, 196, 197, 105, 7, 50, 107, 133, 60, 150, 190, 107, 216, 182, 206, 178, 115, 89, 143, 147, 173, 54, 143, 235, 232, 109, 9, 14, 181, 213, 206, 173, 208, 194, 103, 53, 175, 202, 57, 134, 107, 40, 208, 105, 84, 149, 0, 136, 245, 132, 206, 173, 2, 34, 211, 60, 246, 27, 159, 52, 113, 166, 82, 147, 106, 53, 104, 53, 235, 6, 0, 227, 23, 14, 182, 28, 167, 35, 87, 107, 154, 41, 205, 11, 74, 173, 153, 12, 17, 216, 60, 154, 10, 250, 56, 168, 168, 250, 217, 203, 66, 32, 188, 55, 133, 141, 211, 85, 40, 43, 211, 128, 47, 98, 85, 70, 62, 113, 189, 91, 57, 176, 219, 176, 149, 89, 67, 199, 214, 229, 191, 5, 72, 143, 201, 61, 0, 60, 79, 157, 226, 182, 115, 81, 183, 180, 188, 38, 165, 78, 60, 22, 218, 144, 232, 189, 75, 39, 251, 130, 184, 61, 126, 71, 2, 139, 162, 3, 8, 144, 122, 254, 183, 159, 182, 16, 15, 249, 230, 9, 188, 249, 245, 224, 128, 97, 182, 158, 116, 229, 89, 215, 16, 122, 88, 143, 238, 78, 137, 41, 160, 63, 63, 110, 208, 8, 91, 28, 32, 24, 68, 112, 95, 34, 168, 94, 33, 134, 7, 7, 7, 85, 136, 168, 55, 138, 202, 13, 69, 229, 90, 242, 189, 248, 245, 64, 64, 91, 55, 13, 108, 168, 6, 64, 89, 195, 49, 101, 241, 68, 246, 162, 51, 49, 103, 246, 138, 217, 104, 5, 190, 11, 9, 125, 62, 17, 228, 178, 39, 17, 179, 236, 27, 113, 195, 200, 11, 112, 252, 145, 57, 74, 71, 130, 49, 246, 58, 130, 93, 47, 80, 178, 65, 164, 36, 15, 180, 194, 61, 41, 56, 155, 236, 64, 34, 157, 12, 52, 188, 34, 123, 115, 56, 227, 237, 236, 184, 126, 25, 128, 226, 36, 243, 127, 133, 91, 36, 118, 22, 19, 35, 231, 9, 75, 103, 137, 245, 120, 157, 19, 167, 142, 151, 77, 151, 236, 178, 177, 185, 239, 85, 72, 26, 114, 147, 121, 99, 78, 81, 32, 196, 185, 121, 121, 232, 17, 153, 150, 202, 190, 164, 219, 105, 69, 119, 221, 184, 116, 204, 229, 168, 224, 137, 69, 100, 153, 5, 82, 138, 156, 52, 44, 218, 245, 102, 145, 96, 202, 14, 142, 199, 13, 179, 90, 56, 68, 45, 144, 207, 130, 67, 88, 36, 147, 133, 79, 144, 159, 195, 226, 164, 105, 138, 131, 45, 102, 165, 56, 9, 44, 42, 18, 57, 116, 235, 38, 166, 69, 50, 105, 200, 117, 152, 74, 227, 224, 38, 120, 94, 56, 39, 134, 156, 30, 102, 184, 93, 221, 93, 120, 198, 203, 157, 84, 125, 106, 114, 219, 213, 243, 221, 183, 223, 42, 136, 143, 119, 245, 132, 39, 94, 233, 115, 242, 221, 72, 198, 234, 121, 231, 54, 3, 207, 219, 235, 145, 51, 217, 174, 158, 221, 208, 99, 42, 39, 188, 93, 61, 189, 57, 222, 97, 205, 128, 69, 231, 52, 10, 139, 242, 120, 219, 126, 162, 94, 226, 138, 83, 185, 93, 75, 152, 1, 100, 70, 54, 59, 128, 27, 99, 19, 152, 138, 251, 218, 246, 234, 224, 96, 84, 23, 54, 201, 100, 33, 152, 216, 157, 43, 139, 138, 53, 200, 84, 76, 166, 189, 183, 147, 244, 18, 163, 26, 78, 132, 90, 73, 168, 202, 232, 21, 197, 5, 222, 223, 101, 238, 158, 210, 197, 168, 19, 32, 189, 100, 37, 176, 206, 166, 120, 75, 87, 21, 168, 176, 6, 39, 217, 57, 46, 165, 216, 1, 236, 244, 210, 15, 153, 247, 202, 7, 19, 205, 235, 249, 47, 86, 195, 15, 124, 180, 129, 55, 233, 165, 93, 187, 218, 17, 236, 47, 255, 88, 65, 179, 180, 164, 71, 194, 187, 59, 228, 207, 199, 46, 169, 228, 35, 95, 113, 234, 48, 22, 93, 207, 93, 162, 186, 158, 101, 130, 222, 122, 112, 121, 106, 128, 249, 203, 212, 64, 61, 160, 203, 171, 17, 88, 186, 234, 149, 173, 47, 60, 194, 166, 203, 105, 54, 174, 229, 217, 116, 17, 39, 72, 117, 104, 151, 89, 184, 134, 162, 163, 38, 217, 64, 52, 241, 33, 179, 199, 255, 181, 245, 71, 181, 29, 148, 188, 160, 30, 41, 90, 201, 205, 183, 115, 129, 103, 229, 72, 137, 136, 227, 20, 202, 201, 133, 101, 168, 180, 105, 236, 66, 175, 105, 46, 212, 165, 102, 129, 41, 214, 89, 205, 176, 222, 146, 132, 191, 190, 120, 19, 234, 170, 211, 252, 124, 110, 123, 171, 190, 155, 4, 84, 222, 79, 122, 88, 62, 22, 95, 158, 180, 168, 11, 71, 26, 25, 235, 226, 211, 127, 226, 183, 32, 146, 98, 157, 123, 177, 10, 52, 1, 110, 12, 81, 248, 22, 71, 85, 126, 13, 34, 91, 12, 250, 171, 192, 85, 128, 141, 161, 26, 71, 51, 140, 226, 89, 126, 149, 173, 2, 71, 132, 27, 65, 114, 58, 141, 98, 9, 159, 194, 11, 130, 116, 144, 247, 202, 21, 32, 170, 32, 71, 80, 205, 163, 152, 230, 97, 68, 203, 161, 152, 251, 86, 128, 38, 194, 141, 32, 137, 223, 162, 136, 170, 175, 225, 153, 125, 146, 95, 100, 171, 192, 22, 1, 199, 208, 197, 143, 113, 124, 213, 231, 200, 118, 227, 42, 176, 157, 157, 198, 80, 157, 197, 7, 20, 126, 11, 35, 57, 94, 9, 146, 227, 40, 146, 227, 10, 36, 199, 14, 146, 79, 203, 94, 58, 22, 246, 179, 40, 122, 58, 155, 170, 251, 234, 62, 80, 123, 46, 31, 141, 103, 48, 163, 211, 105, 244, 131, 227, 159, 196, 183, 94, 28, 179, 174, 217, 73, 190, 107, 125, 39, 86, 217, 223, 254, 62, 43, 166, 59, 78, 166, 105, 109, 24, 140, 122, 239, 196, 146, 17, 146, 85, 172, 192, 54, 64, 224, 205, 253, 61, 138, 172, 239, 30, 167, 152, 61, 99, 183, 245, 157, 96, 95, 144, 83, 18, 223, 117, 65, 224, 19, 40, 115, 34, 217, 156, 70, 148, 107, 49, 154, 246, 138, 65, 1, 238, 35, 241, 223, 21, 104, 89, 221, 192, 2, 164, 66, 221, 4, 43, 87, 144, 171, 240, 118, 233, 133, 186, 113, 146, 97, 101, 215, 166, 203, 187, 229, 18, 12, 144, 23, 165, 23, 234, 86, 144, 43, 145, 110, 78, 45, 26, 35, 179, 201, 96, 249, 132, 250, 230, 72, 67, 249, 125, 55, 201, 206, 42, 40, 68, 100, 107, 197, 55, 155, 146, 148, 210, 135, 163, 92, 249, 153, 200, 205, 81, 114, 181, 14, 235, 91, 64, 195, 98, 152, 246, 251, 24, 110, 36, 190, 109, 138, 223, 204, 151, 100, 142, 73, 96, 161, 120, 10, 237, 238, 86, 71, 231, 202, 150, 37, 3, 235, 42, 121, 12, 8, 74, 12, 6, 197, 165, 10, 56, 2, 39, 144, 197, 212, 194, 15, 197, 36, 33, 100, 8, 72, 154, 118, 44, 192, 53, 151, 13, 7, 197, 228, 105, 218, 123, 135, 43, 218, 211, 180, 119, 113, 54, 146, 125, 178, 55, 129, 85, 134, 23, 117, 164, 251, 200, 242, 132, 187, 209, 78, 164, 15, 237, 132, 120, 208, 116, 74, 82, 241, 109, 45, 32, 32, 81, 191, 153, 14, 231, 114, 157, 101, 73, 0, 85, 112, 120, 26, 90, 88, 40, 35, 233, 20, 91, 175, 186, 103, 126, 203, 64, 90, 243, 65, 38, 0, 183, 183, 104, 123, 244, 28, 31, 122, 40, 194, 7, 20, 179, 233, 91, 249, 213, 250, 54, 149, 52, 73, 39, 158, 40, 104, 66, 92, 205, 75, 184, 84, 96, 56, 222, 244, 11, 17, 98, 252, 143, 150, 144, 5, 161, 139, 66, 50, 216, 245, 196, 251, 164, 93, 184, 21, 167, 91, 148, 115, 238, 239, 217, 20, 220, 146, 2, 196, 211, 209, 116, 114, 45, 250, 193, 120, 76, 53, 35, 2, 168, 115, 143, 22, 128, 226, 139, 125, 231, 216, 138, 97, 58, 165, 203, 64, 51, 151, 170, 135, 121, 33, 62, 39, 187, 78, 26, 208, 208, 160, 9, 202, 214, 7, 121, 158, 69, 253, 115, 98, 188, 4, 244, 230, 4, 65, 251, 220, 215, 38, 216, 58, 21, 119, 38, 48, 201, 145, 221, 136, 14, 86, 159, 70, 153, 230, 20, 124, 171, 116, 128, 71, 29, 225, 71, 21, 195, 248, 72, 14, 227, 35, 54, 140, 77, 159, 30, 205, 59, 144, 171, 189, 223, 56, 118, 67, 238, 237, 207, 121, 208, 72, 119, 11, 40, 93, 232, 173, 152, 55, 28, 198, 20, 201, 42, 93, 63, 156, 142, 42, 70, 18, 82, 139, 195, 200, 25, 165, 98, 194, 24, 254, 51, 71, 183, 115, 141, 171, 255, 136, 231, 64, 182, 30, 65, 62, 86, 45, 64, 55, 80, 70, 10, 130, 203, 200, 240, 40, 13, 38, 86, 37, 249, 155, 25, 172, 215, 65, 96, 33, 110, 136, 215, 180, 145, 57, 149, 130, 236, 51, 227, 127, 118, 169, 87, 159, 85, 71, 121, 105, 27, 141, 207, 16, 74, 241, 124, 255, 224, 227, 134, 160, 211, 98, 2, 129, 83, 147, 244, 26, 3, 40, 32, 20, 236, 28, 5, 2, 45, 36, 97, 218, 24, 143, 215, 14, 241, 234, 102, 176, 27, 219, 221, 102, 215, 226, 254, 223, 179, 188, 119, 225, 129, 179, 96, 188, 221, 18, 44, 230, 110, 150, 12, 115, 114, 142, 17, 119, 22, 16, 31, 218, 144, 44, 178, 33, 154, 119, 43, 159, 206, 206, 206, 208, 24, 122, 109, 10, 111, 117, 110, 246, 191, 175, 128, 190, 2, 122, 227, 152, 195, 36, 130, 77, 200, 120, 48, 104, 237, 3, 234, 89, 148, 240, 215, 57, 25, 254, 82, 66, 95, 195, 231, 13, 16, 228, 55, 250, 202, 72, 43, 196, 178, 170, 190, 88, 62, 214, 168, 219, 224, 123, 219, 70, 191, 112, 116, 24, 236, 31, 171, 134, 215, 215, 5, 120, 166, 243, 148, 53, 245, 94, 109, 230, 216, 79, 50, 124, 65, 84, 134, 24, 254, 228, 253, 198, 6, 183, 134, 20, 109, 235, 235, 160, 179, 0, 231, 117, 160, 39, 160, 124, 212, 48, 39, 186, 231, 215, 235, 169, 88, 37, 237, 23, 131, 246, 149, 76, 245, 192, 13, 148, 246, 85, 242, 228, 137, 76, 44, 241, 125, 242, 19, 28, 208, 72, 182, 174, 14, 14, 248, 74, 65, 232, 153, 95, 175, 5, 136, 217, 112, 196, 244, 77, 58, 187, 2, 165, 51, 128, 255, 8, 13, 103, 96, 247, 96, 121, 133, 17, 252, 219, 15, 127, 216, 161, 10, 13, 233, 132, 108, 87, 19, 201, 225, 137, 224, 240, 49, 102, 4, 78, 38, 188, 99, 37, 196, 215, 147, 55, 86, 67, 125, 228, 32, 106, 36, 3, 138, 196, 36, 3, 190, 157, 138, 47, 150, 57, 162, 36, 146, 66, 250, 68, 97, 112, 10, 232, 57, 162, 19, 36, 35, 74, 2, 2, 128, 157, 39, 67, 211, 39, 161, 71, 244, 214, 107, 77, 211, 27, 35, 74, 139, 160, 162, 17, 0, 92, 4, 208, 220, 208, 67, 111, 25, 73, 251, 249, 149, 55, 67, 201, 145, 33, 214, 164, 167, 2, 211, 210, 78, 128, 103, 131, 34, 157, 226, 233, 190, 250, 169, 240, 97, 119, 123, 185, 83, 33, 80, 44, 232, 72, 236, 69, 227, 149, 140, 48, 240, 2, 119, 186, 226, 136, 200, 109, 164, 5, 118, 90, 158, 93, 234, 94, 179, 111, 129, 242, 231, 105, 9, 91, 99, 24, 227, 36, 57, 2, 131, 16, 238, 220, 181, 52, 107, 206, 184, 251, 166, 122, 250, 141, 100, 232, 48, 179, 179, 183, 66, 133, 245, 110, 127, 15, 144, 121, 171, 123, 3, 81, 115, 206, 131, 17, 91, 236, 35, 147, 179, 226, 236, 76, 186, 70, 14, 75, 11, 74, 242, 62, 114, 11, 195, 47, 137, 45, 8, 18, 122, 132, 16, 42, 171, 60, 242, 151, 18, 22, 134, 183, 146, 144, 29, 31, 134, 228, 60, 173, 16, 42, 18, 32, 77, 25, 2, 132, 162, 149, 140, 37, 147, 232, 61, 114, 182, 12, 173, 173, 122, 28, 110, 207, 178, 5, 218, 154, 219, 146, 129, 52, 132, 22, 158, 166, 99, 15, 30, 232, 127, 104, 3, 134, 224, 183, 70, 146, 98, 103, 7, 73, 209, 173, 171, 31, 15, 126, 130, 128, 142, 173, 53, 60, 88, 102, 255, 198, 37, 31, 45, 184, 181, 245, 227, 193, 1, 6, 146, 84, 222, 228, 160, 171, 252, 191, 187, 56, 111, 200, 103, 199, 43, 234, 156, 44, 140, 221, 170, 64, 160, 105, 170, 56, 44, 239, 76, 162, 132, 20, 182, 93, 231, 97, 105, 101, 203, 31, 29, 101, 33, 181, 232, 87, 211, 247, 43, 160, 21, 0, 242, 172, 96, 41, 113, 3, 41, 195, 240, 67, 79, 22, 248, 23, 23, 101, 102, 170, 129, 76, 199, 44, 53, 58, 255, 197, 166, 153, 213, 168, 164, 250, 49, 222, 64, 59, 196, 116, 205, 167, 215, 15, 81, 67, 252, 112, 84, 10, 19, 65, 252, 162, 182, 138, 62, 196, 24, 176, 123, 16, 177, 105, 38, 62, 151, 151, 233, 24, 173, 138, 247, 68, 42, 0, 103, 60, 51, 129, 198, 115, 14, 145, 127, 211, 194, 67, 29, 0, 4, 45, 70, 132, 1, 107, 149, 28, 205, 13, 88, 121, 72, 120, 114, 245, 225, 80, 15, 24, 24, 48, 239, 223, 236, 120, 93, 111, 176, 111, 43, 100, 69, 187, 107, 206, 17, 54, 253, 56, 174, 93, 120, 20, 96, 105, 40, 239, 98, 115, 33, 243, 195, 41, 6, 141, 4, 44, 207, 19, 81, 27, 103, 220, 167, 3, 204, 209, 83, 106, 102, 3, 7, 217, 14, 15, 165, 74, 51, 135, 218, 182, 140, 92, 253, 151, 193, 143, 52, 249, 60, 155, 156, 103, 237, 65, 14, 23, 18, 23, 179, 41, 100, 121, 192, 195, 55, 195, 188, 143, 7, 155, 2, 221, 139, 89, 176, 115, 140, 226, 132, 99, 66, 98, 250, 181, 60, 4, 64, 175, 197, 199, 55, 112, 44, 90, 254, 68, 154, 21, 71, 93, 17, 214, 43, 86, 108, 84, 201, 130, 128, 25, 148, 227, 128, 205, 138, 8, 231, 170, 41, 118, 192, 139, 94, 36, 4, 82, 237, 174, 158, 109, 163, 230, 21, 136, 148, 66, 215, 190, 188, 224, 229, 212, 42, 24, 241, 132, 178, 223, 126, 43, 170, 73, 156, 189, 3, 238, 218, 23, 167, 144, 115, 220, 147, 236, 235, 123, 231, 184, 58, 225, 167, 242, 222, 203, 242, 62, 23, 171, 24, 115, 177, 190, 222, 81, 104, 56, 22, 114, 174, 215, 132, 200, 148, 144, 210, 170, 132, 57, 9, 193, 124, 207, 96, 18, 118, 59, 60, 163, 216, 87, 99, 142, 124, 19, 171, 61, 166, 241, 141, 31, 194, 231, 122, 61, 180, 247, 20, 26, 29, 4, 197, 135, 236, 31, 197, 32, 43, 219, 165, 224, 123, 153, 225, 73, 46, 241, 239, 51, 152, 128, 250, 217, 8, 222, 224, 63, 207, 108, 100, 95, 200, 227, 162, 203, 56, 171, 45, 9, 76, 142, 76, 44, 98, 196, 193, 0, 121, 175, 63, 97, 237, 247, 16, 134, 173, 49, 216, 1, 214, 90, 96, 253, 76, 168, 215, 76, 195, 124, 255, 198, 31, 205, 21, 43, 74, 162, 66, 100, 107, 57, 134, 86, 235, 197, 163, 125, 159, 17, 247, 106, 83, 135, 22, 186, 216, 33, 51, 74, 96, 121, 20, 232, 27, 131, 128, 229, 45, 116, 148, 214, 98, 222, 60, 111, 16, 123, 28, 8, 13, 38, 75, 84, 167, 236, 246, 3, 138, 35, 159, 202, 8, 10, 91, 22, 11, 152, 86, 194, 203, 112, 43, 39, 148, 189, 1, 66, 26, 122, 177, 7, 191, 234, 181, 174, 129, 97, 59, 98, 98, 62, 210, 238, 185, 204, 71, 253, 226, 242, 68, 30, 101, 120, 224, 116, 80, 169, 78, 120, 138, 78, 42, 213, 17, 76, 74, 148, 126, 187, 190, 75, 192, 184, 122, 43, 11, 165, 53, 144, 71, 200, 73, 219, 200, 34, 10, 155, 80, 204, 121, 172, 104, 52, 19, 139, 51, 167, 120, 78, 156, 29, 218, 12, 29, 82, 140, 242, 237, 228, 251, 8, 13, 77, 152, 65, 24, 17, 7, 164, 25, 2, 122, 126, 55, 9, 243, 96, 199, 43, 93, 193, 62, 222, 84, 37, 11, 81, 216, 228, 204, 172, 217, 55, 113, 248, 24, 154, 160, 67, 243, 31, 49, 23, 20, 44, 226, 43, 48, 34, 54, 113, 63, 89, 233, 179, 38, 141, 4, 26, 30, 4, 6, 79, 103, 8, 68, 141, 74, 36, 143, 184, 97, 62, 7, 19, 68, 96, 39, 181, 184, 55, 167, 255, 149, 236, 13, 224, 194, 133, 244, 194, 202, 226, 243, 26, 23, 4, 192, 36, 0, 96, 17, 75, 130, 226, 164, 237, 134, 134, 102, 131, 91, 245, 61, 169, 26, 154, 90, 93, 215, 97, 108, 146, 245, 188, 191, 63, 197, 39, 34, 5, 72, 230, 224, 143, 207, 63, 85, 115, 201, 62, 236, 238, 91, 7, 223, 65, 49, 241, 124, 156, 86, 204, 236, 192, 39, 176, 248, 164, 3, 46, 192, 253, 54, 63, 44, 63, 239, 228, 51, 88, 205, 188, 51, 88, 237, 148, 51, 88, 210, 108, 51, 184, 75, 19, 141, 207, 51, 120, 60, 37, 124, 231, 102, 27, 28, 62, 234, 43, 248, 125, 165, 36, 199, 148, 120, 141, 43, 132, 172, 144, 21, 204, 128, 18, 175, 113, 134, 188, 20, 252, 200, 101, 164, 98, 173, 35, 100, 199, 14, 157, 97, 214, 207, 211, 145, 185, 136, 84, 186, 63, 218, 52, 123, 210, 147, 39, 236, 180, 42, 243, 146, 176, 73, 67, 39, 142, 138, 122, 11, 72, 91, 98, 121, 76, 194, 108, 172, 158, 151, 156, 0, 248, 111, 180, 201, 61, 45, 196, 20, 249, 132, 186, 61, 162, 13, 104, 146, 43, 64, 231, 139, 192, 205, 107, 128, 50, 124, 243, 57, 209, 205, 9, 115, 199, 249, 135, 194, 28, 1, 204, 137, 34, 227, 231, 240, 251, 5, 206, 102, 122, 246, 136, 211, 104, 225, 129, 153, 193, 246, 199, 5, 140, 247, 27, 27, 81, 24, 239, 195, 48, 158, 48, 24, 114, 101, 245, 36, 121, 95, 25, 105, 88, 237, 61, 162, 131, 42, 90, 210, 226, 96, 171, 168, 145, 240, 158, 141, 130, 186, 173, 75, 127, 0, 8, 69, 210, 187, 144, 243, 202, 91, 88, 232, 208, 136, 179, 105, 49, 182, 203, 77, 174, 77, 205, 43, 169, 239, 244, 140, 18, 232, 73, 192, 225, 108, 138, 75, 246, 73, 126, 254, 110, 106, 174, 168, 138, 36, 88, 200, 240, 192, 176, 82, 214, 66, 63, 223, 119, 181, 69, 112, 138, 174, 154, 82, 40, 116, 32, 233, 177, 155, 192, 33, 208, 105, 240, 104, 85, 46, 24, 244, 122, 99, 67, 212, 116, 220, 148, 154, 27, 225, 18, 65, 19, 139, 9, 184, 167, 178, 154, 16, 161, 152, 41, 170, 183, 9, 48, 152, 66, 52, 215, 120, 121, 205, 243, 68, 154, 228, 27, 172, 218, 186, 55, 243, 224, 17, 77, 93, 229, 137, 110, 45, 228, 117, 151, 84, 11, 154, 165, 141, 22, 104, 58, 80, 138, 163, 28, 44, 142, 44, 229, 56, 242, 114, 81, 111, 126, 188, 173, 224, 141, 238, 78, 241, 140, 230, 223, 211, 143, 20, 129, 42, 172, 195, 57, 77, 163, 211, 212, 191, 242, 236, 82, 239, 22, 227, 76, 119, 120, 118, 156, 229, 103, 121, 214, 111, 79, 217, 28, 74, 134, 232, 233, 236, 140, 198, 90, 178, 16, 203, 169, 54, 81, 121, 218, 19, 213, 190, 168, 233, 164, 18, 255, 45, 19, 84, 191, 203, 250, 178, 113, 181, 131, 76, 151, 111, 110, 20, 128, 107, 228, 146, 32, 69, 98, 73, 155, 106, 58, 192, 151, 80, 168, 27, 169, 136, 242, 37, 64, 49, 183, 130, 186, 108, 164, 38, 188, 84, 111, 127, 223, 231, 26, 81, 93, 64, 2, 91, 206, 63, 169, 77, 105, 126, 109, 176, 177, 171, 228, 97, 121, 117, 132, 196, 9, 99, 114, 75, 233, 227, 35, 65, 64, 238, 198, 127, 28, 24, 137, 86, 240, 1, 10, 74, 247, 166, 178, 127, 40, 255, 184, 96, 176, 72, 201, 122, 113, 178, 125, 20, 235, 252, 232, 233, 133, 135, 247, 127, 94, 115, 197, 9, 205, 195, 90, 148, 195, 92, 136, 145, 231, 241, 129, 198, 129, 60, 29, 149, 51, 56, 190, 67, 107, 164, 147, 115, 42, 178, 244, 78, 244, 53, 153, 32, 156, 173, 177, 206, 89, 214, 228, 8, 22, 80, 204, 91, 209, 217, 52, 33, 114, 88, 207, 23, 66, 2, 231, 72, 170, 248, 227, 100, 226, 87, 131, 32, 40, 96, 42, 176, 159, 70, 138, 20, 167, 239, 3, 186, 162, 39, 19, 232, 136, 143, 155, 61, 91, 152, 152, 110, 245, 233, 109, 163, 171, 85, 104, 209, 66, 178, 225, 253, 80, 50, 46, 69, 15, 126, 18, 108, 40, 176, 228, 119, 101, 242, 29, 193, 234, 187, 100, 172, 156, 206, 44, 68, 31, 66, 140, 196, 215, 208, 245, 0, 146, 11, 236, 126, 250, 192, 217, 177, 208, 193, 177, 249, 104, 59, 100, 156, 46, 253, 172, 228, 234, 152, 131, 123, 220, 7, 110, 12, 250, 175, 255, 82, 104, 26, 234, 224, 216, 149, 97, 0, 161, 223, 57, 232, 249, 175, 116, 144, 247, 211, 105, 230, 96, 21, 18, 116, 120, 239, 218, 77, 76, 232, 221, 2, 21, 130, 111, 41, 143, 10, 191, 29, 0, 182, 177, 151, 69, 89, 230, 167, 131, 107, 37, 239, 53, 109, 67, 157, 104, 141, 127, 164, 174, 102, 66, 16, 222, 100, 28, 85, 79, 14, 226, 100, 54, 177, 152, 127, 12, 117, 216, 195, 7, 63, 196, 84, 186, 60, 145, 241, 63, 249, 84, 221, 178, 210, 38, 29, 231, 102, 191, 149, 135, 236, 46, 109, 101, 229, 167, 33, 85, 120, 198, 88, 92, 72, 150, 172, 124, 160, 247, 25, 72, 158, 148, 195, 138, 42, 5, 195, 131, 59, 49, 33, 155, 59, 139, 133, 96, 122, 6, 149, 172, 59, 143, 178, 99, 96, 43, 227, 230, 90, 225, 233, 151, 231, 160, 178, 206, 57, 55, 109, 139, 215, 129, 63, 234, 206, 160, 225, 111, 246, 54, 55, 219, 90, 109, 63, 43, 217, 99, 253, 172, 77, 140, 83, 51, 109, 47, 210, 247, 21, 80, 36, 190, 13, 59, 127, 14, 178, 244, 132, 225, 74, 113, 118, 149, 13, 199, 131, 52, 40, 194, 251, 76, 96, 2, 83, 142, 174, 204, 209, 169, 24, 51, 251, 132, 206, 102, 104, 170, 78, 176, 104, 54, 235, 129, 37, 162, 174, 48, 216, 175, 108, 58, 66, 14, 28, 176, 162, 103, 246, 252, 131, 113, 117, 166, 205, 17, 71, 80, 162, 133, 5, 232, 161, 173, 237, 40, 2, 31, 178, 201, 53, 57, 118, 152, 196, 49, 9, 232, 160, 166, 200, 85, 43, 161, 58, 21, 164, 161, 176, 148, 135, 243, 171, 28, 193, 134, 26, 93, 82, 145, 200, 57, 106, 172, 252, 136, 222, 254, 214, 127, 88, 200, 255, 177, 105, 46, 52, 218, 204, 128, 189, 183, 115, 32, 216, 158, 154, 246, 72, 120, 146, 116, 147, 95, 18, 154, 192, 57, 121, 148, 124, 40, 242, 190, 23, 25, 112, 33, 125, 175, 23, 218, 247, 122, 225, 31, 117, 185, 80, 23, 192, 38, 71, 152, 230, 136, 126, 154, 102, 165, 189, 60, 167, 241, 241, 214, 11, 117, 95, 219, 133, 232, 34, 199, 87, 118, 207, 66, 12, 95, 166, 19, 57, 0, 39, 45, 145, 160, 192, 195, 125, 221, 109, 181, 57, 102, 188, 83, 29, 181, 110, 247, 206, 155, 71, 146, 52, 222, 99, 182, 147, 202, 202, 104, 217, 20, 59, 138, 90, 33, 156, 242, 36, 42, 197, 75, 186, 117, 170, 102, 70, 42, 206, 64, 150, 159, 150, 209, 31, 192, 118, 217, 93, 185, 182, 34, 131, 182, 106, 68, 162, 60, 200, 147, 157, 2, 158, 45, 6, 135, 51, 77, 33, 204, 171, 165, 79, 107, 254, 140, 201, 181, 204, 217, 205, 45, 46, 93, 82, 176, 94, 21, 191, 230, 231, 98, 5, 223, 166, 225, 73, 158, 205, 97, 75, 191, 152, 13, 79, 179, 9, 47, 109, 208, 211, 233, 190, 234, 147, 102, 211, 84, 98, 38, 241, 53, 227, 127, 48, 81, 53, 171, 210, 113, 163, 13, 157, 220, 213, 78, 97, 190, 43, 167, 63, 202, 212, 221, 94, 230, 238, 102, 23, 98, 16, 34, 84, 130, 109, 79, 132, 42, 201, 80, 73, 183, 189, 74, 17, 66, 156, 76, 220, 53, 199, 66, 154, 184, 33, 142, 60, 195, 238, 6, 126, 8, 181, 45, 120, 161, 111, 227, 240, 52, 26, 40, 177, 100, 55, 33, 187, 215, 76, 145, 28, 197, 181, 8, 164, 194, 248, 58, 111, 174, 104, 222, 60, 67, 254, 222, 206, 196, 249, 106, 161, 41, 19, 53, 70, 54, 158, 70, 118, 66, 122, 233, 88, 8, 16, 102, 237, 92, 238, 28, 91, 102, 3, 49, 21, 169, 116, 160, 191, 22, 197, 32, 75, 71, 193, 203, 80, 233, 92, 251, 202, 153, 101, 157, 105, 86, 195, 116, 23, 225, 64, 223, 107, 77, 137, 116, 122, 75, 48, 225, 181, 50, 160, 183, 23, 180, 171, 93, 51, 255, 168, 99, 24, 228, 229, 158, 145, 220, 129, 165, 156, 46, 34, 254, 226, 44, 218, 123, 61, 66, 92, 0, 189, 209, 155, 192, 176, 221, 139, 14, 91, 49, 47, 141, 5, 200, 188, 151, 58, 73, 86, 191, 142, 217, 155, 143, 217, 81, 63, 54, 98, 13, 207, 231, 27, 176, 164, 218, 157, 49, 116, 209, 41, 26, 24, 111, 6, 215, 152, 105, 27, 180, 96, 233, 120, 98, 34, 76, 178, 140, 70, 69, 25, 119, 152, 190, 202, 243, 10, 229, 25, 57, 252, 165, 8, 245, 60, 146, 11, 50, 95, 41, 183, 1, 145, 133, 28, 6, 97, 89, 245, 146, 124, 125, 21, 213, 197, 68, 213, 2, 166, 130, 122, 155, 121, 199, 110, 67, 80, 27, 187, 14, 136, 148, 46, 160, 66, 15, 229, 165, 247, 234, 230, 97, 21, 66, 35, 163, 140, 116, 196, 197, 214, 39, 114, 4, 196, 80, 106, 236, 15, 80, 180, 113, 151, 64, 179, 53, 191, 63, 28, 107, 6, 140, 118, 190, 135, 211, 195, 111, 144, 32, 31, 126, 229, 139, 161, 138, 135, 34, 212, 180, 70, 130, 8, 70, 58, 73, 119, 85, 155, 23, 78, 121, 47, 125, 184, 142, 241, 142, 167, 12, 31, 241, 217, 255, 130, 95, 77, 163, 203, 250, 41, 66, 226, 18, 190, 195, 33, 202, 85, 40, 220, 79, 68, 251, 253, 230, 138, 247, 255, 42, 32, 154, 212, 220, 92, 250, 169, 100, 217, 92, 73, 219, 226, 168, 221, 138, 116, 202, 69, 19, 196, 165, 69, 174, 107, 21, 58, 171, 213, 105, 161, 95, 165, 226, 174, 215, 184, 128, 211, 251, 15, 2, 88, 248, 201, 11, 72, 231, 135, 152, 202, 46, 108, 234, 0, 110, 110, 212, 239, 71, 58, 16, 48, 166, 78, 10, 204, 22, 26, 171, 58, 199, 25, 249, 206, 110, 178, 213, 133, 221, 149, 23, 230, 1, 169, 54, 137, 85, 85, 207, 38, 38, 20, 29, 67, 140, 52, 240, 123, 221, 107, 49, 164, 163, 143, 35, 146, 251, 207, 236, 122, 245, 187, 34, 91, 177, 93, 145, 103, 105, 57, 13, 206, 14, 201, 205, 198, 80, 112, 230, 127, 18, 74, 97, 183, 156, 121, 131, 206, 197, 245, 201, 73, 90, 65, 6, 208, 172, 34, 238, 233, 152, 27, 99, 216, 116, 58, 11, 224, 115, 135, 166, 180, 136, 37, 100, 103, 58, 118, 119, 166, 208, 52, 44, 250, 181, 217, 124, 167, 71, 168, 156, 195, 152, 15, 87, 232, 248, 145, 85, 17, 10, 188, 153, 181, 204, 76, 244, 68, 218, 92, 252, 104, 253, 45, 77, 68, 207, 211, 241, 87, 235, 127, 85, 11, 213, 97, 58, 190, 235, 158, 210, 198, 110, 65, 187, 149, 48, 143, 171, 102, 136, 220, 215, 254, 154, 6, 222, 80, 111, 225, 0, 207, 158, 220, 11, 32, 192, 230, 112, 45, 30, 103, 253, 89, 47, 251, 42, 228, 171, 18, 242, 9, 242, 119, 245, 114, 206, 52, 63, 196, 134, 70, 110, 103, 142, 146, 241, 192, 217, 82, 36, 163, 32, 237, 245, 102, 195, 217, 64, 221, 89, 216, 108, 36, 29, 225, 153, 70, 71, 149, 135, 71, 2, 7, 95, 55, 10, 72, 50, 96, 82, 177, 110, 77, 77, 138, 86, 14, 132, 99, 56, 18, 240, 117, 52, 172, 118, 52, 32, 147, 63, 195, 33, 193, 204, 159, 27, 12, 140, 141, 13, 119, 96, 4, 109, 156, 187, 50, 46, 62, 100, 147, 146, 95, 6, 116, 139, 171, 240, 150, 135, 201, 173, 173, 190, 135, 121, 191, 63, 192, 180, 249, 218, 100, 61, 27, 20, 50, 194, 53, 249, 79, 147, 240, 219, 204, 247, 131, 226, 50, 83, 73, 77, 229, 79, 56, 145, 33, 97, 168, 55, 190, 1, 48, 19, 164, 78, 140, 100, 201, 106, 236, 228, 141, 1, 108, 55, 117, 240, 79, 103, 119, 21, 225, 216, 34, 248, 39, 41, 162, 43, 65, 168, 144, 41, 73, 63, 203, 10, 128, 136, 105, 43, 32, 44, 177, 168, 130, 147, 200, 101, 244, 62, 231, 67, 233, 242, 185, 228, 28, 221, 84, 108, 142, 248, 241, 178, 150, 131, 166, 31, 108, 84, 23, 90, 228, 40, 237, 58, 169, 249, 26, 184, 227, 45, 142, 87, 24, 184, 131, 49, 11, 234, 66, 85, 214, 136, 196, 109, 3, 20, 31, 189, 187, 183, 249, 62, 191, 115, 175, 183, 108, 228, 9, 247, 136, 205, 147, 77, 182, 65, 232, 144, 149, 75, 13, 188, 62, 132, 8, 158, 202, 243, 2, 232, 71, 4, 201, 239, 51, 210, 127, 205, 167, 151, 121, 153, 201, 161, 43, 232, 221, 195, 57, 130, 82, 109, 198, 171, 172, 29, 202, 24, 64, 146, 52, 233, 71, 29, 51, 54, 145, 75, 161, 19, 149, 123, 175, 71, 50, 42, 131, 26, 137, 62, 3, 2, 231, 12, 99, 171, 152, 147, 98, 248, 117, 13, 179, 50, 171, 173, 20, 220, 253, 114, 118, 233, 110, 59, 24, 184, 38, 22, 216, 61, 122, 215, 224, 144, 220, 190, 60, 50, 13, 105, 233, 221, 99, 180, 208, 32, 220, 7, 124, 29, 117, 254, 201, 18, 79, 2, 37, 88, 1, 99, 52, 95, 71, 156, 137, 237, 118, 87, 88, 65, 87, 152, 42, 64, 116, 76, 87, 244, 198, 22, 28, 205, 150, 239, 175, 249, 123, 11, 89, 6, 189, 190, 205, 203, 23, 233, 139, 246, 149, 127, 224, 140, 125, 23, 80, 126, 17, 80, 30, 105, 212, 162, 101, 54, 176, 153, 106, 118, 65, 100, 110, 128, 99, 196, 79, 217, 207, 207, 224, 0, 50, 28, 126, 166, 185, 220, 196, 91, 15, 77, 120, 201, 112, 170, 105, 92, 69, 6, 175, 166, 199, 106, 80, 192, 244, 1, 193, 20, 86, 230, 37, 218, 170, 94, 20, 121, 112, 188, 27, 56, 149, 115, 80, 112, 200, 219, 170, 174, 13, 86, 156, 190, 175, 215, 210, 228, 76, 160, 119, 248, 213, 30, 238, 179, 38, 93, 68, 81, 135, 226, 122, 107, 143, 12, 122, 187, 172, 225, 44, 241, 53, 202, 27, 111, 113, 111, 116, 84, 150, 228, 232, 187, 193, 33, 184, 10, 252, 231, 159, 121, 36, 242, 213, 115, 143, 115, 170, 45, 116, 137, 186, 0, 179, 19, 16, 192, 221, 152, 0, 86, 198, 234, 243, 51, 157, 229, 101, 62, 237, 189, 147, 81, 251, 220, 238, 232, 165, 130, 248, 238, 35, 247, 205, 79, 143, 152, 12, 155, 179, 179, 228, 206, 33, 164, 122, 0, 73, 61, 80, 35, 39, 157, 160, 98, 97, 231, 51, 17, 244, 214, 60, 160, 97, 14, 104, 12, 249, 126, 16, 178, 189, 52, 194, 130, 85, 231, 186, 60, 251, 139, 61, 219, 137, 37, 77, 253, 91, 93, 161, 25, 150, 219, 203, 199, 82, 113, 105, 137, 72, 62, 92, 46, 146, 15, 86, 195, 202, 7, 203, 199, 114, 249, 172, 252, 217, 27, 92, 221, 240, 16, 176, 153, 123, 44, 222, 145, 233, 210, 111, 229, 135, 149, 177, 66, 254, 51, 39, 39, 124, 4, 127, 164, 8, 10, 109, 150, 194, 5, 131, 12, 170, 119, 83, 91, 115, 174, 120, 203, 68, 59, 75, 92, 74, 45, 173, 10, 30, 128, 110, 215, 150, 0, 51, 58, 116, 249, 15, 162, 192, 186, 205, 5, 133, 69, 28, 175, 19, 170, 119, 110, 202, 198, 166, 31, 120, 244, 66, 163, 106, 22, 66, 156, 67, 89, 109, 76, 229, 101, 79, 72, 150, 75, 154, 6, 182, 32, 114, 208, 112, 250, 166, 114, 93, 205, 161, 126, 64, 11, 234, 67, 208, 194, 39, 43, 100, 245, 230, 131, 154, 45, 153, 249, 22, 74, 240, 104, 133, 193, 237, 224, 88, 8, 200, 171, 226, 89, 33, 152, 152, 169, 16, 150, 1, 254, 1, 169, 38, 136, 127, 184, 24, 67, 37, 246, 146, 46, 152, 83, 101, 113, 221, 104, 209, 140, 64, 150, 178, 112, 166, 144, 110, 184, 120, 70, 80, 141, 22, 208, 245, 97, 83, 210, 1, 54, 41, 167, 79, 77, 112, 17, 130, 55, 113, 76, 94, 0, 83, 104, 49, 73, 33, 108, 78, 89, 223, 117, 24, 120, 186, 74, 38, 1, 97, 16, 102, 21, 88, 254, 214, 196, 67, 193, 61, 195, 112, 119, 152, 1, 196, 135, 62, 92, 123, 236, 82, 69, 151, 201, 181, 84, 17, 0, 30, 81, 228, 27, 61, 207, 3, 48, 225, 214, 233, 227, 192, 90, 56, 22, 108, 117, 50, 59, 69, 228, 218, 167, 217, 121, 62, 242, 92, 207, 238, 162, 130, 59, 159, 113, 25, 225, 185, 159, 221, 156, 30, 11, 239, 91, 88, 148, 26, 7, 11, 105, 114, 42, 92, 212, 21, 78, 68, 158, 216, 165, 201, 97, 70, 226, 12, 244, 150, 59, 86, 214, 38, 189, 103, 13, 52, 187, 42, 106, 179, 62, 113, 248, 54, 25, 20, 175, 162, 189, 186, 191, 2, 183, 152, 179, 28, 249, 71, 151, 116, 240, 183, 14, 111, 230, 213, 30, 59, 113, 69, 233, 85, 219, 98, 189, 206, 11, 7, 93, 205, 145, 39, 226, 129, 86, 112, 76, 19, 115, 57, 212, 45, 98, 113, 183, 122, 166, 206, 111, 248, 158, 245, 38, 100, 198, 252, 233, 205, 9, 68, 8, 33, 242, 70, 217, 165, 145, 5, 134, 135, 193, 120, 131, 244, 19, 119, 188, 171, 88, 74, 149, 208, 150, 204, 29, 246, 189, 187, 136, 7, 72, 76, 160, 184, 128, 173, 39, 109, 34, 20, 223, 211, 22, 120, 20, 101, 133, 191, 223, 10, 62, 201, 130, 193, 219, 237, 88, 178, 99, 115, 238, 222, 180, 157, 99, 60, 248, 167, 87, 62, 72, 73, 62, 87, 200, 253, 222, 180, 209, 142, 42, 239, 156, 90, 135, 3, 29, 14, 90, 154, 173, 192, 231, 36, 124, 222, 9, 118, 231, 149, 66, 129, 239, 172, 68, 196, 189, 97, 131, 224, 67, 165, 77, 99, 24, 18, 143, 71, 251, 117, 72, 190, 207, 126, 114, 28, 195, 86, 182, 206, 12, 156, 25, 233, 149, 230, 150, 41, 232, 19, 94, 125, 56, 112, 119, 45, 124, 79, 186, 139, 136, 48, 124, 228, 181, 242, 208, 223, 193, 115, 37, 189, 193, 172, 15, 151, 144, 100, 119, 252, 96, 73, 165, 104, 219, 67, 39, 252, 96, 137, 36, 238, 14, 132, 225, 58, 73, 32, 27, 29, 46, 249, 116, 39, 66, 200, 134, 158, 51, 62, 0, 194, 137, 144, 52, 148, 174, 255, 205, 38, 133, 43, 56, 176, 185, 18, 62, 134, 199, 83, 174, 93, 240, 43, 98, 155, 164, 9, 156, 138, 49, 221, 131, 68, 153, 237, 178, 152, 77, 122, 89, 7, 194, 31, 193, 141, 72, 215, 57, 118, 55, 41, 184, 206, 217, 15, 41, 104, 154, 75, 105, 191, 98, 75, 171, 43, 192, 139, 191, 138, 179, 100, 159, 134, 140, 8, 161, 21, 99, 216, 66, 148, 88, 53, 246, 174, 99, 241, 57, 61, 235, 93, 69, 59, 181, 166, 21, 30, 64, 160, 221, 94, 114, 197, 194, 22, 242, 242, 209, 232, 168, 89, 197, 65, 75, 224, 172, 20, 53, 180, 242, 129, 41, 25, 185, 31, 72, 97, 152, 171, 50, 44, 135, 33, 175, 205, 184, 2, 30, 125, 255, 179, 107, 187, 186, 252, 98, 53, 170, 249, 246, 195, 67, 127, 71, 66, 98, 239, 166, 21, 184, 167, 25, 227, 108, 50, 112, 209, 144, 95, 149, 254, 211, 128, 2, 217, 0, 29, 142, 9, 162, 60, 197, 236, 237, 102, 40, 112, 226, 189, 167, 233, 152, 246, 127, 169, 183, 104, 143, 196, 138, 126, 152, 255, 129, 60, 113, 216, 240, 111, 15, 68, 68, 233, 169, 70, 119, 188, 242, 21, 10, 175, 178, 206, 52, 157, 156, 103, 211, 35, 52, 132, 220, 219, 28, 232, 211, 116, 227, 150, 62, 6, 182, 140, 125, 86, 98, 120, 241, 198, 135, 254, 209, 123, 163, 117, 144, 6, 193, 235, 124, 108, 210, 131, 94, 231, 189, 76, 123, 23, 183, 211, 123, 97, 206, 202, 54, 213, 94, 121, 128, 199, 116, 34, 204, 167, 160, 56, 41, 198, 6, 158, 25, 18, 62, 132, 166, 92, 227, 119, 49, 72, 131, 3, 252, 69, 64, 180, 32, 240, 85, 129, 41, 71, 180, 214, 230, 3, 216, 243, 64, 38, 42, 197, 141, 142, 2, 224, 5, 40, 27, 200, 48, 13, 39, 231, 35, 192, 231, 17, 56, 22, 45, 32, 113, 241, 196, 204, 15, 229, 215, 26, 228, 151, 96, 4, 1, 170, 107, 158, 221, 4, 142, 191, 184, 57, 74, 224, 113, 228, 220, 139, 241, 231, 28, 15, 247, 145, 85, 233, 232, 94, 120, 150, 95, 200, 252, 83, 92, 119, 121, 198, 77, 65, 253, 111, 80, 137, 75, 215, 162, 29, 176, 80, 152, 134, 193, 193, 11, 215, 88, 1, 223, 235, 120, 206, 83, 182, 89, 94, 87, 88, 42, 71, 103, 109, 22, 147, 36, 89, 236, 198, 184, 16, 103, 235, 52, 27, 150, 180, 132, 253, 180, 2, 171, 69, 168, 144, 37, 246, 161, 105, 92, 130, 149, 76, 68, 130, 76, 231, 217, 252, 158, 46, 227, 254, 230, 45, 214, 221, 228, 218, 146, 246, 234, 245, 142, 170, 42, 22, 0, 162, 111, 146, 215, 210, 38, 217, 84, 233, 138, 223, 176, 229, 143, 163, 151, 16, 79, 184, 193, 4, 86, 33, 129, 180, 211, 185, 53, 125, 130, 18, 134, 245, 228, 37, 174, 229, 26, 235, 34, 53, 218, 114, 223, 88, 113, 13, 149, 31, 89, 215, 92, 169, 84, 235, 146, 137, 88, 119, 19, 222, 218, 50, 70, 199, 210, 123, 250, 114, 107, 199, 43, 11, 30, 44, 65, 119, 128, 1, 160, 8, 41, 182, 229, 142, 105, 216, 53, 148, 12, 85, 80, 184, 198, 252, 130, 236, 216, 80, 172, 229, 0, 129, 119, 155, 253, 98, 148, 85, 222, 45, 18, 184, 191, 241, 131, 90, 212, 230, 112, 107, 35, 66, 241, 51, 233, 233, 253, 22, 44, 202, 4, 141, 88, 62, 55, 11, 95, 110, 67, 145, 192, 101, 0, 71, 244, 30, 128, 6, 75, 96, 47, 20, 196, 95, 3, 55, 77, 175, 232, 210, 230, 71, 103, 120, 113, 165, 71, 77, 178, 210, 89, 205, 69, 90, 0, 79, 217, 141, 194, 160, 113, 151, 35, 20, 10, 189, 72, 248, 115, 248, 185, 3, 65, 209, 139, 5, 65, 55, 36, 36, 16, 20, 45, 157, 150, 177, 168, 104, 228, 57, 119, 208, 170, 132, 250, 129, 148, 194, 71, 157, 196, 174, 239, 232, 7, 42, 104, 173, 53, 222, 248, 91, 101, 154, 98, 65, 137, 12, 41, 144, 151, 74, 182, 249, 226, 83, 213, 253, 213, 9, 223, 106, 155, 119, 225, 161, 6, 205, 173, 173, 69, 23, 140, 158, 176, 27, 112, 77, 227, 168, 189, 165, 51, 69, 8, 90, 247, 244, 162, 34, 207, 193, 178, 89, 171, 15, 168, 134, 36, 140, 226, 78, 19, 157, 21, 169, 177, 18, 49, 237, 11, 69, 236, 178, 228, 149, 80, 48, 173, 198, 220, 176, 110, 40, 203, 6, 193, 251, 163, 10, 21, 242, 144, 116, 126, 218, 155, 206, 210, 129, 148, 78, 39, 87, 126, 88, 175, 88, 206, 89, 153, 176, 64, 30, 43, 89, 175, 104, 253, 7, 237, 196, 239, 216, 198, 9, 172, 197, 180, 33, 193, 117, 191, 24, 95, 195, 220, 212, 38, 60, 222, 194, 88, 109, 53, 208, 116, 235, 166, 59, 185, 99, 151, 200, 124, 197, 37, 54, 208, 73, 202, 26, 82, 245, 60, 196, 253, 43, 70, 254, 70, 39, 131, 121, 45, 42, 191, 110, 19, 147, 234, 111, 39, 239, 210, 9, 235, 203, 185, 27, 142, 65, 104, 210, 188, 95, 119, 105, 243, 187, 7, 122, 238, 89, 222, 131, 112, 211, 185, 62, 76, 109, 48, 140, 20, 180, 187, 91, 250, 235, 236, 253, 215, 157, 189, 61, 97, 88, 230, 28, 126, 68, 195, 124, 219, 102, 133, 25, 29, 72, 106, 14, 15, 141, 37, 62, 165, 198, 170, 86, 206, 93, 15, 187, 141, 230, 84, 131, 166, 157, 211, 217, 100, 135, 31, 97, 166, 3, 197, 224, 33, 82, 62, 207, 134, 197, 228, 26, 182, 68, 84, 97, 158, 134, 208, 67, 106, 187, 217, 164, 88, 53, 104, 101, 59, 11, 206, 139, 15, 239, 199, 231, 69, 175, 81, 58, 199, 33, 105, 115, 78, 112, 238, 74, 255, 127, 196, 250, 238, 121, 58, 38, 18, 9, 158, 73, 185, 62, 22, 235, 113, 170, 164, 135, 120, 159, 43, 223, 129, 75, 251, 125, 180, 190, 196, 183, 205, 50, 155, 114, 111, 136, 222, 30, 192, 66, 213, 231, 146, 148, 59, 68, 150, 116, 188, 27, 176, 168, 60, 20, 43, 121, 184, 215, 72, 128, 44, 46, 213, 26, 25, 124, 6, 22, 209, 128, 168, 146, 85, 49, 212, 175, 22, 206, 251, 63, 138, 89, 77, 113, 131, 46, 142, 67, 139, 114, 68, 19, 247, 123, 58, 6, 187, 215, 91, 111, 200, 31, 221, 55, 70, 245, 59, 204, 134, 89, 182, 1, 179, 101, 168, 69, 152, 217, 226, 219, 166, 248, 189, 50, 102, 75, 55, 94, 53, 183, 155, 240, 71, 133, 109, 40, 128, 96, 16, 253, 255, 124, 6, 82, 134 };
-+
-+ static const unsigned char * const compressedSources = reinterpret_cast<const unsigned char *>(data);
-+
-+ uint32_t GetCompressedSize() {
-+ return 25767;
-+ }
-+
-+ uint32_t GetRawScriptsSize() {
-+ return 184824;
-+ }
-+} // selfhosted
-+} // js
diff --git a/databases/mongodb60/files/patch-SConstruct b/databases/mongodb60/files/patch-SConstruct
index 8fc64862a51e..84d453d69e95 100644
--- a/databases/mongodb60/files/patch-SConstruct
+++ b/databases/mongodb60/files/patch-SConstruct
@@ -1,6 +1,6 @@
---- SConstruct.orig 2021-07-15 20:56:31 UTC
+--- SConstruct.orig 2022-08-05 16:21:29 UTC
+++ SConstruct
-@@ -1328,9 +1328,9 @@ if has_option('variables-help'):
+@@ -1342,9 +1342,9 @@ if has_option('variables-help'):
print(env_vars.GenerateHelpText(env))
Exit(0)
@@ -13,7 +13,7 @@
if get_option('install-action') != 'default' and get_option('ninja') != "disabled":
env.FatalError("Cannot use non-default install actions when generating Ninja.")
-@@ -2507,7 +2507,7 @@ if env.TargetOSIs('posix'):
+@@ -2427,13 +2427,12 @@ if env.TargetOSIs('posix'):
# If runtime hardening is requested, then build anything
# destined for an executable with the necessary flags for PIE.
env.AppendUnique(
@@ -22,7 +22,13 @@
PROGLINKFLAGS=['-pie'],
)
-@@ -2684,8 +2684,12 @@ if not env.TargetOSIs('windows', 'macOS') and (env.Too
+ # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
+ env.Append( CCFLAGS=["-fasynchronous-unwind-tables",
+- "-ggdb" if not env.TargetOSIs('emscripten') else "-g",
+ "-Wall",
+ "-Wsign-compare",
+ "-Wno-unknown-pragmas",
+@@ -2600,8 +2599,12 @@ if not env.TargetOSIs('windows', 'macOS') and (env.Too
# setting it for both C and C++ by setting both of CFLAGS and
# CXXFLAGS.
diff --git a/databases/mongodb60/files/patch-boost179-link-fix b/databases/mongodb60/files/patch-boost179-link-fix
new file mode 100644
index 000000000000..157ebaaf0221
--- /dev/null
+++ b/databases/mongodb60/files/patch-boost179-link-fix
@@ -0,0 +1,21 @@
+--- SConstruct
++++ SConstruct
+@@ -3511,17 +3511,11 @@ def doConfigure(myenv):
+ "BOOST_LOG_NO_SHORTHAND_NAMES",
+ "BOOST_LOG_USE_NATIVE_SYSLOG",
+ "BOOST_LOG_WITHOUT_THREAD_ATTR",
++ "BOOST_LOG_DYN_LINK",
+ "ABSL_FORCE_ALIGNED_ACCESS",
+ ]
+ )
+
+- if link_model.startswith("dynamic") and not link_model == 'dynamic-sdk':
+- conf.env.AppendUnique(
+- CPPDEFINES=[
+- "BOOST_LOG_DYN_LINK",
+- ]
+- )
+-
+ if use_system_version_of_library("boost"):
+ if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ):
+ myenv.ConfError("can't find boost headers")
diff --git a/databases/mongodb60/files/patch-boost179-system-compat-fix b/databases/mongodb60/files/patch-boost179-system-compat-fix
new file mode 100644
index 000000000000..bb991c72455d
--- /dev/null
+++ b/databases/mongodb60/files/patch-boost179-system-compat-fix
@@ -0,0 +1,108 @@
+diff --git a/src/mongo/db/auth/security_key_test.cpp b/src/mongo/db/auth/security_key_test.cpp
+index 96f95829..e64aded8 100644
+--- src/mongo/db/auth/security_key_test.cpp
++++ src/mongo/db/auth/security_key_test.cpp
+@@ -30,6 +30,7 @@
+ #include "mongo/platform/basic.h"
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+
+ #include "mongo/base/string_data.h"
+ #include "mongo/db/auth/authorization_manager.h"
+diff --git a/src/mongo/db/repl/tenant_migration_shard_merge_util.cpp b/src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
+index 05779a48..011c49e7 100644
+--- src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
++++ src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
+@@ -32,6 +32,7 @@
+ #include "mongo/db/repl/tenant_migration_shard_merge_util.h"
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/operations.hpp>
+ #include <boost/filesystem/path.hpp>
+ #include <fmt/format.h>
+diff --git a/src/mongo/db/storage/storage_repair_observer.cpp b/src/mongo/db/storage/storage_repair_observer.cpp
+index 22b76a6a..ec5bcece 100644
+--- src/mongo/db/storage/storage_repair_observer.cpp
++++ src/mongo/db/storage/storage_repair_observer.cpp
+@@ -41,6 +41,7 @@
+ #include <sys/types.h>
+ #endif
+
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+
+ #include "mongo/db/dbhelpers.h"
+diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
+index 2c5a6ed5..6c98c384 100644
+--- src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
++++ src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
+@@ -48,6 +48,7 @@
+ #include "mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h"
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/operations.hpp>
+ #include <boost/filesystem/path.hpp>
+ #include <boost/system/error_code.hpp>
+diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
+index 9917d95e..c4073444 100644
+--- src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
++++ src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
+@@ -34,6 +34,7 @@
+ #include "mongo/db/storage/kv/kv_engine_test_harness.h"
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+ #include <memory>
+
+diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
+index de31ec10..c29fbd33 100644
+--- src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
++++ src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
+@@ -36,6 +36,7 @@
+ #include <limits>
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+
+ #include "mongo/base/simple_string_data_comparator.h"
+diff --git a/src/mongo/shell/shell_utils_extended.cpp b/src/mongo/shell/shell_utils_extended.cpp
+index 6cd6dc6e..318d6a8d 100644
+--- src/mongo/shell/shell_utils_extended.cpp
++++ src/mongo/shell/shell_utils_extended.cpp
+@@ -37,6 +37,7 @@
+ #endif
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <fmt/format.h>
+ #include <fstream>
+
+diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
+index 37e3d2ea..9027110d 100644
+--- src/mongo/util/processinfo_linux.cpp
++++ src/mongo/util/processinfo_linux.cpp
+@@ -36,6 +36,7 @@
+ #include <iostream>
+ #include <malloc.h>
+ #include <pcrecpp.h>
++#include <fstream>
+ #include <sched.h>
+ #include <stdio.h>
+ #include <sys/mman.h>
+diff --git a/src/mongo/util/stacktrace_threads.cpp b/src/mongo/util/stacktrace_threads.cpp
+index d7157d0e..3aca6357 100644
+--- src/mongo/util/stacktrace_threads.cpp
++++ src/mongo/util/stacktrace_threads.cpp
+@@ -36,6 +36,7 @@
+ #include <array>
+ #include <atomic>
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <cstdint>
+ #include <cstdlib>
+ #include <dirent.h>
diff --git a/databases/mongodb60/files/patch-src_mongo_db_fts_stemmer.h b/databases/mongodb60/files/patch-src_mongo_db_fts_stemmer.h
new file mode 100644
index 000000000000..9b235ec0c7e0
--- /dev/null
+++ b/databases/mongodb60/files/patch-src_mongo_db_fts_stemmer.h
@@ -0,0 +1,11 @@
+--- src/mongo/db/fts/stemmer.h.orig 2022-09-26 08:31:59 UTC
++++ src/mongo/db/fts/stemmer.h
+@@ -32,7 +32,7 @@
+
+ #include "mongo/base/string_data.h"
+ #include "mongo/db/fts/fts_language.h"
+-#include "third_party/libstemmer_c/include/libstemmer.h"
++#include "libstemmer.h"
+
+ namespace mongo {
+