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 clon