View | Details | Raw Unified | Return to bug 266587 | Differences between
and this patch

Collapse All | Expand All

(-)b/databases/mongodb60/Makefile (-25 / +68 lines)
Lines 1-6 Link Here
1
PORTNAME=	mongodb
1
PORTNAME=	mongodb
2
DISTVERSIONPREFIX=	r
2
DISTVERSIONPREFIX=	r
3
DISTVERSION=	6.0.1
3
DISTVERSION=	6.0.1
4
PORTREVISION=	1
4
CATEGORIES=	databases net
5
CATEGORIES=	databases net
5
PKGNAMESUFFIX=	${DISTVERSION:R:S/.//}
6
PKGNAMESUFFIX=	${DISTVERSION:R:S/.//}
6
7
Lines 14-60 LICENSE_NAME_SSPLv1= Server Side Public License Version 1 Link Here
14
LICENSE_FILE_SSPLv1=	${WRKSRC}/LICENSE-Community.txt
15
LICENSE_FILE_SSPLv1=	${WRKSRC}/LICENSE-Community.txt
15
LICENSE_PERMS_SSPLv1=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
16
LICENSE_PERMS_SSPLv1=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
16
17
17
ONLY_FOR_ARCHS=	aarch64 amd64
18
ONLY_FOR_ARCHS=	aarch64 amd64 powerpc64le
18
ONLY_FOR_ARCHS_REASON=	only ported to amd64 and aarch64 on FreeBSD; upstream supports arm64, ppc64le, s390x, and x86-64
19
ONLY_FOR_ARCHS_REASON=	only ported to amd64, aarch64, and powerpc64le on FreeBSD; upstream supports arm64, ppc64le, s390x, and x86-64
19
20
20
BUILD_DEPENDS=	${LOCALBASE}/bin/ar:devel/binutils \
21
BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR} \
21
		${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR} \
22
		${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
22
		${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
23
		${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \
23
		${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \
24
		${PYTHON_PKGNAMEPREFIX}pymongo>0:databases/pymongo@${PY_FLAVOR} \
24
		${PYTHON_PKGNAMEPREFIX}pymongo>0:databases/pymongo@${PY_FLAVOR} \
25
		${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR}
25
		${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR}
26
LIB_DEPENDS=	libcurl.so:ftp/curl \
26
# build depends used while running ${WRKSRC}/src/third_party/mozjs/gen-config.sh
27
BUILD_DEPENDS+=	autoconf2.13:devel/autoconf2.13 \
28
		gsed:textproc/gsed
29
LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
30
		libcurl.so:ftp/curl \
31
		libicuuc.so:devel/icu \
32
		libunwind.so:devel/libunwind \
27
		libpcre.so:devel/pcre \
33
		libpcre.so:devel/pcre \
28
		libsnappy.so:archivers/snappy
34
		libsnappy.so:archivers/snappy \
35
		libstemmer.so:textproc/snowballstemmer \
36
		libyaml-cpp.so:devel/yaml-cpp \
37
		libzstd.so:archivers/zstd
38
39
USES=		compiler:c++17-lang cpe python:3.7+,build scons shebangfix
40
# gmake is used while running ${WRKSRC}/src/third_party/mozjs/gen-config.sh
41
USES+=		gmake pkgconfig
42
43
# mozjs tag comes from ${WRKSRC}/src/third_party/mozjs/get-sources.sh
44
MOZJS_TAG=	82aac6af18abcd5bf188afbc821779ccb0ca0902
29
45
30
USES=		compiler:c++17-lang cpe python:3.5+,build scons shebangfix
31
USE_GITHUB=	yes
46
USE_GITHUB=	yes
32
GH_ACCOUNT=	mongodb
47
GH_ACCOUNT=	mongodb mongodb-forks:mozjs
33
GH_PROJECT=	mongo
48
GH_PROJECT=	mongo spidermonkey:mozjs
49
GH_TAGNAME=	${MOZJS_TAG}:mozjs
34
USE_RC_SUBR=	mongod
50
USE_RC_SUBR=	mongod
35
51
36
SHEBANG_FILES=	buildscripts/scons.py
52
SHEBANG_FILES=	buildscripts/scons.py
37
python_OLD_CMD=	@python_interpreter@
53
python_OLD_CMD=	@python_interpreter@
38
54
39
CONFLICTS_INSTALL=	mongodb[0-9][0-9]
40
41
USERS=		mongodb
42
GROUPS=		mongodb
43
44
OPTIONS_DEFINE=		LTO SASL SSL
45
OPTIONS_DEFAULT=	LTO SASL SSL
46
47
MAKE_ARGS=	--cxx-std=17 \
55
MAKE_ARGS=	--cxx-std=17 \
48
		--disable-warnings-as-errors \
56
		--disable-warnings-as-errors \
49
		--libc++ \
57
		--libc++ \
50
		--runtime-hardening=on \
58
		--runtime-hardening=on \
59
		--use-system-boost \
60
		--use-system-icu \
61
		--use-system-libunwind \
51
		--use-system-pcre \
62
		--use-system-pcre \
52
		--use-system-snappy \
63
		--use-system-snappy \
64
		--use-system-stemmer \
65
		--use-system-yaml \
53
		--use-system-zlib \
66
		--use-system-zlib \
67
		--use-system-zstd \
54
		-j ${MAKE_JOBS_NUMBER} \
68
		-j ${MAKE_JOBS_NUMBER} \
55
		AR=${PREFIX}/bin/ar \
69
		AR=llvm-ar \
56
		MONGO_VERSION=${DISTVERSION} \
70
		MONGO_VERSION=${DISTVERSION} \
57
		VERBOSE=on
71
		VERBOSE=on \
72
		LDFLAGS="${LDFLAGS}"
73
74
CONFLICTS_INSTALL=	mongodb[0-9][0-9]
75
76
USERS=		mongodb
77
GROUPS=		mongodb
78
79
OPTIONS_DEFINE=			LTO SASL SSL
80
OPTIONS_DEFAULT=		LTO SASL SSL
58
81
59
LTO_MAKE_ARGS=	--lto=on
82
LTO_MAKE_ARGS=	--lto=on
60
83
Lines 66-75 SSL_MAKE_ARGS= --ssl Link Here
66
89
67
.include <bsd.port.pre.mk>
90
.include <bsd.port.pre.mk>
68
91
69
.if ${ARCH} == aarch64 || ${ARCH} == powerpc64le
70
EXTRA_PATCHES=	${FILESDIR}/${ARCH}
71
.endif
72
73
ALL_TARGET=	install-core
92
ALL_TARGET=	install-core
74
93
75
# This ports is only following the Major Release.
94
# This ports is only following the Major Release.
Lines 78-85 PORTSCOUT= limit:^6\.0\. Link Here
78
97
79
CPE_PRODUCT=	mongodb
98
CPE_PRODUCT=	mongodb
80
99
81
#pre-patch:
100
.if ${ARCH} == amd64
82
#	${MV} ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.sx ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.S
101
MOZJS_ARCH=x86_64
102
.elif ${ARCH} == powerpc64le
103
MOZJS_ARCH=ppc64le
104
.elif ${ARCH} == aarch64
105
MOZJS_ARCH=${ARCH}
106
.else
107
.error Unsupport architecture "${ARCH}"
108
.endif
109
110
post-patch:
111
	${RM} -rf ${WRKSRC}/src/third_party/boost
112
	${RM} -rf ${WRKSRC}/src/third_party/icu4c-*
113
	${RM} -rf ${WRKSRC}/src/third_party/pcre-*
114
	${RM} -rf ${WRKSRC}/src/third_party/snappy-*
115
	${RM} -rf ${WRKSRC}/src/third_party/libstemmer_c
116
	${RM} -rf ${WRKSRC}/src/third_party/unwind
117
	${RM} -rf ${WRKSRC}/src/third_party/yaml-cpp
118
	${RM} -rf ${WRKSRC}/src/third_party/zlib-*
119
	${RM} -rf ${WRKSRC}/src/third_party/zstandard
120
121
do-configure:
122
	# Replacement of ${WRKSRC}/src/third_party/mozjs/get-sources.sh
123
	${LN} -sF ${WRKDIR}/spidermonkey-${MOZJS_TAG} ${WRKSRC}/src/third_party/mozjs/mozilla-release
124
	cd ${WRKSRC}/src/third_party/mozjs/mozilla-release/js/src && ${LOCALBASE}/bin/autoconf2.13
125
	cd ${WRKSRC}/src/third_party/mozjs && PYTHON3="${PYTHON_CMD}" ${SH} ./gen-config.sh ${MOZJS_ARCH} freebsd
83
126
84
do-build:
127
do-build:
85
	${WRKSRC}/buildscripts/scons.py	-C ${WRKSRC} ${MAKE_ARGS}
128
	${WRKSRC}/buildscripts/scons.py	-C ${WRKSRC} ${MAKE_ARGS}
(-)b/databases/mongodb60/distinfo (-1 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1662628894
1
TIMESTAMP = 1663074731
2
SHA256 (mongodb-mongo-r6.0.1_GH0.tar.gz) = 8b6ed047a61b6172756810c906b2b182761f6c55c8ac34c9a60f41347f1659aa
2
SHA256 (mongodb-mongo-r6.0.1_GH0.tar.gz) = 8b6ed047a61b6172756810c906b2b182761f6c55c8ac34c9a60f41347f1659aa
3
SIZE (mongodb-mongo-r6.0.1_GH0.tar.gz) = 90452293
3
SIZE (mongodb-mongo-r6.0.1_GH0.tar.gz) = 90452293
4
SHA256 (mongodb-forks-spidermonkey-82aac6af18abcd5bf188afbc821779ccb0ca0902_GH0.tar.gz) = a365bf54ef4e4fd6a136cf6afa9c620ba0c8982402473b9bfac38928a688a9e0
5
SIZE (mongodb-forks-spidermonkey-82aac6af18abcd5bf188afbc821779ccb0ca0902_GH0.tar.gz) = 141291901
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src0.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src0.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src0.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "builtin/Array.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "builtin/Array.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "builtin/Array.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "builtin/AtomicsObject.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "builtin/AtomicsObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "builtin/AtomicsObject.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "builtin/BigInt.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "builtin/BigInt.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "builtin/BigInt.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "builtin/Boolean.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "builtin/Boolean.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "builtin/Boolean.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "builtin/DataViewObject.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "builtin/DataViewObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "builtin/DataViewObject.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "builtin/Eval.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "builtin/Eval.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "builtin/Eval.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src1.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src1.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src1.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "builtin/FinalizationRegistryObject.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "builtin/FinalizationRegistryObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "builtin/FinalizationRegistryObject.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "builtin/JSON.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "builtin/JSON.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "builtin/JSON.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "builtin/MapObject.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "builtin/MapObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "builtin/MapObject.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "builtin/ModuleObject.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "builtin/ModuleObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "builtin/ModuleObject.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "builtin/Object.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "builtin/Object.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "builtin/Object.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "builtin/Profilers.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "builtin/Profilers.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "builtin/Profilers.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src10.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src10.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src10.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "proxy/Wrapper.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "proxy/Wrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "proxy/Wrapper.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "threading/Mutex.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "threading/Mutex.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "threading/Mutex.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "threading/ProtectedData.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "threading/ProtectedData.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "threading/ProtectedData.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "threading/Thread.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "threading/Thread.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "threading/Thread.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "threading/posix/CpuCount.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "threading/posix/CpuCount.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "threading/posix/CpuCount.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "threading/posix/PosixThread.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "threading/posix/PosixThread.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "threading/posix/PosixThread.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src11.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src11.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src11.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "util/AllocPolicy.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "util/AllocPolicy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "util/AllocPolicy.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "util/AllocationLogging.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "util/AllocationLogging.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "util/AllocationLogging.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "util/CompleteFile.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "util/CompleteFile.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "util/CompleteFile.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "util/DumpFunctions.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "util/DumpFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "util/DumpFunctions.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "util/NativeStack.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "util/NativeStack.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "util/NativeStack.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "util/Printf.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "util/Printf.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "util/Printf.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src12.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src12.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src12.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "util/StringBuffer.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "util/StringBuffer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "util/StringBuffer.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "util/StructuredSpewer.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "util/StructuredSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "util/StructuredSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "util/Text.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "util/Text.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "util/Text.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "util/Unicode.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "util/Unicode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "util/Unicode.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/Activation.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/Activation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/Activation.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/ArgumentsObject.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/ArgumentsObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/ArgumentsObject.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src13.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src13.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src13.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/ArrayBufferObject.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/ArrayBufferObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/ArrayBufferObject.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/ArrayBufferObjectMaybeShared.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/ArrayBufferObjectMaybeShared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/ArrayBufferObjectMaybeShared.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/ArrayBufferViewObject.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/ArrayBufferViewObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/ArrayBufferViewObject.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/AsyncFunction.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/AsyncFunction.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/AsyncFunction.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/AsyncIteration.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/AsyncIteration.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/AsyncIteration.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/BigIntType.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/BigIntType.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/BigIntType.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src14.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src14.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src14.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/BuildId.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/BuildId.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/BuildId.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/BuiltinObjectKind.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/BuiltinObjectKind.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/BuiltinObjectKind.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/BytecodeLocation.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/BytecodeLocation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/BytecodeLocation.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/BytecodeUtil.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/BytecodeUtil.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/BytecodeUtil.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/Caches.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/Caches.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/Caches.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/CallNonGenericMethod.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/CallNonGenericMethod.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/CallNonGenericMethod.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src15.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src15.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src15.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/CharacterEncoding.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/CharacterEncoding.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/CharacterEncoding.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/CodeCoverage.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/CodeCoverage.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/CodeCoverage.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/Compartment.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/Compartment.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/Compartment.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/CompilationAndEvaluation.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/CompilationAndEvaluation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/CompilationAndEvaluation.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/Compression.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/Compression.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/Compression.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/DateTime.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/DateTime.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/DateTime.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src16.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src16.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src16.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/EnvironmentObject.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/EnvironmentObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/EnvironmentObject.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/EqualityOperations.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/EqualityOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/EqualityOperations.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/ErrorMessages.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/ErrorMessages.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/ErrorMessages.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/ErrorObject.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/ErrorObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/ErrorObject.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/ErrorReporting.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/ErrorReporting.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/ErrorReporting.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/Exception.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/Exception.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/Exception.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src17.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src17.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src17.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/ForOfIterator.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/ForOfIterator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/ForOfIterator.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/FrameIter.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/FrameIter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/FrameIter.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/FunctionFlags.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/FunctionFlags.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/FunctionFlags.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/GeckoProfiler.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/GeckoProfiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/GeckoProfiler.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/GeneratorObject.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/GeneratorObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/GeneratorObject.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/GetterSetter.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/GetterSetter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/GetterSetter.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src18.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src18.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src18.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/GlobalObject.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/GlobalObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/GlobalObject.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/HelperThreads.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/HelperThreads.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/HelperThreads.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/Id.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/Id.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/Id.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/Initialization.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/Initialization.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/Initialization.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/InternalThreadPool.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/InternalThreadPool.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/InternalThreadPool.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/Iteration.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/Iteration.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/Iteration.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src19.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src19.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src19.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/JSAtom.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/JSAtom.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/JSAtom.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/JSContext.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/JSContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/JSContext.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/JSFunction.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/JSFunction.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/JSFunction.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/JSONParser.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/JSONParser.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/JSONParser.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/JSONPrinter.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/JSONPrinter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/JSONPrinter.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/JSObject.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/JSObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/JSObject.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src2.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src2.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src2.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "builtin/Promise.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "builtin/Promise.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "builtin/Promise.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "builtin/Reflect.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "builtin/Reflect.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "builtin/Reflect.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "builtin/ReflectParse.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "builtin/ReflectParse.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "builtin/ReflectParse.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "builtin/Stream.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "builtin/Stream.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "builtin/Stream.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "builtin/String.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "builtin/String.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "builtin/String.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "builtin/Symbol.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "builtin/Symbol.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "builtin/Symbol.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src20.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src20.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src20.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/JSScript.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/JSScript.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/JSScript.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/JitActivation.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/JitActivation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/JitActivation.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/List.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/List.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/List.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/MemoryMetrics.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/MemoryMetrics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/MemoryMetrics.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/Modules.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/Modules.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/Modules.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/NativeObject.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/NativeObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/NativeObject.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src21.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src21.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src21.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/OffThreadPromiseRuntimeState.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/OffThreadPromiseRuntimeState.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/OffThreadPromiseRuntimeState.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/OffThreadScriptCompilation.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/OffThreadScriptCompilation.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/OffThreadScriptCompilation.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/PIC.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/PIC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/PIC.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/PlainObject.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/PlainObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/PlainObject.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/Printer.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/Printer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/Printer.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/Probes.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/Probes.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/Probes.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src22.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src22.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src22.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/PromiseLookup.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/PromiseLookup.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/PromiseLookup.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/PropMap.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/PropMap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/PropMap.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/ProxyObject.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/ProxyObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/ProxyObject.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/Realm.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/Realm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/Realm.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/RegExpObject.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/RegExpObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/RegExpObject.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/RegExpStatics.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/RegExpStatics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/RegExpStatics.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src23.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src23.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src23.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/Runtime.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/Runtime.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/Runtime.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/SavedStacks.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/SavedStacks.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/SavedStacks.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/Scope.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/Scope.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/Scope.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/SelfHosting.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/SelfHosting.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/SelfHosting.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/Shape.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/Shape.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/Shape.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/ShapeZone.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/ShapeZone.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/ShapeZone.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src24.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src24.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src24.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/SharedArrayObject.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/SharedArrayObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/SharedArrayObject.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/SharedImmutableStringsCache.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/SharedImmutableStringsCache.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/SharedImmutableStringsCache.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/SourceHook.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/SourceHook.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/SourceHook.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/Stack.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/Stack.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/Stack.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/StencilObject.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/StencilObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/StencilObject.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/StringType.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/StringType.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/StringType.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src25.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src25.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src25.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/StructuredClone.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/StructuredClone.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/StructuredClone.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/SymbolType.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/SymbolType.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/SymbolType.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/TaggedProto.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/TaggedProto.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/TaggedProto.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/ThrowMsgKind.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/ThrowMsgKind.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/ThrowMsgKind.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/Time.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/Time.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/Time.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/ToSource.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/ToSource.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/ToSource.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src26.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src26.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src26.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/TypedArrayObject.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/TypedArrayObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/TypedArrayObject.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/UbiNode.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/UbiNode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/UbiNode.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/UbiNodeCensus.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/UbiNodeCensus.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/UbiNodeCensus.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/UbiNodeShortestPaths.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/UbiNodeShortestPaths.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/UbiNodeShortestPaths.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "vm/UsageStatistics.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "vm/UsageStatistics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "vm/UsageStatistics.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "vm/Value.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "vm/Value.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "vm/Value.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src27.cpp (-41 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src27.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src27.cpp
3
@@ -0,0 +1,37 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "vm/Warnings.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "vm/Warnings.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "vm/Warnings.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "vm/WellKnownAtom.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "vm/WellKnownAtom.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "vm/WellKnownAtom.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "vm/WindowProxy.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "vm/WindowProxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "vm/WindowProxy.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "vm/Xdr.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "vm/Xdr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "vm/Xdr.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src3.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src3.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src3.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "builtin/TestingFunctions.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "builtin/TestingFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "builtin/TestingFunctions.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "builtin/TestingUtility.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "builtin/TestingUtility.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "builtin/TestingUtility.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "builtin/WeakMapObject.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "builtin/WeakMapObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "builtin/WeakMapObject.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "builtin/WeakRefObject.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "builtin/WeakRefObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "builtin/WeakRefObject.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "builtin/WeakSetObject.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "builtin/WeakSetObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "builtin/WeakSetObject.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "builtin/streams/MiscellaneousOperations.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "builtin/streams/MiscellaneousOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "builtin/streams/MiscellaneousOperations.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src4.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src4.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src4.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "builtin/streams/PipeToState.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "builtin/streams/PipeToState.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "builtin/streams/PipeToState.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "builtin/streams/PullIntoDescriptor.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "builtin/streams/PullIntoDescriptor.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "builtin/streams/PullIntoDescriptor.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "builtin/streams/QueueWithSizes.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "builtin/streams/QueueWithSizes.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "builtin/streams/QueueWithSizes.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "builtin/streams/QueueingStrategies.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "builtin/streams/QueueingStrategies.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "builtin/streams/QueueingStrategies.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "builtin/streams/ReadableStream.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "builtin/streams/ReadableStream.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "builtin/streams/ReadableStream.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "builtin/streams/ReadableStreamBYOBReader.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "builtin/streams/ReadableStreamBYOBReader.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "builtin/streams/ReadableStreamBYOBReader.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src5.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src5.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src5.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "builtin/streams/ReadableStreamDefaultController.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "builtin/streams/ReadableStreamDefaultController.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "builtin/streams/ReadableStreamDefaultController.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "builtin/streams/ReadableStreamDefaultControllerOperations.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "builtin/streams/ReadableStreamDefaultControllerOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "builtin/streams/ReadableStreamDefaultControllerOperations.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "builtin/streams/ReadableStreamDefaultReader.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "builtin/streams/ReadableStreamDefaultReader.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "builtin/streams/ReadableStreamDefaultReader.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "builtin/streams/ReadableStreamInternals.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "builtin/streams/ReadableStreamInternals.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "builtin/streams/ReadableStreamInternals.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "builtin/streams/ReadableStreamOperations.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "builtin/streams/ReadableStreamOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "builtin/streams/ReadableStreamOperations.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "builtin/streams/ReadableStreamReader.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "builtin/streams/ReadableStreamReader.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "builtin/streams/ReadableStreamReader.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src6.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src6.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src6.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "builtin/streams/StreamAPI.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "builtin/streams/StreamAPI.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "builtin/streams/StreamAPI.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "builtin/streams/TeeState.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "builtin/streams/TeeState.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "builtin/streams/TeeState.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "builtin/streams/WritableStream.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "builtin/streams/WritableStream.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "builtin/streams/WritableStream.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "builtin/streams/WritableStreamDefaultController.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "builtin/streams/WritableStreamDefaultController.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "builtin/streams/WritableStreamDefaultController.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "builtin/streams/WritableStreamDefaultControllerOperations.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "builtin/streams/WritableStreamDefaultControllerOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "builtin/streams/WritableStreamDefaultControllerOperations.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "builtin/streams/WritableStreamDefaultWriter.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "builtin/streams/WritableStreamDefaultWriter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "builtin/streams/WritableStreamDefaultWriter.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src7.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src7.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src7.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "builtin/streams/WritableStreamOperations.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "builtin/streams/WritableStreamOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "builtin/streams/WritableStreamOperations.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "builtin/streams/WritableStreamWriterOperations.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "builtin/streams/WritableStreamWriterOperations.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "builtin/streams/WritableStreamWriterOperations.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "ds/Bitmap.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "ds/Bitmap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "ds/Bitmap.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "ds/LifoAlloc.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "ds/LifoAlloc.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "ds/LifoAlloc.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "ds/MemoryProtectionExceptionHandler.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "ds/MemoryProtectionExceptionHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "ds/MemoryProtectionExceptionHandler.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jsapi.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jsapi.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jsapi.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src8.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src8.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src8.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jsdate.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jsdate.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jsdate.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jsexn.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jsexn.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jsexn.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jsfriendapi.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jsfriendapi.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jsfriendapi.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jsnum.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jsnum.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jsnum.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "proxy/BaseProxyHandler.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "proxy/BaseProxyHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "proxy/BaseProxyHandler.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "proxy/CrossCompartmentWrapper.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "proxy/CrossCompartmentWrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "proxy/CrossCompartmentWrapper.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_Unified__cpp__js__src9.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src9.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/Unified_cpp_js_src9.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "proxy/DOMProxy.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "proxy/DOMProxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "proxy/DOMProxy.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "proxy/DeadObjectProxy.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "proxy/DeadObjectProxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "proxy/DeadObjectProxy.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "proxy/OpaqueCrossCompartmentWrapper.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "proxy/OpaqueCrossCompartmentWrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "proxy/OpaqueCrossCompartmentWrapper.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "proxy/Proxy.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "proxy/Proxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "proxy/Proxy.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "proxy/ScriptedProxyHandler.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "proxy/ScriptedProxyHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "proxy/ScriptedProxyHandler.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "proxy/SecurityWrapper.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "proxy/SecurityWrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "proxy/SecurityWrapper.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger0.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/debugger/Unified_cpp_js_src_debugger0.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/debugger/Unified_cpp_js_src_debugger0.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "debugger/DebugScript.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "debugger/DebugScript.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "debugger/DebugScript.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "debugger/Debugger.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "debugger/Debugger.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "debugger/Debugger.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "debugger/DebuggerMemory.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "debugger/DebuggerMemory.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "debugger/DebuggerMemory.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "debugger/Environment.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "debugger/Environment.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "debugger/Environment.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "debugger/Frame.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "debugger/Frame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "debugger/Frame.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "debugger/NoExecute.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "debugger/NoExecute.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "debugger/NoExecute.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_debugger_Unified__cpp__js__src__debugger1.cpp (-32 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/debugger/Unified_cpp_js_src_debugger1.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/debugger/Unified_cpp_js_src_debugger1.cpp
3
@@ -0,0 +1,28 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "debugger/Object.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "debugger/Object.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "debugger/Object.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "debugger/Script.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "debugger/Script.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "debugger/Script.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "debugger/Source.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "debugger/Source.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "debugger/Source.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend0.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend0.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend0.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "frontend/AbstractScopePtr.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "frontend/AbstractScopePtr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "frontend/AbstractScopePtr.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "frontend/AsyncEmitter.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "frontend/AsyncEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "frontend/AsyncEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "frontend/BytecodeCompiler.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "frontend/BytecodeCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "frontend/BytecodeCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "frontend/BytecodeControlStructures.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "frontend/BytecodeControlStructures.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "frontend/BytecodeControlStructures.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "frontend/BytecodeEmitter.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "frontend/BytecodeEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "frontend/BytecodeEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "frontend/BytecodeSection.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "frontend/BytecodeSection.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "frontend/BytecodeSection.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend1.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend1.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend1.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "frontend/CForEmitter.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "frontend/CForEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "frontend/CForEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "frontend/CallOrNewEmitter.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "frontend/CallOrNewEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "frontend/CallOrNewEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "frontend/DefaultEmitter.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "frontend/DefaultEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "frontend/DefaultEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "frontend/DoWhileEmitter.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "frontend/DoWhileEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "frontend/DoWhileEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "frontend/ElemOpEmitter.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "frontend/ElemOpEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "frontend/ElemOpEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "frontend/EmitterScope.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "frontend/EmitterScope.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "frontend/EmitterScope.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend2.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend2.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend2.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "frontend/ExpressionStatementEmitter.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "frontend/ExpressionStatementEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "frontend/ExpressionStatementEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "frontend/FoldConstants.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "frontend/FoldConstants.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "frontend/FoldConstants.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "frontend/ForInEmitter.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "frontend/ForInEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "frontend/ForInEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "frontend/ForOfEmitter.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "frontend/ForOfEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "frontend/ForOfEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "frontend/ForOfLoopControl.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "frontend/ForOfLoopControl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "frontend/ForOfLoopControl.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "frontend/FunctionEmitter.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "frontend/FunctionEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "frontend/FunctionEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend3.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend3.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend3.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "frontend/IfEmitter.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "frontend/IfEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "frontend/IfEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "frontend/JumpList.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "frontend/JumpList.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "frontend/JumpList.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "frontend/LabelEmitter.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "frontend/LabelEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "frontend/LabelEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "frontend/LexicalScopeEmitter.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "frontend/LexicalScopeEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "frontend/LexicalScopeEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "frontend/NameFunctions.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "frontend/NameFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "frontend/NameFunctions.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "frontend/NameOpEmitter.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "frontend/NameOpEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "frontend/NameOpEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend4.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend4.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend4.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "frontend/ObjLiteral.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "frontend/ObjLiteral.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "frontend/ObjLiteral.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "frontend/ObjectEmitter.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "frontend/ObjectEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "frontend/ObjectEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "frontend/OptionalEmitter.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "frontend/OptionalEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "frontend/OptionalEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "frontend/ParseContext.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "frontend/ParseContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "frontend/ParseContext.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "frontend/ParseNode.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "frontend/ParseNode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "frontend/ParseNode.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "frontend/ParseNodeVerify.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "frontend/ParseNodeVerify.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "frontend/ParseNodeVerify.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend5.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend5.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend5.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "frontend/ParserAtom.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "frontend/ParserAtom.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "frontend/ParserAtom.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "frontend/PrivateOpEmitter.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "frontend/PrivateOpEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "frontend/PrivateOpEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "frontend/PropOpEmitter.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "frontend/PropOpEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "frontend/PropOpEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "frontend/SharedContext.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "frontend/SharedContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "frontend/SharedContext.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "frontend/SourceNotes.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "frontend/SourceNotes.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "frontend/SourceNotes.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "frontend/Stencil.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "frontend/Stencil.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "frontend/Stencil.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_frontend_Unified__cpp__js__src__frontend6.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend6.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/frontend/Unified_cpp_js_src_frontend6.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "frontend/StencilXdr.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "frontend/StencilXdr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "frontend/StencilXdr.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "frontend/SwitchEmitter.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "frontend/SwitchEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "frontend/SwitchEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "frontend/TDZCheckCache.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "frontend/TDZCheckCache.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "frontend/TDZCheckCache.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "frontend/TokenStream.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "frontend/TokenStream.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "frontend/TokenStream.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "frontend/TryEmitter.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "frontend/TryEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "frontend/TryEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "frontend/WhileEmitter.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "frontend/WhileEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "frontend/WhileEmitter.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc0.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc0.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc0.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "gc/Allocator.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "gc/Allocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "gc/Allocator.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "gc/AtomMarking.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "gc/AtomMarking.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "gc/AtomMarking.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "gc/Barrier.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "gc/Barrier.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "gc/Barrier.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "gc/FinalizationRegistry.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "gc/FinalizationRegistry.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "gc/FinalizationRegistry.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "gc/GC.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "gc/GC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "gc/GC.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "gc/GCParallelTask.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "gc/GCParallelTask.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "gc/GCParallelTask.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc1.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc1.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc1.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "gc/Marking.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "gc/Marking.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "gc/Marking.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "gc/Memory.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "gc/Memory.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "gc/Memory.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "gc/Nursery.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "gc/Nursery.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "gc/Nursery.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "gc/Pretenuring.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "gc/Pretenuring.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "gc/Pretenuring.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "gc/PublicIterators.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "gc/PublicIterators.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "gc/PublicIterators.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "gc/RootMarking.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "gc/RootMarking.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "gc/RootMarking.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc2.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc2.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc2.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "gc/Scheduling.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "gc/Scheduling.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "gc/Scheduling.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "gc/Statistics.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "gc/Statistics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "gc/Statistics.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "gc/Tracer.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "gc/Tracer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "gc/Tracer.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "gc/Verifier.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "gc/Verifier.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "gc/Verifier.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "gc/WeakMap.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "gc/WeakMap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "gc/WeakMap.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "gc/WeakMapPtr.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "gc/WeakMapPtr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "gc/WeakMapPtr.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_gc_Unified__cpp__js__src__gc3.cpp (-14 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc3.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/gc/Unified_cpp_js_src_gc3.cpp
3
@@ -0,0 +1,10 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "gc/Zone.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "gc/Zone.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "gc/Zone.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp0.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp0.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp0.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "irregexp/RegExpAPI.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "irregexp/RegExpAPI.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "irregexp/RegExpAPI.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "irregexp/RegExpShim.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "irregexp/RegExpShim.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "irregexp/RegExpShim.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "irregexp/imported/regexp-ast.cc"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "irregexp/imported/regexp-ast.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "irregexp/imported/regexp-ast.cc defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "irregexp/imported/regexp-bytecode-generator.cc"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "irregexp/imported/regexp-bytecode-generator.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "irregexp/imported/regexp-bytecode-generator.cc defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "irregexp/imported/regexp-bytecode-peephole.cc"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "irregexp/imported/regexp-bytecode-peephole.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "irregexp/imported/regexp-bytecode-peephole.cc defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "irregexp/imported/regexp-bytecodes.cc"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "irregexp/imported/regexp-bytecodes.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "irregexp/imported/regexp-bytecodes.cc defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp1.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp1.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp1.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "irregexp/imported/regexp-compiler-tonode.cc"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "irregexp/imported/regexp-compiler-tonode.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "irregexp/imported/regexp-compiler-tonode.cc defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "irregexp/imported/regexp-dotprinter.cc"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "irregexp/imported/regexp-dotprinter.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "irregexp/imported/regexp-dotprinter.cc defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "irregexp/imported/regexp-interpreter.cc"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "irregexp/imported/regexp-interpreter.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "irregexp/imported/regexp-interpreter.cc defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "irregexp/imported/regexp-macro-assembler-tracer.cc"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "irregexp/imported/regexp-macro-assembler-tracer.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "irregexp/imported/regexp-macro-assembler-tracer.cc defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "irregexp/imported/regexp-macro-assembler.cc"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "irregexp/imported/regexp-macro-assembler.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "irregexp/imported/regexp-macro-assembler.cc defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "irregexp/imported/regexp-parser.cc"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "irregexp/imported/regexp-parser.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "irregexp/imported/regexp-parser.cc defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_irregexp_Unified__cpp__js__src__irregexp2.cpp (-23 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp2.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/irregexp/Unified_cpp_js_src_irregexp2.cpp
3
@@ -0,0 +1,19 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "irregexp/imported/regexp-stack.cc"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "irregexp/imported/regexp-stack.cc uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "irregexp/imported/regexp-stack.cc defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "irregexp/util/UnicodeShim.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "irregexp/util/UnicodeShim.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "irregexp/util/UnicodeShim.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit0.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit0.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit0.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/AliasAnalysis.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/AliasAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/AliasAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/AlignmentMaskAnalysis.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/AlignmentMaskAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/AlignmentMaskAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/BacktrackingAllocator.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/BacktrackingAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/BacktrackingAllocator.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/Bailouts.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/Bailouts.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/Bailouts.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/BaselineBailouts.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/BaselineBailouts.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/BaselineBailouts.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/BaselineCacheIRCompiler.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/BaselineCacheIRCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/BaselineCacheIRCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit1.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit1.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit1.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/BaselineCodeGen.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/BaselineCodeGen.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/BaselineCodeGen.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/BaselineDebugModeOSR.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/BaselineDebugModeOSR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/BaselineDebugModeOSR.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/BaselineFrame.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/BaselineFrame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/BaselineFrame.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/BaselineFrameInfo.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/BaselineFrameInfo.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/BaselineFrameInfo.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/BaselineIC.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/BaselineIC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/BaselineIC.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/BaselineJIT.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/BaselineJIT.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/BaselineJIT.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit10.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit10.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit10.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/ScalarReplacement.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/ScalarReplacement.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/ScalarReplacement.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/Sink.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/Sink.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/Sink.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/Snapshots.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/Snapshots.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/Snapshots.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/TrialInlining.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/TrialInlining.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/TrialInlining.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/TypePolicy.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/TypePolicy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/TypePolicy.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/VMFunctions.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/VMFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/VMFunctions.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit11.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit11.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit11.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/ValueNumbering.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/ValueNumbering.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/ValueNumbering.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/WarpBuilder.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/WarpBuilder.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/WarpBuilder.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/WarpBuilderShared.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/WarpBuilderShared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/WarpBuilderShared.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/WarpCacheIRTranspiler.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/WarpCacheIRTranspiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/WarpCacheIRTranspiler.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/WarpOracle.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/WarpOracle.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/WarpOracle.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/WarpSnapshot.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/WarpSnapshot.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/WarpSnapshot.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit12.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit12.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit12.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/WasmBCE.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/WasmBCE.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/WasmBCE.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/XrayJitInfo.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/XrayJitInfo.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/XrayJitInfo.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/arm64/Architecture-arm64.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/arm64/Architecture-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/arm64/Architecture-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/arm64/Assembler-arm64.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/arm64/Assembler-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/arm64/Assembler-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/arm64/Bailouts-arm64.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/arm64/Bailouts-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/arm64/Bailouts-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/arm64/CodeGenerator-arm64.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/arm64/CodeGenerator-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/arm64/CodeGenerator-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit13.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit13.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit13.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/arm64/Lowering-arm64.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/arm64/Lowering-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/arm64/Lowering-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/arm64/MacroAssembler-arm64.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/arm64/MacroAssembler-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/arm64/MacroAssembler-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/arm64/MoveEmitter-arm64.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/arm64/MoveEmitter-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/arm64/MoveEmitter-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/arm64/Trampoline-arm64.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/arm64/Trampoline-arm64.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/arm64/Trampoline-arm64.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/arm64/vixl/Assembler-vixl.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/arm64/vixl/Assembler-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/arm64/vixl/Assembler-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/arm64/vixl/Cpu-Features-vixl.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/arm64/vixl/Cpu-Features-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/arm64/vixl/Cpu-Features-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit14.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit14.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit14.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/arm64/vixl/Cpu-vixl.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/arm64/vixl/Cpu-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/arm64/vixl/Cpu-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/arm64/vixl/Decoder-vixl.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/arm64/vixl/Decoder-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/arm64/vixl/Decoder-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/arm64/vixl/Instructions-vixl.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/arm64/vixl/Instructions-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/arm64/vixl/Instructions-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/arm64/vixl/MacroAssembler-vixl.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/arm64/vixl/MacroAssembler-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/arm64/vixl/MacroAssembler-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/arm64/vixl/MozAssembler-vixl.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/arm64/vixl/MozAssembler-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/arm64/vixl/MozAssembler-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/arm64/vixl/MozCpu-vixl.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/arm64/vixl/MozCpu-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/arm64/vixl/MozCpu-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit15.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit15.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit15.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/arm64/vixl/MozInstructions-vixl.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/arm64/vixl/MozInstructions-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/arm64/vixl/MozInstructions-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/arm64/vixl/Utils-vixl.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/arm64/vixl/Utils-vixl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/arm64/vixl/Utils-vixl.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/shared/AtomicOperations-shared-jit.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/shared/AtomicOperations-shared-jit.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/shared/AtomicOperations-shared-jit.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/shared/CodeGenerator-shared.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/shared/CodeGenerator-shared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/shared/CodeGenerator-shared.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/shared/Disassembler-shared.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/shared/Disassembler-shared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/shared/Disassembler-shared.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/shared/Lowering-shared.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/shared/Lowering-shared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/shared/Lowering-shared.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit2.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit2.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit2.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/BitSet.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/BitSet.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/BitSet.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/BytecodeAnalysis.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/BytecodeAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/BytecodeAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/CacheIR.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/CacheIR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/CacheIR.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/CacheIRCompiler.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/CacheIRCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/CacheIRCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/CacheIRHealth.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/CacheIRHealth.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/CacheIRHealth.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/CacheIRSpewer.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/CacheIRSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/CacheIRSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit3.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit3.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit3.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/CodeGenerator.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/CodeGenerator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/CodeGenerator.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/CompileWrappers.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/CompileWrappers.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/CompileWrappers.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/Disassemble.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/Disassemble.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/Disassemble.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/EdgeCaseAnalysis.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/EdgeCaseAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/EdgeCaseAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/EffectiveAddressAnalysis.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/EffectiveAddressAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/EffectiveAddressAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/ExecutableAllocator.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/ExecutableAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/ExecutableAllocator.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit4.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit4.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit4.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/FoldLinearArithConstants.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/FoldLinearArithConstants.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/FoldLinearArithConstants.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/InlinableNatives.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/InlinableNatives.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/InlinableNatives.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/InstructionReordering.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/InstructionReordering.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/InstructionReordering.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/Ion.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/Ion.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/Ion.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/IonAnalysis.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/IonAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/IonAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/IonCacheIRCompiler.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/IonCacheIRCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/IonCacheIRCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit5.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit5.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit5.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/IonCompileTask.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/IonCompileTask.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/IonCompileTask.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/IonIC.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/IonIC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/IonIC.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/IonOptimizationLevels.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/IonOptimizationLevels.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/IonOptimizationLevels.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/JSJitFrameIter.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/JSJitFrameIter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/JSJitFrameIter.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/JSONSpewer.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/JSONSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/JSONSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/Jit.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/Jit.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/Jit.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit6.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit6.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit6.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/JitContext.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/JitContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/JitContext.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/JitFrames.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/JitFrames.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/JitFrames.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/JitOptions.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/JitOptions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/JitOptions.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/JitScript.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/JitScript.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/JitScript.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/JitSpewer.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/JitSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/JitSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/JitcodeMap.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/JitcodeMap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/JitcodeMap.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit7.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit7.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit7.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/KnownClass.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/KnownClass.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/KnownClass.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/LICM.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/LICM.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/LICM.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/LIR.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/LIR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/LIR.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/Label.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/Label.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/Label.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/Linker.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/Linker.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/Linker.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/Lowering.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/Lowering.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/Lowering.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit8.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit8.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit8.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/MIR.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/MIR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/MIR.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/MIRGraph.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/MIRGraph.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/MIRGraph.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/MacroAssembler.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/MacroAssembler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/MacroAssembler.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/MoveResolver.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/MoveResolver.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/MoveResolver.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/PerfSpewer.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/PerfSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/PerfSpewer.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/ProcessExecutableMemory.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/ProcessExecutableMemory.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/ProcessExecutableMemory.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_jit_Unified__cpp__js__src__jit9.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit9.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/jit/Unified_cpp_js_src_jit9.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "jit/RangeAnalysis.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "jit/RangeAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "jit/RangeAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "jit/Recover.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "jit/Recover.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "jit/Recover.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "jit/RegisterAllocator.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "jit/RegisterAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "jit/RegisterAllocator.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "jit/RematerializedFrame.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "jit/RematerializedFrame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "jit/RematerializedFrame.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "jit/SafepointIndex.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "jit/SafepointIndex.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "jit/SafepointIndex.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "jit/Safepoints.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "jit/Safepoints.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "jit/Safepoints.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_js-confdefs.h (-85 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/js-confdefs.h.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/js-confdefs.h
3
@@ -0,0 +1,82 @@
4
+/* List of defines generated by configure. Included with preprocessor flag,
5
+ * -include, to avoid long list of -D defines on the compile command-line.
6
+ * Do not edit.
7
+ */
8
+
9
+#ifndef js_confdefs_h
10
+#define js_confdefs_h
11
+
12
+// Expands to all the defines from configure.
13
+#define CROSS_COMPILE 
14
+#define ENABLE_SHARED_MEMORY 1
15
+#define ENABLE_WASM_SIMD 1
16
+#define HAVE_64BIT_BUILD 1
17
+#define HAVE_CLOCK_MONOTONIC 1
18
+#define HAVE_DIRENT_H 1
19
+#define HAVE_DLOPEN 1
20
+#define HAVE_FTS_H 1
21
+#define HAVE_GETC_UNLOCKED 1
22
+#define HAVE_GETOPT_H 1
23
+#define HAVE_GMTIME_R 1
24
+#define HAVE_INTTYPES_H 1
25
+#define HAVE_LANGINFO_CODESET 1
26
+#define HAVE_LIBM 1
27
+#define HAVE_LOCALECONV 1
28
+#define HAVE_LOCALTIME_R 1
29
+#define HAVE_MALLOC_H 1
30
+#define HAVE_MALLOC_USABLE_SIZE 1
31
+#define HAVE_MEMALIGN 1
32
+#define HAVE_MEMFD_CREATE 1
33
+#define HAVE_NETINET_IN_H 1
34
+#define HAVE_NL_TYPES_H 1
35
+#define HAVE_POSIX_FADVISE 1
36
+#define HAVE_POSIX_FALLOCATE 1
37
+#define HAVE_POSIX_MEMALIGN 1
38
+#define HAVE_PTHREAD_GETNAME_NP 1
39
+#define HAVE_PTHREAD_GET_NAME_NP 1
40
+#define HAVE_RES_NINIT 1
41
+#define HAVE_SSIZE_T 1
42
+#define HAVE_STDINT_H 1
43
+#define HAVE_STRNDUP 1
44
+#define HAVE_SYS_MOUNT_H 1
45
+#define HAVE_SYS_QUEUE_H 1
46
+#define HAVE_SYS_STATVFS_H 1
47
+#define HAVE_SYS_TYPES_H 1
48
+#define HAVE_THREAD_TLS_KEYWORD 1
49
+#define HAVE_TM_ZONE_TM_GMTOFF 1
50
+#define HAVE_UNISTD_H 1
51
+#define HAVE_VALLOC 1
52
+#define HAVE_VA_COPY 1
53
+#define HAVE_VISIBILITY_ATTRIBUTE 1
54
+#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
55
+#define HAVE___CXA_DEMANGLE 1
56
+#define JS_64BIT 1
57
+#define JS_CODEGEN_ARM64 1
58
+#define JS_DEFAULT_JITREPORT_GRANULARITY 3
59
+#define JS_PUNBOX64 1
60
+#define JS_STANDALONE 1
61
+#define JS_WITHOUT_NSPR 1
62
+#define MALLOC_H <malloc.h>
63
+#define MALLOC_USABLE_SIZE_CONST_PTR const
64
+#define MOZILLA_UAVERSION "91.0"
65
+#define MOZILLA_VERSION "91.4.0"
66
+#define MOZILLA_VERSION_U 91.4.0
67
+#define MOZJS_MAJOR_VERSION 91
68
+#define MOZJS_MINOR_VERSION 4
69
+#define MOZ_AARCH64_JSCVT 0
70
+#define MOZ_BUILD_APP js
71
+#define MOZ_DLL_PREFIX "lib"
72
+#define MOZ_DLL_SUFFIX ".so"
73
+#define MOZ_UPDATE_CHANNEL default
74
+#define NO_NSPR_10_SUPPORT 1
75
+#define NO_RUST_PANIC_HOOK 1
76
+#define RELEASE_OR_BETA 1
77
+#define STDC_HEADERS 1
78
+#define U_STATIC_IMPLEMENTATION 1
79
+#define VA_COPY va_copy
80
+#define XP_FREEBSD 1
81
+#define XP_UNIX 1
82
+#define _REENTRANT 1
83
+#define _THREAD_SAFE 1
84
+
85
+#endif /* js_confdefs_h */
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm0.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm0.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm0.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "wasm/AsmJS.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "wasm/AsmJS.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "wasm/AsmJS.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "wasm/TypedObject.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "wasm/TypedObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "wasm/TypedObject.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "wasm/WasmBaselineCompile.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "wasm/WasmBaselineCompile.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "wasm/WasmBaselineCompile.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "wasm/WasmBinary.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "wasm/WasmBinary.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "wasm/WasmBinary.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "wasm/WasmBuiltins.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "wasm/WasmBuiltins.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "wasm/WasmBuiltins.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "wasm/WasmCode.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "wasm/WasmCode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "wasm/WasmCode.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm1.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm1.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm1.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "wasm/WasmCompile.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "wasm/WasmCompile.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "wasm/WasmCompile.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "wasm/WasmContext.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "wasm/WasmContext.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "wasm/WasmContext.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "wasm/WasmDebug.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "wasm/WasmDebug.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "wasm/WasmDebug.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "wasm/WasmFrame.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "wasm/WasmFrame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "wasm/WasmFrame.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "wasm/WasmFrameIter.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "wasm/WasmFrameIter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "wasm/WasmFrameIter.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "wasm/WasmGC.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "wasm/WasmGC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "wasm/WasmGC.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm2.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm2.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm2.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "wasm/WasmGenerator.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "wasm/WasmGenerator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "wasm/WasmGenerator.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "wasm/WasmInitExpr.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "wasm/WasmInitExpr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "wasm/WasmInitExpr.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "wasm/WasmInstance.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "wasm/WasmInstance.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "wasm/WasmInstance.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "wasm/WasmIonCompile.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "wasm/WasmIonCompile.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "wasm/WasmIonCompile.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "wasm/WasmJS.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "wasm/WasmJS.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "wasm/WasmJS.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "wasm/WasmModule.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "wasm/WasmModule.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "wasm/WasmModule.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm3.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm3.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm3.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "wasm/WasmOpIter.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "wasm/WasmOpIter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "wasm/WasmOpIter.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "wasm/WasmProcess.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "wasm/WasmProcess.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "wasm/WasmProcess.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "wasm/WasmRealm.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "wasm/WasmRealm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "wasm/WasmRealm.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "wasm/WasmSignalHandlers.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "wasm/WasmSignalHandlers.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "wasm/WasmSignalHandlers.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "wasm/WasmStubs.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "wasm/WasmStubs.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "wasm/WasmStubs.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "wasm/WasmTable.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "wasm/WasmTable.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "wasm/WasmTable.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_build_wasm_Unified__cpp__js__src__wasm4.cpp (-59 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm4.cpp.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/build/wasm/Unified_cpp_js_src_wasm4.cpp
3
@@ -0,0 +1,55 @@
4
+#define MOZ_UNIFIED_BUILD
5
+#include "wasm/WasmTlsData.cpp"
6
+#ifdef PL_ARENA_CONST_ALIGN_MASK
7
+#error "wasm/WasmTlsData.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
8
+#undef PL_ARENA_CONST_ALIGN_MASK
9
+#endif
10
+#ifdef INITGUID
11
+#error "wasm/WasmTlsData.cpp defines INITGUID, so it cannot be built in unified mode."
12
+#undef INITGUID
13
+#endif
14
+#include "wasm/WasmTypeDef.cpp"
15
+#ifdef PL_ARENA_CONST_ALIGN_MASK
16
+#error "wasm/WasmTypeDef.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
17
+#undef PL_ARENA_CONST_ALIGN_MASK
18
+#endif
19
+#ifdef INITGUID
20
+#error "wasm/WasmTypeDef.cpp defines INITGUID, so it cannot be built in unified mode."
21
+#undef INITGUID
22
+#endif
23
+#include "wasm/WasmTypes.cpp"
24
+#ifdef PL_ARENA_CONST_ALIGN_MASK
25
+#error "wasm/WasmTypes.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
26
+#undef PL_ARENA_CONST_ALIGN_MASK
27
+#endif
28
+#ifdef INITGUID
29
+#error "wasm/WasmTypes.cpp defines INITGUID, so it cannot be built in unified mode."
30
+#undef INITGUID
31
+#endif
32
+#include "wasm/WasmValType.cpp"
33
+#ifdef PL_ARENA_CONST_ALIGN_MASK
34
+#error "wasm/WasmValType.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
35
+#undef PL_ARENA_CONST_ALIGN_MASK
36
+#endif
37
+#ifdef INITGUID
38
+#error "wasm/WasmValType.cpp defines INITGUID, so it cannot be built in unified mode."
39
+#undef INITGUID
40
+#endif
41
+#include "wasm/WasmValidate.cpp"
42
+#ifdef PL_ARENA_CONST_ALIGN_MASK
43
+#error "wasm/WasmValidate.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
44
+#undef PL_ARENA_CONST_ALIGN_MASK
45
+#endif
46
+#ifdef INITGUID
47
+#error "wasm/WasmValidate.cpp defines INITGUID, so it cannot be built in unified mode."
48
+#undef INITGUID
49
+#endif
50
+#include "wasm/WasmValue.cpp"
51
+#ifdef PL_ARENA_CONST_ALIGN_MASK
52
+#error "wasm/WasmValue.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode."
53
+#undef PL_ARENA_CONST_ALIGN_MASK
54
+#endif
55
+#ifdef INITGUID
56
+#error "wasm/WasmValue.cpp defines INITGUID, so it cannot be built in unified mode."
57
+#undef INITGUID
58
+#endif
59
\ No newline at end of file
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_frontend_ReservedWordsGenerated.h (-363 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/include/frontend/ReservedWordsGenerated.h.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/include/frontend/ReservedWordsGenerated.h
3
@@ -0,0 +1,360 @@
4
+    /*
5
+     * Generating switch for the list of 54 entries:
6
+     * false
7
+     * true
8
+     * null
9
+     * break
10
+     * case
11
+     * catch
12
+     * const
13
+     * continue
14
+     * debugger
15
+     * default
16
+     * delete
17
+     * do
18
+     * else
19
+     * finally
20
+     * for
21
+     * function
22
+     * if
23
+     * in
24
+     * instanceof
25
+     * new
26
+     * return
27
+     * switch
28
+     * this
29
+     * throw
30
+     * try
31
+     * typeof
32
+     * var
33
+     * void
34
+     * while
35
+     * with
36
+     * import
37
+     * export
38
+     * class
39
+     * extends
40
+     * super
41
+     * enum
42
+     * implements
43
+     * interface
44
+     * package
45
+     * private
46
+     * protected
47
+     * public
48
+     * as
49
+     * async
50
+     * await
51
+     * from
52
+     * get
53
+     * let
54
+     * meta
55
+     * of
56
+     * set
57
+     * static
58
+     * target
59
+     * yield
60
+     */
61
+    switch (JSRW_LENGTH()) {
62
+      case 2:
63
+        switch (JSRW_AT(1)) {
64
+          case 'f':
65
+            if (JSRW_AT(0) == 'i') {
66
+                JSRW_GOT_MATCH(16) /* if */
67
+            }
68
+            if (JSRW_AT(0) == 'o') {
69
+                JSRW_GOT_MATCH(49) /* of */
70
+            }
71
+            JSRW_NO_MATCH()
72
+          case 'n':
73
+            if (JSRW_AT(0)=='i') {
74
+                JSRW_GOT_MATCH(17) /* in */
75
+            }
76
+            JSRW_NO_MATCH()
77
+          case 'o':
78
+            if (JSRW_AT(0)=='d') {
79
+                JSRW_GOT_MATCH(11) /* do */
80
+            }
81
+            JSRW_NO_MATCH()
82
+          case 's':
83
+            if (JSRW_AT(0)=='a') {
84
+                JSRW_GOT_MATCH(42) /* as */
85
+            }
86
+            JSRW_NO_MATCH()
87
+        }
88
+        JSRW_NO_MATCH()
89
+      case 3:
90
+        switch (JSRW_AT(2)) {
91
+          case 'r':
92
+            if (JSRW_AT(0) == 'f') {
93
+                if (JSRW_AT(1)=='o') {
94
+                    JSRW_GOT_MATCH(14) /* for */
95
+                }
96
+                JSRW_NO_MATCH()
97
+            }
98
+            if (JSRW_AT(0) == 'v') {
99
+                if (JSRW_AT(1)=='a') {
100
+                    JSRW_GOT_MATCH(26) /* var */
101
+                }
102
+                JSRW_NO_MATCH()
103
+            }
104
+            JSRW_NO_MATCH()
105
+          case 't':
106
+            if (JSRW_AT(1) == 'e') {
107
+                if (JSRW_AT(0) == 'g') {
108
+                    JSRW_GOT_MATCH(46) /* get */
109
+                }
110
+                if (JSRW_AT(0) == 'l') {
111
+                    JSRW_GOT_MATCH(47) /* let */
112
+                }
113
+                if (JSRW_AT(0) == 's') {
114
+                    JSRW_GOT_MATCH(50) /* set */
115
+                }
116
+                JSRW_NO_MATCH()
117
+            }
118
+            JSRW_NO_MATCH()
119
+          case 'w':
120
+            if (JSRW_AT(0)=='n' && JSRW_AT(1)=='e') {
121
+                JSRW_GOT_MATCH(19) /* new */
122
+            }
123
+            JSRW_NO_MATCH()
124
+          case 'y':
125
+            if (JSRW_AT(0)=='t' && JSRW_AT(1)=='r') {
126
+                JSRW_GOT_MATCH(24) /* try */
127
+            }
128
+            JSRW_NO_MATCH()
129
+        }
130
+        JSRW_NO_MATCH()
131
+      case 4:
132
+        switch (JSRW_AT(2)) {
133
+          case 'i':
134
+            if (JSRW_AT(0) == 't') {
135
+                if (JSRW_AT(3)=='s' && JSRW_AT(1)=='h') {
136
+                    JSRW_GOT_MATCH(22) /* this */
137
+                }
138
+                JSRW_NO_MATCH()
139
+            }
140
+            if (JSRW_AT(0) == 'v') {
141
+                if (JSRW_AT(3)=='d' && JSRW_AT(1)=='o') {
142
+                    JSRW_GOT_MATCH(27) /* void */
143
+                }
144
+                JSRW_NO_MATCH()
145
+            }
146
+            JSRW_NO_MATCH()
147
+          case 'l':
148
+            if (JSRW_AT(0)=='n' && JSRW_AT(1)=='u' && JSRW_AT(3)=='l') {
149
+                JSRW_GOT_MATCH(2) /* null */
150
+            }
151
+            JSRW_NO_MATCH()
152
+          case 'o':
153
+            if (JSRW_AT(0)=='f' && JSRW_AT(1)=='r' && JSRW_AT(3)=='m') {
154
+                JSRW_GOT_MATCH(45) /* from */
155
+            }
156
+            JSRW_NO_MATCH()
157
+          case 's':
158
+            if (JSRW_AT(1) == 'a') {
159
+                if (JSRW_AT(0)=='c' && JSRW_AT(3)=='e') {
160
+                    JSRW_GOT_MATCH(4) /* case */
161
+                }
162
+                JSRW_NO_MATCH()
163
+            }
164
+            if (JSRW_AT(1) == 'l') {
165
+                if (JSRW_AT(0)=='e' && JSRW_AT(3)=='e') {
166
+                    JSRW_GOT_MATCH(12) /* else */
167
+                }
168
+                JSRW_NO_MATCH()
169
+            }
170
+            JSRW_NO_MATCH()
171
+          case 't':
172
+            if (JSRW_AT(0) == 'm') {
173
+                if (JSRW_AT(3)=='a' && JSRW_AT(1)=='e') {
174
+                    JSRW_GOT_MATCH(48) /* meta */
175
+                }
176
+                JSRW_NO_MATCH()
177
+            }
178
+            if (JSRW_AT(0) == 'w') {
179
+                if (JSRW_AT(3)=='h' && JSRW_AT(1)=='i') {
180
+                    JSRW_GOT_MATCH(29) /* with */
181
+                }
182
+                JSRW_NO_MATCH()
183
+            }
184
+            JSRW_NO_MATCH()
185
+          case 'u':
186
+            if (JSRW_AT(0) == 'e') {
187
+                if (JSRW_AT(3)=='m' && JSRW_AT(1)=='n') {
188
+                    JSRW_GOT_MATCH(35) /* enum */
189
+                }
190
+                JSRW_NO_MATCH()
191
+            }
192
+            if (JSRW_AT(0) == 't') {
193
+                if (JSRW_AT(3)=='e' && JSRW_AT(1)=='r') {
194
+                    JSRW_GOT_MATCH(1) /* true */
195
+                }
196
+                JSRW_NO_MATCH()
197
+            }
198
+            JSRW_NO_MATCH()
199
+        }
200
+        JSRW_NO_MATCH()
201
+      case 5:
202
+        switch (JSRW_AT(3)) {
203
+          case 'a':
204
+            if (JSRW_AT(0)=='b' && JSRW_AT(1)=='r' && JSRW_AT(2)=='e' && JSRW_AT(4)=='k') {
205
+                JSRW_GOT_MATCH(3) /* break */
206
+            }
207
+            JSRW_NO_MATCH()
208
+          case 'c':
209
+            if (JSRW_AT(0)=='c' && JSRW_AT(1)=='a' && JSRW_AT(2)=='t' && JSRW_AT(4)=='h') {
210
+                JSRW_GOT_MATCH(5) /* catch */
211
+            }
212
+            JSRW_NO_MATCH()
213
+          case 'e':
214
+            if (JSRW_AT(0)=='s' && JSRW_AT(1)=='u' && JSRW_AT(2)=='p' && JSRW_AT(4)=='r') {
215
+                JSRW_GOT_MATCH(34) /* super */
216
+            }
217
+            JSRW_NO_MATCH()
218
+          case 'i':
219
+            if (JSRW_AT(0)=='a' && JSRW_AT(1)=='w' && JSRW_AT(2)=='a' && JSRW_AT(4)=='t') {
220
+                JSRW_GOT_MATCH(44) /* await */
221
+            }
222
+            JSRW_NO_MATCH()
223
+          case 'l':
224
+            if (JSRW_AT(0) == 'w') {
225
+                if (JSRW_AT(4)=='e' && JSRW_AT(1)=='h' && JSRW_AT(2)=='i') {
226
+                    JSRW_GOT_MATCH(28) /* while */
227
+                }
228
+                JSRW_NO_MATCH()
229
+            }
230
+            if (JSRW_AT(0) == 'y') {
231
+                if (JSRW_AT(4)=='d' && JSRW_AT(1)=='i' && JSRW_AT(2)=='e') {
232
+                    JSRW_GOT_MATCH(53) /* yield */
233
+                }
234
+                JSRW_NO_MATCH()
235
+            }
236
+            JSRW_NO_MATCH()
237
+          case 'n':
238
+            if (JSRW_AT(0)=='a' && JSRW_AT(1)=='s' && JSRW_AT(2)=='y' && JSRW_AT(4)=='c') {
239
+                JSRW_GOT_MATCH(43) /* async */
240
+            }
241
+            JSRW_NO_MATCH()
242
+          case 'o':
243
+            if (JSRW_AT(0)=='t' && JSRW_AT(1)=='h' && JSRW_AT(2)=='r' && JSRW_AT(4)=='w') {
244
+                JSRW_GOT_MATCH(23) /* throw */
245
+            }
246
+            JSRW_NO_MATCH()
247
+          case 's':
248
+            if (JSRW_AT(0) == 'c') {
249
+                if (JSRW_AT(4) == 's') {
250
+                    if (JSRW_AT(2)=='a' && JSRW_AT(1)=='l') {
251
+                        JSRW_GOT_MATCH(32) /* class */
252
+                    }
253
+                    JSRW_NO_MATCH()
254
+                }
255
+                if (JSRW_AT(4) == 't') {
256
+                    if (JSRW_AT(2)=='n' && JSRW_AT(1)=='o') {
257
+                        JSRW_GOT_MATCH(6) /* const */
258
+                    }
259
+                    JSRW_NO_MATCH()
260
+                }
261
+                JSRW_NO_MATCH()
262
+            }
263
+            if (JSRW_AT(0) == 'f') {
264
+                if (JSRW_AT(4)=='e' && JSRW_AT(1)=='a' && JSRW_AT(2)=='l') {
265
+                    JSRW_GOT_MATCH(0) /* false */
266
+                }
267
+                JSRW_NO_MATCH()
268
+            }
269
+            JSRW_NO_MATCH()
270
+        }
271
+        JSRW_NO_MATCH()
272
+      case 6:
273
+        switch (JSRW_AT(0)) {
274
+          case 'd':
275
+            JSRW_TEST_GUESS(10) /* delete */
276
+          case 'e':
277
+            JSRW_TEST_GUESS(31) /* export */
278
+          case 'i':
279
+            JSRW_TEST_GUESS(30) /* import */
280
+          case 'p':
281
+            JSRW_TEST_GUESS(41) /* public */
282
+          case 'r':
283
+            JSRW_TEST_GUESS(20) /* return */
284
+          case 's':
285
+            if (JSRW_AT(1) == 't') {
286
+                if (JSRW_AT(5)=='c' && JSRW_AT(4)=='i' && JSRW_AT(2)=='a' && JSRW_AT(3)=='t') {
287
+                    JSRW_GOT_MATCH(51) /* static */
288
+                }
289
+                JSRW_NO_MATCH()
290
+            }
291
+            if (JSRW_AT(1) == 'w') {
292
+                if (JSRW_AT(5)=='h' && JSRW_AT(4)=='c' && JSRW_AT(2)=='i' && JSRW_AT(3)=='t') {
293
+                    JSRW_GOT_MATCH(21) /* switch */
294
+                }
295
+                JSRW_NO_MATCH()
296
+            }
297
+            JSRW_NO_MATCH()
298
+          case 't':
299
+            if (JSRW_AT(5) == 'f') {
300
+                if (JSRW_AT(4)=='o' && JSRW_AT(1)=='y' && JSRW_AT(2)=='p' && JSRW_AT(3)=='e') {
301
+                    JSRW_GOT_MATCH(25) /* typeof */
302
+                }
303
+                JSRW_NO_MATCH()
304
+            }
305
+            if (JSRW_AT(5) == 't') {
306
+                if (JSRW_AT(4)=='e' && JSRW_AT(1)=='a' && JSRW_AT(2)=='r' && JSRW_AT(3)=='g') {
307
+                    JSRW_GOT_MATCH(52) /* target */
308
+                }
309
+                JSRW_NO_MATCH()
310
+            }
311
+            JSRW_NO_MATCH()
312
+        }
313
+        JSRW_NO_MATCH()
314
+      case 7:
315
+        switch (JSRW_AT(0)) {
316
+          case 'd':
317
+            JSRW_TEST_GUESS(9) /* default */
318
+          case 'e':
319
+            JSRW_TEST_GUESS(33) /* extends */
320
+          case 'f':
321
+            JSRW_TEST_GUESS(13) /* finally */
322
+          case 'p':
323
+            if (JSRW_AT(1) == 'a') {
324
+                JSRW_TEST_GUESS(38) /* package */
325
+            }
326
+            if (JSRW_AT(1) == 'r') {
327
+                JSRW_TEST_GUESS(39) /* private */
328
+            }
329
+            JSRW_NO_MATCH()
330
+        }
331
+        JSRW_NO_MATCH()
332
+      case 8:
333
+        if (JSRW_AT(2) == 'b') {
334
+            JSRW_TEST_GUESS(8) /* debugger */
335
+        }
336
+        if (JSRW_AT(2) == 'n') {
337
+            if (JSRW_AT(0) == 'c') {
338
+                JSRW_TEST_GUESS(7) /* continue */
339
+            }
340
+            if (JSRW_AT(0) == 'f') {
341
+                JSRW_TEST_GUESS(15) /* function */
342
+            }
343
+            JSRW_NO_MATCH()
344
+        }
345
+        JSRW_NO_MATCH()
346
+      case 9:
347
+        if (JSRW_AT(0) == 'i') {
348
+            JSRW_TEST_GUESS(37) /* interface */
349
+        }
350
+        if (JSRW_AT(0) == 'p') {
351
+            JSRW_TEST_GUESS(40) /* protected */
352
+        }
353
+        JSRW_NO_MATCH()
354
+      case 10:
355
+        if (JSRW_AT(1) == 'm') {
356
+            JSRW_TEST_GUESS(36) /* implements */
357
+        }
358
+        if (JSRW_AT(1) == 'n') {
359
+            JSRW_TEST_GUESS(18) /* instanceof */
360
+        }
361
+        JSRW_NO_MATCH()
362
+    }
363
+    JSRW_NO_MATCH()
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_gc_StatsPhasesGenerated.h (-193 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/include/gc/StatsPhasesGenerated.h.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/include/gc/StatsPhasesGenerated.h
3
@@ -0,0 +1,190 @@
4
+enum class PhaseKind : uint8_t {
5
+  FIRST,
6
+  MUTATOR = FIRST,
7
+  GC_BEGIN,
8
+  MARK_CCWS,
9
+  MARK_STACK,
10
+  MARK_RUNTIME_DATA,
11
+  MARK_EMBEDDING,
12
+  MARK_COMPARTMENTS,
13
+  MARK_ROOTS,
14
+  EVICT_NURSERY_FOR_MAJOR_GC,
15
+  WAIT_BACKGROUND_THREAD,
16
+  UNMARK,
17
+  UNMARK_WEAKMAPS,
18
+  BUFFER_GRAY_ROOTS,
19
+  MARK_DISCARD_CODE,
20
+  RELAZIFY_FUNCTIONS,
21
+  PURGE,
22
+  PURGE_PROP_MAP_TABLES,
23
+  PURGE_SOURCE_URLS,
24
+  JOIN_PARALLEL_TASKS,
25
+  PREPARE,
26
+  MARK_DELAYED,
27
+  MARK,
28
+  SWEEP_MARK_INCOMING_BLACK,
29
+  SWEEP_MARK_GRAY_WEAK,
30
+  SWEEP_MARK_WEAK,
31
+  SWEEP_MARK_INCOMING_GRAY,
32
+  SWEEP_MARK_GRAY,
33
+  SWEEP_MARK,
34
+  WEAK_ZONES_CALLBACK,
35
+  WEAK_COMPARTMENT_CALLBACK,
36
+  FINALIZE_START,
37
+  UPDATE_ATOMS_BITMAP,
38
+  SWEEP_ATOMS_TABLE,
39
+  SWEEP_DISCARD_CODE,
40
+  SWEEP_INNER_VIEWS,
41
+  SWEEP_CC_WRAPPER,
42
+  SWEEP_BASE_SHAPE,
43
+  SWEEP_INITIAL_SHAPE,
44
+  SWEEP_REGEXP,
45
+  SWEEP_COMPRESSION,
46
+  SWEEP_WEAKMAPS,
47
+  SWEEP_UNIQUEIDS,
48
+  SWEEP_FINALIZATION_REGISTRIES,
49
+  SWEEP_WEAKREFS,
50
+  SWEEP_JIT_DATA,
51
+  SWEEP_WEAK_CACHES,
52
+  SWEEP_MISC,
53
+  SWEEP_COMPARTMENTS,
54
+  SWEEP_OBJECT,
55
+  SWEEP_STRING,
56
+  SWEEP_SCRIPT,
57
+  SWEEP_SCOPE,
58
+  SWEEP_REGEXP_SHARED,
59
+  SWEEP_SHAPE,
60
+  SWEEP_PROP_MAP,
61
+  FINALIZE_END,
62
+  DESTROY,
63
+  SWEEP,
64
+  COMPACT_MOVE,
65
+  COMPACT_UPDATE_CELLS,
66
+  COMPACT_UPDATE,
67
+  COMPACT,
68
+  DECOMMIT,
69
+  GC_END,
70
+  MINOR_GC,
71
+  EVICT_NURSERY,
72
+  TRACE_HEAP,
73
+  UNMARK_GRAY,
74
+  BARRIER,
75
+  LIMIT,
76
+  NONE = LIMIT,
77
+  EXPLICIT_SUSPENSION = LIMIT,
78
+  IMPLICIT_SUSPENSION
79
+};
80
+
81
+enum class Phase : uint8_t {
82
+  FIRST,
83
+  MUTATOR = FIRST,
84
+  GC_BEGIN,
85
+  EVICT_NURSERY_FOR_MAJOR_GC,
86
+  MARK_ROOTS_1,
87
+  MARK_CCWS_1,
88
+  MARK_STACK_1,
89
+  MARK_RUNTIME_DATA_1,
90
+  MARK_EMBEDDING_1,
91
+  MARK_COMPARTMENTS_1,
92
+  WAIT_BACKGROUND_THREAD,
93
+  PREPARE,
94
+  UNMARK,
95
+  UNMARK_WEAKMAPS,
96
+  BUFFER_GRAY_ROOTS,
97
+  MARK_DISCARD_CODE,
98
+  RELAZIFY_FUNCTIONS,
99
+  PURGE,
100
+  PURGE_PROP_MAP_TABLES,
101
+  PURGE_SOURCE_URLS,
102
+  JOIN_PARALLEL_TASKS_1,
103
+  MARK,
104
+  MARK_ROOTS_2,
105
+  MARK_CCWS_2,
106
+  MARK_STACK_2,
107
+  MARK_RUNTIME_DATA_2,
108
+  MARK_EMBEDDING_2,
109
+  MARK_COMPARTMENTS_2,
110
+  MARK_DELAYED_1,
111
+  SWEEP,
112
+  SWEEP_MARK,
113
+  MARK_DELAYED_2,
114
+  SWEEP_MARK_INCOMING_BLACK,
115
+  SWEEP_MARK_WEAK,
116
+  MARK_DELAYED_3,
117
+  SWEEP_MARK_GRAY_WEAK,
118
+  SWEEP_MARK_INCOMING_GRAY,
119
+  SWEEP_MARK_GRAY,
120
+  FINALIZE_START,
121
+  WEAK_ZONES_CALLBACK,
122
+  WEAK_COMPARTMENT_CALLBACK,
123
+  UPDATE_ATOMS_BITMAP,
124
+  SWEEP_ATOMS_TABLE,
125
+  SWEEP_COMPARTMENTS,
126
+  SWEEP_DISCARD_CODE,
127
+  SWEEP_INNER_VIEWS,
128
+  SWEEP_CC_WRAPPER,
129
+  SWEEP_BASE_SHAPE,
130
+  SWEEP_INITIAL_SHAPE,
131
+  SWEEP_REGEXP,
132
+  SWEEP_COMPRESSION,
133
+  SWEEP_WEAKMAPS,
134
+  SWEEP_UNIQUEIDS,
135
+  SWEEP_FINALIZATION_REGISTRIES,
136
+  SWEEP_WEAKREFS,
137
+  SWEEP_JIT_DATA,
138
+  SWEEP_WEAK_CACHES,
139
+  SWEEP_MISC,
140
+  JOIN_PARALLEL_TASKS_2,
141
+  SWEEP_OBJECT,
142
+  SWEEP_STRING,
143
+  SWEEP_SCRIPT,
144
+  SWEEP_SCOPE,
145
+  SWEEP_REGEXP_SHARED,
146
+  SWEEP_SHAPE,
147
+  SWEEP_PROP_MAP,
148
+  FINALIZE_END,
149
+  DESTROY,
150
+  JOIN_PARALLEL_TASKS_3,
151
+  COMPACT,
152
+  COMPACT_MOVE,
153
+  COMPACT_UPDATE,
154
+  MARK_ROOTS_3,
155
+  MARK_CCWS_3,
156
+  MARK_STACK_3,
157
+  MARK_RUNTIME_DATA_3,
158
+  MARK_EMBEDDING_3,
159
+  MARK_COMPARTMENTS_3,
160
+  COMPACT_UPDATE_CELLS,
161
+  JOIN_PARALLEL_TASKS_4,
162
+  DECOMMIT,
163
+  GC_END,
164
+  MINOR_GC,
165
+  MARK_ROOTS_4,
166
+  MARK_CCWS_4,
167
+  MARK_STACK_4,
168
+  MARK_RUNTIME_DATA_4,
169
+  MARK_EMBEDDING_4,
170
+  MARK_COMPARTMENTS_4,
171
+  EVICT_NURSERY,
172
+  MARK_ROOTS_5,
173
+  MARK_CCWS_5,
174
+  MARK_STACK_5,
175
+  MARK_RUNTIME_DATA_5,
176
+  MARK_EMBEDDING_5,
177
+  MARK_COMPARTMENTS_5,
178
+  TRACE_HEAP,
179
+  MARK_ROOTS_6,
180
+  MARK_CCWS_6,
181
+  MARK_STACK_6,
182
+  MARK_RUNTIME_DATA_6,
183
+  MARK_EMBEDDING_6,
184
+  MARK_COMPARTMENTS_6,
185
+  BARRIER,
186
+  UNMARK_GRAY,
187
+  LIMIT,
188
+  NONE = LIMIT,
189
+  EXPLICIT_SUSPENSION = LIMIT,
190
+  IMPLICIT_SUSPENSION
191
+};
192
+
193
+static const size_t MAX_PHASE_NESTING = 4;
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_CacheIROpsGenerated.h (-12512 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/include/jit/CacheIROpsGenerated.h.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/include/jit/CacheIROpsGenerated.h
3
@@ -0,0 +1,12509 @@
4
+/* This Source Code Form is subject to the terms of the Mozilla Public
5
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
6
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7
+
8
+#ifndef jit_CacheIROpsGenerated_h
9
+#define jit_CacheIROpsGenerated_h
10
+
11
+/* This file is generated by jit/GenerateCacheIRFiles.py. Do not edit! */
12
+
13
+#define CACHE_IR_OPS(_)\
14
+_(ReturnFromIC, 0, true, 1)\
15
+_(GuardToObject, 1, true, 1)\
16
+_(GuardIsNullOrUndefined, 1, true, 1)\
17
+_(GuardIsNull, 1, true, 1)\
18
+_(GuardIsUndefined, 1, true, 1)\
19
+_(GuardToBoolean, 1, true, 1)\
20
+_(GuardToString, 1, true, 1)\
21
+_(GuardToSymbol, 1, true, 1)\
22
+_(GuardToBigInt, 1, true, 1)\
23
+_(GuardIsNumber, 1, true, 1)\
24
+_(GuardToInt32, 1, true, 1)\
25
+_(GuardBooleanToInt32, 1 + 1, true, 1)\
26
+_(GuardToInt32Index, 1 + 1, true, 1)\
27
+_(Int32ToIntPtr, 1 + 1, true, 1)\
28
+_(GuardNumberToIntPtrIndex, 1 + 1 + 1, true, 2)\
29
+_(GuardToInt32ModUint32, 1 + 1, true, 2)\
30
+_(GuardToUint8Clamped, 1 + 1, true, 2)\
31
+_(GuardNonDoubleType, 1 + 1, true, 1)\
32
+_(GuardShape, 1 + 1, true, 1)\
33
+_(GuardProto, 1 + 1, true, 1)\
34
+_(GuardNullProto, 1, true, 1)\
35
+_(GuardClass, 1 + 1, true, 1)\
36
+_(GuardAnyClass, 1 + 1, true, 1)\
37
+_(HasClassResult, 1 + 1, true, 1)\
38
+_(CallRegExpMatcherResult, 1 + 1 + 1, true, 5)\
39
+_(CallRegExpSearcherResult, 1 + 1 + 1, true, 5)\
40
+_(CallRegExpTesterResult, 1 + 1 + 1, true, 5)\
41
+_(RegExpFlagResult, 1 + 4, true, 2)\
42
+_(CallSubstringKernelResult, 1 + 1 + 1, true, 5)\
43
+_(StringReplaceStringResult, 1 + 1 + 1, true, 5)\
44
+_(StringSplitStringResult, 1 + 1, true, 5)\
45
+_(RegExpPrototypeOptimizableResult, 1, true, 4)\
46
+_(RegExpInstanceOptimizableResult, 1 + 1, true, 4)\
47
+_(GetFirstDollarIndexResult, 1, true, 5)\
48
+_(GuardCompartment, 1 + 1 + 1, false, 2)\
49
+_(GuardIsExtensible, 1, true, 1)\
50
+_(GuardIsNativeObject, 1, true, 1)\
51
+_(GuardIsProxy, 1, true, 1)\
52
+_(GuardIsNotProxy, 1, true, 1)\
53
+_(GuardIsNotArrayBufferMaybeShared, 1, true, 1)\
54
+_(GuardIsTypedArray, 1, true, 1)\
55
+_(GuardHasProxyHandler, 1 + 1, false, 1)\
56
+_(GuardIsNotDOMProxy, 1, true, 1)\
57
+_(GuardSpecificObject, 1 + 1, true, 1)\
58
+_(GuardSpecificFunction, 1 + 1 + 1, true, 1)\
59
+_(GuardFunctionScript, 1 + 1 + 1, true, 1)\
60
+_(GuardSpecificAtom, 1 + 1, true, 4)\
61
+_(GuardSpecificSymbol, 1 + 1, true, 1)\
62
+_(GuardNoDenseElements, 1, true, 1)\
63
+_(GuardStringToIndex, 1 + 1, true, 4)\
64
+_(GuardStringToInt32, 1 + 1, true, 4)\
65
+_(GuardStringToNumber, 1 + 1, true, 4)\
66
+_(BooleanToNumber, 1 + 1, true, 1)\
67
+_(GuardAndGetIterator, 1 + 1 + 1 + 1, false, 4)\
68
+_(GuardHasGetterSetter, 1 + 1 + 1, true, 4)\
69
+_(GuardInt32IsNonNegative, 1, true, 1)\
70
+_(GuardIndexIsValidUpdateOrAdd, 1 + 1, true, 1)\
71
+_(GuardIndexGreaterThanDenseInitLength, 1 + 1, true, 1)\
72
+_(GuardTagNotEqual, 1 + 1, true, 1)\
73
+_(GuardXrayExpandoShapeAndDefaultProto, 1 + 1, false, 2)\
74
+_(GuardXrayNoExpando, 1, false, 2)\
75
+_(GuardDynamicSlotIsSpecificObject, 1 + 1 + 1, true, 1)\
76
+_(GuardFixedSlotValue, 1 + 1 + 1, true, 1)\
77
+_(GuardDynamicSlotValue, 1 + 1 + 1, true, 1)\
78
+_(GuardNoAllocationMetadataBuilder, 1, true, 1)\
79
+_(GuardFunctionHasJitEntry, 1 + 1, true, 1)\
80
+_(GuardFunctionHasNoJitEntry, 1, true, 1)\
81
+_(GuardFunctionIsNonBuiltinCtor, 1, true, 1)\
82
+_(GuardFunctionIsConstructor, 1, true, 1)\
83
+_(GuardNotClassConstructor, 1, true, 1)\
84
+_(GuardArrayIsPacked, 1, true, 1)\
85
+_(GuardArgumentsObjectFlags, 1 + 1, true, 1)\
86
+_(LoadObject, 1 + 1, true, 1)\
87
+_(LoadProto, 1 + 1, true, 1)\
88
+_(LoadEnclosingEnvironment, 1 + 1, true, 1)\
89
+_(LoadWrapperTarget, 1 + 1, true, 1)\
90
+_(LoadValueTag, 1 + 1, true, 1)\
91
+_(LoadArgumentFixedSlot, 1 + 1, true, 1)\
92
+_(LoadArgumentDynamicSlot, 1 + 1 + 1, true, 1)\
93
+_(TruncateDoubleToUInt32, 1 + 1, true, 4)\
94
+_(MegamorphicLoadSlotResult, 1 + 1, true, 4)\
95
+_(MegamorphicLoadSlotByValueResult, 1 + 1, true, 4)\
96
+_(MegamorphicStoreSlot, 1 + 1 + 1, true, 4)\
97
+_(MegamorphicSetElement, 1 + 1 + 1 + 1, true, 5)\
98
+_(MegamorphicHasPropResult, 1 + 1 + 1, true, 4)\
99
+_(LoadDOMExpandoValue, 1 + 1, true, 1)\
100
+_(LoadDOMExpandoValueGuardGeneration, 1 + 1 + 1 + 1, true, 2)\
101
+_(LoadDOMExpandoValueIgnoreGeneration, 1 + 1, true, 1)\
102
+_(GuardDOMExpandoMissingOrGuardShape, 1 + 1, true, 2)\
103
+_(StoreFixedSlot, 1 + 1 + 1, true, 6)\
104
+_(StoreDynamicSlot, 1 + 1 + 1, true, 6)\
105
+_(AddAndStoreFixedSlot, 1 + 1 + 1 + 1, true, 6)\
106
+_(AddAndStoreDynamicSlot, 1 + 1 + 1 + 1, true, 6)\
107
+_(AllocateAndStoreDynamicSlot, 1 + 1 + 1 + 1 + 1, true, 6)\
108
+_(StoreDenseElement, 1 + 1 + 1, true, 6)\
109
+_(StoreDenseElementHole, 1 + 1 + 1 + 1, true, 6)\
110
+_(ArrayPush, 1 + 1, true, 6)\
111
+_(ArrayJoinResult, 1 + 1, true, 5)\
112
+_(PackedArrayPopResult, 1, true, 2)\
113
+_(PackedArrayShiftResult, 1, true, 4)\
114
+_(PackedArraySliceResult, 1 + 1 + 1 + 1, true, 5)\
115
+_(IsArrayResult, 1, true, 5)\
116
+_(StoreFixedSlotUndefinedResult, 1 + 1 + 1, true, 4294967295)\
117
+_(IsObjectResult, 1, true, 1)\
118
+_(IsPackedArrayResult, 1, true, 2)\
119
+_(IsCallableResult, 1, true, 4)\
120
+_(IsConstructorResult, 1, true, 4)\
121
+_(IsCrossRealmArrayConstructorResult, 1, true, 2)\
122
+_(IsTypedArrayResult, 1 + 1, true, 5)\
123
+_(IsTypedArrayConstructorResult, 1, true, 2)\
124
+_(ArrayBufferViewByteOffsetInt32Result, 1, true, 1)\
125
+_(ArrayBufferViewByteOffsetDoubleResult, 1, true, 1)\
126
+_(TypedArrayByteLengthInt32Result, 1, true, 2)\
127
+_(TypedArrayByteLengthDoubleResult, 1, true, 2)\
128
+_(TypedArrayElementSizeResult, 1, true, 2)\
129
+_(GuardHasAttachedArrayBuffer, 1, true, 2)\
130
+_(FinishBoundFunctionInitResult, 1 + 1 + 1, true, 5)\
131
+_(NewArrayIteratorResult, 1, true, 5)\
132
+_(NewStringIteratorResult, 1, true, 5)\
133
+_(NewRegExpStringIteratorResult, 1, true, 5)\
134
+_(ObjectCreateResult, 1, true, 5)\
135
+_(NewArrayFromLengthResult, 1 + 1, true, 5)\
136
+_(NewTypedArrayFromLengthResult, 1 + 1, true, 5)\
137
+_(NewTypedArrayFromArrayBufferResult, 1 + 1 + 1 + 1, true, 5)\
138
+_(NewTypedArrayFromArrayResult, 1 + 1, true, 5)\
139
+_(NewStringObjectResult, 1 + 1, true, 5)\
140
+_(StringFromCharCodeResult, 1, true, 5)\
141
+_(StringFromCodePointResult, 1, true, 5)\
142
+_(StringToLowerCaseResult, 1, true, 5)\
143
+_(StringToUpperCaseResult, 1, true, 5)\
144
+_(MathAbsInt32Result, 1, true, 2)\
145
+_(MathAbsNumberResult, 1, true, 1)\
146
+_(MathClz32Result, 1, true, 1)\
147
+_(MathSignInt32Result, 1, true, 1)\
148
+_(MathSignNumberResult, 1, true, 2)\
149
+_(MathSignNumberToInt32Result, 1, true, 2)\
150
+_(MathImulResult, 1 + 1, true, 1)\
151
+_(MathSqrtNumberResult, 1, true, 1)\
152
+_(MathFRoundNumberResult, 1, true, 1)\
153
+_(MathRandomResult, 1, true, 3)\
154
+_(MathHypot2NumberResult, 1 + 1, true, 4)\
155
+_(MathHypot3NumberResult, 1 + 1 + 1, true, 4)\
156
+_(MathHypot4NumberResult, 1 + 1 + 1 + 1, true, 4)\
157
+_(MathAtan2NumberResult, 1 + 1, true, 4)\
158
+_(MathFloorNumberResult, 1, true, 4)\
159
+_(MathCeilNumberResult, 1, true, 4)\
160
+_(MathTruncNumberResult, 1, true, 4)\
161
+_(MathFloorToInt32Result, 1, true, 3)\
162
+_(MathCeilToInt32Result, 1, true, 1)\
163
+_(MathTruncToInt32Result, 1, true, 4294967295)\
164
+_(MathRoundToInt32Result, 1, true, 1)\
165
+_(Int32MinMax, 1 + 1 + 1 + 1, true, 1)\
166
+_(NumberMinMax, 1 + 1 + 1 + 1, true, 1)\
167
+_(Int32MinMaxArrayResult, 1 + 1, true, 3)\
168
+_(NumberMinMaxArrayResult, 1 + 1, true, 3)\
169
+_(MathFunctionNumberResult, 1 + 1, true, 4)\
170
+_(ObjectToStringResult, 1, true, 4)\
171
+_(ReflectGetPrototypeOfResult, 1, true, 5)\
172
+_(StoreTypedArrayElement, 1 + 1 + 1 + 1 + 1, true, 3)\
173
+_(AtomicsCompareExchangeResult, 1 + 1 + 1 + 1 + 1, true, 4)\
174
+_(AtomicsExchangeResult, 1 + 1 + 1 + 1, true, 4)\
175
+_(AtomicsAddResult, 1 + 1 + 1 + 1 + 1, true, 4)\
176
+_(AtomicsSubResult, 1 + 1 + 1 + 1 + 1, true, 4)\
177
+_(AtomicsAndResult, 1 + 1 + 1 + 1 + 1, true, 4)\
178
+_(AtomicsOrResult, 1 + 1 + 1 + 1 + 1, true, 4)\
179
+_(AtomicsXorResult, 1 + 1 + 1 + 1 + 1, true, 4)\
180
+_(AtomicsLoadResult, 1 + 1 + 1, true, 2)\
181
+_(AtomicsStoreResult, 1 + 1 + 1 + 1, true, 2)\
182
+_(AtomicsIsLockFreeResult, 1, true, 1)\
183
+_(CallNativeSetter, 1 + 1 + 1 + 1 + 1, true, 5)\
184
+_(CallScriptedSetter, 1 + 1 + 1 + 1 + 1, true, 3)\
185
+_(CallInlinedSetter, 1 + 1 + 1 + 1 + 1 + 1, true, 3)\
186
+_(CallDOMSetter, 1 + 1 + 1, true, 4)\
187
+_(CallSetArrayLength, 1 + 1 + 1, true, 5)\
188
+_(ProxySet, 1 + 1 + 1 + 1, true, 5)\
189
+_(ProxySetByValue, 1 + 1 + 1 + 1, true, 5)\
190
+_(CallAddOrUpdateSparseElementHelper, 1 + 1 + 1 + 1, true, 5)\
191
+_(CallInt32ToString, 1 + 1, true, 4)\
192
+_(CallNumberToString, 1 + 1, true, 4)\
193
+_(BooleanToString, 1 + 1, true, 2)\
194
+_(CallScriptedFunction, 1 + 1 + 1, true, 3)\
195
+_(CallWasmFunction, 1 + 1 + 1 + 1 + 1, true, 3)\
196
+_(GuardWasmArg, 1 + 1, true, 2)\
197
+_(CallNativeFunction, 1 + 1 + 1 + 1, true, 4)\
198
+_(CallDOMFunction, 1 + 1 + 1 + 1, true, 4)\
199
+_(CallClassHook, 1 + 1 + 1 + 1, false, 4)\
200
+_(CallInlinedFunction, 1 + 1 + 1 + 1, true, 4)\
201
+_(MetaTwoByte, 1 + 1, true, 0)\
202
+_(LoadFixedSlotResult, 1 + 1, true, 1)\
203
+_(LoadFixedSlotTypedResult, 1 + 1 + 1, true, 1)\
204
+_(LoadDynamicSlotResult, 1 + 1, true, 1)\
205
+_(LoadDenseElementResult, 1 + 1, true, 2)\
206
+_(LoadDenseElementHoleResult, 1 + 1, true, 2)\
207
+_(CallGetSparseElementResult, 1 + 1, true, 5)\
208
+_(LoadDenseElementExistsResult, 1 + 1, true, 1)\
209
+_(LoadTypedArrayElementExistsResult, 1 + 1, true, 2)\
210
+_(LoadDenseElementHoleExistsResult, 1 + 1, true, 2)\
211
+_(LoadTypedArrayElementResult, 1 + 1 + 1 + 1 + 1, true, 4)\
212
+_(LoadDataViewValueResult, 1 + 1 + 1 + 1 + 1, true, 4)\
213
+_(StoreDataViewValueResult, 1 + 1 + 1 + 1 + 1, true, 4)\
214
+_(LoadInt32ArrayLengthResult, 1, true, 1)\
215
+_(LoadInt32ArrayLength, 1 + 1, true, 1)\
216
+_(LoadArgumentsObjectArgResult, 1 + 1, true, 2)\
217
+_(LoadArgumentsObjectLengthResult, 1, true, 1)\
218
+_(LoadFunctionLengthResult, 1, true, 2)\
219
+_(LoadFunctionNameResult, 1, true, 2)\
220
+_(LoadArrayBufferByteLengthInt32Result, 1, true, 1)\
221
+_(LoadArrayBufferByteLengthDoubleResult, 1, true, 1)\
222
+_(LoadArrayBufferViewLengthInt32Result, 1, true, 1)\
223
+_(LoadArrayBufferViewLengthDoubleResult, 1, true, 1)\
224
+_(LoadStringCharResult, 1 + 1, true, 5)\
225
+_(LoadStringCharCodeResult, 1 + 1, true, 3)\
226
+_(LoadStringLengthResult, 1, true, 1)\
227
+_(FrameIsConstructingResult, 0, true, 1)\
228
+_(LoadEnvironmentFixedSlotResult, 1 + 1, true, 1)\
229
+_(LoadEnvironmentDynamicSlotResult, 1 + 1, true, 1)\
230
+_(LoadObjectResult, 1, true, 1)\
231
+_(LoadStringResult, 1, true, 1)\
232
+_(LoadSymbolResult, 1, true, 1)\
233
+_(LoadInt32Result, 1, true, 1)\
234
+_(LoadDoubleResult, 1, true, 2)\
235
+_(LoadBigIntResult, 1, true, 1)\
236
+_(CallScriptedGetterResult, 1 + 1 + 1 + 1, true, 5)\
237
+_(CallInlinedGetterResult, 1 + 1 + 1 + 1 + 1, true, 5)\
238
+_(CallNativeGetterResult, 1 + 1 + 1 + 1, true, 5)\
239
+_(CallDOMGetterResult, 1 + 1, true, 4)\
240
+_(ProxyGetResult, 1 + 1, true, 5)\
241
+_(ProxyGetByValueResult, 1 + 1, true, 5)\
242
+_(ProxyHasPropResult, 1 + 1 + 1, true, 5)\
243
+_(CallObjectHasSparseElementResult, 1 + 1, true, 4)\
244
+_(CallNativeGetElementResult, 1 + 1, true, 5)\
245
+_(GetNextMapSetEntryForIteratorResult, 1 + 1 + 1, true, 4)\
246
+_(LoadUndefinedResult, 0, true, 1)\
247
+_(LoadBooleanResult, 1, true, 1)\
248
+_(LoadInt32Constant, 1 + 1, true, 1)\
249
+_(LoadBooleanConstant, 1 + 1, true, 1)\
250
+_(LoadUndefined, 1, true, 1)\
251
+_(LoadConstantString, 1 + 1, true, 1)\
252
+_(LoadConstantStringResult, 1, true, 1)\
253
+_(LoadInstanceOfObjectResult, 1 + 1, true, 3)\
254
+_(LoadTypeOfObjectResult, 1, true, 4)\
255
+_(DoubleAddResult, 1 + 1, true, 2)\
256
+_(DoubleSubResult, 1 + 1, true, 2)\
257
+_(DoubleMulResult, 1 + 1, true, 2)\
258
+_(DoubleDivResult, 1 + 1, true, 2)\
259
+_(DoubleModResult, 1 + 1, true, 4)\
260
+_(DoublePowResult, 1 + 1, true, 4)\
261
+_(Int32AddResult, 1 + 1, true, 1)\
262
+_(Int32SubResult, 1 + 1, true, 1)\
263
+_(Int32MulResult, 1 + 1, true, 2)\
264
+_(Int32DivResult, 1 + 1, true, 2)\
265
+_(Int32ModResult, 1 + 1, true, 2)\
266
+_(Int32PowResult, 1 + 1, true, 1)\
267
+_(BigIntAddResult, 1 + 1, true, 5)\
268
+_(BigIntSubResult, 1 + 1, true, 5)\
269
+_(BigIntMulResult, 1 + 1, true, 5)\
270
+_(BigIntDivResult, 1 + 1, true, 5)\
271
+_(BigIntModResult, 1 + 1, true, 5)\
272
+_(BigIntPowResult, 1 + 1, true, 5)\
273
+_(Int32BitOrResult, 1 + 1, true, 1)\
274
+_(Int32BitXorResult, 1 + 1, true, 1)\
275
+_(Int32BitAndResult, 1 + 1, true, 1)\
276
+_(Int32LeftShiftResult, 1 + 1, true, 1)\
277
+_(Int32RightShiftResult, 1 + 1, true, 1)\
278
+_(Int32URightShiftResult, 1 + 1 + 1, true, 2)\
279
+_(Int32NotResult, 1, true, 1)\
280
+_(BigIntBitOrResult, 1 + 1, true, 5)\
281
+_(BigIntBitXorResult, 1 + 1, true, 5)\
282
+_(BigIntBitAndResult, 1 + 1, true, 5)\
283
+_(BigIntLeftShiftResult, 1 + 1, true, 5)\
284
+_(BigIntRightShiftResult, 1 + 1, true, 5)\
285
+_(BigIntNotResult, 1, true, 5)\
286
+_(Int32NegationResult, 1, true, 1)\
287
+_(DoubleNegationResult, 1, true, 1)\
288
+_(BigIntNegationResult, 1, true, 5)\
289
+_(Int32IncResult, 1, true, 1)\
290
+_(Int32DecResult, 1, true, 1)\
291
+_(DoubleIncResult, 1, true, 1)\
292
+_(DoubleDecResult, 1, true, 1)\
293
+_(BigIntIncResult, 1, true, 5)\
294
+_(BigIntDecResult, 1, true, 5)\
295
+_(LoadInt32TruthyResult, 1, true, 2)\
296
+_(LoadDoubleTruthyResult, 1, true, 2)\
297
+_(LoadStringTruthyResult, 1, true, 2)\
298
+_(LoadObjectTruthyResult, 1, true, 4)\
299
+_(LoadBigIntTruthyResult, 1, true, 2)\
300
+_(LoadValueTruthyResult, 1, true, 4)\
301
+_(LoadValueResult, 1, false, 1)\
302
+_(LoadOperandResult, 1, true, 1)\
303
+_(NewPlainObjectResult, 4 + 4 + 1 + 1 + 1, true, 4)\
304
+_(NewArrayObjectResult, 4 + 1 + 1, true, 4)\
305
+_(CallStringConcatResult, 1 + 1, true, 5)\
306
+_(CallStringObjectConcatResult, 1 + 1, false, 5)\
307
+_(CallIsSuspendedGeneratorResult, 1, false, 2)\
308
+_(CompareStringResult, 1 + 1 + 1, true, 5)\
309
+_(CompareObjectResult, 1 + 1 + 1, true, 2)\
310
+_(CompareSymbolResult, 1 + 1 + 1, true, 2)\
311
+_(CompareInt32Result, 1 + 1 + 1, true, 2)\
312
+_(CompareDoubleResult, 1 + 1 + 1, true, 2)\
313
+_(CompareBigIntResult, 1 + 1 + 1, true, 4)\
314
+_(CompareBigIntInt32Result, 1 + 1 + 1, true, 3)\
315
+_(CompareBigIntNumberResult, 1 + 1 + 1, true, 4)\
316
+_(CompareBigIntStringResult, 1 + 1 + 1, true, 5)\
317
+_(CompareNullUndefinedResult, 1 + 1 + 1, true, 2)\
318
+_(CompareDoubleSameValueResult, 1 + 1, true, 3)\
319
+_(SameValueResult, 1 + 1, true, 4)\
320
+_(IndirectTruncateInt32Result, 1, true, 1)\
321
+_(BigIntAsIntNResult, 1 + 1, true, 5)\
322
+_(BigIntAsUintNResult, 1 + 1, true, 5)\
323
+_(CallPrintString, sizeof(uintptr_t), false, 1)\
324
+_(Breakpoint, 0, false, 1)\
325
+_(WrapResult, 0, false, 4)\
326
+_(Bailout, 0, true, 0)\
327
+_(AssertRecoveredOnBailoutResult, 1 + 1, true, 1)
328
+
329
+#define CACHE_IR_WRITER_GENERATED \
330
+void returnFromIC() {\
331
+  writeOp(CacheOp::ReturnFromIC);\
332
+  assertLengthMatches();\
333
+}\
334
+private:\
335
+void guardToObject_(ValOperandId input) {\
336
+  writeOp(CacheOp::GuardToObject);\
337
+  writeOperandId(input);\
338
+  assertLengthMatches();\
339
+}\
340
+public:\
341
+void guardIsNullOrUndefined(ValOperandId input) {\
342
+  writeOp(CacheOp::GuardIsNullOrUndefined);\
343
+  writeOperandId(input);\
344
+  assertLengthMatches();\
345
+}\
346
+void guardIsNull(ValOperandId input) {\
347
+  writeOp(CacheOp::GuardIsNull);\
348
+  writeOperandId(input);\
349
+  assertLengthMatches();\
350
+}\
351
+void guardIsUndefined(ValOperandId input) {\
352
+  writeOp(CacheOp::GuardIsUndefined);\
353
+  writeOperandId(input);\
354
+  assertLengthMatches();\
355
+}\
356
+private:\
357
+void guardToBoolean_(ValOperandId input) {\
358
+  writeOp(CacheOp::GuardToBoolean);\
359
+  writeOperandId(input);\
360
+  assertLengthMatches();\
361
+}\
362
+public:\
363
+private:\
364
+void guardToString_(ValOperandId input) {\
365
+  writeOp(CacheOp::GuardToString);\
366
+  writeOperandId(input);\
367
+  assertLengthMatches();\
368
+}\
369
+public:\
370
+private:\
371
+void guardToSymbol_(ValOperandId input) {\
372
+  writeOp(CacheOp::GuardToSymbol);\
373
+  writeOperandId(input);\
374
+  assertLengthMatches();\
375
+}\
376
+public:\
377
+private:\
378
+void guardToBigInt_(ValOperandId input) {\
379
+  writeOp(CacheOp::GuardToBigInt);\
380
+  writeOperandId(input);\
381
+  assertLengthMatches();\
382
+}\
383
+public:\
384
+private:\
385
+void guardIsNumber_(ValOperandId input) {\
386
+  writeOp(CacheOp::GuardIsNumber);\
387
+  writeOperandId(input);\
388
+  assertLengthMatches();\
389
+}\
390
+public:\
391
+private:\
392
+void guardToInt32_(ValOperandId input) {\
393
+  writeOp(CacheOp::GuardToInt32);\
394
+  writeOperandId(input);\
395
+  assertLengthMatches();\
396
+}\
397
+public:\
398
+Int32OperandId guardBooleanToInt32(ValOperandId input) {\
399
+  writeOp(CacheOp::GuardBooleanToInt32);\
400
+  writeOperandId(input);\
401
+  Int32OperandId result(newOperandId());\
402
+  writeOperandId(result);\
403
+  assertLengthMatches();\
404
+  return result;\
405
+}\
406
+Int32OperandId guardToInt32Index(ValOperandId input) {\
407
+  writeOp(CacheOp::GuardToInt32Index);\
408
+  writeOperandId(input);\
409
+  Int32OperandId result(newOperandId());\
410
+  writeOperandId(result);\
411
+  assertLengthMatches();\
412
+  return result;\
413
+}\
414
+IntPtrOperandId int32ToIntPtr(Int32OperandId input) {\
415
+  writeOp(CacheOp::Int32ToIntPtr);\
416
+  writeOperandId(input);\
417
+  IntPtrOperandId result(newOperandId());\
418
+  writeOperandId(result);\
419
+  assertLengthMatches();\
420
+  return result;\
421
+}\
422
+IntPtrOperandId guardNumberToIntPtrIndex(NumberOperandId input, bool supportOOB) {\
423
+  writeOp(CacheOp::GuardNumberToIntPtrIndex);\
424
+  writeOperandId(input);\
425
+  writeBoolImm(supportOOB);\
426
+  IntPtrOperandId result(newOperandId());\
427
+  writeOperandId(result);\
428
+  assertLengthMatches();\
429
+  return result;\
430
+}\
431
+Int32OperandId guardToInt32ModUint32(ValOperandId input) {\
432
+  writeOp(CacheOp::GuardToInt32ModUint32);\
433
+  writeOperandId(input);\
434
+  Int32OperandId result(newOperandId());\
435
+  writeOperandId(result);\
436
+  assertLengthMatches();\
437
+  return result;\
438
+}\
439
+Int32OperandId guardToUint8Clamped(ValOperandId input) {\
440
+  writeOp(CacheOp::GuardToUint8Clamped);\
441
+  writeOperandId(input);\
442
+  Int32OperandId result(newOperandId());\
443
+  writeOperandId(result);\
444
+  assertLengthMatches();\
445
+  return result;\
446
+}\
447
+void guardNonDoubleType(ValOperandId input, ValueType type) {\
448
+  writeOp(CacheOp::GuardNonDoubleType);\
449
+  writeOperandId(input);\
450
+  writeValueTypeImm(type);\
451
+  assertLengthMatches();\
452
+}\
453
+void guardShape(ObjOperandId obj, Shape* shape) {\
454
+  writeOp(CacheOp::GuardShape);\
455
+  writeOperandId(obj);\
456
+  writeShapeField(shape);\
457
+  assertLengthMatches();\
458
+}\
459
+void guardProto(ObjOperandId obj, JSObject* proto) {\
460
+  writeOp(CacheOp::GuardProto);\
461
+  writeOperandId(obj);\
462
+  writeObjectField(proto);\
463
+  assertLengthMatches();\
464
+}\
465
+void guardNullProto(ObjOperandId obj) {\
466
+  writeOp(CacheOp::GuardNullProto);\
467
+  writeOperandId(obj);\
468
+  assertLengthMatches();\
469
+}\
470
+void guardClass(ObjOperandId obj, GuardClassKind kind) {\
471
+  writeOp(CacheOp::GuardClass);\
472
+  writeOperandId(obj);\
473
+  writeGuardClassKindImm(kind);\
474
+  assertLengthMatches();\
475
+}\
476
+void guardAnyClass(ObjOperandId obj, const void* clasp) {\
477
+  writeOp(CacheOp::GuardAnyClass);\
478
+  writeOperandId(obj);\
479
+  writeRawPointerField(clasp);\
480
+  assertLengthMatches();\
481
+}\
482
+void hasClassResult(ObjOperandId obj, const void* clasp) {\
483
+  writeOp(CacheOp::HasClassResult);\
484
+  writeOperandId(obj);\
485
+  writeRawPointerField(clasp);\
486
+  assertLengthMatches();\
487
+}\
488
+void callRegExpMatcherResult(ObjOperandId regexp, StringOperandId input, Int32OperandId lastIndex) {\
489
+  writeOp(CacheOp::CallRegExpMatcherResult);\
490
+  writeOperandId(regexp);\
491
+  writeOperandId(input);\
492
+  writeOperandId(lastIndex);\
493
+  assertLengthMatches();\
494
+}\
495
+void callRegExpSearcherResult(ObjOperandId regexp, StringOperandId input, Int32OperandId lastIndex) {\
496
+  writeOp(CacheOp::CallRegExpSearcherResult);\
497
+  writeOperandId(regexp);\
498
+  writeOperandId(input);\
499
+  writeOperandId(lastIndex);\
500
+  assertLengthMatches();\
501
+}\
502
+void callRegExpTesterResult(ObjOperandId regexp, StringOperandId input, Int32OperandId lastIndex) {\
503
+  writeOp(CacheOp::CallRegExpTesterResult);\
504
+  writeOperandId(regexp);\
505
+  writeOperandId(input);\
506
+  writeOperandId(lastIndex);\
507
+  assertLengthMatches();\
508
+}\
509
+void regExpFlagResult(ObjOperandId regexp, int32_t flagsMask) {\
510
+  writeOp(CacheOp::RegExpFlagResult);\
511
+  writeOperandId(regexp);\
512
+  writeInt32Imm(flagsMask);\
513
+  assertLengthMatches();\
514
+}\
515
+void callSubstringKernelResult(StringOperandId str, Int32OperandId begin, Int32OperandId length) {\
516
+  writeOp(CacheOp::CallSubstringKernelResult);\
517
+  writeOperandId(str);\
518
+  writeOperandId(begin);\
519
+  writeOperandId(length);\
520
+  assertLengthMatches();\
521
+}\
522
+void stringReplaceStringResult(StringOperandId str, StringOperandId pattern, StringOperandId replacement) {\
523
+  writeOp(CacheOp::StringReplaceStringResult);\
524
+  writeOperandId(str);\
525
+  writeOperandId(pattern);\
526
+  writeOperandId(replacement);\
527
+  assertLengthMatches();\
528
+}\
529
+void stringSplitStringResult(StringOperandId str, StringOperandId separator) {\
530
+  writeOp(CacheOp::StringSplitStringResult);\
531
+  writeOperandId(str);\
532
+  writeOperandId(separator);\
533
+  assertLengthMatches();\
534
+}\
535
+void regExpPrototypeOptimizableResult(ObjOperandId proto) {\
536
+  writeOp(CacheOp::RegExpPrototypeOptimizableResult);\
537
+  writeOperandId(proto);\
538
+  assertLengthMatches();\
539
+}\
540
+void regExpInstanceOptimizableResult(ObjOperandId regexp, ObjOperandId proto) {\
541
+  writeOp(CacheOp::RegExpInstanceOptimizableResult);\
542
+  writeOperandId(regexp);\
543
+  writeOperandId(proto);\
544
+  assertLengthMatches();\
545
+}\
546
+void getFirstDollarIndexResult(StringOperandId str) {\
547
+  writeOp(CacheOp::GetFirstDollarIndexResult);\
548
+  writeOperandId(str);\
549
+  assertLengthMatches();\
550
+}\
551
+void guardCompartment(ObjOperandId obj, JSObject* global, const void* compartment) {\
552
+  writeOp(CacheOp::GuardCompartment);\
553
+  writeOperandId(obj);\
554
+  writeObjectField(global);\
555
+  writeRawPointerField(compartment);\
556
+  assertLengthMatches();\
557
+}\
558
+void guardIsExtensible(ObjOperandId obj) {\
559
+  writeOp(CacheOp::GuardIsExtensible);\
560
+  writeOperandId(obj);\
561
+  assertLengthMatches();\
562
+}\
563
+void guardIsNativeObject(ObjOperandId obj) {\
564
+  writeOp(CacheOp::GuardIsNativeObject);\
565
+  writeOperandId(obj);\
566
+  assertLengthMatches();\
567
+}\
568
+void guardIsProxy(ObjOperandId obj) {\
569
+  writeOp(CacheOp::GuardIsProxy);\
570
+  writeOperandId(obj);\
571
+  assertLengthMatches();\
572
+}\
573
+void guardIsNotProxy(ObjOperandId obj) {\
574
+  writeOp(CacheOp::GuardIsNotProxy);\
575
+  writeOperandId(obj);\
576
+  assertLengthMatches();\
577
+}\
578
+void guardIsNotArrayBufferMaybeShared(ObjOperandId obj) {\
579
+  writeOp(CacheOp::GuardIsNotArrayBufferMaybeShared);\
580
+  writeOperandId(obj);\
581
+  assertLengthMatches();\
582
+}\
583
+void guardIsTypedArray(ObjOperandId obj) {\
584
+  writeOp(CacheOp::GuardIsTypedArray);\
585
+  writeOperandId(obj);\
586
+  assertLengthMatches();\
587
+}\
588
+void guardHasProxyHandler(ObjOperandId obj, const void* handler) {\
589
+  writeOp(CacheOp::GuardHasProxyHandler);\
590
+  writeOperandId(obj);\
591
+  writeRawPointerField(handler);\
592
+  assertLengthMatches();\
593
+}\
594
+void guardIsNotDOMProxy(ObjOperandId obj) {\
595
+  writeOp(CacheOp::GuardIsNotDOMProxy);\
596
+  writeOperandId(obj);\
597
+  assertLengthMatches();\
598
+}\
599
+void guardSpecificObject(ObjOperandId obj, JSObject* expected) {\
600
+  writeOp(CacheOp::GuardSpecificObject);\
601
+  writeOperandId(obj);\
602
+  writeObjectField(expected);\
603
+  assertLengthMatches();\
604
+}\
605
+private:\
606
+void guardSpecificFunction_(ObjOperandId fun, JSObject* expected, uint32_t nargsAndFlags) {\
607
+  writeOp(CacheOp::GuardSpecificFunction);\
608
+  writeOperandId(fun);\
609
+  writeObjectField(expected);\
610
+  writeRawInt32Field(nargsAndFlags);\
611
+  assertLengthMatches();\
612
+}\
613
+public:\
614
+private:\
615
+void guardFunctionScript_(ObjOperandId obj, BaseScript* expected, uint32_t nargsAndFlags) {\
616
+  writeOp(CacheOp::GuardFunctionScript);\
617
+  writeOperandId(obj);\
618
+  writeBaseScriptField(expected);\
619
+  writeRawInt32Field(nargsAndFlags);\
620
+  assertLengthMatches();\
621
+}\
622
+public:\
623
+void guardSpecificAtom(StringOperandId str, JSAtom* expected) {\
624
+  writeOp(CacheOp::GuardSpecificAtom);\
625
+  writeOperandId(str);\
626
+  writeStringField(expected);\
627
+  assertLengthMatches();\
628
+}\
629
+void guardSpecificSymbol(SymbolOperandId sym, JS::Symbol* expected) {\
630
+  writeOp(CacheOp::GuardSpecificSymbol);\
631
+  writeOperandId(sym);\
632
+  writeSymbolField(expected);\
633
+  assertLengthMatches();\
634
+}\
635
+void guardNoDenseElements(ObjOperandId obj) {\
636
+  writeOp(CacheOp::GuardNoDenseElements);\
637
+  writeOperandId(obj);\
638
+  assertLengthMatches();\
639
+}\
640
+Int32OperandId guardStringToIndex(StringOperandId str) {\
641
+  writeOp(CacheOp::GuardStringToIndex);\
642
+  writeOperandId(str);\
643
+  Int32OperandId result(newOperandId());\
644
+  writeOperandId(result);\
645
+  assertLengthMatches();\
646
+  return result;\
647
+}\
648
+Int32OperandId guardStringToInt32(StringOperandId str) {\
649
+  writeOp(CacheOp::GuardStringToInt32);\
650
+  writeOperandId(str);\
651
+  Int32OperandId result(newOperandId());\
652
+  writeOperandId(result);\
653
+  assertLengthMatches();\
654
+  return result;\
655
+}\
656
+NumberOperandId guardStringToNumber(StringOperandId str) {\
657
+  writeOp(CacheOp::GuardStringToNumber);\
658
+  writeOperandId(str);\
659
+  NumberOperandId result(newOperandId());\
660
+  writeOperandId(result);\
661
+  assertLengthMatches();\
662
+  return result;\
663
+}\
664
+NumberOperandId booleanToNumber(BooleanOperandId boolean) {\
665
+  writeOp(CacheOp::BooleanToNumber);\
666
+  writeOperandId(boolean);\
667
+  NumberOperandId result(newOperandId());\
668
+  writeOperandId(result);\
669
+  assertLengthMatches();\
670
+  return result;\
671
+}\
672
+ObjOperandId guardAndGetIterator(ObjOperandId obj, JSObject* iter, const void* enumeratorsAddr) {\
673
+  writeOp(CacheOp::GuardAndGetIterator);\
674
+  writeOperandId(obj);\
675
+  writeObjectField(iter);\
676
+  writeRawPointerField(enumeratorsAddr);\
677
+  ObjOperandId result(newOperandId());\
678
+  writeOperandId(result);\
679
+  assertLengthMatches();\
680
+  return result;\
681
+}\
682
+void guardHasGetterSetter(ObjOperandId obj, jsid id, GetterSetter* getterSetter) {\
683
+  writeOp(CacheOp::GuardHasGetterSetter);\
684
+  writeOperandId(obj);\
685
+  writeIdField(id);\
686
+  writeGetterSetterField(getterSetter);\
687
+  assertLengthMatches();\
688
+}\
689
+void guardInt32IsNonNegative(Int32OperandId index) {\
690
+  writeOp(CacheOp::GuardInt32IsNonNegative);\
691
+  writeOperandId(index);\
692
+  assertLengthMatches();\
693
+}\
694
+void guardIndexIsValidUpdateOrAdd(ObjOperandId obj, Int32OperandId index) {\
695
+  writeOp(CacheOp::GuardIndexIsValidUpdateOrAdd);\
696
+  writeOperandId(obj);\
697
+  writeOperandId(index);\
698
+  assertLengthMatches();\
699
+}\
700
+void guardIndexGreaterThanDenseInitLength(ObjOperandId obj, Int32OperandId index) {\
701
+  writeOp(CacheOp::GuardIndexGreaterThanDenseInitLength);\
702
+  writeOperandId(obj);\
703
+  writeOperandId(index);\
704
+  assertLengthMatches();\
705
+}\
706
+void guardTagNotEqual(ValueTagOperandId lhs, ValueTagOperandId rhs) {\
707
+  writeOp(CacheOp::GuardTagNotEqual);\
708
+  writeOperandId(lhs);\
709
+  writeOperandId(rhs);\
710
+  assertLengthMatches();\
711
+}\
712
+void guardXrayExpandoShapeAndDefaultProto(ObjOperandId obj, JSObject* shapeWrapper) {\
713
+  writeOp(CacheOp::GuardXrayExpandoShapeAndDefaultProto);\
714
+  writeOperandId(obj);\
715
+  writeObjectField(shapeWrapper);\
716
+  assertLengthMatches();\
717
+}\
718
+void guardXrayNoExpando(ObjOperandId obj) {\
719
+  writeOp(CacheOp::GuardXrayNoExpando);\
720
+  writeOperandId(obj);\
721
+  assertLengthMatches();\
722
+}\
723
+void guardDynamicSlotIsSpecificObject(ObjOperandId obj, ObjOperandId expected, uint32_t slot) {\
724
+  writeOp(CacheOp::GuardDynamicSlotIsSpecificObject);\
725
+  writeOperandId(obj);\
726
+  writeOperandId(expected);\
727
+  writeRawInt32Field(slot);\
728
+  assertLengthMatches();\
729
+}\
730
+void guardFixedSlotValue(ObjOperandId obj, uint32_t offset, const Value& val) {\
731
+  writeOp(CacheOp::GuardFixedSlotValue);\
732
+  writeOperandId(obj);\
733
+  writeRawInt32Field(offset);\
734
+  writeValueField(val);\
735
+  assertLengthMatches();\
736
+}\
737
+void guardDynamicSlotValue(ObjOperandId obj, uint32_t offset, const Value& val) {\
738
+  writeOp(CacheOp::GuardDynamicSlotValue);\
739
+  writeOperandId(obj);\
740
+  writeRawInt32Field(offset);\
741
+  writeValueField(val);\
742
+  assertLengthMatches();\
743
+}\
744
+void guardNoAllocationMetadataBuilder(const void* builderAddr) {\
745
+  writeOp(CacheOp::GuardNoAllocationMetadataBuilder);\
746
+  writeRawPointerField(builderAddr);\
747
+  assertLengthMatches();\
748
+}\
749
+void guardFunctionHasJitEntry(ObjOperandId fun, bool constructing) {\
750
+  writeOp(CacheOp::GuardFunctionHasJitEntry);\
751
+  writeOperandId(fun);\
752
+  writeBoolImm(constructing);\
753
+  assertLengthMatches();\
754
+}\
755
+void guardFunctionHasNoJitEntry(ObjOperandId fun) {\
756
+  writeOp(CacheOp::GuardFunctionHasNoJitEntry);\
757
+  writeOperandId(fun);\
758
+  assertLengthMatches();\
759
+}\
760
+void guardFunctionIsNonBuiltinCtor(ObjOperandId fun) {\
761
+  writeOp(CacheOp::GuardFunctionIsNonBuiltinCtor);\
762
+  writeOperandId(fun);\
763
+  assertLengthMatches();\
764
+}\
765
+void guardFunctionIsConstructor(ObjOperandId fun) {\
766
+  writeOp(CacheOp::GuardFunctionIsConstructor);\
767
+  writeOperandId(fun);\
768
+  assertLengthMatches();\
769
+}\
770
+void guardNotClassConstructor(ObjOperandId fun) {\
771
+  writeOp(CacheOp::GuardNotClassConstructor);\
772
+  writeOperandId(fun);\
773
+  assertLengthMatches();\
774
+}\
775
+void guardArrayIsPacked(ObjOperandId array) {\
776
+  writeOp(CacheOp::GuardArrayIsPacked);\
777
+  writeOperandId(array);\
778
+  assertLengthMatches();\
779
+}\
780
+void guardArgumentsObjectFlags(ObjOperandId obj, uint32_t flags) {\
781
+  writeOp(CacheOp::GuardArgumentsObjectFlags);\
782
+  writeOperandId(obj);\
783
+  writeByteImm(flags);\
784
+  assertLengthMatches();\
785
+}\
786
+ObjOperandId loadObject(JSObject* obj) {\
787
+  writeOp(CacheOp::LoadObject);\
788
+  ObjOperandId result(newOperandId());\
789
+  writeOperandId(result);\
790
+  writeObjectField(obj);\
791
+  assertLengthMatches();\
792
+  return result;\
793
+}\
794
+ObjOperandId loadProto(ObjOperandId obj) {\
795
+  writeOp(CacheOp::LoadProto);\
796
+  writeOperandId(obj);\
797
+  ObjOperandId result(newOperandId());\
798
+  writeOperandId(result);\
799
+  assertLengthMatches();\
800
+  return result;\
801
+}\
802
+ObjOperandId loadEnclosingEnvironment(ObjOperandId obj) {\
803
+  writeOp(CacheOp::LoadEnclosingEnvironment);\
804
+  writeOperandId(obj);\
805
+  ObjOperandId result(newOperandId());\
806
+  writeOperandId(result);\
807
+  assertLengthMatches();\
808
+  return result;\
809
+}\
810
+ObjOperandId loadWrapperTarget(ObjOperandId obj) {\
811
+  writeOp(CacheOp::LoadWrapperTarget);\
812
+  writeOperandId(obj);\
813
+  ObjOperandId result(newOperandId());\
814
+  writeOperandId(result);\
815
+  assertLengthMatches();\
816
+  return result;\
817
+}\
818
+ValueTagOperandId loadValueTag(ValOperandId val) {\
819
+  writeOp(CacheOp::LoadValueTag);\
820
+  writeOperandId(val);\
821
+  ValueTagOperandId result(newOperandId());\
822
+  writeOperandId(result);\
823
+  assertLengthMatches();\
824
+  return result;\
825
+}\
826
+private:\
827
+ValOperandId loadArgumentFixedSlot_(uint32_t slotIndex) {\
828
+  writeOp(CacheOp::LoadArgumentFixedSlot);\
829
+  ValOperandId result(newOperandId());\
830
+  writeOperandId(result);\
831
+  writeByteImm(slotIndex);\
832
+  assertLengthMatches();\
833
+  return result;\
834
+}\
835
+public:\
836
+private:\
837
+ValOperandId loadArgumentDynamicSlot_(Int32OperandId argc, uint32_t slotIndex) {\
838
+  writeOp(CacheOp::LoadArgumentDynamicSlot);\
839
+  ValOperandId result(newOperandId());\
840
+  writeOperandId(result);\
841
+  writeOperandId(argc);\
842
+  writeByteImm(slotIndex);\
843
+  assertLengthMatches();\
844
+  return result;\
845
+}\
846
+public:\
847
+Int32OperandId truncateDoubleToUInt32(NumberOperandId input) {\
848
+  writeOp(CacheOp::TruncateDoubleToUInt32);\
849
+  writeOperandId(input);\
850
+  Int32OperandId result(newOperandId());\
851
+  writeOperandId(result);\
852
+  assertLengthMatches();\
853
+  return result;\
854
+}\
855
+void megamorphicLoadSlotResult(ObjOperandId obj, PropertyName* name) {\
856
+  writeOp(CacheOp::MegamorphicLoadSlotResult);\
857
+  writeOperandId(obj);\
858
+  writeStringField(name);\
859
+  assertLengthMatches();\
860
+}\
861
+void megamorphicLoadSlotByValueResult(ObjOperandId obj, ValOperandId id) {\
862
+  writeOp(CacheOp::MegamorphicLoadSlotByValueResult);\
863
+  writeOperandId(obj);\
864
+  writeOperandId(id);\
865
+  assertLengthMatches();\
866
+}\
867
+void megamorphicStoreSlot(ObjOperandId obj, PropertyName* name, ValOperandId rhs) {\
868
+  writeOp(CacheOp::MegamorphicStoreSlot);\
869
+  writeOperandId(obj);\
870
+  writeStringField(name);\
871
+  writeOperandId(rhs);\
872
+  assertLengthMatches();\
873
+}\
874
+void megamorphicSetElement(ObjOperandId obj, ValOperandId id, ValOperandId rhs, bool strict) {\
875
+  writeOp(CacheOp::MegamorphicSetElement);\
876
+  writeOperandId(obj);\
877
+  writeOperandId(id);\
878
+  writeOperandId(rhs);\
879
+  writeBoolImm(strict);\
880
+  assertLengthMatches();\
881
+}\
882
+void megamorphicHasPropResult(ObjOperandId obj, ValOperandId id, bool hasOwn) {\
883
+  writeOp(CacheOp::MegamorphicHasPropResult);\
884
+  writeOperandId(obj);\
885
+  writeOperandId(id);\
886
+  writeBoolImm(hasOwn);\
887
+  assertLengthMatches();\
888
+}\
889
+ValOperandId loadDOMExpandoValue(ObjOperandId obj) {\
890
+  writeOp(CacheOp::LoadDOMExpandoValue);\
891
+  writeOperandId(obj);\
892
+  ValOperandId result(newOperandId());\
893
+  writeOperandId(result);\
894
+  assertLengthMatches();\
895
+  return result;\
896
+}\
897
+ValOperandId loadDOMExpandoValueGuardGeneration(ObjOperandId obj, const void* expandoAndGeneration, uint64_t generation) {\
898
+  writeOp(CacheOp::LoadDOMExpandoValueGuardGeneration);\
899
+  writeOperandId(obj);\
900
+  writeRawPointerField(expandoAndGeneration);\
901
+  writeRawInt64Field(generation);\
902
+  ValOperandId result(newOperandId());\
903
+  writeOperandId(result);\
904
+  assertLengthMatches();\
905
+  return result;\
906
+}\
907
+ValOperandId loadDOMExpandoValueIgnoreGeneration(ObjOperandId obj) {\
908
+  writeOp(CacheOp::LoadDOMExpandoValueIgnoreGeneration);\
909
+  writeOperandId(obj);\
910
+  ValOperandId result(newOperandId());\
911
+  writeOperandId(result);\
912
+  assertLengthMatches();\
913
+  return result;\
914
+}\
915
+void guardDOMExpandoMissingOrGuardShape(ValOperandId expando, Shape* shape) {\
916
+  writeOp(CacheOp::GuardDOMExpandoMissingOrGuardShape);\
917
+  writeOperandId(expando);\
918
+  writeShapeField(shape);\
919
+  assertLengthMatches();\
920
+}\
921
+void storeFixedSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs) {\
922
+  writeOp(CacheOp::StoreFixedSlot);\
923
+  writeOperandId(obj);\
924
+  writeRawInt32Field(offset);\
925
+  writeOperandId(rhs);\
926
+  assertLengthMatches();\
927
+}\
928
+void storeDynamicSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs) {\
929
+  writeOp(CacheOp::StoreDynamicSlot);\
930
+  writeOperandId(obj);\
931
+  writeRawInt32Field(offset);\
932
+  writeOperandId(rhs);\
933
+  assertLengthMatches();\
934
+}\
935
+void addAndStoreFixedSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs, Shape* newShape) {\
936
+  writeOp(CacheOp::AddAndStoreFixedSlot);\
937
+  writeOperandId(obj);\
938
+  writeRawInt32Field(offset);\
939
+  writeOperandId(rhs);\
940
+  writeShapeField(newShape);\
941
+  assertLengthMatches();\
942
+}\
943
+void addAndStoreDynamicSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs, Shape* newShape) {\
944
+  writeOp(CacheOp::AddAndStoreDynamicSlot);\
945
+  writeOperandId(obj);\
946
+  writeRawInt32Field(offset);\
947
+  writeOperandId(rhs);\
948
+  writeShapeField(newShape);\
949
+  assertLengthMatches();\
950
+}\
951
+void allocateAndStoreDynamicSlot(ObjOperandId obj, uint32_t offset, ValOperandId rhs, Shape* newShape, uint32_t numNewSlots) {\
952
+  writeOp(CacheOp::AllocateAndStoreDynamicSlot);\
953
+  writeOperandId(obj);\
954
+  writeRawInt32Field(offset);\
955
+  writeOperandId(rhs);\
956
+  writeShapeField(newShape);\
957
+  writeRawInt32Field(numNewSlots);\
958
+  assertLengthMatches();\
959
+}\
960
+void storeDenseElement(ObjOperandId obj, Int32OperandId index, ValOperandId rhs) {\
961
+  writeOp(CacheOp::StoreDenseElement);\
962
+  writeOperandId(obj);\
963
+  writeOperandId(index);\
964
+  writeOperandId(rhs);\
965
+  assertLengthMatches();\
966
+}\
967
+void storeDenseElementHole(ObjOperandId obj, Int32OperandId index, ValOperandId rhs, bool handleAdd) {\
968
+  writeOp(CacheOp::StoreDenseElementHole);\
969
+  writeOperandId(obj);\
970
+  writeOperandId(index);\
971
+  writeOperandId(rhs);\
972
+  writeBoolImm(handleAdd);\
973
+  assertLengthMatches();\
974
+}\
975
+void arrayPush(ObjOperandId obj, ValOperandId rhs) {\
976
+  writeOp(CacheOp::ArrayPush);\
977
+  writeOperandId(obj);\
978
+  writeOperandId(rhs);\
979
+  assertLengthMatches();\
980
+}\
981
+void arrayJoinResult(ObjOperandId obj, StringOperandId sep) {\
982
+  writeOp(CacheOp::ArrayJoinResult);\
983
+  writeOperandId(obj);\
984
+  writeOperandId(sep);\
985
+  assertLengthMatches();\
986
+}\
987
+void packedArrayPopResult(ObjOperandId array) {\
988
+  writeOp(CacheOp::PackedArrayPopResult);\
989
+  writeOperandId(array);\
990
+  assertLengthMatches();\
991
+}\
992
+void packedArrayShiftResult(ObjOperandId array) {\
993
+  writeOp(CacheOp::PackedArrayShiftResult);\
994
+  writeOperandId(array);\
995
+  assertLengthMatches();\
996
+}\
997
+void packedArraySliceResult(JSObject* templateObject, ObjOperandId array, Int32OperandId begin, Int32OperandId end) {\
998
+  writeOp(CacheOp::PackedArraySliceResult);\
999
+  writeObjectField(templateObject);\
1000
+  writeOperandId(array);\
1001
+  writeOperandId(begin);\
1002
+  writeOperandId(end);\
1003
+  assertLengthMatches();\
1004
+}\
1005
+void isArrayResult(ValOperandId input) {\
1006
+  writeOp(CacheOp::IsArrayResult);\
1007
+  writeOperandId(input);\
1008
+  assertLengthMatches();\
1009
+}\
1010
+void storeFixedSlotUndefinedResult(ObjOperandId obj, uint32_t offset, ValOperandId rhs) {\
1011
+  writeOp(CacheOp::StoreFixedSlotUndefinedResult);\
1012
+  writeOperandId(obj);\
1013
+  writeRawInt32Field(offset);\
1014
+  writeOperandId(rhs);\
1015
+  assertLengthMatches();\
1016
+}\
1017
+void isObjectResult(ValOperandId input) {\
1018
+  writeOp(CacheOp::IsObjectResult);\
1019
+  writeOperandId(input);\
1020
+  assertLengthMatches();\
1021
+}\
1022
+void isPackedArrayResult(ObjOperandId obj) {\
1023
+  writeOp(CacheOp::IsPackedArrayResult);\
1024
+  writeOperandId(obj);\
1025
+  assertLengthMatches();\
1026
+}\
1027
+void isCallableResult(ValOperandId input) {\
1028
+  writeOp(CacheOp::IsCallableResult);\
1029
+  writeOperandId(input);\
1030
+  assertLengthMatches();\
1031
+}\
1032
+void isConstructorResult(ObjOperandId obj) {\
1033
+  writeOp(CacheOp::IsConstructorResult);\
1034
+  writeOperandId(obj);\
1035
+  assertLengthMatches();\
1036
+}\
1037
+void isCrossRealmArrayConstructorResult(ObjOperandId obj) {\
1038
+  writeOp(CacheOp::IsCrossRealmArrayConstructorResult);\
1039
+  writeOperandId(obj);\
1040
+  assertLengthMatches();\
1041
+}\
1042
+void isTypedArrayResult(ObjOperandId obj, bool isPossiblyWrapped) {\
1043
+  writeOp(CacheOp::IsTypedArrayResult);\
1044
+  writeOperandId(obj);\
1045
+  writeBoolImm(isPossiblyWrapped);\
1046
+  assertLengthMatches();\
1047
+}\
1048
+void isTypedArrayConstructorResult(ObjOperandId obj) {\
1049
+  writeOp(CacheOp::IsTypedArrayConstructorResult);\
1050
+  writeOperandId(obj);\
1051
+  assertLengthMatches();\
1052
+}\
1053
+void arrayBufferViewByteOffsetInt32Result(ObjOperandId obj) {\
1054
+  writeOp(CacheOp::ArrayBufferViewByteOffsetInt32Result);\
1055
+  writeOperandId(obj);\
1056
+  assertLengthMatches();\
1057
+}\
1058
+void arrayBufferViewByteOffsetDoubleResult(ObjOperandId obj) {\
1059
+  writeOp(CacheOp::ArrayBufferViewByteOffsetDoubleResult);\
1060
+  writeOperandId(obj);\
1061
+  assertLengthMatches();\
1062
+}\
1063
+void typedArrayByteLengthInt32Result(ObjOperandId obj) {\
1064
+  writeOp(CacheOp::TypedArrayByteLengthInt32Result);\
1065
+  writeOperandId(obj);\
1066
+  assertLengthMatches();\
1067
+}\
1068
+void typedArrayByteLengthDoubleResult(ObjOperandId obj) {\
1069
+  writeOp(CacheOp::TypedArrayByteLengthDoubleResult);\
1070
+  writeOperandId(obj);\
1071
+  assertLengthMatches();\
1072
+}\
1073
+void typedArrayElementSizeResult(ObjOperandId obj) {\
1074
+  writeOp(CacheOp::TypedArrayElementSizeResult);\
1075
+  writeOperandId(obj);\
1076
+  assertLengthMatches();\
1077
+}\
1078
+void guardHasAttachedArrayBuffer(ObjOperandId obj) {\
1079
+  writeOp(CacheOp::GuardHasAttachedArrayBuffer);\
1080
+  writeOperandId(obj);\
1081
+  assertLengthMatches();\
1082
+}\
1083
+void finishBoundFunctionInitResult(ObjOperandId bound, ObjOperandId target, Int32OperandId argCount) {\
1084
+  writeOp(CacheOp::FinishBoundFunctionInitResult);\
1085
+  writeOperandId(bound);\
1086
+  writeOperandId(target);\
1087
+  writeOperandId(argCount);\
1088
+  assertLengthMatches();\
1089
+}\
1090
+void newArrayIteratorResult(JSObject* templateObject) {\
1091
+  writeOp(CacheOp::NewArrayIteratorResult);\
1092
+  writeObjectField(templateObject);\
1093
+  assertLengthMatches();\
1094
+}\
1095
+void newStringIteratorResult(JSObject* templateObject) {\
1096
+  writeOp(CacheOp::NewStringIteratorResult);\
1097
+  writeObjectField(templateObject);\
1098
+  assertLengthMatches();\
1099
+}\
1100
+void newRegExpStringIteratorResult(JSObject* templateObject) {\
1101
+  writeOp(CacheOp::NewRegExpStringIteratorResult);\
1102
+  writeObjectField(templateObject);\
1103
+  assertLengthMatches();\
1104
+}\
1105
+void objectCreateResult(JSObject* templateObject) {\
1106
+  writeOp(CacheOp::ObjectCreateResult);\
1107
+  writeObjectField(templateObject);\
1108
+  assertLengthMatches();\
1109
+}\
1110
+void newArrayFromLengthResult(JSObject* templateObject, Int32OperandId length) {\
1111
+  writeOp(CacheOp::NewArrayFromLengthResult);\
1112
+  writeObjectField(templateObject);\
1113
+  writeOperandId(length);\
1114
+  assertLengthMatches();\
1115
+}\
1116
+void newTypedArrayFromLengthResult(JSObject* templateObject, Int32OperandId length) {\
1117
+  writeOp(CacheOp::NewTypedArrayFromLengthResult);\
1118
+  writeObjectField(templateObject);\
1119
+  writeOperandId(length);\
1120
+  assertLengthMatches();\
1121
+}\
1122
+void newTypedArrayFromArrayBufferResult(JSObject* templateObject, ObjOperandId buffer, ValOperandId byteOffset, ValOperandId length) {\
1123
+  writeOp(CacheOp::NewTypedArrayFromArrayBufferResult);\
1124
+  writeObjectField(templateObject);\
1125
+  writeOperandId(buffer);\
1126
+  writeOperandId(byteOffset);\
1127
+  writeOperandId(length);\
1128
+  assertLengthMatches();\
1129
+}\
1130
+void newTypedArrayFromArrayResult(JSObject* templateObject, ObjOperandId array) {\
1131
+  writeOp(CacheOp::NewTypedArrayFromArrayResult);\
1132
+  writeObjectField(templateObject);\
1133
+  writeOperandId(array);\
1134
+  assertLengthMatches();\
1135
+}\
1136
+void newStringObjectResult(JSObject* templateObject, StringOperandId str) {\
1137
+  writeOp(CacheOp::NewStringObjectResult);\
1138
+  writeObjectField(templateObject);\
1139
+  writeOperandId(str);\
1140
+  assertLengthMatches();\
1141
+}\
1142
+void stringFromCharCodeResult(Int32OperandId code) {\
1143
+  writeOp(CacheOp::StringFromCharCodeResult);\
1144
+  writeOperandId(code);\
1145
+  assertLengthMatches();\
1146
+}\
1147
+void stringFromCodePointResult(Int32OperandId code) {\
1148
+  writeOp(CacheOp::StringFromCodePointResult);\
1149
+  writeOperandId(code);\
1150
+  assertLengthMatches();\
1151
+}\
1152
+void stringToLowerCaseResult(StringOperandId str) {\
1153
+  writeOp(CacheOp::StringToLowerCaseResult);\
1154
+  writeOperandId(str);\
1155
+  assertLengthMatches();\
1156
+}\
1157
+void stringToUpperCaseResult(StringOperandId str) {\
1158
+  writeOp(CacheOp::StringToUpperCaseResult);\
1159
+  writeOperandId(str);\
1160
+  assertLengthMatches();\
1161
+}\
1162
+void mathAbsInt32Result(Int32OperandId input) {\
1163
+  writeOp(CacheOp::MathAbsInt32Result);\
1164
+  writeOperandId(input);\
1165
+  assertLengthMatches();\
1166
+}\
1167
+void mathAbsNumberResult(NumberOperandId input) {\
1168
+  writeOp(CacheOp::MathAbsNumberResult);\
1169
+  writeOperandId(input);\
1170
+  assertLengthMatches();\
1171
+}\
1172
+void mathClz32Result(Int32OperandId input) {\
1173
+  writeOp(CacheOp::MathClz32Result);\
1174
+  writeOperandId(input);\
1175
+  assertLengthMatches();\
1176
+}\
1177
+void mathSignInt32Result(Int32OperandId input) {\
1178
+  writeOp(CacheOp::MathSignInt32Result);\
1179
+  writeOperandId(input);\
1180
+  assertLengthMatches();\
1181
+}\
1182
+void mathSignNumberResult(NumberOperandId input) {\
1183
+  writeOp(CacheOp::MathSignNumberResult);\
1184
+  writeOperandId(input);\
1185
+  assertLengthMatches();\
1186
+}\
1187
+void mathSignNumberToInt32Result(NumberOperandId input) {\
1188
+  writeOp(CacheOp::MathSignNumberToInt32Result);\
1189
+  writeOperandId(input);\
1190
+  assertLengthMatches();\
1191
+}\
1192
+void mathImulResult(Int32OperandId lhs, Int32OperandId rhs) {\
1193
+  writeOp(CacheOp::MathImulResult);\
1194
+  writeOperandId(lhs);\
1195
+  writeOperandId(rhs);\
1196
+  assertLengthMatches();\
1197
+}\
1198
+void mathSqrtNumberResult(NumberOperandId input) {\
1199
+  writeOp(CacheOp::MathSqrtNumberResult);\
1200
+  writeOperandId(input);\
1201
+  assertLengthMatches();\
1202
+}\
1203
+void mathFRoundNumberResult(NumberOperandId input) {\
1204
+  writeOp(CacheOp::MathFRoundNumberResult);\
1205
+  writeOperandId(input);\
1206
+  assertLengthMatches();\
1207
+}\
1208
+void mathRandomResult(const void* rng) {\
1209
+  writeOp(CacheOp::MathRandomResult);\
1210
+  writeRawPointerField(rng);\
1211
+  assertLengthMatches();\
1212
+}\
1213
+void mathHypot2NumberResult(NumberOperandId first, NumberOperandId second) {\
1214
+  writeOp(CacheOp::MathHypot2NumberResult);\
1215
+  writeOperandId(first);\
1216
+  writeOperandId(second);\
1217
+  assertLengthMatches();\
1218
+}\
1219
+void mathHypot3NumberResult(NumberOperandId first, NumberOperandId second, NumberOperandId third) {\
1220
+  writeOp(CacheOp::MathHypot3NumberResult);\
1221
+  writeOperandId(first);\
1222
+  writeOperandId(second);\
1223
+  writeOperandId(third);\
1224
+  assertLengthMatches();\
1225
+}\
1226
+void mathHypot4NumberResult(NumberOperandId first, NumberOperandId second, NumberOperandId third, NumberOperandId fourth) {\
1227
+  writeOp(CacheOp::MathHypot4NumberResult);\
1228
+  writeOperandId(first);\
1229
+  writeOperandId(second);\
1230
+  writeOperandId(third);\
1231
+  writeOperandId(fourth);\
1232
+  assertLengthMatches();\
1233
+}\
1234
+void mathAtan2NumberResult(NumberOperandId lhs, NumberOperandId rhs) {\
1235
+  writeOp(CacheOp::MathAtan2NumberResult);\
1236
+  writeOperandId(lhs);\
1237
+  writeOperandId(rhs);\
1238
+  assertLengthMatches();\
1239
+}\
1240
+void mathFloorNumberResult(NumberOperandId input) {\
1241
+  writeOp(CacheOp::MathFloorNumberResult);\
1242
+  writeOperandId(input);\
1243
+  assertLengthMatches();\
1244
+}\
1245
+void mathCeilNumberResult(NumberOperandId input) {\
1246
+  writeOp(CacheOp::MathCeilNumberResult);\
1247
+  writeOperandId(input);\
1248
+  assertLengthMatches();\
1249
+}\
1250
+void mathTruncNumberResult(NumberOperandId input) {\
1251
+  writeOp(CacheOp::MathTruncNumberResult);\
1252
+  writeOperandId(input);\
1253
+  assertLengthMatches();\
1254
+}\
1255
+void mathFloorToInt32Result(NumberOperandId input) {\
1256
+  writeOp(CacheOp::MathFloorToInt32Result);\
1257
+  writeOperandId(input);\
1258
+  assertLengthMatches();\
1259
+}\
1260
+void mathCeilToInt32Result(NumberOperandId input) {\
1261
+  writeOp(CacheOp::MathCeilToInt32Result);\
1262
+  writeOperandId(input);\
1263
+  assertLengthMatches();\
1264
+}\
1265
+void mathTruncToInt32Result(NumberOperandId input) {\
1266
+  writeOp(CacheOp::MathTruncToInt32Result);\
1267
+  writeOperandId(input);\
1268
+  assertLengthMatches();\
1269
+}\
1270
+void mathRoundToInt32Result(NumberOperandId input) {\
1271
+  writeOp(CacheOp::MathRoundToInt32Result);\
1272
+  writeOperandId(input);\
1273
+  assertLengthMatches();\
1274
+}\
1275
+Int32OperandId int32MinMax(bool isMax, Int32OperandId first, Int32OperandId second) {\
1276
+  writeOp(CacheOp::Int32MinMax);\
1277
+  writeBoolImm(isMax);\
1278
+  writeOperandId(first);\
1279
+  writeOperandId(second);\
1280
+  Int32OperandId result(newOperandId());\
1281
+  writeOperandId(result);\
1282
+  assertLengthMatches();\
1283
+  return result;\
1284
+}\
1285
+NumberOperandId numberMinMax(bool isMax, NumberOperandId first, NumberOperandId second) {\
1286
+  writeOp(CacheOp::NumberMinMax);\
1287
+  writeBoolImm(isMax);\
1288
+  writeOperandId(first);\
1289
+  writeOperandId(second);\
1290
+  NumberOperandId result(newOperandId());\
1291
+  writeOperandId(result);\
1292
+  assertLengthMatches();\
1293
+  return result;\
1294
+}\
1295
+void int32MinMaxArrayResult(ObjOperandId array, bool isMax) {\
1296
+  writeOp(CacheOp::Int32MinMaxArrayResult);\
1297
+  writeOperandId(array);\
1298
+  writeBoolImm(isMax);\
1299
+  assertLengthMatches();\
1300
+}\
1301
+void numberMinMaxArrayResult(ObjOperandId array, bool isMax) {\
1302
+  writeOp(CacheOp::NumberMinMaxArrayResult);\
1303
+  writeOperandId(array);\
1304
+  writeBoolImm(isMax);\
1305
+  assertLengthMatches();\
1306
+}\
1307
+void mathFunctionNumberResult(NumberOperandId input, UnaryMathFunction fun) {\
1308
+  writeOp(CacheOp::MathFunctionNumberResult);\
1309
+  writeOperandId(input);\
1310
+  writeUnaryMathFunctionImm(fun);\
1311
+  assertLengthMatches();\
1312
+}\
1313
+void objectToStringResult(ObjOperandId obj) {\
1314
+  writeOp(CacheOp::ObjectToStringResult);\
1315
+  writeOperandId(obj);\
1316
+  assertLengthMatches();\
1317
+}\
1318
+void reflectGetPrototypeOfResult(ObjOperandId obj) {\
1319
+  writeOp(CacheOp::ReflectGetPrototypeOfResult);\
1320
+  writeOperandId(obj);\
1321
+  assertLengthMatches();\
1322
+}\
1323
+void storeTypedArrayElement(ObjOperandId obj, Scalar::Type elementType, IntPtrOperandId index, OperandId rhs, bool handleOOB) {\
1324
+  writeOp(CacheOp::StoreTypedArrayElement);\
1325
+  writeOperandId(obj);\
1326
+  writeScalarTypeImm(elementType);\
1327
+  writeOperandId(index);\
1328
+  writeOperandId(rhs);\
1329
+  writeBoolImm(handleOOB);\
1330
+  assertLengthMatches();\
1331
+}\
1332
+void atomicsCompareExchangeResult(ObjOperandId obj, IntPtrOperandId index, OperandId expected, OperandId replacement, Scalar::Type elementType) {\
1333
+  writeOp(CacheOp::AtomicsCompareExchangeResult);\
1334
+  writeOperandId(obj);\
1335
+  writeOperandId(index);\
1336
+  writeOperandId(expected);\
1337
+  writeOperandId(replacement);\
1338
+  writeScalarTypeImm(elementType);\
1339
+  assertLengthMatches();\
1340
+}\
1341
+void atomicsExchangeResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType) {\
1342
+  writeOp(CacheOp::AtomicsExchangeResult);\
1343
+  writeOperandId(obj);\
1344
+  writeOperandId(index);\
1345
+  writeOperandId(value);\
1346
+  writeScalarTypeImm(elementType);\
1347
+  assertLengthMatches();\
1348
+}\
1349
+void atomicsAddResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
1350
+  writeOp(CacheOp::AtomicsAddResult);\
1351
+  writeOperandId(obj);\
1352
+  writeOperandId(index);\
1353
+  writeOperandId(value);\
1354
+  writeScalarTypeImm(elementType);\
1355
+  writeBoolImm(forEffect);\
1356
+  assertLengthMatches();\
1357
+}\
1358
+void atomicsSubResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
1359
+  writeOp(CacheOp::AtomicsSubResult);\
1360
+  writeOperandId(obj);\
1361
+  writeOperandId(index);\
1362
+  writeOperandId(value);\
1363
+  writeScalarTypeImm(elementType);\
1364
+  writeBoolImm(forEffect);\
1365
+  assertLengthMatches();\
1366
+}\
1367
+void atomicsAndResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
1368
+  writeOp(CacheOp::AtomicsAndResult);\
1369
+  writeOperandId(obj);\
1370
+  writeOperandId(index);\
1371
+  writeOperandId(value);\
1372
+  writeScalarTypeImm(elementType);\
1373
+  writeBoolImm(forEffect);\
1374
+  assertLengthMatches();\
1375
+}\
1376
+void atomicsOrResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
1377
+  writeOp(CacheOp::AtomicsOrResult);\
1378
+  writeOperandId(obj);\
1379
+  writeOperandId(index);\
1380
+  writeOperandId(value);\
1381
+  writeScalarTypeImm(elementType);\
1382
+  writeBoolImm(forEffect);\
1383
+  assertLengthMatches();\
1384
+}\
1385
+void atomicsXorResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType, bool forEffect) {\
1386
+  writeOp(CacheOp::AtomicsXorResult);\
1387
+  writeOperandId(obj);\
1388
+  writeOperandId(index);\
1389
+  writeOperandId(value);\
1390
+  writeScalarTypeImm(elementType);\
1391
+  writeBoolImm(forEffect);\
1392
+  assertLengthMatches();\
1393
+}\
1394
+void atomicsLoadResult(ObjOperandId obj, IntPtrOperandId index, Scalar::Type elementType) {\
1395
+  writeOp(CacheOp::AtomicsLoadResult);\
1396
+  writeOperandId(obj);\
1397
+  writeOperandId(index);\
1398
+  writeScalarTypeImm(elementType);\
1399
+  assertLengthMatches();\
1400
+}\
1401
+void atomicsStoreResult(ObjOperandId obj, IntPtrOperandId index, OperandId value, Scalar::Type elementType) {\
1402
+  writeOp(CacheOp::AtomicsStoreResult);\
1403
+  writeOperandId(obj);\
1404
+  writeOperandId(index);\
1405
+  writeOperandId(value);\
1406
+  writeScalarTypeImm(elementType);\
1407
+  assertLengthMatches();\
1408
+}\
1409
+void atomicsIsLockFreeResult(Int32OperandId value) {\
1410
+  writeOp(CacheOp::AtomicsIsLockFreeResult);\
1411
+  writeOperandId(value);\
1412
+  assertLengthMatches();\
1413
+}\
1414
+private:\
1415
+void callNativeSetter_(ObjOperandId receiver, JSObject* setter, ValOperandId rhs, bool sameRealm, uint32_t nargsAndFlags) {\
1416
+  writeOp(CacheOp::CallNativeSetter);\
1417
+  writeOperandId(receiver);\
1418
+  writeObjectField(setter);\
1419
+  writeOperandId(rhs);\
1420
+  writeBoolImm(sameRealm);\
1421
+  writeRawInt32Field(nargsAndFlags);\
1422
+  assertLengthMatches();\
1423
+}\
1424
+public:\
1425
+private:\
1426
+void callScriptedSetter_(ObjOperandId receiver, JSObject* setter, ValOperandId rhs, bool sameRealm, uint32_t nargsAndFlags) {\
1427
+  writeOp(CacheOp::CallScriptedSetter);\
1428
+  writeOperandId(receiver);\
1429
+  writeObjectField(setter);\
1430
+  writeOperandId(rhs);\
1431
+  writeBoolImm(sameRealm);\
1432
+  writeRawInt32Field(nargsAndFlags);\
1433
+  assertLengthMatches();\
1434
+}\
1435
+public:\
1436
+private:\
1437
+void callInlinedSetter_(ObjOperandId receiver, JSObject* setter, ValOperandId rhs, const void* icScript, bool sameRealm, uint32_t nargsAndFlags) {\
1438
+  writeOp(CacheOp::CallInlinedSetter);\
1439
+  writeOperandId(receiver);\
1440
+  writeObjectField(setter);\
1441
+  writeOperandId(rhs);\
1442
+  writeRawPointerField(icScript);\
1443
+  writeBoolImm(sameRealm);\
1444
+  writeRawInt32Field(nargsAndFlags);\
1445
+  assertLengthMatches();\
1446
+}\
1447
+public:\
1448
+void callDOMSetter(ObjOperandId obj, const void* jitInfo, ValOperandId rhs) {\
1449
+  writeOp(CacheOp::CallDOMSetter);\
1450
+  writeOperandId(obj);\
1451
+  writeRawPointerField(jitInfo);\
1452
+  writeOperandId(rhs);\
1453
+  assertLengthMatches();\
1454
+}\
1455
+void callSetArrayLength(ObjOperandId obj, bool strict, ValOperandId rhs) {\
1456
+  writeOp(CacheOp::CallSetArrayLength);\
1457
+  writeOperandId(obj);\
1458
+  writeBoolImm(strict);\
1459
+  writeOperandId(rhs);\
1460
+  assertLengthMatches();\
1461
+}\
1462
+void proxySet(ObjOperandId obj, jsid id, ValOperandId rhs, bool strict) {\
1463
+  writeOp(CacheOp::ProxySet);\
1464
+  writeOperandId(obj);\
1465
+  writeIdField(id);\
1466
+  writeOperandId(rhs);\
1467
+  writeBoolImm(strict);\
1468
+  assertLengthMatches();\
1469
+}\
1470
+void proxySetByValue(ObjOperandId obj, ValOperandId id, ValOperandId rhs, bool strict) {\
1471
+  writeOp(CacheOp::ProxySetByValue);\
1472
+  writeOperandId(obj);\
1473
+  writeOperandId(id);\
1474
+  writeOperandId(rhs);\
1475
+  writeBoolImm(strict);\
1476
+  assertLengthMatches();\
1477
+}\
1478
+void callAddOrUpdateSparseElementHelper(ObjOperandId obj, Int32OperandId id, ValOperandId rhs, bool strict) {\
1479
+  writeOp(CacheOp::CallAddOrUpdateSparseElementHelper);\
1480
+  writeOperandId(obj);\
1481
+  writeOperandId(id);\
1482
+  writeOperandId(rhs);\
1483
+  writeBoolImm(strict);\
1484
+  assertLengthMatches();\
1485
+}\
1486
+StringOperandId callInt32ToString(Int32OperandId input) {\
1487
+  writeOp(CacheOp::CallInt32ToString);\
1488
+  writeOperandId(input);\
1489
+  StringOperandId result(newOperandId());\
1490
+  writeOperandId(result);\
1491
+  assertLengthMatches();\
1492
+  return result;\
1493
+}\
1494
+StringOperandId callNumberToString(NumberOperandId input) {\
1495
+  writeOp(CacheOp::CallNumberToString);\
1496
+  writeOperandId(input);\
1497
+  StringOperandId result(newOperandId());\
1498
+  writeOperandId(result);\
1499
+  assertLengthMatches();\
1500
+  return result;\
1501
+}\
1502
+StringOperandId booleanToString(BooleanOperandId input) {\
1503
+  writeOp(CacheOp::BooleanToString);\
1504
+  writeOperandId(input);\
1505
+  StringOperandId result(newOperandId());\
1506
+  writeOperandId(result);\
1507
+  assertLengthMatches();\
1508
+  return result;\
1509
+}\
1510
+private:\
1511
+void callScriptedFunction_(ObjOperandId callee, Int32OperandId argc, CallFlags flags) {\
1512
+  writeOp(CacheOp::CallScriptedFunction);\
1513
+  writeOperandId(callee);\
1514
+  writeOperandId(argc);\
1515
+  writeCallFlagsImm(flags);\
1516
+  assertLengthMatches();\
1517
+}\
1518
+public:\
1519
+void callWasmFunction(ObjOperandId callee, Int32OperandId argc, CallFlags flags, const void* funcExport, JSObject* instance) {\
1520
+  writeOp(CacheOp::CallWasmFunction);\
1521
+  writeOperandId(callee);\
1522
+  writeOperandId(argc);\
1523
+  writeCallFlagsImm(flags);\
1524
+  writeRawPointerField(funcExport);\
1525
+  writeObjectField(instance);\
1526
+  assertLengthMatches();\
1527
+}\
1528
+void guardWasmArg(ValOperandId arg, wasm::ValType::Kind type) {\
1529
+  writeOp(CacheOp::GuardWasmArg);\
1530
+  writeOperandId(arg);\
1531
+  writeWasmValTypeImm(type);\
1532
+  assertLengthMatches();\
1533
+}\
1534
+private:\
1535
+void callNativeFunction_(ObjOperandId callee, Int32OperandId argc, CallFlags flags, bool ignoresReturnValue) {\
1536
+  writeOp(CacheOp::CallNativeFunction);\
1537
+  writeOperandId(callee);\
1538
+  writeOperandId(argc);\
1539
+  writeCallFlagsImm(flags);\
1540
+  writeBoolImm(ignoresReturnValue);\
1541
+  assertLengthMatches();\
1542
+}\
1543
+public:\
1544
+private:\
1545
+void callDOMFunction_(ObjOperandId callee, Int32OperandId argc, ObjOperandId thisObj, CallFlags flags) {\
1546
+  writeOp(CacheOp::CallDOMFunction);\
1547
+  writeOperandId(callee);\
1548
+  writeOperandId(argc);\
1549
+  writeOperandId(thisObj);\
1550
+  writeCallFlagsImm(flags);\
1551
+  assertLengthMatches();\
1552
+}\
1553
+public:\
1554
+private:\
1555
+void callClassHook_(ObjOperandId callee, Int32OperandId argc, CallFlags flags, const void* target) {\
1556
+  writeOp(CacheOp::CallClassHook);\
1557
+  writeOperandId(callee);\
1558
+  writeOperandId(argc);\
1559
+  writeCallFlagsImm(flags);\
1560
+  writeRawPointerField(target);\
1561
+  assertLengthMatches();\
1562
+}\
1563
+public:\
1564
+private:\
1565
+void callInlinedFunction_(ObjOperandId callee, Int32OperandId argc, const void* icScript, CallFlags flags) {\
1566
+  writeOp(CacheOp::CallInlinedFunction);\
1567
+  writeOperandId(callee);\
1568
+  writeOperandId(argc);\
1569
+  writeRawPointerField(icScript);\
1570
+  writeCallFlagsImm(flags);\
1571
+  assertLengthMatches();\
1572
+}\
1573
+public:\
1574
+private:\
1575
+void metaTwoByte_(JSObject* functionObject, JSObject* templateObject) {\
1576
+  writeOp(CacheOp::MetaTwoByte);\
1577
+  writeObjectField(functionObject);\
1578
+  writeObjectField(templateObject);\
1579
+  assertLengthMatches();\
1580
+}\
1581
+public:\
1582
+void loadFixedSlotResult(ObjOperandId obj, uint32_t offset) {\
1583
+  writeOp(CacheOp::LoadFixedSlotResult);\
1584
+  writeOperandId(obj);\
1585
+  writeRawInt32Field(offset);\
1586
+  assertLengthMatches();\
1587
+}\
1588
+void loadFixedSlotTypedResult(ObjOperandId obj, uint32_t offset, ValueType type) {\
1589
+  writeOp(CacheOp::LoadFixedSlotTypedResult);\
1590
+  writeOperandId(obj);\
1591
+  writeRawInt32Field(offset);\
1592
+  writeValueTypeImm(type);\
1593
+  assertLengthMatches();\
1594
+}\
1595
+void loadDynamicSlotResult(ObjOperandId obj, uint32_t offset) {\
1596
+  writeOp(CacheOp::LoadDynamicSlotResult);\
1597
+  writeOperandId(obj);\
1598
+  writeRawInt32Field(offset);\
1599
+  assertLengthMatches();\
1600
+}\
1601
+void loadDenseElementResult(ObjOperandId obj, Int32OperandId index) {\
1602
+  writeOp(CacheOp::LoadDenseElementResult);\
1603
+  writeOperandId(obj);\
1604
+  writeOperandId(index);\
1605
+  assertLengthMatches();\
1606
+}\
1607
+void loadDenseElementHoleResult(ObjOperandId obj, Int32OperandId index) {\
1608
+  writeOp(CacheOp::LoadDenseElementHoleResult);\
1609
+  writeOperandId(obj);\
1610
+  writeOperandId(index);\
1611
+  assertLengthMatches();\
1612
+}\
1613
+void callGetSparseElementResult(ObjOperandId obj, Int32OperandId index) {\
1614
+  writeOp(CacheOp::CallGetSparseElementResult);\
1615
+  writeOperandId(obj);\
1616
+  writeOperandId(index);\
1617
+  assertLengthMatches();\
1618
+}\
1619
+void loadDenseElementExistsResult(ObjOperandId obj, Int32OperandId index) {\
1620
+  writeOp(CacheOp::LoadDenseElementExistsResult);\
1621
+  writeOperandId(obj);\
1622
+  writeOperandId(index);\
1623
+  assertLengthMatches();\
1624
+}\
1625
+void loadTypedArrayElementExistsResult(ObjOperandId obj, IntPtrOperandId index) {\
1626
+  writeOp(CacheOp::LoadTypedArrayElementExistsResult);\
1627
+  writeOperandId(obj);\
1628
+  writeOperandId(index);\
1629
+  assertLengthMatches();\
1630
+}\
1631
+void loadDenseElementHoleExistsResult(ObjOperandId obj, Int32OperandId index) {\
1632
+  writeOp(CacheOp::LoadDenseElementHoleExistsResult);\
1633
+  writeOperandId(obj);\
1634
+  writeOperandId(index);\
1635
+  assertLengthMatches();\
1636
+}\
1637
+void loadTypedArrayElementResult(ObjOperandId obj, IntPtrOperandId index, Scalar::Type elementType, bool handleOOB, bool forceDoubleForUint32) {\
1638
+  writeOp(CacheOp::LoadTypedArrayElementResult);\
1639
+  writeOperandId(obj);\
1640
+  writeOperandId(index);\
1641
+  writeScalarTypeImm(elementType);\
1642
+  writeBoolImm(handleOOB);\
1643
+  writeBoolImm(forceDoubleForUint32);\
1644
+  assertLengthMatches();\
1645
+}\
1646
+void loadDataViewValueResult(ObjOperandId obj, IntPtrOperandId offset, BooleanOperandId littleEndian, Scalar::Type elementType, bool forceDoubleForUint32) {\
1647
+  writeOp(CacheOp::LoadDataViewValueResult);\
1648
+  writeOperandId(obj);\
1649
+  writeOperandId(offset);\
1650
+  writeOperandId(littleEndian);\
1651
+  writeScalarTypeImm(elementType);\
1652
+  writeBoolImm(forceDoubleForUint32);\
1653
+  assertLengthMatches();\
1654
+}\
1655
+void storeDataViewValueResult(ObjOperandId obj, IntPtrOperandId offset, OperandId value, BooleanOperandId littleEndian, Scalar::Type elementType) {\
1656
+  writeOp(CacheOp::StoreDataViewValueResult);\
1657
+  writeOperandId(obj);\
1658
+  writeOperandId(offset);\
1659
+  writeOperandId(value);\
1660
+  writeOperandId(littleEndian);\
1661
+  writeScalarTypeImm(elementType);\
1662
+  assertLengthMatches();\
1663
+}\
1664
+void loadInt32ArrayLengthResult(ObjOperandId obj) {\
1665
+  writeOp(CacheOp::LoadInt32ArrayLengthResult);\
1666
+  writeOperandId(obj);\
1667
+  assertLengthMatches();\
1668
+}\
1669
+Int32OperandId loadInt32ArrayLength(ObjOperandId obj) {\
1670
+  writeOp(CacheOp::LoadInt32ArrayLength);\
1671
+  writeOperandId(obj);\
1672
+  Int32OperandId result(newOperandId());\
1673
+  writeOperandId(result);\
1674
+  assertLengthMatches();\
1675
+  return result;\
1676
+}\
1677
+void loadArgumentsObjectArgResult(ObjOperandId obj, Int32OperandId index) {\
1678
+  writeOp(CacheOp::LoadArgumentsObjectArgResult);\
1679
+  writeOperandId(obj);\
1680
+  writeOperandId(index);\
1681
+  assertLengthMatches();\
1682
+}\
1683
+void loadArgumentsObjectLengthResult(ObjOperandId obj) {\
1684
+  writeOp(CacheOp::LoadArgumentsObjectLengthResult);\
1685
+  writeOperandId(obj);\
1686
+  assertLengthMatches();\
1687
+}\
1688
+void loadFunctionLengthResult(ObjOperandId obj) {\
1689
+  writeOp(CacheOp::LoadFunctionLengthResult);\
1690
+  writeOperandId(obj);\
1691
+  assertLengthMatches();\
1692
+}\
1693
+void loadFunctionNameResult(ObjOperandId obj) {\
1694
+  writeOp(CacheOp::LoadFunctionNameResult);\
1695
+  writeOperandId(obj);\
1696
+  assertLengthMatches();\
1697
+}\
1698
+void loadArrayBufferByteLengthInt32Result(ObjOperandId obj) {\
1699
+  writeOp(CacheOp::LoadArrayBufferByteLengthInt32Result);\
1700
+  writeOperandId(obj);\
1701
+  assertLengthMatches();\
1702
+}\
1703
+void loadArrayBufferByteLengthDoubleResult(ObjOperandId obj) {\
1704
+  writeOp(CacheOp::LoadArrayBufferByteLengthDoubleResult);\
1705
+  writeOperandId(obj);\
1706
+  assertLengthMatches();\
1707
+}\
1708
+void loadArrayBufferViewLengthInt32Result(ObjOperandId obj) {\
1709
+  writeOp(CacheOp::LoadArrayBufferViewLengthInt32Result);\
1710
+  writeOperandId(obj);\
1711
+  assertLengthMatches();\
1712
+}\
1713
+void loadArrayBufferViewLengthDoubleResult(ObjOperandId obj) {\
1714
+  writeOp(CacheOp::LoadArrayBufferViewLengthDoubleResult);\
1715
+  writeOperandId(obj);\
1716
+  assertLengthMatches();\
1717
+}\
1718
+void loadStringCharResult(StringOperandId str, Int32OperandId index) {\
1719
+  writeOp(CacheOp::LoadStringCharResult);\
1720
+  writeOperandId(str);\
1721
+  writeOperandId(index);\
1722
+  assertLengthMatches();\
1723
+}\
1724
+void loadStringCharCodeResult(StringOperandId str, Int32OperandId index) {\
1725
+  writeOp(CacheOp::LoadStringCharCodeResult);\
1726
+  writeOperandId(str);\
1727
+  writeOperandId(index);\
1728
+  assertLengthMatches();\
1729
+}\
1730
+void loadStringLengthResult(StringOperandId str) {\
1731
+  writeOp(CacheOp::LoadStringLengthResult);\
1732
+  writeOperandId(str);\
1733
+  assertLengthMatches();\
1734
+}\
1735
+void frameIsConstructingResult() {\
1736
+  writeOp(CacheOp::FrameIsConstructingResult);\
1737
+  assertLengthMatches();\
1738
+}\
1739
+void loadEnvironmentFixedSlotResult(ObjOperandId obj, uint32_t offset) {\
1740
+  writeOp(CacheOp::LoadEnvironmentFixedSlotResult);\
1741
+  writeOperandId(obj);\
1742
+  writeRawInt32Field(offset);\
1743
+  assertLengthMatches();\
1744
+}\
1745
+void loadEnvironmentDynamicSlotResult(ObjOperandId obj, uint32_t offset) {\
1746
+  writeOp(CacheOp::LoadEnvironmentDynamicSlotResult);\
1747
+  writeOperandId(obj);\
1748
+  writeRawInt32Field(offset);\
1749
+  assertLengthMatches();\
1750
+}\
1751
+void loadObjectResult(ObjOperandId obj) {\
1752
+  writeOp(CacheOp::LoadObjectResult);\
1753
+  writeOperandId(obj);\
1754
+  assertLengthMatches();\
1755
+}\
1756
+void loadStringResult(StringOperandId str) {\
1757
+  writeOp(CacheOp::LoadStringResult);\
1758
+  writeOperandId(str);\
1759
+  assertLengthMatches();\
1760
+}\
1761
+void loadSymbolResult(SymbolOperandId sym) {\
1762
+  writeOp(CacheOp::LoadSymbolResult);\
1763
+  writeOperandId(sym);\
1764
+  assertLengthMatches();\
1765
+}\
1766
+void loadInt32Result(Int32OperandId val) {\
1767
+  writeOp(CacheOp::LoadInt32Result);\
1768
+  writeOperandId(val);\
1769
+  assertLengthMatches();\
1770
+}\
1771
+void loadDoubleResult(NumberOperandId val) {\
1772
+  writeOp(CacheOp::LoadDoubleResult);\
1773
+  writeOperandId(val);\
1774
+  assertLengthMatches();\
1775
+}\
1776
+void loadBigIntResult(BigIntOperandId val) {\
1777
+  writeOp(CacheOp::LoadBigIntResult);\
1778
+  writeOperandId(val);\
1779
+  assertLengthMatches();\
1780
+}\
1781
+private:\
1782
+void callScriptedGetterResult_(ValOperandId receiver, JSObject* getter, bool sameRealm, uint32_t nargsAndFlags) {\
1783
+  writeOp(CacheOp::CallScriptedGetterResult);\
1784
+  writeOperandId(receiver);\
1785
+  writeObjectField(getter);\
1786
+  writeBoolImm(sameRealm);\
1787
+  writeRawInt32Field(nargsAndFlags);\
1788
+  assertLengthMatches();\
1789
+}\
1790
+public:\
1791
+private:\
1792
+void callInlinedGetterResult_(ValOperandId receiver, JSObject* getter, const void* icScript, bool sameRealm, uint32_t nargsAndFlags) {\
1793
+  writeOp(CacheOp::CallInlinedGetterResult);\
1794
+  writeOperandId(receiver);\
1795
+  writeObjectField(getter);\
1796
+  writeRawPointerField(icScript);\
1797
+  writeBoolImm(sameRealm);\
1798
+  writeRawInt32Field(nargsAndFlags);\
1799
+  assertLengthMatches();\
1800
+}\
1801
+public:\
1802
+private:\
1803
+void callNativeGetterResult_(ValOperandId receiver, JSObject* getter, bool sameRealm, uint32_t nargsAndFlags) {\
1804
+  writeOp(CacheOp::CallNativeGetterResult);\
1805
+  writeOperandId(receiver);\
1806
+  writeObjectField(getter);\
1807
+  writeBoolImm(sameRealm);\
1808
+  writeRawInt32Field(nargsAndFlags);\
1809
+  assertLengthMatches();\
1810
+}\
1811
+public:\
1812
+void callDOMGetterResult(ObjOperandId obj, const void* jitInfo) {\
1813
+  writeOp(CacheOp::CallDOMGetterResult);\
1814
+  writeOperandId(obj);\
1815
+  writeRawPointerField(jitInfo);\
1816
+  assertLengthMatches();\
1817
+}\
1818
+void proxyGetResult(ObjOperandId obj, jsid id) {\
1819
+  writeOp(CacheOp::ProxyGetResult);\
1820
+  writeOperandId(obj);\
1821
+  writeIdField(id);\
1822
+  assertLengthMatches();\
1823
+}\
1824
+void proxyGetByValueResult(ObjOperandId obj, ValOperandId id) {\
1825
+  writeOp(CacheOp::ProxyGetByValueResult);\
1826
+  writeOperandId(obj);\
1827
+  writeOperandId(id);\
1828
+  assertLengthMatches();\
1829
+}\
1830
+void proxyHasPropResult(ObjOperandId obj, ValOperandId id, bool hasOwn) {\
1831
+  writeOp(CacheOp::ProxyHasPropResult);\
1832
+  writeOperandId(obj);\
1833
+  writeOperandId(id);\
1834
+  writeBoolImm(hasOwn);\
1835
+  assertLengthMatches();\
1836
+}\
1837
+void callObjectHasSparseElementResult(ObjOperandId obj, Int32OperandId index) {\
1838
+  writeOp(CacheOp::CallObjectHasSparseElementResult);\
1839
+  writeOperandId(obj);\
1840
+  writeOperandId(index);\
1841
+  assertLengthMatches();\
1842
+}\
1843
+void callNativeGetElementResult(ObjOperandId obj, Int32OperandId index) {\
1844
+  writeOp(CacheOp::CallNativeGetElementResult);\
1845
+  writeOperandId(obj);\
1846
+  writeOperandId(index);\
1847
+  assertLengthMatches();\
1848
+}\
1849
+void getNextMapSetEntryForIteratorResult(ObjOperandId iter, ObjOperandId resultArr, bool isMap) {\
1850
+  writeOp(CacheOp::GetNextMapSetEntryForIteratorResult);\
1851
+  writeOperandId(iter);\
1852
+  writeOperandId(resultArr);\
1853
+  writeBoolImm(isMap);\
1854
+  assertLengthMatches();\
1855
+}\
1856
+void loadUndefinedResult() {\
1857
+  writeOp(CacheOp::LoadUndefinedResult);\
1858
+  assertLengthMatches();\
1859
+}\
1860
+void loadBooleanResult(bool val) {\
1861
+  writeOp(CacheOp::LoadBooleanResult);\
1862
+  writeBoolImm(val);\
1863
+  assertLengthMatches();\
1864
+}\
1865
+Int32OperandId loadInt32Constant(uint32_t val) {\
1866
+  writeOp(CacheOp::LoadInt32Constant);\
1867
+  writeRawInt32Field(val);\
1868
+  Int32OperandId result(newOperandId());\
1869
+  writeOperandId(result);\
1870
+  assertLengthMatches();\
1871
+  return result;\
1872
+}\
1873
+BooleanOperandId loadBooleanConstant(bool val) {\
1874
+  writeOp(CacheOp::LoadBooleanConstant);\
1875
+  writeBoolImm(val);\
1876
+  BooleanOperandId result(newOperandId());\
1877
+  writeOperandId(result);\
1878
+  assertLengthMatches();\
1879
+  return result;\
1880
+}\
1881
+ValOperandId loadUndefined() {\
1882
+  writeOp(CacheOp::LoadUndefined);\
1883
+  ValOperandId result(newOperandId());\
1884
+  writeOperandId(result);\
1885
+  assertLengthMatches();\
1886
+  return result;\
1887
+}\
1888
+StringOperandId loadConstantString(JSString* str) {\
1889
+  writeOp(CacheOp::LoadConstantString);\
1890
+  writeStringField(str);\
1891
+  StringOperandId result(newOperandId());\
1892
+  writeOperandId(result);\
1893
+  assertLengthMatches();\
1894
+  return result;\
1895
+}\
1896
+void loadConstantStringResult(JSString* str) {\
1897
+  writeOp(CacheOp::LoadConstantStringResult);\
1898
+  writeStringField(str);\
1899
+  assertLengthMatches();\
1900
+}\
1901
+void loadInstanceOfObjectResult(ValOperandId lhs, ObjOperandId proto) {\
1902
+  writeOp(CacheOp::LoadInstanceOfObjectResult);\
1903
+  writeOperandId(lhs);\
1904
+  writeOperandId(proto);\
1905
+  assertLengthMatches();\
1906
+}\
1907
+void loadTypeOfObjectResult(ObjOperandId obj) {\
1908
+  writeOp(CacheOp::LoadTypeOfObjectResult);\
1909
+  writeOperandId(obj);\
1910
+  assertLengthMatches();\
1911
+}\
1912
+void doubleAddResult(NumberOperandId lhs, NumberOperandId rhs) {\
1913
+  writeOp(CacheOp::DoubleAddResult);\
1914
+  writeOperandId(lhs);\
1915
+  writeOperandId(rhs);\
1916
+  assertLengthMatches();\
1917
+}\
1918
+void doubleSubResult(NumberOperandId lhs, NumberOperandId rhs) {\
1919
+  writeOp(CacheOp::DoubleSubResult);\
1920
+  writeOperandId(lhs);\
1921
+  writeOperandId(rhs);\
1922
+  assertLengthMatches();\
1923
+}\
1924
+void doubleMulResult(NumberOperandId lhs, NumberOperandId rhs) {\
1925
+  writeOp(CacheOp::DoubleMulResult);\
1926
+  writeOperandId(lhs);\
1927
+  writeOperandId(rhs);\
1928
+  assertLengthMatches();\
1929
+}\
1930
+void doubleDivResult(NumberOperandId lhs, NumberOperandId rhs) {\
1931
+  writeOp(CacheOp::DoubleDivResult);\
1932
+  writeOperandId(lhs);\
1933
+  writeOperandId(rhs);\
1934
+  assertLengthMatches();\
1935
+}\
1936
+void doubleModResult(NumberOperandId lhs, NumberOperandId rhs) {\
1937
+  writeOp(CacheOp::DoubleModResult);\
1938
+  writeOperandId(lhs);\
1939
+  writeOperandId(rhs);\
1940
+  assertLengthMatches();\
1941
+}\
1942
+void doublePowResult(NumberOperandId lhs, NumberOperandId rhs) {\
1943
+  writeOp(CacheOp::DoublePowResult);\
1944
+  writeOperandId(lhs);\
1945
+  writeOperandId(rhs);\
1946
+  assertLengthMatches();\
1947
+}\
1948
+void int32AddResult(Int32OperandId lhs, Int32OperandId rhs) {\
1949
+  writeOp(CacheOp::Int32AddResult);\
1950
+  writeOperandId(lhs);\
1951
+  writeOperandId(rhs);\
1952
+  assertLengthMatches();\
1953
+}\
1954
+void int32SubResult(Int32OperandId lhs, Int32OperandId rhs) {\
1955
+  writeOp(CacheOp::Int32SubResult);\
1956
+  writeOperandId(lhs);\
1957
+  writeOperandId(rhs);\
1958
+  assertLengthMatches();\
1959
+}\
1960
+void int32MulResult(Int32OperandId lhs, Int32OperandId rhs) {\
1961
+  writeOp(CacheOp::Int32MulResult);\
1962
+  writeOperandId(lhs);\
1963
+  writeOperandId(rhs);\
1964
+  assertLengthMatches();\
1965
+}\
1966
+void int32DivResult(Int32OperandId lhs, Int32OperandId rhs) {\
1967
+  writeOp(CacheOp::Int32DivResult);\
1968
+  writeOperandId(lhs);\
1969
+  writeOperandId(rhs);\
1970
+  assertLengthMatches();\
1971
+}\
1972
+void int32ModResult(Int32OperandId lhs, Int32OperandId rhs) {\
1973
+  writeOp(CacheOp::Int32ModResult);\
1974
+  writeOperandId(lhs);\
1975
+  writeOperandId(rhs);\
1976
+  assertLengthMatches();\
1977
+}\
1978
+void int32PowResult(Int32OperandId lhs, Int32OperandId rhs) {\
1979
+  writeOp(CacheOp::Int32PowResult);\
1980
+  writeOperandId(lhs);\
1981
+  writeOperandId(rhs);\
1982
+  assertLengthMatches();\
1983
+}\
1984
+void bigIntAddResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
1985
+  writeOp(CacheOp::BigIntAddResult);\
1986
+  writeOperandId(lhs);\
1987
+  writeOperandId(rhs);\
1988
+  assertLengthMatches();\
1989
+}\
1990
+void bigIntSubResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
1991
+  writeOp(CacheOp::BigIntSubResult);\
1992
+  writeOperandId(lhs);\
1993
+  writeOperandId(rhs);\
1994
+  assertLengthMatches();\
1995
+}\
1996
+void bigIntMulResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
1997
+  writeOp(CacheOp::BigIntMulResult);\
1998
+  writeOperandId(lhs);\
1999
+  writeOperandId(rhs);\
2000
+  assertLengthMatches();\
2001
+}\
2002
+void bigIntDivResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
2003
+  writeOp(CacheOp::BigIntDivResult);\
2004
+  writeOperandId(lhs);\
2005
+  writeOperandId(rhs);\
2006
+  assertLengthMatches();\
2007
+}\
2008
+void bigIntModResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
2009
+  writeOp(CacheOp::BigIntModResult);\
2010
+  writeOperandId(lhs);\
2011
+  writeOperandId(rhs);\
2012
+  assertLengthMatches();\
2013
+}\
2014
+void bigIntPowResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
2015
+  writeOp(CacheOp::BigIntPowResult);\
2016
+  writeOperandId(lhs);\
2017
+  writeOperandId(rhs);\
2018
+  assertLengthMatches();\
2019
+}\
2020
+void int32BitOrResult(Int32OperandId lhs, Int32OperandId rhs) {\
2021
+  writeOp(CacheOp::Int32BitOrResult);\
2022
+  writeOperandId(lhs);\
2023
+  writeOperandId(rhs);\
2024
+  assertLengthMatches();\
2025
+}\
2026
+void int32BitXorResult(Int32OperandId lhs, Int32OperandId rhs) {\
2027
+  writeOp(CacheOp::Int32BitXorResult);\
2028
+  writeOperandId(lhs);\
2029
+  writeOperandId(rhs);\
2030
+  assertLengthMatches();\
2031
+}\
2032
+void int32BitAndResult(Int32OperandId lhs, Int32OperandId rhs) {\
2033
+  writeOp(CacheOp::Int32BitAndResult);\
2034
+  writeOperandId(lhs);\
2035
+  writeOperandId(rhs);\
2036
+  assertLengthMatches();\
2037
+}\
2038
+void int32LeftShiftResult(Int32OperandId lhs, Int32OperandId rhs) {\
2039
+  writeOp(CacheOp::Int32LeftShiftResult);\
2040
+  writeOperandId(lhs);\
2041
+  writeOperandId(rhs);\
2042
+  assertLengthMatches();\
2043
+}\
2044
+void int32RightShiftResult(Int32OperandId lhs, Int32OperandId rhs) {\
2045
+  writeOp(CacheOp::Int32RightShiftResult);\
2046
+  writeOperandId(lhs);\
2047
+  writeOperandId(rhs);\
2048
+  assertLengthMatches();\
2049
+}\
2050
+void int32URightShiftResult(Int32OperandId lhs, Int32OperandId rhs, bool forceDouble) {\
2051
+  writeOp(CacheOp::Int32URightShiftResult);\
2052
+  writeOperandId(lhs);\
2053
+  writeOperandId(rhs);\
2054
+  writeBoolImm(forceDouble);\
2055
+  assertLengthMatches();\
2056
+}\
2057
+void int32NotResult(Int32OperandId input) {\
2058
+  writeOp(CacheOp::Int32NotResult);\
2059
+  writeOperandId(input);\
2060
+  assertLengthMatches();\
2061
+}\
2062
+void bigIntBitOrResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
2063
+  writeOp(CacheOp::BigIntBitOrResult);\
2064
+  writeOperandId(lhs);\
2065
+  writeOperandId(rhs);\
2066
+  assertLengthMatches();\
2067
+}\
2068
+void bigIntBitXorResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
2069
+  writeOp(CacheOp::BigIntBitXorResult);\
2070
+  writeOperandId(lhs);\
2071
+  writeOperandId(rhs);\
2072
+  assertLengthMatches();\
2073
+}\
2074
+void bigIntBitAndResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
2075
+  writeOp(CacheOp::BigIntBitAndResult);\
2076
+  writeOperandId(lhs);\
2077
+  writeOperandId(rhs);\
2078
+  assertLengthMatches();\
2079
+}\
2080
+void bigIntLeftShiftResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
2081
+  writeOp(CacheOp::BigIntLeftShiftResult);\
2082
+  writeOperandId(lhs);\
2083
+  writeOperandId(rhs);\
2084
+  assertLengthMatches();\
2085
+}\
2086
+void bigIntRightShiftResult(BigIntOperandId lhs, BigIntOperandId rhs) {\
2087
+  writeOp(CacheOp::BigIntRightShiftResult);\
2088
+  writeOperandId(lhs);\
2089
+  writeOperandId(rhs);\
2090
+  assertLengthMatches();\
2091
+}\
2092
+void bigIntNotResult(BigIntOperandId input) {\
2093
+  writeOp(CacheOp::BigIntNotResult);\
2094
+  writeOperandId(input);\
2095
+  assertLengthMatches();\
2096
+}\
2097
+void int32NegationResult(Int32OperandId input) {\
2098
+  writeOp(CacheOp::Int32NegationResult);\
2099
+  writeOperandId(input);\
2100
+  assertLengthMatches();\
2101
+}\
2102
+void doubleNegationResult(NumberOperandId input) {\
2103
+  writeOp(CacheOp::DoubleNegationResult);\
2104
+  writeOperandId(input);\
2105
+  assertLengthMatches();\
2106
+}\
2107
+void bigIntNegationResult(BigIntOperandId input) {\
2108
+  writeOp(CacheOp::BigIntNegationResult);\
2109
+  writeOperandId(input);\
2110
+  assertLengthMatches();\
2111
+}\
2112
+void int32IncResult(Int32OperandId input) {\
2113
+  writeOp(CacheOp::Int32IncResult);\
2114
+  writeOperandId(input);\
2115
+  assertLengthMatches();\
2116
+}\
2117
+void int32DecResult(Int32OperandId input) {\
2118
+  writeOp(CacheOp::Int32DecResult);\
2119
+  writeOperandId(input);\
2120
+  assertLengthMatches();\
2121
+}\
2122
+void doubleIncResult(NumberOperandId input) {\
2123
+  writeOp(CacheOp::DoubleIncResult);\
2124
+  writeOperandId(input);\
2125
+  assertLengthMatches();\
2126
+}\
2127
+void doubleDecResult(NumberOperandId input) {\
2128
+  writeOp(CacheOp::DoubleDecResult);\
2129
+  writeOperandId(input);\
2130
+  assertLengthMatches();\
2131
+}\
2132
+void bigIntIncResult(BigIntOperandId input) {\
2133
+  writeOp(CacheOp::BigIntIncResult);\
2134
+  writeOperandId(input);\
2135
+  assertLengthMatches();\
2136
+}\
2137
+void bigIntDecResult(BigIntOperandId input) {\
2138
+  writeOp(CacheOp::BigIntDecResult);\
2139
+  writeOperandId(input);\
2140
+  assertLengthMatches();\
2141
+}\
2142
+void loadInt32TruthyResult(ValOperandId input) {\
2143
+  writeOp(CacheOp::LoadInt32TruthyResult);\
2144
+  writeOperandId(input);\
2145
+  assertLengthMatches();\
2146
+}\
2147
+void loadDoubleTruthyResult(NumberOperandId input) {\
2148
+  writeOp(CacheOp::LoadDoubleTruthyResult);\
2149
+  writeOperandId(input);\
2150
+  assertLengthMatches();\
2151
+}\
2152
+void loadStringTruthyResult(StringOperandId str) {\
2153
+  writeOp(CacheOp::LoadStringTruthyResult);\
2154
+  writeOperandId(str);\
2155
+  assertLengthMatches();\
2156
+}\
2157
+void loadObjectTruthyResult(ObjOperandId obj) {\
2158
+  writeOp(CacheOp::LoadObjectTruthyResult);\
2159
+  writeOperandId(obj);\
2160
+  assertLengthMatches();\
2161
+}\
2162
+void loadBigIntTruthyResult(BigIntOperandId bigInt) {\
2163
+  writeOp(CacheOp::LoadBigIntTruthyResult);\
2164
+  writeOperandId(bigInt);\
2165
+  assertLengthMatches();\
2166
+}\
2167
+void loadValueTruthyResult(ValOperandId input) {\
2168
+  writeOp(CacheOp::LoadValueTruthyResult);\
2169
+  writeOperandId(input);\
2170
+  assertLengthMatches();\
2171
+}\
2172
+void loadValueResult(const Value& val) {\
2173
+  writeOp(CacheOp::LoadValueResult);\
2174
+  writeValueField(val);\
2175
+  assertLengthMatches();\
2176
+}\
2177
+void loadOperandResult(ValOperandId input) {\
2178
+  writeOp(CacheOp::LoadOperandResult);\
2179
+  writeOperandId(input);\
2180
+  assertLengthMatches();\
2181
+}\
2182
+void newPlainObjectResult(uint32_t numFixedSlots, uint32_t numDynamicSlots, gc::AllocKind allocKind, Shape* shape, gc::AllocSite* site) {\
2183
+  writeOp(CacheOp::NewPlainObjectResult);\
2184
+  writeUInt32Imm(numFixedSlots);\
2185
+  writeUInt32Imm(numDynamicSlots);\
2186
+  writeAllocKindImm(allocKind);\
2187
+  writeShapeField(shape);\
2188
+  writeAllocSiteField(site);\
2189
+  assertLengthMatches();\
2190
+}\
2191
+void newArrayObjectResult(uint32_t arrayLength, Shape* shape, gc::AllocSite* site) {\
2192
+  writeOp(CacheOp::NewArrayObjectResult);\
2193
+  writeUInt32Imm(arrayLength);\
2194
+  writeShapeField(shape);\
2195
+  writeAllocSiteField(site);\
2196
+  assertLengthMatches();\
2197
+}\
2198
+void callStringConcatResult(StringOperandId lhs, StringOperandId rhs) {\
2199
+  writeOp(CacheOp::CallStringConcatResult);\
2200
+  writeOperandId(lhs);\
2201
+  writeOperandId(rhs);\
2202
+  assertLengthMatches();\
2203
+}\
2204
+void callStringObjectConcatResult(ValOperandId lhs, ValOperandId rhs) {\
2205
+  writeOp(CacheOp::CallStringObjectConcatResult);\
2206
+  writeOperandId(lhs);\
2207
+  writeOperandId(rhs);\
2208
+  assertLengthMatches();\
2209
+}\
2210
+void callIsSuspendedGeneratorResult(ValOperandId val) {\
2211
+  writeOp(CacheOp::CallIsSuspendedGeneratorResult);\
2212
+  writeOperandId(val);\
2213
+  assertLengthMatches();\
2214
+}\
2215
+void compareStringResult(JSOp op, StringOperandId lhs, StringOperandId rhs) {\
2216
+  writeOp(CacheOp::CompareStringResult);\
2217
+  writeJSOpImm(op);\
2218
+  writeOperandId(lhs);\
2219
+  writeOperandId(rhs);\
2220
+  assertLengthMatches();\
2221
+}\
2222
+void compareObjectResult(JSOp op, ObjOperandId lhs, ObjOperandId rhs) {\
2223
+  writeOp(CacheOp::CompareObjectResult);\
2224
+  writeJSOpImm(op);\
2225
+  writeOperandId(lhs);\
2226
+  writeOperandId(rhs);\
2227
+  assertLengthMatches();\
2228
+}\
2229
+void compareSymbolResult(JSOp op, SymbolOperandId lhs, SymbolOperandId rhs) {\
2230
+  writeOp(CacheOp::CompareSymbolResult);\
2231
+  writeJSOpImm(op);\
2232
+  writeOperandId(lhs);\
2233
+  writeOperandId(rhs);\
2234
+  assertLengthMatches();\
2235
+}\
2236
+void compareInt32Result(JSOp op, Int32OperandId lhs, Int32OperandId rhs) {\
2237
+  writeOp(CacheOp::CompareInt32Result);\
2238
+  writeJSOpImm(op);\
2239
+  writeOperandId(lhs);\
2240
+  writeOperandId(rhs);\
2241
+  assertLengthMatches();\
2242
+}\
2243
+void compareDoubleResult(JSOp op, NumberOperandId lhs, NumberOperandId rhs) {\
2244
+  writeOp(CacheOp::CompareDoubleResult);\
2245
+  writeJSOpImm(op);\
2246
+  writeOperandId(lhs);\
2247
+  writeOperandId(rhs);\
2248
+  assertLengthMatches();\
2249
+}\
2250
+void compareBigIntResult(JSOp op, BigIntOperandId lhs, BigIntOperandId rhs) {\
2251
+  writeOp(CacheOp::CompareBigIntResult);\
2252
+  writeJSOpImm(op);\
2253
+  writeOperandId(lhs);\
2254
+  writeOperandId(rhs);\
2255
+  assertLengthMatches();\
2256
+}\
2257
+void compareBigIntInt32Result(JSOp op, BigIntOperandId lhs, Int32OperandId rhs) {\
2258
+  writeOp(CacheOp::CompareBigIntInt32Result);\
2259
+  writeJSOpImm(op);\
2260
+  writeOperandId(lhs);\
2261
+  writeOperandId(rhs);\
2262
+  assertLengthMatches();\
2263
+}\
2264
+void compareBigIntNumberResult(JSOp op, BigIntOperandId lhs, NumberOperandId rhs) {\
2265
+  writeOp(CacheOp::CompareBigIntNumberResult);\
2266
+  writeJSOpImm(op);\
2267
+  writeOperandId(lhs);\
2268
+  writeOperandId(rhs);\
2269
+  assertLengthMatches();\
2270
+}\
2271
+void compareBigIntStringResult(JSOp op, BigIntOperandId lhs, StringOperandId rhs) {\
2272
+  writeOp(CacheOp::CompareBigIntStringResult);\
2273
+  writeJSOpImm(op);\
2274
+  writeOperandId(lhs);\
2275
+  writeOperandId(rhs);\
2276
+  assertLengthMatches();\
2277
+}\
2278
+void compareNullUndefinedResult(JSOp op, bool isUndefined, ValOperandId input) {\
2279
+  writeOp(CacheOp::CompareNullUndefinedResult);\
2280
+  writeJSOpImm(op);\
2281
+  writeBoolImm(isUndefined);\
2282
+  writeOperandId(input);\
2283
+  assertLengthMatches();\
2284
+}\
2285
+void compareDoubleSameValueResult(NumberOperandId lhs, NumberOperandId rhs) {\
2286
+  writeOp(CacheOp::CompareDoubleSameValueResult);\
2287
+  writeOperandId(lhs);\
2288
+  writeOperandId(rhs);\
2289
+  assertLengthMatches();\
2290
+}\
2291
+void sameValueResult(ValOperandId lhs, ValOperandId rhs) {\
2292
+  writeOp(CacheOp::SameValueResult);\
2293
+  writeOperandId(lhs);\
2294
+  writeOperandId(rhs);\
2295
+  assertLengthMatches();\
2296
+}\
2297
+void indirectTruncateInt32Result(Int32OperandId val) {\
2298
+  writeOp(CacheOp::IndirectTruncateInt32Result);\
2299
+  writeOperandId(val);\
2300
+  assertLengthMatches();\
2301
+}\
2302
+void bigIntAsIntNResult(Int32OperandId bits, BigIntOperandId bigInt) {\
2303
+  writeOp(CacheOp::BigIntAsIntNResult);\
2304
+  writeOperandId(bits);\
2305
+  writeOperandId(bigInt);\
2306
+  assertLengthMatches();\
2307
+}\
2308
+void bigIntAsUintNResult(Int32OperandId bits, BigIntOperandId bigInt) {\
2309
+  writeOp(CacheOp::BigIntAsUintNResult);\
2310
+  writeOperandId(bits);\
2311
+  writeOperandId(bigInt);\
2312
+  assertLengthMatches();\
2313
+}\
2314
+void callPrintString(const char* str) {\
2315
+  writeOp(CacheOp::CallPrintString);\
2316
+  writeStaticStringImm(str);\
2317
+  assertLengthMatches();\
2318
+}\
2319
+void breakpoint() {\
2320
+  writeOp(CacheOp::Breakpoint);\
2321
+  assertLengthMatches();\
2322
+}\
2323
+void wrapResult() {\
2324
+  writeOp(CacheOp::WrapResult);\
2325
+  assertLengthMatches();\
2326
+}\
2327
+void bailout() {\
2328
+  writeOp(CacheOp::Bailout);\
2329
+  assertLengthMatches();\
2330
+}\
2331
+void assertRecoveredOnBailoutResult(ValOperandId val, bool mustBeRecovered) {\
2332
+  writeOp(CacheOp::AssertRecoveredOnBailoutResult);\
2333
+  writeOperandId(val);\
2334
+  writeBoolImm(mustBeRecovered);\
2335
+  assertLengthMatches();\
2336
+}
2337
+
2338
+#define CACHE_IR_COMPILER_SHARED_GENERATED \
2339
+[[nodiscard]] bool emitGuardToObject(ValOperandId inputId);\
2340
+[[nodiscard]] bool emitGuardToObject(CacheIRReader& reader) {\
2341
+  ValOperandId inputId = reader.valOperandId();\
2342
+  return emitGuardToObject(inputId);\
2343
+}\
2344
+\
2345
+[[nodiscard]] bool emitGuardIsNullOrUndefined(ValOperandId inputId);\
2346
+[[nodiscard]] bool emitGuardIsNullOrUndefined(CacheIRReader& reader) {\
2347
+  ValOperandId inputId = reader.valOperandId();\
2348
+  return emitGuardIsNullOrUndefined(inputId);\
2349
+}\
2350
+\
2351
+[[nodiscard]] bool emitGuardIsNull(ValOperandId inputId);\
2352
+[[nodiscard]] bool emitGuardIsNull(CacheIRReader& reader) {\
2353
+  ValOperandId inputId = reader.valOperandId();\
2354
+  return emitGuardIsNull(inputId);\
2355
+}\
2356
+\
2357
+[[nodiscard]] bool emitGuardIsUndefined(ValOperandId inputId);\
2358
+[[nodiscard]] bool emitGuardIsUndefined(CacheIRReader& reader) {\
2359
+  ValOperandId inputId = reader.valOperandId();\
2360
+  return emitGuardIsUndefined(inputId);\
2361
+}\
2362
+\
2363
+[[nodiscard]] bool emitGuardToBoolean(ValOperandId inputId);\
2364
+[[nodiscard]] bool emitGuardToBoolean(CacheIRReader& reader) {\
2365
+  ValOperandId inputId = reader.valOperandId();\
2366
+  return emitGuardToBoolean(inputId);\
2367
+}\
2368
+\
2369
+[[nodiscard]] bool emitGuardToString(ValOperandId inputId);\
2370
+[[nodiscard]] bool emitGuardToString(CacheIRReader& reader) {\
2371
+  ValOperandId inputId = reader.valOperandId();\
2372
+  return emitGuardToString(inputId);\
2373
+}\
2374
+\
2375
+[[nodiscard]] bool emitGuardToSymbol(ValOperandId inputId);\
2376
+[[nodiscard]] bool emitGuardToSymbol(CacheIRReader& reader) {\
2377
+  ValOperandId inputId = reader.valOperandId();\
2378
+  return emitGuardToSymbol(inputId);\
2379
+}\
2380
+\
2381
+[[nodiscard]] bool emitGuardToBigInt(ValOperandId inputId);\
2382
+[[nodiscard]] bool emitGuardToBigInt(CacheIRReader& reader) {\
2383
+  ValOperandId inputId = reader.valOperandId();\
2384
+  return emitGuardToBigInt(inputId);\
2385
+}\
2386
+\
2387
+[[nodiscard]] bool emitGuardIsNumber(ValOperandId inputId);\
2388
+[[nodiscard]] bool emitGuardIsNumber(CacheIRReader& reader) {\
2389
+  ValOperandId inputId = reader.valOperandId();\
2390
+  return emitGuardIsNumber(inputId);\
2391
+}\
2392
+\
2393
+[[nodiscard]] bool emitGuardToInt32(ValOperandId inputId);\
2394
+[[nodiscard]] bool emitGuardToInt32(CacheIRReader& reader) {\
2395
+  ValOperandId inputId = reader.valOperandId();\
2396
+  return emitGuardToInt32(inputId);\
2397
+}\
2398
+\
2399
+[[nodiscard]] bool emitGuardBooleanToInt32(ValOperandId inputId, Int32OperandId resultId);\
2400
+[[nodiscard]] bool emitGuardBooleanToInt32(CacheIRReader& reader) {\
2401
+  ValOperandId inputId = reader.valOperandId();\
2402
+  Int32OperandId resultId = reader.int32OperandId();\
2403
+  return emitGuardBooleanToInt32(inputId, resultId);\
2404
+}\
2405
+\
2406
+[[nodiscard]] bool emitGuardToInt32Index(ValOperandId inputId, Int32OperandId resultId);\
2407
+[[nodiscard]] bool emitGuardToInt32Index(CacheIRReader& reader) {\
2408
+  ValOperandId inputId = reader.valOperandId();\
2409
+  Int32OperandId resultId = reader.int32OperandId();\
2410
+  return emitGuardToInt32Index(inputId, resultId);\
2411
+}\
2412
+\
2413
+[[nodiscard]] bool emitInt32ToIntPtr(Int32OperandId inputId, IntPtrOperandId resultId);\
2414
+[[nodiscard]] bool emitInt32ToIntPtr(CacheIRReader& reader) {\
2415
+  Int32OperandId inputId = reader.int32OperandId();\
2416
+  IntPtrOperandId resultId = reader.intPtrOperandId();\
2417
+  return emitInt32ToIntPtr(inputId, resultId);\
2418
+}\
2419
+\
2420
+[[nodiscard]] bool emitGuardNumberToIntPtrIndex(NumberOperandId inputId, bool supportOOB, IntPtrOperandId resultId);\
2421
+[[nodiscard]] bool emitGuardNumberToIntPtrIndex(CacheIRReader& reader) {\
2422
+  NumberOperandId inputId = reader.numberOperandId();\
2423
+  bool supportOOB = reader.readBool();\
2424
+  IntPtrOperandId resultId = reader.intPtrOperandId();\
2425
+  return emitGuardNumberToIntPtrIndex(inputId, supportOOB, resultId);\
2426
+}\
2427
+\
2428
+[[nodiscard]] bool emitGuardToInt32ModUint32(ValOperandId inputId, Int32OperandId resultId);\
2429
+[[nodiscard]] bool emitGuardToInt32ModUint32(CacheIRReader& reader) {\
2430
+  ValOperandId inputId = reader.valOperandId();\
2431
+  Int32OperandId resultId = reader.int32OperandId();\
2432
+  return emitGuardToInt32ModUint32(inputId, resultId);\
2433
+}\
2434
+\
2435
+[[nodiscard]] bool emitGuardToUint8Clamped(ValOperandId inputId, Int32OperandId resultId);\
2436
+[[nodiscard]] bool emitGuardToUint8Clamped(CacheIRReader& reader) {\
2437
+  ValOperandId inputId = reader.valOperandId();\
2438
+  Int32OperandId resultId = reader.int32OperandId();\
2439
+  return emitGuardToUint8Clamped(inputId, resultId);\
2440
+}\
2441
+\
2442
+[[nodiscard]] bool emitGuardNonDoubleType(ValOperandId inputId, ValueType type);\
2443
+[[nodiscard]] bool emitGuardNonDoubleType(CacheIRReader& reader) {\
2444
+  ValOperandId inputId = reader.valOperandId();\
2445
+  ValueType type = reader.valueType();\
2446
+  return emitGuardNonDoubleType(inputId, type);\
2447
+}\
2448
+\
2449
+[[nodiscard]] bool emitGuardNullProto(ObjOperandId objId);\
2450
+[[nodiscard]] bool emitGuardNullProto(CacheIRReader& reader) {\
2451
+  ObjOperandId objId = reader.objOperandId();\
2452
+  return emitGuardNullProto(objId);\
2453
+}\
2454
+\
2455
+[[nodiscard]] bool emitGuardClass(ObjOperandId objId, GuardClassKind kind);\
2456
+[[nodiscard]] bool emitGuardClass(CacheIRReader& reader) {\
2457
+  ObjOperandId objId = reader.objOperandId();\
2458
+  GuardClassKind kind = reader.guardClassKind();\
2459
+  return emitGuardClass(objId, kind);\
2460
+}\
2461
+\
2462
+[[nodiscard]] bool emitCallRegExpMatcherResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
2463
+[[nodiscard]] bool emitCallRegExpMatcherResult(CacheIRReader& reader) {\
2464
+  ObjOperandId regexpId = reader.objOperandId();\
2465
+  StringOperandId inputId = reader.stringOperandId();\
2466
+  Int32OperandId lastIndexId = reader.int32OperandId();\
2467
+  return emitCallRegExpMatcherResult(regexpId, inputId, lastIndexId);\
2468
+}\
2469
+\
2470
+[[nodiscard]] bool emitCallRegExpSearcherResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
2471
+[[nodiscard]] bool emitCallRegExpSearcherResult(CacheIRReader& reader) {\
2472
+  ObjOperandId regexpId = reader.objOperandId();\
2473
+  StringOperandId inputId = reader.stringOperandId();\
2474
+  Int32OperandId lastIndexId = reader.int32OperandId();\
2475
+  return emitCallRegExpSearcherResult(regexpId, inputId, lastIndexId);\
2476
+}\
2477
+\
2478
+[[nodiscard]] bool emitCallRegExpTesterResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
2479
+[[nodiscard]] bool emitCallRegExpTesterResult(CacheIRReader& reader) {\
2480
+  ObjOperandId regexpId = reader.objOperandId();\
2481
+  StringOperandId inputId = reader.stringOperandId();\
2482
+  Int32OperandId lastIndexId = reader.int32OperandId();\
2483
+  return emitCallRegExpTesterResult(regexpId, inputId, lastIndexId);\
2484
+}\
2485
+\
2486
+[[nodiscard]] bool emitRegExpFlagResult(ObjOperandId regexpId, int32_t flagsMask);\
2487
+[[nodiscard]] bool emitRegExpFlagResult(CacheIRReader& reader) {\
2488
+  ObjOperandId regexpId = reader.objOperandId();\
2489
+  int32_t flagsMask = reader.int32Immediate();\
2490
+  return emitRegExpFlagResult(regexpId, flagsMask);\
2491
+}\
2492
+\
2493
+[[nodiscard]] bool emitCallSubstringKernelResult(StringOperandId strId, Int32OperandId beginId, Int32OperandId lengthId);\
2494
+[[nodiscard]] bool emitCallSubstringKernelResult(CacheIRReader& reader) {\
2495
+  StringOperandId strId = reader.stringOperandId();\
2496
+  Int32OperandId beginId = reader.int32OperandId();\
2497
+  Int32OperandId lengthId = reader.int32OperandId();\
2498
+  return emitCallSubstringKernelResult(strId, beginId, lengthId);\
2499
+}\
2500
+\
2501
+[[nodiscard]] bool emitStringReplaceStringResult(StringOperandId strId, StringOperandId patternId, StringOperandId replacementId);\
2502
+[[nodiscard]] bool emitStringReplaceStringResult(CacheIRReader& reader) {\
2503
+  StringOperandId strId = reader.stringOperandId();\
2504
+  StringOperandId patternId = reader.stringOperandId();\
2505
+  StringOperandId replacementId = reader.stringOperandId();\
2506
+  return emitStringReplaceStringResult(strId, patternId, replacementId);\
2507
+}\
2508
+\
2509
+[[nodiscard]] bool emitStringSplitStringResult(StringOperandId strId, StringOperandId separatorId);\
2510
+[[nodiscard]] bool emitStringSplitStringResult(CacheIRReader& reader) {\
2511
+  StringOperandId strId = reader.stringOperandId();\
2512
+  StringOperandId separatorId = reader.stringOperandId();\
2513
+  return emitStringSplitStringResult(strId, separatorId);\
2514
+}\
2515
+\
2516
+[[nodiscard]] bool emitRegExpPrototypeOptimizableResult(ObjOperandId protoId);\
2517
+[[nodiscard]] bool emitRegExpPrototypeOptimizableResult(CacheIRReader& reader) {\
2518
+  ObjOperandId protoId = reader.objOperandId();\
2519
+  return emitRegExpPrototypeOptimizableResult(protoId);\
2520
+}\
2521
+\
2522
+[[nodiscard]] bool emitRegExpInstanceOptimizableResult(ObjOperandId regexpId, ObjOperandId protoId);\
2523
+[[nodiscard]] bool emitRegExpInstanceOptimizableResult(CacheIRReader& reader) {\
2524
+  ObjOperandId regexpId = reader.objOperandId();\
2525
+  ObjOperandId protoId = reader.objOperandId();\
2526
+  return emitRegExpInstanceOptimizableResult(regexpId, protoId);\
2527
+}\
2528
+\
2529
+[[nodiscard]] bool emitGetFirstDollarIndexResult(StringOperandId strId);\
2530
+[[nodiscard]] bool emitGetFirstDollarIndexResult(CacheIRReader& reader) {\
2531
+  StringOperandId strId = reader.stringOperandId();\
2532
+  return emitGetFirstDollarIndexResult(strId);\
2533
+}\
2534
+\
2535
+[[nodiscard]] bool emitGuardIsExtensible(ObjOperandId objId);\
2536
+[[nodiscard]] bool emitGuardIsExtensible(CacheIRReader& reader) {\
2537
+  ObjOperandId objId = reader.objOperandId();\
2538
+  return emitGuardIsExtensible(objId);\
2539
+}\
2540
+\
2541
+[[nodiscard]] bool emitGuardIsNativeObject(ObjOperandId objId);\
2542
+[[nodiscard]] bool emitGuardIsNativeObject(CacheIRReader& reader) {\
2543
+  ObjOperandId objId = reader.objOperandId();\
2544
+  return emitGuardIsNativeObject(objId);\
2545
+}\
2546
+\
2547
+[[nodiscard]] bool emitGuardIsProxy(ObjOperandId objId);\
2548
+[[nodiscard]] bool emitGuardIsProxy(CacheIRReader& reader) {\
2549
+  ObjOperandId objId = reader.objOperandId();\
2550
+  return emitGuardIsProxy(objId);\
2551
+}\
2552
+\
2553
+[[nodiscard]] bool emitGuardIsNotProxy(ObjOperandId objId);\
2554
+[[nodiscard]] bool emitGuardIsNotProxy(CacheIRReader& reader) {\
2555
+  ObjOperandId objId = reader.objOperandId();\
2556
+  return emitGuardIsNotProxy(objId);\
2557
+}\
2558
+\
2559
+[[nodiscard]] bool emitGuardIsNotArrayBufferMaybeShared(ObjOperandId objId);\
2560
+[[nodiscard]] bool emitGuardIsNotArrayBufferMaybeShared(CacheIRReader& reader) {\
2561
+  ObjOperandId objId = reader.objOperandId();\
2562
+  return emitGuardIsNotArrayBufferMaybeShared(objId);\
2563
+}\
2564
+\
2565
+[[nodiscard]] bool emitGuardIsTypedArray(ObjOperandId objId);\
2566
+[[nodiscard]] bool emitGuardIsTypedArray(CacheIRReader& reader) {\
2567
+  ObjOperandId objId = reader.objOperandId();\
2568
+  return emitGuardIsTypedArray(objId);\
2569
+}\
2570
+\
2571
+[[nodiscard]] bool emitGuardIsNotDOMProxy(ObjOperandId objId);\
2572
+[[nodiscard]] bool emitGuardIsNotDOMProxy(CacheIRReader& reader) {\
2573
+  ObjOperandId objId = reader.objOperandId();\
2574
+  return emitGuardIsNotDOMProxy(objId);\
2575
+}\
2576
+\
2577
+[[nodiscard]] bool emitGuardNoDenseElements(ObjOperandId objId);\
2578
+[[nodiscard]] bool emitGuardNoDenseElements(CacheIRReader& reader) {\
2579
+  ObjOperandId objId = reader.objOperandId();\
2580
+  return emitGuardNoDenseElements(objId);\
2581
+}\
2582
+\
2583
+[[nodiscard]] bool emitGuardStringToIndex(StringOperandId strId, Int32OperandId resultId);\
2584
+[[nodiscard]] bool emitGuardStringToIndex(CacheIRReader& reader) {\
2585
+  StringOperandId strId = reader.stringOperandId();\
2586
+  Int32OperandId resultId = reader.int32OperandId();\
2587
+  return emitGuardStringToIndex(strId, resultId);\
2588
+}\
2589
+\
2590
+[[nodiscard]] bool emitGuardStringToInt32(StringOperandId strId, Int32OperandId resultId);\
2591
+[[nodiscard]] bool emitGuardStringToInt32(CacheIRReader& reader) {\
2592
+  StringOperandId strId = reader.stringOperandId();\
2593
+  Int32OperandId resultId = reader.int32OperandId();\
2594
+  return emitGuardStringToInt32(strId, resultId);\
2595
+}\
2596
+\
2597
+[[nodiscard]] bool emitGuardStringToNumber(StringOperandId strId, NumberOperandId resultId);\
2598
+[[nodiscard]] bool emitGuardStringToNumber(CacheIRReader& reader) {\
2599
+  StringOperandId strId = reader.stringOperandId();\
2600
+  NumberOperandId resultId = reader.numberOperandId();\
2601
+  return emitGuardStringToNumber(strId, resultId);\
2602
+}\
2603
+\
2604
+[[nodiscard]] bool emitBooleanToNumber(BooleanOperandId booleanId, NumberOperandId resultId);\
2605
+[[nodiscard]] bool emitBooleanToNumber(CacheIRReader& reader) {\
2606
+  BooleanOperandId booleanId = reader.booleanOperandId();\
2607
+  NumberOperandId resultId = reader.numberOperandId();\
2608
+  return emitBooleanToNumber(booleanId, resultId);\
2609
+}\
2610
+\
2611
+[[nodiscard]] bool emitGuardHasGetterSetter(ObjOperandId objId, uint32_t idOffset, uint32_t getterSetterOffset);\
2612
+[[nodiscard]] bool emitGuardHasGetterSetter(CacheIRReader& reader) {\
2613
+  ObjOperandId objId = reader.objOperandId();\
2614
+  uint32_t idOffset = reader.stubOffset();\
2615
+  uint32_t getterSetterOffset = reader.stubOffset();\
2616
+  return emitGuardHasGetterSetter(objId, idOffset, getterSetterOffset);\
2617
+}\
2618
+\
2619
+[[nodiscard]] bool emitGuardInt32IsNonNegative(Int32OperandId indexId);\
2620
+[[nodiscard]] bool emitGuardInt32IsNonNegative(CacheIRReader& reader) {\
2621
+  Int32OperandId indexId = reader.int32OperandId();\
2622
+  return emitGuardInt32IsNonNegative(indexId);\
2623
+}\
2624
+\
2625
+[[nodiscard]] bool emitGuardIndexIsValidUpdateOrAdd(ObjOperandId objId, Int32OperandId indexId);\
2626
+[[nodiscard]] bool emitGuardIndexIsValidUpdateOrAdd(CacheIRReader& reader) {\
2627
+  ObjOperandId objId = reader.objOperandId();\
2628
+  Int32OperandId indexId = reader.int32OperandId();\
2629
+  return emitGuardIndexIsValidUpdateOrAdd(objId, indexId);\
2630
+}\
2631
+\
2632
+[[nodiscard]] bool emitGuardIndexGreaterThanDenseInitLength(ObjOperandId objId, Int32OperandId indexId);\
2633
+[[nodiscard]] bool emitGuardIndexGreaterThanDenseInitLength(CacheIRReader& reader) {\
2634
+  ObjOperandId objId = reader.objOperandId();\
2635
+  Int32OperandId indexId = reader.int32OperandId();\
2636
+  return emitGuardIndexGreaterThanDenseInitLength(objId, indexId);\
2637
+}\
2638
+\
2639
+[[nodiscard]] bool emitGuardTagNotEqual(ValueTagOperandId lhsId, ValueTagOperandId rhsId);\
2640
+[[nodiscard]] bool emitGuardTagNotEqual(CacheIRReader& reader) {\
2641
+  ValueTagOperandId lhsId = reader.valueTagOperandId();\
2642
+  ValueTagOperandId rhsId = reader.valueTagOperandId();\
2643
+  return emitGuardTagNotEqual(lhsId, rhsId);\
2644
+}\
2645
+\
2646
+[[nodiscard]] bool emitGuardXrayExpandoShapeAndDefaultProto(ObjOperandId objId, uint32_t shapeWrapperOffset);\
2647
+[[nodiscard]] bool emitGuardXrayExpandoShapeAndDefaultProto(CacheIRReader& reader) {\
2648
+  ObjOperandId objId = reader.objOperandId();\
2649
+  uint32_t shapeWrapperOffset = reader.stubOffset();\
2650
+  return emitGuardXrayExpandoShapeAndDefaultProto(objId, shapeWrapperOffset);\
2651
+}\
2652
+\
2653
+[[nodiscard]] bool emitGuardXrayNoExpando(ObjOperandId objId);\
2654
+[[nodiscard]] bool emitGuardXrayNoExpando(CacheIRReader& reader) {\
2655
+  ObjOperandId objId = reader.objOperandId();\
2656
+  return emitGuardXrayNoExpando(objId);\
2657
+}\
2658
+\
2659
+[[nodiscard]] bool emitGuardDynamicSlotIsSpecificObject(ObjOperandId objId, ObjOperandId expectedId, uint32_t slotOffset);\
2660
+[[nodiscard]] bool emitGuardDynamicSlotIsSpecificObject(CacheIRReader& reader) {\
2661
+  ObjOperandId objId = reader.objOperandId();\
2662
+  ObjOperandId expectedId = reader.objOperandId();\
2663
+  uint32_t slotOffset = reader.stubOffset();\
2664
+  return emitGuardDynamicSlotIsSpecificObject(objId, expectedId, slotOffset);\
2665
+}\
2666
+\
2667
+[[nodiscard]] bool emitGuardFixedSlotValue(ObjOperandId objId, uint32_t offsetOffset, uint32_t valOffset);\
2668
+[[nodiscard]] bool emitGuardFixedSlotValue(CacheIRReader& reader) {\
2669
+  ObjOperandId objId = reader.objOperandId();\
2670
+  uint32_t offsetOffset = reader.stubOffset();\
2671
+  uint32_t valOffset = reader.stubOffset();\
2672
+  return emitGuardFixedSlotValue(objId, offsetOffset, valOffset);\
2673
+}\
2674
+\
2675
+[[nodiscard]] bool emitGuardDynamicSlotValue(ObjOperandId objId, uint32_t offsetOffset, uint32_t valOffset);\
2676
+[[nodiscard]] bool emitGuardDynamicSlotValue(CacheIRReader& reader) {\
2677
+  ObjOperandId objId = reader.objOperandId();\
2678
+  uint32_t offsetOffset = reader.stubOffset();\
2679
+  uint32_t valOffset = reader.stubOffset();\
2680
+  return emitGuardDynamicSlotValue(objId, offsetOffset, valOffset);\
2681
+}\
2682
+\
2683
+[[nodiscard]] bool emitGuardNoAllocationMetadataBuilder(uint32_t builderAddrOffset);\
2684
+[[nodiscard]] bool emitGuardNoAllocationMetadataBuilder(CacheIRReader& reader) {\
2685
+  uint32_t builderAddrOffset = reader.stubOffset();\
2686
+  return emitGuardNoAllocationMetadataBuilder(builderAddrOffset);\
2687
+}\
2688
+\
2689
+[[nodiscard]] bool emitGuardFunctionHasJitEntry(ObjOperandId funId, bool constructing);\
2690
+[[nodiscard]] bool emitGuardFunctionHasJitEntry(CacheIRReader& reader) {\
2691
+  ObjOperandId funId = reader.objOperandId();\
2692
+  bool constructing = reader.readBool();\
2693
+  return emitGuardFunctionHasJitEntry(funId, constructing);\
2694
+}\
2695
+\
2696
+[[nodiscard]] bool emitGuardFunctionHasNoJitEntry(ObjOperandId funId);\
2697
+[[nodiscard]] bool emitGuardFunctionHasNoJitEntry(CacheIRReader& reader) {\
2698
+  ObjOperandId funId = reader.objOperandId();\
2699
+  return emitGuardFunctionHasNoJitEntry(funId);\
2700
+}\
2701
+\
2702
+[[nodiscard]] bool emitGuardFunctionIsNonBuiltinCtor(ObjOperandId funId);\
2703
+[[nodiscard]] bool emitGuardFunctionIsNonBuiltinCtor(CacheIRReader& reader) {\
2704
+  ObjOperandId funId = reader.objOperandId();\
2705
+  return emitGuardFunctionIsNonBuiltinCtor(funId);\
2706
+}\
2707
+\
2708
+[[nodiscard]] bool emitGuardFunctionIsConstructor(ObjOperandId funId);\
2709
+[[nodiscard]] bool emitGuardFunctionIsConstructor(CacheIRReader& reader) {\
2710
+  ObjOperandId funId = reader.objOperandId();\
2711
+  return emitGuardFunctionIsConstructor(funId);\
2712
+}\
2713
+\
2714
+[[nodiscard]] bool emitGuardNotClassConstructor(ObjOperandId funId);\
2715
+[[nodiscard]] bool emitGuardNotClassConstructor(CacheIRReader& reader) {\
2716
+  ObjOperandId funId = reader.objOperandId();\
2717
+  return emitGuardNotClassConstructor(funId);\
2718
+}\
2719
+\
2720
+[[nodiscard]] bool emitGuardArrayIsPacked(ObjOperandId arrayId);\
2721
+[[nodiscard]] bool emitGuardArrayIsPacked(CacheIRReader& reader) {\
2722
+  ObjOperandId arrayId = reader.objOperandId();\
2723
+  return emitGuardArrayIsPacked(arrayId);\
2724
+}\
2725
+\
2726
+[[nodiscard]] bool emitGuardArgumentsObjectFlags(ObjOperandId objId, uint8_t flags);\
2727
+[[nodiscard]] bool emitGuardArgumentsObjectFlags(CacheIRReader& reader) {\
2728
+  ObjOperandId objId = reader.objOperandId();\
2729
+  uint8_t flags = reader.readByte();\
2730
+  return emitGuardArgumentsObjectFlags(objId, flags);\
2731
+}\
2732
+\
2733
+[[nodiscard]] bool emitLoadObject(ObjOperandId resultId, uint32_t objOffset);\
2734
+[[nodiscard]] bool emitLoadObject(CacheIRReader& reader) {\
2735
+  ObjOperandId resultId = reader.objOperandId();\
2736
+  uint32_t objOffset = reader.stubOffset();\
2737
+  return emitLoadObject(resultId, objOffset);\
2738
+}\
2739
+\
2740
+[[nodiscard]] bool emitLoadProto(ObjOperandId objId, ObjOperandId resultId);\
2741
+[[nodiscard]] bool emitLoadProto(CacheIRReader& reader) {\
2742
+  ObjOperandId objId = reader.objOperandId();\
2743
+  ObjOperandId resultId = reader.objOperandId();\
2744
+  return emitLoadProto(objId, resultId);\
2745
+}\
2746
+\
2747
+[[nodiscard]] bool emitLoadEnclosingEnvironment(ObjOperandId objId, ObjOperandId resultId);\
2748
+[[nodiscard]] bool emitLoadEnclosingEnvironment(CacheIRReader& reader) {\
2749
+  ObjOperandId objId = reader.objOperandId();\
2750
+  ObjOperandId resultId = reader.objOperandId();\
2751
+  return emitLoadEnclosingEnvironment(objId, resultId);\
2752
+}\
2753
+\
2754
+[[nodiscard]] bool emitLoadWrapperTarget(ObjOperandId objId, ObjOperandId resultId);\
2755
+[[nodiscard]] bool emitLoadWrapperTarget(CacheIRReader& reader) {\
2756
+  ObjOperandId objId = reader.objOperandId();\
2757
+  ObjOperandId resultId = reader.objOperandId();\
2758
+  return emitLoadWrapperTarget(objId, resultId);\
2759
+}\
2760
+\
2761
+[[nodiscard]] bool emitLoadValueTag(ValOperandId valId, ValueTagOperandId resultId);\
2762
+[[nodiscard]] bool emitLoadValueTag(CacheIRReader& reader) {\
2763
+  ValOperandId valId = reader.valOperandId();\
2764
+  ValueTagOperandId resultId = reader.valueTagOperandId();\
2765
+  return emitLoadValueTag(valId, resultId);\
2766
+}\
2767
+\
2768
+[[nodiscard]] bool emitTruncateDoubleToUInt32(NumberOperandId inputId, Int32OperandId resultId);\
2769
+[[nodiscard]] bool emitTruncateDoubleToUInt32(CacheIRReader& reader) {\
2770
+  NumberOperandId inputId = reader.numberOperandId();\
2771
+  Int32OperandId resultId = reader.int32OperandId();\
2772
+  return emitTruncateDoubleToUInt32(inputId, resultId);\
2773
+}\
2774
+\
2775
+[[nodiscard]] bool emitMegamorphicLoadSlotResult(ObjOperandId objId, uint32_t nameOffset);\
2776
+[[nodiscard]] bool emitMegamorphicLoadSlotResult(CacheIRReader& reader) {\
2777
+  ObjOperandId objId = reader.objOperandId();\
2778
+  uint32_t nameOffset = reader.stubOffset();\
2779
+  return emitMegamorphicLoadSlotResult(objId, nameOffset);\
2780
+}\
2781
+\
2782
+[[nodiscard]] bool emitMegamorphicLoadSlotByValueResult(ObjOperandId objId, ValOperandId idId);\
2783
+[[nodiscard]] bool emitMegamorphicLoadSlotByValueResult(CacheIRReader& reader) {\
2784
+  ObjOperandId objId = reader.objOperandId();\
2785
+  ValOperandId idId = reader.valOperandId();\
2786
+  return emitMegamorphicLoadSlotByValueResult(objId, idId);\
2787
+}\
2788
+\
2789
+[[nodiscard]] bool emitMegamorphicStoreSlot(ObjOperandId objId, uint32_t nameOffset, ValOperandId rhsId);\
2790
+[[nodiscard]] bool emitMegamorphicStoreSlot(CacheIRReader& reader) {\
2791
+  ObjOperandId objId = reader.objOperandId();\
2792
+  uint32_t nameOffset = reader.stubOffset();\
2793
+  ValOperandId rhsId = reader.valOperandId();\
2794
+  return emitMegamorphicStoreSlot(objId, nameOffset, rhsId);\
2795
+}\
2796
+\
2797
+[[nodiscard]] bool emitMegamorphicHasPropResult(ObjOperandId objId, ValOperandId idId, bool hasOwn);\
2798
+[[nodiscard]] bool emitMegamorphicHasPropResult(CacheIRReader& reader) {\
2799
+  ObjOperandId objId = reader.objOperandId();\
2800
+  ValOperandId idId = reader.valOperandId();\
2801
+  bool hasOwn = reader.readBool();\
2802
+  return emitMegamorphicHasPropResult(objId, idId, hasOwn);\
2803
+}\
2804
+\
2805
+[[nodiscard]] bool emitLoadDOMExpandoValue(ObjOperandId objId, ValOperandId resultId);\
2806
+[[nodiscard]] bool emitLoadDOMExpandoValue(CacheIRReader& reader) {\
2807
+  ObjOperandId objId = reader.objOperandId();\
2808
+  ValOperandId resultId = reader.valOperandId();\
2809
+  return emitLoadDOMExpandoValue(objId, resultId);\
2810
+}\
2811
+\
2812
+[[nodiscard]] bool emitLoadDOMExpandoValueIgnoreGeneration(ObjOperandId objId, ValOperandId resultId);\
2813
+[[nodiscard]] bool emitLoadDOMExpandoValueIgnoreGeneration(CacheIRReader& reader) {\
2814
+  ObjOperandId objId = reader.objOperandId();\
2815
+  ValOperandId resultId = reader.valOperandId();\
2816
+  return emitLoadDOMExpandoValueIgnoreGeneration(objId, resultId);\
2817
+}\
2818
+\
2819
+[[nodiscard]] bool emitStoreDenseElement(ObjOperandId objId, Int32OperandId indexId, ValOperandId rhsId);\
2820
+[[nodiscard]] bool emitStoreDenseElement(CacheIRReader& reader) {\
2821
+  ObjOperandId objId = reader.objOperandId();\
2822
+  Int32OperandId indexId = reader.int32OperandId();\
2823
+  ValOperandId rhsId = reader.valOperandId();\
2824
+  return emitStoreDenseElement(objId, indexId, rhsId);\
2825
+}\
2826
+\
2827
+[[nodiscard]] bool emitStoreDenseElementHole(ObjOperandId objId, Int32OperandId indexId, ValOperandId rhsId, bool handleAdd);\
2828
+[[nodiscard]] bool emitStoreDenseElementHole(CacheIRReader& reader) {\
2829
+  ObjOperandId objId = reader.objOperandId();\
2830
+  Int32OperandId indexId = reader.int32OperandId();\
2831
+  ValOperandId rhsId = reader.valOperandId();\
2832
+  bool handleAdd = reader.readBool();\
2833
+  return emitStoreDenseElementHole(objId, indexId, rhsId, handleAdd);\
2834
+}\
2835
+\
2836
+[[nodiscard]] bool emitArrayPush(ObjOperandId objId, ValOperandId rhsId);\
2837
+[[nodiscard]] bool emitArrayPush(CacheIRReader& reader) {\
2838
+  ObjOperandId objId = reader.objOperandId();\
2839
+  ValOperandId rhsId = reader.valOperandId();\
2840
+  return emitArrayPush(objId, rhsId);\
2841
+}\
2842
+\
2843
+[[nodiscard]] bool emitPackedArrayPopResult(ObjOperandId arrayId);\
2844
+[[nodiscard]] bool emitPackedArrayPopResult(CacheIRReader& reader) {\
2845
+  ObjOperandId arrayId = reader.objOperandId();\
2846
+  return emitPackedArrayPopResult(arrayId);\
2847
+}\
2848
+\
2849
+[[nodiscard]] bool emitPackedArrayShiftResult(ObjOperandId arrayId);\
2850
+[[nodiscard]] bool emitPackedArrayShiftResult(CacheIRReader& reader) {\
2851
+  ObjOperandId arrayId = reader.objOperandId();\
2852
+  return emitPackedArrayShiftResult(arrayId);\
2853
+}\
2854
+\
2855
+[[nodiscard]] bool emitStoreFixedSlotUndefinedResult(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
2856
+[[nodiscard]] bool emitStoreFixedSlotUndefinedResult(CacheIRReader& reader) {\
2857
+  ObjOperandId objId = reader.objOperandId();\
2858
+  uint32_t offsetOffset = reader.stubOffset();\
2859
+  ValOperandId rhsId = reader.valOperandId();\
2860
+  return emitStoreFixedSlotUndefinedResult(objId, offsetOffset, rhsId);\
2861
+}\
2862
+\
2863
+[[nodiscard]] bool emitIsObjectResult(ValOperandId inputId);\
2864
+[[nodiscard]] bool emitIsObjectResult(CacheIRReader& reader) {\
2865
+  ValOperandId inputId = reader.valOperandId();\
2866
+  return emitIsObjectResult(inputId);\
2867
+}\
2868
+\
2869
+[[nodiscard]] bool emitIsPackedArrayResult(ObjOperandId objId);\
2870
+[[nodiscard]] bool emitIsPackedArrayResult(CacheIRReader& reader) {\
2871
+  ObjOperandId objId = reader.objOperandId();\
2872
+  return emitIsPackedArrayResult(objId);\
2873
+}\
2874
+\
2875
+[[nodiscard]] bool emitIsCallableResult(ValOperandId inputId);\
2876
+[[nodiscard]] bool emitIsCallableResult(CacheIRReader& reader) {\
2877
+  ValOperandId inputId = reader.valOperandId();\
2878
+  return emitIsCallableResult(inputId);\
2879
+}\
2880
+\
2881
+[[nodiscard]] bool emitIsConstructorResult(ObjOperandId objId);\
2882
+[[nodiscard]] bool emitIsConstructorResult(CacheIRReader& reader) {\
2883
+  ObjOperandId objId = reader.objOperandId();\
2884
+  return emitIsConstructorResult(objId);\
2885
+}\
2886
+\
2887
+[[nodiscard]] bool emitIsCrossRealmArrayConstructorResult(ObjOperandId objId);\
2888
+[[nodiscard]] bool emitIsCrossRealmArrayConstructorResult(CacheIRReader& reader) {\
2889
+  ObjOperandId objId = reader.objOperandId();\
2890
+  return emitIsCrossRealmArrayConstructorResult(objId);\
2891
+}\
2892
+\
2893
+[[nodiscard]] bool emitIsTypedArrayConstructorResult(ObjOperandId objId);\
2894
+[[nodiscard]] bool emitIsTypedArrayConstructorResult(CacheIRReader& reader) {\
2895
+  ObjOperandId objId = reader.objOperandId();\
2896
+  return emitIsTypedArrayConstructorResult(objId);\
2897
+}\
2898
+\
2899
+[[nodiscard]] bool emitArrayBufferViewByteOffsetInt32Result(ObjOperandId objId);\
2900
+[[nodiscard]] bool emitArrayBufferViewByteOffsetInt32Result(CacheIRReader& reader) {\
2901
+  ObjOperandId objId = reader.objOperandId();\
2902
+  return emitArrayBufferViewByteOffsetInt32Result(objId);\
2903
+}\
2904
+\
2905
+[[nodiscard]] bool emitArrayBufferViewByteOffsetDoubleResult(ObjOperandId objId);\
2906
+[[nodiscard]] bool emitArrayBufferViewByteOffsetDoubleResult(CacheIRReader& reader) {\
2907
+  ObjOperandId objId = reader.objOperandId();\
2908
+  return emitArrayBufferViewByteOffsetDoubleResult(objId);\
2909
+}\
2910
+\
2911
+[[nodiscard]] bool emitTypedArrayByteLengthInt32Result(ObjOperandId objId);\
2912
+[[nodiscard]] bool emitTypedArrayByteLengthInt32Result(CacheIRReader& reader) {\
2913
+  ObjOperandId objId = reader.objOperandId();\
2914
+  return emitTypedArrayByteLengthInt32Result(objId);\
2915
+}\
2916
+\
2917
+[[nodiscard]] bool emitTypedArrayByteLengthDoubleResult(ObjOperandId objId);\
2918
+[[nodiscard]] bool emitTypedArrayByteLengthDoubleResult(CacheIRReader& reader) {\
2919
+  ObjOperandId objId = reader.objOperandId();\
2920
+  return emitTypedArrayByteLengthDoubleResult(objId);\
2921
+}\
2922
+\
2923
+[[nodiscard]] bool emitTypedArrayElementSizeResult(ObjOperandId objId);\
2924
+[[nodiscard]] bool emitTypedArrayElementSizeResult(CacheIRReader& reader) {\
2925
+  ObjOperandId objId = reader.objOperandId();\
2926
+  return emitTypedArrayElementSizeResult(objId);\
2927
+}\
2928
+\
2929
+[[nodiscard]] bool emitGuardHasAttachedArrayBuffer(ObjOperandId objId);\
2930
+[[nodiscard]] bool emitGuardHasAttachedArrayBuffer(CacheIRReader& reader) {\
2931
+  ObjOperandId objId = reader.objOperandId();\
2932
+  return emitGuardHasAttachedArrayBuffer(objId);\
2933
+}\
2934
+\
2935
+[[nodiscard]] bool emitFinishBoundFunctionInitResult(ObjOperandId boundId, ObjOperandId targetId, Int32OperandId argCountId);\
2936
+[[nodiscard]] bool emitFinishBoundFunctionInitResult(CacheIRReader& reader) {\
2937
+  ObjOperandId boundId = reader.objOperandId();\
2938
+  ObjOperandId targetId = reader.objOperandId();\
2939
+  Int32OperandId argCountId = reader.int32OperandId();\
2940
+  return emitFinishBoundFunctionInitResult(boundId, targetId, argCountId);\
2941
+}\
2942
+\
2943
+[[nodiscard]] bool emitNewArrayIteratorResult(uint32_t templateObjectOffset);\
2944
+[[nodiscard]] bool emitNewArrayIteratorResult(CacheIRReader& reader) {\
2945
+  uint32_t templateObjectOffset = reader.stubOffset();\
2946
+  return emitNewArrayIteratorResult(templateObjectOffset);\
2947
+}\
2948
+\
2949
+[[nodiscard]] bool emitNewStringIteratorResult(uint32_t templateObjectOffset);\
2950
+[[nodiscard]] bool emitNewStringIteratorResult(CacheIRReader& reader) {\
2951
+  uint32_t templateObjectOffset = reader.stubOffset();\
2952
+  return emitNewStringIteratorResult(templateObjectOffset);\
2953
+}\
2954
+\
2955
+[[nodiscard]] bool emitNewRegExpStringIteratorResult(uint32_t templateObjectOffset);\
2956
+[[nodiscard]] bool emitNewRegExpStringIteratorResult(CacheIRReader& reader) {\
2957
+  uint32_t templateObjectOffset = reader.stubOffset();\
2958
+  return emitNewRegExpStringIteratorResult(templateObjectOffset);\
2959
+}\
2960
+\
2961
+[[nodiscard]] bool emitObjectCreateResult(uint32_t templateObjectOffset);\
2962
+[[nodiscard]] bool emitObjectCreateResult(CacheIRReader& reader) {\
2963
+  uint32_t templateObjectOffset = reader.stubOffset();\
2964
+  return emitObjectCreateResult(templateObjectOffset);\
2965
+}\
2966
+\
2967
+[[nodiscard]] bool emitNewArrayFromLengthResult(uint32_t templateObjectOffset, Int32OperandId lengthId);\
2968
+[[nodiscard]] bool emitNewArrayFromLengthResult(CacheIRReader& reader) {\
2969
+  uint32_t templateObjectOffset = reader.stubOffset();\
2970
+  Int32OperandId lengthId = reader.int32OperandId();\
2971
+  return emitNewArrayFromLengthResult(templateObjectOffset, lengthId);\
2972
+}\
2973
+\
2974
+[[nodiscard]] bool emitNewTypedArrayFromLengthResult(uint32_t templateObjectOffset, Int32OperandId lengthId);\
2975
+[[nodiscard]] bool emitNewTypedArrayFromLengthResult(CacheIRReader& reader) {\
2976
+  uint32_t templateObjectOffset = reader.stubOffset();\
2977
+  Int32OperandId lengthId = reader.int32OperandId();\
2978
+  return emitNewTypedArrayFromLengthResult(templateObjectOffset, lengthId);\
2979
+}\
2980
+\
2981
+[[nodiscard]] bool emitNewTypedArrayFromArrayBufferResult(uint32_t templateObjectOffset, ObjOperandId bufferId, ValOperandId byteOffsetId, ValOperandId lengthId);\
2982
+[[nodiscard]] bool emitNewTypedArrayFromArrayBufferResult(CacheIRReader& reader) {\
2983
+  uint32_t templateObjectOffset = reader.stubOffset();\
2984
+  ObjOperandId bufferId = reader.objOperandId();\
2985
+  ValOperandId byteOffsetId = reader.valOperandId();\
2986
+  ValOperandId lengthId = reader.valOperandId();\
2987
+  return emitNewTypedArrayFromArrayBufferResult(templateObjectOffset, bufferId, byteOffsetId, lengthId);\
2988
+}\
2989
+\
2990
+[[nodiscard]] bool emitNewTypedArrayFromArrayResult(uint32_t templateObjectOffset, ObjOperandId arrayId);\
2991
+[[nodiscard]] bool emitNewTypedArrayFromArrayResult(CacheIRReader& reader) {\
2992
+  uint32_t templateObjectOffset = reader.stubOffset();\
2993
+  ObjOperandId arrayId = reader.objOperandId();\
2994
+  return emitNewTypedArrayFromArrayResult(templateObjectOffset, arrayId);\
2995
+}\
2996
+\
2997
+[[nodiscard]] bool emitNewStringObjectResult(uint32_t templateObjectOffset, StringOperandId strId);\
2998
+[[nodiscard]] bool emitNewStringObjectResult(CacheIRReader& reader) {\
2999
+  uint32_t templateObjectOffset = reader.stubOffset();\
3000
+  StringOperandId strId = reader.stringOperandId();\
3001
+  return emitNewStringObjectResult(templateObjectOffset, strId);\
3002
+}\
3003
+\
3004
+[[nodiscard]] bool emitStringToLowerCaseResult(StringOperandId strId);\
3005
+[[nodiscard]] bool emitStringToLowerCaseResult(CacheIRReader& reader) {\
3006
+  StringOperandId strId = reader.stringOperandId();\
3007
+  return emitStringToLowerCaseResult(strId);\
3008
+}\
3009
+\
3010
+[[nodiscard]] bool emitStringToUpperCaseResult(StringOperandId strId);\
3011
+[[nodiscard]] bool emitStringToUpperCaseResult(CacheIRReader& reader) {\
3012
+  StringOperandId strId = reader.stringOperandId();\
3013
+  return emitStringToUpperCaseResult(strId);\
3014
+}\
3015
+\
3016
+[[nodiscard]] bool emitMathAbsInt32Result(Int32OperandId inputId);\
3017
+[[nodiscard]] bool emitMathAbsInt32Result(CacheIRReader& reader) {\
3018
+  Int32OperandId inputId = reader.int32OperandId();\
3019
+  return emitMathAbsInt32Result(inputId);\
3020
+}\
3021
+\
3022
+[[nodiscard]] bool emitMathAbsNumberResult(NumberOperandId inputId);\
3023
+[[nodiscard]] bool emitMathAbsNumberResult(CacheIRReader& reader) {\
3024
+  NumberOperandId inputId = reader.numberOperandId();\
3025
+  return emitMathAbsNumberResult(inputId);\
3026
+}\
3027
+\
3028
+[[nodiscard]] bool emitMathClz32Result(Int32OperandId inputId);\
3029
+[[nodiscard]] bool emitMathClz32Result(CacheIRReader& reader) {\
3030
+  Int32OperandId inputId = reader.int32OperandId();\
3031
+  return emitMathClz32Result(inputId);\
3032
+}\
3033
+\
3034
+[[nodiscard]] bool emitMathSignInt32Result(Int32OperandId inputId);\
3035
+[[nodiscard]] bool emitMathSignInt32Result(CacheIRReader& reader) {\
3036
+  Int32OperandId inputId = reader.int32OperandId();\
3037
+  return emitMathSignInt32Result(inputId);\
3038
+}\
3039
+\
3040
+[[nodiscard]] bool emitMathSignNumberResult(NumberOperandId inputId);\
3041
+[[nodiscard]] bool emitMathSignNumberResult(CacheIRReader& reader) {\
3042
+  NumberOperandId inputId = reader.numberOperandId();\
3043
+  return emitMathSignNumberResult(inputId);\
3044
+}\
3045
+\
3046
+[[nodiscard]] bool emitMathSignNumberToInt32Result(NumberOperandId inputId);\
3047
+[[nodiscard]] bool emitMathSignNumberToInt32Result(CacheIRReader& reader) {\
3048
+  NumberOperandId inputId = reader.numberOperandId();\
3049
+  return emitMathSignNumberToInt32Result(inputId);\
3050
+}\
3051
+\
3052
+[[nodiscard]] bool emitMathImulResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3053
+[[nodiscard]] bool emitMathImulResult(CacheIRReader& reader) {\
3054
+  Int32OperandId lhsId = reader.int32OperandId();\
3055
+  Int32OperandId rhsId = reader.int32OperandId();\
3056
+  return emitMathImulResult(lhsId, rhsId);\
3057
+}\
3058
+\
3059
+[[nodiscard]] bool emitMathSqrtNumberResult(NumberOperandId inputId);\
3060
+[[nodiscard]] bool emitMathSqrtNumberResult(CacheIRReader& reader) {\
3061
+  NumberOperandId inputId = reader.numberOperandId();\
3062
+  return emitMathSqrtNumberResult(inputId);\
3063
+}\
3064
+\
3065
+[[nodiscard]] bool emitMathFRoundNumberResult(NumberOperandId inputId);\
3066
+[[nodiscard]] bool emitMathFRoundNumberResult(CacheIRReader& reader) {\
3067
+  NumberOperandId inputId = reader.numberOperandId();\
3068
+  return emitMathFRoundNumberResult(inputId);\
3069
+}\
3070
+\
3071
+[[nodiscard]] bool emitMathHypot2NumberResult(NumberOperandId firstId, NumberOperandId secondId);\
3072
+[[nodiscard]] bool emitMathHypot2NumberResult(CacheIRReader& reader) {\
3073
+  NumberOperandId firstId = reader.numberOperandId();\
3074
+  NumberOperandId secondId = reader.numberOperandId();\
3075
+  return emitMathHypot2NumberResult(firstId, secondId);\
3076
+}\
3077
+\
3078
+[[nodiscard]] bool emitMathHypot3NumberResult(NumberOperandId firstId, NumberOperandId secondId, NumberOperandId thirdId);\
3079
+[[nodiscard]] bool emitMathHypot3NumberResult(CacheIRReader& reader) {\
3080
+  NumberOperandId firstId = reader.numberOperandId();\
3081
+  NumberOperandId secondId = reader.numberOperandId();\
3082
+  NumberOperandId thirdId = reader.numberOperandId();\
3083
+  return emitMathHypot3NumberResult(firstId, secondId, thirdId);\
3084
+}\
3085
+\
3086
+[[nodiscard]] bool emitMathHypot4NumberResult(NumberOperandId firstId, NumberOperandId secondId, NumberOperandId thirdId, NumberOperandId fourthId);\
3087
+[[nodiscard]] bool emitMathHypot4NumberResult(CacheIRReader& reader) {\
3088
+  NumberOperandId firstId = reader.numberOperandId();\
3089
+  NumberOperandId secondId = reader.numberOperandId();\
3090
+  NumberOperandId thirdId = reader.numberOperandId();\
3091
+  NumberOperandId fourthId = reader.numberOperandId();\
3092
+  return emitMathHypot4NumberResult(firstId, secondId, thirdId, fourthId);\
3093
+}\
3094
+\
3095
+[[nodiscard]] bool emitMathAtan2NumberResult(NumberOperandId lhsId, NumberOperandId rhsId);\
3096
+[[nodiscard]] bool emitMathAtan2NumberResult(CacheIRReader& reader) {\
3097
+  NumberOperandId lhsId = reader.numberOperandId();\
3098
+  NumberOperandId rhsId = reader.numberOperandId();\
3099
+  return emitMathAtan2NumberResult(lhsId, rhsId);\
3100
+}\
3101
+\
3102
+[[nodiscard]] bool emitMathFloorNumberResult(NumberOperandId inputId);\
3103
+[[nodiscard]] bool emitMathFloorNumberResult(CacheIRReader& reader) {\
3104
+  NumberOperandId inputId = reader.numberOperandId();\
3105
+  return emitMathFloorNumberResult(inputId);\
3106
+}\
3107
+\
3108
+[[nodiscard]] bool emitMathCeilNumberResult(NumberOperandId inputId);\
3109
+[[nodiscard]] bool emitMathCeilNumberResult(CacheIRReader& reader) {\
3110
+  NumberOperandId inputId = reader.numberOperandId();\
3111
+  return emitMathCeilNumberResult(inputId);\
3112
+}\
3113
+\
3114
+[[nodiscard]] bool emitMathTruncNumberResult(NumberOperandId inputId);\
3115
+[[nodiscard]] bool emitMathTruncNumberResult(CacheIRReader& reader) {\
3116
+  NumberOperandId inputId = reader.numberOperandId();\
3117
+  return emitMathTruncNumberResult(inputId);\
3118
+}\
3119
+\
3120
+[[nodiscard]] bool emitMathFloorToInt32Result(NumberOperandId inputId);\
3121
+[[nodiscard]] bool emitMathFloorToInt32Result(CacheIRReader& reader) {\
3122
+  NumberOperandId inputId = reader.numberOperandId();\
3123
+  return emitMathFloorToInt32Result(inputId);\
3124
+}\
3125
+\
3126
+[[nodiscard]] bool emitMathCeilToInt32Result(NumberOperandId inputId);\
3127
+[[nodiscard]] bool emitMathCeilToInt32Result(CacheIRReader& reader) {\
3128
+  NumberOperandId inputId = reader.numberOperandId();\
3129
+  return emitMathCeilToInt32Result(inputId);\
3130
+}\
3131
+\
3132
+[[nodiscard]] bool emitMathTruncToInt32Result(NumberOperandId inputId);\
3133
+[[nodiscard]] bool emitMathTruncToInt32Result(CacheIRReader& reader) {\
3134
+  NumberOperandId inputId = reader.numberOperandId();\
3135
+  return emitMathTruncToInt32Result(inputId);\
3136
+}\
3137
+\
3138
+[[nodiscard]] bool emitMathRoundToInt32Result(NumberOperandId inputId);\
3139
+[[nodiscard]] bool emitMathRoundToInt32Result(CacheIRReader& reader) {\
3140
+  NumberOperandId inputId = reader.numberOperandId();\
3141
+  return emitMathRoundToInt32Result(inputId);\
3142
+}\
3143
+\
3144
+[[nodiscard]] bool emitInt32MinMax(bool isMax, Int32OperandId firstId, Int32OperandId secondId, Int32OperandId resultId);\
3145
+[[nodiscard]] bool emitInt32MinMax(CacheIRReader& reader) {\
3146
+  bool isMax = reader.readBool();\
3147
+  Int32OperandId firstId = reader.int32OperandId();\
3148
+  Int32OperandId secondId = reader.int32OperandId();\
3149
+  Int32OperandId resultId = reader.int32OperandId();\
3150
+  return emitInt32MinMax(isMax, firstId, secondId, resultId);\
3151
+}\
3152
+\
3153
+[[nodiscard]] bool emitNumberMinMax(bool isMax, NumberOperandId firstId, NumberOperandId secondId, NumberOperandId resultId);\
3154
+[[nodiscard]] bool emitNumberMinMax(CacheIRReader& reader) {\
3155
+  bool isMax = reader.readBool();\
3156
+  NumberOperandId firstId = reader.numberOperandId();\
3157
+  NumberOperandId secondId = reader.numberOperandId();\
3158
+  NumberOperandId resultId = reader.numberOperandId();\
3159
+  return emitNumberMinMax(isMax, firstId, secondId, resultId);\
3160
+}\
3161
+\
3162
+[[nodiscard]] bool emitInt32MinMaxArrayResult(ObjOperandId arrayId, bool isMax);\
3163
+[[nodiscard]] bool emitInt32MinMaxArrayResult(CacheIRReader& reader) {\
3164
+  ObjOperandId arrayId = reader.objOperandId();\
3165
+  bool isMax = reader.readBool();\
3166
+  return emitInt32MinMaxArrayResult(arrayId, isMax);\
3167
+}\
3168
+\
3169
+[[nodiscard]] bool emitNumberMinMaxArrayResult(ObjOperandId arrayId, bool isMax);\
3170
+[[nodiscard]] bool emitNumberMinMaxArrayResult(CacheIRReader& reader) {\
3171
+  ObjOperandId arrayId = reader.objOperandId();\
3172
+  bool isMax = reader.readBool();\
3173
+  return emitNumberMinMaxArrayResult(arrayId, isMax);\
3174
+}\
3175
+\
3176
+[[nodiscard]] bool emitMathFunctionNumberResult(NumberOperandId inputId, UnaryMathFunction fun);\
3177
+[[nodiscard]] bool emitMathFunctionNumberResult(CacheIRReader& reader) {\
3178
+  NumberOperandId inputId = reader.numberOperandId();\
3179
+  UnaryMathFunction fun = reader.unaryMathFunction();\
3180
+  return emitMathFunctionNumberResult(inputId, fun);\
3181
+}\
3182
+\
3183
+[[nodiscard]] bool emitObjectToStringResult(ObjOperandId objId);\
3184
+[[nodiscard]] bool emitObjectToStringResult(CacheIRReader& reader) {\
3185
+  ObjOperandId objId = reader.objOperandId();\
3186
+  return emitObjectToStringResult(objId);\
3187
+}\
3188
+\
3189
+[[nodiscard]] bool emitStoreTypedArrayElement(ObjOperandId objId, Scalar::Type elementType, IntPtrOperandId indexId, uint32_t rhsId, bool handleOOB);\
3190
+[[nodiscard]] bool emitStoreTypedArrayElement(CacheIRReader& reader) {\
3191
+  ObjOperandId objId = reader.objOperandId();\
3192
+  Scalar::Type elementType = reader.scalarType();\
3193
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3194
+  uint32_t rhsId = reader.rawOperandId();\
3195
+  bool handleOOB = reader.readBool();\
3196
+  return emitStoreTypedArrayElement(objId, elementType, indexId, rhsId, handleOOB);\
3197
+}\
3198
+\
3199
+[[nodiscard]] bool emitAtomicsCompareExchangeResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t expectedId, uint32_t replacementId, Scalar::Type elementType);\
3200
+[[nodiscard]] bool emitAtomicsCompareExchangeResult(CacheIRReader& reader) {\
3201
+  ObjOperandId objId = reader.objOperandId();\
3202
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3203
+  uint32_t expectedId = reader.rawOperandId();\
3204
+  uint32_t replacementId = reader.rawOperandId();\
3205
+  Scalar::Type elementType = reader.scalarType();\
3206
+  return emitAtomicsCompareExchangeResult(objId, indexId, expectedId, replacementId, elementType);\
3207
+}\
3208
+\
3209
+[[nodiscard]] bool emitAtomicsExchangeResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType);\
3210
+[[nodiscard]] bool emitAtomicsExchangeResult(CacheIRReader& reader) {\
3211
+  ObjOperandId objId = reader.objOperandId();\
3212
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3213
+  uint32_t valueId = reader.rawOperandId();\
3214
+  Scalar::Type elementType = reader.scalarType();\
3215
+  return emitAtomicsExchangeResult(objId, indexId, valueId, elementType);\
3216
+}\
3217
+\
3218
+[[nodiscard]] bool emitAtomicsAddResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
3219
+[[nodiscard]] bool emitAtomicsAddResult(CacheIRReader& reader) {\
3220
+  ObjOperandId objId = reader.objOperandId();\
3221
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3222
+  uint32_t valueId = reader.rawOperandId();\
3223
+  Scalar::Type elementType = reader.scalarType();\
3224
+  bool forEffect = reader.readBool();\
3225
+  return emitAtomicsAddResult(objId, indexId, valueId, elementType, forEffect);\
3226
+}\
3227
+\
3228
+[[nodiscard]] bool emitAtomicsSubResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
3229
+[[nodiscard]] bool emitAtomicsSubResult(CacheIRReader& reader) {\
3230
+  ObjOperandId objId = reader.objOperandId();\
3231
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3232
+  uint32_t valueId = reader.rawOperandId();\
3233
+  Scalar::Type elementType = reader.scalarType();\
3234
+  bool forEffect = reader.readBool();\
3235
+  return emitAtomicsSubResult(objId, indexId, valueId, elementType, forEffect);\
3236
+}\
3237
+\
3238
+[[nodiscard]] bool emitAtomicsAndResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
3239
+[[nodiscard]] bool emitAtomicsAndResult(CacheIRReader& reader) {\
3240
+  ObjOperandId objId = reader.objOperandId();\
3241
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3242
+  uint32_t valueId = reader.rawOperandId();\
3243
+  Scalar::Type elementType = reader.scalarType();\
3244
+  bool forEffect = reader.readBool();\
3245
+  return emitAtomicsAndResult(objId, indexId, valueId, elementType, forEffect);\
3246
+}\
3247
+\
3248
+[[nodiscard]] bool emitAtomicsOrResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
3249
+[[nodiscard]] bool emitAtomicsOrResult(CacheIRReader& reader) {\
3250
+  ObjOperandId objId = reader.objOperandId();\
3251
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3252
+  uint32_t valueId = reader.rawOperandId();\
3253
+  Scalar::Type elementType = reader.scalarType();\
3254
+  bool forEffect = reader.readBool();\
3255
+  return emitAtomicsOrResult(objId, indexId, valueId, elementType, forEffect);\
3256
+}\
3257
+\
3258
+[[nodiscard]] bool emitAtomicsXorResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
3259
+[[nodiscard]] bool emitAtomicsXorResult(CacheIRReader& reader) {\
3260
+  ObjOperandId objId = reader.objOperandId();\
3261
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3262
+  uint32_t valueId = reader.rawOperandId();\
3263
+  Scalar::Type elementType = reader.scalarType();\
3264
+  bool forEffect = reader.readBool();\
3265
+  return emitAtomicsXorResult(objId, indexId, valueId, elementType, forEffect);\
3266
+}\
3267
+\
3268
+[[nodiscard]] bool emitAtomicsLoadResult(ObjOperandId objId, IntPtrOperandId indexId, Scalar::Type elementType);\
3269
+[[nodiscard]] bool emitAtomicsLoadResult(CacheIRReader& reader) {\
3270
+  ObjOperandId objId = reader.objOperandId();\
3271
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3272
+  Scalar::Type elementType = reader.scalarType();\
3273
+  return emitAtomicsLoadResult(objId, indexId, elementType);\
3274
+}\
3275
+\
3276
+[[nodiscard]] bool emitAtomicsStoreResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType);\
3277
+[[nodiscard]] bool emitAtomicsStoreResult(CacheIRReader& reader) {\
3278
+  ObjOperandId objId = reader.objOperandId();\
3279
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3280
+  uint32_t valueId = reader.rawOperandId();\
3281
+  Scalar::Type elementType = reader.scalarType();\
3282
+  return emitAtomicsStoreResult(objId, indexId, valueId, elementType);\
3283
+}\
3284
+\
3285
+[[nodiscard]] bool emitAtomicsIsLockFreeResult(Int32OperandId valueId);\
3286
+[[nodiscard]] bool emitAtomicsIsLockFreeResult(CacheIRReader& reader) {\
3287
+  Int32OperandId valueId = reader.int32OperandId();\
3288
+  return emitAtomicsIsLockFreeResult(valueId);\
3289
+}\
3290
+\
3291
+[[nodiscard]] bool emitCallInt32ToString(Int32OperandId inputId, StringOperandId resultId);\
3292
+[[nodiscard]] bool emitCallInt32ToString(CacheIRReader& reader) {\
3293
+  Int32OperandId inputId = reader.int32OperandId();\
3294
+  StringOperandId resultId = reader.stringOperandId();\
3295
+  return emitCallInt32ToString(inputId, resultId);\
3296
+}\
3297
+\
3298
+[[nodiscard]] bool emitCallNumberToString(NumberOperandId inputId, StringOperandId resultId);\
3299
+[[nodiscard]] bool emitCallNumberToString(CacheIRReader& reader) {\
3300
+  NumberOperandId inputId = reader.numberOperandId();\
3301
+  StringOperandId resultId = reader.stringOperandId();\
3302
+  return emitCallNumberToString(inputId, resultId);\
3303
+}\
3304
+\
3305
+[[nodiscard]] bool emitBooleanToString(BooleanOperandId inputId, StringOperandId resultId);\
3306
+[[nodiscard]] bool emitBooleanToString(CacheIRReader& reader) {\
3307
+  BooleanOperandId inputId = reader.booleanOperandId();\
3308
+  StringOperandId resultId = reader.stringOperandId();\
3309
+  return emitBooleanToString(inputId, resultId);\
3310
+}\
3311
+\
3312
+[[nodiscard]] bool emitGuardWasmArg(ValOperandId argId, wasm::ValType::Kind type);\
3313
+[[nodiscard]] bool emitGuardWasmArg(CacheIRReader& reader) {\
3314
+  ValOperandId argId = reader.valOperandId();\
3315
+  wasm::ValType::Kind type = reader.wasmValType();\
3316
+  return emitGuardWasmArg(argId, type);\
3317
+}\
3318
+\
3319
+[[nodiscard]] bool emitMetaTwoByte(uint32_t functionObjectOffset, uint32_t templateObjectOffset);\
3320
+[[nodiscard]] bool emitMetaTwoByte(CacheIRReader& reader) {\
3321
+  uint32_t functionObjectOffset = reader.stubOffset();\
3322
+  uint32_t templateObjectOffset = reader.stubOffset();\
3323
+  return emitMetaTwoByte(functionObjectOffset, templateObjectOffset);\
3324
+}\
3325
+\
3326
+[[nodiscard]] bool emitLoadDenseElementResult(ObjOperandId objId, Int32OperandId indexId);\
3327
+[[nodiscard]] bool emitLoadDenseElementResult(CacheIRReader& reader) {\
3328
+  ObjOperandId objId = reader.objOperandId();\
3329
+  Int32OperandId indexId = reader.int32OperandId();\
3330
+  return emitLoadDenseElementResult(objId, indexId);\
3331
+}\
3332
+\
3333
+[[nodiscard]] bool emitLoadDenseElementHoleResult(ObjOperandId objId, Int32OperandId indexId);\
3334
+[[nodiscard]] bool emitLoadDenseElementHoleResult(CacheIRReader& reader) {\
3335
+  ObjOperandId objId = reader.objOperandId();\
3336
+  Int32OperandId indexId = reader.int32OperandId();\
3337
+  return emitLoadDenseElementHoleResult(objId, indexId);\
3338
+}\
3339
+\
3340
+[[nodiscard]] bool emitCallGetSparseElementResult(ObjOperandId objId, Int32OperandId indexId);\
3341
+[[nodiscard]] bool emitCallGetSparseElementResult(CacheIRReader& reader) {\
3342
+  ObjOperandId objId = reader.objOperandId();\
3343
+  Int32OperandId indexId = reader.int32OperandId();\
3344
+  return emitCallGetSparseElementResult(objId, indexId);\
3345
+}\
3346
+\
3347
+[[nodiscard]] bool emitLoadDenseElementExistsResult(ObjOperandId objId, Int32OperandId indexId);\
3348
+[[nodiscard]] bool emitLoadDenseElementExistsResult(CacheIRReader& reader) {\
3349
+  ObjOperandId objId = reader.objOperandId();\
3350
+  Int32OperandId indexId = reader.int32OperandId();\
3351
+  return emitLoadDenseElementExistsResult(objId, indexId);\
3352
+}\
3353
+\
3354
+[[nodiscard]] bool emitLoadTypedArrayElementExistsResult(ObjOperandId objId, IntPtrOperandId indexId);\
3355
+[[nodiscard]] bool emitLoadTypedArrayElementExistsResult(CacheIRReader& reader) {\
3356
+  ObjOperandId objId = reader.objOperandId();\
3357
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3358
+  return emitLoadTypedArrayElementExistsResult(objId, indexId);\
3359
+}\
3360
+\
3361
+[[nodiscard]] bool emitLoadDenseElementHoleExistsResult(ObjOperandId objId, Int32OperandId indexId);\
3362
+[[nodiscard]] bool emitLoadDenseElementHoleExistsResult(CacheIRReader& reader) {\
3363
+  ObjOperandId objId = reader.objOperandId();\
3364
+  Int32OperandId indexId = reader.int32OperandId();\
3365
+  return emitLoadDenseElementHoleExistsResult(objId, indexId);\
3366
+}\
3367
+\
3368
+[[nodiscard]] bool emitLoadTypedArrayElementResult(ObjOperandId objId, IntPtrOperandId indexId, Scalar::Type elementType, bool handleOOB, bool forceDoubleForUint32);\
3369
+[[nodiscard]] bool emitLoadTypedArrayElementResult(CacheIRReader& reader) {\
3370
+  ObjOperandId objId = reader.objOperandId();\
3371
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
3372
+  Scalar::Type elementType = reader.scalarType();\
3373
+  bool handleOOB = reader.readBool();\
3374
+  bool forceDoubleForUint32 = reader.readBool();\
3375
+  return emitLoadTypedArrayElementResult(objId, indexId, elementType, handleOOB, forceDoubleForUint32);\
3376
+}\
3377
+\
3378
+[[nodiscard]] bool emitLoadDataViewValueResult(ObjOperandId objId, IntPtrOperandId offsetId, BooleanOperandId littleEndianId, Scalar::Type elementType, bool forceDoubleForUint32);\
3379
+[[nodiscard]] bool emitLoadDataViewValueResult(CacheIRReader& reader) {\
3380
+  ObjOperandId objId = reader.objOperandId();\
3381
+  IntPtrOperandId offsetId = reader.intPtrOperandId();\
3382
+  BooleanOperandId littleEndianId = reader.booleanOperandId();\
3383
+  Scalar::Type elementType = reader.scalarType();\
3384
+  bool forceDoubleForUint32 = reader.readBool();\
3385
+  return emitLoadDataViewValueResult(objId, offsetId, littleEndianId, elementType, forceDoubleForUint32);\
3386
+}\
3387
+\
3388
+[[nodiscard]] bool emitStoreDataViewValueResult(ObjOperandId objId, IntPtrOperandId offsetId, uint32_t valueId, BooleanOperandId littleEndianId, Scalar::Type elementType);\
3389
+[[nodiscard]] bool emitStoreDataViewValueResult(CacheIRReader& reader) {\
3390
+  ObjOperandId objId = reader.objOperandId();\
3391
+  IntPtrOperandId offsetId = reader.intPtrOperandId();\
3392
+  uint32_t valueId = reader.rawOperandId();\
3393
+  BooleanOperandId littleEndianId = reader.booleanOperandId();\
3394
+  Scalar::Type elementType = reader.scalarType();\
3395
+  return emitStoreDataViewValueResult(objId, offsetId, valueId, littleEndianId, elementType);\
3396
+}\
3397
+\
3398
+[[nodiscard]] bool emitLoadInt32ArrayLengthResult(ObjOperandId objId);\
3399
+[[nodiscard]] bool emitLoadInt32ArrayLengthResult(CacheIRReader& reader) {\
3400
+  ObjOperandId objId = reader.objOperandId();\
3401
+  return emitLoadInt32ArrayLengthResult(objId);\
3402
+}\
3403
+\
3404
+[[nodiscard]] bool emitLoadInt32ArrayLength(ObjOperandId objId, Int32OperandId resultId);\
3405
+[[nodiscard]] bool emitLoadInt32ArrayLength(CacheIRReader& reader) {\
3406
+  ObjOperandId objId = reader.objOperandId();\
3407
+  Int32OperandId resultId = reader.int32OperandId();\
3408
+  return emitLoadInt32ArrayLength(objId, resultId);\
3409
+}\
3410
+\
3411
+[[nodiscard]] bool emitLoadArgumentsObjectArgResult(ObjOperandId objId, Int32OperandId indexId);\
3412
+[[nodiscard]] bool emitLoadArgumentsObjectArgResult(CacheIRReader& reader) {\
3413
+  ObjOperandId objId = reader.objOperandId();\
3414
+  Int32OperandId indexId = reader.int32OperandId();\
3415
+  return emitLoadArgumentsObjectArgResult(objId, indexId);\
3416
+}\
3417
+\
3418
+[[nodiscard]] bool emitLoadArgumentsObjectLengthResult(ObjOperandId objId);\
3419
+[[nodiscard]] bool emitLoadArgumentsObjectLengthResult(CacheIRReader& reader) {\
3420
+  ObjOperandId objId = reader.objOperandId();\
3421
+  return emitLoadArgumentsObjectLengthResult(objId);\
3422
+}\
3423
+\
3424
+[[nodiscard]] bool emitLoadFunctionLengthResult(ObjOperandId objId);\
3425
+[[nodiscard]] bool emitLoadFunctionLengthResult(CacheIRReader& reader) {\
3426
+  ObjOperandId objId = reader.objOperandId();\
3427
+  return emitLoadFunctionLengthResult(objId);\
3428
+}\
3429
+\
3430
+[[nodiscard]] bool emitLoadFunctionNameResult(ObjOperandId objId);\
3431
+[[nodiscard]] bool emitLoadFunctionNameResult(CacheIRReader& reader) {\
3432
+  ObjOperandId objId = reader.objOperandId();\
3433
+  return emitLoadFunctionNameResult(objId);\
3434
+}\
3435
+\
3436
+[[nodiscard]] bool emitLoadArrayBufferByteLengthInt32Result(ObjOperandId objId);\
3437
+[[nodiscard]] bool emitLoadArrayBufferByteLengthInt32Result(CacheIRReader& reader) {\
3438
+  ObjOperandId objId = reader.objOperandId();\
3439
+  return emitLoadArrayBufferByteLengthInt32Result(objId);\
3440
+}\
3441
+\
3442
+[[nodiscard]] bool emitLoadArrayBufferByteLengthDoubleResult(ObjOperandId objId);\
3443
+[[nodiscard]] bool emitLoadArrayBufferByteLengthDoubleResult(CacheIRReader& reader) {\
3444
+  ObjOperandId objId = reader.objOperandId();\
3445
+  return emitLoadArrayBufferByteLengthDoubleResult(objId);\
3446
+}\
3447
+\
3448
+[[nodiscard]] bool emitLoadArrayBufferViewLengthInt32Result(ObjOperandId objId);\
3449
+[[nodiscard]] bool emitLoadArrayBufferViewLengthInt32Result(CacheIRReader& reader) {\
3450
+  ObjOperandId objId = reader.objOperandId();\
3451
+  return emitLoadArrayBufferViewLengthInt32Result(objId);\
3452
+}\
3453
+\
3454
+[[nodiscard]] bool emitLoadArrayBufferViewLengthDoubleResult(ObjOperandId objId);\
3455
+[[nodiscard]] bool emitLoadArrayBufferViewLengthDoubleResult(CacheIRReader& reader) {\
3456
+  ObjOperandId objId = reader.objOperandId();\
3457
+  return emitLoadArrayBufferViewLengthDoubleResult(objId);\
3458
+}\
3459
+\
3460
+[[nodiscard]] bool emitLoadStringCharCodeResult(StringOperandId strId, Int32OperandId indexId);\
3461
+[[nodiscard]] bool emitLoadStringCharCodeResult(CacheIRReader& reader) {\
3462
+  StringOperandId strId = reader.stringOperandId();\
3463
+  Int32OperandId indexId = reader.int32OperandId();\
3464
+  return emitLoadStringCharCodeResult(strId, indexId);\
3465
+}\
3466
+\
3467
+[[nodiscard]] bool emitLoadStringLengthResult(StringOperandId strId);\
3468
+[[nodiscard]] bool emitLoadStringLengthResult(CacheIRReader& reader) {\
3469
+  StringOperandId strId = reader.stringOperandId();\
3470
+  return emitLoadStringLengthResult(strId);\
3471
+}\
3472
+\
3473
+[[nodiscard]] bool emitLoadObjectResult(ObjOperandId objId);\
3474
+[[nodiscard]] bool emitLoadObjectResult(CacheIRReader& reader) {\
3475
+  ObjOperandId objId = reader.objOperandId();\
3476
+  return emitLoadObjectResult(objId);\
3477
+}\
3478
+\
3479
+[[nodiscard]] bool emitLoadStringResult(StringOperandId strId);\
3480
+[[nodiscard]] bool emitLoadStringResult(CacheIRReader& reader) {\
3481
+  StringOperandId strId = reader.stringOperandId();\
3482
+  return emitLoadStringResult(strId);\
3483
+}\
3484
+\
3485
+[[nodiscard]] bool emitLoadSymbolResult(SymbolOperandId symId);\
3486
+[[nodiscard]] bool emitLoadSymbolResult(CacheIRReader& reader) {\
3487
+  SymbolOperandId symId = reader.symbolOperandId();\
3488
+  return emitLoadSymbolResult(symId);\
3489
+}\
3490
+\
3491
+[[nodiscard]] bool emitLoadInt32Result(Int32OperandId valId);\
3492
+[[nodiscard]] bool emitLoadInt32Result(CacheIRReader& reader) {\
3493
+  Int32OperandId valId = reader.int32OperandId();\
3494
+  return emitLoadInt32Result(valId);\
3495
+}\
3496
+\
3497
+[[nodiscard]] bool emitLoadDoubleResult(NumberOperandId valId);\
3498
+[[nodiscard]] bool emitLoadDoubleResult(CacheIRReader& reader) {\
3499
+  NumberOperandId valId = reader.numberOperandId();\
3500
+  return emitLoadDoubleResult(valId);\
3501
+}\
3502
+\
3503
+[[nodiscard]] bool emitLoadBigIntResult(BigIntOperandId valId);\
3504
+[[nodiscard]] bool emitLoadBigIntResult(CacheIRReader& reader) {\
3505
+  BigIntOperandId valId = reader.bigIntOperandId();\
3506
+  return emitLoadBigIntResult(valId);\
3507
+}\
3508
+\
3509
+[[nodiscard]] bool emitProxyGetByValueResult(ObjOperandId objId, ValOperandId idId);\
3510
+[[nodiscard]] bool emitProxyGetByValueResult(CacheIRReader& reader) {\
3511
+  ObjOperandId objId = reader.objOperandId();\
3512
+  ValOperandId idId = reader.valOperandId();\
3513
+  return emitProxyGetByValueResult(objId, idId);\
3514
+}\
3515
+\
3516
+[[nodiscard]] bool emitProxyHasPropResult(ObjOperandId objId, ValOperandId idId, bool hasOwn);\
3517
+[[nodiscard]] bool emitProxyHasPropResult(CacheIRReader& reader) {\
3518
+  ObjOperandId objId = reader.objOperandId();\
3519
+  ValOperandId idId = reader.valOperandId();\
3520
+  bool hasOwn = reader.readBool();\
3521
+  return emitProxyHasPropResult(objId, idId, hasOwn);\
3522
+}\
3523
+\
3524
+[[nodiscard]] bool emitCallObjectHasSparseElementResult(ObjOperandId objId, Int32OperandId indexId);\
3525
+[[nodiscard]] bool emitCallObjectHasSparseElementResult(CacheIRReader& reader) {\
3526
+  ObjOperandId objId = reader.objOperandId();\
3527
+  Int32OperandId indexId = reader.int32OperandId();\
3528
+  return emitCallObjectHasSparseElementResult(objId, indexId);\
3529
+}\
3530
+\
3531
+[[nodiscard]] bool emitCallNativeGetElementResult(ObjOperandId objId, Int32OperandId indexId);\
3532
+[[nodiscard]] bool emitCallNativeGetElementResult(CacheIRReader& reader) {\
3533
+  ObjOperandId objId = reader.objOperandId();\
3534
+  Int32OperandId indexId = reader.int32OperandId();\
3535
+  return emitCallNativeGetElementResult(objId, indexId);\
3536
+}\
3537
+\
3538
+[[nodiscard]] bool emitGetNextMapSetEntryForIteratorResult(ObjOperandId iterId, ObjOperandId resultArrId, bool isMap);\
3539
+[[nodiscard]] bool emitGetNextMapSetEntryForIteratorResult(CacheIRReader& reader) {\
3540
+  ObjOperandId iterId = reader.objOperandId();\
3541
+  ObjOperandId resultArrId = reader.objOperandId();\
3542
+  bool isMap = reader.readBool();\
3543
+  return emitGetNextMapSetEntryForIteratorResult(iterId, resultArrId, isMap);\
3544
+}\
3545
+\
3546
+[[nodiscard]] bool emitLoadUndefinedResult();\
3547
+[[nodiscard]] bool emitLoadUndefinedResult(CacheIRReader& reader) {\
3548
+  return emitLoadUndefinedResult();\
3549
+}\
3550
+\
3551
+[[nodiscard]] bool emitLoadBooleanResult(bool val);\
3552
+[[nodiscard]] bool emitLoadBooleanResult(CacheIRReader& reader) {\
3553
+  bool val = reader.readBool();\
3554
+  return emitLoadBooleanResult(val);\
3555
+}\
3556
+\
3557
+[[nodiscard]] bool emitLoadInt32Constant(uint32_t valOffset, Int32OperandId resultId);\
3558
+[[nodiscard]] bool emitLoadInt32Constant(CacheIRReader& reader) {\
3559
+  uint32_t valOffset = reader.stubOffset();\
3560
+  Int32OperandId resultId = reader.int32OperandId();\
3561
+  return emitLoadInt32Constant(valOffset, resultId);\
3562
+}\
3563
+\
3564
+[[nodiscard]] bool emitLoadBooleanConstant(bool val, BooleanOperandId resultId);\
3565
+[[nodiscard]] bool emitLoadBooleanConstant(CacheIRReader& reader) {\
3566
+  bool val = reader.readBool();\
3567
+  BooleanOperandId resultId = reader.booleanOperandId();\
3568
+  return emitLoadBooleanConstant(val, resultId);\
3569
+}\
3570
+\
3571
+[[nodiscard]] bool emitLoadUndefined(ValOperandId resultId);\
3572
+[[nodiscard]] bool emitLoadUndefined(CacheIRReader& reader) {\
3573
+  ValOperandId resultId = reader.valOperandId();\
3574
+  return emitLoadUndefined(resultId);\
3575
+}\
3576
+\
3577
+[[nodiscard]] bool emitLoadConstantString(uint32_t strOffset, StringOperandId resultId);\
3578
+[[nodiscard]] bool emitLoadConstantString(CacheIRReader& reader) {\
3579
+  uint32_t strOffset = reader.stubOffset();\
3580
+  StringOperandId resultId = reader.stringOperandId();\
3581
+  return emitLoadConstantString(strOffset, resultId);\
3582
+}\
3583
+\
3584
+[[nodiscard]] bool emitLoadInstanceOfObjectResult(ValOperandId lhsId, ObjOperandId protoId);\
3585
+[[nodiscard]] bool emitLoadInstanceOfObjectResult(CacheIRReader& reader) {\
3586
+  ValOperandId lhsId = reader.valOperandId();\
3587
+  ObjOperandId protoId = reader.objOperandId();\
3588
+  return emitLoadInstanceOfObjectResult(lhsId, protoId);\
3589
+}\
3590
+\
3591
+[[nodiscard]] bool emitLoadTypeOfObjectResult(ObjOperandId objId);\
3592
+[[nodiscard]] bool emitLoadTypeOfObjectResult(CacheIRReader& reader) {\
3593
+  ObjOperandId objId = reader.objOperandId();\
3594
+  return emitLoadTypeOfObjectResult(objId);\
3595
+}\
3596
+\
3597
+[[nodiscard]] bool emitDoubleAddResult(NumberOperandId lhsId, NumberOperandId rhsId);\
3598
+[[nodiscard]] bool emitDoubleAddResult(CacheIRReader& reader) {\
3599
+  NumberOperandId lhsId = reader.numberOperandId();\
3600
+  NumberOperandId rhsId = reader.numberOperandId();\
3601
+  return emitDoubleAddResult(lhsId, rhsId);\
3602
+}\
3603
+\
3604
+[[nodiscard]] bool emitDoubleSubResult(NumberOperandId lhsId, NumberOperandId rhsId);\
3605
+[[nodiscard]] bool emitDoubleSubResult(CacheIRReader& reader) {\
3606
+  NumberOperandId lhsId = reader.numberOperandId();\
3607
+  NumberOperandId rhsId = reader.numberOperandId();\
3608
+  return emitDoubleSubResult(lhsId, rhsId);\
3609
+}\
3610
+\
3611
+[[nodiscard]] bool emitDoubleMulResult(NumberOperandId lhsId, NumberOperandId rhsId);\
3612
+[[nodiscard]] bool emitDoubleMulResult(CacheIRReader& reader) {\
3613
+  NumberOperandId lhsId = reader.numberOperandId();\
3614
+  NumberOperandId rhsId = reader.numberOperandId();\
3615
+  return emitDoubleMulResult(lhsId, rhsId);\
3616
+}\
3617
+\
3618
+[[nodiscard]] bool emitDoubleDivResult(NumberOperandId lhsId, NumberOperandId rhsId);\
3619
+[[nodiscard]] bool emitDoubleDivResult(CacheIRReader& reader) {\
3620
+  NumberOperandId lhsId = reader.numberOperandId();\
3621
+  NumberOperandId rhsId = reader.numberOperandId();\
3622
+  return emitDoubleDivResult(lhsId, rhsId);\
3623
+}\
3624
+\
3625
+[[nodiscard]] bool emitDoubleModResult(NumberOperandId lhsId, NumberOperandId rhsId);\
3626
+[[nodiscard]] bool emitDoubleModResult(CacheIRReader& reader) {\
3627
+  NumberOperandId lhsId = reader.numberOperandId();\
3628
+  NumberOperandId rhsId = reader.numberOperandId();\
3629
+  return emitDoubleModResult(lhsId, rhsId);\
3630
+}\
3631
+\
3632
+[[nodiscard]] bool emitDoublePowResult(NumberOperandId lhsId, NumberOperandId rhsId);\
3633
+[[nodiscard]] bool emitDoublePowResult(CacheIRReader& reader) {\
3634
+  NumberOperandId lhsId = reader.numberOperandId();\
3635
+  NumberOperandId rhsId = reader.numberOperandId();\
3636
+  return emitDoublePowResult(lhsId, rhsId);\
3637
+}\
3638
+\
3639
+[[nodiscard]] bool emitInt32AddResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3640
+[[nodiscard]] bool emitInt32AddResult(CacheIRReader& reader) {\
3641
+  Int32OperandId lhsId = reader.int32OperandId();\
3642
+  Int32OperandId rhsId = reader.int32OperandId();\
3643
+  return emitInt32AddResult(lhsId, rhsId);\
3644
+}\
3645
+\
3646
+[[nodiscard]] bool emitInt32SubResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3647
+[[nodiscard]] bool emitInt32SubResult(CacheIRReader& reader) {\
3648
+  Int32OperandId lhsId = reader.int32OperandId();\
3649
+  Int32OperandId rhsId = reader.int32OperandId();\
3650
+  return emitInt32SubResult(lhsId, rhsId);\
3651
+}\
3652
+\
3653
+[[nodiscard]] bool emitInt32MulResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3654
+[[nodiscard]] bool emitInt32MulResult(CacheIRReader& reader) {\
3655
+  Int32OperandId lhsId = reader.int32OperandId();\
3656
+  Int32OperandId rhsId = reader.int32OperandId();\
3657
+  return emitInt32MulResult(lhsId, rhsId);\
3658
+}\
3659
+\
3660
+[[nodiscard]] bool emitInt32DivResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3661
+[[nodiscard]] bool emitInt32DivResult(CacheIRReader& reader) {\
3662
+  Int32OperandId lhsId = reader.int32OperandId();\
3663
+  Int32OperandId rhsId = reader.int32OperandId();\
3664
+  return emitInt32DivResult(lhsId, rhsId);\
3665
+}\
3666
+\
3667
+[[nodiscard]] bool emitInt32ModResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3668
+[[nodiscard]] bool emitInt32ModResult(CacheIRReader& reader) {\
3669
+  Int32OperandId lhsId = reader.int32OperandId();\
3670
+  Int32OperandId rhsId = reader.int32OperandId();\
3671
+  return emitInt32ModResult(lhsId, rhsId);\
3672
+}\
3673
+\
3674
+[[nodiscard]] bool emitInt32PowResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3675
+[[nodiscard]] bool emitInt32PowResult(CacheIRReader& reader) {\
3676
+  Int32OperandId lhsId = reader.int32OperandId();\
3677
+  Int32OperandId rhsId = reader.int32OperandId();\
3678
+  return emitInt32PowResult(lhsId, rhsId);\
3679
+}\
3680
+\
3681
+[[nodiscard]] bool emitBigIntAddResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3682
+[[nodiscard]] bool emitBigIntAddResult(CacheIRReader& reader) {\
3683
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3684
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3685
+  return emitBigIntAddResult(lhsId, rhsId);\
3686
+}\
3687
+\
3688
+[[nodiscard]] bool emitBigIntSubResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3689
+[[nodiscard]] bool emitBigIntSubResult(CacheIRReader& reader) {\
3690
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3691
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3692
+  return emitBigIntSubResult(lhsId, rhsId);\
3693
+}\
3694
+\
3695
+[[nodiscard]] bool emitBigIntMulResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3696
+[[nodiscard]] bool emitBigIntMulResult(CacheIRReader& reader) {\
3697
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3698
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3699
+  return emitBigIntMulResult(lhsId, rhsId);\
3700
+}\
3701
+\
3702
+[[nodiscard]] bool emitBigIntDivResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3703
+[[nodiscard]] bool emitBigIntDivResult(CacheIRReader& reader) {\
3704
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3705
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3706
+  return emitBigIntDivResult(lhsId, rhsId);\
3707
+}\
3708
+\
3709
+[[nodiscard]] bool emitBigIntModResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3710
+[[nodiscard]] bool emitBigIntModResult(CacheIRReader& reader) {\
3711
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3712
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3713
+  return emitBigIntModResult(lhsId, rhsId);\
3714
+}\
3715
+\
3716
+[[nodiscard]] bool emitBigIntPowResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3717
+[[nodiscard]] bool emitBigIntPowResult(CacheIRReader& reader) {\
3718
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3719
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3720
+  return emitBigIntPowResult(lhsId, rhsId);\
3721
+}\
3722
+\
3723
+[[nodiscard]] bool emitInt32BitOrResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3724
+[[nodiscard]] bool emitInt32BitOrResult(CacheIRReader& reader) {\
3725
+  Int32OperandId lhsId = reader.int32OperandId();\
3726
+  Int32OperandId rhsId = reader.int32OperandId();\
3727
+  return emitInt32BitOrResult(lhsId, rhsId);\
3728
+}\
3729
+\
3730
+[[nodiscard]] bool emitInt32BitXorResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3731
+[[nodiscard]] bool emitInt32BitXorResult(CacheIRReader& reader) {\
3732
+  Int32OperandId lhsId = reader.int32OperandId();\
3733
+  Int32OperandId rhsId = reader.int32OperandId();\
3734
+  return emitInt32BitXorResult(lhsId, rhsId);\
3735
+}\
3736
+\
3737
+[[nodiscard]] bool emitInt32BitAndResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3738
+[[nodiscard]] bool emitInt32BitAndResult(CacheIRReader& reader) {\
3739
+  Int32OperandId lhsId = reader.int32OperandId();\
3740
+  Int32OperandId rhsId = reader.int32OperandId();\
3741
+  return emitInt32BitAndResult(lhsId, rhsId);\
3742
+}\
3743
+\
3744
+[[nodiscard]] bool emitInt32LeftShiftResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3745
+[[nodiscard]] bool emitInt32LeftShiftResult(CacheIRReader& reader) {\
3746
+  Int32OperandId lhsId = reader.int32OperandId();\
3747
+  Int32OperandId rhsId = reader.int32OperandId();\
3748
+  return emitInt32LeftShiftResult(lhsId, rhsId);\
3749
+}\
3750
+\
3751
+[[nodiscard]] bool emitInt32RightShiftResult(Int32OperandId lhsId, Int32OperandId rhsId);\
3752
+[[nodiscard]] bool emitInt32RightShiftResult(CacheIRReader& reader) {\
3753
+  Int32OperandId lhsId = reader.int32OperandId();\
3754
+  Int32OperandId rhsId = reader.int32OperandId();\
3755
+  return emitInt32RightShiftResult(lhsId, rhsId);\
3756
+}\
3757
+\
3758
+[[nodiscard]] bool emitInt32URightShiftResult(Int32OperandId lhsId, Int32OperandId rhsId, bool forceDouble);\
3759
+[[nodiscard]] bool emitInt32URightShiftResult(CacheIRReader& reader) {\
3760
+  Int32OperandId lhsId = reader.int32OperandId();\
3761
+  Int32OperandId rhsId = reader.int32OperandId();\
3762
+  bool forceDouble = reader.readBool();\
3763
+  return emitInt32URightShiftResult(lhsId, rhsId, forceDouble);\
3764
+}\
3765
+\
3766
+[[nodiscard]] bool emitInt32NotResult(Int32OperandId inputId);\
3767
+[[nodiscard]] bool emitInt32NotResult(CacheIRReader& reader) {\
3768
+  Int32OperandId inputId = reader.int32OperandId();\
3769
+  return emitInt32NotResult(inputId);\
3770
+}\
3771
+\
3772
+[[nodiscard]] bool emitBigIntBitOrResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3773
+[[nodiscard]] bool emitBigIntBitOrResult(CacheIRReader& reader) {\
3774
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3775
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3776
+  return emitBigIntBitOrResult(lhsId, rhsId);\
3777
+}\
3778
+\
3779
+[[nodiscard]] bool emitBigIntBitXorResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3780
+[[nodiscard]] bool emitBigIntBitXorResult(CacheIRReader& reader) {\
3781
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3782
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3783
+  return emitBigIntBitXorResult(lhsId, rhsId);\
3784
+}\
3785
+\
3786
+[[nodiscard]] bool emitBigIntBitAndResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3787
+[[nodiscard]] bool emitBigIntBitAndResult(CacheIRReader& reader) {\
3788
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3789
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3790
+  return emitBigIntBitAndResult(lhsId, rhsId);\
3791
+}\
3792
+\
3793
+[[nodiscard]] bool emitBigIntLeftShiftResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3794
+[[nodiscard]] bool emitBigIntLeftShiftResult(CacheIRReader& reader) {\
3795
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3796
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3797
+  return emitBigIntLeftShiftResult(lhsId, rhsId);\
3798
+}\
3799
+\
3800
+[[nodiscard]] bool emitBigIntRightShiftResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
3801
+[[nodiscard]] bool emitBigIntRightShiftResult(CacheIRReader& reader) {\
3802
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3803
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3804
+  return emitBigIntRightShiftResult(lhsId, rhsId);\
3805
+}\
3806
+\
3807
+[[nodiscard]] bool emitBigIntNotResult(BigIntOperandId inputId);\
3808
+[[nodiscard]] bool emitBigIntNotResult(CacheIRReader& reader) {\
3809
+  BigIntOperandId inputId = reader.bigIntOperandId();\
3810
+  return emitBigIntNotResult(inputId);\
3811
+}\
3812
+\
3813
+[[nodiscard]] bool emitInt32NegationResult(Int32OperandId inputId);\
3814
+[[nodiscard]] bool emitInt32NegationResult(CacheIRReader& reader) {\
3815
+  Int32OperandId inputId = reader.int32OperandId();\
3816
+  return emitInt32NegationResult(inputId);\
3817
+}\
3818
+\
3819
+[[nodiscard]] bool emitDoubleNegationResult(NumberOperandId inputId);\
3820
+[[nodiscard]] bool emitDoubleNegationResult(CacheIRReader& reader) {\
3821
+  NumberOperandId inputId = reader.numberOperandId();\
3822
+  return emitDoubleNegationResult(inputId);\
3823
+}\
3824
+\
3825
+[[nodiscard]] bool emitBigIntNegationResult(BigIntOperandId inputId);\
3826
+[[nodiscard]] bool emitBigIntNegationResult(CacheIRReader& reader) {\
3827
+  BigIntOperandId inputId = reader.bigIntOperandId();\
3828
+  return emitBigIntNegationResult(inputId);\
3829
+}\
3830
+\
3831
+[[nodiscard]] bool emitInt32IncResult(Int32OperandId inputId);\
3832
+[[nodiscard]] bool emitInt32IncResult(CacheIRReader& reader) {\
3833
+  Int32OperandId inputId = reader.int32OperandId();\
3834
+  return emitInt32IncResult(inputId);\
3835
+}\
3836
+\
3837
+[[nodiscard]] bool emitInt32DecResult(Int32OperandId inputId);\
3838
+[[nodiscard]] bool emitInt32DecResult(CacheIRReader& reader) {\
3839
+  Int32OperandId inputId = reader.int32OperandId();\
3840
+  return emitInt32DecResult(inputId);\
3841
+}\
3842
+\
3843
+[[nodiscard]] bool emitDoubleIncResult(NumberOperandId inputId);\
3844
+[[nodiscard]] bool emitDoubleIncResult(CacheIRReader& reader) {\
3845
+  NumberOperandId inputId = reader.numberOperandId();\
3846
+  return emitDoubleIncResult(inputId);\
3847
+}\
3848
+\
3849
+[[nodiscard]] bool emitDoubleDecResult(NumberOperandId inputId);\
3850
+[[nodiscard]] bool emitDoubleDecResult(CacheIRReader& reader) {\
3851
+  NumberOperandId inputId = reader.numberOperandId();\
3852
+  return emitDoubleDecResult(inputId);\
3853
+}\
3854
+\
3855
+[[nodiscard]] bool emitBigIntIncResult(BigIntOperandId inputId);\
3856
+[[nodiscard]] bool emitBigIntIncResult(CacheIRReader& reader) {\
3857
+  BigIntOperandId inputId = reader.bigIntOperandId();\
3858
+  return emitBigIntIncResult(inputId);\
3859
+}\
3860
+\
3861
+[[nodiscard]] bool emitBigIntDecResult(BigIntOperandId inputId);\
3862
+[[nodiscard]] bool emitBigIntDecResult(CacheIRReader& reader) {\
3863
+  BigIntOperandId inputId = reader.bigIntOperandId();\
3864
+  return emitBigIntDecResult(inputId);\
3865
+}\
3866
+\
3867
+[[nodiscard]] bool emitLoadInt32TruthyResult(ValOperandId inputId);\
3868
+[[nodiscard]] bool emitLoadInt32TruthyResult(CacheIRReader& reader) {\
3869
+  ValOperandId inputId = reader.valOperandId();\
3870
+  return emitLoadInt32TruthyResult(inputId);\
3871
+}\
3872
+\
3873
+[[nodiscard]] bool emitLoadDoubleTruthyResult(NumberOperandId inputId);\
3874
+[[nodiscard]] bool emitLoadDoubleTruthyResult(CacheIRReader& reader) {\
3875
+  NumberOperandId inputId = reader.numberOperandId();\
3876
+  return emitLoadDoubleTruthyResult(inputId);\
3877
+}\
3878
+\
3879
+[[nodiscard]] bool emitLoadStringTruthyResult(StringOperandId strId);\
3880
+[[nodiscard]] bool emitLoadStringTruthyResult(CacheIRReader& reader) {\
3881
+  StringOperandId strId = reader.stringOperandId();\
3882
+  return emitLoadStringTruthyResult(strId);\
3883
+}\
3884
+\
3885
+[[nodiscard]] bool emitLoadObjectTruthyResult(ObjOperandId objId);\
3886
+[[nodiscard]] bool emitLoadObjectTruthyResult(CacheIRReader& reader) {\
3887
+  ObjOperandId objId = reader.objOperandId();\
3888
+  return emitLoadObjectTruthyResult(objId);\
3889
+}\
3890
+\
3891
+[[nodiscard]] bool emitLoadBigIntTruthyResult(BigIntOperandId bigIntId);\
3892
+[[nodiscard]] bool emitLoadBigIntTruthyResult(CacheIRReader& reader) {\
3893
+  BigIntOperandId bigIntId = reader.bigIntOperandId();\
3894
+  return emitLoadBigIntTruthyResult(bigIntId);\
3895
+}\
3896
+\
3897
+[[nodiscard]] bool emitLoadValueTruthyResult(ValOperandId inputId);\
3898
+[[nodiscard]] bool emitLoadValueTruthyResult(CacheIRReader& reader) {\
3899
+  ValOperandId inputId = reader.valOperandId();\
3900
+  return emitLoadValueTruthyResult(inputId);\
3901
+}\
3902
+\
3903
+[[nodiscard]] bool emitLoadOperandResult(ValOperandId inputId);\
3904
+[[nodiscard]] bool emitLoadOperandResult(CacheIRReader& reader) {\
3905
+  ValOperandId inputId = reader.valOperandId();\
3906
+  return emitLoadOperandResult(inputId);\
3907
+}\
3908
+\
3909
+[[nodiscard]] bool emitCallStringConcatResult(StringOperandId lhsId, StringOperandId rhsId);\
3910
+[[nodiscard]] bool emitCallStringConcatResult(CacheIRReader& reader) {\
3911
+  StringOperandId lhsId = reader.stringOperandId();\
3912
+  StringOperandId rhsId = reader.stringOperandId();\
3913
+  return emitCallStringConcatResult(lhsId, rhsId);\
3914
+}\
3915
+\
3916
+[[nodiscard]] bool emitCallIsSuspendedGeneratorResult(ValOperandId valId);\
3917
+[[nodiscard]] bool emitCallIsSuspendedGeneratorResult(CacheIRReader& reader) {\
3918
+  ValOperandId valId = reader.valOperandId();\
3919
+  return emitCallIsSuspendedGeneratorResult(valId);\
3920
+}\
3921
+\
3922
+[[nodiscard]] bool emitCompareObjectResult(JSOp op, ObjOperandId lhsId, ObjOperandId rhsId);\
3923
+[[nodiscard]] bool emitCompareObjectResult(CacheIRReader& reader) {\
3924
+  JSOp op = reader.jsop();\
3925
+  ObjOperandId lhsId = reader.objOperandId();\
3926
+  ObjOperandId rhsId = reader.objOperandId();\
3927
+  return emitCompareObjectResult(op, lhsId, rhsId);\
3928
+}\
3929
+\
3930
+[[nodiscard]] bool emitCompareSymbolResult(JSOp op, SymbolOperandId lhsId, SymbolOperandId rhsId);\
3931
+[[nodiscard]] bool emitCompareSymbolResult(CacheIRReader& reader) {\
3932
+  JSOp op = reader.jsop();\
3933
+  SymbolOperandId lhsId = reader.symbolOperandId();\
3934
+  SymbolOperandId rhsId = reader.symbolOperandId();\
3935
+  return emitCompareSymbolResult(op, lhsId, rhsId);\
3936
+}\
3937
+\
3938
+[[nodiscard]] bool emitCompareInt32Result(JSOp op, Int32OperandId lhsId, Int32OperandId rhsId);\
3939
+[[nodiscard]] bool emitCompareInt32Result(CacheIRReader& reader) {\
3940
+  JSOp op = reader.jsop();\
3941
+  Int32OperandId lhsId = reader.int32OperandId();\
3942
+  Int32OperandId rhsId = reader.int32OperandId();\
3943
+  return emitCompareInt32Result(op, lhsId, rhsId);\
3944
+}\
3945
+\
3946
+[[nodiscard]] bool emitCompareDoubleResult(JSOp op, NumberOperandId lhsId, NumberOperandId rhsId);\
3947
+[[nodiscard]] bool emitCompareDoubleResult(CacheIRReader& reader) {\
3948
+  JSOp op = reader.jsop();\
3949
+  NumberOperandId lhsId = reader.numberOperandId();\
3950
+  NumberOperandId rhsId = reader.numberOperandId();\
3951
+  return emitCompareDoubleResult(op, lhsId, rhsId);\
3952
+}\
3953
+\
3954
+[[nodiscard]] bool emitCompareBigIntResult(JSOp op, BigIntOperandId lhsId, BigIntOperandId rhsId);\
3955
+[[nodiscard]] bool emitCompareBigIntResult(CacheIRReader& reader) {\
3956
+  JSOp op = reader.jsop();\
3957
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3958
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
3959
+  return emitCompareBigIntResult(op, lhsId, rhsId);\
3960
+}\
3961
+\
3962
+[[nodiscard]] bool emitCompareBigIntInt32Result(JSOp op, BigIntOperandId lhsId, Int32OperandId rhsId);\
3963
+[[nodiscard]] bool emitCompareBigIntInt32Result(CacheIRReader& reader) {\
3964
+  JSOp op = reader.jsop();\
3965
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3966
+  Int32OperandId rhsId = reader.int32OperandId();\
3967
+  return emitCompareBigIntInt32Result(op, lhsId, rhsId);\
3968
+}\
3969
+\
3970
+[[nodiscard]] bool emitCompareBigIntNumberResult(JSOp op, BigIntOperandId lhsId, NumberOperandId rhsId);\
3971
+[[nodiscard]] bool emitCompareBigIntNumberResult(CacheIRReader& reader) {\
3972
+  JSOp op = reader.jsop();\
3973
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3974
+  NumberOperandId rhsId = reader.numberOperandId();\
3975
+  return emitCompareBigIntNumberResult(op, lhsId, rhsId);\
3976
+}\
3977
+\
3978
+[[nodiscard]] bool emitCompareBigIntStringResult(JSOp op, BigIntOperandId lhsId, StringOperandId rhsId);\
3979
+[[nodiscard]] bool emitCompareBigIntStringResult(CacheIRReader& reader) {\
3980
+  JSOp op = reader.jsop();\
3981
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
3982
+  StringOperandId rhsId = reader.stringOperandId();\
3983
+  return emitCompareBigIntStringResult(op, lhsId, rhsId);\
3984
+}\
3985
+\
3986
+[[nodiscard]] bool emitCompareNullUndefinedResult(JSOp op, bool isUndefined, ValOperandId inputId);\
3987
+[[nodiscard]] bool emitCompareNullUndefinedResult(CacheIRReader& reader) {\
3988
+  JSOp op = reader.jsop();\
3989
+  bool isUndefined = reader.readBool();\
3990
+  ValOperandId inputId = reader.valOperandId();\
3991
+  return emitCompareNullUndefinedResult(op, isUndefined, inputId);\
3992
+}\
3993
+\
3994
+[[nodiscard]] bool emitCompareDoubleSameValueResult(NumberOperandId lhsId, NumberOperandId rhsId);\
3995
+[[nodiscard]] bool emitCompareDoubleSameValueResult(CacheIRReader& reader) {\
3996
+  NumberOperandId lhsId = reader.numberOperandId();\
3997
+  NumberOperandId rhsId = reader.numberOperandId();\
3998
+  return emitCompareDoubleSameValueResult(lhsId, rhsId);\
3999
+}\
4000
+\
4001
+[[nodiscard]] bool emitIndirectTruncateInt32Result(Int32OperandId valId);\
4002
+[[nodiscard]] bool emitIndirectTruncateInt32Result(CacheIRReader& reader) {\
4003
+  Int32OperandId valId = reader.int32OperandId();\
4004
+  return emitIndirectTruncateInt32Result(valId);\
4005
+}\
4006
+\
4007
+[[nodiscard]] bool emitBigIntAsIntNResult(Int32OperandId bitsId, BigIntOperandId bigIntId);\
4008
+[[nodiscard]] bool emitBigIntAsIntNResult(CacheIRReader& reader) {\
4009
+  Int32OperandId bitsId = reader.int32OperandId();\
4010
+  BigIntOperandId bigIntId = reader.bigIntOperandId();\
4011
+  return emitBigIntAsIntNResult(bitsId, bigIntId);\
4012
+}\
4013
+\
4014
+[[nodiscard]] bool emitBigIntAsUintNResult(Int32OperandId bitsId, BigIntOperandId bigIntId);\
4015
+[[nodiscard]] bool emitBigIntAsUintNResult(CacheIRReader& reader) {\
4016
+  Int32OperandId bitsId = reader.int32OperandId();\
4017
+  BigIntOperandId bigIntId = reader.bigIntOperandId();\
4018
+  return emitBigIntAsUintNResult(bitsId, bigIntId);\
4019
+}\
4020
+\
4021
+[[nodiscard]] bool emitCallPrintString(const char* str);\
4022
+[[nodiscard]] bool emitCallPrintString(CacheIRReader& reader) {\
4023
+  const char* str = reinterpret_cast<char*>(reader.pointer());\
4024
+  return emitCallPrintString(str);\
4025
+}\
4026
+\
4027
+[[nodiscard]] bool emitBreakpoint();\
4028
+[[nodiscard]] bool emitBreakpoint(CacheIRReader& reader) {\
4029
+  return emitBreakpoint();\
4030
+}\
4031
+\
4032
+[[nodiscard]] bool emitWrapResult();\
4033
+[[nodiscard]] bool emitWrapResult(CacheIRReader& reader) {\
4034
+  return emitWrapResult();\
4035
+}\
4036
+\
4037
+[[nodiscard]] bool emitBailout();\
4038
+[[nodiscard]] bool emitBailout(CacheIRReader& reader) {\
4039
+  return emitBailout();\
4040
+}\
4041
+\
4042
+[[nodiscard]] bool emitAssertRecoveredOnBailoutResult(ValOperandId valId, bool mustBeRecovered);\
4043
+[[nodiscard]] bool emitAssertRecoveredOnBailoutResult(CacheIRReader& reader) {\
4044
+  ValOperandId valId = reader.valOperandId();\
4045
+  bool mustBeRecovered = reader.readBool();\
4046
+  return emitAssertRecoveredOnBailoutResult(valId, mustBeRecovered);\
4047
+}\
4048
+
4049
+
4050
+#define CACHE_IR_COMPILER_UNSHARED_GENERATED \
4051
+[[nodiscard]] bool emitReturnFromIC();\
4052
+[[nodiscard]] bool emitReturnFromIC(CacheIRReader& reader) {\
4053
+  return emitReturnFromIC();\
4054
+}\
4055
+\
4056
+[[nodiscard]] bool emitGuardShape(ObjOperandId objId, uint32_t shapeOffset);\
4057
+[[nodiscard]] bool emitGuardShape(CacheIRReader& reader) {\
4058
+  ObjOperandId objId = reader.objOperandId();\
4059
+  uint32_t shapeOffset = reader.stubOffset();\
4060
+  return emitGuardShape(objId, shapeOffset);\
4061
+}\
4062
+\
4063
+[[nodiscard]] bool emitGuardProto(ObjOperandId objId, uint32_t protoOffset);\
4064
+[[nodiscard]] bool emitGuardProto(CacheIRReader& reader) {\
4065
+  ObjOperandId objId = reader.objOperandId();\
4066
+  uint32_t protoOffset = reader.stubOffset();\
4067
+  return emitGuardProto(objId, protoOffset);\
4068
+}\
4069
+\
4070
+[[nodiscard]] bool emitGuardAnyClass(ObjOperandId objId, uint32_t claspOffset);\
4071
+[[nodiscard]] bool emitGuardAnyClass(CacheIRReader& reader) {\
4072
+  ObjOperandId objId = reader.objOperandId();\
4073
+  uint32_t claspOffset = reader.stubOffset();\
4074
+  return emitGuardAnyClass(objId, claspOffset);\
4075
+}\
4076
+\
4077
+[[nodiscard]] bool emitHasClassResult(ObjOperandId objId, uint32_t claspOffset);\
4078
+[[nodiscard]] bool emitHasClassResult(CacheIRReader& reader) {\
4079
+  ObjOperandId objId = reader.objOperandId();\
4080
+  uint32_t claspOffset = reader.stubOffset();\
4081
+  return emitHasClassResult(objId, claspOffset);\
4082
+}\
4083
+\
4084
+[[nodiscard]] bool emitGuardCompartment(ObjOperandId objId, uint32_t globalOffset, uint32_t compartmentOffset);\
4085
+[[nodiscard]] bool emitGuardCompartment(CacheIRReader& reader) {\
4086
+  ObjOperandId objId = reader.objOperandId();\
4087
+  uint32_t globalOffset = reader.stubOffset();\
4088
+  uint32_t compartmentOffset = reader.stubOffset();\
4089
+  return emitGuardCompartment(objId, globalOffset, compartmentOffset);\
4090
+}\
4091
+\
4092
+[[nodiscard]] bool emitGuardHasProxyHandler(ObjOperandId objId, uint32_t handlerOffset);\
4093
+[[nodiscard]] bool emitGuardHasProxyHandler(CacheIRReader& reader) {\
4094
+  ObjOperandId objId = reader.objOperandId();\
4095
+  uint32_t handlerOffset = reader.stubOffset();\
4096
+  return emitGuardHasProxyHandler(objId, handlerOffset);\
4097
+}\
4098
+\
4099
+[[nodiscard]] bool emitGuardSpecificObject(ObjOperandId objId, uint32_t expectedOffset);\
4100
+[[nodiscard]] bool emitGuardSpecificObject(CacheIRReader& reader) {\
4101
+  ObjOperandId objId = reader.objOperandId();\
4102
+  uint32_t expectedOffset = reader.stubOffset();\
4103
+  return emitGuardSpecificObject(objId, expectedOffset);\
4104
+}\
4105
+\
4106
+[[nodiscard]] bool emitGuardSpecificFunction(ObjOperandId funId, uint32_t expectedOffset, uint32_t nargsAndFlagsOffset);\
4107
+[[nodiscard]] bool emitGuardSpecificFunction(CacheIRReader& reader) {\
4108
+  ObjOperandId funId = reader.objOperandId();\
4109
+  uint32_t expectedOffset = reader.stubOffset();\
4110
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4111
+  return emitGuardSpecificFunction(funId, expectedOffset, nargsAndFlagsOffset);\
4112
+}\
4113
+\
4114
+[[nodiscard]] bool emitGuardFunctionScript(ObjOperandId objId, uint32_t expectedOffset, uint32_t nargsAndFlagsOffset);\
4115
+[[nodiscard]] bool emitGuardFunctionScript(CacheIRReader& reader) {\
4116
+  ObjOperandId objId = reader.objOperandId();\
4117
+  uint32_t expectedOffset = reader.stubOffset();\
4118
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4119
+  return emitGuardFunctionScript(objId, expectedOffset, nargsAndFlagsOffset);\
4120
+}\
4121
+\
4122
+[[nodiscard]] bool emitGuardSpecificAtom(StringOperandId strId, uint32_t expectedOffset);\
4123
+[[nodiscard]] bool emitGuardSpecificAtom(CacheIRReader& reader) {\
4124
+  StringOperandId strId = reader.stringOperandId();\
4125
+  uint32_t expectedOffset = reader.stubOffset();\
4126
+  return emitGuardSpecificAtom(strId, expectedOffset);\
4127
+}\
4128
+\
4129
+[[nodiscard]] bool emitGuardSpecificSymbol(SymbolOperandId symId, uint32_t expectedOffset);\
4130
+[[nodiscard]] bool emitGuardSpecificSymbol(CacheIRReader& reader) {\
4131
+  SymbolOperandId symId = reader.symbolOperandId();\
4132
+  uint32_t expectedOffset = reader.stubOffset();\
4133
+  return emitGuardSpecificSymbol(symId, expectedOffset);\
4134
+}\
4135
+\
4136
+[[nodiscard]] bool emitGuardAndGetIterator(ObjOperandId objId, uint32_t iterOffset, uint32_t enumeratorsAddrOffset, ObjOperandId resultId);\
4137
+[[nodiscard]] bool emitGuardAndGetIterator(CacheIRReader& reader) {\
4138
+  ObjOperandId objId = reader.objOperandId();\
4139
+  uint32_t iterOffset = reader.stubOffset();\
4140
+  uint32_t enumeratorsAddrOffset = reader.stubOffset();\
4141
+  ObjOperandId resultId = reader.objOperandId();\
4142
+  return emitGuardAndGetIterator(objId, iterOffset, enumeratorsAddrOffset, resultId);\
4143
+}\
4144
+\
4145
+[[nodiscard]] bool emitLoadArgumentFixedSlot(ValOperandId resultId, uint8_t slotIndex);\
4146
+[[nodiscard]] bool emitLoadArgumentFixedSlot(CacheIRReader& reader) {\
4147
+  ValOperandId resultId = reader.valOperandId();\
4148
+  uint8_t slotIndex = reader.readByte();\
4149
+  return emitLoadArgumentFixedSlot(resultId, slotIndex);\
4150
+}\
4151
+\
4152
+[[nodiscard]] bool emitLoadArgumentDynamicSlot(ValOperandId resultId, Int32OperandId argcId, uint8_t slotIndex);\
4153
+[[nodiscard]] bool emitLoadArgumentDynamicSlot(CacheIRReader& reader) {\
4154
+  ValOperandId resultId = reader.valOperandId();\
4155
+  Int32OperandId argcId = reader.int32OperandId();\
4156
+  uint8_t slotIndex = reader.readByte();\
4157
+  return emitLoadArgumentDynamicSlot(resultId, argcId, slotIndex);\
4158
+}\
4159
+\
4160
+[[nodiscard]] bool emitMegamorphicSetElement(ObjOperandId objId, ValOperandId idId, ValOperandId rhsId, bool strict);\
4161
+[[nodiscard]] bool emitMegamorphicSetElement(CacheIRReader& reader) {\
4162
+  ObjOperandId objId = reader.objOperandId();\
4163
+  ValOperandId idId = reader.valOperandId();\
4164
+  ValOperandId rhsId = reader.valOperandId();\
4165
+  bool strict = reader.readBool();\
4166
+  return emitMegamorphicSetElement(objId, idId, rhsId, strict);\
4167
+}\
4168
+\
4169
+[[nodiscard]] bool emitLoadDOMExpandoValueGuardGeneration(ObjOperandId objId, uint32_t expandoAndGenerationOffset, uint32_t generationOffset, ValOperandId resultId);\
4170
+[[nodiscard]] bool emitLoadDOMExpandoValueGuardGeneration(CacheIRReader& reader) {\
4171
+  ObjOperandId objId = reader.objOperandId();\
4172
+  uint32_t expandoAndGenerationOffset = reader.stubOffset();\
4173
+  uint32_t generationOffset = reader.stubOffset();\
4174
+  ValOperandId resultId = reader.valOperandId();\
4175
+  return emitLoadDOMExpandoValueGuardGeneration(objId, expandoAndGenerationOffset, generationOffset, resultId);\
4176
+}\
4177
+\
4178
+[[nodiscard]] bool emitGuardDOMExpandoMissingOrGuardShape(ValOperandId expandoId, uint32_t shapeOffset);\
4179
+[[nodiscard]] bool emitGuardDOMExpandoMissingOrGuardShape(CacheIRReader& reader) {\
4180
+  ValOperandId expandoId = reader.valOperandId();\
4181
+  uint32_t shapeOffset = reader.stubOffset();\
4182
+  return emitGuardDOMExpandoMissingOrGuardShape(expandoId, shapeOffset);\
4183
+}\
4184
+\
4185
+[[nodiscard]] bool emitStoreFixedSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
4186
+[[nodiscard]] bool emitStoreFixedSlot(CacheIRReader& reader) {\
4187
+  ObjOperandId objId = reader.objOperandId();\
4188
+  uint32_t offsetOffset = reader.stubOffset();\
4189
+  ValOperandId rhsId = reader.valOperandId();\
4190
+  return emitStoreFixedSlot(objId, offsetOffset, rhsId);\
4191
+}\
4192
+\
4193
+[[nodiscard]] bool emitStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
4194
+[[nodiscard]] bool emitStoreDynamicSlot(CacheIRReader& reader) {\
4195
+  ObjOperandId objId = reader.objOperandId();\
4196
+  uint32_t offsetOffset = reader.stubOffset();\
4197
+  ValOperandId rhsId = reader.valOperandId();\
4198
+  return emitStoreDynamicSlot(objId, offsetOffset, rhsId);\
4199
+}\
4200
+\
4201
+[[nodiscard]] bool emitAddAndStoreFixedSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset);\
4202
+[[nodiscard]] bool emitAddAndStoreFixedSlot(CacheIRReader& reader) {\
4203
+  ObjOperandId objId = reader.objOperandId();\
4204
+  uint32_t offsetOffset = reader.stubOffset();\
4205
+  ValOperandId rhsId = reader.valOperandId();\
4206
+  uint32_t newShapeOffset = reader.stubOffset();\
4207
+  return emitAddAndStoreFixedSlot(objId, offsetOffset, rhsId, newShapeOffset);\
4208
+}\
4209
+\
4210
+[[nodiscard]] bool emitAddAndStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset);\
4211
+[[nodiscard]] bool emitAddAndStoreDynamicSlot(CacheIRReader& reader) {\
4212
+  ObjOperandId objId = reader.objOperandId();\
4213
+  uint32_t offsetOffset = reader.stubOffset();\
4214
+  ValOperandId rhsId = reader.valOperandId();\
4215
+  uint32_t newShapeOffset = reader.stubOffset();\
4216
+  return emitAddAndStoreDynamicSlot(objId, offsetOffset, rhsId, newShapeOffset);\
4217
+}\
4218
+\
4219
+[[nodiscard]] bool emitAllocateAndStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset, uint32_t numNewSlotsOffset);\
4220
+[[nodiscard]] bool emitAllocateAndStoreDynamicSlot(CacheIRReader& reader) {\
4221
+  ObjOperandId objId = reader.objOperandId();\
4222
+  uint32_t offsetOffset = reader.stubOffset();\
4223
+  ValOperandId rhsId = reader.valOperandId();\
4224
+  uint32_t newShapeOffset = reader.stubOffset();\
4225
+  uint32_t numNewSlotsOffset = reader.stubOffset();\
4226
+  return emitAllocateAndStoreDynamicSlot(objId, offsetOffset, rhsId, newShapeOffset, numNewSlotsOffset);\
4227
+}\
4228
+\
4229
+[[nodiscard]] bool emitArrayJoinResult(ObjOperandId objId, StringOperandId sepId);\
4230
+[[nodiscard]] bool emitArrayJoinResult(CacheIRReader& reader) {\
4231
+  ObjOperandId objId = reader.objOperandId();\
4232
+  StringOperandId sepId = reader.stringOperandId();\
4233
+  return emitArrayJoinResult(objId, sepId);\
4234
+}\
4235
+\
4236
+[[nodiscard]] bool emitPackedArraySliceResult(uint32_t templateObjectOffset, ObjOperandId arrayId, Int32OperandId beginId, Int32OperandId endId);\
4237
+[[nodiscard]] bool emitPackedArraySliceResult(CacheIRReader& reader) {\
4238
+  uint32_t templateObjectOffset = reader.stubOffset();\
4239
+  ObjOperandId arrayId = reader.objOperandId();\
4240
+  Int32OperandId beginId = reader.int32OperandId();\
4241
+  Int32OperandId endId = reader.int32OperandId();\
4242
+  return emitPackedArraySliceResult(templateObjectOffset, arrayId, beginId, endId);\
4243
+}\
4244
+\
4245
+[[nodiscard]] bool emitIsArrayResult(ValOperandId inputId);\
4246
+[[nodiscard]] bool emitIsArrayResult(CacheIRReader& reader) {\
4247
+  ValOperandId inputId = reader.valOperandId();\
4248
+  return emitIsArrayResult(inputId);\
4249
+}\
4250
+\
4251
+[[nodiscard]] bool emitIsTypedArrayResult(ObjOperandId objId, bool isPossiblyWrapped);\
4252
+[[nodiscard]] bool emitIsTypedArrayResult(CacheIRReader& reader) {\
4253
+  ObjOperandId objId = reader.objOperandId();\
4254
+  bool isPossiblyWrapped = reader.readBool();\
4255
+  return emitIsTypedArrayResult(objId, isPossiblyWrapped);\
4256
+}\
4257
+\
4258
+[[nodiscard]] bool emitStringFromCharCodeResult(Int32OperandId codeId);\
4259
+[[nodiscard]] bool emitStringFromCharCodeResult(CacheIRReader& reader) {\
4260
+  Int32OperandId codeId = reader.int32OperandId();\
4261
+  return emitStringFromCharCodeResult(codeId);\
4262
+}\
4263
+\
4264
+[[nodiscard]] bool emitStringFromCodePointResult(Int32OperandId codeId);\
4265
+[[nodiscard]] bool emitStringFromCodePointResult(CacheIRReader& reader) {\
4266
+  Int32OperandId codeId = reader.int32OperandId();\
4267
+  return emitStringFromCodePointResult(codeId);\
4268
+}\
4269
+\
4270
+[[nodiscard]] bool emitMathRandomResult(uint32_t rngOffset);\
4271
+[[nodiscard]] bool emitMathRandomResult(CacheIRReader& reader) {\
4272
+  uint32_t rngOffset = reader.stubOffset();\
4273
+  return emitMathRandomResult(rngOffset);\
4274
+}\
4275
+\
4276
+[[nodiscard]] bool emitReflectGetPrototypeOfResult(ObjOperandId objId);\
4277
+[[nodiscard]] bool emitReflectGetPrototypeOfResult(CacheIRReader& reader) {\
4278
+  ObjOperandId objId = reader.objOperandId();\
4279
+  return emitReflectGetPrototypeOfResult(objId);\
4280
+}\
4281
+\
4282
+[[nodiscard]] bool emitCallNativeSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, bool sameRealm, uint32_t nargsAndFlagsOffset);\
4283
+[[nodiscard]] bool emitCallNativeSetter(CacheIRReader& reader) {\
4284
+  ObjOperandId receiverId = reader.objOperandId();\
4285
+  uint32_t setterOffset = reader.stubOffset();\
4286
+  ValOperandId rhsId = reader.valOperandId();\
4287
+  bool sameRealm = reader.readBool();\
4288
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4289
+  return emitCallNativeSetter(receiverId, setterOffset, rhsId, sameRealm, nargsAndFlagsOffset);\
4290
+}\
4291
+\
4292
+[[nodiscard]] bool emitCallScriptedSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, bool sameRealm, uint32_t nargsAndFlagsOffset);\
4293
+[[nodiscard]] bool emitCallScriptedSetter(CacheIRReader& reader) {\
4294
+  ObjOperandId receiverId = reader.objOperandId();\
4295
+  uint32_t setterOffset = reader.stubOffset();\
4296
+  ValOperandId rhsId = reader.valOperandId();\
4297
+  bool sameRealm = reader.readBool();\
4298
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4299
+  return emitCallScriptedSetter(receiverId, setterOffset, rhsId, sameRealm, nargsAndFlagsOffset);\
4300
+}\
4301
+\
4302
+[[nodiscard]] bool emitCallInlinedSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, uint32_t icScriptOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
4303
+[[nodiscard]] bool emitCallInlinedSetter(CacheIRReader& reader) {\
4304
+  ObjOperandId receiverId = reader.objOperandId();\
4305
+  uint32_t setterOffset = reader.stubOffset();\
4306
+  ValOperandId rhsId = reader.valOperandId();\
4307
+  uint32_t icScriptOffset = reader.stubOffset();\
4308
+  bool sameRealm = reader.readBool();\
4309
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4310
+  return emitCallInlinedSetter(receiverId, setterOffset, rhsId, icScriptOffset, sameRealm, nargsAndFlagsOffset);\
4311
+}\
4312
+\
4313
+[[nodiscard]] bool emitCallDOMSetter(ObjOperandId objId, uint32_t jitInfoOffset, ValOperandId rhsId);\
4314
+[[nodiscard]] bool emitCallDOMSetter(CacheIRReader& reader) {\
4315
+  ObjOperandId objId = reader.objOperandId();\
4316
+  uint32_t jitInfoOffset = reader.stubOffset();\
4317
+  ValOperandId rhsId = reader.valOperandId();\
4318
+  return emitCallDOMSetter(objId, jitInfoOffset, rhsId);\
4319
+}\
4320
+\
4321
+[[nodiscard]] bool emitCallSetArrayLength(ObjOperandId objId, bool strict, ValOperandId rhsId);\
4322
+[[nodiscard]] bool emitCallSetArrayLength(CacheIRReader& reader) {\
4323
+  ObjOperandId objId = reader.objOperandId();\
4324
+  bool strict = reader.readBool();\
4325
+  ValOperandId rhsId = reader.valOperandId();\
4326
+  return emitCallSetArrayLength(objId, strict, rhsId);\
4327
+}\
4328
+\
4329
+[[nodiscard]] bool emitProxySet(ObjOperandId objId, uint32_t idOffset, ValOperandId rhsId, bool strict);\
4330
+[[nodiscard]] bool emitProxySet(CacheIRReader& reader) {\
4331
+  ObjOperandId objId = reader.objOperandId();\
4332
+  uint32_t idOffset = reader.stubOffset();\
4333
+  ValOperandId rhsId = reader.valOperandId();\
4334
+  bool strict = reader.readBool();\
4335
+  return emitProxySet(objId, idOffset, rhsId, strict);\
4336
+}\
4337
+\
4338
+[[nodiscard]] bool emitProxySetByValue(ObjOperandId objId, ValOperandId idId, ValOperandId rhsId, bool strict);\
4339
+[[nodiscard]] bool emitProxySetByValue(CacheIRReader& reader) {\
4340
+  ObjOperandId objId = reader.objOperandId();\
4341
+  ValOperandId idId = reader.valOperandId();\
4342
+  ValOperandId rhsId = reader.valOperandId();\
4343
+  bool strict = reader.readBool();\
4344
+  return emitProxySetByValue(objId, idId, rhsId, strict);\
4345
+}\
4346
+\
4347
+[[nodiscard]] bool emitCallAddOrUpdateSparseElementHelper(ObjOperandId objId, Int32OperandId idId, ValOperandId rhsId, bool strict);\
4348
+[[nodiscard]] bool emitCallAddOrUpdateSparseElementHelper(CacheIRReader& reader) {\
4349
+  ObjOperandId objId = reader.objOperandId();\
4350
+  Int32OperandId idId = reader.int32OperandId();\
4351
+  ValOperandId rhsId = reader.valOperandId();\
4352
+  bool strict = reader.readBool();\
4353
+  return emitCallAddOrUpdateSparseElementHelper(objId, idId, rhsId, strict);\
4354
+}\
4355
+\
4356
+[[nodiscard]] bool emitCallScriptedFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags);\
4357
+[[nodiscard]] bool emitCallScriptedFunction(CacheIRReader& reader) {\
4358
+  ObjOperandId calleeId = reader.objOperandId();\
4359
+  Int32OperandId argcId = reader.int32OperandId();\
4360
+  CallFlags flags = reader.callFlags();\
4361
+  return emitCallScriptedFunction(calleeId, argcId, flags);\
4362
+}\
4363
+\
4364
+[[nodiscard]] bool emitCallWasmFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, uint32_t funcExportOffset, uint32_t instanceOffset);\
4365
+[[nodiscard]] bool emitCallWasmFunction(CacheIRReader& reader) {\
4366
+  ObjOperandId calleeId = reader.objOperandId();\
4367
+  Int32OperandId argcId = reader.int32OperandId();\
4368
+  CallFlags flags = reader.callFlags();\
4369
+  uint32_t funcExportOffset = reader.stubOffset();\
4370
+  uint32_t instanceOffset = reader.stubOffset();\
4371
+  return emitCallWasmFunction(calleeId, argcId, flags, funcExportOffset, instanceOffset);\
4372
+}\
4373
+\
4374
+[[nodiscard]] bool emitCallNativeFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, bool ignoresReturnValue);\
4375
+[[nodiscard]] bool emitCallNativeFunction(CacheIRReader& reader) {\
4376
+  ObjOperandId calleeId = reader.objOperandId();\
4377
+  Int32OperandId argcId = reader.int32OperandId();\
4378
+  CallFlags flags = reader.callFlags();\
4379
+  bool ignoresReturnValue = reader.readBool();\
4380
+  return emitCallNativeFunction(calleeId, argcId, flags, ignoresReturnValue);\
4381
+}\
4382
+\
4383
+[[nodiscard]] bool emitCallDOMFunction(ObjOperandId calleeId, Int32OperandId argcId, ObjOperandId thisObjId, CallFlags flags);\
4384
+[[nodiscard]] bool emitCallDOMFunction(CacheIRReader& reader) {\
4385
+  ObjOperandId calleeId = reader.objOperandId();\
4386
+  Int32OperandId argcId = reader.int32OperandId();\
4387
+  ObjOperandId thisObjId = reader.objOperandId();\
4388
+  CallFlags flags = reader.callFlags();\
4389
+  return emitCallDOMFunction(calleeId, argcId, thisObjId, flags);\
4390
+}\
4391
+\
4392
+[[nodiscard]] bool emitCallClassHook(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, uint32_t targetOffset);\
4393
+[[nodiscard]] bool emitCallClassHook(CacheIRReader& reader) {\
4394
+  ObjOperandId calleeId = reader.objOperandId();\
4395
+  Int32OperandId argcId = reader.int32OperandId();\
4396
+  CallFlags flags = reader.callFlags();\
4397
+  uint32_t targetOffset = reader.stubOffset();\
4398
+  return emitCallClassHook(calleeId, argcId, flags, targetOffset);\
4399
+}\
4400
+\
4401
+[[nodiscard]] bool emitCallInlinedFunction(ObjOperandId calleeId, Int32OperandId argcId, uint32_t icScriptOffset, CallFlags flags);\
4402
+[[nodiscard]] bool emitCallInlinedFunction(CacheIRReader& reader) {\
4403
+  ObjOperandId calleeId = reader.objOperandId();\
4404
+  Int32OperandId argcId = reader.int32OperandId();\
4405
+  uint32_t icScriptOffset = reader.stubOffset();\
4406
+  CallFlags flags = reader.callFlags();\
4407
+  return emitCallInlinedFunction(calleeId, argcId, icScriptOffset, flags);\
4408
+}\
4409
+\
4410
+[[nodiscard]] bool emitLoadFixedSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
4411
+[[nodiscard]] bool emitLoadFixedSlotResult(CacheIRReader& reader) {\
4412
+  ObjOperandId objId = reader.objOperandId();\
4413
+  uint32_t offsetOffset = reader.stubOffset();\
4414
+  return emitLoadFixedSlotResult(objId, offsetOffset);\
4415
+}\
4416
+\
4417
+[[nodiscard]] bool emitLoadFixedSlotTypedResult(ObjOperandId objId, uint32_t offsetOffset, ValueType type);\
4418
+[[nodiscard]] bool emitLoadFixedSlotTypedResult(CacheIRReader& reader) {\
4419
+  ObjOperandId objId = reader.objOperandId();\
4420
+  uint32_t offsetOffset = reader.stubOffset();\
4421
+  ValueType type = reader.valueType();\
4422
+  return emitLoadFixedSlotTypedResult(objId, offsetOffset, type);\
4423
+}\
4424
+\
4425
+[[nodiscard]] bool emitLoadDynamicSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
4426
+[[nodiscard]] bool emitLoadDynamicSlotResult(CacheIRReader& reader) {\
4427
+  ObjOperandId objId = reader.objOperandId();\
4428
+  uint32_t offsetOffset = reader.stubOffset();\
4429
+  return emitLoadDynamicSlotResult(objId, offsetOffset);\
4430
+}\
4431
+\
4432
+[[nodiscard]] bool emitLoadStringCharResult(StringOperandId strId, Int32OperandId indexId);\
4433
+[[nodiscard]] bool emitLoadStringCharResult(CacheIRReader& reader) {\
4434
+  StringOperandId strId = reader.stringOperandId();\
4435
+  Int32OperandId indexId = reader.int32OperandId();\
4436
+  return emitLoadStringCharResult(strId, indexId);\
4437
+}\
4438
+\
4439
+[[nodiscard]] bool emitFrameIsConstructingResult();\
4440
+[[nodiscard]] bool emitFrameIsConstructingResult(CacheIRReader& reader) {\
4441
+  return emitFrameIsConstructingResult();\
4442
+}\
4443
+\
4444
+[[nodiscard]] bool emitLoadEnvironmentFixedSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
4445
+[[nodiscard]] bool emitLoadEnvironmentFixedSlotResult(CacheIRReader& reader) {\
4446
+  ObjOperandId objId = reader.objOperandId();\
4447
+  uint32_t offsetOffset = reader.stubOffset();\
4448
+  return emitLoadEnvironmentFixedSlotResult(objId, offsetOffset);\
4449
+}\
4450
+\
4451
+[[nodiscard]] bool emitLoadEnvironmentDynamicSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
4452
+[[nodiscard]] bool emitLoadEnvironmentDynamicSlotResult(CacheIRReader& reader) {\
4453
+  ObjOperandId objId = reader.objOperandId();\
4454
+  uint32_t offsetOffset = reader.stubOffset();\
4455
+  return emitLoadEnvironmentDynamicSlotResult(objId, offsetOffset);\
4456
+}\
4457
+\
4458
+[[nodiscard]] bool emitCallScriptedGetterResult(ValOperandId receiverId, uint32_t getterOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
4459
+[[nodiscard]] bool emitCallScriptedGetterResult(CacheIRReader& reader) {\
4460
+  ValOperandId receiverId = reader.valOperandId();\
4461
+  uint32_t getterOffset = reader.stubOffset();\
4462
+  bool sameRealm = reader.readBool();\
4463
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4464
+  return emitCallScriptedGetterResult(receiverId, getterOffset, sameRealm, nargsAndFlagsOffset);\
4465
+}\
4466
+\
4467
+[[nodiscard]] bool emitCallInlinedGetterResult(ValOperandId receiverId, uint32_t getterOffset, uint32_t icScriptOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
4468
+[[nodiscard]] bool emitCallInlinedGetterResult(CacheIRReader& reader) {\
4469
+  ValOperandId receiverId = reader.valOperandId();\
4470
+  uint32_t getterOffset = reader.stubOffset();\
4471
+  uint32_t icScriptOffset = reader.stubOffset();\
4472
+  bool sameRealm = reader.readBool();\
4473
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4474
+  return emitCallInlinedGetterResult(receiverId, getterOffset, icScriptOffset, sameRealm, nargsAndFlagsOffset);\
4475
+}\
4476
+\
4477
+[[nodiscard]] bool emitCallNativeGetterResult(ValOperandId receiverId, uint32_t getterOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
4478
+[[nodiscard]] bool emitCallNativeGetterResult(CacheIRReader& reader) {\
4479
+  ValOperandId receiverId = reader.valOperandId();\
4480
+  uint32_t getterOffset = reader.stubOffset();\
4481
+  bool sameRealm = reader.readBool();\
4482
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4483
+  return emitCallNativeGetterResult(receiverId, getterOffset, sameRealm, nargsAndFlagsOffset);\
4484
+}\
4485
+\
4486
+[[nodiscard]] bool emitCallDOMGetterResult(ObjOperandId objId, uint32_t jitInfoOffset);\
4487
+[[nodiscard]] bool emitCallDOMGetterResult(CacheIRReader& reader) {\
4488
+  ObjOperandId objId = reader.objOperandId();\
4489
+  uint32_t jitInfoOffset = reader.stubOffset();\
4490
+  return emitCallDOMGetterResult(objId, jitInfoOffset);\
4491
+}\
4492
+\
4493
+[[nodiscard]] bool emitProxyGetResult(ObjOperandId objId, uint32_t idOffset);\
4494
+[[nodiscard]] bool emitProxyGetResult(CacheIRReader& reader) {\
4495
+  ObjOperandId objId = reader.objOperandId();\
4496
+  uint32_t idOffset = reader.stubOffset();\
4497
+  return emitProxyGetResult(objId, idOffset);\
4498
+}\
4499
+\
4500
+[[nodiscard]] bool emitLoadConstantStringResult(uint32_t strOffset);\
4501
+[[nodiscard]] bool emitLoadConstantStringResult(CacheIRReader& reader) {\
4502
+  uint32_t strOffset = reader.stubOffset();\
4503
+  return emitLoadConstantStringResult(strOffset);\
4504
+}\
4505
+\
4506
+[[nodiscard]] bool emitLoadValueResult(uint32_t valOffset);\
4507
+[[nodiscard]] bool emitLoadValueResult(CacheIRReader& reader) {\
4508
+  uint32_t valOffset = reader.stubOffset();\
4509
+  return emitLoadValueResult(valOffset);\
4510
+}\
4511
+\
4512
+[[nodiscard]] bool emitNewPlainObjectResult(uint32_t numFixedSlots, uint32_t numDynamicSlots, gc::AllocKind allocKind, uint32_t shapeOffset, uint32_t siteOffset);\
4513
+[[nodiscard]] bool emitNewPlainObjectResult(CacheIRReader& reader) {\
4514
+  uint32_t numFixedSlots = reader.uint32Immediate();\
4515
+  uint32_t numDynamicSlots = reader.uint32Immediate();\
4516
+  gc::AllocKind allocKind = reader.allocKind();\
4517
+  uint32_t shapeOffset = reader.stubOffset();\
4518
+  uint32_t siteOffset = reader.stubOffset();\
4519
+  return emitNewPlainObjectResult(numFixedSlots, numDynamicSlots, allocKind, shapeOffset, siteOffset);\
4520
+}\
4521
+\
4522
+[[nodiscard]] bool emitNewArrayObjectResult(uint32_t arrayLength, uint32_t shapeOffset, uint32_t siteOffset);\
4523
+[[nodiscard]] bool emitNewArrayObjectResult(CacheIRReader& reader) {\
4524
+  uint32_t arrayLength = reader.uint32Immediate();\
4525
+  uint32_t shapeOffset = reader.stubOffset();\
4526
+  uint32_t siteOffset = reader.stubOffset();\
4527
+  return emitNewArrayObjectResult(arrayLength, shapeOffset, siteOffset);\
4528
+}\
4529
+\
4530
+[[nodiscard]] bool emitCallStringObjectConcatResult(ValOperandId lhsId, ValOperandId rhsId);\
4531
+[[nodiscard]] bool emitCallStringObjectConcatResult(CacheIRReader& reader) {\
4532
+  ValOperandId lhsId = reader.valOperandId();\
4533
+  ValOperandId rhsId = reader.valOperandId();\
4534
+  return emitCallStringObjectConcatResult(lhsId, rhsId);\
4535
+}\
4536
+\
4537
+[[nodiscard]] bool emitCompareStringResult(JSOp op, StringOperandId lhsId, StringOperandId rhsId);\
4538
+[[nodiscard]] bool emitCompareStringResult(CacheIRReader& reader) {\
4539
+  JSOp op = reader.jsop();\
4540
+  StringOperandId lhsId = reader.stringOperandId();\
4541
+  StringOperandId rhsId = reader.stringOperandId();\
4542
+  return emitCompareStringResult(op, lhsId, rhsId);\
4543
+}\
4544
+\
4545
+[[nodiscard]] bool emitSameValueResult(ValOperandId lhsId, ValOperandId rhsId);\
4546
+[[nodiscard]] bool emitSameValueResult(CacheIRReader& reader) {\
4547
+  ValOperandId lhsId = reader.valOperandId();\
4548
+  ValOperandId rhsId = reader.valOperandId();\
4549
+  return emitSameValueResult(lhsId, rhsId);\
4550
+}\
4551
+
4552
+
4553
+#define CACHE_IR_TRANSPILER_GENERATED \
4554
+[[nodiscard]] bool emitReturnFromIC();\
4555
+[[nodiscard]] bool emitReturnFromIC(CacheIRReader& reader) {\
4556
+  return emitReturnFromIC();\
4557
+}\
4558
+\
4559
+[[nodiscard]] bool emitGuardToObject(ValOperandId inputId);\
4560
+[[nodiscard]] bool emitGuardToObject(CacheIRReader& reader) {\
4561
+  ValOperandId inputId = reader.valOperandId();\
4562
+  return emitGuardToObject(inputId);\
4563
+}\
4564
+\
4565
+[[nodiscard]] bool emitGuardIsNullOrUndefined(ValOperandId inputId);\
4566
+[[nodiscard]] bool emitGuardIsNullOrUndefined(CacheIRReader& reader) {\
4567
+  ValOperandId inputId = reader.valOperandId();\
4568
+  return emitGuardIsNullOrUndefined(inputId);\
4569
+}\
4570
+\
4571
+[[nodiscard]] bool emitGuardIsNull(ValOperandId inputId);\
4572
+[[nodiscard]] bool emitGuardIsNull(CacheIRReader& reader) {\
4573
+  ValOperandId inputId = reader.valOperandId();\
4574
+  return emitGuardIsNull(inputId);\
4575
+}\
4576
+\
4577
+[[nodiscard]] bool emitGuardIsUndefined(ValOperandId inputId);\
4578
+[[nodiscard]] bool emitGuardIsUndefined(CacheIRReader& reader) {\
4579
+  ValOperandId inputId = reader.valOperandId();\
4580
+  return emitGuardIsUndefined(inputId);\
4581
+}\
4582
+\
4583
+[[nodiscard]] bool emitGuardToBoolean(ValOperandId inputId);\
4584
+[[nodiscard]] bool emitGuardToBoolean(CacheIRReader& reader) {\
4585
+  ValOperandId inputId = reader.valOperandId();\
4586
+  return emitGuardToBoolean(inputId);\
4587
+}\
4588
+\
4589
+[[nodiscard]] bool emitGuardToString(ValOperandId inputId);\
4590
+[[nodiscard]] bool emitGuardToString(CacheIRReader& reader) {\
4591
+  ValOperandId inputId = reader.valOperandId();\
4592
+  return emitGuardToString(inputId);\
4593
+}\
4594
+\
4595
+[[nodiscard]] bool emitGuardToSymbol(ValOperandId inputId);\
4596
+[[nodiscard]] bool emitGuardToSymbol(CacheIRReader& reader) {\
4597
+  ValOperandId inputId = reader.valOperandId();\
4598
+  return emitGuardToSymbol(inputId);\
4599
+}\
4600
+\
4601
+[[nodiscard]] bool emitGuardToBigInt(ValOperandId inputId);\
4602
+[[nodiscard]] bool emitGuardToBigInt(CacheIRReader& reader) {\
4603
+  ValOperandId inputId = reader.valOperandId();\
4604
+  return emitGuardToBigInt(inputId);\
4605
+}\
4606
+\
4607
+[[nodiscard]] bool emitGuardIsNumber(ValOperandId inputId);\
4608
+[[nodiscard]] bool emitGuardIsNumber(CacheIRReader& reader) {\
4609
+  ValOperandId inputId = reader.valOperandId();\
4610
+  return emitGuardIsNumber(inputId);\
4611
+}\
4612
+\
4613
+[[nodiscard]] bool emitGuardToInt32(ValOperandId inputId);\
4614
+[[nodiscard]] bool emitGuardToInt32(CacheIRReader& reader) {\
4615
+  ValOperandId inputId = reader.valOperandId();\
4616
+  return emitGuardToInt32(inputId);\
4617
+}\
4618
+\
4619
+[[nodiscard]] bool emitGuardBooleanToInt32(ValOperandId inputId, Int32OperandId resultId);\
4620
+[[nodiscard]] bool emitGuardBooleanToInt32(CacheIRReader& reader) {\
4621
+  ValOperandId inputId = reader.valOperandId();\
4622
+  Int32OperandId resultId = reader.int32OperandId();\
4623
+  return emitGuardBooleanToInt32(inputId, resultId);\
4624
+}\
4625
+\
4626
+[[nodiscard]] bool emitGuardToInt32Index(ValOperandId inputId, Int32OperandId resultId);\
4627
+[[nodiscard]] bool emitGuardToInt32Index(CacheIRReader& reader) {\
4628
+  ValOperandId inputId = reader.valOperandId();\
4629
+  Int32OperandId resultId = reader.int32OperandId();\
4630
+  return emitGuardToInt32Index(inputId, resultId);\
4631
+}\
4632
+\
4633
+[[nodiscard]] bool emitInt32ToIntPtr(Int32OperandId inputId, IntPtrOperandId resultId);\
4634
+[[nodiscard]] bool emitInt32ToIntPtr(CacheIRReader& reader) {\
4635
+  Int32OperandId inputId = reader.int32OperandId();\
4636
+  IntPtrOperandId resultId = reader.intPtrOperandId();\
4637
+  return emitInt32ToIntPtr(inputId, resultId);\
4638
+}\
4639
+\
4640
+[[nodiscard]] bool emitGuardNumberToIntPtrIndex(NumberOperandId inputId, bool supportOOB, IntPtrOperandId resultId);\
4641
+[[nodiscard]] bool emitGuardNumberToIntPtrIndex(CacheIRReader& reader) {\
4642
+  NumberOperandId inputId = reader.numberOperandId();\
4643
+  bool supportOOB = reader.readBool();\
4644
+  IntPtrOperandId resultId = reader.intPtrOperandId();\
4645
+  return emitGuardNumberToIntPtrIndex(inputId, supportOOB, resultId);\
4646
+}\
4647
+\
4648
+[[nodiscard]] bool emitGuardToInt32ModUint32(ValOperandId inputId, Int32OperandId resultId);\
4649
+[[nodiscard]] bool emitGuardToInt32ModUint32(CacheIRReader& reader) {\
4650
+  ValOperandId inputId = reader.valOperandId();\
4651
+  Int32OperandId resultId = reader.int32OperandId();\
4652
+  return emitGuardToInt32ModUint32(inputId, resultId);\
4653
+}\
4654
+\
4655
+[[nodiscard]] bool emitGuardToUint8Clamped(ValOperandId inputId, Int32OperandId resultId);\
4656
+[[nodiscard]] bool emitGuardToUint8Clamped(CacheIRReader& reader) {\
4657
+  ValOperandId inputId = reader.valOperandId();\
4658
+  Int32OperandId resultId = reader.int32OperandId();\
4659
+  return emitGuardToUint8Clamped(inputId, resultId);\
4660
+}\
4661
+\
4662
+[[nodiscard]] bool emitGuardNonDoubleType(ValOperandId inputId, ValueType type);\
4663
+[[nodiscard]] bool emitGuardNonDoubleType(CacheIRReader& reader) {\
4664
+  ValOperandId inputId = reader.valOperandId();\
4665
+  ValueType type = reader.valueType();\
4666
+  return emitGuardNonDoubleType(inputId, type);\
4667
+}\
4668
+\
4669
+[[nodiscard]] bool emitGuardShape(ObjOperandId objId, uint32_t shapeOffset);\
4670
+[[nodiscard]] bool emitGuardShape(CacheIRReader& reader) {\
4671
+  ObjOperandId objId = reader.objOperandId();\
4672
+  uint32_t shapeOffset = reader.stubOffset();\
4673
+  return emitGuardShape(objId, shapeOffset);\
4674
+}\
4675
+\
4676
+[[nodiscard]] bool emitGuardProto(ObjOperandId objId, uint32_t protoOffset);\
4677
+[[nodiscard]] bool emitGuardProto(CacheIRReader& reader) {\
4678
+  ObjOperandId objId = reader.objOperandId();\
4679
+  uint32_t protoOffset = reader.stubOffset();\
4680
+  return emitGuardProto(objId, protoOffset);\
4681
+}\
4682
+\
4683
+[[nodiscard]] bool emitGuardNullProto(ObjOperandId objId);\
4684
+[[nodiscard]] bool emitGuardNullProto(CacheIRReader& reader) {\
4685
+  ObjOperandId objId = reader.objOperandId();\
4686
+  return emitGuardNullProto(objId);\
4687
+}\
4688
+\
4689
+[[nodiscard]] bool emitGuardClass(ObjOperandId objId, GuardClassKind kind);\
4690
+[[nodiscard]] bool emitGuardClass(CacheIRReader& reader) {\
4691
+  ObjOperandId objId = reader.objOperandId();\
4692
+  GuardClassKind kind = reader.guardClassKind();\
4693
+  return emitGuardClass(objId, kind);\
4694
+}\
4695
+\
4696
+[[nodiscard]] bool emitGuardAnyClass(ObjOperandId objId, uint32_t claspOffset);\
4697
+[[nodiscard]] bool emitGuardAnyClass(CacheIRReader& reader) {\
4698
+  ObjOperandId objId = reader.objOperandId();\
4699
+  uint32_t claspOffset = reader.stubOffset();\
4700
+  return emitGuardAnyClass(objId, claspOffset);\
4701
+}\
4702
+\
4703
+[[nodiscard]] bool emitHasClassResult(ObjOperandId objId, uint32_t claspOffset);\
4704
+[[nodiscard]] bool emitHasClassResult(CacheIRReader& reader) {\
4705
+  ObjOperandId objId = reader.objOperandId();\
4706
+  uint32_t claspOffset = reader.stubOffset();\
4707
+  return emitHasClassResult(objId, claspOffset);\
4708
+}\
4709
+\
4710
+[[nodiscard]] bool emitCallRegExpMatcherResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
4711
+[[nodiscard]] bool emitCallRegExpMatcherResult(CacheIRReader& reader) {\
4712
+  ObjOperandId regexpId = reader.objOperandId();\
4713
+  StringOperandId inputId = reader.stringOperandId();\
4714
+  Int32OperandId lastIndexId = reader.int32OperandId();\
4715
+  return emitCallRegExpMatcherResult(regexpId, inputId, lastIndexId);\
4716
+}\
4717
+\
4718
+[[nodiscard]] bool emitCallRegExpSearcherResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
4719
+[[nodiscard]] bool emitCallRegExpSearcherResult(CacheIRReader& reader) {\
4720
+  ObjOperandId regexpId = reader.objOperandId();\
4721
+  StringOperandId inputId = reader.stringOperandId();\
4722
+  Int32OperandId lastIndexId = reader.int32OperandId();\
4723
+  return emitCallRegExpSearcherResult(regexpId, inputId, lastIndexId);\
4724
+}\
4725
+\
4726
+[[nodiscard]] bool emitCallRegExpTesterResult(ObjOperandId regexpId, StringOperandId inputId, Int32OperandId lastIndexId);\
4727
+[[nodiscard]] bool emitCallRegExpTesterResult(CacheIRReader& reader) {\
4728
+  ObjOperandId regexpId = reader.objOperandId();\
4729
+  StringOperandId inputId = reader.stringOperandId();\
4730
+  Int32OperandId lastIndexId = reader.int32OperandId();\
4731
+  return emitCallRegExpTesterResult(regexpId, inputId, lastIndexId);\
4732
+}\
4733
+\
4734
+[[nodiscard]] bool emitRegExpFlagResult(ObjOperandId regexpId, int32_t flagsMask);\
4735
+[[nodiscard]] bool emitRegExpFlagResult(CacheIRReader& reader) {\
4736
+  ObjOperandId regexpId = reader.objOperandId();\
4737
+  int32_t flagsMask = reader.int32Immediate();\
4738
+  return emitRegExpFlagResult(regexpId, flagsMask);\
4739
+}\
4740
+\
4741
+[[nodiscard]] bool emitCallSubstringKernelResult(StringOperandId strId, Int32OperandId beginId, Int32OperandId lengthId);\
4742
+[[nodiscard]] bool emitCallSubstringKernelResult(CacheIRReader& reader) {\
4743
+  StringOperandId strId = reader.stringOperandId();\
4744
+  Int32OperandId beginId = reader.int32OperandId();\
4745
+  Int32OperandId lengthId = reader.int32OperandId();\
4746
+  return emitCallSubstringKernelResult(strId, beginId, lengthId);\
4747
+}\
4748
+\
4749
+[[nodiscard]] bool emitStringReplaceStringResult(StringOperandId strId, StringOperandId patternId, StringOperandId replacementId);\
4750
+[[nodiscard]] bool emitStringReplaceStringResult(CacheIRReader& reader) {\
4751
+  StringOperandId strId = reader.stringOperandId();\
4752
+  StringOperandId patternId = reader.stringOperandId();\
4753
+  StringOperandId replacementId = reader.stringOperandId();\
4754
+  return emitStringReplaceStringResult(strId, patternId, replacementId);\
4755
+}\
4756
+\
4757
+[[nodiscard]] bool emitStringSplitStringResult(StringOperandId strId, StringOperandId separatorId);\
4758
+[[nodiscard]] bool emitStringSplitStringResult(CacheIRReader& reader) {\
4759
+  StringOperandId strId = reader.stringOperandId();\
4760
+  StringOperandId separatorId = reader.stringOperandId();\
4761
+  return emitStringSplitStringResult(strId, separatorId);\
4762
+}\
4763
+\
4764
+[[nodiscard]] bool emitRegExpPrototypeOptimizableResult(ObjOperandId protoId);\
4765
+[[nodiscard]] bool emitRegExpPrototypeOptimizableResult(CacheIRReader& reader) {\
4766
+  ObjOperandId protoId = reader.objOperandId();\
4767
+  return emitRegExpPrototypeOptimizableResult(protoId);\
4768
+}\
4769
+\
4770
+[[nodiscard]] bool emitRegExpInstanceOptimizableResult(ObjOperandId regexpId, ObjOperandId protoId);\
4771
+[[nodiscard]] bool emitRegExpInstanceOptimizableResult(CacheIRReader& reader) {\
4772
+  ObjOperandId regexpId = reader.objOperandId();\
4773
+  ObjOperandId protoId = reader.objOperandId();\
4774
+  return emitRegExpInstanceOptimizableResult(regexpId, protoId);\
4775
+}\
4776
+\
4777
+[[nodiscard]] bool emitGetFirstDollarIndexResult(StringOperandId strId);\
4778
+[[nodiscard]] bool emitGetFirstDollarIndexResult(CacheIRReader& reader) {\
4779
+  StringOperandId strId = reader.stringOperandId();\
4780
+  return emitGetFirstDollarIndexResult(strId);\
4781
+}\
4782
+\
4783
+[[nodiscard]] bool emitGuardIsExtensible(ObjOperandId objId);\
4784
+[[nodiscard]] bool emitGuardIsExtensible(CacheIRReader& reader) {\
4785
+  ObjOperandId objId = reader.objOperandId();\
4786
+  return emitGuardIsExtensible(objId);\
4787
+}\
4788
+\
4789
+[[nodiscard]] bool emitGuardIsNativeObject(ObjOperandId objId);\
4790
+[[nodiscard]] bool emitGuardIsNativeObject(CacheIRReader& reader) {\
4791
+  ObjOperandId objId = reader.objOperandId();\
4792
+  return emitGuardIsNativeObject(objId);\
4793
+}\
4794
+\
4795
+[[nodiscard]] bool emitGuardIsProxy(ObjOperandId objId);\
4796
+[[nodiscard]] bool emitGuardIsProxy(CacheIRReader& reader) {\
4797
+  ObjOperandId objId = reader.objOperandId();\
4798
+  return emitGuardIsProxy(objId);\
4799
+}\
4800
+\
4801
+[[nodiscard]] bool emitGuardIsNotProxy(ObjOperandId objId);\
4802
+[[nodiscard]] bool emitGuardIsNotProxy(CacheIRReader& reader) {\
4803
+  ObjOperandId objId = reader.objOperandId();\
4804
+  return emitGuardIsNotProxy(objId);\
4805
+}\
4806
+\
4807
+[[nodiscard]] bool emitGuardIsNotArrayBufferMaybeShared(ObjOperandId objId);\
4808
+[[nodiscard]] bool emitGuardIsNotArrayBufferMaybeShared(CacheIRReader& reader) {\
4809
+  ObjOperandId objId = reader.objOperandId();\
4810
+  return emitGuardIsNotArrayBufferMaybeShared(objId);\
4811
+}\
4812
+\
4813
+[[nodiscard]] bool emitGuardIsTypedArray(ObjOperandId objId);\
4814
+[[nodiscard]] bool emitGuardIsTypedArray(CacheIRReader& reader) {\
4815
+  ObjOperandId objId = reader.objOperandId();\
4816
+  return emitGuardIsTypedArray(objId);\
4817
+}\
4818
+\
4819
+[[nodiscard]] bool emitGuardIsNotDOMProxy(ObjOperandId objId);\
4820
+[[nodiscard]] bool emitGuardIsNotDOMProxy(CacheIRReader& reader) {\
4821
+  ObjOperandId objId = reader.objOperandId();\
4822
+  return emitGuardIsNotDOMProxy(objId);\
4823
+}\
4824
+\
4825
+[[nodiscard]] bool emitGuardSpecificObject(ObjOperandId objId, uint32_t expectedOffset);\
4826
+[[nodiscard]] bool emitGuardSpecificObject(CacheIRReader& reader) {\
4827
+  ObjOperandId objId = reader.objOperandId();\
4828
+  uint32_t expectedOffset = reader.stubOffset();\
4829
+  return emitGuardSpecificObject(objId, expectedOffset);\
4830
+}\
4831
+\
4832
+[[nodiscard]] bool emitGuardSpecificFunction(ObjOperandId funId, uint32_t expectedOffset, uint32_t nargsAndFlagsOffset);\
4833
+[[nodiscard]] bool emitGuardSpecificFunction(CacheIRReader& reader) {\
4834
+  ObjOperandId funId = reader.objOperandId();\
4835
+  uint32_t expectedOffset = reader.stubOffset();\
4836
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4837
+  return emitGuardSpecificFunction(funId, expectedOffset, nargsAndFlagsOffset);\
4838
+}\
4839
+\
4840
+[[nodiscard]] bool emitGuardFunctionScript(ObjOperandId objId, uint32_t expectedOffset, uint32_t nargsAndFlagsOffset);\
4841
+[[nodiscard]] bool emitGuardFunctionScript(CacheIRReader& reader) {\
4842
+  ObjOperandId objId = reader.objOperandId();\
4843
+  uint32_t expectedOffset = reader.stubOffset();\
4844
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
4845
+  return emitGuardFunctionScript(objId, expectedOffset, nargsAndFlagsOffset);\
4846
+}\
4847
+\
4848
+[[nodiscard]] bool emitGuardSpecificAtom(StringOperandId strId, uint32_t expectedOffset);\
4849
+[[nodiscard]] bool emitGuardSpecificAtom(CacheIRReader& reader) {\
4850
+  StringOperandId strId = reader.stringOperandId();\
4851
+  uint32_t expectedOffset = reader.stubOffset();\
4852
+  return emitGuardSpecificAtom(strId, expectedOffset);\
4853
+}\
4854
+\
4855
+[[nodiscard]] bool emitGuardSpecificSymbol(SymbolOperandId symId, uint32_t expectedOffset);\
4856
+[[nodiscard]] bool emitGuardSpecificSymbol(CacheIRReader& reader) {\
4857
+  SymbolOperandId symId = reader.symbolOperandId();\
4858
+  uint32_t expectedOffset = reader.stubOffset();\
4859
+  return emitGuardSpecificSymbol(symId, expectedOffset);\
4860
+}\
4861
+\
4862
+[[nodiscard]] bool emitGuardNoDenseElements(ObjOperandId objId);\
4863
+[[nodiscard]] bool emitGuardNoDenseElements(CacheIRReader& reader) {\
4864
+  ObjOperandId objId = reader.objOperandId();\
4865
+  return emitGuardNoDenseElements(objId);\
4866
+}\
4867
+\
4868
+[[nodiscard]] bool emitGuardStringToIndex(StringOperandId strId, Int32OperandId resultId);\
4869
+[[nodiscard]] bool emitGuardStringToIndex(CacheIRReader& reader) {\
4870
+  StringOperandId strId = reader.stringOperandId();\
4871
+  Int32OperandId resultId = reader.int32OperandId();\
4872
+  return emitGuardStringToIndex(strId, resultId);\
4873
+}\
4874
+\
4875
+[[nodiscard]] bool emitGuardStringToInt32(StringOperandId strId, Int32OperandId resultId);\
4876
+[[nodiscard]] bool emitGuardStringToInt32(CacheIRReader& reader) {\
4877
+  StringOperandId strId = reader.stringOperandId();\
4878
+  Int32OperandId resultId = reader.int32OperandId();\
4879
+  return emitGuardStringToInt32(strId, resultId);\
4880
+}\
4881
+\
4882
+[[nodiscard]] bool emitGuardStringToNumber(StringOperandId strId, NumberOperandId resultId);\
4883
+[[nodiscard]] bool emitGuardStringToNumber(CacheIRReader& reader) {\
4884
+  StringOperandId strId = reader.stringOperandId();\
4885
+  NumberOperandId resultId = reader.numberOperandId();\
4886
+  return emitGuardStringToNumber(strId, resultId);\
4887
+}\
4888
+\
4889
+[[nodiscard]] bool emitBooleanToNumber(BooleanOperandId booleanId, NumberOperandId resultId);\
4890
+[[nodiscard]] bool emitBooleanToNumber(CacheIRReader& reader) {\
4891
+  BooleanOperandId booleanId = reader.booleanOperandId();\
4892
+  NumberOperandId resultId = reader.numberOperandId();\
4893
+  return emitBooleanToNumber(booleanId, resultId);\
4894
+}\
4895
+\
4896
+[[nodiscard]] bool emitGuardHasGetterSetter(ObjOperandId objId, uint32_t idOffset, uint32_t getterSetterOffset);\
4897
+[[nodiscard]] bool emitGuardHasGetterSetter(CacheIRReader& reader) {\
4898
+  ObjOperandId objId = reader.objOperandId();\
4899
+  uint32_t idOffset = reader.stubOffset();\
4900
+  uint32_t getterSetterOffset = reader.stubOffset();\
4901
+  return emitGuardHasGetterSetter(objId, idOffset, getterSetterOffset);\
4902
+}\
4903
+\
4904
+[[nodiscard]] bool emitGuardInt32IsNonNegative(Int32OperandId indexId);\
4905
+[[nodiscard]] bool emitGuardInt32IsNonNegative(CacheIRReader& reader) {\
4906
+  Int32OperandId indexId = reader.int32OperandId();\
4907
+  return emitGuardInt32IsNonNegative(indexId);\
4908
+}\
4909
+\
4910
+[[nodiscard]] bool emitGuardIndexIsValidUpdateOrAdd(ObjOperandId objId, Int32OperandId indexId);\
4911
+[[nodiscard]] bool emitGuardIndexIsValidUpdateOrAdd(CacheIRReader& reader) {\
4912
+  ObjOperandId objId = reader.objOperandId();\
4913
+  Int32OperandId indexId = reader.int32OperandId();\
4914
+  return emitGuardIndexIsValidUpdateOrAdd(objId, indexId);\
4915
+}\
4916
+\
4917
+[[nodiscard]] bool emitGuardIndexGreaterThanDenseInitLength(ObjOperandId objId, Int32OperandId indexId);\
4918
+[[nodiscard]] bool emitGuardIndexGreaterThanDenseInitLength(CacheIRReader& reader) {\
4919
+  ObjOperandId objId = reader.objOperandId();\
4920
+  Int32OperandId indexId = reader.int32OperandId();\
4921
+  return emitGuardIndexGreaterThanDenseInitLength(objId, indexId);\
4922
+}\
4923
+\
4924
+[[nodiscard]] bool emitGuardTagNotEqual(ValueTagOperandId lhsId, ValueTagOperandId rhsId);\
4925
+[[nodiscard]] bool emitGuardTagNotEqual(CacheIRReader& reader) {\
4926
+  ValueTagOperandId lhsId = reader.valueTagOperandId();\
4927
+  ValueTagOperandId rhsId = reader.valueTagOperandId();\
4928
+  return emitGuardTagNotEqual(lhsId, rhsId);\
4929
+}\
4930
+\
4931
+[[nodiscard]] bool emitGuardDynamicSlotIsSpecificObject(ObjOperandId objId, ObjOperandId expectedId, uint32_t slotOffset);\
4932
+[[nodiscard]] bool emitGuardDynamicSlotIsSpecificObject(CacheIRReader& reader) {\
4933
+  ObjOperandId objId = reader.objOperandId();\
4934
+  ObjOperandId expectedId = reader.objOperandId();\
4935
+  uint32_t slotOffset = reader.stubOffset();\
4936
+  return emitGuardDynamicSlotIsSpecificObject(objId, expectedId, slotOffset);\
4937
+}\
4938
+\
4939
+[[nodiscard]] bool emitGuardFixedSlotValue(ObjOperandId objId, uint32_t offsetOffset, uint32_t valOffset);\
4940
+[[nodiscard]] bool emitGuardFixedSlotValue(CacheIRReader& reader) {\
4941
+  ObjOperandId objId = reader.objOperandId();\
4942
+  uint32_t offsetOffset = reader.stubOffset();\
4943
+  uint32_t valOffset = reader.stubOffset();\
4944
+  return emitGuardFixedSlotValue(objId, offsetOffset, valOffset);\
4945
+}\
4946
+\
4947
+[[nodiscard]] bool emitGuardDynamicSlotValue(ObjOperandId objId, uint32_t offsetOffset, uint32_t valOffset);\
4948
+[[nodiscard]] bool emitGuardDynamicSlotValue(CacheIRReader& reader) {\
4949
+  ObjOperandId objId = reader.objOperandId();\
4950
+  uint32_t offsetOffset = reader.stubOffset();\
4951
+  uint32_t valOffset = reader.stubOffset();\
4952
+  return emitGuardDynamicSlotValue(objId, offsetOffset, valOffset);\
4953
+}\
4954
+\
4955
+[[nodiscard]] bool emitGuardNoAllocationMetadataBuilder(uint32_t builderAddrOffset);\
4956
+[[nodiscard]] bool emitGuardNoAllocationMetadataBuilder(CacheIRReader& reader) {\
4957
+  uint32_t builderAddrOffset = reader.stubOffset();\
4958
+  return emitGuardNoAllocationMetadataBuilder(builderAddrOffset);\
4959
+}\
4960
+\
4961
+[[nodiscard]] bool emitGuardFunctionHasJitEntry(ObjOperandId funId, bool constructing);\
4962
+[[nodiscard]] bool emitGuardFunctionHasJitEntry(CacheIRReader& reader) {\
4963
+  ObjOperandId funId = reader.objOperandId();\
4964
+  bool constructing = reader.readBool();\
4965
+  return emitGuardFunctionHasJitEntry(funId, constructing);\
4966
+}\
4967
+\
4968
+[[nodiscard]] bool emitGuardFunctionHasNoJitEntry(ObjOperandId funId);\
4969
+[[nodiscard]] bool emitGuardFunctionHasNoJitEntry(CacheIRReader& reader) {\
4970
+  ObjOperandId funId = reader.objOperandId();\
4971
+  return emitGuardFunctionHasNoJitEntry(funId);\
4972
+}\
4973
+\
4974
+[[nodiscard]] bool emitGuardFunctionIsNonBuiltinCtor(ObjOperandId funId);\
4975
+[[nodiscard]] bool emitGuardFunctionIsNonBuiltinCtor(CacheIRReader& reader) {\
4976
+  ObjOperandId funId = reader.objOperandId();\
4977
+  return emitGuardFunctionIsNonBuiltinCtor(funId);\
4978
+}\
4979
+\
4980
+[[nodiscard]] bool emitGuardFunctionIsConstructor(ObjOperandId funId);\
4981
+[[nodiscard]] bool emitGuardFunctionIsConstructor(CacheIRReader& reader) {\
4982
+  ObjOperandId funId = reader.objOperandId();\
4983
+  return emitGuardFunctionIsConstructor(funId);\
4984
+}\
4985
+\
4986
+[[nodiscard]] bool emitGuardNotClassConstructor(ObjOperandId funId);\
4987
+[[nodiscard]] bool emitGuardNotClassConstructor(CacheIRReader& reader) {\
4988
+  ObjOperandId funId = reader.objOperandId();\
4989
+  return emitGuardNotClassConstructor(funId);\
4990
+}\
4991
+\
4992
+[[nodiscard]] bool emitGuardArrayIsPacked(ObjOperandId arrayId);\
4993
+[[nodiscard]] bool emitGuardArrayIsPacked(CacheIRReader& reader) {\
4994
+  ObjOperandId arrayId = reader.objOperandId();\
4995
+  return emitGuardArrayIsPacked(arrayId);\
4996
+}\
4997
+\
4998
+[[nodiscard]] bool emitGuardArgumentsObjectFlags(ObjOperandId objId, uint8_t flags);\
4999
+[[nodiscard]] bool emitGuardArgumentsObjectFlags(CacheIRReader& reader) {\
5000
+  ObjOperandId objId = reader.objOperandId();\
5001
+  uint8_t flags = reader.readByte();\
5002
+  return emitGuardArgumentsObjectFlags(objId, flags);\
5003
+}\
5004
+\
5005
+[[nodiscard]] bool emitLoadObject(ObjOperandId resultId, uint32_t objOffset);\
5006
+[[nodiscard]] bool emitLoadObject(CacheIRReader& reader) {\
5007
+  ObjOperandId resultId = reader.objOperandId();\
5008
+  uint32_t objOffset = reader.stubOffset();\
5009
+  return emitLoadObject(resultId, objOffset);\
5010
+}\
5011
+\
5012
+[[nodiscard]] bool emitLoadProto(ObjOperandId objId, ObjOperandId resultId);\
5013
+[[nodiscard]] bool emitLoadProto(CacheIRReader& reader) {\
5014
+  ObjOperandId objId = reader.objOperandId();\
5015
+  ObjOperandId resultId = reader.objOperandId();\
5016
+  return emitLoadProto(objId, resultId);\
5017
+}\
5018
+\
5019
+[[nodiscard]] bool emitLoadEnclosingEnvironment(ObjOperandId objId, ObjOperandId resultId);\
5020
+[[nodiscard]] bool emitLoadEnclosingEnvironment(CacheIRReader& reader) {\
5021
+  ObjOperandId objId = reader.objOperandId();\
5022
+  ObjOperandId resultId = reader.objOperandId();\
5023
+  return emitLoadEnclosingEnvironment(objId, resultId);\
5024
+}\
5025
+\
5026
+[[nodiscard]] bool emitLoadWrapperTarget(ObjOperandId objId, ObjOperandId resultId);\
5027
+[[nodiscard]] bool emitLoadWrapperTarget(CacheIRReader& reader) {\
5028
+  ObjOperandId objId = reader.objOperandId();\
5029
+  ObjOperandId resultId = reader.objOperandId();\
5030
+  return emitLoadWrapperTarget(objId, resultId);\
5031
+}\
5032
+\
5033
+[[nodiscard]] bool emitLoadValueTag(ValOperandId valId, ValueTagOperandId resultId);\
5034
+[[nodiscard]] bool emitLoadValueTag(CacheIRReader& reader) {\
5035
+  ValOperandId valId = reader.valOperandId();\
5036
+  ValueTagOperandId resultId = reader.valueTagOperandId();\
5037
+  return emitLoadValueTag(valId, resultId);\
5038
+}\
5039
+\
5040
+[[nodiscard]] bool emitLoadArgumentFixedSlot(ValOperandId resultId, uint8_t slotIndex);\
5041
+[[nodiscard]] bool emitLoadArgumentFixedSlot(CacheIRReader& reader) {\
5042
+  ValOperandId resultId = reader.valOperandId();\
5043
+  uint8_t slotIndex = reader.readByte();\
5044
+  return emitLoadArgumentFixedSlot(resultId, slotIndex);\
5045
+}\
5046
+\
5047
+[[nodiscard]] bool emitLoadArgumentDynamicSlot(ValOperandId resultId, Int32OperandId argcId, uint8_t slotIndex);\
5048
+[[nodiscard]] bool emitLoadArgumentDynamicSlot(CacheIRReader& reader) {\
5049
+  ValOperandId resultId = reader.valOperandId();\
5050
+  Int32OperandId argcId = reader.int32OperandId();\
5051
+  uint8_t slotIndex = reader.readByte();\
5052
+  return emitLoadArgumentDynamicSlot(resultId, argcId, slotIndex);\
5053
+}\
5054
+\
5055
+[[nodiscard]] bool emitTruncateDoubleToUInt32(NumberOperandId inputId, Int32OperandId resultId);\
5056
+[[nodiscard]] bool emitTruncateDoubleToUInt32(CacheIRReader& reader) {\
5057
+  NumberOperandId inputId = reader.numberOperandId();\
5058
+  Int32OperandId resultId = reader.int32OperandId();\
5059
+  return emitTruncateDoubleToUInt32(inputId, resultId);\
5060
+}\
5061
+\
5062
+[[nodiscard]] bool emitMegamorphicLoadSlotResult(ObjOperandId objId, uint32_t nameOffset);\
5063
+[[nodiscard]] bool emitMegamorphicLoadSlotResult(CacheIRReader& reader) {\
5064
+  ObjOperandId objId = reader.objOperandId();\
5065
+  uint32_t nameOffset = reader.stubOffset();\
5066
+  return emitMegamorphicLoadSlotResult(objId, nameOffset);\
5067
+}\
5068
+\
5069
+[[nodiscard]] bool emitMegamorphicLoadSlotByValueResult(ObjOperandId objId, ValOperandId idId);\
5070
+[[nodiscard]] bool emitMegamorphicLoadSlotByValueResult(CacheIRReader& reader) {\
5071
+  ObjOperandId objId = reader.objOperandId();\
5072
+  ValOperandId idId = reader.valOperandId();\
5073
+  return emitMegamorphicLoadSlotByValueResult(objId, idId);\
5074
+}\
5075
+\
5076
+[[nodiscard]] bool emitMegamorphicStoreSlot(ObjOperandId objId, uint32_t nameOffset, ValOperandId rhsId);\
5077
+[[nodiscard]] bool emitMegamorphicStoreSlot(CacheIRReader& reader) {\
5078
+  ObjOperandId objId = reader.objOperandId();\
5079
+  uint32_t nameOffset = reader.stubOffset();\
5080
+  ValOperandId rhsId = reader.valOperandId();\
5081
+  return emitMegamorphicStoreSlot(objId, nameOffset, rhsId);\
5082
+}\
5083
+\
5084
+[[nodiscard]] bool emitMegamorphicSetElement(ObjOperandId objId, ValOperandId idId, ValOperandId rhsId, bool strict);\
5085
+[[nodiscard]] bool emitMegamorphicSetElement(CacheIRReader& reader) {\
5086
+  ObjOperandId objId = reader.objOperandId();\
5087
+  ValOperandId idId = reader.valOperandId();\
5088
+  ValOperandId rhsId = reader.valOperandId();\
5089
+  bool strict = reader.readBool();\
5090
+  return emitMegamorphicSetElement(objId, idId, rhsId, strict);\
5091
+}\
5092
+\
5093
+[[nodiscard]] bool emitMegamorphicHasPropResult(ObjOperandId objId, ValOperandId idId, bool hasOwn);\
5094
+[[nodiscard]] bool emitMegamorphicHasPropResult(CacheIRReader& reader) {\
5095
+  ObjOperandId objId = reader.objOperandId();\
5096
+  ValOperandId idId = reader.valOperandId();\
5097
+  bool hasOwn = reader.readBool();\
5098
+  return emitMegamorphicHasPropResult(objId, idId, hasOwn);\
5099
+}\
5100
+\
5101
+[[nodiscard]] bool emitLoadDOMExpandoValue(ObjOperandId objId, ValOperandId resultId);\
5102
+[[nodiscard]] bool emitLoadDOMExpandoValue(CacheIRReader& reader) {\
5103
+  ObjOperandId objId = reader.objOperandId();\
5104
+  ValOperandId resultId = reader.valOperandId();\
5105
+  return emitLoadDOMExpandoValue(objId, resultId);\
5106
+}\
5107
+\
5108
+[[nodiscard]] bool emitLoadDOMExpandoValueGuardGeneration(ObjOperandId objId, uint32_t expandoAndGenerationOffset, uint32_t generationOffset, ValOperandId resultId);\
5109
+[[nodiscard]] bool emitLoadDOMExpandoValueGuardGeneration(CacheIRReader& reader) {\
5110
+  ObjOperandId objId = reader.objOperandId();\
5111
+  uint32_t expandoAndGenerationOffset = reader.stubOffset();\
5112
+  uint32_t generationOffset = reader.stubOffset();\
5113
+  ValOperandId resultId = reader.valOperandId();\
5114
+  return emitLoadDOMExpandoValueGuardGeneration(objId, expandoAndGenerationOffset, generationOffset, resultId);\
5115
+}\
5116
+\
5117
+[[nodiscard]] bool emitLoadDOMExpandoValueIgnoreGeneration(ObjOperandId objId, ValOperandId resultId);\
5118
+[[nodiscard]] bool emitLoadDOMExpandoValueIgnoreGeneration(CacheIRReader& reader) {\
5119
+  ObjOperandId objId = reader.objOperandId();\
5120
+  ValOperandId resultId = reader.valOperandId();\
5121
+  return emitLoadDOMExpandoValueIgnoreGeneration(objId, resultId);\
5122
+}\
5123
+\
5124
+[[nodiscard]] bool emitGuardDOMExpandoMissingOrGuardShape(ValOperandId expandoId, uint32_t shapeOffset);\
5125
+[[nodiscard]] bool emitGuardDOMExpandoMissingOrGuardShape(CacheIRReader& reader) {\
5126
+  ValOperandId expandoId = reader.valOperandId();\
5127
+  uint32_t shapeOffset = reader.stubOffset();\
5128
+  return emitGuardDOMExpandoMissingOrGuardShape(expandoId, shapeOffset);\
5129
+}\
5130
+\
5131
+[[nodiscard]] bool emitStoreFixedSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
5132
+[[nodiscard]] bool emitStoreFixedSlot(CacheIRReader& reader) {\
5133
+  ObjOperandId objId = reader.objOperandId();\
5134
+  uint32_t offsetOffset = reader.stubOffset();\
5135
+  ValOperandId rhsId = reader.valOperandId();\
5136
+  return emitStoreFixedSlot(objId, offsetOffset, rhsId);\
5137
+}\
5138
+\
5139
+[[nodiscard]] bool emitStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
5140
+[[nodiscard]] bool emitStoreDynamicSlot(CacheIRReader& reader) {\
5141
+  ObjOperandId objId = reader.objOperandId();\
5142
+  uint32_t offsetOffset = reader.stubOffset();\
5143
+  ValOperandId rhsId = reader.valOperandId();\
5144
+  return emitStoreDynamicSlot(objId, offsetOffset, rhsId);\
5145
+}\
5146
+\
5147
+[[nodiscard]] bool emitAddAndStoreFixedSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset);\
5148
+[[nodiscard]] bool emitAddAndStoreFixedSlot(CacheIRReader& reader) {\
5149
+  ObjOperandId objId = reader.objOperandId();\
5150
+  uint32_t offsetOffset = reader.stubOffset();\
5151
+  ValOperandId rhsId = reader.valOperandId();\
5152
+  uint32_t newShapeOffset = reader.stubOffset();\
5153
+  return emitAddAndStoreFixedSlot(objId, offsetOffset, rhsId, newShapeOffset);\
5154
+}\
5155
+\
5156
+[[nodiscard]] bool emitAddAndStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset);\
5157
+[[nodiscard]] bool emitAddAndStoreDynamicSlot(CacheIRReader& reader) {\
5158
+  ObjOperandId objId = reader.objOperandId();\
5159
+  uint32_t offsetOffset = reader.stubOffset();\
5160
+  ValOperandId rhsId = reader.valOperandId();\
5161
+  uint32_t newShapeOffset = reader.stubOffset();\
5162
+  return emitAddAndStoreDynamicSlot(objId, offsetOffset, rhsId, newShapeOffset);\
5163
+}\
5164
+\
5165
+[[nodiscard]] bool emitAllocateAndStoreDynamicSlot(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId, uint32_t newShapeOffset, uint32_t numNewSlotsOffset);\
5166
+[[nodiscard]] bool emitAllocateAndStoreDynamicSlot(CacheIRReader& reader) {\
5167
+  ObjOperandId objId = reader.objOperandId();\
5168
+  uint32_t offsetOffset = reader.stubOffset();\
5169
+  ValOperandId rhsId = reader.valOperandId();\
5170
+  uint32_t newShapeOffset = reader.stubOffset();\
5171
+  uint32_t numNewSlotsOffset = reader.stubOffset();\
5172
+  return emitAllocateAndStoreDynamicSlot(objId, offsetOffset, rhsId, newShapeOffset, numNewSlotsOffset);\
5173
+}\
5174
+\
5175
+[[nodiscard]] bool emitStoreDenseElement(ObjOperandId objId, Int32OperandId indexId, ValOperandId rhsId);\
5176
+[[nodiscard]] bool emitStoreDenseElement(CacheIRReader& reader) {\
5177
+  ObjOperandId objId = reader.objOperandId();\
5178
+  Int32OperandId indexId = reader.int32OperandId();\
5179
+  ValOperandId rhsId = reader.valOperandId();\
5180
+  return emitStoreDenseElement(objId, indexId, rhsId);\
5181
+}\
5182
+\
5183
+[[nodiscard]] bool emitStoreDenseElementHole(ObjOperandId objId, Int32OperandId indexId, ValOperandId rhsId, bool handleAdd);\
5184
+[[nodiscard]] bool emitStoreDenseElementHole(CacheIRReader& reader) {\
5185
+  ObjOperandId objId = reader.objOperandId();\
5186
+  Int32OperandId indexId = reader.int32OperandId();\
5187
+  ValOperandId rhsId = reader.valOperandId();\
5188
+  bool handleAdd = reader.readBool();\
5189
+  return emitStoreDenseElementHole(objId, indexId, rhsId, handleAdd);\
5190
+}\
5191
+\
5192
+[[nodiscard]] bool emitArrayPush(ObjOperandId objId, ValOperandId rhsId);\
5193
+[[nodiscard]] bool emitArrayPush(CacheIRReader& reader) {\
5194
+  ObjOperandId objId = reader.objOperandId();\
5195
+  ValOperandId rhsId = reader.valOperandId();\
5196
+  return emitArrayPush(objId, rhsId);\
5197
+}\
5198
+\
5199
+[[nodiscard]] bool emitArrayJoinResult(ObjOperandId objId, StringOperandId sepId);\
5200
+[[nodiscard]] bool emitArrayJoinResult(CacheIRReader& reader) {\
5201
+  ObjOperandId objId = reader.objOperandId();\
5202
+  StringOperandId sepId = reader.stringOperandId();\
5203
+  return emitArrayJoinResult(objId, sepId);\
5204
+}\
5205
+\
5206
+[[nodiscard]] bool emitPackedArrayPopResult(ObjOperandId arrayId);\
5207
+[[nodiscard]] bool emitPackedArrayPopResult(CacheIRReader& reader) {\
5208
+  ObjOperandId arrayId = reader.objOperandId();\
5209
+  return emitPackedArrayPopResult(arrayId);\
5210
+}\
5211
+\
5212
+[[nodiscard]] bool emitPackedArrayShiftResult(ObjOperandId arrayId);\
5213
+[[nodiscard]] bool emitPackedArrayShiftResult(CacheIRReader& reader) {\
5214
+  ObjOperandId arrayId = reader.objOperandId();\
5215
+  return emitPackedArrayShiftResult(arrayId);\
5216
+}\
5217
+\
5218
+[[nodiscard]] bool emitPackedArraySliceResult(uint32_t templateObjectOffset, ObjOperandId arrayId, Int32OperandId beginId, Int32OperandId endId);\
5219
+[[nodiscard]] bool emitPackedArraySliceResult(CacheIRReader& reader) {\
5220
+  uint32_t templateObjectOffset = reader.stubOffset();\
5221
+  ObjOperandId arrayId = reader.objOperandId();\
5222
+  Int32OperandId beginId = reader.int32OperandId();\
5223
+  Int32OperandId endId = reader.int32OperandId();\
5224
+  return emitPackedArraySliceResult(templateObjectOffset, arrayId, beginId, endId);\
5225
+}\
5226
+\
5227
+[[nodiscard]] bool emitIsArrayResult(ValOperandId inputId);\
5228
+[[nodiscard]] bool emitIsArrayResult(CacheIRReader& reader) {\
5229
+  ValOperandId inputId = reader.valOperandId();\
5230
+  return emitIsArrayResult(inputId);\
5231
+}\
5232
+\
5233
+[[nodiscard]] bool emitStoreFixedSlotUndefinedResult(ObjOperandId objId, uint32_t offsetOffset, ValOperandId rhsId);\
5234
+[[nodiscard]] bool emitStoreFixedSlotUndefinedResult(CacheIRReader& reader) {\
5235
+  ObjOperandId objId = reader.objOperandId();\
5236
+  uint32_t offsetOffset = reader.stubOffset();\
5237
+  ValOperandId rhsId = reader.valOperandId();\
5238
+  return emitStoreFixedSlotUndefinedResult(objId, offsetOffset, rhsId);\
5239
+}\
5240
+\
5241
+[[nodiscard]] bool emitIsObjectResult(ValOperandId inputId);\
5242
+[[nodiscard]] bool emitIsObjectResult(CacheIRReader& reader) {\
5243
+  ValOperandId inputId = reader.valOperandId();\
5244
+  return emitIsObjectResult(inputId);\
5245
+}\
5246
+\
5247
+[[nodiscard]] bool emitIsPackedArrayResult(ObjOperandId objId);\
5248
+[[nodiscard]] bool emitIsPackedArrayResult(CacheIRReader& reader) {\
5249
+  ObjOperandId objId = reader.objOperandId();\
5250
+  return emitIsPackedArrayResult(objId);\
5251
+}\
5252
+\
5253
+[[nodiscard]] bool emitIsCallableResult(ValOperandId inputId);\
5254
+[[nodiscard]] bool emitIsCallableResult(CacheIRReader& reader) {\
5255
+  ValOperandId inputId = reader.valOperandId();\
5256
+  return emitIsCallableResult(inputId);\
5257
+}\
5258
+\
5259
+[[nodiscard]] bool emitIsConstructorResult(ObjOperandId objId);\
5260
+[[nodiscard]] bool emitIsConstructorResult(CacheIRReader& reader) {\
5261
+  ObjOperandId objId = reader.objOperandId();\
5262
+  return emitIsConstructorResult(objId);\
5263
+}\
5264
+\
5265
+[[nodiscard]] bool emitIsCrossRealmArrayConstructorResult(ObjOperandId objId);\
5266
+[[nodiscard]] bool emitIsCrossRealmArrayConstructorResult(CacheIRReader& reader) {\
5267
+  ObjOperandId objId = reader.objOperandId();\
5268
+  return emitIsCrossRealmArrayConstructorResult(objId);\
5269
+}\
5270
+\
5271
+[[nodiscard]] bool emitIsTypedArrayResult(ObjOperandId objId, bool isPossiblyWrapped);\
5272
+[[nodiscard]] bool emitIsTypedArrayResult(CacheIRReader& reader) {\
5273
+  ObjOperandId objId = reader.objOperandId();\
5274
+  bool isPossiblyWrapped = reader.readBool();\
5275
+  return emitIsTypedArrayResult(objId, isPossiblyWrapped);\
5276
+}\
5277
+\
5278
+[[nodiscard]] bool emitIsTypedArrayConstructorResult(ObjOperandId objId);\
5279
+[[nodiscard]] bool emitIsTypedArrayConstructorResult(CacheIRReader& reader) {\
5280
+  ObjOperandId objId = reader.objOperandId();\
5281
+  return emitIsTypedArrayConstructorResult(objId);\
5282
+}\
5283
+\
5284
+[[nodiscard]] bool emitArrayBufferViewByteOffsetInt32Result(ObjOperandId objId);\
5285
+[[nodiscard]] bool emitArrayBufferViewByteOffsetInt32Result(CacheIRReader& reader) {\
5286
+  ObjOperandId objId = reader.objOperandId();\
5287
+  return emitArrayBufferViewByteOffsetInt32Result(objId);\
5288
+}\
5289
+\
5290
+[[nodiscard]] bool emitArrayBufferViewByteOffsetDoubleResult(ObjOperandId objId);\
5291
+[[nodiscard]] bool emitArrayBufferViewByteOffsetDoubleResult(CacheIRReader& reader) {\
5292
+  ObjOperandId objId = reader.objOperandId();\
5293
+  return emitArrayBufferViewByteOffsetDoubleResult(objId);\
5294
+}\
5295
+\
5296
+[[nodiscard]] bool emitTypedArrayByteLengthInt32Result(ObjOperandId objId);\
5297
+[[nodiscard]] bool emitTypedArrayByteLengthInt32Result(CacheIRReader& reader) {\
5298
+  ObjOperandId objId = reader.objOperandId();\
5299
+  return emitTypedArrayByteLengthInt32Result(objId);\
5300
+}\
5301
+\
5302
+[[nodiscard]] bool emitTypedArrayByteLengthDoubleResult(ObjOperandId objId);\
5303
+[[nodiscard]] bool emitTypedArrayByteLengthDoubleResult(CacheIRReader& reader) {\
5304
+  ObjOperandId objId = reader.objOperandId();\
5305
+  return emitTypedArrayByteLengthDoubleResult(objId);\
5306
+}\
5307
+\
5308
+[[nodiscard]] bool emitTypedArrayElementSizeResult(ObjOperandId objId);\
5309
+[[nodiscard]] bool emitTypedArrayElementSizeResult(CacheIRReader& reader) {\
5310
+  ObjOperandId objId = reader.objOperandId();\
5311
+  return emitTypedArrayElementSizeResult(objId);\
5312
+}\
5313
+\
5314
+[[nodiscard]] bool emitGuardHasAttachedArrayBuffer(ObjOperandId objId);\
5315
+[[nodiscard]] bool emitGuardHasAttachedArrayBuffer(CacheIRReader& reader) {\
5316
+  ObjOperandId objId = reader.objOperandId();\
5317
+  return emitGuardHasAttachedArrayBuffer(objId);\
5318
+}\
5319
+\
5320
+[[nodiscard]] bool emitFinishBoundFunctionInitResult(ObjOperandId boundId, ObjOperandId targetId, Int32OperandId argCountId);\
5321
+[[nodiscard]] bool emitFinishBoundFunctionInitResult(CacheIRReader& reader) {\
5322
+  ObjOperandId boundId = reader.objOperandId();\
5323
+  ObjOperandId targetId = reader.objOperandId();\
5324
+  Int32OperandId argCountId = reader.int32OperandId();\
5325
+  return emitFinishBoundFunctionInitResult(boundId, targetId, argCountId);\
5326
+}\
5327
+\
5328
+[[nodiscard]] bool emitNewArrayIteratorResult(uint32_t templateObjectOffset);\
5329
+[[nodiscard]] bool emitNewArrayIteratorResult(CacheIRReader& reader) {\
5330
+  uint32_t templateObjectOffset = reader.stubOffset();\
5331
+  return emitNewArrayIteratorResult(templateObjectOffset);\
5332
+}\
5333
+\
5334
+[[nodiscard]] bool emitNewStringIteratorResult(uint32_t templateObjectOffset);\
5335
+[[nodiscard]] bool emitNewStringIteratorResult(CacheIRReader& reader) {\
5336
+  uint32_t templateObjectOffset = reader.stubOffset();\
5337
+  return emitNewStringIteratorResult(templateObjectOffset);\
5338
+}\
5339
+\
5340
+[[nodiscard]] bool emitNewRegExpStringIteratorResult(uint32_t templateObjectOffset);\
5341
+[[nodiscard]] bool emitNewRegExpStringIteratorResult(CacheIRReader& reader) {\
5342
+  uint32_t templateObjectOffset = reader.stubOffset();\
5343
+  return emitNewRegExpStringIteratorResult(templateObjectOffset);\
5344
+}\
5345
+\
5346
+[[nodiscard]] bool emitObjectCreateResult(uint32_t templateObjectOffset);\
5347
+[[nodiscard]] bool emitObjectCreateResult(CacheIRReader& reader) {\
5348
+  uint32_t templateObjectOffset = reader.stubOffset();\
5349
+  return emitObjectCreateResult(templateObjectOffset);\
5350
+}\
5351
+\
5352
+[[nodiscard]] bool emitNewArrayFromLengthResult(uint32_t templateObjectOffset, Int32OperandId lengthId);\
5353
+[[nodiscard]] bool emitNewArrayFromLengthResult(CacheIRReader& reader) {\
5354
+  uint32_t templateObjectOffset = reader.stubOffset();\
5355
+  Int32OperandId lengthId = reader.int32OperandId();\
5356
+  return emitNewArrayFromLengthResult(templateObjectOffset, lengthId);\
5357
+}\
5358
+\
5359
+[[nodiscard]] bool emitNewTypedArrayFromLengthResult(uint32_t templateObjectOffset, Int32OperandId lengthId);\
5360
+[[nodiscard]] bool emitNewTypedArrayFromLengthResult(CacheIRReader& reader) {\
5361
+  uint32_t templateObjectOffset = reader.stubOffset();\
5362
+  Int32OperandId lengthId = reader.int32OperandId();\
5363
+  return emitNewTypedArrayFromLengthResult(templateObjectOffset, lengthId);\
5364
+}\
5365
+\
5366
+[[nodiscard]] bool emitNewTypedArrayFromArrayBufferResult(uint32_t templateObjectOffset, ObjOperandId bufferId, ValOperandId byteOffsetId, ValOperandId lengthId);\
5367
+[[nodiscard]] bool emitNewTypedArrayFromArrayBufferResult(CacheIRReader& reader) {\
5368
+  uint32_t templateObjectOffset = reader.stubOffset();\
5369
+  ObjOperandId bufferId = reader.objOperandId();\
5370
+  ValOperandId byteOffsetId = reader.valOperandId();\
5371
+  ValOperandId lengthId = reader.valOperandId();\
5372
+  return emitNewTypedArrayFromArrayBufferResult(templateObjectOffset, bufferId, byteOffsetId, lengthId);\
5373
+}\
5374
+\
5375
+[[nodiscard]] bool emitNewTypedArrayFromArrayResult(uint32_t templateObjectOffset, ObjOperandId arrayId);\
5376
+[[nodiscard]] bool emitNewTypedArrayFromArrayResult(CacheIRReader& reader) {\
5377
+  uint32_t templateObjectOffset = reader.stubOffset();\
5378
+  ObjOperandId arrayId = reader.objOperandId();\
5379
+  return emitNewTypedArrayFromArrayResult(templateObjectOffset, arrayId);\
5380
+}\
5381
+\
5382
+[[nodiscard]] bool emitNewStringObjectResult(uint32_t templateObjectOffset, StringOperandId strId);\
5383
+[[nodiscard]] bool emitNewStringObjectResult(CacheIRReader& reader) {\
5384
+  uint32_t templateObjectOffset = reader.stubOffset();\
5385
+  StringOperandId strId = reader.stringOperandId();\
5386
+  return emitNewStringObjectResult(templateObjectOffset, strId);\
5387
+}\
5388
+\
5389
+[[nodiscard]] bool emitStringFromCharCodeResult(Int32OperandId codeId);\
5390
+[[nodiscard]] bool emitStringFromCharCodeResult(CacheIRReader& reader) {\
5391
+  Int32OperandId codeId = reader.int32OperandId();\
5392
+  return emitStringFromCharCodeResult(codeId);\
5393
+}\
5394
+\
5395
+[[nodiscard]] bool emitStringFromCodePointResult(Int32OperandId codeId);\
5396
+[[nodiscard]] bool emitStringFromCodePointResult(CacheIRReader& reader) {\
5397
+  Int32OperandId codeId = reader.int32OperandId();\
5398
+  return emitStringFromCodePointResult(codeId);\
5399
+}\
5400
+\
5401
+[[nodiscard]] bool emitStringToLowerCaseResult(StringOperandId strId);\
5402
+[[nodiscard]] bool emitStringToLowerCaseResult(CacheIRReader& reader) {\
5403
+  StringOperandId strId = reader.stringOperandId();\
5404
+  return emitStringToLowerCaseResult(strId);\
5405
+}\
5406
+\
5407
+[[nodiscard]] bool emitStringToUpperCaseResult(StringOperandId strId);\
5408
+[[nodiscard]] bool emitStringToUpperCaseResult(CacheIRReader& reader) {\
5409
+  StringOperandId strId = reader.stringOperandId();\
5410
+  return emitStringToUpperCaseResult(strId);\
5411
+}\
5412
+\
5413
+[[nodiscard]] bool emitMathAbsInt32Result(Int32OperandId inputId);\
5414
+[[nodiscard]] bool emitMathAbsInt32Result(CacheIRReader& reader) {\
5415
+  Int32OperandId inputId = reader.int32OperandId();\
5416
+  return emitMathAbsInt32Result(inputId);\
5417
+}\
5418
+\
5419
+[[nodiscard]] bool emitMathAbsNumberResult(NumberOperandId inputId);\
5420
+[[nodiscard]] bool emitMathAbsNumberResult(CacheIRReader& reader) {\
5421
+  NumberOperandId inputId = reader.numberOperandId();\
5422
+  return emitMathAbsNumberResult(inputId);\
5423
+}\
5424
+\
5425
+[[nodiscard]] bool emitMathClz32Result(Int32OperandId inputId);\
5426
+[[nodiscard]] bool emitMathClz32Result(CacheIRReader& reader) {\
5427
+  Int32OperandId inputId = reader.int32OperandId();\
5428
+  return emitMathClz32Result(inputId);\
5429
+}\
5430
+\
5431
+[[nodiscard]] bool emitMathSignInt32Result(Int32OperandId inputId);\
5432
+[[nodiscard]] bool emitMathSignInt32Result(CacheIRReader& reader) {\
5433
+  Int32OperandId inputId = reader.int32OperandId();\
5434
+  return emitMathSignInt32Result(inputId);\
5435
+}\
5436
+\
5437
+[[nodiscard]] bool emitMathSignNumberResult(NumberOperandId inputId);\
5438
+[[nodiscard]] bool emitMathSignNumberResult(CacheIRReader& reader) {\
5439
+  NumberOperandId inputId = reader.numberOperandId();\
5440
+  return emitMathSignNumberResult(inputId);\
5441
+}\
5442
+\
5443
+[[nodiscard]] bool emitMathSignNumberToInt32Result(NumberOperandId inputId);\
5444
+[[nodiscard]] bool emitMathSignNumberToInt32Result(CacheIRReader& reader) {\
5445
+  NumberOperandId inputId = reader.numberOperandId();\
5446
+  return emitMathSignNumberToInt32Result(inputId);\
5447
+}\
5448
+\
5449
+[[nodiscard]] bool emitMathImulResult(Int32OperandId lhsId, Int32OperandId rhsId);\
5450
+[[nodiscard]] bool emitMathImulResult(CacheIRReader& reader) {\
5451
+  Int32OperandId lhsId = reader.int32OperandId();\
5452
+  Int32OperandId rhsId = reader.int32OperandId();\
5453
+  return emitMathImulResult(lhsId, rhsId);\
5454
+}\
5455
+\
5456
+[[nodiscard]] bool emitMathSqrtNumberResult(NumberOperandId inputId);\
5457
+[[nodiscard]] bool emitMathSqrtNumberResult(CacheIRReader& reader) {\
5458
+  NumberOperandId inputId = reader.numberOperandId();\
5459
+  return emitMathSqrtNumberResult(inputId);\
5460
+}\
5461
+\
5462
+[[nodiscard]] bool emitMathFRoundNumberResult(NumberOperandId inputId);\
5463
+[[nodiscard]] bool emitMathFRoundNumberResult(CacheIRReader& reader) {\
5464
+  NumberOperandId inputId = reader.numberOperandId();\
5465
+  return emitMathFRoundNumberResult(inputId);\
5466
+}\
5467
+\
5468
+[[nodiscard]] bool emitMathRandomResult(uint32_t rngOffset);\
5469
+[[nodiscard]] bool emitMathRandomResult(CacheIRReader& reader) {\
5470
+  uint32_t rngOffset = reader.stubOffset();\
5471
+  return emitMathRandomResult(rngOffset);\
5472
+}\
5473
+\
5474
+[[nodiscard]] bool emitMathHypot2NumberResult(NumberOperandId firstId, NumberOperandId secondId);\
5475
+[[nodiscard]] bool emitMathHypot2NumberResult(CacheIRReader& reader) {\
5476
+  NumberOperandId firstId = reader.numberOperandId();\
5477
+  NumberOperandId secondId = reader.numberOperandId();\
5478
+  return emitMathHypot2NumberResult(firstId, secondId);\
5479
+}\
5480
+\
5481
+[[nodiscard]] bool emitMathHypot3NumberResult(NumberOperandId firstId, NumberOperandId secondId, NumberOperandId thirdId);\
5482
+[[nodiscard]] bool emitMathHypot3NumberResult(CacheIRReader& reader) {\
5483
+  NumberOperandId firstId = reader.numberOperandId();\
5484
+  NumberOperandId secondId = reader.numberOperandId();\
5485
+  NumberOperandId thirdId = reader.numberOperandId();\
5486
+  return emitMathHypot3NumberResult(firstId, secondId, thirdId);\
5487
+}\
5488
+\
5489
+[[nodiscard]] bool emitMathHypot4NumberResult(NumberOperandId firstId, NumberOperandId secondId, NumberOperandId thirdId, NumberOperandId fourthId);\
5490
+[[nodiscard]] bool emitMathHypot4NumberResult(CacheIRReader& reader) {\
5491
+  NumberOperandId firstId = reader.numberOperandId();\
5492
+  NumberOperandId secondId = reader.numberOperandId();\
5493
+  NumberOperandId thirdId = reader.numberOperandId();\
5494
+  NumberOperandId fourthId = reader.numberOperandId();\
5495
+  return emitMathHypot4NumberResult(firstId, secondId, thirdId, fourthId);\
5496
+}\
5497
+\
5498
+[[nodiscard]] bool emitMathAtan2NumberResult(NumberOperandId lhsId, NumberOperandId rhsId);\
5499
+[[nodiscard]] bool emitMathAtan2NumberResult(CacheIRReader& reader) {\
5500
+  NumberOperandId lhsId = reader.numberOperandId();\
5501
+  NumberOperandId rhsId = reader.numberOperandId();\
5502
+  return emitMathAtan2NumberResult(lhsId, rhsId);\
5503
+}\
5504
+\
5505
+[[nodiscard]] bool emitMathFloorNumberResult(NumberOperandId inputId);\
5506
+[[nodiscard]] bool emitMathFloorNumberResult(CacheIRReader& reader) {\
5507
+  NumberOperandId inputId = reader.numberOperandId();\
5508
+  return emitMathFloorNumberResult(inputId);\
5509
+}\
5510
+\
5511
+[[nodiscard]] bool emitMathCeilNumberResult(NumberOperandId inputId);\
5512
+[[nodiscard]] bool emitMathCeilNumberResult(CacheIRReader& reader) {\
5513
+  NumberOperandId inputId = reader.numberOperandId();\
5514
+  return emitMathCeilNumberResult(inputId);\
5515
+}\
5516
+\
5517
+[[nodiscard]] bool emitMathTruncNumberResult(NumberOperandId inputId);\
5518
+[[nodiscard]] bool emitMathTruncNumberResult(CacheIRReader& reader) {\
5519
+  NumberOperandId inputId = reader.numberOperandId();\
5520
+  return emitMathTruncNumberResult(inputId);\
5521
+}\
5522
+\
5523
+[[nodiscard]] bool emitMathFloorToInt32Result(NumberOperandId inputId);\
5524
+[[nodiscard]] bool emitMathFloorToInt32Result(CacheIRReader& reader) {\
5525
+  NumberOperandId inputId = reader.numberOperandId();\
5526
+  return emitMathFloorToInt32Result(inputId);\
5527
+}\
5528
+\
5529
+[[nodiscard]] bool emitMathCeilToInt32Result(NumberOperandId inputId);\
5530
+[[nodiscard]] bool emitMathCeilToInt32Result(CacheIRReader& reader) {\
5531
+  NumberOperandId inputId = reader.numberOperandId();\
5532
+  return emitMathCeilToInt32Result(inputId);\
5533
+}\
5534
+\
5535
+[[nodiscard]] bool emitMathTruncToInt32Result(NumberOperandId inputId);\
5536
+[[nodiscard]] bool emitMathTruncToInt32Result(CacheIRReader& reader) {\
5537
+  NumberOperandId inputId = reader.numberOperandId();\
5538
+  return emitMathTruncToInt32Result(inputId);\
5539
+}\
5540
+\
5541
+[[nodiscard]] bool emitMathRoundToInt32Result(NumberOperandId inputId);\
5542
+[[nodiscard]] bool emitMathRoundToInt32Result(CacheIRReader& reader) {\
5543
+  NumberOperandId inputId = reader.numberOperandId();\
5544
+  return emitMathRoundToInt32Result(inputId);\
5545
+}\
5546
+\
5547
+[[nodiscard]] bool emitInt32MinMax(bool isMax, Int32OperandId firstId, Int32OperandId secondId, Int32OperandId resultId);\
5548
+[[nodiscard]] bool emitInt32MinMax(CacheIRReader& reader) {\
5549
+  bool isMax = reader.readBool();\
5550
+  Int32OperandId firstId = reader.int32OperandId();\
5551
+  Int32OperandId secondId = reader.int32OperandId();\
5552
+  Int32OperandId resultId = reader.int32OperandId();\
5553
+  return emitInt32MinMax(isMax, firstId, secondId, resultId);\
5554
+}\
5555
+\
5556
+[[nodiscard]] bool emitNumberMinMax(bool isMax, NumberOperandId firstId, NumberOperandId secondId, NumberOperandId resultId);\
5557
+[[nodiscard]] bool emitNumberMinMax(CacheIRReader& reader) {\
5558
+  bool isMax = reader.readBool();\
5559
+  NumberOperandId firstId = reader.numberOperandId();\
5560
+  NumberOperandId secondId = reader.numberOperandId();\
5561
+  NumberOperandId resultId = reader.numberOperandId();\
5562
+  return emitNumberMinMax(isMax, firstId, secondId, resultId);\
5563
+}\
5564
+\
5565
+[[nodiscard]] bool emitInt32MinMaxArrayResult(ObjOperandId arrayId, bool isMax);\
5566
+[[nodiscard]] bool emitInt32MinMaxArrayResult(CacheIRReader& reader) {\
5567
+  ObjOperandId arrayId = reader.objOperandId();\
5568
+  bool isMax = reader.readBool();\
5569
+  return emitInt32MinMaxArrayResult(arrayId, isMax);\
5570
+}\
5571
+\
5572
+[[nodiscard]] bool emitNumberMinMaxArrayResult(ObjOperandId arrayId, bool isMax);\
5573
+[[nodiscard]] bool emitNumberMinMaxArrayResult(CacheIRReader& reader) {\
5574
+  ObjOperandId arrayId = reader.objOperandId();\
5575
+  bool isMax = reader.readBool();\
5576
+  return emitNumberMinMaxArrayResult(arrayId, isMax);\
5577
+}\
5578
+\
5579
+[[nodiscard]] bool emitMathFunctionNumberResult(NumberOperandId inputId, UnaryMathFunction fun);\
5580
+[[nodiscard]] bool emitMathFunctionNumberResult(CacheIRReader& reader) {\
5581
+  NumberOperandId inputId = reader.numberOperandId();\
5582
+  UnaryMathFunction fun = reader.unaryMathFunction();\
5583
+  return emitMathFunctionNumberResult(inputId, fun);\
5584
+}\
5585
+\
5586
+[[nodiscard]] bool emitObjectToStringResult(ObjOperandId objId);\
5587
+[[nodiscard]] bool emitObjectToStringResult(CacheIRReader& reader) {\
5588
+  ObjOperandId objId = reader.objOperandId();\
5589
+  return emitObjectToStringResult(objId);\
5590
+}\
5591
+\
5592
+[[nodiscard]] bool emitReflectGetPrototypeOfResult(ObjOperandId objId);\
5593
+[[nodiscard]] bool emitReflectGetPrototypeOfResult(CacheIRReader& reader) {\
5594
+  ObjOperandId objId = reader.objOperandId();\
5595
+  return emitReflectGetPrototypeOfResult(objId);\
5596
+}\
5597
+\
5598
+[[nodiscard]] bool emitStoreTypedArrayElement(ObjOperandId objId, Scalar::Type elementType, IntPtrOperandId indexId, uint32_t rhsId, bool handleOOB);\
5599
+[[nodiscard]] bool emitStoreTypedArrayElement(CacheIRReader& reader) {\
5600
+  ObjOperandId objId = reader.objOperandId();\
5601
+  Scalar::Type elementType = reader.scalarType();\
5602
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5603
+  uint32_t rhsId = reader.rawOperandId();\
5604
+  bool handleOOB = reader.readBool();\
5605
+  return emitStoreTypedArrayElement(objId, elementType, indexId, rhsId, handleOOB);\
5606
+}\
5607
+\
5608
+[[nodiscard]] bool emitAtomicsCompareExchangeResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t expectedId, uint32_t replacementId, Scalar::Type elementType);\
5609
+[[nodiscard]] bool emitAtomicsCompareExchangeResult(CacheIRReader& reader) {\
5610
+  ObjOperandId objId = reader.objOperandId();\
5611
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5612
+  uint32_t expectedId = reader.rawOperandId();\
5613
+  uint32_t replacementId = reader.rawOperandId();\
5614
+  Scalar::Type elementType = reader.scalarType();\
5615
+  return emitAtomicsCompareExchangeResult(objId, indexId, expectedId, replacementId, elementType);\
5616
+}\
5617
+\
5618
+[[nodiscard]] bool emitAtomicsExchangeResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType);\
5619
+[[nodiscard]] bool emitAtomicsExchangeResult(CacheIRReader& reader) {\
5620
+  ObjOperandId objId = reader.objOperandId();\
5621
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5622
+  uint32_t valueId = reader.rawOperandId();\
5623
+  Scalar::Type elementType = reader.scalarType();\
5624
+  return emitAtomicsExchangeResult(objId, indexId, valueId, elementType);\
5625
+}\
5626
+\
5627
+[[nodiscard]] bool emitAtomicsAddResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
5628
+[[nodiscard]] bool emitAtomicsAddResult(CacheIRReader& reader) {\
5629
+  ObjOperandId objId = reader.objOperandId();\
5630
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5631
+  uint32_t valueId = reader.rawOperandId();\
5632
+  Scalar::Type elementType = reader.scalarType();\
5633
+  bool forEffect = reader.readBool();\
5634
+  return emitAtomicsAddResult(objId, indexId, valueId, elementType, forEffect);\
5635
+}\
5636
+\
5637
+[[nodiscard]] bool emitAtomicsSubResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
5638
+[[nodiscard]] bool emitAtomicsSubResult(CacheIRReader& reader) {\
5639
+  ObjOperandId objId = reader.objOperandId();\
5640
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5641
+  uint32_t valueId = reader.rawOperandId();\
5642
+  Scalar::Type elementType = reader.scalarType();\
5643
+  bool forEffect = reader.readBool();\
5644
+  return emitAtomicsSubResult(objId, indexId, valueId, elementType, forEffect);\
5645
+}\
5646
+\
5647
+[[nodiscard]] bool emitAtomicsAndResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
5648
+[[nodiscard]] bool emitAtomicsAndResult(CacheIRReader& reader) {\
5649
+  ObjOperandId objId = reader.objOperandId();\
5650
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5651
+  uint32_t valueId = reader.rawOperandId();\
5652
+  Scalar::Type elementType = reader.scalarType();\
5653
+  bool forEffect = reader.readBool();\
5654
+  return emitAtomicsAndResult(objId, indexId, valueId, elementType, forEffect);\
5655
+}\
5656
+\
5657
+[[nodiscard]] bool emitAtomicsOrResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
5658
+[[nodiscard]] bool emitAtomicsOrResult(CacheIRReader& reader) {\
5659
+  ObjOperandId objId = reader.objOperandId();\
5660
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5661
+  uint32_t valueId = reader.rawOperandId();\
5662
+  Scalar::Type elementType = reader.scalarType();\
5663
+  bool forEffect = reader.readBool();\
5664
+  return emitAtomicsOrResult(objId, indexId, valueId, elementType, forEffect);\
5665
+}\
5666
+\
5667
+[[nodiscard]] bool emitAtomicsXorResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType, bool forEffect);\
5668
+[[nodiscard]] bool emitAtomicsXorResult(CacheIRReader& reader) {\
5669
+  ObjOperandId objId = reader.objOperandId();\
5670
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5671
+  uint32_t valueId = reader.rawOperandId();\
5672
+  Scalar::Type elementType = reader.scalarType();\
5673
+  bool forEffect = reader.readBool();\
5674
+  return emitAtomicsXorResult(objId, indexId, valueId, elementType, forEffect);\
5675
+}\
5676
+\
5677
+[[nodiscard]] bool emitAtomicsLoadResult(ObjOperandId objId, IntPtrOperandId indexId, Scalar::Type elementType);\
5678
+[[nodiscard]] bool emitAtomicsLoadResult(CacheIRReader& reader) {\
5679
+  ObjOperandId objId = reader.objOperandId();\
5680
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5681
+  Scalar::Type elementType = reader.scalarType();\
5682
+  return emitAtomicsLoadResult(objId, indexId, elementType);\
5683
+}\
5684
+\
5685
+[[nodiscard]] bool emitAtomicsStoreResult(ObjOperandId objId, IntPtrOperandId indexId, uint32_t valueId, Scalar::Type elementType);\
5686
+[[nodiscard]] bool emitAtomicsStoreResult(CacheIRReader& reader) {\
5687
+  ObjOperandId objId = reader.objOperandId();\
5688
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5689
+  uint32_t valueId = reader.rawOperandId();\
5690
+  Scalar::Type elementType = reader.scalarType();\
5691
+  return emitAtomicsStoreResult(objId, indexId, valueId, elementType);\
5692
+}\
5693
+\
5694
+[[nodiscard]] bool emitAtomicsIsLockFreeResult(Int32OperandId valueId);\
5695
+[[nodiscard]] bool emitAtomicsIsLockFreeResult(CacheIRReader& reader) {\
5696
+  Int32OperandId valueId = reader.int32OperandId();\
5697
+  return emitAtomicsIsLockFreeResult(valueId);\
5698
+}\
5699
+\
5700
+[[nodiscard]] bool emitCallNativeSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, bool sameRealm, uint32_t nargsAndFlagsOffset);\
5701
+[[nodiscard]] bool emitCallNativeSetter(CacheIRReader& reader) {\
5702
+  ObjOperandId receiverId = reader.objOperandId();\
5703
+  uint32_t setterOffset = reader.stubOffset();\
5704
+  ValOperandId rhsId = reader.valOperandId();\
5705
+  bool sameRealm = reader.readBool();\
5706
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
5707
+  return emitCallNativeSetter(receiverId, setterOffset, rhsId, sameRealm, nargsAndFlagsOffset);\
5708
+}\
5709
+\
5710
+[[nodiscard]] bool emitCallScriptedSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, bool sameRealm, uint32_t nargsAndFlagsOffset);\
5711
+[[nodiscard]] bool emitCallScriptedSetter(CacheIRReader& reader) {\
5712
+  ObjOperandId receiverId = reader.objOperandId();\
5713
+  uint32_t setterOffset = reader.stubOffset();\
5714
+  ValOperandId rhsId = reader.valOperandId();\
5715
+  bool sameRealm = reader.readBool();\
5716
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
5717
+  return emitCallScriptedSetter(receiverId, setterOffset, rhsId, sameRealm, nargsAndFlagsOffset);\
5718
+}\
5719
+\
5720
+[[nodiscard]] bool emitCallInlinedSetter(ObjOperandId receiverId, uint32_t setterOffset, ValOperandId rhsId, uint32_t icScriptOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
5721
+[[nodiscard]] bool emitCallInlinedSetter(CacheIRReader& reader) {\
5722
+  ObjOperandId receiverId = reader.objOperandId();\
5723
+  uint32_t setterOffset = reader.stubOffset();\
5724
+  ValOperandId rhsId = reader.valOperandId();\
5725
+  uint32_t icScriptOffset = reader.stubOffset();\
5726
+  bool sameRealm = reader.readBool();\
5727
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
5728
+  return emitCallInlinedSetter(receiverId, setterOffset, rhsId, icScriptOffset, sameRealm, nargsAndFlagsOffset);\
5729
+}\
5730
+\
5731
+[[nodiscard]] bool emitCallDOMSetter(ObjOperandId objId, uint32_t jitInfoOffset, ValOperandId rhsId);\
5732
+[[nodiscard]] bool emitCallDOMSetter(CacheIRReader& reader) {\
5733
+  ObjOperandId objId = reader.objOperandId();\
5734
+  uint32_t jitInfoOffset = reader.stubOffset();\
5735
+  ValOperandId rhsId = reader.valOperandId();\
5736
+  return emitCallDOMSetter(objId, jitInfoOffset, rhsId);\
5737
+}\
5738
+\
5739
+[[nodiscard]] bool emitCallSetArrayLength(ObjOperandId objId, bool strict, ValOperandId rhsId);\
5740
+[[nodiscard]] bool emitCallSetArrayLength(CacheIRReader& reader) {\
5741
+  ObjOperandId objId = reader.objOperandId();\
5742
+  bool strict = reader.readBool();\
5743
+  ValOperandId rhsId = reader.valOperandId();\
5744
+  return emitCallSetArrayLength(objId, strict, rhsId);\
5745
+}\
5746
+\
5747
+[[nodiscard]] bool emitProxySet(ObjOperandId objId, uint32_t idOffset, ValOperandId rhsId, bool strict);\
5748
+[[nodiscard]] bool emitProxySet(CacheIRReader& reader) {\
5749
+  ObjOperandId objId = reader.objOperandId();\
5750
+  uint32_t idOffset = reader.stubOffset();\
5751
+  ValOperandId rhsId = reader.valOperandId();\
5752
+  bool strict = reader.readBool();\
5753
+  return emitProxySet(objId, idOffset, rhsId, strict);\
5754
+}\
5755
+\
5756
+[[nodiscard]] bool emitProxySetByValue(ObjOperandId objId, ValOperandId idId, ValOperandId rhsId, bool strict);\
5757
+[[nodiscard]] bool emitProxySetByValue(CacheIRReader& reader) {\
5758
+  ObjOperandId objId = reader.objOperandId();\
5759
+  ValOperandId idId = reader.valOperandId();\
5760
+  ValOperandId rhsId = reader.valOperandId();\
5761
+  bool strict = reader.readBool();\
5762
+  return emitProxySetByValue(objId, idId, rhsId, strict);\
5763
+}\
5764
+\
5765
+[[nodiscard]] bool emitCallAddOrUpdateSparseElementHelper(ObjOperandId objId, Int32OperandId idId, ValOperandId rhsId, bool strict);\
5766
+[[nodiscard]] bool emitCallAddOrUpdateSparseElementHelper(CacheIRReader& reader) {\
5767
+  ObjOperandId objId = reader.objOperandId();\
5768
+  Int32OperandId idId = reader.int32OperandId();\
5769
+  ValOperandId rhsId = reader.valOperandId();\
5770
+  bool strict = reader.readBool();\
5771
+  return emitCallAddOrUpdateSparseElementHelper(objId, idId, rhsId, strict);\
5772
+}\
5773
+\
5774
+[[nodiscard]] bool emitCallInt32ToString(Int32OperandId inputId, StringOperandId resultId);\
5775
+[[nodiscard]] bool emitCallInt32ToString(CacheIRReader& reader) {\
5776
+  Int32OperandId inputId = reader.int32OperandId();\
5777
+  StringOperandId resultId = reader.stringOperandId();\
5778
+  return emitCallInt32ToString(inputId, resultId);\
5779
+}\
5780
+\
5781
+[[nodiscard]] bool emitCallNumberToString(NumberOperandId inputId, StringOperandId resultId);\
5782
+[[nodiscard]] bool emitCallNumberToString(CacheIRReader& reader) {\
5783
+  NumberOperandId inputId = reader.numberOperandId();\
5784
+  StringOperandId resultId = reader.stringOperandId();\
5785
+  return emitCallNumberToString(inputId, resultId);\
5786
+}\
5787
+\
5788
+[[nodiscard]] bool emitBooleanToString(BooleanOperandId inputId, StringOperandId resultId);\
5789
+[[nodiscard]] bool emitBooleanToString(CacheIRReader& reader) {\
5790
+  BooleanOperandId inputId = reader.booleanOperandId();\
5791
+  StringOperandId resultId = reader.stringOperandId();\
5792
+  return emitBooleanToString(inputId, resultId);\
5793
+}\
5794
+\
5795
+[[nodiscard]] bool emitCallScriptedFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags);\
5796
+[[nodiscard]] bool emitCallScriptedFunction(CacheIRReader& reader) {\
5797
+  ObjOperandId calleeId = reader.objOperandId();\
5798
+  Int32OperandId argcId = reader.int32OperandId();\
5799
+  CallFlags flags = reader.callFlags();\
5800
+  return emitCallScriptedFunction(calleeId, argcId, flags);\
5801
+}\
5802
+\
5803
+[[nodiscard]] bool emitCallWasmFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, uint32_t funcExportOffset, uint32_t instanceOffset);\
5804
+[[nodiscard]] bool emitCallWasmFunction(CacheIRReader& reader) {\
5805
+  ObjOperandId calleeId = reader.objOperandId();\
5806
+  Int32OperandId argcId = reader.int32OperandId();\
5807
+  CallFlags flags = reader.callFlags();\
5808
+  uint32_t funcExportOffset = reader.stubOffset();\
5809
+  uint32_t instanceOffset = reader.stubOffset();\
5810
+  return emitCallWasmFunction(calleeId, argcId, flags, funcExportOffset, instanceOffset);\
5811
+}\
5812
+\
5813
+[[nodiscard]] bool emitGuardWasmArg(ValOperandId argId, wasm::ValType::Kind type);\
5814
+[[nodiscard]] bool emitGuardWasmArg(CacheIRReader& reader) {\
5815
+  ValOperandId argId = reader.valOperandId();\
5816
+  wasm::ValType::Kind type = reader.wasmValType();\
5817
+  return emitGuardWasmArg(argId, type);\
5818
+}\
5819
+\
5820
+[[nodiscard]] bool emitCallNativeFunction(ObjOperandId calleeId, Int32OperandId argcId, CallFlags flags, bool ignoresReturnValue);\
5821
+[[nodiscard]] bool emitCallNativeFunction(CacheIRReader& reader) {\
5822
+  ObjOperandId calleeId = reader.objOperandId();\
5823
+  Int32OperandId argcId = reader.int32OperandId();\
5824
+  CallFlags flags = reader.callFlags();\
5825
+  bool ignoresReturnValue = reader.readBool();\
5826
+  return emitCallNativeFunction(calleeId, argcId, flags, ignoresReturnValue);\
5827
+}\
5828
+\
5829
+[[nodiscard]] bool emitCallDOMFunction(ObjOperandId calleeId, Int32OperandId argcId, ObjOperandId thisObjId, CallFlags flags);\
5830
+[[nodiscard]] bool emitCallDOMFunction(CacheIRReader& reader) {\
5831
+  ObjOperandId calleeId = reader.objOperandId();\
5832
+  Int32OperandId argcId = reader.int32OperandId();\
5833
+  ObjOperandId thisObjId = reader.objOperandId();\
5834
+  CallFlags flags = reader.callFlags();\
5835
+  return emitCallDOMFunction(calleeId, argcId, thisObjId, flags);\
5836
+}\
5837
+\
5838
+[[nodiscard]] bool emitCallInlinedFunction(ObjOperandId calleeId, Int32OperandId argcId, uint32_t icScriptOffset, CallFlags flags);\
5839
+[[nodiscard]] bool emitCallInlinedFunction(CacheIRReader& reader) {\
5840
+  ObjOperandId calleeId = reader.objOperandId();\
5841
+  Int32OperandId argcId = reader.int32OperandId();\
5842
+  uint32_t icScriptOffset = reader.stubOffset();\
5843
+  CallFlags flags = reader.callFlags();\
5844
+  return emitCallInlinedFunction(calleeId, argcId, icScriptOffset, flags);\
5845
+}\
5846
+\
5847
+[[nodiscard]] bool emitMetaTwoByte(uint32_t functionObjectOffset, uint32_t templateObjectOffset);\
5848
+[[nodiscard]] bool emitMetaTwoByte(CacheIRReader& reader) {\
5849
+  uint32_t functionObjectOffset = reader.stubOffset();\
5850
+  uint32_t templateObjectOffset = reader.stubOffset();\
5851
+  return emitMetaTwoByte(functionObjectOffset, templateObjectOffset);\
5852
+}\
5853
+\
5854
+[[nodiscard]] bool emitLoadFixedSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
5855
+[[nodiscard]] bool emitLoadFixedSlotResult(CacheIRReader& reader) {\
5856
+  ObjOperandId objId = reader.objOperandId();\
5857
+  uint32_t offsetOffset = reader.stubOffset();\
5858
+  return emitLoadFixedSlotResult(objId, offsetOffset);\
5859
+}\
5860
+\
5861
+[[nodiscard]] bool emitLoadFixedSlotTypedResult(ObjOperandId objId, uint32_t offsetOffset, ValueType type);\
5862
+[[nodiscard]] bool emitLoadFixedSlotTypedResult(CacheIRReader& reader) {\
5863
+  ObjOperandId objId = reader.objOperandId();\
5864
+  uint32_t offsetOffset = reader.stubOffset();\
5865
+  ValueType type = reader.valueType();\
5866
+  return emitLoadFixedSlotTypedResult(objId, offsetOffset, type);\
5867
+}\
5868
+\
5869
+[[nodiscard]] bool emitLoadDynamicSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
5870
+[[nodiscard]] bool emitLoadDynamicSlotResult(CacheIRReader& reader) {\
5871
+  ObjOperandId objId = reader.objOperandId();\
5872
+  uint32_t offsetOffset = reader.stubOffset();\
5873
+  return emitLoadDynamicSlotResult(objId, offsetOffset);\
5874
+}\
5875
+\
5876
+[[nodiscard]] bool emitLoadDenseElementResult(ObjOperandId objId, Int32OperandId indexId);\
5877
+[[nodiscard]] bool emitLoadDenseElementResult(CacheIRReader& reader) {\
5878
+  ObjOperandId objId = reader.objOperandId();\
5879
+  Int32OperandId indexId = reader.int32OperandId();\
5880
+  return emitLoadDenseElementResult(objId, indexId);\
5881
+}\
5882
+\
5883
+[[nodiscard]] bool emitLoadDenseElementHoleResult(ObjOperandId objId, Int32OperandId indexId);\
5884
+[[nodiscard]] bool emitLoadDenseElementHoleResult(CacheIRReader& reader) {\
5885
+  ObjOperandId objId = reader.objOperandId();\
5886
+  Int32OperandId indexId = reader.int32OperandId();\
5887
+  return emitLoadDenseElementHoleResult(objId, indexId);\
5888
+}\
5889
+\
5890
+[[nodiscard]] bool emitCallGetSparseElementResult(ObjOperandId objId, Int32OperandId indexId);\
5891
+[[nodiscard]] bool emitCallGetSparseElementResult(CacheIRReader& reader) {\
5892
+  ObjOperandId objId = reader.objOperandId();\
5893
+  Int32OperandId indexId = reader.int32OperandId();\
5894
+  return emitCallGetSparseElementResult(objId, indexId);\
5895
+}\
5896
+\
5897
+[[nodiscard]] bool emitLoadDenseElementExistsResult(ObjOperandId objId, Int32OperandId indexId);\
5898
+[[nodiscard]] bool emitLoadDenseElementExistsResult(CacheIRReader& reader) {\
5899
+  ObjOperandId objId = reader.objOperandId();\
5900
+  Int32OperandId indexId = reader.int32OperandId();\
5901
+  return emitLoadDenseElementExistsResult(objId, indexId);\
5902
+}\
5903
+\
5904
+[[nodiscard]] bool emitLoadTypedArrayElementExistsResult(ObjOperandId objId, IntPtrOperandId indexId);\
5905
+[[nodiscard]] bool emitLoadTypedArrayElementExistsResult(CacheIRReader& reader) {\
5906
+  ObjOperandId objId = reader.objOperandId();\
5907
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5908
+  return emitLoadTypedArrayElementExistsResult(objId, indexId);\
5909
+}\
5910
+\
5911
+[[nodiscard]] bool emitLoadDenseElementHoleExistsResult(ObjOperandId objId, Int32OperandId indexId);\
5912
+[[nodiscard]] bool emitLoadDenseElementHoleExistsResult(CacheIRReader& reader) {\
5913
+  ObjOperandId objId = reader.objOperandId();\
5914
+  Int32OperandId indexId = reader.int32OperandId();\
5915
+  return emitLoadDenseElementHoleExistsResult(objId, indexId);\
5916
+}\
5917
+\
5918
+[[nodiscard]] bool emitLoadTypedArrayElementResult(ObjOperandId objId, IntPtrOperandId indexId, Scalar::Type elementType, bool handleOOB, bool forceDoubleForUint32);\
5919
+[[nodiscard]] bool emitLoadTypedArrayElementResult(CacheIRReader& reader) {\
5920
+  ObjOperandId objId = reader.objOperandId();\
5921
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
5922
+  Scalar::Type elementType = reader.scalarType();\
5923
+  bool handleOOB = reader.readBool();\
5924
+  bool forceDoubleForUint32 = reader.readBool();\
5925
+  return emitLoadTypedArrayElementResult(objId, indexId, elementType, handleOOB, forceDoubleForUint32);\
5926
+}\
5927
+\
5928
+[[nodiscard]] bool emitLoadDataViewValueResult(ObjOperandId objId, IntPtrOperandId offsetId, BooleanOperandId littleEndianId, Scalar::Type elementType, bool forceDoubleForUint32);\
5929
+[[nodiscard]] bool emitLoadDataViewValueResult(CacheIRReader& reader) {\
5930
+  ObjOperandId objId = reader.objOperandId();\
5931
+  IntPtrOperandId offsetId = reader.intPtrOperandId();\
5932
+  BooleanOperandId littleEndianId = reader.booleanOperandId();\
5933
+  Scalar::Type elementType = reader.scalarType();\
5934
+  bool forceDoubleForUint32 = reader.readBool();\
5935
+  return emitLoadDataViewValueResult(objId, offsetId, littleEndianId, elementType, forceDoubleForUint32);\
5936
+}\
5937
+\
5938
+[[nodiscard]] bool emitStoreDataViewValueResult(ObjOperandId objId, IntPtrOperandId offsetId, uint32_t valueId, BooleanOperandId littleEndianId, Scalar::Type elementType);\
5939
+[[nodiscard]] bool emitStoreDataViewValueResult(CacheIRReader& reader) {\
5940
+  ObjOperandId objId = reader.objOperandId();\
5941
+  IntPtrOperandId offsetId = reader.intPtrOperandId();\
5942
+  uint32_t valueId = reader.rawOperandId();\
5943
+  BooleanOperandId littleEndianId = reader.booleanOperandId();\
5944
+  Scalar::Type elementType = reader.scalarType();\
5945
+  return emitStoreDataViewValueResult(objId, offsetId, valueId, littleEndianId, elementType);\
5946
+}\
5947
+\
5948
+[[nodiscard]] bool emitLoadInt32ArrayLengthResult(ObjOperandId objId);\
5949
+[[nodiscard]] bool emitLoadInt32ArrayLengthResult(CacheIRReader& reader) {\
5950
+  ObjOperandId objId = reader.objOperandId();\
5951
+  return emitLoadInt32ArrayLengthResult(objId);\
5952
+}\
5953
+\
5954
+[[nodiscard]] bool emitLoadInt32ArrayLength(ObjOperandId objId, Int32OperandId resultId);\
5955
+[[nodiscard]] bool emitLoadInt32ArrayLength(CacheIRReader& reader) {\
5956
+  ObjOperandId objId = reader.objOperandId();\
5957
+  Int32OperandId resultId = reader.int32OperandId();\
5958
+  return emitLoadInt32ArrayLength(objId, resultId);\
5959
+}\
5960
+\
5961
+[[nodiscard]] bool emitLoadArgumentsObjectArgResult(ObjOperandId objId, Int32OperandId indexId);\
5962
+[[nodiscard]] bool emitLoadArgumentsObjectArgResult(CacheIRReader& reader) {\
5963
+  ObjOperandId objId = reader.objOperandId();\
5964
+  Int32OperandId indexId = reader.int32OperandId();\
5965
+  return emitLoadArgumentsObjectArgResult(objId, indexId);\
5966
+}\
5967
+\
5968
+[[nodiscard]] bool emitLoadArgumentsObjectLengthResult(ObjOperandId objId);\
5969
+[[nodiscard]] bool emitLoadArgumentsObjectLengthResult(CacheIRReader& reader) {\
5970
+  ObjOperandId objId = reader.objOperandId();\
5971
+  return emitLoadArgumentsObjectLengthResult(objId);\
5972
+}\
5973
+\
5974
+[[nodiscard]] bool emitLoadFunctionLengthResult(ObjOperandId objId);\
5975
+[[nodiscard]] bool emitLoadFunctionLengthResult(CacheIRReader& reader) {\
5976
+  ObjOperandId objId = reader.objOperandId();\
5977
+  return emitLoadFunctionLengthResult(objId);\
5978
+}\
5979
+\
5980
+[[nodiscard]] bool emitLoadFunctionNameResult(ObjOperandId objId);\
5981
+[[nodiscard]] bool emitLoadFunctionNameResult(CacheIRReader& reader) {\
5982
+  ObjOperandId objId = reader.objOperandId();\
5983
+  return emitLoadFunctionNameResult(objId);\
5984
+}\
5985
+\
5986
+[[nodiscard]] bool emitLoadArrayBufferByteLengthInt32Result(ObjOperandId objId);\
5987
+[[nodiscard]] bool emitLoadArrayBufferByteLengthInt32Result(CacheIRReader& reader) {\
5988
+  ObjOperandId objId = reader.objOperandId();\
5989
+  return emitLoadArrayBufferByteLengthInt32Result(objId);\
5990
+}\
5991
+\
5992
+[[nodiscard]] bool emitLoadArrayBufferByteLengthDoubleResult(ObjOperandId objId);\
5993
+[[nodiscard]] bool emitLoadArrayBufferByteLengthDoubleResult(CacheIRReader& reader) {\
5994
+  ObjOperandId objId = reader.objOperandId();\
5995
+  return emitLoadArrayBufferByteLengthDoubleResult(objId);\
5996
+}\
5997
+\
5998
+[[nodiscard]] bool emitLoadArrayBufferViewLengthInt32Result(ObjOperandId objId);\
5999
+[[nodiscard]] bool emitLoadArrayBufferViewLengthInt32Result(CacheIRReader& reader) {\
6000
+  ObjOperandId objId = reader.objOperandId();\
6001
+  return emitLoadArrayBufferViewLengthInt32Result(objId);\
6002
+}\
6003
+\
6004
+[[nodiscard]] bool emitLoadArrayBufferViewLengthDoubleResult(ObjOperandId objId);\
6005
+[[nodiscard]] bool emitLoadArrayBufferViewLengthDoubleResult(CacheIRReader& reader) {\
6006
+  ObjOperandId objId = reader.objOperandId();\
6007
+  return emitLoadArrayBufferViewLengthDoubleResult(objId);\
6008
+}\
6009
+\
6010
+[[nodiscard]] bool emitLoadStringCharResult(StringOperandId strId, Int32OperandId indexId);\
6011
+[[nodiscard]] bool emitLoadStringCharResult(CacheIRReader& reader) {\
6012
+  StringOperandId strId = reader.stringOperandId();\
6013
+  Int32OperandId indexId = reader.int32OperandId();\
6014
+  return emitLoadStringCharResult(strId, indexId);\
6015
+}\
6016
+\
6017
+[[nodiscard]] bool emitLoadStringCharCodeResult(StringOperandId strId, Int32OperandId indexId);\
6018
+[[nodiscard]] bool emitLoadStringCharCodeResult(CacheIRReader& reader) {\
6019
+  StringOperandId strId = reader.stringOperandId();\
6020
+  Int32OperandId indexId = reader.int32OperandId();\
6021
+  return emitLoadStringCharCodeResult(strId, indexId);\
6022
+}\
6023
+\
6024
+[[nodiscard]] bool emitLoadStringLengthResult(StringOperandId strId);\
6025
+[[nodiscard]] bool emitLoadStringLengthResult(CacheIRReader& reader) {\
6026
+  StringOperandId strId = reader.stringOperandId();\
6027
+  return emitLoadStringLengthResult(strId);\
6028
+}\
6029
+\
6030
+[[nodiscard]] bool emitFrameIsConstructingResult();\
6031
+[[nodiscard]] bool emitFrameIsConstructingResult(CacheIRReader& reader) {\
6032
+  return emitFrameIsConstructingResult();\
6033
+}\
6034
+\
6035
+[[nodiscard]] bool emitLoadEnvironmentFixedSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
6036
+[[nodiscard]] bool emitLoadEnvironmentFixedSlotResult(CacheIRReader& reader) {\
6037
+  ObjOperandId objId = reader.objOperandId();\
6038
+  uint32_t offsetOffset = reader.stubOffset();\
6039
+  return emitLoadEnvironmentFixedSlotResult(objId, offsetOffset);\
6040
+}\
6041
+\
6042
+[[nodiscard]] bool emitLoadEnvironmentDynamicSlotResult(ObjOperandId objId, uint32_t offsetOffset);\
6043
+[[nodiscard]] bool emitLoadEnvironmentDynamicSlotResult(CacheIRReader& reader) {\
6044
+  ObjOperandId objId = reader.objOperandId();\
6045
+  uint32_t offsetOffset = reader.stubOffset();\
6046
+  return emitLoadEnvironmentDynamicSlotResult(objId, offsetOffset);\
6047
+}\
6048
+\
6049
+[[nodiscard]] bool emitLoadObjectResult(ObjOperandId objId);\
6050
+[[nodiscard]] bool emitLoadObjectResult(CacheIRReader& reader) {\
6051
+  ObjOperandId objId = reader.objOperandId();\
6052
+  return emitLoadObjectResult(objId);\
6053
+}\
6054
+\
6055
+[[nodiscard]] bool emitLoadStringResult(StringOperandId strId);\
6056
+[[nodiscard]] bool emitLoadStringResult(CacheIRReader& reader) {\
6057
+  StringOperandId strId = reader.stringOperandId();\
6058
+  return emitLoadStringResult(strId);\
6059
+}\
6060
+\
6061
+[[nodiscard]] bool emitLoadSymbolResult(SymbolOperandId symId);\
6062
+[[nodiscard]] bool emitLoadSymbolResult(CacheIRReader& reader) {\
6063
+  SymbolOperandId symId = reader.symbolOperandId();\
6064
+  return emitLoadSymbolResult(symId);\
6065
+}\
6066
+\
6067
+[[nodiscard]] bool emitLoadInt32Result(Int32OperandId valId);\
6068
+[[nodiscard]] bool emitLoadInt32Result(CacheIRReader& reader) {\
6069
+  Int32OperandId valId = reader.int32OperandId();\
6070
+  return emitLoadInt32Result(valId);\
6071
+}\
6072
+\
6073
+[[nodiscard]] bool emitLoadDoubleResult(NumberOperandId valId);\
6074
+[[nodiscard]] bool emitLoadDoubleResult(CacheIRReader& reader) {\
6075
+  NumberOperandId valId = reader.numberOperandId();\
6076
+  return emitLoadDoubleResult(valId);\
6077
+}\
6078
+\
6079
+[[nodiscard]] bool emitLoadBigIntResult(BigIntOperandId valId);\
6080
+[[nodiscard]] bool emitLoadBigIntResult(CacheIRReader& reader) {\
6081
+  BigIntOperandId valId = reader.bigIntOperandId();\
6082
+  return emitLoadBigIntResult(valId);\
6083
+}\
6084
+\
6085
+[[nodiscard]] bool emitCallScriptedGetterResult(ValOperandId receiverId, uint32_t getterOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
6086
+[[nodiscard]] bool emitCallScriptedGetterResult(CacheIRReader& reader) {\
6087
+  ValOperandId receiverId = reader.valOperandId();\
6088
+  uint32_t getterOffset = reader.stubOffset();\
6089
+  bool sameRealm = reader.readBool();\
6090
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
6091
+  return emitCallScriptedGetterResult(receiverId, getterOffset, sameRealm, nargsAndFlagsOffset);\
6092
+}\
6093
+\
6094
+[[nodiscard]] bool emitCallInlinedGetterResult(ValOperandId receiverId, uint32_t getterOffset, uint32_t icScriptOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
6095
+[[nodiscard]] bool emitCallInlinedGetterResult(CacheIRReader& reader) {\
6096
+  ValOperandId receiverId = reader.valOperandId();\
6097
+  uint32_t getterOffset = reader.stubOffset();\
6098
+  uint32_t icScriptOffset = reader.stubOffset();\
6099
+  bool sameRealm = reader.readBool();\
6100
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
6101
+  return emitCallInlinedGetterResult(receiverId, getterOffset, icScriptOffset, sameRealm, nargsAndFlagsOffset);\
6102
+}\
6103
+\
6104
+[[nodiscard]] bool emitCallNativeGetterResult(ValOperandId receiverId, uint32_t getterOffset, bool sameRealm, uint32_t nargsAndFlagsOffset);\
6105
+[[nodiscard]] bool emitCallNativeGetterResult(CacheIRReader& reader) {\
6106
+  ValOperandId receiverId = reader.valOperandId();\
6107
+  uint32_t getterOffset = reader.stubOffset();\
6108
+  bool sameRealm = reader.readBool();\
6109
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
6110
+  return emitCallNativeGetterResult(receiverId, getterOffset, sameRealm, nargsAndFlagsOffset);\
6111
+}\
6112
+\
6113
+[[nodiscard]] bool emitCallDOMGetterResult(ObjOperandId objId, uint32_t jitInfoOffset);\
6114
+[[nodiscard]] bool emitCallDOMGetterResult(CacheIRReader& reader) {\
6115
+  ObjOperandId objId = reader.objOperandId();\
6116
+  uint32_t jitInfoOffset = reader.stubOffset();\
6117
+  return emitCallDOMGetterResult(objId, jitInfoOffset);\
6118
+}\
6119
+\
6120
+[[nodiscard]] bool emitProxyGetResult(ObjOperandId objId, uint32_t idOffset);\
6121
+[[nodiscard]] bool emitProxyGetResult(CacheIRReader& reader) {\
6122
+  ObjOperandId objId = reader.objOperandId();\
6123
+  uint32_t idOffset = reader.stubOffset();\
6124
+  return emitProxyGetResult(objId, idOffset);\
6125
+}\
6126
+\
6127
+[[nodiscard]] bool emitProxyGetByValueResult(ObjOperandId objId, ValOperandId idId);\
6128
+[[nodiscard]] bool emitProxyGetByValueResult(CacheIRReader& reader) {\
6129
+  ObjOperandId objId = reader.objOperandId();\
6130
+  ValOperandId idId = reader.valOperandId();\
6131
+  return emitProxyGetByValueResult(objId, idId);\
6132
+}\
6133
+\
6134
+[[nodiscard]] bool emitProxyHasPropResult(ObjOperandId objId, ValOperandId idId, bool hasOwn);\
6135
+[[nodiscard]] bool emitProxyHasPropResult(CacheIRReader& reader) {\
6136
+  ObjOperandId objId = reader.objOperandId();\
6137
+  ValOperandId idId = reader.valOperandId();\
6138
+  bool hasOwn = reader.readBool();\
6139
+  return emitProxyHasPropResult(objId, idId, hasOwn);\
6140
+}\
6141
+\
6142
+[[nodiscard]] bool emitCallObjectHasSparseElementResult(ObjOperandId objId, Int32OperandId indexId);\
6143
+[[nodiscard]] bool emitCallObjectHasSparseElementResult(CacheIRReader& reader) {\
6144
+  ObjOperandId objId = reader.objOperandId();\
6145
+  Int32OperandId indexId = reader.int32OperandId();\
6146
+  return emitCallObjectHasSparseElementResult(objId, indexId);\
6147
+}\
6148
+\
6149
+[[nodiscard]] bool emitCallNativeGetElementResult(ObjOperandId objId, Int32OperandId indexId);\
6150
+[[nodiscard]] bool emitCallNativeGetElementResult(CacheIRReader& reader) {\
6151
+  ObjOperandId objId = reader.objOperandId();\
6152
+  Int32OperandId indexId = reader.int32OperandId();\
6153
+  return emitCallNativeGetElementResult(objId, indexId);\
6154
+}\
6155
+\
6156
+[[nodiscard]] bool emitGetNextMapSetEntryForIteratorResult(ObjOperandId iterId, ObjOperandId resultArrId, bool isMap);\
6157
+[[nodiscard]] bool emitGetNextMapSetEntryForIteratorResult(CacheIRReader& reader) {\
6158
+  ObjOperandId iterId = reader.objOperandId();\
6159
+  ObjOperandId resultArrId = reader.objOperandId();\
6160
+  bool isMap = reader.readBool();\
6161
+  return emitGetNextMapSetEntryForIteratorResult(iterId, resultArrId, isMap);\
6162
+}\
6163
+\
6164
+[[nodiscard]] bool emitLoadUndefinedResult();\
6165
+[[nodiscard]] bool emitLoadUndefinedResult(CacheIRReader& reader) {\
6166
+  return emitLoadUndefinedResult();\
6167
+}\
6168
+\
6169
+[[nodiscard]] bool emitLoadBooleanResult(bool val);\
6170
+[[nodiscard]] bool emitLoadBooleanResult(CacheIRReader& reader) {\
6171
+  bool val = reader.readBool();\
6172
+  return emitLoadBooleanResult(val);\
6173
+}\
6174
+\
6175
+[[nodiscard]] bool emitLoadInt32Constant(uint32_t valOffset, Int32OperandId resultId);\
6176
+[[nodiscard]] bool emitLoadInt32Constant(CacheIRReader& reader) {\
6177
+  uint32_t valOffset = reader.stubOffset();\
6178
+  Int32OperandId resultId = reader.int32OperandId();\
6179
+  return emitLoadInt32Constant(valOffset, resultId);\
6180
+}\
6181
+\
6182
+[[nodiscard]] bool emitLoadBooleanConstant(bool val, BooleanOperandId resultId);\
6183
+[[nodiscard]] bool emitLoadBooleanConstant(CacheIRReader& reader) {\
6184
+  bool val = reader.readBool();\
6185
+  BooleanOperandId resultId = reader.booleanOperandId();\
6186
+  return emitLoadBooleanConstant(val, resultId);\
6187
+}\
6188
+\
6189
+[[nodiscard]] bool emitLoadUndefined(ValOperandId resultId);\
6190
+[[nodiscard]] bool emitLoadUndefined(CacheIRReader& reader) {\
6191
+  ValOperandId resultId = reader.valOperandId();\
6192
+  return emitLoadUndefined(resultId);\
6193
+}\
6194
+\
6195
+[[nodiscard]] bool emitLoadConstantString(uint32_t strOffset, StringOperandId resultId);\
6196
+[[nodiscard]] bool emitLoadConstantString(CacheIRReader& reader) {\
6197
+  uint32_t strOffset = reader.stubOffset();\
6198
+  StringOperandId resultId = reader.stringOperandId();\
6199
+  return emitLoadConstantString(strOffset, resultId);\
6200
+}\
6201
+\
6202
+[[nodiscard]] bool emitLoadConstantStringResult(uint32_t strOffset);\
6203
+[[nodiscard]] bool emitLoadConstantStringResult(CacheIRReader& reader) {\
6204
+  uint32_t strOffset = reader.stubOffset();\
6205
+  return emitLoadConstantStringResult(strOffset);\
6206
+}\
6207
+\
6208
+[[nodiscard]] bool emitLoadInstanceOfObjectResult(ValOperandId lhsId, ObjOperandId protoId);\
6209
+[[nodiscard]] bool emitLoadInstanceOfObjectResult(CacheIRReader& reader) {\
6210
+  ValOperandId lhsId = reader.valOperandId();\
6211
+  ObjOperandId protoId = reader.objOperandId();\
6212
+  return emitLoadInstanceOfObjectResult(lhsId, protoId);\
6213
+}\
6214
+\
6215
+[[nodiscard]] bool emitLoadTypeOfObjectResult(ObjOperandId objId);\
6216
+[[nodiscard]] bool emitLoadTypeOfObjectResult(CacheIRReader& reader) {\
6217
+  ObjOperandId objId = reader.objOperandId();\
6218
+  return emitLoadTypeOfObjectResult(objId);\
6219
+}\
6220
+\
6221
+[[nodiscard]] bool emitDoubleAddResult(NumberOperandId lhsId, NumberOperandId rhsId);\
6222
+[[nodiscard]] bool emitDoubleAddResult(CacheIRReader& reader) {\
6223
+  NumberOperandId lhsId = reader.numberOperandId();\
6224
+  NumberOperandId rhsId = reader.numberOperandId();\
6225
+  return emitDoubleAddResult(lhsId, rhsId);\
6226
+}\
6227
+\
6228
+[[nodiscard]] bool emitDoubleSubResult(NumberOperandId lhsId, NumberOperandId rhsId);\
6229
+[[nodiscard]] bool emitDoubleSubResult(CacheIRReader& reader) {\
6230
+  NumberOperandId lhsId = reader.numberOperandId();\
6231
+  NumberOperandId rhsId = reader.numberOperandId();\
6232
+  return emitDoubleSubResult(lhsId, rhsId);\
6233
+}\
6234
+\
6235
+[[nodiscard]] bool emitDoubleMulResult(NumberOperandId lhsId, NumberOperandId rhsId);\
6236
+[[nodiscard]] bool emitDoubleMulResult(CacheIRReader& reader) {\
6237
+  NumberOperandId lhsId = reader.numberOperandId();\
6238
+  NumberOperandId rhsId = reader.numberOperandId();\
6239
+  return emitDoubleMulResult(lhsId, rhsId);\
6240
+}\
6241
+\
6242
+[[nodiscard]] bool emitDoubleDivResult(NumberOperandId lhsId, NumberOperandId rhsId);\
6243
+[[nodiscard]] bool emitDoubleDivResult(CacheIRReader& reader) {\
6244
+  NumberOperandId lhsId = reader.numberOperandId();\
6245
+  NumberOperandId rhsId = reader.numberOperandId();\
6246
+  return emitDoubleDivResult(lhsId, rhsId);\
6247
+}\
6248
+\
6249
+[[nodiscard]] bool emitDoubleModResult(NumberOperandId lhsId, NumberOperandId rhsId);\
6250
+[[nodiscard]] bool emitDoubleModResult(CacheIRReader& reader) {\
6251
+  NumberOperandId lhsId = reader.numberOperandId();\
6252
+  NumberOperandId rhsId = reader.numberOperandId();\
6253
+  return emitDoubleModResult(lhsId, rhsId);\
6254
+}\
6255
+\
6256
+[[nodiscard]] bool emitDoublePowResult(NumberOperandId lhsId, NumberOperandId rhsId);\
6257
+[[nodiscard]] bool emitDoublePowResult(CacheIRReader& reader) {\
6258
+  NumberOperandId lhsId = reader.numberOperandId();\
6259
+  NumberOperandId rhsId = reader.numberOperandId();\
6260
+  return emitDoublePowResult(lhsId, rhsId);\
6261
+}\
6262
+\
6263
+[[nodiscard]] bool emitInt32AddResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6264
+[[nodiscard]] bool emitInt32AddResult(CacheIRReader& reader) {\
6265
+  Int32OperandId lhsId = reader.int32OperandId();\
6266
+  Int32OperandId rhsId = reader.int32OperandId();\
6267
+  return emitInt32AddResult(lhsId, rhsId);\
6268
+}\
6269
+\
6270
+[[nodiscard]] bool emitInt32SubResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6271
+[[nodiscard]] bool emitInt32SubResult(CacheIRReader& reader) {\
6272
+  Int32OperandId lhsId = reader.int32OperandId();\
6273
+  Int32OperandId rhsId = reader.int32OperandId();\
6274
+  return emitInt32SubResult(lhsId, rhsId);\
6275
+}\
6276
+\
6277
+[[nodiscard]] bool emitInt32MulResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6278
+[[nodiscard]] bool emitInt32MulResult(CacheIRReader& reader) {\
6279
+  Int32OperandId lhsId = reader.int32OperandId();\
6280
+  Int32OperandId rhsId = reader.int32OperandId();\
6281
+  return emitInt32MulResult(lhsId, rhsId);\
6282
+}\
6283
+\
6284
+[[nodiscard]] bool emitInt32DivResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6285
+[[nodiscard]] bool emitInt32DivResult(CacheIRReader& reader) {\
6286
+  Int32OperandId lhsId = reader.int32OperandId();\
6287
+  Int32OperandId rhsId = reader.int32OperandId();\
6288
+  return emitInt32DivResult(lhsId, rhsId);\
6289
+}\
6290
+\
6291
+[[nodiscard]] bool emitInt32ModResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6292
+[[nodiscard]] bool emitInt32ModResult(CacheIRReader& reader) {\
6293
+  Int32OperandId lhsId = reader.int32OperandId();\
6294
+  Int32OperandId rhsId = reader.int32OperandId();\
6295
+  return emitInt32ModResult(lhsId, rhsId);\
6296
+}\
6297
+\
6298
+[[nodiscard]] bool emitInt32PowResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6299
+[[nodiscard]] bool emitInt32PowResult(CacheIRReader& reader) {\
6300
+  Int32OperandId lhsId = reader.int32OperandId();\
6301
+  Int32OperandId rhsId = reader.int32OperandId();\
6302
+  return emitInt32PowResult(lhsId, rhsId);\
6303
+}\
6304
+\
6305
+[[nodiscard]] bool emitBigIntAddResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6306
+[[nodiscard]] bool emitBigIntAddResult(CacheIRReader& reader) {\
6307
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6308
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6309
+  return emitBigIntAddResult(lhsId, rhsId);\
6310
+}\
6311
+\
6312
+[[nodiscard]] bool emitBigIntSubResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6313
+[[nodiscard]] bool emitBigIntSubResult(CacheIRReader& reader) {\
6314
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6315
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6316
+  return emitBigIntSubResult(lhsId, rhsId);\
6317
+}\
6318
+\
6319
+[[nodiscard]] bool emitBigIntMulResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6320
+[[nodiscard]] bool emitBigIntMulResult(CacheIRReader& reader) {\
6321
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6322
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6323
+  return emitBigIntMulResult(lhsId, rhsId);\
6324
+}\
6325
+\
6326
+[[nodiscard]] bool emitBigIntDivResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6327
+[[nodiscard]] bool emitBigIntDivResult(CacheIRReader& reader) {\
6328
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6329
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6330
+  return emitBigIntDivResult(lhsId, rhsId);\
6331
+}\
6332
+\
6333
+[[nodiscard]] bool emitBigIntModResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6334
+[[nodiscard]] bool emitBigIntModResult(CacheIRReader& reader) {\
6335
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6336
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6337
+  return emitBigIntModResult(lhsId, rhsId);\
6338
+}\
6339
+\
6340
+[[nodiscard]] bool emitBigIntPowResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6341
+[[nodiscard]] bool emitBigIntPowResult(CacheIRReader& reader) {\
6342
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6343
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6344
+  return emitBigIntPowResult(lhsId, rhsId);\
6345
+}\
6346
+\
6347
+[[nodiscard]] bool emitInt32BitOrResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6348
+[[nodiscard]] bool emitInt32BitOrResult(CacheIRReader& reader) {\
6349
+  Int32OperandId lhsId = reader.int32OperandId();\
6350
+  Int32OperandId rhsId = reader.int32OperandId();\
6351
+  return emitInt32BitOrResult(lhsId, rhsId);\
6352
+}\
6353
+\
6354
+[[nodiscard]] bool emitInt32BitXorResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6355
+[[nodiscard]] bool emitInt32BitXorResult(CacheIRReader& reader) {\
6356
+  Int32OperandId lhsId = reader.int32OperandId();\
6357
+  Int32OperandId rhsId = reader.int32OperandId();\
6358
+  return emitInt32BitXorResult(lhsId, rhsId);\
6359
+}\
6360
+\
6361
+[[nodiscard]] bool emitInt32BitAndResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6362
+[[nodiscard]] bool emitInt32BitAndResult(CacheIRReader& reader) {\
6363
+  Int32OperandId lhsId = reader.int32OperandId();\
6364
+  Int32OperandId rhsId = reader.int32OperandId();\
6365
+  return emitInt32BitAndResult(lhsId, rhsId);\
6366
+}\
6367
+\
6368
+[[nodiscard]] bool emitInt32LeftShiftResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6369
+[[nodiscard]] bool emitInt32LeftShiftResult(CacheIRReader& reader) {\
6370
+  Int32OperandId lhsId = reader.int32OperandId();\
6371
+  Int32OperandId rhsId = reader.int32OperandId();\
6372
+  return emitInt32LeftShiftResult(lhsId, rhsId);\
6373
+}\
6374
+\
6375
+[[nodiscard]] bool emitInt32RightShiftResult(Int32OperandId lhsId, Int32OperandId rhsId);\
6376
+[[nodiscard]] bool emitInt32RightShiftResult(CacheIRReader& reader) {\
6377
+  Int32OperandId lhsId = reader.int32OperandId();\
6378
+  Int32OperandId rhsId = reader.int32OperandId();\
6379
+  return emitInt32RightShiftResult(lhsId, rhsId);\
6380
+}\
6381
+\
6382
+[[nodiscard]] bool emitInt32URightShiftResult(Int32OperandId lhsId, Int32OperandId rhsId, bool forceDouble);\
6383
+[[nodiscard]] bool emitInt32URightShiftResult(CacheIRReader& reader) {\
6384
+  Int32OperandId lhsId = reader.int32OperandId();\
6385
+  Int32OperandId rhsId = reader.int32OperandId();\
6386
+  bool forceDouble = reader.readBool();\
6387
+  return emitInt32URightShiftResult(lhsId, rhsId, forceDouble);\
6388
+}\
6389
+\
6390
+[[nodiscard]] bool emitInt32NotResult(Int32OperandId inputId);\
6391
+[[nodiscard]] bool emitInt32NotResult(CacheIRReader& reader) {\
6392
+  Int32OperandId inputId = reader.int32OperandId();\
6393
+  return emitInt32NotResult(inputId);\
6394
+}\
6395
+\
6396
+[[nodiscard]] bool emitBigIntBitOrResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6397
+[[nodiscard]] bool emitBigIntBitOrResult(CacheIRReader& reader) {\
6398
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6399
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6400
+  return emitBigIntBitOrResult(lhsId, rhsId);\
6401
+}\
6402
+\
6403
+[[nodiscard]] bool emitBigIntBitXorResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6404
+[[nodiscard]] bool emitBigIntBitXorResult(CacheIRReader& reader) {\
6405
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6406
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6407
+  return emitBigIntBitXorResult(lhsId, rhsId);\
6408
+}\
6409
+\
6410
+[[nodiscard]] bool emitBigIntBitAndResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6411
+[[nodiscard]] bool emitBigIntBitAndResult(CacheIRReader& reader) {\
6412
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6413
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6414
+  return emitBigIntBitAndResult(lhsId, rhsId);\
6415
+}\
6416
+\
6417
+[[nodiscard]] bool emitBigIntLeftShiftResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6418
+[[nodiscard]] bool emitBigIntLeftShiftResult(CacheIRReader& reader) {\
6419
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6420
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6421
+  return emitBigIntLeftShiftResult(lhsId, rhsId);\
6422
+}\
6423
+\
6424
+[[nodiscard]] bool emitBigIntRightShiftResult(BigIntOperandId lhsId, BigIntOperandId rhsId);\
6425
+[[nodiscard]] bool emitBigIntRightShiftResult(CacheIRReader& reader) {\
6426
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6427
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6428
+  return emitBigIntRightShiftResult(lhsId, rhsId);\
6429
+}\
6430
+\
6431
+[[nodiscard]] bool emitBigIntNotResult(BigIntOperandId inputId);\
6432
+[[nodiscard]] bool emitBigIntNotResult(CacheIRReader& reader) {\
6433
+  BigIntOperandId inputId = reader.bigIntOperandId();\
6434
+  return emitBigIntNotResult(inputId);\
6435
+}\
6436
+\
6437
+[[nodiscard]] bool emitInt32NegationResult(Int32OperandId inputId);\
6438
+[[nodiscard]] bool emitInt32NegationResult(CacheIRReader& reader) {\
6439
+  Int32OperandId inputId = reader.int32OperandId();\
6440
+  return emitInt32NegationResult(inputId);\
6441
+}\
6442
+\
6443
+[[nodiscard]] bool emitDoubleNegationResult(NumberOperandId inputId);\
6444
+[[nodiscard]] bool emitDoubleNegationResult(CacheIRReader& reader) {\
6445
+  NumberOperandId inputId = reader.numberOperandId();\
6446
+  return emitDoubleNegationResult(inputId);\
6447
+}\
6448
+\
6449
+[[nodiscard]] bool emitBigIntNegationResult(BigIntOperandId inputId);\
6450
+[[nodiscard]] bool emitBigIntNegationResult(CacheIRReader& reader) {\
6451
+  BigIntOperandId inputId = reader.bigIntOperandId();\
6452
+  return emitBigIntNegationResult(inputId);\
6453
+}\
6454
+\
6455
+[[nodiscard]] bool emitInt32IncResult(Int32OperandId inputId);\
6456
+[[nodiscard]] bool emitInt32IncResult(CacheIRReader& reader) {\
6457
+  Int32OperandId inputId = reader.int32OperandId();\
6458
+  return emitInt32IncResult(inputId);\
6459
+}\
6460
+\
6461
+[[nodiscard]] bool emitInt32DecResult(Int32OperandId inputId);\
6462
+[[nodiscard]] bool emitInt32DecResult(CacheIRReader& reader) {\
6463
+  Int32OperandId inputId = reader.int32OperandId();\
6464
+  return emitInt32DecResult(inputId);\
6465
+}\
6466
+\
6467
+[[nodiscard]] bool emitDoubleIncResult(NumberOperandId inputId);\
6468
+[[nodiscard]] bool emitDoubleIncResult(CacheIRReader& reader) {\
6469
+  NumberOperandId inputId = reader.numberOperandId();\
6470
+  return emitDoubleIncResult(inputId);\
6471
+}\
6472
+\
6473
+[[nodiscard]] bool emitDoubleDecResult(NumberOperandId inputId);\
6474
+[[nodiscard]] bool emitDoubleDecResult(CacheIRReader& reader) {\
6475
+  NumberOperandId inputId = reader.numberOperandId();\
6476
+  return emitDoubleDecResult(inputId);\
6477
+}\
6478
+\
6479
+[[nodiscard]] bool emitBigIntIncResult(BigIntOperandId inputId);\
6480
+[[nodiscard]] bool emitBigIntIncResult(CacheIRReader& reader) {\
6481
+  BigIntOperandId inputId = reader.bigIntOperandId();\
6482
+  return emitBigIntIncResult(inputId);\
6483
+}\
6484
+\
6485
+[[nodiscard]] bool emitBigIntDecResult(BigIntOperandId inputId);\
6486
+[[nodiscard]] bool emitBigIntDecResult(CacheIRReader& reader) {\
6487
+  BigIntOperandId inputId = reader.bigIntOperandId();\
6488
+  return emitBigIntDecResult(inputId);\
6489
+}\
6490
+\
6491
+[[nodiscard]] bool emitLoadInt32TruthyResult(ValOperandId inputId);\
6492
+[[nodiscard]] bool emitLoadInt32TruthyResult(CacheIRReader& reader) {\
6493
+  ValOperandId inputId = reader.valOperandId();\
6494
+  return emitLoadInt32TruthyResult(inputId);\
6495
+}\
6496
+\
6497
+[[nodiscard]] bool emitLoadDoubleTruthyResult(NumberOperandId inputId);\
6498
+[[nodiscard]] bool emitLoadDoubleTruthyResult(CacheIRReader& reader) {\
6499
+  NumberOperandId inputId = reader.numberOperandId();\
6500
+  return emitLoadDoubleTruthyResult(inputId);\
6501
+}\
6502
+\
6503
+[[nodiscard]] bool emitLoadStringTruthyResult(StringOperandId strId);\
6504
+[[nodiscard]] bool emitLoadStringTruthyResult(CacheIRReader& reader) {\
6505
+  StringOperandId strId = reader.stringOperandId();\
6506
+  return emitLoadStringTruthyResult(strId);\
6507
+}\
6508
+\
6509
+[[nodiscard]] bool emitLoadObjectTruthyResult(ObjOperandId objId);\
6510
+[[nodiscard]] bool emitLoadObjectTruthyResult(CacheIRReader& reader) {\
6511
+  ObjOperandId objId = reader.objOperandId();\
6512
+  return emitLoadObjectTruthyResult(objId);\
6513
+}\
6514
+\
6515
+[[nodiscard]] bool emitLoadBigIntTruthyResult(BigIntOperandId bigIntId);\
6516
+[[nodiscard]] bool emitLoadBigIntTruthyResult(CacheIRReader& reader) {\
6517
+  BigIntOperandId bigIntId = reader.bigIntOperandId();\
6518
+  return emitLoadBigIntTruthyResult(bigIntId);\
6519
+}\
6520
+\
6521
+[[nodiscard]] bool emitLoadValueTruthyResult(ValOperandId inputId);\
6522
+[[nodiscard]] bool emitLoadValueTruthyResult(CacheIRReader& reader) {\
6523
+  ValOperandId inputId = reader.valOperandId();\
6524
+  return emitLoadValueTruthyResult(inputId);\
6525
+}\
6526
+\
6527
+[[nodiscard]] bool emitLoadOperandResult(ValOperandId inputId);\
6528
+[[nodiscard]] bool emitLoadOperandResult(CacheIRReader& reader) {\
6529
+  ValOperandId inputId = reader.valOperandId();\
6530
+  return emitLoadOperandResult(inputId);\
6531
+}\
6532
+\
6533
+[[nodiscard]] bool emitNewPlainObjectResult(uint32_t numFixedSlots, uint32_t numDynamicSlots, gc::AllocKind allocKind, uint32_t shapeOffset, uint32_t siteOffset);\
6534
+[[nodiscard]] bool emitNewPlainObjectResult(CacheIRReader& reader) {\
6535
+  uint32_t numFixedSlots = reader.uint32Immediate();\
6536
+  uint32_t numDynamicSlots = reader.uint32Immediate();\
6537
+  gc::AllocKind allocKind = reader.allocKind();\
6538
+  uint32_t shapeOffset = reader.stubOffset();\
6539
+  uint32_t siteOffset = reader.stubOffset();\
6540
+  return emitNewPlainObjectResult(numFixedSlots, numDynamicSlots, allocKind, shapeOffset, siteOffset);\
6541
+}\
6542
+\
6543
+[[nodiscard]] bool emitNewArrayObjectResult(uint32_t arrayLength, uint32_t shapeOffset, uint32_t siteOffset);\
6544
+[[nodiscard]] bool emitNewArrayObjectResult(CacheIRReader& reader) {\
6545
+  uint32_t arrayLength = reader.uint32Immediate();\
6546
+  uint32_t shapeOffset = reader.stubOffset();\
6547
+  uint32_t siteOffset = reader.stubOffset();\
6548
+  return emitNewArrayObjectResult(arrayLength, shapeOffset, siteOffset);\
6549
+}\
6550
+\
6551
+[[nodiscard]] bool emitCallStringConcatResult(StringOperandId lhsId, StringOperandId rhsId);\
6552
+[[nodiscard]] bool emitCallStringConcatResult(CacheIRReader& reader) {\
6553
+  StringOperandId lhsId = reader.stringOperandId();\
6554
+  StringOperandId rhsId = reader.stringOperandId();\
6555
+  return emitCallStringConcatResult(lhsId, rhsId);\
6556
+}\
6557
+\
6558
+[[nodiscard]] bool emitCompareStringResult(JSOp op, StringOperandId lhsId, StringOperandId rhsId);\
6559
+[[nodiscard]] bool emitCompareStringResult(CacheIRReader& reader) {\
6560
+  JSOp op = reader.jsop();\
6561
+  StringOperandId lhsId = reader.stringOperandId();\
6562
+  StringOperandId rhsId = reader.stringOperandId();\
6563
+  return emitCompareStringResult(op, lhsId, rhsId);\
6564
+}\
6565
+\
6566
+[[nodiscard]] bool emitCompareObjectResult(JSOp op, ObjOperandId lhsId, ObjOperandId rhsId);\
6567
+[[nodiscard]] bool emitCompareObjectResult(CacheIRReader& reader) {\
6568
+  JSOp op = reader.jsop();\
6569
+  ObjOperandId lhsId = reader.objOperandId();\
6570
+  ObjOperandId rhsId = reader.objOperandId();\
6571
+  return emitCompareObjectResult(op, lhsId, rhsId);\
6572
+}\
6573
+\
6574
+[[nodiscard]] bool emitCompareSymbolResult(JSOp op, SymbolOperandId lhsId, SymbolOperandId rhsId);\
6575
+[[nodiscard]] bool emitCompareSymbolResult(CacheIRReader& reader) {\
6576
+  JSOp op = reader.jsop();\
6577
+  SymbolOperandId lhsId = reader.symbolOperandId();\
6578
+  SymbolOperandId rhsId = reader.symbolOperandId();\
6579
+  return emitCompareSymbolResult(op, lhsId, rhsId);\
6580
+}\
6581
+\
6582
+[[nodiscard]] bool emitCompareInt32Result(JSOp op, Int32OperandId lhsId, Int32OperandId rhsId);\
6583
+[[nodiscard]] bool emitCompareInt32Result(CacheIRReader& reader) {\
6584
+  JSOp op = reader.jsop();\
6585
+  Int32OperandId lhsId = reader.int32OperandId();\
6586
+  Int32OperandId rhsId = reader.int32OperandId();\
6587
+  return emitCompareInt32Result(op, lhsId, rhsId);\
6588
+}\
6589
+\
6590
+[[nodiscard]] bool emitCompareDoubleResult(JSOp op, NumberOperandId lhsId, NumberOperandId rhsId);\
6591
+[[nodiscard]] bool emitCompareDoubleResult(CacheIRReader& reader) {\
6592
+  JSOp op = reader.jsop();\
6593
+  NumberOperandId lhsId = reader.numberOperandId();\
6594
+  NumberOperandId rhsId = reader.numberOperandId();\
6595
+  return emitCompareDoubleResult(op, lhsId, rhsId);\
6596
+}\
6597
+\
6598
+[[nodiscard]] bool emitCompareBigIntResult(JSOp op, BigIntOperandId lhsId, BigIntOperandId rhsId);\
6599
+[[nodiscard]] bool emitCompareBigIntResult(CacheIRReader& reader) {\
6600
+  JSOp op = reader.jsop();\
6601
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6602
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
6603
+  return emitCompareBigIntResult(op, lhsId, rhsId);\
6604
+}\
6605
+\
6606
+[[nodiscard]] bool emitCompareBigIntInt32Result(JSOp op, BigIntOperandId lhsId, Int32OperandId rhsId);\
6607
+[[nodiscard]] bool emitCompareBigIntInt32Result(CacheIRReader& reader) {\
6608
+  JSOp op = reader.jsop();\
6609
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6610
+  Int32OperandId rhsId = reader.int32OperandId();\
6611
+  return emitCompareBigIntInt32Result(op, lhsId, rhsId);\
6612
+}\
6613
+\
6614
+[[nodiscard]] bool emitCompareBigIntNumberResult(JSOp op, BigIntOperandId lhsId, NumberOperandId rhsId);\
6615
+[[nodiscard]] bool emitCompareBigIntNumberResult(CacheIRReader& reader) {\
6616
+  JSOp op = reader.jsop();\
6617
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6618
+  NumberOperandId rhsId = reader.numberOperandId();\
6619
+  return emitCompareBigIntNumberResult(op, lhsId, rhsId);\
6620
+}\
6621
+\
6622
+[[nodiscard]] bool emitCompareBigIntStringResult(JSOp op, BigIntOperandId lhsId, StringOperandId rhsId);\
6623
+[[nodiscard]] bool emitCompareBigIntStringResult(CacheIRReader& reader) {\
6624
+  JSOp op = reader.jsop();\
6625
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
6626
+  StringOperandId rhsId = reader.stringOperandId();\
6627
+  return emitCompareBigIntStringResult(op, lhsId, rhsId);\
6628
+}\
6629
+\
6630
+[[nodiscard]] bool emitCompareNullUndefinedResult(JSOp op, bool isUndefined, ValOperandId inputId);\
6631
+[[nodiscard]] bool emitCompareNullUndefinedResult(CacheIRReader& reader) {\
6632
+  JSOp op = reader.jsop();\
6633
+  bool isUndefined = reader.readBool();\
6634
+  ValOperandId inputId = reader.valOperandId();\
6635
+  return emitCompareNullUndefinedResult(op, isUndefined, inputId);\
6636
+}\
6637
+\
6638
+[[nodiscard]] bool emitCompareDoubleSameValueResult(NumberOperandId lhsId, NumberOperandId rhsId);\
6639
+[[nodiscard]] bool emitCompareDoubleSameValueResult(CacheIRReader& reader) {\
6640
+  NumberOperandId lhsId = reader.numberOperandId();\
6641
+  NumberOperandId rhsId = reader.numberOperandId();\
6642
+  return emitCompareDoubleSameValueResult(lhsId, rhsId);\
6643
+}\
6644
+\
6645
+[[nodiscard]] bool emitSameValueResult(ValOperandId lhsId, ValOperandId rhsId);\
6646
+[[nodiscard]] bool emitSameValueResult(CacheIRReader& reader) {\
6647
+  ValOperandId lhsId = reader.valOperandId();\
6648
+  ValOperandId rhsId = reader.valOperandId();\
6649
+  return emitSameValueResult(lhsId, rhsId);\
6650
+}\
6651
+\
6652
+[[nodiscard]] bool emitIndirectTruncateInt32Result(Int32OperandId valId);\
6653
+[[nodiscard]] bool emitIndirectTruncateInt32Result(CacheIRReader& reader) {\
6654
+  Int32OperandId valId = reader.int32OperandId();\
6655
+  return emitIndirectTruncateInt32Result(valId);\
6656
+}\
6657
+\
6658
+[[nodiscard]] bool emitBigIntAsIntNResult(Int32OperandId bitsId, BigIntOperandId bigIntId);\
6659
+[[nodiscard]] bool emitBigIntAsIntNResult(CacheIRReader& reader) {\
6660
+  Int32OperandId bitsId = reader.int32OperandId();\
6661
+  BigIntOperandId bigIntId = reader.bigIntOperandId();\
6662
+  return emitBigIntAsIntNResult(bitsId, bigIntId);\
6663
+}\
6664
+\
6665
+[[nodiscard]] bool emitBigIntAsUintNResult(Int32OperandId bitsId, BigIntOperandId bigIntId);\
6666
+[[nodiscard]] bool emitBigIntAsUintNResult(CacheIRReader& reader) {\
6667
+  Int32OperandId bitsId = reader.int32OperandId();\
6668
+  BigIntOperandId bigIntId = reader.bigIntOperandId();\
6669
+  return emitBigIntAsUintNResult(bitsId, bigIntId);\
6670
+}\
6671
+\
6672
+[[nodiscard]] bool emitBailout();\
6673
+[[nodiscard]] bool emitBailout(CacheIRReader& reader) {\
6674
+  return emitBailout();\
6675
+}\
6676
+\
6677
+[[nodiscard]] bool emitAssertRecoveredOnBailoutResult(ValOperandId valId, bool mustBeRecovered);\
6678
+[[nodiscard]] bool emitAssertRecoveredOnBailoutResult(CacheIRReader& reader) {\
6679
+  ValOperandId valId = reader.valOperandId();\
6680
+  bool mustBeRecovered = reader.readBool();\
6681
+  return emitAssertRecoveredOnBailoutResult(valId, mustBeRecovered);\
6682
+}\
6683
+
6684
+
6685
+#define CACHE_IR_TRANSPILER_OPS(_)\
6686
+_(ReturnFromIC)\
6687
+_(GuardToObject)\
6688
+_(GuardIsNullOrUndefined)\
6689
+_(GuardIsNull)\
6690
+_(GuardIsUndefined)\
6691
+_(GuardToBoolean)\
6692
+_(GuardToString)\
6693
+_(GuardToSymbol)\
6694
+_(GuardToBigInt)\
6695
+_(GuardIsNumber)\
6696
+_(GuardToInt32)\
6697
+_(GuardBooleanToInt32)\
6698
+_(GuardToInt32Index)\
6699
+_(Int32ToIntPtr)\
6700
+_(GuardNumberToIntPtrIndex)\
6701
+_(GuardToInt32ModUint32)\
6702
+_(GuardToUint8Clamped)\
6703
+_(GuardNonDoubleType)\
6704
+_(GuardShape)\
6705
+_(GuardProto)\
6706
+_(GuardNullProto)\
6707
+_(GuardClass)\
6708
+_(GuardAnyClass)\
6709
+_(HasClassResult)\
6710
+_(CallRegExpMatcherResult)\
6711
+_(CallRegExpSearcherResult)\
6712
+_(CallRegExpTesterResult)\
6713
+_(RegExpFlagResult)\
6714
+_(CallSubstringKernelResult)\
6715
+_(StringReplaceStringResult)\
6716
+_(StringSplitStringResult)\
6717
+_(RegExpPrototypeOptimizableResult)\
6718
+_(RegExpInstanceOptimizableResult)\
6719
+_(GetFirstDollarIndexResult)\
6720
+_(GuardIsExtensible)\
6721
+_(GuardIsNativeObject)\
6722
+_(GuardIsProxy)\
6723
+_(GuardIsNotProxy)\
6724
+_(GuardIsNotArrayBufferMaybeShared)\
6725
+_(GuardIsTypedArray)\
6726
+_(GuardIsNotDOMProxy)\
6727
+_(GuardSpecificObject)\
6728
+_(GuardSpecificFunction)\
6729
+_(GuardFunctionScript)\
6730
+_(GuardSpecificAtom)\
6731
+_(GuardSpecificSymbol)\
6732
+_(GuardNoDenseElements)\
6733
+_(GuardStringToIndex)\
6734
+_(GuardStringToInt32)\
6735
+_(GuardStringToNumber)\
6736
+_(BooleanToNumber)\
6737
+_(GuardHasGetterSetter)\
6738
+_(GuardInt32IsNonNegative)\
6739
+_(GuardIndexIsValidUpdateOrAdd)\
6740
+_(GuardIndexGreaterThanDenseInitLength)\
6741
+_(GuardTagNotEqual)\
6742
+_(GuardDynamicSlotIsSpecificObject)\
6743
+_(GuardFixedSlotValue)\
6744
+_(GuardDynamicSlotValue)\
6745
+_(GuardNoAllocationMetadataBuilder)\
6746
+_(GuardFunctionHasJitEntry)\
6747
+_(GuardFunctionHasNoJitEntry)\
6748
+_(GuardFunctionIsNonBuiltinCtor)\
6749
+_(GuardFunctionIsConstructor)\
6750
+_(GuardNotClassConstructor)\
6751
+_(GuardArrayIsPacked)\
6752
+_(GuardArgumentsObjectFlags)\
6753
+_(LoadObject)\
6754
+_(LoadProto)\
6755
+_(LoadEnclosingEnvironment)\
6756
+_(LoadWrapperTarget)\
6757
+_(LoadValueTag)\
6758
+_(LoadArgumentFixedSlot)\
6759
+_(LoadArgumentDynamicSlot)\
6760
+_(TruncateDoubleToUInt32)\
6761
+_(MegamorphicLoadSlotResult)\
6762
+_(MegamorphicLoadSlotByValueResult)\
6763
+_(MegamorphicStoreSlot)\
6764
+_(MegamorphicSetElement)\
6765
+_(MegamorphicHasPropResult)\
6766
+_(LoadDOMExpandoValue)\
6767
+_(LoadDOMExpandoValueGuardGeneration)\
6768
+_(LoadDOMExpandoValueIgnoreGeneration)\
6769
+_(GuardDOMExpandoMissingOrGuardShape)\
6770
+_(StoreFixedSlot)\
6771
+_(StoreDynamicSlot)\
6772
+_(AddAndStoreFixedSlot)\
6773
+_(AddAndStoreDynamicSlot)\
6774
+_(AllocateAndStoreDynamicSlot)\
6775
+_(StoreDenseElement)\
6776
+_(StoreDenseElementHole)\
6777
+_(ArrayPush)\
6778
+_(ArrayJoinResult)\
6779
+_(PackedArrayPopResult)\
6780
+_(PackedArrayShiftResult)\
6781
+_(PackedArraySliceResult)\
6782
+_(IsArrayResult)\
6783
+_(StoreFixedSlotUndefinedResult)\
6784
+_(IsObjectResult)\
6785
+_(IsPackedArrayResult)\
6786
+_(IsCallableResult)\
6787
+_(IsConstructorResult)\
6788
+_(IsCrossRealmArrayConstructorResult)\
6789
+_(IsTypedArrayResult)\
6790
+_(IsTypedArrayConstructorResult)\
6791
+_(ArrayBufferViewByteOffsetInt32Result)\
6792
+_(ArrayBufferViewByteOffsetDoubleResult)\
6793
+_(TypedArrayByteLengthInt32Result)\
6794
+_(TypedArrayByteLengthDoubleResult)\
6795
+_(TypedArrayElementSizeResult)\
6796
+_(GuardHasAttachedArrayBuffer)\
6797
+_(FinishBoundFunctionInitResult)\
6798
+_(NewArrayIteratorResult)\
6799
+_(NewStringIteratorResult)\
6800
+_(NewRegExpStringIteratorResult)\
6801
+_(ObjectCreateResult)\
6802
+_(NewArrayFromLengthResult)\
6803
+_(NewTypedArrayFromLengthResult)\
6804
+_(NewTypedArrayFromArrayBufferResult)\
6805
+_(NewTypedArrayFromArrayResult)\
6806
+_(NewStringObjectResult)\
6807
+_(StringFromCharCodeResult)\
6808
+_(StringFromCodePointResult)\
6809
+_(StringToLowerCaseResult)\
6810
+_(StringToUpperCaseResult)\
6811
+_(MathAbsInt32Result)\
6812
+_(MathAbsNumberResult)\
6813
+_(MathClz32Result)\
6814
+_(MathSignInt32Result)\
6815
+_(MathSignNumberResult)\
6816
+_(MathSignNumberToInt32Result)\
6817
+_(MathImulResult)\
6818
+_(MathSqrtNumberResult)\
6819
+_(MathFRoundNumberResult)\
6820
+_(MathRandomResult)\
6821
+_(MathHypot2NumberResult)\
6822
+_(MathHypot3NumberResult)\
6823
+_(MathHypot4NumberResult)\
6824
+_(MathAtan2NumberResult)\
6825
+_(MathFloorNumberResult)\
6826
+_(MathCeilNumberResult)\
6827
+_(MathTruncNumberResult)\
6828
+_(MathFloorToInt32Result)\
6829
+_(MathCeilToInt32Result)\
6830
+_(MathTruncToInt32Result)\
6831
+_(MathRoundToInt32Result)\
6832
+_(Int32MinMax)\
6833
+_(NumberMinMax)\
6834
+_(Int32MinMaxArrayResult)\
6835
+_(NumberMinMaxArrayResult)\
6836
+_(MathFunctionNumberResult)\
6837
+_(ObjectToStringResult)\
6838
+_(ReflectGetPrototypeOfResult)\
6839
+_(StoreTypedArrayElement)\
6840
+_(AtomicsCompareExchangeResult)\
6841
+_(AtomicsExchangeResult)\
6842
+_(AtomicsAddResult)\
6843
+_(AtomicsSubResult)\
6844
+_(AtomicsAndResult)\
6845
+_(AtomicsOrResult)\
6846
+_(AtomicsXorResult)\
6847
+_(AtomicsLoadResult)\
6848
+_(AtomicsStoreResult)\
6849
+_(AtomicsIsLockFreeResult)\
6850
+_(CallNativeSetter)\
6851
+_(CallScriptedSetter)\
6852
+_(CallInlinedSetter)\
6853
+_(CallDOMSetter)\
6854
+_(CallSetArrayLength)\
6855
+_(ProxySet)\
6856
+_(ProxySetByValue)\
6857
+_(CallAddOrUpdateSparseElementHelper)\
6858
+_(CallInt32ToString)\
6859
+_(CallNumberToString)\
6860
+_(BooleanToString)\
6861
+_(CallScriptedFunction)\
6862
+_(CallWasmFunction)\
6863
+_(GuardWasmArg)\
6864
+_(CallNativeFunction)\
6865
+_(CallDOMFunction)\
6866
+_(CallInlinedFunction)\
6867
+_(MetaTwoByte)\
6868
+_(LoadFixedSlotResult)\
6869
+_(LoadFixedSlotTypedResult)\
6870
+_(LoadDynamicSlotResult)\
6871
+_(LoadDenseElementResult)\
6872
+_(LoadDenseElementHoleResult)\
6873
+_(CallGetSparseElementResult)\
6874
+_(LoadDenseElementExistsResult)\
6875
+_(LoadTypedArrayElementExistsResult)\
6876
+_(LoadDenseElementHoleExistsResult)\
6877
+_(LoadTypedArrayElementResult)\
6878
+_(LoadDataViewValueResult)\
6879
+_(StoreDataViewValueResult)\
6880
+_(LoadInt32ArrayLengthResult)\
6881
+_(LoadInt32ArrayLength)\
6882
+_(LoadArgumentsObjectArgResult)\
6883
+_(LoadArgumentsObjectLengthResult)\
6884
+_(LoadFunctionLengthResult)\
6885
+_(LoadFunctionNameResult)\
6886
+_(LoadArrayBufferByteLengthInt32Result)\
6887
+_(LoadArrayBufferByteLengthDoubleResult)\
6888
+_(LoadArrayBufferViewLengthInt32Result)\
6889
+_(LoadArrayBufferViewLengthDoubleResult)\
6890
+_(LoadStringCharResult)\
6891
+_(LoadStringCharCodeResult)\
6892
+_(LoadStringLengthResult)\
6893
+_(FrameIsConstructingResult)\
6894
+_(LoadEnvironmentFixedSlotResult)\
6895
+_(LoadEnvironmentDynamicSlotResult)\
6896
+_(LoadObjectResult)\
6897
+_(LoadStringResult)\
6898
+_(LoadSymbolResult)\
6899
+_(LoadInt32Result)\
6900
+_(LoadDoubleResult)\
6901
+_(LoadBigIntResult)\
6902
+_(CallScriptedGetterResult)\
6903
+_(CallInlinedGetterResult)\
6904
+_(CallNativeGetterResult)\
6905
+_(CallDOMGetterResult)\
6906
+_(ProxyGetResult)\
6907
+_(ProxyGetByValueResult)\
6908
+_(ProxyHasPropResult)\
6909
+_(CallObjectHasSparseElementResult)\
6910
+_(CallNativeGetElementResult)\
6911
+_(GetNextMapSetEntryForIteratorResult)\
6912
+_(LoadUndefinedResult)\
6913
+_(LoadBooleanResult)\
6914
+_(LoadInt32Constant)\
6915
+_(LoadBooleanConstant)\
6916
+_(LoadUndefined)\
6917
+_(LoadConstantString)\
6918
+_(LoadConstantStringResult)\
6919
+_(LoadInstanceOfObjectResult)\
6920
+_(LoadTypeOfObjectResult)\
6921
+_(DoubleAddResult)\
6922
+_(DoubleSubResult)\
6923
+_(DoubleMulResult)\
6924
+_(DoubleDivResult)\
6925
+_(DoubleModResult)\
6926
+_(DoublePowResult)\
6927
+_(Int32AddResult)\
6928
+_(Int32SubResult)\
6929
+_(Int32MulResult)\
6930
+_(Int32DivResult)\
6931
+_(Int32ModResult)\
6932
+_(Int32PowResult)\
6933
+_(BigIntAddResult)\
6934
+_(BigIntSubResult)\
6935
+_(BigIntMulResult)\
6936
+_(BigIntDivResult)\
6937
+_(BigIntModResult)\
6938
+_(BigIntPowResult)\
6939
+_(Int32BitOrResult)\
6940
+_(Int32BitXorResult)\
6941
+_(Int32BitAndResult)\
6942
+_(Int32LeftShiftResult)\
6943
+_(Int32RightShiftResult)\
6944
+_(Int32URightShiftResult)\
6945
+_(Int32NotResult)\
6946
+_(BigIntBitOrResult)\
6947
+_(BigIntBitXorResult)\
6948
+_(BigIntBitAndResult)\
6949
+_(BigIntLeftShiftResult)\
6950
+_(BigIntRightShiftResult)\
6951
+_(BigIntNotResult)\
6952
+_(Int32NegationResult)\
6953
+_(DoubleNegationResult)\
6954
+_(BigIntNegationResult)\
6955
+_(Int32IncResult)\
6956
+_(Int32DecResult)\
6957
+_(DoubleIncResult)\
6958
+_(DoubleDecResult)\
6959
+_(BigIntIncResult)\
6960
+_(BigIntDecResult)\
6961
+_(LoadInt32TruthyResult)\
6962
+_(LoadDoubleTruthyResult)\
6963
+_(LoadStringTruthyResult)\
6964
+_(LoadObjectTruthyResult)\
6965
+_(LoadBigIntTruthyResult)\
6966
+_(LoadValueTruthyResult)\
6967
+_(LoadOperandResult)\
6968
+_(NewPlainObjectResult)\
6969
+_(NewArrayObjectResult)\
6970
+_(CallStringConcatResult)\
6971
+_(CompareStringResult)\
6972
+_(CompareObjectResult)\
6973
+_(CompareSymbolResult)\
6974
+_(CompareInt32Result)\
6975
+_(CompareDoubleResult)\
6976
+_(CompareBigIntResult)\
6977
+_(CompareBigIntInt32Result)\
6978
+_(CompareBigIntNumberResult)\
6979
+_(CompareBigIntStringResult)\
6980
+_(CompareNullUndefinedResult)\
6981
+_(CompareDoubleSameValueResult)\
6982
+_(SameValueResult)\
6983
+_(IndirectTruncateInt32Result)\
6984
+_(BigIntAsIntNResult)\
6985
+_(BigIntAsUintNResult)\
6986
+_(Bailout)\
6987
+_(AssertRecoveredOnBailoutResult)
6988
+
6989
+#define CACHE_IR_SPEWER_GENERATED \
6990
+void spewReturnFromIC(CacheIRReader& reader) {\
6991
+  spewOp(CacheOp::ReturnFromIC);\
6992
+  spewOpEnd();\
6993
+}\
6994
+\
6995
+void spewGuardToObject(CacheIRReader& reader) {\
6996
+  spewOp(CacheOp::GuardToObject);\
6997
+  spewOperandId("inputId", reader.valOperandId());\
6998
+  spewOpEnd();\
6999
+}\
7000
+\
7001
+void spewGuardIsNullOrUndefined(CacheIRReader& reader) {\
7002
+  spewOp(CacheOp::GuardIsNullOrUndefined);\
7003
+  spewOperandId("inputId", reader.valOperandId());\
7004
+  spewOpEnd();\
7005
+}\
7006
+\
7007
+void spewGuardIsNull(CacheIRReader& reader) {\
7008
+  spewOp(CacheOp::GuardIsNull);\
7009
+  spewOperandId("inputId", reader.valOperandId());\
7010
+  spewOpEnd();\
7011
+}\
7012
+\
7013
+void spewGuardIsUndefined(CacheIRReader& reader) {\
7014
+  spewOp(CacheOp::GuardIsUndefined);\
7015
+  spewOperandId("inputId", reader.valOperandId());\
7016
+  spewOpEnd();\
7017
+}\
7018
+\
7019
+void spewGuardToBoolean(CacheIRReader& reader) {\
7020
+  spewOp(CacheOp::GuardToBoolean);\
7021
+  spewOperandId("inputId", reader.valOperandId());\
7022
+  spewOpEnd();\
7023
+}\
7024
+\
7025
+void spewGuardToString(CacheIRReader& reader) {\
7026
+  spewOp(CacheOp::GuardToString);\
7027
+  spewOperandId("inputId", reader.valOperandId());\
7028
+  spewOpEnd();\
7029
+}\
7030
+\
7031
+void spewGuardToSymbol(CacheIRReader& reader) {\
7032
+  spewOp(CacheOp::GuardToSymbol);\
7033
+  spewOperandId("inputId", reader.valOperandId());\
7034
+  spewOpEnd();\
7035
+}\
7036
+\
7037
+void spewGuardToBigInt(CacheIRReader& reader) {\
7038
+  spewOp(CacheOp::GuardToBigInt);\
7039
+  spewOperandId("inputId", reader.valOperandId());\
7040
+  spewOpEnd();\
7041
+}\
7042
+\
7043
+void spewGuardIsNumber(CacheIRReader& reader) {\
7044
+  spewOp(CacheOp::GuardIsNumber);\
7045
+  spewOperandId("inputId", reader.valOperandId());\
7046
+  spewOpEnd();\
7047
+}\
7048
+\
7049
+void spewGuardToInt32(CacheIRReader& reader) {\
7050
+  spewOp(CacheOp::GuardToInt32);\
7051
+  spewOperandId("inputId", reader.valOperandId());\
7052
+  spewOpEnd();\
7053
+}\
7054
+\
7055
+void spewGuardBooleanToInt32(CacheIRReader& reader) {\
7056
+  spewOp(CacheOp::GuardBooleanToInt32);\
7057
+  spewOperandId("inputId", reader.valOperandId());\
7058
+  spewArgSeparator();\
7059
+  spewOperandId("resultId", reader.int32OperandId());\
7060
+  spewOpEnd();\
7061
+}\
7062
+\
7063
+void spewGuardToInt32Index(CacheIRReader& reader) {\
7064
+  spewOp(CacheOp::GuardToInt32Index);\
7065
+  spewOperandId("inputId", reader.valOperandId());\
7066
+  spewArgSeparator();\
7067
+  spewOperandId("resultId", reader.int32OperandId());\
7068
+  spewOpEnd();\
7069
+}\
7070
+\
7071
+void spewInt32ToIntPtr(CacheIRReader& reader) {\
7072
+  spewOp(CacheOp::Int32ToIntPtr);\
7073
+  spewOperandId("inputId", reader.int32OperandId());\
7074
+  spewArgSeparator();\
7075
+  spewOperandId("resultId", reader.intPtrOperandId());\
7076
+  spewOpEnd();\
7077
+}\
7078
+\
7079
+void spewGuardNumberToIntPtrIndex(CacheIRReader& reader) {\
7080
+  spewOp(CacheOp::GuardNumberToIntPtrIndex);\
7081
+  spewOperandId("inputId", reader.numberOperandId());\
7082
+  spewArgSeparator();\
7083
+  spewBoolImm("supportOOB", reader.readBool());\
7084
+  spewArgSeparator();\
7085
+  spewOperandId("resultId", reader.intPtrOperandId());\
7086
+  spewOpEnd();\
7087
+}\
7088
+\
7089
+void spewGuardToInt32ModUint32(CacheIRReader& reader) {\
7090
+  spewOp(CacheOp::GuardToInt32ModUint32);\
7091
+  spewOperandId("inputId", reader.valOperandId());\
7092
+  spewArgSeparator();\
7093
+  spewOperandId("resultId", reader.int32OperandId());\
7094
+  spewOpEnd();\
7095
+}\
7096
+\
7097
+void spewGuardToUint8Clamped(CacheIRReader& reader) {\
7098
+  spewOp(CacheOp::GuardToUint8Clamped);\
7099
+  spewOperandId("inputId", reader.valOperandId());\
7100
+  spewArgSeparator();\
7101
+  spewOperandId("resultId", reader.int32OperandId());\
7102
+  spewOpEnd();\
7103
+}\
7104
+\
7105
+void spewGuardNonDoubleType(CacheIRReader& reader) {\
7106
+  spewOp(CacheOp::GuardNonDoubleType);\
7107
+  spewOperandId("inputId", reader.valOperandId());\
7108
+  spewArgSeparator();\
7109
+  spewValueTypeImm("type", reader.valueType());\
7110
+  spewOpEnd();\
7111
+}\
7112
+\
7113
+void spewGuardShape(CacheIRReader& reader) {\
7114
+  spewOp(CacheOp::GuardShape);\
7115
+  spewOperandId("objId", reader.objOperandId());\
7116
+  spewArgSeparator();\
7117
+  spewField("shapeOffset", reader.stubOffset());\
7118
+  spewOpEnd();\
7119
+}\
7120
+\
7121
+void spewGuardProto(CacheIRReader& reader) {\
7122
+  spewOp(CacheOp::GuardProto);\
7123
+  spewOperandId("objId", reader.objOperandId());\
7124
+  spewArgSeparator();\
7125
+  spewField("protoOffset", reader.stubOffset());\
7126
+  spewOpEnd();\
7127
+}\
7128
+\
7129
+void spewGuardNullProto(CacheIRReader& reader) {\
7130
+  spewOp(CacheOp::GuardNullProto);\
7131
+  spewOperandId("objId", reader.objOperandId());\
7132
+  spewOpEnd();\
7133
+}\
7134
+\
7135
+void spewGuardClass(CacheIRReader& reader) {\
7136
+  spewOp(CacheOp::GuardClass);\
7137
+  spewOperandId("objId", reader.objOperandId());\
7138
+  spewArgSeparator();\
7139
+  spewGuardClassKindImm("kind", reader.guardClassKind());\
7140
+  spewOpEnd();\
7141
+}\
7142
+\
7143
+void spewGuardAnyClass(CacheIRReader& reader) {\
7144
+  spewOp(CacheOp::GuardAnyClass);\
7145
+  spewOperandId("objId", reader.objOperandId());\
7146
+  spewArgSeparator();\
7147
+  spewField("claspOffset", reader.stubOffset());\
7148
+  spewOpEnd();\
7149
+}\
7150
+\
7151
+void spewHasClassResult(CacheIRReader& reader) {\
7152
+  spewOp(CacheOp::HasClassResult);\
7153
+  spewOperandId("objId", reader.objOperandId());\
7154
+  spewArgSeparator();\
7155
+  spewField("claspOffset", reader.stubOffset());\
7156
+  spewOpEnd();\
7157
+}\
7158
+\
7159
+void spewCallRegExpMatcherResult(CacheIRReader& reader) {\
7160
+  spewOp(CacheOp::CallRegExpMatcherResult);\
7161
+  spewOperandId("regexpId", reader.objOperandId());\
7162
+  spewArgSeparator();\
7163
+  spewOperandId("inputId", reader.stringOperandId());\
7164
+  spewArgSeparator();\
7165
+  spewOperandId("lastIndexId", reader.int32OperandId());\
7166
+  spewOpEnd();\
7167
+}\
7168
+\
7169
+void spewCallRegExpSearcherResult(CacheIRReader& reader) {\
7170
+  spewOp(CacheOp::CallRegExpSearcherResult);\
7171
+  spewOperandId("regexpId", reader.objOperandId());\
7172
+  spewArgSeparator();\
7173
+  spewOperandId("inputId", reader.stringOperandId());\
7174
+  spewArgSeparator();\
7175
+  spewOperandId("lastIndexId", reader.int32OperandId());\
7176
+  spewOpEnd();\
7177
+}\
7178
+\
7179
+void spewCallRegExpTesterResult(CacheIRReader& reader) {\
7180
+  spewOp(CacheOp::CallRegExpTesterResult);\
7181
+  spewOperandId("regexpId", reader.objOperandId());\
7182
+  spewArgSeparator();\
7183
+  spewOperandId("inputId", reader.stringOperandId());\
7184
+  spewArgSeparator();\
7185
+  spewOperandId("lastIndexId", reader.int32OperandId());\
7186
+  spewOpEnd();\
7187
+}\
7188
+\
7189
+void spewRegExpFlagResult(CacheIRReader& reader) {\
7190
+  spewOp(CacheOp::RegExpFlagResult);\
7191
+  spewOperandId("regexpId", reader.objOperandId());\
7192
+  spewArgSeparator();\
7193
+  spewInt32Imm("flagsMask", reader.int32Immediate());\
7194
+  spewOpEnd();\
7195
+}\
7196
+\
7197
+void spewCallSubstringKernelResult(CacheIRReader& reader) {\
7198
+  spewOp(CacheOp::CallSubstringKernelResult);\
7199
+  spewOperandId("strId", reader.stringOperandId());\
7200
+  spewArgSeparator();\
7201
+  spewOperandId("beginId", reader.int32OperandId());\
7202
+  spewArgSeparator();\
7203
+  spewOperandId("lengthId", reader.int32OperandId());\
7204
+  spewOpEnd();\
7205
+}\
7206
+\
7207
+void spewStringReplaceStringResult(CacheIRReader& reader) {\
7208
+  spewOp(CacheOp::StringReplaceStringResult);\
7209
+  spewOperandId("strId", reader.stringOperandId());\
7210
+  spewArgSeparator();\
7211
+  spewOperandId("patternId", reader.stringOperandId());\
7212
+  spewArgSeparator();\
7213
+  spewOperandId("replacementId", reader.stringOperandId());\
7214
+  spewOpEnd();\
7215
+}\
7216
+\
7217
+void spewStringSplitStringResult(CacheIRReader& reader) {\
7218
+  spewOp(CacheOp::StringSplitStringResult);\
7219
+  spewOperandId("strId", reader.stringOperandId());\
7220
+  spewArgSeparator();\
7221
+  spewOperandId("separatorId", reader.stringOperandId());\
7222
+  spewOpEnd();\
7223
+}\
7224
+\
7225
+void spewRegExpPrototypeOptimizableResult(CacheIRReader& reader) {\
7226
+  spewOp(CacheOp::RegExpPrototypeOptimizableResult);\
7227
+  spewOperandId("protoId", reader.objOperandId());\
7228
+  spewOpEnd();\
7229
+}\
7230
+\
7231
+void spewRegExpInstanceOptimizableResult(CacheIRReader& reader) {\
7232
+  spewOp(CacheOp::RegExpInstanceOptimizableResult);\
7233
+  spewOperandId("regexpId", reader.objOperandId());\
7234
+  spewArgSeparator();\
7235
+  spewOperandId("protoId", reader.objOperandId());\
7236
+  spewOpEnd();\
7237
+}\
7238
+\
7239
+void spewGetFirstDollarIndexResult(CacheIRReader& reader) {\
7240
+  spewOp(CacheOp::GetFirstDollarIndexResult);\
7241
+  spewOperandId("strId", reader.stringOperandId());\
7242
+  spewOpEnd();\
7243
+}\
7244
+\
7245
+void spewGuardCompartment(CacheIRReader& reader) {\
7246
+  spewOp(CacheOp::GuardCompartment);\
7247
+  spewOperandId("objId", reader.objOperandId());\
7248
+  spewArgSeparator();\
7249
+  spewField("globalOffset", reader.stubOffset());\
7250
+  spewArgSeparator();\
7251
+  spewField("compartmentOffset", reader.stubOffset());\
7252
+  spewOpEnd();\
7253
+}\
7254
+\
7255
+void spewGuardIsExtensible(CacheIRReader& reader) {\
7256
+  spewOp(CacheOp::GuardIsExtensible);\
7257
+  spewOperandId("objId", reader.objOperandId());\
7258
+  spewOpEnd();\
7259
+}\
7260
+\
7261
+void spewGuardIsNativeObject(CacheIRReader& reader) {\
7262
+  spewOp(CacheOp::GuardIsNativeObject);\
7263
+  spewOperandId("objId", reader.objOperandId());\
7264
+  spewOpEnd();\
7265
+}\
7266
+\
7267
+void spewGuardIsProxy(CacheIRReader& reader) {\
7268
+  spewOp(CacheOp::GuardIsProxy);\
7269
+  spewOperandId("objId", reader.objOperandId());\
7270
+  spewOpEnd();\
7271
+}\
7272
+\
7273
+void spewGuardIsNotProxy(CacheIRReader& reader) {\
7274
+  spewOp(CacheOp::GuardIsNotProxy);\
7275
+  spewOperandId("objId", reader.objOperandId());\
7276
+  spewOpEnd();\
7277
+}\
7278
+\
7279
+void spewGuardIsNotArrayBufferMaybeShared(CacheIRReader& reader) {\
7280
+  spewOp(CacheOp::GuardIsNotArrayBufferMaybeShared);\
7281
+  spewOperandId("objId", reader.objOperandId());\
7282
+  spewOpEnd();\
7283
+}\
7284
+\
7285
+void spewGuardIsTypedArray(CacheIRReader& reader) {\
7286
+  spewOp(CacheOp::GuardIsTypedArray);\
7287
+  spewOperandId("objId", reader.objOperandId());\
7288
+  spewOpEnd();\
7289
+}\
7290
+\
7291
+void spewGuardHasProxyHandler(CacheIRReader& reader) {\
7292
+  spewOp(CacheOp::GuardHasProxyHandler);\
7293
+  spewOperandId("objId", reader.objOperandId());\
7294
+  spewArgSeparator();\
7295
+  spewField("handlerOffset", reader.stubOffset());\
7296
+  spewOpEnd();\
7297
+}\
7298
+\
7299
+void spewGuardIsNotDOMProxy(CacheIRReader& reader) {\
7300
+  spewOp(CacheOp::GuardIsNotDOMProxy);\
7301
+  spewOperandId("objId", reader.objOperandId());\
7302
+  spewOpEnd();\
7303
+}\
7304
+\
7305
+void spewGuardSpecificObject(CacheIRReader& reader) {\
7306
+  spewOp(CacheOp::GuardSpecificObject);\
7307
+  spewOperandId("objId", reader.objOperandId());\
7308
+  spewArgSeparator();\
7309
+  spewField("expectedOffset", reader.stubOffset());\
7310
+  spewOpEnd();\
7311
+}\
7312
+\
7313
+void spewGuardSpecificFunction(CacheIRReader& reader) {\
7314
+  spewOp(CacheOp::GuardSpecificFunction);\
7315
+  spewOperandId("funId", reader.objOperandId());\
7316
+  spewArgSeparator();\
7317
+  spewField("expectedOffset", reader.stubOffset());\
7318
+  spewArgSeparator();\
7319
+  spewField("nargsAndFlagsOffset", reader.stubOffset());\
7320
+  spewOpEnd();\
7321
+}\
7322
+\
7323
+void spewGuardFunctionScript(CacheIRReader& reader) {\
7324
+  spewOp(CacheOp::GuardFunctionScript);\
7325
+  spewOperandId("objId", reader.objOperandId());\
7326
+  spewArgSeparator();\
7327
+  spewField("expectedOffset", reader.stubOffset());\
7328
+  spewArgSeparator();\
7329
+  spewField("nargsAndFlagsOffset", reader.stubOffset());\
7330
+  spewOpEnd();\
7331
+}\
7332
+\
7333
+void spewGuardSpecificAtom(CacheIRReader& reader) {\
7334
+  spewOp(CacheOp::GuardSpecificAtom);\
7335
+  spewOperandId("strId", reader.stringOperandId());\
7336
+  spewArgSeparator();\
7337
+  spewField("expectedOffset", reader.stubOffset());\
7338
+  spewOpEnd();\
7339
+}\
7340
+\
7341
+void spewGuardSpecificSymbol(CacheIRReader& reader) {\
7342
+  spewOp(CacheOp::GuardSpecificSymbol);\
7343
+  spewOperandId("symId", reader.symbolOperandId());\
7344
+  spewArgSeparator();\
7345
+  spewField("expectedOffset", reader.stubOffset());\
7346
+  spewOpEnd();\
7347
+}\
7348
+\
7349
+void spewGuardNoDenseElements(CacheIRReader& reader) {\
7350
+  spewOp(CacheOp::GuardNoDenseElements);\
7351
+  spewOperandId("objId", reader.objOperandId());\
7352
+  spewOpEnd();\
7353
+}\
7354
+\
7355
+void spewGuardStringToIndex(CacheIRReader& reader) {\
7356
+  spewOp(CacheOp::GuardStringToIndex);\
7357
+  spewOperandId("strId", reader.stringOperandId());\
7358
+  spewArgSeparator();\
7359
+  spewOperandId("resultId", reader.int32OperandId());\
7360
+  spewOpEnd();\
7361
+}\
7362
+\
7363
+void spewGuardStringToInt32(CacheIRReader& reader) {\
7364
+  spewOp(CacheOp::GuardStringToInt32);\
7365
+  spewOperandId("strId", reader.stringOperandId());\
7366
+  spewArgSeparator();\
7367
+  spewOperandId("resultId", reader.int32OperandId());\
7368
+  spewOpEnd();\
7369
+}\
7370
+\
7371
+void spewGuardStringToNumber(CacheIRReader& reader) {\
7372
+  spewOp(CacheOp::GuardStringToNumber);\
7373
+  spewOperandId("strId", reader.stringOperandId());\
7374
+  spewArgSeparator();\
7375
+  spewOperandId("resultId", reader.numberOperandId());\
7376
+  spewOpEnd();\
7377
+}\
7378
+\
7379
+void spewBooleanToNumber(CacheIRReader& reader) {\
7380
+  spewOp(CacheOp::BooleanToNumber);\
7381
+  spewOperandId("booleanId", reader.booleanOperandId());\
7382
+  spewArgSeparator();\
7383
+  spewOperandId("resultId", reader.numberOperandId());\
7384
+  spewOpEnd();\
7385
+}\
7386
+\
7387
+void spewGuardAndGetIterator(CacheIRReader& reader) {\
7388
+  spewOp(CacheOp::GuardAndGetIterator);\
7389
+  spewOperandId("objId", reader.objOperandId());\
7390
+  spewArgSeparator();\
7391
+  spewField("iterOffset", reader.stubOffset());\
7392
+  spewArgSeparator();\
7393
+  spewField("enumeratorsAddrOffset", reader.stubOffset());\
7394
+  spewArgSeparator();\
7395
+  spewOperandId("resultId", reader.objOperandId());\
7396
+  spewOpEnd();\
7397
+}\
7398
+\
7399
+void spewGuardHasGetterSetter(CacheIRReader& reader) {\
7400
+  spewOp(CacheOp::GuardHasGetterSetter);\
7401
+  spewOperandId("objId", reader.objOperandId());\
7402
+  spewArgSeparator();\
7403
+  spewField("idOffset", reader.stubOffset());\
7404
+  spewArgSeparator();\
7405
+  spewField("getterSetterOffset", reader.stubOffset());\
7406
+  spewOpEnd();\
7407
+}\
7408
+\
7409
+void spewGuardInt32IsNonNegative(CacheIRReader& reader) {\
7410
+  spewOp(CacheOp::GuardInt32IsNonNegative);\
7411
+  spewOperandId("indexId", reader.int32OperandId());\
7412
+  spewOpEnd();\
7413
+}\
7414
+\
7415
+void spewGuardIndexIsValidUpdateOrAdd(CacheIRReader& reader) {\
7416
+  spewOp(CacheOp::GuardIndexIsValidUpdateOrAdd);\
7417
+  spewOperandId("objId", reader.objOperandId());\
7418
+  spewArgSeparator();\
7419
+  spewOperandId("indexId", reader.int32OperandId());\
7420
+  spewOpEnd();\
7421
+}\
7422
+\
7423
+void spewGuardIndexGreaterThanDenseInitLength(CacheIRReader& reader) {\
7424
+  spewOp(CacheOp::GuardIndexGreaterThanDenseInitLength);\
7425
+  spewOperandId("objId", reader.objOperandId());\
7426
+  spewArgSeparator();\
7427
+  spewOperandId("indexId", reader.int32OperandId());\
7428
+  spewOpEnd();\
7429
+}\
7430
+\
7431
+void spewGuardTagNotEqual(CacheIRReader& reader) {\
7432
+  spewOp(CacheOp::GuardTagNotEqual);\
7433
+  spewOperandId("lhsId", reader.valueTagOperandId());\
7434
+  spewArgSeparator();\
7435
+  spewOperandId("rhsId", reader.valueTagOperandId());\
7436
+  spewOpEnd();\
7437
+}\
7438
+\
7439
+void spewGuardXrayExpandoShapeAndDefaultProto(CacheIRReader& reader) {\
7440
+  spewOp(CacheOp::GuardXrayExpandoShapeAndDefaultProto);\
7441
+  spewOperandId("objId", reader.objOperandId());\
7442
+  spewArgSeparator();\
7443
+  spewField("shapeWrapperOffset", reader.stubOffset());\
7444
+  spewOpEnd();\
7445
+}\
7446
+\
7447
+void spewGuardXrayNoExpando(CacheIRReader& reader) {\
7448
+  spewOp(CacheOp::GuardXrayNoExpando);\
7449
+  spewOperandId("objId", reader.objOperandId());\
7450
+  spewOpEnd();\
7451
+}\
7452
+\
7453
+void spewGuardDynamicSlotIsSpecificObject(CacheIRReader& reader) {\
7454
+  spewOp(CacheOp::GuardDynamicSlotIsSpecificObject);\
7455
+  spewOperandId("objId", reader.objOperandId());\
7456
+  spewArgSeparator();\
7457
+  spewOperandId("expectedId", reader.objOperandId());\
7458
+  spewArgSeparator();\
7459
+  spewField("slotOffset", reader.stubOffset());\
7460
+  spewOpEnd();\
7461
+}\
7462
+\
7463
+void spewGuardFixedSlotValue(CacheIRReader& reader) {\
7464
+  spewOp(CacheOp::GuardFixedSlotValue);\
7465
+  spewOperandId("objId", reader.objOperandId());\
7466
+  spewArgSeparator();\
7467
+  spewField("offsetOffset", reader.stubOffset());\
7468
+  spewArgSeparator();\
7469
+  spewField("valOffset", reader.stubOffset());\
7470
+  spewOpEnd();\
7471
+}\
7472
+\
7473
+void spewGuardDynamicSlotValue(CacheIRReader& reader) {\
7474
+  spewOp(CacheOp::GuardDynamicSlotValue);\
7475
+  spewOperandId("objId", reader.objOperandId());\
7476
+  spewArgSeparator();\
7477
+  spewField("offsetOffset", reader.stubOffset());\
7478
+  spewArgSeparator();\
7479
+  spewField("valOffset", reader.stubOffset());\
7480
+  spewOpEnd();\
7481
+}\
7482
+\
7483
+void spewGuardNoAllocationMetadataBuilder(CacheIRReader& reader) {\
7484
+  spewOp(CacheOp::GuardNoAllocationMetadataBuilder);\
7485
+  spewField("builderAddrOffset", reader.stubOffset());\
7486
+  spewOpEnd();\
7487
+}\
7488
+\
7489
+void spewGuardFunctionHasJitEntry(CacheIRReader& reader) {\
7490
+  spewOp(CacheOp::GuardFunctionHasJitEntry);\
7491
+  spewOperandId("funId", reader.objOperandId());\
7492
+  spewArgSeparator();\
7493
+  spewBoolImm("constructing", reader.readBool());\
7494
+  spewOpEnd();\
7495
+}\
7496
+\
7497
+void spewGuardFunctionHasNoJitEntry(CacheIRReader& reader) {\
7498
+  spewOp(CacheOp::GuardFunctionHasNoJitEntry);\
7499
+  spewOperandId("funId", reader.objOperandId());\
7500
+  spewOpEnd();\
7501
+}\
7502
+\
7503
+void spewGuardFunctionIsNonBuiltinCtor(CacheIRReader& reader) {\
7504
+  spewOp(CacheOp::GuardFunctionIsNonBuiltinCtor);\
7505
+  spewOperandId("funId", reader.objOperandId());\
7506
+  spewOpEnd();\
7507
+}\
7508
+\
7509
+void spewGuardFunctionIsConstructor(CacheIRReader& reader) {\
7510
+  spewOp(CacheOp::GuardFunctionIsConstructor);\
7511
+  spewOperandId("funId", reader.objOperandId());\
7512
+  spewOpEnd();\
7513
+}\
7514
+\
7515
+void spewGuardNotClassConstructor(CacheIRReader& reader) {\
7516
+  spewOp(CacheOp::GuardNotClassConstructor);\
7517
+  spewOperandId("funId", reader.objOperandId());\
7518
+  spewOpEnd();\
7519
+}\
7520
+\
7521
+void spewGuardArrayIsPacked(CacheIRReader& reader) {\
7522
+  spewOp(CacheOp::GuardArrayIsPacked);\
7523
+  spewOperandId("arrayId", reader.objOperandId());\
7524
+  spewOpEnd();\
7525
+}\
7526
+\
7527
+void spewGuardArgumentsObjectFlags(CacheIRReader& reader) {\
7528
+  spewOp(CacheOp::GuardArgumentsObjectFlags);\
7529
+  spewOperandId("objId", reader.objOperandId());\
7530
+  spewArgSeparator();\
7531
+  spewByteImm("flags", reader.readByte());\
7532
+  spewOpEnd();\
7533
+}\
7534
+\
7535
+void spewLoadObject(CacheIRReader& reader) {\
7536
+  spewOp(CacheOp::LoadObject);\
7537
+  spewOperandId("resultId", reader.objOperandId());\
7538
+  spewArgSeparator();\
7539
+  spewField("objOffset", reader.stubOffset());\
7540
+  spewOpEnd();\
7541
+}\
7542
+\
7543
+void spewLoadProto(CacheIRReader& reader) {\
7544
+  spewOp(CacheOp::LoadProto);\
7545
+  spewOperandId("objId", reader.objOperandId());\
7546
+  spewArgSeparator();\
7547
+  spewOperandId("resultId", reader.objOperandId());\
7548
+  spewOpEnd();\
7549
+}\
7550
+\
7551
+void spewLoadEnclosingEnvironment(CacheIRReader& reader) {\
7552
+  spewOp(CacheOp::LoadEnclosingEnvironment);\
7553
+  spewOperandId("objId", reader.objOperandId());\
7554
+  spewArgSeparator();\
7555
+  spewOperandId("resultId", reader.objOperandId());\
7556
+  spewOpEnd();\
7557
+}\
7558
+\
7559
+void spewLoadWrapperTarget(CacheIRReader& reader) {\
7560
+  spewOp(CacheOp::LoadWrapperTarget);\
7561
+  spewOperandId("objId", reader.objOperandId());\
7562
+  spewArgSeparator();\
7563
+  spewOperandId("resultId", reader.objOperandId());\
7564
+  spewOpEnd();\
7565
+}\
7566
+\
7567
+void spewLoadValueTag(CacheIRReader& reader) {\
7568
+  spewOp(CacheOp::LoadValueTag);\
7569
+  spewOperandId("valId", reader.valOperandId());\
7570
+  spewArgSeparator();\
7571
+  spewOperandId("resultId", reader.valueTagOperandId());\
7572
+  spewOpEnd();\
7573
+}\
7574
+\
7575
+void spewLoadArgumentFixedSlot(CacheIRReader& reader) {\
7576
+  spewOp(CacheOp::LoadArgumentFixedSlot);\
7577
+  spewOperandId("resultId", reader.valOperandId());\
7578
+  spewArgSeparator();\
7579
+  spewByteImm("slotIndex", reader.readByte());\
7580
+  spewOpEnd();\
7581
+}\
7582
+\
7583
+void spewLoadArgumentDynamicSlot(CacheIRReader& reader) {\
7584
+  spewOp(CacheOp::LoadArgumentDynamicSlot);\
7585
+  spewOperandId("resultId", reader.valOperandId());\
7586
+  spewArgSeparator();\
7587
+  spewOperandId("argcId", reader.int32OperandId());\
7588
+  spewArgSeparator();\
7589
+  spewByteImm("slotIndex", reader.readByte());\
7590
+  spewOpEnd();\
7591
+}\
7592
+\
7593
+void spewTruncateDoubleToUInt32(CacheIRReader& reader) {\
7594
+  spewOp(CacheOp::TruncateDoubleToUInt32);\
7595
+  spewOperandId("inputId", reader.numberOperandId());\
7596
+  spewArgSeparator();\
7597
+  spewOperandId("resultId", reader.int32OperandId());\
7598
+  spewOpEnd();\
7599
+}\
7600
+\
7601
+void spewMegamorphicLoadSlotResult(CacheIRReader& reader) {\
7602
+  spewOp(CacheOp::MegamorphicLoadSlotResult);\
7603
+  spewOperandId("objId", reader.objOperandId());\
7604
+  spewArgSeparator();\
7605
+  spewField("nameOffset", reader.stubOffset());\
7606
+  spewOpEnd();\
7607
+}\
7608
+\
7609
+void spewMegamorphicLoadSlotByValueResult(CacheIRReader& reader) {\
7610
+  spewOp(CacheOp::MegamorphicLoadSlotByValueResult);\
7611
+  spewOperandId("objId", reader.objOperandId());\
7612
+  spewArgSeparator();\
7613
+  spewOperandId("idId", reader.valOperandId());\
7614
+  spewOpEnd();\
7615
+}\
7616
+\
7617
+void spewMegamorphicStoreSlot(CacheIRReader& reader) {\
7618
+  spewOp(CacheOp::MegamorphicStoreSlot);\
7619
+  spewOperandId("objId", reader.objOperandId());\
7620
+  spewArgSeparator();\
7621
+  spewField("nameOffset", reader.stubOffset());\
7622
+  spewArgSeparator();\
7623
+  spewOperandId("rhsId", reader.valOperandId());\
7624
+  spewOpEnd();\
7625
+}\
7626
+\
7627
+void spewMegamorphicSetElement(CacheIRReader& reader) {\
7628
+  spewOp(CacheOp::MegamorphicSetElement);\
7629
+  spewOperandId("objId", reader.objOperandId());\
7630
+  spewArgSeparator();\
7631
+  spewOperandId("idId", reader.valOperandId());\
7632
+  spewArgSeparator();\
7633
+  spewOperandId("rhsId", reader.valOperandId());\
7634
+  spewArgSeparator();\
7635
+  spewBoolImm("strict", reader.readBool());\
7636
+  spewOpEnd();\
7637
+}\
7638
+\
7639
+void spewMegamorphicHasPropResult(CacheIRReader& reader) {\
7640
+  spewOp(CacheOp::MegamorphicHasPropResult);\
7641
+  spewOperandId("objId", reader.objOperandId());\
7642
+  spewArgSeparator();\
7643
+  spewOperandId("idId", reader.valOperandId());\
7644
+  spewArgSeparator();\
7645
+  spewBoolImm("hasOwn", reader.readBool());\
7646
+  spewOpEnd();\
7647
+}\
7648
+\
7649
+void spewLoadDOMExpandoValue(CacheIRReader& reader) {\
7650
+  spewOp(CacheOp::LoadDOMExpandoValue);\
7651
+  spewOperandId("objId", reader.objOperandId());\
7652
+  spewArgSeparator();\
7653
+  spewOperandId("resultId", reader.valOperandId());\
7654
+  spewOpEnd();\
7655
+}\
7656
+\
7657
+void spewLoadDOMExpandoValueGuardGeneration(CacheIRReader& reader) {\
7658
+  spewOp(CacheOp::LoadDOMExpandoValueGuardGeneration);\
7659
+  spewOperandId("objId", reader.objOperandId());\
7660
+  spewArgSeparator();\
7661
+  spewField("expandoAndGenerationOffset", reader.stubOffset());\
7662
+  spewArgSeparator();\
7663
+  spewField("generationOffset", reader.stubOffset());\
7664
+  spewArgSeparator();\
7665
+  spewOperandId("resultId", reader.valOperandId());\
7666
+  spewOpEnd();\
7667
+}\
7668
+\
7669
+void spewLoadDOMExpandoValueIgnoreGeneration(CacheIRReader& reader) {\
7670
+  spewOp(CacheOp::LoadDOMExpandoValueIgnoreGeneration);\
7671
+  spewOperandId("objId", reader.objOperandId());\
7672
+  spewArgSeparator();\
7673
+  spewOperandId("resultId", reader.valOperandId());\
7674
+  spewOpEnd();\
7675
+}\
7676
+\
7677
+void spewGuardDOMExpandoMissingOrGuardShape(CacheIRReader& reader) {\
7678
+  spewOp(CacheOp::GuardDOMExpandoMissingOrGuardShape);\
7679
+  spewOperandId("expandoId", reader.valOperandId());\
7680
+  spewArgSeparator();\
7681
+  spewField("shapeOffset", reader.stubOffset());\
7682
+  spewOpEnd();\
7683
+}\
7684
+\
7685
+void spewStoreFixedSlot(CacheIRReader& reader) {\
7686
+  spewOp(CacheOp::StoreFixedSlot);\
7687
+  spewOperandId("objId", reader.objOperandId());\
7688
+  spewArgSeparator();\
7689
+  spewField("offsetOffset", reader.stubOffset());\
7690
+  spewArgSeparator();\
7691
+  spewOperandId("rhsId", reader.valOperandId());\
7692
+  spewOpEnd();\
7693
+}\
7694
+\
7695
+void spewStoreDynamicSlot(CacheIRReader& reader) {\
7696
+  spewOp(CacheOp::StoreDynamicSlot);\
7697
+  spewOperandId("objId", reader.objOperandId());\
7698
+  spewArgSeparator();\
7699
+  spewField("offsetOffset", reader.stubOffset());\
7700
+  spewArgSeparator();\
7701
+  spewOperandId("rhsId", reader.valOperandId());\
7702
+  spewOpEnd();\
7703
+}\
7704
+\
7705
+void spewAddAndStoreFixedSlot(CacheIRReader& reader) {\
7706
+  spewOp(CacheOp::AddAndStoreFixedSlot);\
7707
+  spewOperandId("objId", reader.objOperandId());\
7708
+  spewArgSeparator();\
7709
+  spewField("offsetOffset", reader.stubOffset());\
7710
+  spewArgSeparator();\
7711
+  spewOperandId("rhsId", reader.valOperandId());\
7712
+  spewArgSeparator();\
7713
+  spewField("newShapeOffset", reader.stubOffset());\
7714
+  spewOpEnd();\
7715
+}\
7716
+\
7717
+void spewAddAndStoreDynamicSlot(CacheIRReader& reader) {\
7718
+  spewOp(CacheOp::AddAndStoreDynamicSlot);\
7719
+  spewOperandId("objId", reader.objOperandId());\
7720
+  spewArgSeparator();\
7721
+  spewField("offsetOffset", reader.stubOffset());\
7722
+  spewArgSeparator();\
7723
+  spewOperandId("rhsId", reader.valOperandId());\
7724
+  spewArgSeparator();\
7725
+  spewField("newShapeOffset", reader.stubOffset());\
7726
+  spewOpEnd();\
7727
+}\
7728
+\
7729
+void spewAllocateAndStoreDynamicSlot(CacheIRReader& reader) {\
7730
+  spewOp(CacheOp::AllocateAndStoreDynamicSlot);\
7731
+  spewOperandId("objId", reader.objOperandId());\
7732
+  spewArgSeparator();\
7733
+  spewField("offsetOffset", reader.stubOffset());\
7734
+  spewArgSeparator();\
7735
+  spewOperandId("rhsId", reader.valOperandId());\
7736
+  spewArgSeparator();\
7737
+  spewField("newShapeOffset", reader.stubOffset());\
7738
+  spewArgSeparator();\
7739
+  spewField("numNewSlotsOffset", reader.stubOffset());\
7740
+  spewOpEnd();\
7741
+}\
7742
+\
7743
+void spewStoreDenseElement(CacheIRReader& reader) {\
7744
+  spewOp(CacheOp::StoreDenseElement);\
7745
+  spewOperandId("objId", reader.objOperandId());\
7746
+  spewArgSeparator();\
7747
+  spewOperandId("indexId", reader.int32OperandId());\
7748
+  spewArgSeparator();\
7749
+  spewOperandId("rhsId", reader.valOperandId());\
7750
+  spewOpEnd();\
7751
+}\
7752
+\
7753
+void spewStoreDenseElementHole(CacheIRReader& reader) {\
7754
+  spewOp(CacheOp::StoreDenseElementHole);\
7755
+  spewOperandId("objId", reader.objOperandId());\
7756
+  spewArgSeparator();\
7757
+  spewOperandId("indexId", reader.int32OperandId());\
7758
+  spewArgSeparator();\
7759
+  spewOperandId("rhsId", reader.valOperandId());\
7760
+  spewArgSeparator();\
7761
+  spewBoolImm("handleAdd", reader.readBool());\
7762
+  spewOpEnd();\
7763
+}\
7764
+\
7765
+void spewArrayPush(CacheIRReader& reader) {\
7766
+  spewOp(CacheOp::ArrayPush);\
7767
+  spewOperandId("objId", reader.objOperandId());\
7768
+  spewArgSeparator();\
7769
+  spewOperandId("rhsId", reader.valOperandId());\
7770
+  spewOpEnd();\
7771
+}\
7772
+\
7773
+void spewArrayJoinResult(CacheIRReader& reader) {\
7774
+  spewOp(CacheOp::ArrayJoinResult);\
7775
+  spewOperandId("objId", reader.objOperandId());\
7776
+  spewArgSeparator();\
7777
+  spewOperandId("sepId", reader.stringOperandId());\
7778
+  spewOpEnd();\
7779
+}\
7780
+\
7781
+void spewPackedArrayPopResult(CacheIRReader& reader) {\
7782
+  spewOp(CacheOp::PackedArrayPopResult);\
7783
+  spewOperandId("arrayId", reader.objOperandId());\
7784
+  spewOpEnd();\
7785
+}\
7786
+\
7787
+void spewPackedArrayShiftResult(CacheIRReader& reader) {\
7788
+  spewOp(CacheOp::PackedArrayShiftResult);\
7789
+  spewOperandId("arrayId", reader.objOperandId());\
7790
+  spewOpEnd();\
7791
+}\
7792
+\
7793
+void spewPackedArraySliceResult(CacheIRReader& reader) {\
7794
+  spewOp(CacheOp::PackedArraySliceResult);\
7795
+  spewField("templateObjectOffset", reader.stubOffset());\
7796
+  spewArgSeparator();\
7797
+  spewOperandId("arrayId", reader.objOperandId());\
7798
+  spewArgSeparator();\
7799
+  spewOperandId("beginId", reader.int32OperandId());\
7800
+  spewArgSeparator();\
7801
+  spewOperandId("endId", reader.int32OperandId());\
7802
+  spewOpEnd();\
7803
+}\
7804
+\
7805
+void spewIsArrayResult(CacheIRReader& reader) {\
7806
+  spewOp(CacheOp::IsArrayResult);\
7807
+  spewOperandId("inputId", reader.valOperandId());\
7808
+  spewOpEnd();\
7809
+}\
7810
+\
7811
+void spewStoreFixedSlotUndefinedResult(CacheIRReader& reader) {\
7812
+  spewOp(CacheOp::StoreFixedSlotUndefinedResult);\
7813
+  spewOperandId("objId", reader.objOperandId());\
7814
+  spewArgSeparator();\
7815
+  spewField("offsetOffset", reader.stubOffset());\
7816
+  spewArgSeparator();\
7817
+  spewOperandId("rhsId", reader.valOperandId());\
7818
+  spewOpEnd();\
7819
+}\
7820
+\
7821
+void spewIsObjectResult(CacheIRReader& reader) {\
7822
+  spewOp(CacheOp::IsObjectResult);\
7823
+  spewOperandId("inputId", reader.valOperandId());\
7824
+  spewOpEnd();\
7825
+}\
7826
+\
7827
+void spewIsPackedArrayResult(CacheIRReader& reader) {\
7828
+  spewOp(CacheOp::IsPackedArrayResult);\
7829
+  spewOperandId("objId", reader.objOperandId());\
7830
+  spewOpEnd();\
7831
+}\
7832
+\
7833
+void spewIsCallableResult(CacheIRReader& reader) {\
7834
+  spewOp(CacheOp::IsCallableResult);\
7835
+  spewOperandId("inputId", reader.valOperandId());\
7836
+  spewOpEnd();\
7837
+}\
7838
+\
7839
+void spewIsConstructorResult(CacheIRReader& reader) {\
7840
+  spewOp(CacheOp::IsConstructorResult);\
7841
+  spewOperandId("objId", reader.objOperandId());\
7842
+  spewOpEnd();\
7843
+}\
7844
+\
7845
+void spewIsCrossRealmArrayConstructorResult(CacheIRReader& reader) {\
7846
+  spewOp(CacheOp::IsCrossRealmArrayConstructorResult);\
7847
+  spewOperandId("objId", reader.objOperandId());\
7848
+  spewOpEnd();\
7849
+}\
7850
+\
7851
+void spewIsTypedArrayResult(CacheIRReader& reader) {\
7852
+  spewOp(CacheOp::IsTypedArrayResult);\
7853
+  spewOperandId("objId", reader.objOperandId());\
7854
+  spewArgSeparator();\
7855
+  spewBoolImm("isPossiblyWrapped", reader.readBool());\
7856
+  spewOpEnd();\
7857
+}\
7858
+\
7859
+void spewIsTypedArrayConstructorResult(CacheIRReader& reader) {\
7860
+  spewOp(CacheOp::IsTypedArrayConstructorResult);\
7861
+  spewOperandId("objId", reader.objOperandId());\
7862
+  spewOpEnd();\
7863
+}\
7864
+\
7865
+void spewArrayBufferViewByteOffsetInt32Result(CacheIRReader& reader) {\
7866
+  spewOp(CacheOp::ArrayBufferViewByteOffsetInt32Result);\
7867
+  spewOperandId("objId", reader.objOperandId());\
7868
+  spewOpEnd();\
7869
+}\
7870
+\
7871
+void spewArrayBufferViewByteOffsetDoubleResult(CacheIRReader& reader) {\
7872
+  spewOp(CacheOp::ArrayBufferViewByteOffsetDoubleResult);\
7873
+  spewOperandId("objId", reader.objOperandId());\
7874
+  spewOpEnd();\
7875
+}\
7876
+\
7877
+void spewTypedArrayByteLengthInt32Result(CacheIRReader& reader) {\
7878
+  spewOp(CacheOp::TypedArrayByteLengthInt32Result);\
7879
+  spewOperandId("objId", reader.objOperandId());\
7880
+  spewOpEnd();\
7881
+}\
7882
+\
7883
+void spewTypedArrayByteLengthDoubleResult(CacheIRReader& reader) {\
7884
+  spewOp(CacheOp::TypedArrayByteLengthDoubleResult);\
7885
+  spewOperandId("objId", reader.objOperandId());\
7886
+  spewOpEnd();\
7887
+}\
7888
+\
7889
+void spewTypedArrayElementSizeResult(CacheIRReader& reader) {\
7890
+  spewOp(CacheOp::TypedArrayElementSizeResult);\
7891
+  spewOperandId("objId", reader.objOperandId());\
7892
+  spewOpEnd();\
7893
+}\
7894
+\
7895
+void spewGuardHasAttachedArrayBuffer(CacheIRReader& reader) {\
7896
+  spewOp(CacheOp::GuardHasAttachedArrayBuffer);\
7897
+  spewOperandId("objId", reader.objOperandId());\
7898
+  spewOpEnd();\
7899
+}\
7900
+\
7901
+void spewFinishBoundFunctionInitResult(CacheIRReader& reader) {\
7902
+  spewOp(CacheOp::FinishBoundFunctionInitResult);\
7903
+  spewOperandId("boundId", reader.objOperandId());\
7904
+  spewArgSeparator();\
7905
+  spewOperandId("targetId", reader.objOperandId());\
7906
+  spewArgSeparator();\
7907
+  spewOperandId("argCountId", reader.int32OperandId());\
7908
+  spewOpEnd();\
7909
+}\
7910
+\
7911
+void spewNewArrayIteratorResult(CacheIRReader& reader) {\
7912
+  spewOp(CacheOp::NewArrayIteratorResult);\
7913
+  spewField("templateObjectOffset", reader.stubOffset());\
7914
+  spewOpEnd();\
7915
+}\
7916
+\
7917
+void spewNewStringIteratorResult(CacheIRReader& reader) {\
7918
+  spewOp(CacheOp::NewStringIteratorResult);\
7919
+  spewField("templateObjectOffset", reader.stubOffset());\
7920
+  spewOpEnd();\
7921
+}\
7922
+\
7923
+void spewNewRegExpStringIteratorResult(CacheIRReader& reader) {\
7924
+  spewOp(CacheOp::NewRegExpStringIteratorResult);\
7925
+  spewField("templateObjectOffset", reader.stubOffset());\
7926
+  spewOpEnd();\
7927
+}\
7928
+\
7929
+void spewObjectCreateResult(CacheIRReader& reader) {\
7930
+  spewOp(CacheOp::ObjectCreateResult);\
7931
+  spewField("templateObjectOffset", reader.stubOffset());\
7932
+  spewOpEnd();\
7933
+}\
7934
+\
7935
+void spewNewArrayFromLengthResult(CacheIRReader& reader) {\
7936
+  spewOp(CacheOp::NewArrayFromLengthResult);\
7937
+  spewField("templateObjectOffset", reader.stubOffset());\
7938
+  spewArgSeparator();\
7939
+  spewOperandId("lengthId", reader.int32OperandId());\
7940
+  spewOpEnd();\
7941
+}\
7942
+\
7943
+void spewNewTypedArrayFromLengthResult(CacheIRReader& reader) {\
7944
+  spewOp(CacheOp::NewTypedArrayFromLengthResult);\
7945
+  spewField("templateObjectOffset", reader.stubOffset());\
7946
+  spewArgSeparator();\
7947
+  spewOperandId("lengthId", reader.int32OperandId());\
7948
+  spewOpEnd();\
7949
+}\
7950
+\
7951
+void spewNewTypedArrayFromArrayBufferResult(CacheIRReader& reader) {\
7952
+  spewOp(CacheOp::NewTypedArrayFromArrayBufferResult);\
7953
+  spewField("templateObjectOffset", reader.stubOffset());\
7954
+  spewArgSeparator();\
7955
+  spewOperandId("bufferId", reader.objOperandId());\
7956
+  spewArgSeparator();\
7957
+  spewOperandId("byteOffsetId", reader.valOperandId());\
7958
+  spewArgSeparator();\
7959
+  spewOperandId("lengthId", reader.valOperandId());\
7960
+  spewOpEnd();\
7961
+}\
7962
+\
7963
+void spewNewTypedArrayFromArrayResult(CacheIRReader& reader) {\
7964
+  spewOp(CacheOp::NewTypedArrayFromArrayResult);\
7965
+  spewField("templateObjectOffset", reader.stubOffset());\
7966
+  spewArgSeparator();\
7967
+  spewOperandId("arrayId", reader.objOperandId());\
7968
+  spewOpEnd();\
7969
+}\
7970
+\
7971
+void spewNewStringObjectResult(CacheIRReader& reader) {\
7972
+  spewOp(CacheOp::NewStringObjectResult);\
7973
+  spewField("templateObjectOffset", reader.stubOffset());\
7974
+  spewArgSeparator();\
7975
+  spewOperandId("strId", reader.stringOperandId());\
7976
+  spewOpEnd();\
7977
+}\
7978
+\
7979
+void spewStringFromCharCodeResult(CacheIRReader& reader) {\
7980
+  spewOp(CacheOp::StringFromCharCodeResult);\
7981
+  spewOperandId("codeId", reader.int32OperandId());\
7982
+  spewOpEnd();\
7983
+}\
7984
+\
7985
+void spewStringFromCodePointResult(CacheIRReader& reader) {\
7986
+  spewOp(CacheOp::StringFromCodePointResult);\
7987
+  spewOperandId("codeId", reader.int32OperandId());\
7988
+  spewOpEnd();\
7989
+}\
7990
+\
7991
+void spewStringToLowerCaseResult(CacheIRReader& reader) {\
7992
+  spewOp(CacheOp::StringToLowerCaseResult);\
7993
+  spewOperandId("strId", reader.stringOperandId());\
7994
+  spewOpEnd();\
7995
+}\
7996
+\
7997
+void spewStringToUpperCaseResult(CacheIRReader& reader) {\
7998
+  spewOp(CacheOp::StringToUpperCaseResult);\
7999
+  spewOperandId("strId", reader.stringOperandId());\
8000
+  spewOpEnd();\
8001
+}\
8002
+\
8003
+void spewMathAbsInt32Result(CacheIRReader& reader) {\
8004
+  spewOp(CacheOp::MathAbsInt32Result);\
8005
+  spewOperandId("inputId", reader.int32OperandId());\
8006
+  spewOpEnd();\
8007
+}\
8008
+\
8009
+void spewMathAbsNumberResult(CacheIRReader& reader) {\
8010
+  spewOp(CacheOp::MathAbsNumberResult);\
8011
+  spewOperandId("inputId", reader.numberOperandId());\
8012
+  spewOpEnd();\
8013
+}\
8014
+\
8015
+void spewMathClz32Result(CacheIRReader& reader) {\
8016
+  spewOp(CacheOp::MathClz32Result);\
8017
+  spewOperandId("inputId", reader.int32OperandId());\
8018
+  spewOpEnd();\
8019
+}\
8020
+\
8021
+void spewMathSignInt32Result(CacheIRReader& reader) {\
8022
+  spewOp(CacheOp::MathSignInt32Result);\
8023
+  spewOperandId("inputId", reader.int32OperandId());\
8024
+  spewOpEnd();\
8025
+}\
8026
+\
8027
+void spewMathSignNumberResult(CacheIRReader& reader) {\
8028
+  spewOp(CacheOp::MathSignNumberResult);\
8029
+  spewOperandId("inputId", reader.numberOperandId());\
8030
+  spewOpEnd();\
8031
+}\
8032
+\
8033
+void spewMathSignNumberToInt32Result(CacheIRReader& reader) {\
8034
+  spewOp(CacheOp::MathSignNumberToInt32Result);\
8035
+  spewOperandId("inputId", reader.numberOperandId());\
8036
+  spewOpEnd();\
8037
+}\
8038
+\
8039
+void spewMathImulResult(CacheIRReader& reader) {\
8040
+  spewOp(CacheOp::MathImulResult);\
8041
+  spewOperandId("lhsId", reader.int32OperandId());\
8042
+  spewArgSeparator();\
8043
+  spewOperandId("rhsId", reader.int32OperandId());\
8044
+  spewOpEnd();\
8045
+}\
8046
+\
8047
+void spewMathSqrtNumberResult(CacheIRReader& reader) {\
8048
+  spewOp(CacheOp::MathSqrtNumberResult);\
8049
+  spewOperandId("inputId", reader.numberOperandId());\
8050
+  spewOpEnd();\
8051
+}\
8052
+\
8053
+void spewMathFRoundNumberResult(CacheIRReader& reader) {\
8054
+  spewOp(CacheOp::MathFRoundNumberResult);\
8055
+  spewOperandId("inputId", reader.numberOperandId());\
8056
+  spewOpEnd();\
8057
+}\
8058
+\
8059
+void spewMathRandomResult(CacheIRReader& reader) {\
8060
+  spewOp(CacheOp::MathRandomResult);\
8061
+  spewField("rngOffset", reader.stubOffset());\
8062
+  spewOpEnd();\
8063
+}\
8064
+\
8065
+void spewMathHypot2NumberResult(CacheIRReader& reader) {\
8066
+  spewOp(CacheOp::MathHypot2NumberResult);\
8067
+  spewOperandId("firstId", reader.numberOperandId());\
8068
+  spewArgSeparator();\
8069
+  spewOperandId("secondId", reader.numberOperandId());\
8070
+  spewOpEnd();\
8071
+}\
8072
+\
8073
+void spewMathHypot3NumberResult(CacheIRReader& reader) {\
8074
+  spewOp(CacheOp::MathHypot3NumberResult);\
8075
+  spewOperandId("firstId", reader.numberOperandId());\
8076
+  spewArgSeparator();\
8077
+  spewOperandId("secondId", reader.numberOperandId());\
8078
+  spewArgSeparator();\
8079
+  spewOperandId("thirdId", reader.numberOperandId());\
8080
+  spewOpEnd();\
8081
+}\
8082
+\
8083
+void spewMathHypot4NumberResult(CacheIRReader& reader) {\
8084
+  spewOp(CacheOp::MathHypot4NumberResult);\
8085
+  spewOperandId("firstId", reader.numberOperandId());\
8086
+  spewArgSeparator();\
8087
+  spewOperandId("secondId", reader.numberOperandId());\
8088
+  spewArgSeparator();\
8089
+  spewOperandId("thirdId", reader.numberOperandId());\
8090
+  spewArgSeparator();\
8091
+  spewOperandId("fourthId", reader.numberOperandId());\
8092
+  spewOpEnd();\
8093
+}\
8094
+\
8095
+void spewMathAtan2NumberResult(CacheIRReader& reader) {\
8096
+  spewOp(CacheOp::MathAtan2NumberResult);\
8097
+  spewOperandId("lhsId", reader.numberOperandId());\
8098
+  spewArgSeparator();\
8099
+  spewOperandId("rhsId", reader.numberOperandId());\
8100
+  spewOpEnd();\
8101
+}\
8102
+\
8103
+void spewMathFloorNumberResult(CacheIRReader& reader) {\
8104
+  spewOp(CacheOp::MathFloorNumberResult);\
8105
+  spewOperandId("inputId", reader.numberOperandId());\
8106
+  spewOpEnd();\
8107
+}\
8108
+\
8109
+void spewMathCeilNumberResult(CacheIRReader& reader) {\
8110
+  spewOp(CacheOp::MathCeilNumberResult);\
8111
+  spewOperandId("inputId", reader.numberOperandId());\
8112
+  spewOpEnd();\
8113
+}\
8114
+\
8115
+void spewMathTruncNumberResult(CacheIRReader& reader) {\
8116
+  spewOp(CacheOp::MathTruncNumberResult);\
8117
+  spewOperandId("inputId", reader.numberOperandId());\
8118
+  spewOpEnd();\
8119
+}\
8120
+\
8121
+void spewMathFloorToInt32Result(CacheIRReader& reader) {\
8122
+  spewOp(CacheOp::MathFloorToInt32Result);\
8123
+  spewOperandId("inputId", reader.numberOperandId());\
8124
+  spewOpEnd();\
8125
+}\
8126
+\
8127
+void spewMathCeilToInt32Result(CacheIRReader& reader) {\
8128
+  spewOp(CacheOp::MathCeilToInt32Result);\
8129
+  spewOperandId("inputId", reader.numberOperandId());\
8130
+  spewOpEnd();\
8131
+}\
8132
+\
8133
+void spewMathTruncToInt32Result(CacheIRReader& reader) {\
8134
+  spewOp(CacheOp::MathTruncToInt32Result);\
8135
+  spewOperandId("inputId", reader.numberOperandId());\
8136
+  spewOpEnd();\
8137
+}\
8138
+\
8139
+void spewMathRoundToInt32Result(CacheIRReader& reader) {\
8140
+  spewOp(CacheOp::MathRoundToInt32Result);\
8141
+  spewOperandId("inputId", reader.numberOperandId());\
8142
+  spewOpEnd();\
8143
+}\
8144
+\
8145
+void spewInt32MinMax(CacheIRReader& reader) {\
8146
+  spewOp(CacheOp::Int32MinMax);\
8147
+  spewBoolImm("isMax", reader.readBool());\
8148
+  spewArgSeparator();\
8149
+  spewOperandId("firstId", reader.int32OperandId());\
8150
+  spewArgSeparator();\
8151
+  spewOperandId("secondId", reader.int32OperandId());\
8152
+  spewArgSeparator();\
8153
+  spewOperandId("resultId", reader.int32OperandId());\
8154
+  spewOpEnd();\
8155
+}\
8156
+\
8157
+void spewNumberMinMax(CacheIRReader& reader) {\
8158
+  spewOp(CacheOp::NumberMinMax);\
8159
+  spewBoolImm("isMax", reader.readBool());\
8160
+  spewArgSeparator();\
8161
+  spewOperandId("firstId", reader.numberOperandId());\
8162
+  spewArgSeparator();\
8163
+  spewOperandId("secondId", reader.numberOperandId());\
8164
+  spewArgSeparator();\
8165
+  spewOperandId("resultId", reader.numberOperandId());\
8166
+  spewOpEnd();\
8167
+}\
8168
+\
8169
+void spewInt32MinMaxArrayResult(CacheIRReader& reader) {\
8170
+  spewOp(CacheOp::Int32MinMaxArrayResult);\
8171
+  spewOperandId("arrayId", reader.objOperandId());\
8172
+  spewArgSeparator();\
8173
+  spewBoolImm("isMax", reader.readBool());\
8174
+  spewOpEnd();\
8175
+}\
8176
+\
8177
+void spewNumberMinMaxArrayResult(CacheIRReader& reader) {\
8178
+  spewOp(CacheOp::NumberMinMaxArrayResult);\
8179
+  spewOperandId("arrayId", reader.objOperandId());\
8180
+  spewArgSeparator();\
8181
+  spewBoolImm("isMax", reader.readBool());\
8182
+  spewOpEnd();\
8183
+}\
8184
+\
8185
+void spewMathFunctionNumberResult(CacheIRReader& reader) {\
8186
+  spewOp(CacheOp::MathFunctionNumberResult);\
8187
+  spewOperandId("inputId", reader.numberOperandId());\
8188
+  spewArgSeparator();\
8189
+  spewUnaryMathFunctionImm("fun", reader.unaryMathFunction());\
8190
+  spewOpEnd();\
8191
+}\
8192
+\
8193
+void spewObjectToStringResult(CacheIRReader& reader) {\
8194
+  spewOp(CacheOp::ObjectToStringResult);\
8195
+  spewOperandId("objId", reader.objOperandId());\
8196
+  spewOpEnd();\
8197
+}\
8198
+\
8199
+void spewReflectGetPrototypeOfResult(CacheIRReader& reader) {\
8200
+  spewOp(CacheOp::ReflectGetPrototypeOfResult);\
8201
+  spewOperandId("objId", reader.objOperandId());\
8202
+  spewOpEnd();\
8203
+}\
8204
+\
8205
+void spewStoreTypedArrayElement(CacheIRReader& reader) {\
8206
+  spewOp(CacheOp::StoreTypedArrayElement);\
8207
+  spewOperandId("objId", reader.objOperandId());\
8208
+  spewArgSeparator();\
8209
+  spewScalarTypeImm("elementType", reader.scalarType());\
8210
+  spewArgSeparator();\
8211
+  spewOperandId("indexId", reader.intPtrOperandId());\
8212
+  spewArgSeparator();\
8213
+  spewRawOperandId("rhsId", reader.rawOperandId());\
8214
+  spewArgSeparator();\
8215
+  spewBoolImm("handleOOB", reader.readBool());\
8216
+  spewOpEnd();\
8217
+}\
8218
+\
8219
+void spewAtomicsCompareExchangeResult(CacheIRReader& reader) {\
8220
+  spewOp(CacheOp::AtomicsCompareExchangeResult);\
8221
+  spewOperandId("objId", reader.objOperandId());\
8222
+  spewArgSeparator();\
8223
+  spewOperandId("indexId", reader.intPtrOperandId());\
8224
+  spewArgSeparator();\
8225
+  spewRawOperandId("expectedId", reader.rawOperandId());\
8226
+  spewArgSeparator();\
8227
+  spewRawOperandId("replacementId", reader.rawOperandId());\
8228
+  spewArgSeparator();\
8229
+  spewScalarTypeImm("elementType", reader.scalarType());\
8230
+  spewOpEnd();\
8231
+}\
8232
+\
8233
+void spewAtomicsExchangeResult(CacheIRReader& reader) {\
8234
+  spewOp(CacheOp::AtomicsExchangeResult);\
8235
+  spewOperandId("objId", reader.objOperandId());\
8236
+  spewArgSeparator();\
8237
+  spewOperandId("indexId", reader.intPtrOperandId());\
8238
+  spewArgSeparator();\
8239
+  spewRawOperandId("valueId", reader.rawOperandId());\
8240
+  spewArgSeparator();\
8241
+  spewScalarTypeImm("elementType", reader.scalarType());\
8242
+  spewOpEnd();\
8243
+}\
8244
+\
8245
+void spewAtomicsAddResult(CacheIRReader& reader) {\
8246
+  spewOp(CacheOp::AtomicsAddResult);\
8247
+  spewOperandId("objId", reader.objOperandId());\
8248
+  spewArgSeparator();\
8249
+  spewOperandId("indexId", reader.intPtrOperandId());\
8250
+  spewArgSeparator();\
8251
+  spewRawOperandId("valueId", reader.rawOperandId());\
8252
+  spewArgSeparator();\
8253
+  spewScalarTypeImm("elementType", reader.scalarType());\
8254
+  spewArgSeparator();\
8255
+  spewBoolImm("forEffect", reader.readBool());\
8256
+  spewOpEnd();\
8257
+}\
8258
+\
8259
+void spewAtomicsSubResult(CacheIRReader& reader) {\
8260
+  spewOp(CacheOp::AtomicsSubResult);\
8261
+  spewOperandId("objId", reader.objOperandId());\
8262
+  spewArgSeparator();\
8263
+  spewOperandId("indexId", reader.intPtrOperandId());\
8264
+  spewArgSeparator();\
8265
+  spewRawOperandId("valueId", reader.rawOperandId());\
8266
+  spewArgSeparator();\
8267
+  spewScalarTypeImm("elementType", reader.scalarType());\
8268
+  spewArgSeparator();\
8269
+  spewBoolImm("forEffect", reader.readBool());\
8270
+  spewOpEnd();\
8271
+}\
8272
+\
8273
+void spewAtomicsAndResult(CacheIRReader& reader) {\
8274
+  spewOp(CacheOp::AtomicsAndResult);\
8275
+  spewOperandId("objId", reader.objOperandId());\
8276
+  spewArgSeparator();\
8277
+  spewOperandId("indexId", reader.intPtrOperandId());\
8278
+  spewArgSeparator();\
8279
+  spewRawOperandId("valueId", reader.rawOperandId());\
8280
+  spewArgSeparator();\
8281
+  spewScalarTypeImm("elementType", reader.scalarType());\
8282
+  spewArgSeparator();\
8283
+  spewBoolImm("forEffect", reader.readBool());\
8284
+  spewOpEnd();\
8285
+}\
8286
+\
8287
+void spewAtomicsOrResult(CacheIRReader& reader) {\
8288
+  spewOp(CacheOp::AtomicsOrResult);\
8289
+  spewOperandId("objId", reader.objOperandId());\
8290
+  spewArgSeparator();\
8291
+  spewOperandId("indexId", reader.intPtrOperandId());\
8292
+  spewArgSeparator();\
8293
+  spewRawOperandId("valueId", reader.rawOperandId());\
8294
+  spewArgSeparator();\
8295
+  spewScalarTypeImm("elementType", reader.scalarType());\
8296
+  spewArgSeparator();\
8297
+  spewBoolImm("forEffect", reader.readBool());\
8298
+  spewOpEnd();\
8299
+}\
8300
+\
8301
+void spewAtomicsXorResult(CacheIRReader& reader) {\
8302
+  spewOp(CacheOp::AtomicsXorResult);\
8303
+  spewOperandId("objId", reader.objOperandId());\
8304
+  spewArgSeparator();\
8305
+  spewOperandId("indexId", reader.intPtrOperandId());\
8306
+  spewArgSeparator();\
8307
+  spewRawOperandId("valueId", reader.rawOperandId());\
8308
+  spewArgSeparator();\
8309
+  spewScalarTypeImm("elementType", reader.scalarType());\
8310
+  spewArgSeparator();\
8311
+  spewBoolImm("forEffect", reader.readBool());\
8312
+  spewOpEnd();\
8313
+}\
8314
+\
8315
+void spewAtomicsLoadResult(CacheIRReader& reader) {\
8316
+  spewOp(CacheOp::AtomicsLoadResult);\
8317
+  spewOperandId("objId", reader.objOperandId());\
8318
+  spewArgSeparator();\
8319
+  spewOperandId("indexId", reader.intPtrOperandId());\
8320
+  spewArgSeparator();\
8321
+  spewScalarTypeImm("elementType", reader.scalarType());\
8322
+  spewOpEnd();\
8323
+}\
8324
+\
8325
+void spewAtomicsStoreResult(CacheIRReader& reader) {\
8326
+  spewOp(CacheOp::AtomicsStoreResult);\
8327
+  spewOperandId("objId", reader.objOperandId());\
8328
+  spewArgSeparator();\
8329
+  spewOperandId("indexId", reader.intPtrOperandId());\
8330
+  spewArgSeparator();\
8331
+  spewRawOperandId("valueId", reader.rawOperandId());\
8332
+  spewArgSeparator();\
8333
+  spewScalarTypeImm("elementType", reader.scalarType());\
8334
+  spewOpEnd();\
8335
+}\
8336
+\
8337
+void spewAtomicsIsLockFreeResult(CacheIRReader& reader) {\
8338
+  spewOp(CacheOp::AtomicsIsLockFreeResult);\
8339
+  spewOperandId("valueId", reader.int32OperandId());\
8340
+  spewOpEnd();\
8341
+}\
8342
+\
8343
+void spewCallNativeSetter(CacheIRReader& reader) {\
8344
+  spewOp(CacheOp::CallNativeSetter);\
8345
+  spewOperandId("receiverId", reader.objOperandId());\
8346
+  spewArgSeparator();\
8347
+  spewField("setterOffset", reader.stubOffset());\
8348
+  spewArgSeparator();\
8349
+  spewOperandId("rhsId", reader.valOperandId());\
8350
+  spewArgSeparator();\
8351
+  spewBoolImm("sameRealm", reader.readBool());\
8352
+  spewArgSeparator();\
8353
+  spewField("nargsAndFlagsOffset", reader.stubOffset());\
8354
+  spewOpEnd();\
8355
+}\
8356
+\
8357
+void spewCallScriptedSetter(CacheIRReader& reader) {\
8358
+  spewOp(CacheOp::CallScriptedSetter);\
8359
+  spewOperandId("receiverId", reader.objOperandId());\
8360
+  spewArgSeparator();\
8361
+  spewField("setterOffset", reader.stubOffset());\
8362
+  spewArgSeparator();\
8363
+  spewOperandId("rhsId", reader.valOperandId());\
8364
+  spewArgSeparator();\
8365
+  spewBoolImm("sameRealm", reader.readBool());\
8366
+  spewArgSeparator();\
8367
+  spewField("nargsAndFlagsOffset", reader.stubOffset());\
8368
+  spewOpEnd();\
8369
+}\
8370
+\
8371
+void spewCallInlinedSetter(CacheIRReader& reader) {\
8372
+  spewOp(CacheOp::CallInlinedSetter);\
8373
+  spewOperandId("receiverId", reader.objOperandId());\
8374
+  spewArgSeparator();\
8375
+  spewField("setterOffset", reader.stubOffset());\
8376
+  spewArgSeparator();\
8377
+  spewOperandId("rhsId", reader.valOperandId());\
8378
+  spewArgSeparator();\
8379
+  spewField("icScriptOffset", reader.stubOffset());\
8380
+  spewArgSeparator();\
8381
+  spewBoolImm("sameRealm", reader.readBool());\
8382
+  spewArgSeparator();\
8383
+  spewField("nargsAndFlagsOffset", reader.stubOffset());\
8384
+  spewOpEnd();\
8385
+}\
8386
+\
8387
+void spewCallDOMSetter(CacheIRReader& reader) {\
8388
+  spewOp(CacheOp::CallDOMSetter);\
8389
+  spewOperandId("objId", reader.objOperandId());\
8390
+  spewArgSeparator();\
8391
+  spewField("jitInfoOffset", reader.stubOffset());\
8392
+  spewArgSeparator();\
8393
+  spewOperandId("rhsId", reader.valOperandId());\
8394
+  spewOpEnd();\
8395
+}\
8396
+\
8397
+void spewCallSetArrayLength(CacheIRReader& reader) {\
8398
+  spewOp(CacheOp::CallSetArrayLength);\
8399
+  spewOperandId("objId", reader.objOperandId());\
8400
+  spewArgSeparator();\
8401
+  spewBoolImm("strict", reader.readBool());\
8402
+  spewArgSeparator();\
8403
+  spewOperandId("rhsId", reader.valOperandId());\
8404
+  spewOpEnd();\
8405
+}\
8406
+\
8407
+void spewProxySet(CacheIRReader& reader) {\
8408
+  spewOp(CacheOp::ProxySet);\
8409
+  spewOperandId("objId", reader.objOperandId());\
8410
+  spewArgSeparator();\
8411
+  spewField("idOffset", reader.stubOffset());\
8412
+  spewArgSeparator();\
8413
+  spewOperandId("rhsId", reader.valOperandId());\
8414
+  spewArgSeparator();\
8415
+  spewBoolImm("strict", reader.readBool());\
8416
+  spewOpEnd();\
8417
+}\
8418
+\
8419
+void spewProxySetByValue(CacheIRReader& reader) {\
8420
+  spewOp(CacheOp::ProxySetByValue);\
8421
+  spewOperandId("objId", reader.objOperandId());\
8422
+  spewArgSeparator();\
8423
+  spewOperandId("idId", reader.valOperandId());\
8424
+  spewArgSeparator();\
8425
+  spewOperandId("rhsId", reader.valOperandId());\
8426
+  spewArgSeparator();\
8427
+  spewBoolImm("strict", reader.readBool());\
8428
+  spewOpEnd();\
8429
+}\
8430
+\
8431
+void spewCallAddOrUpdateSparseElementHelper(CacheIRReader& reader) {\
8432
+  spewOp(CacheOp::CallAddOrUpdateSparseElementHelper);\
8433
+  spewOperandId("objId", reader.objOperandId());\
8434
+  spewArgSeparator();\
8435
+  spewOperandId("idId", reader.int32OperandId());\
8436
+  spewArgSeparator();\
8437
+  spewOperandId("rhsId", reader.valOperandId());\
8438
+  spewArgSeparator();\
8439
+  spewBoolImm("strict", reader.readBool());\
8440
+  spewOpEnd();\
8441
+}\
8442
+\
8443
+void spewCallInt32ToString(CacheIRReader& reader) {\
8444
+  spewOp(CacheOp::CallInt32ToString);\
8445
+  spewOperandId("inputId", reader.int32OperandId());\
8446
+  spewArgSeparator();\
8447
+  spewOperandId("resultId", reader.stringOperandId());\
8448
+  spewOpEnd();\
8449
+}\
8450
+\
8451
+void spewCallNumberToString(CacheIRReader& reader) {\
8452
+  spewOp(CacheOp::CallNumberToString);\
8453
+  spewOperandId("inputId", reader.numberOperandId());\
8454
+  spewArgSeparator();\
8455
+  spewOperandId("resultId", reader.stringOperandId());\
8456
+  spewOpEnd();\
8457
+}\
8458
+\
8459
+void spewBooleanToString(CacheIRReader& reader) {\
8460
+  spewOp(CacheOp::BooleanToString);\
8461
+  spewOperandId("inputId", reader.booleanOperandId());\
8462
+  spewArgSeparator();\
8463
+  spewOperandId("resultId", reader.stringOperandId());\
8464
+  spewOpEnd();\
8465
+}\
8466
+\
8467
+void spewCallScriptedFunction(CacheIRReader& reader) {\
8468
+  spewOp(CacheOp::CallScriptedFunction);\
8469
+  spewOperandId("calleeId", reader.objOperandId());\
8470
+  spewArgSeparator();\
8471
+  spewOperandId("argcId", reader.int32OperandId());\
8472
+  spewArgSeparator();\
8473
+  spewCallFlagsImm("flags", reader.callFlags());\
8474
+  spewOpEnd();\
8475
+}\
8476
+\
8477
+void spewCallWasmFunction(CacheIRReader& reader) {\
8478
+  spewOp(CacheOp::CallWasmFunction);\
8479
+  spewOperandId("calleeId", reader.objOperandId());\
8480
+  spewArgSeparator();\
8481
+  spewOperandId("argcId", reader.int32OperandId());\
8482
+  spewArgSeparator();\
8483
+  spewCallFlagsImm("flags", reader.callFlags());\
8484
+  spewArgSeparator();\
8485
+  spewField("funcExportOffset", reader.stubOffset());\
8486
+  spewArgSeparator();\
8487
+  spewField("instanceOffset", reader.stubOffset());\
8488
+  spewOpEnd();\
8489
+}\
8490
+\
8491
+void spewGuardWasmArg(CacheIRReader& reader) {\
8492
+  spewOp(CacheOp::GuardWasmArg);\
8493
+  spewOperandId("argId", reader.valOperandId());\
8494
+  spewArgSeparator();\
8495
+  spewWasmValTypeImm("type", reader.wasmValType());\
8496
+  spewOpEnd();\
8497
+}\
8498
+\
8499
+void spewCallNativeFunction(CacheIRReader& reader) {\
8500
+  spewOp(CacheOp::CallNativeFunction);\
8501
+  spewOperandId("calleeId", reader.objOperandId());\
8502
+  spewArgSeparator();\
8503
+  spewOperandId("argcId", reader.int32OperandId());\
8504
+  spewArgSeparator();\
8505
+  spewCallFlagsImm("flags", reader.callFlags());\
8506
+  spewArgSeparator();\
8507
+  spewBoolImm("ignoresReturnValue", reader.readBool());\
8508
+  spewOpEnd();\
8509
+}\
8510
+\
8511
+void spewCallDOMFunction(CacheIRReader& reader) {\
8512
+  spewOp(CacheOp::CallDOMFunction);\
8513
+  spewOperandId("calleeId", reader.objOperandId());\
8514
+  spewArgSeparator();\
8515
+  spewOperandId("argcId", reader.int32OperandId());\
8516
+  spewArgSeparator();\
8517
+  spewOperandId("thisObjId", reader.objOperandId());\
8518
+  spewArgSeparator();\
8519
+  spewCallFlagsImm("flags", reader.callFlags());\
8520
+  spewOpEnd();\
8521
+}\
8522
+\
8523
+void spewCallClassHook(CacheIRReader& reader) {\
8524
+  spewOp(CacheOp::CallClassHook);\
8525
+  spewOperandId("calleeId", reader.objOperandId());\
8526
+  spewArgSeparator();\
8527
+  spewOperandId("argcId", reader.int32OperandId());\
8528
+  spewArgSeparator();\
8529
+  spewCallFlagsImm("flags", reader.callFlags());\
8530
+  spewArgSeparator();\
8531
+  spewField("targetOffset", reader.stubOffset());\
8532
+  spewOpEnd();\
8533
+}\
8534
+\
8535
+void spewCallInlinedFunction(CacheIRReader& reader) {\
8536
+  spewOp(CacheOp::CallInlinedFunction);\
8537
+  spewOperandId("calleeId", reader.objOperandId());\
8538
+  spewArgSeparator();\
8539
+  spewOperandId("argcId", reader.int32OperandId());\
8540
+  spewArgSeparator();\
8541
+  spewField("icScriptOffset", reader.stubOffset());\
8542
+  spewArgSeparator();\
8543
+  spewCallFlagsImm("flags", reader.callFlags());\
8544
+  spewOpEnd();\
8545
+}\
8546
+\
8547
+void spewMetaTwoByte(CacheIRReader& reader) {\
8548
+  spewOp(CacheOp::MetaTwoByte);\
8549
+  spewField("functionObjectOffset", reader.stubOffset());\
8550
+  spewArgSeparator();\
8551
+  spewField("templateObjectOffset", reader.stubOffset());\
8552
+  spewOpEnd();\
8553
+}\
8554
+\
8555
+void spewLoadFixedSlotResult(CacheIRReader& reader) {\
8556
+  spewOp(CacheOp::LoadFixedSlotResult);\
8557
+  spewOperandId("objId", reader.objOperandId());\
8558
+  spewArgSeparator();\
8559
+  spewField("offsetOffset", reader.stubOffset());\
8560
+  spewOpEnd();\
8561
+}\
8562
+\
8563
+void spewLoadFixedSlotTypedResult(CacheIRReader& reader) {\
8564
+  spewOp(CacheOp::LoadFixedSlotTypedResult);\
8565
+  spewOperandId("objId", reader.objOperandId());\
8566
+  spewArgSeparator();\
8567
+  spewField("offsetOffset", reader.stubOffset());\
8568
+  spewArgSeparator();\
8569
+  spewValueTypeImm("type", reader.valueType());\
8570
+  spewOpEnd();\
8571
+}\
8572
+\
8573
+void spewLoadDynamicSlotResult(CacheIRReader& reader) {\
8574
+  spewOp(CacheOp::LoadDynamicSlotResult);\
8575
+  spewOperandId("objId", reader.objOperandId());\
8576
+  spewArgSeparator();\
8577
+  spewField("offsetOffset", reader.stubOffset());\
8578
+  spewOpEnd();\
8579
+}\
8580
+\
8581
+void spewLoadDenseElementResult(CacheIRReader& reader) {\
8582
+  spewOp(CacheOp::LoadDenseElementResult);\
8583
+  spewOperandId("objId", reader.objOperandId());\
8584
+  spewArgSeparator();\
8585
+  spewOperandId("indexId", reader.int32OperandId());\
8586
+  spewOpEnd();\
8587
+}\
8588
+\
8589
+void spewLoadDenseElementHoleResult(CacheIRReader& reader) {\
8590
+  spewOp(CacheOp::LoadDenseElementHoleResult);\
8591
+  spewOperandId("objId", reader.objOperandId());\
8592
+  spewArgSeparator();\
8593
+  spewOperandId("indexId", reader.int32OperandId());\
8594
+  spewOpEnd();\
8595
+}\
8596
+\
8597
+void spewCallGetSparseElementResult(CacheIRReader& reader) {\
8598
+  spewOp(CacheOp::CallGetSparseElementResult);\
8599
+  spewOperandId("objId", reader.objOperandId());\
8600
+  spewArgSeparator();\
8601
+  spewOperandId("indexId", reader.int32OperandId());\
8602
+  spewOpEnd();\
8603
+}\
8604
+\
8605
+void spewLoadDenseElementExistsResult(CacheIRReader& reader) {\
8606
+  spewOp(CacheOp::LoadDenseElementExistsResult);\
8607
+  spewOperandId("objId", reader.objOperandId());\
8608
+  spewArgSeparator();\
8609
+  spewOperandId("indexId", reader.int32OperandId());\
8610
+  spewOpEnd();\
8611
+}\
8612
+\
8613
+void spewLoadTypedArrayElementExistsResult(CacheIRReader& reader) {\
8614
+  spewOp(CacheOp::LoadTypedArrayElementExistsResult);\
8615
+  spewOperandId("objId", reader.objOperandId());\
8616
+  spewArgSeparator();\
8617
+  spewOperandId("indexId", reader.intPtrOperandId());\
8618
+  spewOpEnd();\
8619
+}\
8620
+\
8621
+void spewLoadDenseElementHoleExistsResult(CacheIRReader& reader) {\
8622
+  spewOp(CacheOp::LoadDenseElementHoleExistsResult);\
8623
+  spewOperandId("objId", reader.objOperandId());\
8624
+  spewArgSeparator();\
8625
+  spewOperandId("indexId", reader.int32OperandId());\
8626
+  spewOpEnd();\
8627
+}\
8628
+\
8629
+void spewLoadTypedArrayElementResult(CacheIRReader& reader) {\
8630
+  spewOp(CacheOp::LoadTypedArrayElementResult);\
8631
+  spewOperandId("objId", reader.objOperandId());\
8632
+  spewArgSeparator();\
8633
+  spewOperandId("indexId", reader.intPtrOperandId());\
8634
+  spewArgSeparator();\
8635
+  spewScalarTypeImm("elementType", reader.scalarType());\
8636
+  spewArgSeparator();\
8637
+  spewBoolImm("handleOOB", reader.readBool());\
8638
+  spewArgSeparator();\
8639
+  spewBoolImm("forceDoubleForUint32", reader.readBool());\
8640
+  spewOpEnd();\
8641
+}\
8642
+\
8643
+void spewLoadDataViewValueResult(CacheIRReader& reader) {\
8644
+  spewOp(CacheOp::LoadDataViewValueResult);\
8645
+  spewOperandId("objId", reader.objOperandId());\
8646
+  spewArgSeparator();\
8647
+  spewOperandId("offsetId", reader.intPtrOperandId());\
8648
+  spewArgSeparator();\
8649
+  spewOperandId("littleEndianId", reader.booleanOperandId());\
8650
+  spewArgSeparator();\
8651
+  spewScalarTypeImm("elementType", reader.scalarType());\
8652
+  spewArgSeparator();\
8653
+  spewBoolImm("forceDoubleForUint32", reader.readBool());\
8654
+  spewOpEnd();\
8655
+}\
8656
+\
8657
+void spewStoreDataViewValueResult(CacheIRReader& reader) {\
8658
+  spewOp(CacheOp::StoreDataViewValueResult);\
8659
+  spewOperandId("objId", reader.objOperandId());\
8660
+  spewArgSeparator();\
8661
+  spewOperandId("offsetId", reader.intPtrOperandId());\
8662
+  spewArgSeparator();\
8663
+  spewRawOperandId("valueId", reader.rawOperandId());\
8664
+  spewArgSeparator();\
8665
+  spewOperandId("littleEndianId", reader.booleanOperandId());\
8666
+  spewArgSeparator();\
8667
+  spewScalarTypeImm("elementType", reader.scalarType());\
8668
+  spewOpEnd();\
8669
+}\
8670
+\
8671
+void spewLoadInt32ArrayLengthResult(CacheIRReader& reader) {\
8672
+  spewOp(CacheOp::LoadInt32ArrayLengthResult);\
8673
+  spewOperandId("objId", reader.objOperandId());\
8674
+  spewOpEnd();\
8675
+}\
8676
+\
8677
+void spewLoadInt32ArrayLength(CacheIRReader& reader) {\
8678
+  spewOp(CacheOp::LoadInt32ArrayLength);\
8679
+  spewOperandId("objId", reader.objOperandId());\
8680
+  spewArgSeparator();\
8681
+  spewOperandId("resultId", reader.int32OperandId());\
8682
+  spewOpEnd();\
8683
+}\
8684
+\
8685
+void spewLoadArgumentsObjectArgResult(CacheIRReader& reader) {\
8686
+  spewOp(CacheOp::LoadArgumentsObjectArgResult);\
8687
+  spewOperandId("objId", reader.objOperandId());\
8688
+  spewArgSeparator();\
8689
+  spewOperandId("indexId", reader.int32OperandId());\
8690
+  spewOpEnd();\
8691
+}\
8692
+\
8693
+void spewLoadArgumentsObjectLengthResult(CacheIRReader& reader) {\
8694
+  spewOp(CacheOp::LoadArgumentsObjectLengthResult);\
8695
+  spewOperandId("objId", reader.objOperandId());\
8696
+  spewOpEnd();\
8697
+}\
8698
+\
8699
+void spewLoadFunctionLengthResult(CacheIRReader& reader) {\
8700
+  spewOp(CacheOp::LoadFunctionLengthResult);\
8701
+  spewOperandId("objId", reader.objOperandId());\
8702
+  spewOpEnd();\
8703
+}\
8704
+\
8705
+void spewLoadFunctionNameResult(CacheIRReader& reader) {\
8706
+  spewOp(CacheOp::LoadFunctionNameResult);\
8707
+  spewOperandId("objId", reader.objOperandId());\
8708
+  spewOpEnd();\
8709
+}\
8710
+\
8711
+void spewLoadArrayBufferByteLengthInt32Result(CacheIRReader& reader) {\
8712
+  spewOp(CacheOp::LoadArrayBufferByteLengthInt32Result);\
8713
+  spewOperandId("objId", reader.objOperandId());\
8714
+  spewOpEnd();\
8715
+}\
8716
+\
8717
+void spewLoadArrayBufferByteLengthDoubleResult(CacheIRReader& reader) {\
8718
+  spewOp(CacheOp::LoadArrayBufferByteLengthDoubleResult);\
8719
+  spewOperandId("objId", reader.objOperandId());\
8720
+  spewOpEnd();\
8721
+}\
8722
+\
8723
+void spewLoadArrayBufferViewLengthInt32Result(CacheIRReader& reader) {\
8724
+  spewOp(CacheOp::LoadArrayBufferViewLengthInt32Result);\
8725
+  spewOperandId("objId", reader.objOperandId());\
8726
+  spewOpEnd();\
8727
+}\
8728
+\
8729
+void spewLoadArrayBufferViewLengthDoubleResult(CacheIRReader& reader) {\
8730
+  spewOp(CacheOp::LoadArrayBufferViewLengthDoubleResult);\
8731
+  spewOperandId("objId", reader.objOperandId());\
8732
+  spewOpEnd();\
8733
+}\
8734
+\
8735
+void spewLoadStringCharResult(CacheIRReader& reader) {\
8736
+  spewOp(CacheOp::LoadStringCharResult);\
8737
+  spewOperandId("strId", reader.stringOperandId());\
8738
+  spewArgSeparator();\
8739
+  spewOperandId("indexId", reader.int32OperandId());\
8740
+  spewOpEnd();\
8741
+}\
8742
+\
8743
+void spewLoadStringCharCodeResult(CacheIRReader& reader) {\
8744
+  spewOp(CacheOp::LoadStringCharCodeResult);\
8745
+  spewOperandId("strId", reader.stringOperandId());\
8746
+  spewArgSeparator();\
8747
+  spewOperandId("indexId", reader.int32OperandId());\
8748
+  spewOpEnd();\
8749
+}\
8750
+\
8751
+void spewLoadStringLengthResult(CacheIRReader& reader) {\
8752
+  spewOp(CacheOp::LoadStringLengthResult);\
8753
+  spewOperandId("strId", reader.stringOperandId());\
8754
+  spewOpEnd();\
8755
+}\
8756
+\
8757
+void spewFrameIsConstructingResult(CacheIRReader& reader) {\
8758
+  spewOp(CacheOp::FrameIsConstructingResult);\
8759
+  spewOpEnd();\
8760
+}\
8761
+\
8762
+void spewLoadEnvironmentFixedSlotResult(CacheIRReader& reader) {\
8763
+  spewOp(CacheOp::LoadEnvironmentFixedSlotResult);\
8764
+  spewOperandId("objId", reader.objOperandId());\
8765
+  spewArgSeparator();\
8766
+  spewField("offsetOffset", reader.stubOffset());\
8767
+  spewOpEnd();\
8768
+}\
8769
+\
8770
+void spewLoadEnvironmentDynamicSlotResult(CacheIRReader& reader) {\
8771
+  spewOp(CacheOp::LoadEnvironmentDynamicSlotResult);\
8772
+  spewOperandId("objId", reader.objOperandId());\
8773
+  spewArgSeparator();\
8774
+  spewField("offsetOffset", reader.stubOffset());\
8775
+  spewOpEnd();\
8776
+}\
8777
+\
8778
+void spewLoadObjectResult(CacheIRReader& reader) {\
8779
+  spewOp(CacheOp::LoadObjectResult);\
8780
+  spewOperandId("objId", reader.objOperandId());\
8781
+  spewOpEnd();\
8782
+}\
8783
+\
8784
+void spewLoadStringResult(CacheIRReader& reader) {\
8785
+  spewOp(CacheOp::LoadStringResult);\
8786
+  spewOperandId("strId", reader.stringOperandId());\
8787
+  spewOpEnd();\
8788
+}\
8789
+\
8790
+void spewLoadSymbolResult(CacheIRReader& reader) {\
8791
+  spewOp(CacheOp::LoadSymbolResult);\
8792
+  spewOperandId("symId", reader.symbolOperandId());\
8793
+  spewOpEnd();\
8794
+}\
8795
+\
8796
+void spewLoadInt32Result(CacheIRReader& reader) {\
8797
+  spewOp(CacheOp::LoadInt32Result);\
8798
+  spewOperandId("valId", reader.int32OperandId());\
8799
+  spewOpEnd();\
8800
+}\
8801
+\
8802
+void spewLoadDoubleResult(CacheIRReader& reader) {\
8803
+  spewOp(CacheOp::LoadDoubleResult);\
8804
+  spewOperandId("valId", reader.numberOperandId());\
8805
+  spewOpEnd();\
8806
+}\
8807
+\
8808
+void spewLoadBigIntResult(CacheIRReader& reader) {\
8809
+  spewOp(CacheOp::LoadBigIntResult);\
8810
+  spewOperandId("valId", reader.bigIntOperandId());\
8811
+  spewOpEnd();\
8812
+}\
8813
+\
8814
+void spewCallScriptedGetterResult(CacheIRReader& reader) {\
8815
+  spewOp(CacheOp::CallScriptedGetterResult);\
8816
+  spewOperandId("receiverId", reader.valOperandId());\
8817
+  spewArgSeparator();\
8818
+  spewField("getterOffset", reader.stubOffset());\
8819
+  spewArgSeparator();\
8820
+  spewBoolImm("sameRealm", reader.readBool());\
8821
+  spewArgSeparator();\
8822
+  spewField("nargsAndFlagsOffset", reader.stubOffset());\
8823
+  spewOpEnd();\
8824
+}\
8825
+\
8826
+void spewCallInlinedGetterResult(CacheIRReader& reader) {\
8827
+  spewOp(CacheOp::CallInlinedGetterResult);\
8828
+  spewOperandId("receiverId", reader.valOperandId());\
8829
+  spewArgSeparator();\
8830
+  spewField("getterOffset", reader.stubOffset());\
8831
+  spewArgSeparator();\
8832
+  spewField("icScriptOffset", reader.stubOffset());\
8833
+  spewArgSeparator();\
8834
+  spewBoolImm("sameRealm", reader.readBool());\
8835
+  spewArgSeparator();\
8836
+  spewField("nargsAndFlagsOffset", reader.stubOffset());\
8837
+  spewOpEnd();\
8838
+}\
8839
+\
8840
+void spewCallNativeGetterResult(CacheIRReader& reader) {\
8841
+  spewOp(CacheOp::CallNativeGetterResult);\
8842
+  spewOperandId("receiverId", reader.valOperandId());\
8843
+  spewArgSeparator();\
8844
+  spewField("getterOffset", reader.stubOffset());\
8845
+  spewArgSeparator();\
8846
+  spewBoolImm("sameRealm", reader.readBool());\
8847
+  spewArgSeparator();\
8848
+  spewField("nargsAndFlagsOffset", reader.stubOffset());\
8849
+  spewOpEnd();\
8850
+}\
8851
+\
8852
+void spewCallDOMGetterResult(CacheIRReader& reader) {\
8853
+  spewOp(CacheOp::CallDOMGetterResult);\
8854
+  spewOperandId("objId", reader.objOperandId());\
8855
+  spewArgSeparator();\
8856
+  spewField("jitInfoOffset", reader.stubOffset());\
8857
+  spewOpEnd();\
8858
+}\
8859
+\
8860
+void spewProxyGetResult(CacheIRReader& reader) {\
8861
+  spewOp(CacheOp::ProxyGetResult);\
8862
+  spewOperandId("objId", reader.objOperandId());\
8863
+  spewArgSeparator();\
8864
+  spewField("idOffset", reader.stubOffset());\
8865
+  spewOpEnd();\
8866
+}\
8867
+\
8868
+void spewProxyGetByValueResult(CacheIRReader& reader) {\
8869
+  spewOp(CacheOp::ProxyGetByValueResult);\
8870
+  spewOperandId("objId", reader.objOperandId());\
8871
+  spewArgSeparator();\
8872
+  spewOperandId("idId", reader.valOperandId());\
8873
+  spewOpEnd();\
8874
+}\
8875
+\
8876
+void spewProxyHasPropResult(CacheIRReader& reader) {\
8877
+  spewOp(CacheOp::ProxyHasPropResult);\
8878
+  spewOperandId("objId", reader.objOperandId());\
8879
+  spewArgSeparator();\
8880
+  spewOperandId("idId", reader.valOperandId());\
8881
+  spewArgSeparator();\
8882
+  spewBoolImm("hasOwn", reader.readBool());\
8883
+  spewOpEnd();\
8884
+}\
8885
+\
8886
+void spewCallObjectHasSparseElementResult(CacheIRReader& reader) {\
8887
+  spewOp(CacheOp::CallObjectHasSparseElementResult);\
8888
+  spewOperandId("objId", reader.objOperandId());\
8889
+  spewArgSeparator();\
8890
+  spewOperandId("indexId", reader.int32OperandId());\
8891
+  spewOpEnd();\
8892
+}\
8893
+\
8894
+void spewCallNativeGetElementResult(CacheIRReader& reader) {\
8895
+  spewOp(CacheOp::CallNativeGetElementResult);\
8896
+  spewOperandId("objId", reader.objOperandId());\
8897
+  spewArgSeparator();\
8898
+  spewOperandId("indexId", reader.int32OperandId());\
8899
+  spewOpEnd();\
8900
+}\
8901
+\
8902
+void spewGetNextMapSetEntryForIteratorResult(CacheIRReader& reader) {\
8903
+  spewOp(CacheOp::GetNextMapSetEntryForIteratorResult);\
8904
+  spewOperandId("iterId", reader.objOperandId());\
8905
+  spewArgSeparator();\
8906
+  spewOperandId("resultArrId", reader.objOperandId());\
8907
+  spewArgSeparator();\
8908
+  spewBoolImm("isMap", reader.readBool());\
8909
+  spewOpEnd();\
8910
+}\
8911
+\
8912
+void spewLoadUndefinedResult(CacheIRReader& reader) {\
8913
+  spewOp(CacheOp::LoadUndefinedResult);\
8914
+  spewOpEnd();\
8915
+}\
8916
+\
8917
+void spewLoadBooleanResult(CacheIRReader& reader) {\
8918
+  spewOp(CacheOp::LoadBooleanResult);\
8919
+  spewBoolImm("val", reader.readBool());\
8920
+  spewOpEnd();\
8921
+}\
8922
+\
8923
+void spewLoadInt32Constant(CacheIRReader& reader) {\
8924
+  spewOp(CacheOp::LoadInt32Constant);\
8925
+  spewField("valOffset", reader.stubOffset());\
8926
+  spewArgSeparator();\
8927
+  spewOperandId("resultId", reader.int32OperandId());\
8928
+  spewOpEnd();\
8929
+}\
8930
+\
8931
+void spewLoadBooleanConstant(CacheIRReader& reader) {\
8932
+  spewOp(CacheOp::LoadBooleanConstant);\
8933
+  spewBoolImm("val", reader.readBool());\
8934
+  spewArgSeparator();\
8935
+  spewOperandId("resultId", reader.booleanOperandId());\
8936
+  spewOpEnd();\
8937
+}\
8938
+\
8939
+void spewLoadUndefined(CacheIRReader& reader) {\
8940
+  spewOp(CacheOp::LoadUndefined);\
8941
+  spewOperandId("resultId", reader.valOperandId());\
8942
+  spewOpEnd();\
8943
+}\
8944
+\
8945
+void spewLoadConstantString(CacheIRReader& reader) {\
8946
+  spewOp(CacheOp::LoadConstantString);\
8947
+  spewField("strOffset", reader.stubOffset());\
8948
+  spewArgSeparator();\
8949
+  spewOperandId("resultId", reader.stringOperandId());\
8950
+  spewOpEnd();\
8951
+}\
8952
+\
8953
+void spewLoadConstantStringResult(CacheIRReader& reader) {\
8954
+  spewOp(CacheOp::LoadConstantStringResult);\
8955
+  spewField("strOffset", reader.stubOffset());\
8956
+  spewOpEnd();\
8957
+}\
8958
+\
8959
+void spewLoadInstanceOfObjectResult(CacheIRReader& reader) {\
8960
+  spewOp(CacheOp::LoadInstanceOfObjectResult);\
8961
+  spewOperandId("lhsId", reader.valOperandId());\
8962
+  spewArgSeparator();\
8963
+  spewOperandId("protoId", reader.objOperandId());\
8964
+  spewOpEnd();\
8965
+}\
8966
+\
8967
+void spewLoadTypeOfObjectResult(CacheIRReader& reader) {\
8968
+  spewOp(CacheOp::LoadTypeOfObjectResult);\
8969
+  spewOperandId("objId", reader.objOperandId());\
8970
+  spewOpEnd();\
8971
+}\
8972
+\
8973
+void spewDoubleAddResult(CacheIRReader& reader) {\
8974
+  spewOp(CacheOp::DoubleAddResult);\
8975
+  spewOperandId("lhsId", reader.numberOperandId());\
8976
+  spewArgSeparator();\
8977
+  spewOperandId("rhsId", reader.numberOperandId());\
8978
+  spewOpEnd();\
8979
+}\
8980
+\
8981
+void spewDoubleSubResult(CacheIRReader& reader) {\
8982
+  spewOp(CacheOp::DoubleSubResult);\
8983
+  spewOperandId("lhsId", reader.numberOperandId());\
8984
+  spewArgSeparator();\
8985
+  spewOperandId("rhsId", reader.numberOperandId());\
8986
+  spewOpEnd();\
8987
+}\
8988
+\
8989
+void spewDoubleMulResult(CacheIRReader& reader) {\
8990
+  spewOp(CacheOp::DoubleMulResult);\
8991
+  spewOperandId("lhsId", reader.numberOperandId());\
8992
+  spewArgSeparator();\
8993
+  spewOperandId("rhsId", reader.numberOperandId());\
8994
+  spewOpEnd();\
8995
+}\
8996
+\
8997
+void spewDoubleDivResult(CacheIRReader& reader) {\
8998
+  spewOp(CacheOp::DoubleDivResult);\
8999
+  spewOperandId("lhsId", reader.numberOperandId());\
9000
+  spewArgSeparator();\
9001
+  spewOperandId("rhsId", reader.numberOperandId());\
9002
+  spewOpEnd();\
9003
+}\
9004
+\
9005
+void spewDoubleModResult(CacheIRReader& reader) {\
9006
+  spewOp(CacheOp::DoubleModResult);\
9007
+  spewOperandId("lhsId", reader.numberOperandId());\
9008
+  spewArgSeparator();\
9009
+  spewOperandId("rhsId", reader.numberOperandId());\
9010
+  spewOpEnd();\
9011
+}\
9012
+\
9013
+void spewDoublePowResult(CacheIRReader& reader) {\
9014
+  spewOp(CacheOp::DoublePowResult);\
9015
+  spewOperandId("lhsId", reader.numberOperandId());\
9016
+  spewArgSeparator();\
9017
+  spewOperandId("rhsId", reader.numberOperandId());\
9018
+  spewOpEnd();\
9019
+}\
9020
+\
9021
+void spewInt32AddResult(CacheIRReader& reader) {\
9022
+  spewOp(CacheOp::Int32AddResult);\
9023
+  spewOperandId("lhsId", reader.int32OperandId());\
9024
+  spewArgSeparator();\
9025
+  spewOperandId("rhsId", reader.int32OperandId());\
9026
+  spewOpEnd();\
9027
+}\
9028
+\
9029
+void spewInt32SubResult(CacheIRReader& reader) {\
9030
+  spewOp(CacheOp::Int32SubResult);\
9031
+  spewOperandId("lhsId", reader.int32OperandId());\
9032
+  spewArgSeparator();\
9033
+  spewOperandId("rhsId", reader.int32OperandId());\
9034
+  spewOpEnd();\
9035
+}\
9036
+\
9037
+void spewInt32MulResult(CacheIRReader& reader) {\
9038
+  spewOp(CacheOp::Int32MulResult);\
9039
+  spewOperandId("lhsId", reader.int32OperandId());\
9040
+  spewArgSeparator();\
9041
+  spewOperandId("rhsId", reader.int32OperandId());\
9042
+  spewOpEnd();\
9043
+}\
9044
+\
9045
+void spewInt32DivResult(CacheIRReader& reader) {\
9046
+  spewOp(CacheOp::Int32DivResult);\
9047
+  spewOperandId("lhsId", reader.int32OperandId());\
9048
+  spewArgSeparator();\
9049
+  spewOperandId("rhsId", reader.int32OperandId());\
9050
+  spewOpEnd();\
9051
+}\
9052
+\
9053
+void spewInt32ModResult(CacheIRReader& reader) {\
9054
+  spewOp(CacheOp::Int32ModResult);\
9055
+  spewOperandId("lhsId", reader.int32OperandId());\
9056
+  spewArgSeparator();\
9057
+  spewOperandId("rhsId", reader.int32OperandId());\
9058
+  spewOpEnd();\
9059
+}\
9060
+\
9061
+void spewInt32PowResult(CacheIRReader& reader) {\
9062
+  spewOp(CacheOp::Int32PowResult);\
9063
+  spewOperandId("lhsId", reader.int32OperandId());\
9064
+  spewArgSeparator();\
9065
+  spewOperandId("rhsId", reader.int32OperandId());\
9066
+  spewOpEnd();\
9067
+}\
9068
+\
9069
+void spewBigIntAddResult(CacheIRReader& reader) {\
9070
+  spewOp(CacheOp::BigIntAddResult);\
9071
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9072
+  spewArgSeparator();\
9073
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9074
+  spewOpEnd();\
9075
+}\
9076
+\
9077
+void spewBigIntSubResult(CacheIRReader& reader) {\
9078
+  spewOp(CacheOp::BigIntSubResult);\
9079
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9080
+  spewArgSeparator();\
9081
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9082
+  spewOpEnd();\
9083
+}\
9084
+\
9085
+void spewBigIntMulResult(CacheIRReader& reader) {\
9086
+  spewOp(CacheOp::BigIntMulResult);\
9087
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9088
+  spewArgSeparator();\
9089
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9090
+  spewOpEnd();\
9091
+}\
9092
+\
9093
+void spewBigIntDivResult(CacheIRReader& reader) {\
9094
+  spewOp(CacheOp::BigIntDivResult);\
9095
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9096
+  spewArgSeparator();\
9097
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9098
+  spewOpEnd();\
9099
+}\
9100
+\
9101
+void spewBigIntModResult(CacheIRReader& reader) {\
9102
+  spewOp(CacheOp::BigIntModResult);\
9103
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9104
+  spewArgSeparator();\
9105
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9106
+  spewOpEnd();\
9107
+}\
9108
+\
9109
+void spewBigIntPowResult(CacheIRReader& reader) {\
9110
+  spewOp(CacheOp::BigIntPowResult);\
9111
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9112
+  spewArgSeparator();\
9113
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9114
+  spewOpEnd();\
9115
+}\
9116
+\
9117
+void spewInt32BitOrResult(CacheIRReader& reader) {\
9118
+  spewOp(CacheOp::Int32BitOrResult);\
9119
+  spewOperandId("lhsId", reader.int32OperandId());\
9120
+  spewArgSeparator();\
9121
+  spewOperandId("rhsId", reader.int32OperandId());\
9122
+  spewOpEnd();\
9123
+}\
9124
+\
9125
+void spewInt32BitXorResult(CacheIRReader& reader) {\
9126
+  spewOp(CacheOp::Int32BitXorResult);\
9127
+  spewOperandId("lhsId", reader.int32OperandId());\
9128
+  spewArgSeparator();\
9129
+  spewOperandId("rhsId", reader.int32OperandId());\
9130
+  spewOpEnd();\
9131
+}\
9132
+\
9133
+void spewInt32BitAndResult(CacheIRReader& reader) {\
9134
+  spewOp(CacheOp::Int32BitAndResult);\
9135
+  spewOperandId("lhsId", reader.int32OperandId());\
9136
+  spewArgSeparator();\
9137
+  spewOperandId("rhsId", reader.int32OperandId());\
9138
+  spewOpEnd();\
9139
+}\
9140
+\
9141
+void spewInt32LeftShiftResult(CacheIRReader& reader) {\
9142
+  spewOp(CacheOp::Int32LeftShiftResult);\
9143
+  spewOperandId("lhsId", reader.int32OperandId());\
9144
+  spewArgSeparator();\
9145
+  spewOperandId("rhsId", reader.int32OperandId());\
9146
+  spewOpEnd();\
9147
+}\
9148
+\
9149
+void spewInt32RightShiftResult(CacheIRReader& reader) {\
9150
+  spewOp(CacheOp::Int32RightShiftResult);\
9151
+  spewOperandId("lhsId", reader.int32OperandId());\
9152
+  spewArgSeparator();\
9153
+  spewOperandId("rhsId", reader.int32OperandId());\
9154
+  spewOpEnd();\
9155
+}\
9156
+\
9157
+void spewInt32URightShiftResult(CacheIRReader& reader) {\
9158
+  spewOp(CacheOp::Int32URightShiftResult);\
9159
+  spewOperandId("lhsId", reader.int32OperandId());\
9160
+  spewArgSeparator();\
9161
+  spewOperandId("rhsId", reader.int32OperandId());\
9162
+  spewArgSeparator();\
9163
+  spewBoolImm("forceDouble", reader.readBool());\
9164
+  spewOpEnd();\
9165
+}\
9166
+\
9167
+void spewInt32NotResult(CacheIRReader& reader) {\
9168
+  spewOp(CacheOp::Int32NotResult);\
9169
+  spewOperandId("inputId", reader.int32OperandId());\
9170
+  spewOpEnd();\
9171
+}\
9172
+\
9173
+void spewBigIntBitOrResult(CacheIRReader& reader) {\
9174
+  spewOp(CacheOp::BigIntBitOrResult);\
9175
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9176
+  spewArgSeparator();\
9177
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9178
+  spewOpEnd();\
9179
+}\
9180
+\
9181
+void spewBigIntBitXorResult(CacheIRReader& reader) {\
9182
+  spewOp(CacheOp::BigIntBitXorResult);\
9183
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9184
+  spewArgSeparator();\
9185
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9186
+  spewOpEnd();\
9187
+}\
9188
+\
9189
+void spewBigIntBitAndResult(CacheIRReader& reader) {\
9190
+  spewOp(CacheOp::BigIntBitAndResult);\
9191
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9192
+  spewArgSeparator();\
9193
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9194
+  spewOpEnd();\
9195
+}\
9196
+\
9197
+void spewBigIntLeftShiftResult(CacheIRReader& reader) {\
9198
+  spewOp(CacheOp::BigIntLeftShiftResult);\
9199
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9200
+  spewArgSeparator();\
9201
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9202
+  spewOpEnd();\
9203
+}\
9204
+\
9205
+void spewBigIntRightShiftResult(CacheIRReader& reader) {\
9206
+  spewOp(CacheOp::BigIntRightShiftResult);\
9207
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9208
+  spewArgSeparator();\
9209
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9210
+  spewOpEnd();\
9211
+}\
9212
+\
9213
+void spewBigIntNotResult(CacheIRReader& reader) {\
9214
+  spewOp(CacheOp::BigIntNotResult);\
9215
+  spewOperandId("inputId", reader.bigIntOperandId());\
9216
+  spewOpEnd();\
9217
+}\
9218
+\
9219
+void spewInt32NegationResult(CacheIRReader& reader) {\
9220
+  spewOp(CacheOp::Int32NegationResult);\
9221
+  spewOperandId("inputId", reader.int32OperandId());\
9222
+  spewOpEnd();\
9223
+}\
9224
+\
9225
+void spewDoubleNegationResult(CacheIRReader& reader) {\
9226
+  spewOp(CacheOp::DoubleNegationResult);\
9227
+  spewOperandId("inputId", reader.numberOperandId());\
9228
+  spewOpEnd();\
9229
+}\
9230
+\
9231
+void spewBigIntNegationResult(CacheIRReader& reader) {\
9232
+  spewOp(CacheOp::BigIntNegationResult);\
9233
+  spewOperandId("inputId", reader.bigIntOperandId());\
9234
+  spewOpEnd();\
9235
+}\
9236
+\
9237
+void spewInt32IncResult(CacheIRReader& reader) {\
9238
+  spewOp(CacheOp::Int32IncResult);\
9239
+  spewOperandId("inputId", reader.int32OperandId());\
9240
+  spewOpEnd();\
9241
+}\
9242
+\
9243
+void spewInt32DecResult(CacheIRReader& reader) {\
9244
+  spewOp(CacheOp::Int32DecResult);\
9245
+  spewOperandId("inputId", reader.int32OperandId());\
9246
+  spewOpEnd();\
9247
+}\
9248
+\
9249
+void spewDoubleIncResult(CacheIRReader& reader) {\
9250
+  spewOp(CacheOp::DoubleIncResult);\
9251
+  spewOperandId("inputId", reader.numberOperandId());\
9252
+  spewOpEnd();\
9253
+}\
9254
+\
9255
+void spewDoubleDecResult(CacheIRReader& reader) {\
9256
+  spewOp(CacheOp::DoubleDecResult);\
9257
+  spewOperandId("inputId", reader.numberOperandId());\
9258
+  spewOpEnd();\
9259
+}\
9260
+\
9261
+void spewBigIntIncResult(CacheIRReader& reader) {\
9262
+  spewOp(CacheOp::BigIntIncResult);\
9263
+  spewOperandId("inputId", reader.bigIntOperandId());\
9264
+  spewOpEnd();\
9265
+}\
9266
+\
9267
+void spewBigIntDecResult(CacheIRReader& reader) {\
9268
+  spewOp(CacheOp::BigIntDecResult);\
9269
+  spewOperandId("inputId", reader.bigIntOperandId());\
9270
+  spewOpEnd();\
9271
+}\
9272
+\
9273
+void spewLoadInt32TruthyResult(CacheIRReader& reader) {\
9274
+  spewOp(CacheOp::LoadInt32TruthyResult);\
9275
+  spewOperandId("inputId", reader.valOperandId());\
9276
+  spewOpEnd();\
9277
+}\
9278
+\
9279
+void spewLoadDoubleTruthyResult(CacheIRReader& reader) {\
9280
+  spewOp(CacheOp::LoadDoubleTruthyResult);\
9281
+  spewOperandId("inputId", reader.numberOperandId());\
9282
+  spewOpEnd();\
9283
+}\
9284
+\
9285
+void spewLoadStringTruthyResult(CacheIRReader& reader) {\
9286
+  spewOp(CacheOp::LoadStringTruthyResult);\
9287
+  spewOperandId("strId", reader.stringOperandId());\
9288
+  spewOpEnd();\
9289
+}\
9290
+\
9291
+void spewLoadObjectTruthyResult(CacheIRReader& reader) {\
9292
+  spewOp(CacheOp::LoadObjectTruthyResult);\
9293
+  spewOperandId("objId", reader.objOperandId());\
9294
+  spewOpEnd();\
9295
+}\
9296
+\
9297
+void spewLoadBigIntTruthyResult(CacheIRReader& reader) {\
9298
+  spewOp(CacheOp::LoadBigIntTruthyResult);\
9299
+  spewOperandId("bigIntId", reader.bigIntOperandId());\
9300
+  spewOpEnd();\
9301
+}\
9302
+\
9303
+void spewLoadValueTruthyResult(CacheIRReader& reader) {\
9304
+  spewOp(CacheOp::LoadValueTruthyResult);\
9305
+  spewOperandId("inputId", reader.valOperandId());\
9306
+  spewOpEnd();\
9307
+}\
9308
+\
9309
+void spewLoadValueResult(CacheIRReader& reader) {\
9310
+  spewOp(CacheOp::LoadValueResult);\
9311
+  spewField("valOffset", reader.stubOffset());\
9312
+  spewOpEnd();\
9313
+}\
9314
+\
9315
+void spewLoadOperandResult(CacheIRReader& reader) {\
9316
+  spewOp(CacheOp::LoadOperandResult);\
9317
+  spewOperandId("inputId", reader.valOperandId());\
9318
+  spewOpEnd();\
9319
+}\
9320
+\
9321
+void spewNewPlainObjectResult(CacheIRReader& reader) {\
9322
+  spewOp(CacheOp::NewPlainObjectResult);\
9323
+  spewUInt32Imm("numFixedSlots", reader.uint32Immediate());\
9324
+  spewArgSeparator();\
9325
+  spewUInt32Imm("numDynamicSlots", reader.uint32Immediate());\
9326
+  spewArgSeparator();\
9327
+  spewAllocKindImm("allocKind", reader.allocKind());\
9328
+  spewArgSeparator();\
9329
+  spewField("shapeOffset", reader.stubOffset());\
9330
+  spewArgSeparator();\
9331
+  spewField("siteOffset", reader.stubOffset());\
9332
+  spewOpEnd();\
9333
+}\
9334
+\
9335
+void spewNewArrayObjectResult(CacheIRReader& reader) {\
9336
+  spewOp(CacheOp::NewArrayObjectResult);\
9337
+  spewUInt32Imm("arrayLength", reader.uint32Immediate());\
9338
+  spewArgSeparator();\
9339
+  spewField("shapeOffset", reader.stubOffset());\
9340
+  spewArgSeparator();\
9341
+  spewField("siteOffset", reader.stubOffset());\
9342
+  spewOpEnd();\
9343
+}\
9344
+\
9345
+void spewCallStringConcatResult(CacheIRReader& reader) {\
9346
+  spewOp(CacheOp::CallStringConcatResult);\
9347
+  spewOperandId("lhsId", reader.stringOperandId());\
9348
+  spewArgSeparator();\
9349
+  spewOperandId("rhsId", reader.stringOperandId());\
9350
+  spewOpEnd();\
9351
+}\
9352
+\
9353
+void spewCallStringObjectConcatResult(CacheIRReader& reader) {\
9354
+  spewOp(CacheOp::CallStringObjectConcatResult);\
9355
+  spewOperandId("lhsId", reader.valOperandId());\
9356
+  spewArgSeparator();\
9357
+  spewOperandId("rhsId", reader.valOperandId());\
9358
+  spewOpEnd();\
9359
+}\
9360
+\
9361
+void spewCallIsSuspendedGeneratorResult(CacheIRReader& reader) {\
9362
+  spewOp(CacheOp::CallIsSuspendedGeneratorResult);\
9363
+  spewOperandId("valId", reader.valOperandId());\
9364
+  spewOpEnd();\
9365
+}\
9366
+\
9367
+void spewCompareStringResult(CacheIRReader& reader) {\
9368
+  spewOp(CacheOp::CompareStringResult);\
9369
+  spewJSOpImm("op", reader.jsop());\
9370
+  spewArgSeparator();\
9371
+  spewOperandId("lhsId", reader.stringOperandId());\
9372
+  spewArgSeparator();\
9373
+  spewOperandId("rhsId", reader.stringOperandId());\
9374
+  spewOpEnd();\
9375
+}\
9376
+\
9377
+void spewCompareObjectResult(CacheIRReader& reader) {\
9378
+  spewOp(CacheOp::CompareObjectResult);\
9379
+  spewJSOpImm("op", reader.jsop());\
9380
+  spewArgSeparator();\
9381
+  spewOperandId("lhsId", reader.objOperandId());\
9382
+  spewArgSeparator();\
9383
+  spewOperandId("rhsId", reader.objOperandId());\
9384
+  spewOpEnd();\
9385
+}\
9386
+\
9387
+void spewCompareSymbolResult(CacheIRReader& reader) {\
9388
+  spewOp(CacheOp::CompareSymbolResult);\
9389
+  spewJSOpImm("op", reader.jsop());\
9390
+  spewArgSeparator();\
9391
+  spewOperandId("lhsId", reader.symbolOperandId());\
9392
+  spewArgSeparator();\
9393
+  spewOperandId("rhsId", reader.symbolOperandId());\
9394
+  spewOpEnd();\
9395
+}\
9396
+\
9397
+void spewCompareInt32Result(CacheIRReader& reader) {\
9398
+  spewOp(CacheOp::CompareInt32Result);\
9399
+  spewJSOpImm("op", reader.jsop());\
9400
+  spewArgSeparator();\
9401
+  spewOperandId("lhsId", reader.int32OperandId());\
9402
+  spewArgSeparator();\
9403
+  spewOperandId("rhsId", reader.int32OperandId());\
9404
+  spewOpEnd();\
9405
+}\
9406
+\
9407
+void spewCompareDoubleResult(CacheIRReader& reader) {\
9408
+  spewOp(CacheOp::CompareDoubleResult);\
9409
+  spewJSOpImm("op", reader.jsop());\
9410
+  spewArgSeparator();\
9411
+  spewOperandId("lhsId", reader.numberOperandId());\
9412
+  spewArgSeparator();\
9413
+  spewOperandId("rhsId", reader.numberOperandId());\
9414
+  spewOpEnd();\
9415
+}\
9416
+\
9417
+void spewCompareBigIntResult(CacheIRReader& reader) {\
9418
+  spewOp(CacheOp::CompareBigIntResult);\
9419
+  spewJSOpImm("op", reader.jsop());\
9420
+  spewArgSeparator();\
9421
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9422
+  spewArgSeparator();\
9423
+  spewOperandId("rhsId", reader.bigIntOperandId());\
9424
+  spewOpEnd();\
9425
+}\
9426
+\
9427
+void spewCompareBigIntInt32Result(CacheIRReader& reader) {\
9428
+  spewOp(CacheOp::CompareBigIntInt32Result);\
9429
+  spewJSOpImm("op", reader.jsop());\
9430
+  spewArgSeparator();\
9431
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9432
+  spewArgSeparator();\
9433
+  spewOperandId("rhsId", reader.int32OperandId());\
9434
+  spewOpEnd();\
9435
+}\
9436
+\
9437
+void spewCompareBigIntNumberResult(CacheIRReader& reader) {\
9438
+  spewOp(CacheOp::CompareBigIntNumberResult);\
9439
+  spewJSOpImm("op", reader.jsop());\
9440
+  spewArgSeparator();\
9441
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9442
+  spewArgSeparator();\
9443
+  spewOperandId("rhsId", reader.numberOperandId());\
9444
+  spewOpEnd();\
9445
+}\
9446
+\
9447
+void spewCompareBigIntStringResult(CacheIRReader& reader) {\
9448
+  spewOp(CacheOp::CompareBigIntStringResult);\
9449
+  spewJSOpImm("op", reader.jsop());\
9450
+  spewArgSeparator();\
9451
+  spewOperandId("lhsId", reader.bigIntOperandId());\
9452
+  spewArgSeparator();\
9453
+  spewOperandId("rhsId", reader.stringOperandId());\
9454
+  spewOpEnd();\
9455
+}\
9456
+\
9457
+void spewCompareNullUndefinedResult(CacheIRReader& reader) {\
9458
+  spewOp(CacheOp::CompareNullUndefinedResult);\
9459
+  spewJSOpImm("op", reader.jsop());\
9460
+  spewArgSeparator();\
9461
+  spewBoolImm("isUndefined", reader.readBool());\
9462
+  spewArgSeparator();\
9463
+  spewOperandId("inputId", reader.valOperandId());\
9464
+  spewOpEnd();\
9465
+}\
9466
+\
9467
+void spewCompareDoubleSameValueResult(CacheIRReader& reader) {\
9468
+  spewOp(CacheOp::CompareDoubleSameValueResult);\
9469
+  spewOperandId("lhsId", reader.numberOperandId());\
9470
+  spewArgSeparator();\
9471
+  spewOperandId("rhsId", reader.numberOperandId());\
9472
+  spewOpEnd();\
9473
+}\
9474
+\
9475
+void spewSameValueResult(CacheIRReader& reader) {\
9476
+  spewOp(CacheOp::SameValueResult);\
9477
+  spewOperandId("lhsId", reader.valOperandId());\
9478
+  spewArgSeparator();\
9479
+  spewOperandId("rhsId", reader.valOperandId());\
9480
+  spewOpEnd();\
9481
+}\
9482
+\
9483
+void spewIndirectTruncateInt32Result(CacheIRReader& reader) {\
9484
+  spewOp(CacheOp::IndirectTruncateInt32Result);\
9485
+  spewOperandId("valId", reader.int32OperandId());\
9486
+  spewOpEnd();\
9487
+}\
9488
+\
9489
+void spewBigIntAsIntNResult(CacheIRReader& reader) {\
9490
+  spewOp(CacheOp::BigIntAsIntNResult);\
9491
+  spewOperandId("bitsId", reader.int32OperandId());\
9492
+  spewArgSeparator();\
9493
+  spewOperandId("bigIntId", reader.bigIntOperandId());\
9494
+  spewOpEnd();\
9495
+}\
9496
+\
9497
+void spewBigIntAsUintNResult(CacheIRReader& reader) {\
9498
+  spewOp(CacheOp::BigIntAsUintNResult);\
9499
+  spewOperandId("bitsId", reader.int32OperandId());\
9500
+  spewArgSeparator();\
9501
+  spewOperandId("bigIntId", reader.bigIntOperandId());\
9502
+  spewOpEnd();\
9503
+}\
9504
+\
9505
+void spewCallPrintString(CacheIRReader& reader) {\
9506
+  spewOp(CacheOp::CallPrintString);\
9507
+  spewStaticStringImm("str", reinterpret_cast<char*>(reader.pointer()));\
9508
+  spewOpEnd();\
9509
+}\
9510
+\
9511
+void spewBreakpoint(CacheIRReader& reader) {\
9512
+  spewOp(CacheOp::Breakpoint);\
9513
+  spewOpEnd();\
9514
+}\
9515
+\
9516
+void spewWrapResult(CacheIRReader& reader) {\
9517
+  spewOp(CacheOp::WrapResult);\
9518
+  spewOpEnd();\
9519
+}\
9520
+\
9521
+void spewBailout(CacheIRReader& reader) {\
9522
+  spewOp(CacheOp::Bailout);\
9523
+  spewOpEnd();\
9524
+}\
9525
+\
9526
+void spewAssertRecoveredOnBailoutResult(CacheIRReader& reader) {\
9527
+  spewOp(CacheOp::AssertRecoveredOnBailoutResult);\
9528
+  spewOperandId("valId", reader.valOperandId());\
9529
+  spewArgSeparator();\
9530
+  spewBoolImm("mustBeRecovered", reader.readBool());\
9531
+  spewOpEnd();\
9532
+}\
9533
+
9534
+
9535
+#define CACHE_IR_CLONE_GENERATED \
9536
+void cloneReturnFromIC(CacheIRReader& reader, CacheIRWriter& writer) {{\
9537
+  writer.writeOp(CacheOp::ReturnFromIC);\
9538
+  writer.assertLengthMatches();\
9539
+}}\
9540
+\
9541
+void cloneGuardToObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
9542
+  writer.writeOp(CacheOp::GuardToObject);\
9543
+  ValOperandId inputId = reader.valOperandId();\
9544
+  writer.writeOperandId(inputId);\
9545
+  writer.assertLengthMatches();\
9546
+}}\
9547
+\
9548
+void cloneGuardIsNullOrUndefined(CacheIRReader& reader, CacheIRWriter& writer) {{\
9549
+  writer.writeOp(CacheOp::GuardIsNullOrUndefined);\
9550
+  ValOperandId inputId = reader.valOperandId();\
9551
+  writer.writeOperandId(inputId);\
9552
+  writer.assertLengthMatches();\
9553
+}}\
9554
+\
9555
+void cloneGuardIsNull(CacheIRReader& reader, CacheIRWriter& writer) {{\
9556
+  writer.writeOp(CacheOp::GuardIsNull);\
9557
+  ValOperandId inputId = reader.valOperandId();\
9558
+  writer.writeOperandId(inputId);\
9559
+  writer.assertLengthMatches();\
9560
+}}\
9561
+\
9562
+void cloneGuardIsUndefined(CacheIRReader& reader, CacheIRWriter& writer) {{\
9563
+  writer.writeOp(CacheOp::GuardIsUndefined);\
9564
+  ValOperandId inputId = reader.valOperandId();\
9565
+  writer.writeOperandId(inputId);\
9566
+  writer.assertLengthMatches();\
9567
+}}\
9568
+\
9569
+void cloneGuardToBoolean(CacheIRReader& reader, CacheIRWriter& writer) {{\
9570
+  writer.writeOp(CacheOp::GuardToBoolean);\
9571
+  ValOperandId inputId = reader.valOperandId();\
9572
+  writer.writeOperandId(inputId);\
9573
+  writer.assertLengthMatches();\
9574
+}}\
9575
+\
9576
+void cloneGuardToString(CacheIRReader& reader, CacheIRWriter& writer) {{\
9577
+  writer.writeOp(CacheOp::GuardToString);\
9578
+  ValOperandId inputId = reader.valOperandId();\
9579
+  writer.writeOperandId(inputId);\
9580
+  writer.assertLengthMatches();\
9581
+}}\
9582
+\
9583
+void cloneGuardToSymbol(CacheIRReader& reader, CacheIRWriter& writer) {{\
9584
+  writer.writeOp(CacheOp::GuardToSymbol);\
9585
+  ValOperandId inputId = reader.valOperandId();\
9586
+  writer.writeOperandId(inputId);\
9587
+  writer.assertLengthMatches();\
9588
+}}\
9589
+\
9590
+void cloneGuardToBigInt(CacheIRReader& reader, CacheIRWriter& writer) {{\
9591
+  writer.writeOp(CacheOp::GuardToBigInt);\
9592
+  ValOperandId inputId = reader.valOperandId();\
9593
+  writer.writeOperandId(inputId);\
9594
+  writer.assertLengthMatches();\
9595
+}}\
9596
+\
9597
+void cloneGuardIsNumber(CacheIRReader& reader, CacheIRWriter& writer) {{\
9598
+  writer.writeOp(CacheOp::GuardIsNumber);\
9599
+  ValOperandId inputId = reader.valOperandId();\
9600
+  writer.writeOperandId(inputId);\
9601
+  writer.assertLengthMatches();\
9602
+}}\
9603
+\
9604
+void cloneGuardToInt32(CacheIRReader& reader, CacheIRWriter& writer) {{\
9605
+  writer.writeOp(CacheOp::GuardToInt32);\
9606
+  ValOperandId inputId = reader.valOperandId();\
9607
+  writer.writeOperandId(inputId);\
9608
+  writer.assertLengthMatches();\
9609
+}}\
9610
+\
9611
+void cloneGuardBooleanToInt32(CacheIRReader& reader, CacheIRWriter& writer) {{\
9612
+  writer.writeOp(CacheOp::GuardBooleanToInt32);\
9613
+  ValOperandId inputId = reader.valOperandId();\
9614
+  writer.writeOperandId(inputId);\
9615
+  Int32OperandId resultId = reader.int32OperandId();\
9616
+  writer.newOperandId();\
9617
+  writer.writeOperandId(resultId);\
9618
+  writer.assertLengthMatches();\
9619
+}}\
9620
+\
9621
+void cloneGuardToInt32Index(CacheIRReader& reader, CacheIRWriter& writer) {{\
9622
+  writer.writeOp(CacheOp::GuardToInt32Index);\
9623
+  ValOperandId inputId = reader.valOperandId();\
9624
+  writer.writeOperandId(inputId);\
9625
+  Int32OperandId resultId = reader.int32OperandId();\
9626
+  writer.newOperandId();\
9627
+  writer.writeOperandId(resultId);\
9628
+  writer.assertLengthMatches();\
9629
+}}\
9630
+\
9631
+void cloneInt32ToIntPtr(CacheIRReader& reader, CacheIRWriter& writer) {{\
9632
+  writer.writeOp(CacheOp::Int32ToIntPtr);\
9633
+  Int32OperandId inputId = reader.int32OperandId();\
9634
+  writer.writeOperandId(inputId);\
9635
+  IntPtrOperandId resultId = reader.intPtrOperandId();\
9636
+  writer.newOperandId();\
9637
+  writer.writeOperandId(resultId);\
9638
+  writer.assertLengthMatches();\
9639
+}}\
9640
+\
9641
+void cloneGuardNumberToIntPtrIndex(CacheIRReader& reader, CacheIRWriter& writer) {{\
9642
+  writer.writeOp(CacheOp::GuardNumberToIntPtrIndex);\
9643
+  NumberOperandId inputId = reader.numberOperandId();\
9644
+  writer.writeOperandId(inputId);\
9645
+  bool supportOOB = reader.readBool();\
9646
+  writer.writeBoolImm(supportOOB);\
9647
+  IntPtrOperandId resultId = reader.intPtrOperandId();\
9648
+  writer.newOperandId();\
9649
+  writer.writeOperandId(resultId);\
9650
+  writer.assertLengthMatches();\
9651
+}}\
9652
+\
9653
+void cloneGuardToInt32ModUint32(CacheIRReader& reader, CacheIRWriter& writer) {{\
9654
+  writer.writeOp(CacheOp::GuardToInt32ModUint32);\
9655
+  ValOperandId inputId = reader.valOperandId();\
9656
+  writer.writeOperandId(inputId);\
9657
+  Int32OperandId resultId = reader.int32OperandId();\
9658
+  writer.newOperandId();\
9659
+  writer.writeOperandId(resultId);\
9660
+  writer.assertLengthMatches();\
9661
+}}\
9662
+\
9663
+void cloneGuardToUint8Clamped(CacheIRReader& reader, CacheIRWriter& writer) {{\
9664
+  writer.writeOp(CacheOp::GuardToUint8Clamped);\
9665
+  ValOperandId inputId = reader.valOperandId();\
9666
+  writer.writeOperandId(inputId);\
9667
+  Int32OperandId resultId = reader.int32OperandId();\
9668
+  writer.newOperandId();\
9669
+  writer.writeOperandId(resultId);\
9670
+  writer.assertLengthMatches();\
9671
+}}\
9672
+\
9673
+void cloneGuardNonDoubleType(CacheIRReader& reader, CacheIRWriter& writer) {{\
9674
+  writer.writeOp(CacheOp::GuardNonDoubleType);\
9675
+  ValOperandId inputId = reader.valOperandId();\
9676
+  writer.writeOperandId(inputId);\
9677
+  ValueType type = reader.valueType();\
9678
+  writer.writeValueTypeImm(type);\
9679
+  writer.assertLengthMatches();\
9680
+}}\
9681
+\
9682
+void cloneGuardShape(CacheIRReader& reader, CacheIRWriter& writer) {{\
9683
+  writer.writeOp(CacheOp::GuardShape);\
9684
+  ObjOperandId objId = reader.objOperandId();\
9685
+  writer.writeOperandId(objId);\
9686
+  uint32_t shapeOffset = reader.stubOffset();\
9687
+  Shape* shape = getShapeField(shapeOffset);\
9688
+  writer.writeShapeField(shape);\
9689
+  writer.assertLengthMatches();\
9690
+}}\
9691
+\
9692
+void cloneGuardProto(CacheIRReader& reader, CacheIRWriter& writer) {{\
9693
+  writer.writeOp(CacheOp::GuardProto);\
9694
+  ObjOperandId objId = reader.objOperandId();\
9695
+  writer.writeOperandId(objId);\
9696
+  uint32_t protoOffset = reader.stubOffset();\
9697
+  JSObject* proto = getObjectField(protoOffset);\
9698
+  writer.writeObjectField(proto);\
9699
+  writer.assertLengthMatches();\
9700
+}}\
9701
+\
9702
+void cloneGuardNullProto(CacheIRReader& reader, CacheIRWriter& writer) {{\
9703
+  writer.writeOp(CacheOp::GuardNullProto);\
9704
+  ObjOperandId objId = reader.objOperandId();\
9705
+  writer.writeOperandId(objId);\
9706
+  writer.assertLengthMatches();\
9707
+}}\
9708
+\
9709
+void cloneGuardClass(CacheIRReader& reader, CacheIRWriter& writer) {{\
9710
+  writer.writeOp(CacheOp::GuardClass);\
9711
+  ObjOperandId objId = reader.objOperandId();\
9712
+  writer.writeOperandId(objId);\
9713
+  GuardClassKind kind = reader.guardClassKind();\
9714
+  writer.writeGuardClassKindImm(kind);\
9715
+  writer.assertLengthMatches();\
9716
+}}\
9717
+\
9718
+void cloneGuardAnyClass(CacheIRReader& reader, CacheIRWriter& writer) {{\
9719
+  writer.writeOp(CacheOp::GuardAnyClass);\
9720
+  ObjOperandId objId = reader.objOperandId();\
9721
+  writer.writeOperandId(objId);\
9722
+  uint32_t claspOffset = reader.stubOffset();\
9723
+  const void* clasp = getRawPointerField(claspOffset);\
9724
+  writer.writeRawPointerField(clasp);\
9725
+  writer.assertLengthMatches();\
9726
+}}\
9727
+\
9728
+void cloneHasClassResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9729
+  writer.writeOp(CacheOp::HasClassResult);\
9730
+  ObjOperandId objId = reader.objOperandId();\
9731
+  writer.writeOperandId(objId);\
9732
+  uint32_t claspOffset = reader.stubOffset();\
9733
+  const void* clasp = getRawPointerField(claspOffset);\
9734
+  writer.writeRawPointerField(clasp);\
9735
+  writer.assertLengthMatches();\
9736
+}}\
9737
+\
9738
+void cloneCallRegExpMatcherResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9739
+  writer.writeOp(CacheOp::CallRegExpMatcherResult);\
9740
+  ObjOperandId regexpId = reader.objOperandId();\
9741
+  writer.writeOperandId(regexpId);\
9742
+  StringOperandId inputId = reader.stringOperandId();\
9743
+  writer.writeOperandId(inputId);\
9744
+  Int32OperandId lastIndexId = reader.int32OperandId();\
9745
+  writer.writeOperandId(lastIndexId);\
9746
+  writer.assertLengthMatches();\
9747
+}}\
9748
+\
9749
+void cloneCallRegExpSearcherResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9750
+  writer.writeOp(CacheOp::CallRegExpSearcherResult);\
9751
+  ObjOperandId regexpId = reader.objOperandId();\
9752
+  writer.writeOperandId(regexpId);\
9753
+  StringOperandId inputId = reader.stringOperandId();\
9754
+  writer.writeOperandId(inputId);\
9755
+  Int32OperandId lastIndexId = reader.int32OperandId();\
9756
+  writer.writeOperandId(lastIndexId);\
9757
+  writer.assertLengthMatches();\
9758
+}}\
9759
+\
9760
+void cloneCallRegExpTesterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9761
+  writer.writeOp(CacheOp::CallRegExpTesterResult);\
9762
+  ObjOperandId regexpId = reader.objOperandId();\
9763
+  writer.writeOperandId(regexpId);\
9764
+  StringOperandId inputId = reader.stringOperandId();\
9765
+  writer.writeOperandId(inputId);\
9766
+  Int32OperandId lastIndexId = reader.int32OperandId();\
9767
+  writer.writeOperandId(lastIndexId);\
9768
+  writer.assertLengthMatches();\
9769
+}}\
9770
+\
9771
+void cloneRegExpFlagResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9772
+  writer.writeOp(CacheOp::RegExpFlagResult);\
9773
+  ObjOperandId regexpId = reader.objOperandId();\
9774
+  writer.writeOperandId(regexpId);\
9775
+  int32_t flagsMask = reader.int32Immediate();\
9776
+  writer.writeInt32Imm(flagsMask);\
9777
+  writer.assertLengthMatches();\
9778
+}}\
9779
+\
9780
+void cloneCallSubstringKernelResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9781
+  writer.writeOp(CacheOp::CallSubstringKernelResult);\
9782
+  StringOperandId strId = reader.stringOperandId();\
9783
+  writer.writeOperandId(strId);\
9784
+  Int32OperandId beginId = reader.int32OperandId();\
9785
+  writer.writeOperandId(beginId);\
9786
+  Int32OperandId lengthId = reader.int32OperandId();\
9787
+  writer.writeOperandId(lengthId);\
9788
+  writer.assertLengthMatches();\
9789
+}}\
9790
+\
9791
+void cloneStringReplaceStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9792
+  writer.writeOp(CacheOp::StringReplaceStringResult);\
9793
+  StringOperandId strId = reader.stringOperandId();\
9794
+  writer.writeOperandId(strId);\
9795
+  StringOperandId patternId = reader.stringOperandId();\
9796
+  writer.writeOperandId(patternId);\
9797
+  StringOperandId replacementId = reader.stringOperandId();\
9798
+  writer.writeOperandId(replacementId);\
9799
+  writer.assertLengthMatches();\
9800
+}}\
9801
+\
9802
+void cloneStringSplitStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9803
+  writer.writeOp(CacheOp::StringSplitStringResult);\
9804
+  StringOperandId strId = reader.stringOperandId();\
9805
+  writer.writeOperandId(strId);\
9806
+  StringOperandId separatorId = reader.stringOperandId();\
9807
+  writer.writeOperandId(separatorId);\
9808
+  writer.assertLengthMatches();\
9809
+}}\
9810
+\
9811
+void cloneRegExpPrototypeOptimizableResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9812
+  writer.writeOp(CacheOp::RegExpPrototypeOptimizableResult);\
9813
+  ObjOperandId protoId = reader.objOperandId();\
9814
+  writer.writeOperandId(protoId);\
9815
+  writer.assertLengthMatches();\
9816
+}}\
9817
+\
9818
+void cloneRegExpInstanceOptimizableResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9819
+  writer.writeOp(CacheOp::RegExpInstanceOptimizableResult);\
9820
+  ObjOperandId regexpId = reader.objOperandId();\
9821
+  writer.writeOperandId(regexpId);\
9822
+  ObjOperandId protoId = reader.objOperandId();\
9823
+  writer.writeOperandId(protoId);\
9824
+  writer.assertLengthMatches();\
9825
+}}\
9826
+\
9827
+void cloneGetFirstDollarIndexResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
9828
+  writer.writeOp(CacheOp::GetFirstDollarIndexResult);\
9829
+  StringOperandId strId = reader.stringOperandId();\
9830
+  writer.writeOperandId(strId);\
9831
+  writer.assertLengthMatches();\
9832
+}}\
9833
+\
9834
+void cloneGuardCompartment(CacheIRReader& reader, CacheIRWriter& writer) {{\
9835
+  writer.writeOp(CacheOp::GuardCompartment);\
9836
+  ObjOperandId objId = reader.objOperandId();\
9837
+  writer.writeOperandId(objId);\
9838
+  uint32_t globalOffset = reader.stubOffset();\
9839
+  JSObject* global = getObjectField(globalOffset);\
9840
+  writer.writeObjectField(global);\
9841
+  uint32_t compartmentOffset = reader.stubOffset();\
9842
+  const void* compartment = getRawPointerField(compartmentOffset);\
9843
+  writer.writeRawPointerField(compartment);\
9844
+  writer.assertLengthMatches();\
9845
+}}\
9846
+\
9847
+void cloneGuardIsExtensible(CacheIRReader& reader, CacheIRWriter& writer) {{\
9848
+  writer.writeOp(CacheOp::GuardIsExtensible);\
9849
+  ObjOperandId objId = reader.objOperandId();\
9850
+  writer.writeOperandId(objId);\
9851
+  writer.assertLengthMatches();\
9852
+}}\
9853
+\
9854
+void cloneGuardIsNativeObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
9855
+  writer.writeOp(CacheOp::GuardIsNativeObject);\
9856
+  ObjOperandId objId = reader.objOperandId();\
9857
+  writer.writeOperandId(objId);\
9858
+  writer.assertLengthMatches();\
9859
+}}\
9860
+\
9861
+void cloneGuardIsProxy(CacheIRReader& reader, CacheIRWriter& writer) {{\
9862
+  writer.writeOp(CacheOp::GuardIsProxy);\
9863
+  ObjOperandId objId = reader.objOperandId();\
9864
+  writer.writeOperandId(objId);\
9865
+  writer.assertLengthMatches();\
9866
+}}\
9867
+\
9868
+void cloneGuardIsNotProxy(CacheIRReader& reader, CacheIRWriter& writer) {{\
9869
+  writer.writeOp(CacheOp::GuardIsNotProxy);\
9870
+  ObjOperandId objId = reader.objOperandId();\
9871
+  writer.writeOperandId(objId);\
9872
+  writer.assertLengthMatches();\
9873
+}}\
9874
+\
9875
+void cloneGuardIsNotArrayBufferMaybeShared(CacheIRReader& reader, CacheIRWriter& writer) {{\
9876
+  writer.writeOp(CacheOp::GuardIsNotArrayBufferMaybeShared);\
9877
+  ObjOperandId objId = reader.objOperandId();\
9878
+  writer.writeOperandId(objId);\
9879
+  writer.assertLengthMatches();\
9880
+}}\
9881
+\
9882
+void cloneGuardIsTypedArray(CacheIRReader& reader, CacheIRWriter& writer) {{\
9883
+  writer.writeOp(CacheOp::GuardIsTypedArray);\
9884
+  ObjOperandId objId = reader.objOperandId();\
9885
+  writer.writeOperandId(objId);\
9886
+  writer.assertLengthMatches();\
9887
+}}\
9888
+\
9889
+void cloneGuardHasProxyHandler(CacheIRReader& reader, CacheIRWriter& writer) {{\
9890
+  writer.writeOp(CacheOp::GuardHasProxyHandler);\
9891
+  ObjOperandId objId = reader.objOperandId();\
9892
+  writer.writeOperandId(objId);\
9893
+  uint32_t handlerOffset = reader.stubOffset();\
9894
+  const void* handler = getRawPointerField(handlerOffset);\
9895
+  writer.writeRawPointerField(handler);\
9896
+  writer.assertLengthMatches();\
9897
+}}\
9898
+\
9899
+void cloneGuardIsNotDOMProxy(CacheIRReader& reader, CacheIRWriter& writer) {{\
9900
+  writer.writeOp(CacheOp::GuardIsNotDOMProxy);\
9901
+  ObjOperandId objId = reader.objOperandId();\
9902
+  writer.writeOperandId(objId);\
9903
+  writer.assertLengthMatches();\
9904
+}}\
9905
+\
9906
+void cloneGuardSpecificObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
9907
+  writer.writeOp(CacheOp::GuardSpecificObject);\
9908
+  ObjOperandId objId = reader.objOperandId();\
9909
+  writer.writeOperandId(objId);\
9910
+  uint32_t expectedOffset = reader.stubOffset();\
9911
+  JSObject* expected = getObjectField(expectedOffset);\
9912
+  writer.writeObjectField(expected);\
9913
+  writer.assertLengthMatches();\
9914
+}}\
9915
+\
9916
+void cloneGuardSpecificFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
9917
+  writer.writeOp(CacheOp::GuardSpecificFunction);\
9918
+  ObjOperandId funId = reader.objOperandId();\
9919
+  writer.writeOperandId(funId);\
9920
+  uint32_t expectedOffset = reader.stubOffset();\
9921
+  JSObject* expected = getObjectField(expectedOffset);\
9922
+  writer.writeObjectField(expected);\
9923
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
9924
+  uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
9925
+  writer.writeRawInt32Field(nargsAndFlags);\
9926
+  writer.assertLengthMatches();\
9927
+}}\
9928
+\
9929
+void cloneGuardFunctionScript(CacheIRReader& reader, CacheIRWriter& writer) {{\
9930
+  writer.writeOp(CacheOp::GuardFunctionScript);\
9931
+  ObjOperandId objId = reader.objOperandId();\
9932
+  writer.writeOperandId(objId);\
9933
+  uint32_t expectedOffset = reader.stubOffset();\
9934
+  BaseScript* expected = getBaseScriptField(expectedOffset);\
9935
+  writer.writeBaseScriptField(expected);\
9936
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
9937
+  uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
9938
+  writer.writeRawInt32Field(nargsAndFlags);\
9939
+  writer.assertLengthMatches();\
9940
+}}\
9941
+\
9942
+void cloneGuardSpecificAtom(CacheIRReader& reader, CacheIRWriter& writer) {{\
9943
+  writer.writeOp(CacheOp::GuardSpecificAtom);\
9944
+  StringOperandId strId = reader.stringOperandId();\
9945
+  writer.writeOperandId(strId);\
9946
+  uint32_t expectedOffset = reader.stubOffset();\
9947
+  JSAtom* expected = getAtomField(expectedOffset);\
9948
+  writer.writeStringField(expected);\
9949
+  writer.assertLengthMatches();\
9950
+}}\
9951
+\
9952
+void cloneGuardSpecificSymbol(CacheIRReader& reader, CacheIRWriter& writer) {{\
9953
+  writer.writeOp(CacheOp::GuardSpecificSymbol);\
9954
+  SymbolOperandId symId = reader.symbolOperandId();\
9955
+  writer.writeOperandId(symId);\
9956
+  uint32_t expectedOffset = reader.stubOffset();\
9957
+  JS::Symbol* expected = getSymbolField(expectedOffset);\
9958
+  writer.writeSymbolField(expected);\
9959
+  writer.assertLengthMatches();\
9960
+}}\
9961
+\
9962
+void cloneGuardNoDenseElements(CacheIRReader& reader, CacheIRWriter& writer) {{\
9963
+  writer.writeOp(CacheOp::GuardNoDenseElements);\
9964
+  ObjOperandId objId = reader.objOperandId();\
9965
+  writer.writeOperandId(objId);\
9966
+  writer.assertLengthMatches();\
9967
+}}\
9968
+\
9969
+void cloneGuardStringToIndex(CacheIRReader& reader, CacheIRWriter& writer) {{\
9970
+  writer.writeOp(CacheOp::GuardStringToIndex);\
9971
+  StringOperandId strId = reader.stringOperandId();\
9972
+  writer.writeOperandId(strId);\
9973
+  Int32OperandId resultId = reader.int32OperandId();\
9974
+  writer.newOperandId();\
9975
+  writer.writeOperandId(resultId);\
9976
+  writer.assertLengthMatches();\
9977
+}}\
9978
+\
9979
+void cloneGuardStringToInt32(CacheIRReader& reader, CacheIRWriter& writer) {{\
9980
+  writer.writeOp(CacheOp::GuardStringToInt32);\
9981
+  StringOperandId strId = reader.stringOperandId();\
9982
+  writer.writeOperandId(strId);\
9983
+  Int32OperandId resultId = reader.int32OperandId();\
9984
+  writer.newOperandId();\
9985
+  writer.writeOperandId(resultId);\
9986
+  writer.assertLengthMatches();\
9987
+}}\
9988
+\
9989
+void cloneGuardStringToNumber(CacheIRReader& reader, CacheIRWriter& writer) {{\
9990
+  writer.writeOp(CacheOp::GuardStringToNumber);\
9991
+  StringOperandId strId = reader.stringOperandId();\
9992
+  writer.writeOperandId(strId);\
9993
+  NumberOperandId resultId = reader.numberOperandId();\
9994
+  writer.newOperandId();\
9995
+  writer.writeOperandId(resultId);\
9996
+  writer.assertLengthMatches();\
9997
+}}\
9998
+\
9999
+void cloneBooleanToNumber(CacheIRReader& reader, CacheIRWriter& writer) {{\
10000
+  writer.writeOp(CacheOp::BooleanToNumber);\
10001
+  BooleanOperandId booleanId = reader.booleanOperandId();\
10002
+  writer.writeOperandId(booleanId);\
10003
+  NumberOperandId resultId = reader.numberOperandId();\
10004
+  writer.newOperandId();\
10005
+  writer.writeOperandId(resultId);\
10006
+  writer.assertLengthMatches();\
10007
+}}\
10008
+\
10009
+void cloneGuardAndGetIterator(CacheIRReader& reader, CacheIRWriter& writer) {{\
10010
+  writer.writeOp(CacheOp::GuardAndGetIterator);\
10011
+  ObjOperandId objId = reader.objOperandId();\
10012
+  writer.writeOperandId(objId);\
10013
+  uint32_t iterOffset = reader.stubOffset();\
10014
+  JSObject* iter = getObjectField(iterOffset);\
10015
+  writer.writeObjectField(iter);\
10016
+  uint32_t enumeratorsAddrOffset = reader.stubOffset();\
10017
+  const void* enumeratorsAddr = getRawPointerField(enumeratorsAddrOffset);\
10018
+  writer.writeRawPointerField(enumeratorsAddr);\
10019
+  ObjOperandId resultId = reader.objOperandId();\
10020
+  writer.newOperandId();\
10021
+  writer.writeOperandId(resultId);\
10022
+  writer.assertLengthMatches();\
10023
+}}\
10024
+\
10025
+void cloneGuardHasGetterSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
10026
+  writer.writeOp(CacheOp::GuardHasGetterSetter);\
10027
+  ObjOperandId objId = reader.objOperandId();\
10028
+  writer.writeOperandId(objId);\
10029
+  uint32_t idOffset = reader.stubOffset();\
10030
+  jsid id = getIdField(idOffset);\
10031
+  writer.writeIdField(id);\
10032
+  uint32_t getterSetterOffset = reader.stubOffset();\
10033
+  GetterSetter* getterSetter = getGetterSetterField(getterSetterOffset);\
10034
+  writer.writeGetterSetterField(getterSetter);\
10035
+  writer.assertLengthMatches();\
10036
+}}\
10037
+\
10038
+void cloneGuardInt32IsNonNegative(CacheIRReader& reader, CacheIRWriter& writer) {{\
10039
+  writer.writeOp(CacheOp::GuardInt32IsNonNegative);\
10040
+  Int32OperandId indexId = reader.int32OperandId();\
10041
+  writer.writeOperandId(indexId);\
10042
+  writer.assertLengthMatches();\
10043
+}}\
10044
+\
10045
+void cloneGuardIndexIsValidUpdateOrAdd(CacheIRReader& reader, CacheIRWriter& writer) {{\
10046
+  writer.writeOp(CacheOp::GuardIndexIsValidUpdateOrAdd);\
10047
+  ObjOperandId objId = reader.objOperandId();\
10048
+  writer.writeOperandId(objId);\
10049
+  Int32OperandId indexId = reader.int32OperandId();\
10050
+  writer.writeOperandId(indexId);\
10051
+  writer.assertLengthMatches();\
10052
+}}\
10053
+\
10054
+void cloneGuardIndexGreaterThanDenseInitLength(CacheIRReader& reader, CacheIRWriter& writer) {{\
10055
+  writer.writeOp(CacheOp::GuardIndexGreaterThanDenseInitLength);\
10056
+  ObjOperandId objId = reader.objOperandId();\
10057
+  writer.writeOperandId(objId);\
10058
+  Int32OperandId indexId = reader.int32OperandId();\
10059
+  writer.writeOperandId(indexId);\
10060
+  writer.assertLengthMatches();\
10061
+}}\
10062
+\
10063
+void cloneGuardTagNotEqual(CacheIRReader& reader, CacheIRWriter& writer) {{\
10064
+  writer.writeOp(CacheOp::GuardTagNotEqual);\
10065
+  ValueTagOperandId lhsId = reader.valueTagOperandId();\
10066
+  writer.writeOperandId(lhsId);\
10067
+  ValueTagOperandId rhsId = reader.valueTagOperandId();\
10068
+  writer.writeOperandId(rhsId);\
10069
+  writer.assertLengthMatches();\
10070
+}}\
10071
+\
10072
+void cloneGuardXrayExpandoShapeAndDefaultProto(CacheIRReader& reader, CacheIRWriter& writer) {{\
10073
+  writer.writeOp(CacheOp::GuardXrayExpandoShapeAndDefaultProto);\
10074
+  ObjOperandId objId = reader.objOperandId();\
10075
+  writer.writeOperandId(objId);\
10076
+  uint32_t shapeWrapperOffset = reader.stubOffset();\
10077
+  JSObject* shapeWrapper = getObjectField(shapeWrapperOffset);\
10078
+  writer.writeObjectField(shapeWrapper);\
10079
+  writer.assertLengthMatches();\
10080
+}}\
10081
+\
10082
+void cloneGuardXrayNoExpando(CacheIRReader& reader, CacheIRWriter& writer) {{\
10083
+  writer.writeOp(CacheOp::GuardXrayNoExpando);\
10084
+  ObjOperandId objId = reader.objOperandId();\
10085
+  writer.writeOperandId(objId);\
10086
+  writer.assertLengthMatches();\
10087
+}}\
10088
+\
10089
+void cloneGuardDynamicSlotIsSpecificObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
10090
+  writer.writeOp(CacheOp::GuardDynamicSlotIsSpecificObject);\
10091
+  ObjOperandId objId = reader.objOperandId();\
10092
+  writer.writeOperandId(objId);\
10093
+  ObjOperandId expectedId = reader.objOperandId();\
10094
+  writer.writeOperandId(expectedId);\
10095
+  uint32_t slotOffset = reader.stubOffset();\
10096
+  uint32_t slot = getRawInt32Field(slotOffset);\
10097
+  writer.writeRawInt32Field(slot);\
10098
+  writer.assertLengthMatches();\
10099
+}}\
10100
+\
10101
+void cloneGuardFixedSlotValue(CacheIRReader& reader, CacheIRWriter& writer) {{\
10102
+  writer.writeOp(CacheOp::GuardFixedSlotValue);\
10103
+  ObjOperandId objId = reader.objOperandId();\
10104
+  writer.writeOperandId(objId);\
10105
+  uint32_t offsetOffset = reader.stubOffset();\
10106
+  uint32_t offset = getRawInt32Field(offsetOffset);\
10107
+  writer.writeRawInt32Field(offset);\
10108
+  uint32_t valOffset = reader.stubOffset();\
10109
+  const Value val = getValueField(valOffset);\
10110
+  writer.writeValueField(val);\
10111
+  writer.assertLengthMatches();\
10112
+}}\
10113
+\
10114
+void cloneGuardDynamicSlotValue(CacheIRReader& reader, CacheIRWriter& writer) {{\
10115
+  writer.writeOp(CacheOp::GuardDynamicSlotValue);\
10116
+  ObjOperandId objId = reader.objOperandId();\
10117
+  writer.writeOperandId(objId);\
10118
+  uint32_t offsetOffset = reader.stubOffset();\
10119
+  uint32_t offset = getRawInt32Field(offsetOffset);\
10120
+  writer.writeRawInt32Field(offset);\
10121
+  uint32_t valOffset = reader.stubOffset();\
10122
+  const Value val = getValueField(valOffset);\
10123
+  writer.writeValueField(val);\
10124
+  writer.assertLengthMatches();\
10125
+}}\
10126
+\
10127
+void cloneGuardNoAllocationMetadataBuilder(CacheIRReader& reader, CacheIRWriter& writer) {{\
10128
+  writer.writeOp(CacheOp::GuardNoAllocationMetadataBuilder);\
10129
+  uint32_t builderAddrOffset = reader.stubOffset();\
10130
+  const void* builderAddr = getRawPointerField(builderAddrOffset);\
10131
+  writer.writeRawPointerField(builderAddr);\
10132
+  writer.assertLengthMatches();\
10133
+}}\
10134
+\
10135
+void cloneGuardFunctionHasJitEntry(CacheIRReader& reader, CacheIRWriter& writer) {{\
10136
+  writer.writeOp(CacheOp::GuardFunctionHasJitEntry);\
10137
+  ObjOperandId funId = reader.objOperandId();\
10138
+  writer.writeOperandId(funId);\
10139
+  bool constructing = reader.readBool();\
10140
+  writer.writeBoolImm(constructing);\
10141
+  writer.assertLengthMatches();\
10142
+}}\
10143
+\
10144
+void cloneGuardFunctionHasNoJitEntry(CacheIRReader& reader, CacheIRWriter& writer) {{\
10145
+  writer.writeOp(CacheOp::GuardFunctionHasNoJitEntry);\
10146
+  ObjOperandId funId = reader.objOperandId();\
10147
+  writer.writeOperandId(funId);\
10148
+  writer.assertLengthMatches();\
10149
+}}\
10150
+\
10151
+void cloneGuardFunctionIsNonBuiltinCtor(CacheIRReader& reader, CacheIRWriter& writer) {{\
10152
+  writer.writeOp(CacheOp::GuardFunctionIsNonBuiltinCtor);\
10153
+  ObjOperandId funId = reader.objOperandId();\
10154
+  writer.writeOperandId(funId);\
10155
+  writer.assertLengthMatches();\
10156
+}}\
10157
+\
10158
+void cloneGuardFunctionIsConstructor(CacheIRReader& reader, CacheIRWriter& writer) {{\
10159
+  writer.writeOp(CacheOp::GuardFunctionIsConstructor);\
10160
+  ObjOperandId funId = reader.objOperandId();\
10161
+  writer.writeOperandId(funId);\
10162
+  writer.assertLengthMatches();\
10163
+}}\
10164
+\
10165
+void cloneGuardNotClassConstructor(CacheIRReader& reader, CacheIRWriter& writer) {{\
10166
+  writer.writeOp(CacheOp::GuardNotClassConstructor);\
10167
+  ObjOperandId funId = reader.objOperandId();\
10168
+  writer.writeOperandId(funId);\
10169
+  writer.assertLengthMatches();\
10170
+}}\
10171
+\
10172
+void cloneGuardArrayIsPacked(CacheIRReader& reader, CacheIRWriter& writer) {{\
10173
+  writer.writeOp(CacheOp::GuardArrayIsPacked);\
10174
+  ObjOperandId arrayId = reader.objOperandId();\
10175
+  writer.writeOperandId(arrayId);\
10176
+  writer.assertLengthMatches();\
10177
+}}\
10178
+\
10179
+void cloneGuardArgumentsObjectFlags(CacheIRReader& reader, CacheIRWriter& writer) {{\
10180
+  writer.writeOp(CacheOp::GuardArgumentsObjectFlags);\
10181
+  ObjOperandId objId = reader.objOperandId();\
10182
+  writer.writeOperandId(objId);\
10183
+  uint8_t flags = reader.readByte();\
10184
+  writer.writeByteImm(flags);\
10185
+  writer.assertLengthMatches();\
10186
+}}\
10187
+\
10188
+void cloneLoadObject(CacheIRReader& reader, CacheIRWriter& writer) {{\
10189
+  writer.writeOp(CacheOp::LoadObject);\
10190
+  ObjOperandId resultId = reader.objOperandId();\
10191
+  writer.newOperandId();\
10192
+  writer.writeOperandId(resultId);\
10193
+  uint32_t objOffset = reader.stubOffset();\
10194
+  JSObject* obj = getObjectField(objOffset);\
10195
+  writer.writeObjectField(obj);\
10196
+  writer.assertLengthMatches();\
10197
+}}\
10198
+\
10199
+void cloneLoadProto(CacheIRReader& reader, CacheIRWriter& writer) {{\
10200
+  writer.writeOp(CacheOp::LoadProto);\
10201
+  ObjOperandId objId = reader.objOperandId();\
10202
+  writer.writeOperandId(objId);\
10203
+  ObjOperandId resultId = reader.objOperandId();\
10204
+  writer.newOperandId();\
10205
+  writer.writeOperandId(resultId);\
10206
+  writer.assertLengthMatches();\
10207
+}}\
10208
+\
10209
+void cloneLoadEnclosingEnvironment(CacheIRReader& reader, CacheIRWriter& writer) {{\
10210
+  writer.writeOp(CacheOp::LoadEnclosingEnvironment);\
10211
+  ObjOperandId objId = reader.objOperandId();\
10212
+  writer.writeOperandId(objId);\
10213
+  ObjOperandId resultId = reader.objOperandId();\
10214
+  writer.newOperandId();\
10215
+  writer.writeOperandId(resultId);\
10216
+  writer.assertLengthMatches();\
10217
+}}\
10218
+\
10219
+void cloneLoadWrapperTarget(CacheIRReader& reader, CacheIRWriter& writer) {{\
10220
+  writer.writeOp(CacheOp::LoadWrapperTarget);\
10221
+  ObjOperandId objId = reader.objOperandId();\
10222
+  writer.writeOperandId(objId);\
10223
+  ObjOperandId resultId = reader.objOperandId();\
10224
+  writer.newOperandId();\
10225
+  writer.writeOperandId(resultId);\
10226
+  writer.assertLengthMatches();\
10227
+}}\
10228
+\
10229
+void cloneLoadValueTag(CacheIRReader& reader, CacheIRWriter& writer) {{\
10230
+  writer.writeOp(CacheOp::LoadValueTag);\
10231
+  ValOperandId valId = reader.valOperandId();\
10232
+  writer.writeOperandId(valId);\
10233
+  ValueTagOperandId resultId = reader.valueTagOperandId();\
10234
+  writer.newOperandId();\
10235
+  writer.writeOperandId(resultId);\
10236
+  writer.assertLengthMatches();\
10237
+}}\
10238
+\
10239
+void cloneLoadArgumentFixedSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
10240
+  writer.writeOp(CacheOp::LoadArgumentFixedSlot);\
10241
+  ValOperandId resultId = reader.valOperandId();\
10242
+  writer.newOperandId();\
10243
+  writer.writeOperandId(resultId);\
10244
+  uint8_t slotIndex = reader.readByte();\
10245
+  writer.writeByteImm(slotIndex);\
10246
+  writer.assertLengthMatches();\
10247
+}}\
10248
+\
10249
+void cloneLoadArgumentDynamicSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
10250
+  writer.writeOp(CacheOp::LoadArgumentDynamicSlot);\
10251
+  ValOperandId resultId = reader.valOperandId();\
10252
+  writer.newOperandId();\
10253
+  writer.writeOperandId(resultId);\
10254
+  Int32OperandId argcId = reader.int32OperandId();\
10255
+  writer.writeOperandId(argcId);\
10256
+  uint8_t slotIndex = reader.readByte();\
10257
+  writer.writeByteImm(slotIndex);\
10258
+  writer.assertLengthMatches();\
10259
+}}\
10260
+\
10261
+void cloneTruncateDoubleToUInt32(CacheIRReader& reader, CacheIRWriter& writer) {{\
10262
+  writer.writeOp(CacheOp::TruncateDoubleToUInt32);\
10263
+  NumberOperandId inputId = reader.numberOperandId();\
10264
+  writer.writeOperandId(inputId);\
10265
+  Int32OperandId resultId = reader.int32OperandId();\
10266
+  writer.newOperandId();\
10267
+  writer.writeOperandId(resultId);\
10268
+  writer.assertLengthMatches();\
10269
+}}\
10270
+\
10271
+void cloneMegamorphicLoadSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10272
+  writer.writeOp(CacheOp::MegamorphicLoadSlotResult);\
10273
+  ObjOperandId objId = reader.objOperandId();\
10274
+  writer.writeOperandId(objId);\
10275
+  uint32_t nameOffset = reader.stubOffset();\
10276
+  PropertyName* name = getPropertyNameField(nameOffset);\
10277
+  writer.writeStringField(name);\
10278
+  writer.assertLengthMatches();\
10279
+}}\
10280
+\
10281
+void cloneMegamorphicLoadSlotByValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10282
+  writer.writeOp(CacheOp::MegamorphicLoadSlotByValueResult);\
10283
+  ObjOperandId objId = reader.objOperandId();\
10284
+  writer.writeOperandId(objId);\
10285
+  ValOperandId idId = reader.valOperandId();\
10286
+  writer.writeOperandId(idId);\
10287
+  writer.assertLengthMatches();\
10288
+}}\
10289
+\
10290
+void cloneMegamorphicStoreSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
10291
+  writer.writeOp(CacheOp::MegamorphicStoreSlot);\
10292
+  ObjOperandId objId = reader.objOperandId();\
10293
+  writer.writeOperandId(objId);\
10294
+  uint32_t nameOffset = reader.stubOffset();\
10295
+  PropertyName* name = getPropertyNameField(nameOffset);\
10296
+  writer.writeStringField(name);\
10297
+  ValOperandId rhsId = reader.valOperandId();\
10298
+  writer.writeOperandId(rhsId);\
10299
+  writer.assertLengthMatches();\
10300
+}}\
10301
+\
10302
+void cloneMegamorphicSetElement(CacheIRReader& reader, CacheIRWriter& writer) {{\
10303
+  writer.writeOp(CacheOp::MegamorphicSetElement);\
10304
+  ObjOperandId objId = reader.objOperandId();\
10305
+  writer.writeOperandId(objId);\
10306
+  ValOperandId idId = reader.valOperandId();\
10307
+  writer.writeOperandId(idId);\
10308
+  ValOperandId rhsId = reader.valOperandId();\
10309
+  writer.writeOperandId(rhsId);\
10310
+  bool strict = reader.readBool();\
10311
+  writer.writeBoolImm(strict);\
10312
+  writer.assertLengthMatches();\
10313
+}}\
10314
+\
10315
+void cloneMegamorphicHasPropResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10316
+  writer.writeOp(CacheOp::MegamorphicHasPropResult);\
10317
+  ObjOperandId objId = reader.objOperandId();\
10318
+  writer.writeOperandId(objId);\
10319
+  ValOperandId idId = reader.valOperandId();\
10320
+  writer.writeOperandId(idId);\
10321
+  bool hasOwn = reader.readBool();\
10322
+  writer.writeBoolImm(hasOwn);\
10323
+  writer.assertLengthMatches();\
10324
+}}\
10325
+\
10326
+void cloneLoadDOMExpandoValue(CacheIRReader& reader, CacheIRWriter& writer) {{\
10327
+  writer.writeOp(CacheOp::LoadDOMExpandoValue);\
10328
+  ObjOperandId objId = reader.objOperandId();\
10329
+  writer.writeOperandId(objId);\
10330
+  ValOperandId resultId = reader.valOperandId();\
10331
+  writer.newOperandId();\
10332
+  writer.writeOperandId(resultId);\
10333
+  writer.assertLengthMatches();\
10334
+}}\
10335
+\
10336
+void cloneLoadDOMExpandoValueGuardGeneration(CacheIRReader& reader, CacheIRWriter& writer) {{\
10337
+  writer.writeOp(CacheOp::LoadDOMExpandoValueGuardGeneration);\
10338
+  ObjOperandId objId = reader.objOperandId();\
10339
+  writer.writeOperandId(objId);\
10340
+  uint32_t expandoAndGenerationOffset = reader.stubOffset();\
10341
+  const void* expandoAndGeneration = getRawPointerField(expandoAndGenerationOffset);\
10342
+  writer.writeRawPointerField(expandoAndGeneration);\
10343
+  uint32_t generationOffset = reader.stubOffset();\
10344
+  uint64_t generation = getRawInt64Field(generationOffset);\
10345
+  writer.writeRawInt64Field(generation);\
10346
+  ValOperandId resultId = reader.valOperandId();\
10347
+  writer.newOperandId();\
10348
+  writer.writeOperandId(resultId);\
10349
+  writer.assertLengthMatches();\
10350
+}}\
10351
+\
10352
+void cloneLoadDOMExpandoValueIgnoreGeneration(CacheIRReader& reader, CacheIRWriter& writer) {{\
10353
+  writer.writeOp(CacheOp::LoadDOMExpandoValueIgnoreGeneration);\
10354
+  ObjOperandId objId = reader.objOperandId();\
10355
+  writer.writeOperandId(objId);\
10356
+  ValOperandId resultId = reader.valOperandId();\
10357
+  writer.newOperandId();\
10358
+  writer.writeOperandId(resultId);\
10359
+  writer.assertLengthMatches();\
10360
+}}\
10361
+\
10362
+void cloneGuardDOMExpandoMissingOrGuardShape(CacheIRReader& reader, CacheIRWriter& writer) {{\
10363
+  writer.writeOp(CacheOp::GuardDOMExpandoMissingOrGuardShape);\
10364
+  ValOperandId expandoId = reader.valOperandId();\
10365
+  writer.writeOperandId(expandoId);\
10366
+  uint32_t shapeOffset = reader.stubOffset();\
10367
+  Shape* shape = getShapeField(shapeOffset);\
10368
+  writer.writeShapeField(shape);\
10369
+  writer.assertLengthMatches();\
10370
+}}\
10371
+\
10372
+void cloneStoreFixedSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
10373
+  writer.writeOp(CacheOp::StoreFixedSlot);\
10374
+  ObjOperandId objId = reader.objOperandId();\
10375
+  writer.writeOperandId(objId);\
10376
+  uint32_t offsetOffset = reader.stubOffset();\
10377
+  uint32_t offset = getRawInt32Field(offsetOffset);\
10378
+  writer.writeRawInt32Field(offset);\
10379
+  ValOperandId rhsId = reader.valOperandId();\
10380
+  writer.writeOperandId(rhsId);\
10381
+  writer.assertLengthMatches();\
10382
+}}\
10383
+\
10384
+void cloneStoreDynamicSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
10385
+  writer.writeOp(CacheOp::StoreDynamicSlot);\
10386
+  ObjOperandId objId = reader.objOperandId();\
10387
+  writer.writeOperandId(objId);\
10388
+  uint32_t offsetOffset = reader.stubOffset();\
10389
+  uint32_t offset = getRawInt32Field(offsetOffset);\
10390
+  writer.writeRawInt32Field(offset);\
10391
+  ValOperandId rhsId = reader.valOperandId();\
10392
+  writer.writeOperandId(rhsId);\
10393
+  writer.assertLengthMatches();\
10394
+}}\
10395
+\
10396
+void cloneAddAndStoreFixedSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
10397
+  writer.writeOp(CacheOp::AddAndStoreFixedSlot);\
10398
+  ObjOperandId objId = reader.objOperandId();\
10399
+  writer.writeOperandId(objId);\
10400
+  uint32_t offsetOffset = reader.stubOffset();\
10401
+  uint32_t offset = getRawInt32Field(offsetOffset);\
10402
+  writer.writeRawInt32Field(offset);\
10403
+  ValOperandId rhsId = reader.valOperandId();\
10404
+  writer.writeOperandId(rhsId);\
10405
+  uint32_t newShapeOffset = reader.stubOffset();\
10406
+  Shape* newShape = getShapeField(newShapeOffset);\
10407
+  writer.writeShapeField(newShape);\
10408
+  writer.assertLengthMatches();\
10409
+}}\
10410
+\
10411
+void cloneAddAndStoreDynamicSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
10412
+  writer.writeOp(CacheOp::AddAndStoreDynamicSlot);\
10413
+  ObjOperandId objId = reader.objOperandId();\
10414
+  writer.writeOperandId(objId);\
10415
+  uint32_t offsetOffset = reader.stubOffset();\
10416
+  uint32_t offset = getRawInt32Field(offsetOffset);\
10417
+  writer.writeRawInt32Field(offset);\
10418
+  ValOperandId rhsId = reader.valOperandId();\
10419
+  writer.writeOperandId(rhsId);\
10420
+  uint32_t newShapeOffset = reader.stubOffset();\
10421
+  Shape* newShape = getShapeField(newShapeOffset);\
10422
+  writer.writeShapeField(newShape);\
10423
+  writer.assertLengthMatches();\
10424
+}}\
10425
+\
10426
+void cloneAllocateAndStoreDynamicSlot(CacheIRReader& reader, CacheIRWriter& writer) {{\
10427
+  writer.writeOp(CacheOp::AllocateAndStoreDynamicSlot);\
10428
+  ObjOperandId objId = reader.objOperandId();\
10429
+  writer.writeOperandId(objId);\
10430
+  uint32_t offsetOffset = reader.stubOffset();\
10431
+  uint32_t offset = getRawInt32Field(offsetOffset);\
10432
+  writer.writeRawInt32Field(offset);\
10433
+  ValOperandId rhsId = reader.valOperandId();\
10434
+  writer.writeOperandId(rhsId);\
10435
+  uint32_t newShapeOffset = reader.stubOffset();\
10436
+  Shape* newShape = getShapeField(newShapeOffset);\
10437
+  writer.writeShapeField(newShape);\
10438
+  uint32_t numNewSlotsOffset = reader.stubOffset();\
10439
+  uint32_t numNewSlots = getRawInt32Field(numNewSlotsOffset);\
10440
+  writer.writeRawInt32Field(numNewSlots);\
10441
+  writer.assertLengthMatches();\
10442
+}}\
10443
+\
10444
+void cloneStoreDenseElement(CacheIRReader& reader, CacheIRWriter& writer) {{\
10445
+  writer.writeOp(CacheOp::StoreDenseElement);\
10446
+  ObjOperandId objId = reader.objOperandId();\
10447
+  writer.writeOperandId(objId);\
10448
+  Int32OperandId indexId = reader.int32OperandId();\
10449
+  writer.writeOperandId(indexId);\
10450
+  ValOperandId rhsId = reader.valOperandId();\
10451
+  writer.writeOperandId(rhsId);\
10452
+  writer.assertLengthMatches();\
10453
+}}\
10454
+\
10455
+void cloneStoreDenseElementHole(CacheIRReader& reader, CacheIRWriter& writer) {{\
10456
+  writer.writeOp(CacheOp::StoreDenseElementHole);\
10457
+  ObjOperandId objId = reader.objOperandId();\
10458
+  writer.writeOperandId(objId);\
10459
+  Int32OperandId indexId = reader.int32OperandId();\
10460
+  writer.writeOperandId(indexId);\
10461
+  ValOperandId rhsId = reader.valOperandId();\
10462
+  writer.writeOperandId(rhsId);\
10463
+  bool handleAdd = reader.readBool();\
10464
+  writer.writeBoolImm(handleAdd);\
10465
+  writer.assertLengthMatches();\
10466
+}}\
10467
+\
10468
+void cloneArrayPush(CacheIRReader& reader, CacheIRWriter& writer) {{\
10469
+  writer.writeOp(CacheOp::ArrayPush);\
10470
+  ObjOperandId objId = reader.objOperandId();\
10471
+  writer.writeOperandId(objId);\
10472
+  ValOperandId rhsId = reader.valOperandId();\
10473
+  writer.writeOperandId(rhsId);\
10474
+  writer.assertLengthMatches();\
10475
+}}\
10476
+\
10477
+void cloneArrayJoinResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10478
+  writer.writeOp(CacheOp::ArrayJoinResult);\
10479
+  ObjOperandId objId = reader.objOperandId();\
10480
+  writer.writeOperandId(objId);\
10481
+  StringOperandId sepId = reader.stringOperandId();\
10482
+  writer.writeOperandId(sepId);\
10483
+  writer.assertLengthMatches();\
10484
+}}\
10485
+\
10486
+void clonePackedArrayPopResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10487
+  writer.writeOp(CacheOp::PackedArrayPopResult);\
10488
+  ObjOperandId arrayId = reader.objOperandId();\
10489
+  writer.writeOperandId(arrayId);\
10490
+  writer.assertLengthMatches();\
10491
+}}\
10492
+\
10493
+void clonePackedArrayShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10494
+  writer.writeOp(CacheOp::PackedArrayShiftResult);\
10495
+  ObjOperandId arrayId = reader.objOperandId();\
10496
+  writer.writeOperandId(arrayId);\
10497
+  writer.assertLengthMatches();\
10498
+}}\
10499
+\
10500
+void clonePackedArraySliceResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10501
+  writer.writeOp(CacheOp::PackedArraySliceResult);\
10502
+  uint32_t templateObjectOffset = reader.stubOffset();\
10503
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10504
+  writer.writeObjectField(templateObject);\
10505
+  ObjOperandId arrayId = reader.objOperandId();\
10506
+  writer.writeOperandId(arrayId);\
10507
+  Int32OperandId beginId = reader.int32OperandId();\
10508
+  writer.writeOperandId(beginId);\
10509
+  Int32OperandId endId = reader.int32OperandId();\
10510
+  writer.writeOperandId(endId);\
10511
+  writer.assertLengthMatches();\
10512
+}}\
10513
+\
10514
+void cloneIsArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10515
+  writer.writeOp(CacheOp::IsArrayResult);\
10516
+  ValOperandId inputId = reader.valOperandId();\
10517
+  writer.writeOperandId(inputId);\
10518
+  writer.assertLengthMatches();\
10519
+}}\
10520
+\
10521
+void cloneStoreFixedSlotUndefinedResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10522
+  writer.writeOp(CacheOp::StoreFixedSlotUndefinedResult);\
10523
+  ObjOperandId objId = reader.objOperandId();\
10524
+  writer.writeOperandId(objId);\
10525
+  uint32_t offsetOffset = reader.stubOffset();\
10526
+  uint32_t offset = getRawInt32Field(offsetOffset);\
10527
+  writer.writeRawInt32Field(offset);\
10528
+  ValOperandId rhsId = reader.valOperandId();\
10529
+  writer.writeOperandId(rhsId);\
10530
+  writer.assertLengthMatches();\
10531
+}}\
10532
+\
10533
+void cloneIsObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10534
+  writer.writeOp(CacheOp::IsObjectResult);\
10535
+  ValOperandId inputId = reader.valOperandId();\
10536
+  writer.writeOperandId(inputId);\
10537
+  writer.assertLengthMatches();\
10538
+}}\
10539
+\
10540
+void cloneIsPackedArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10541
+  writer.writeOp(CacheOp::IsPackedArrayResult);\
10542
+  ObjOperandId objId = reader.objOperandId();\
10543
+  writer.writeOperandId(objId);\
10544
+  writer.assertLengthMatches();\
10545
+}}\
10546
+\
10547
+void cloneIsCallableResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10548
+  writer.writeOp(CacheOp::IsCallableResult);\
10549
+  ValOperandId inputId = reader.valOperandId();\
10550
+  writer.writeOperandId(inputId);\
10551
+  writer.assertLengthMatches();\
10552
+}}\
10553
+\
10554
+void cloneIsConstructorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10555
+  writer.writeOp(CacheOp::IsConstructorResult);\
10556
+  ObjOperandId objId = reader.objOperandId();\
10557
+  writer.writeOperandId(objId);\
10558
+  writer.assertLengthMatches();\
10559
+}}\
10560
+\
10561
+void cloneIsCrossRealmArrayConstructorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10562
+  writer.writeOp(CacheOp::IsCrossRealmArrayConstructorResult);\
10563
+  ObjOperandId objId = reader.objOperandId();\
10564
+  writer.writeOperandId(objId);\
10565
+  writer.assertLengthMatches();\
10566
+}}\
10567
+\
10568
+void cloneIsTypedArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10569
+  writer.writeOp(CacheOp::IsTypedArrayResult);\
10570
+  ObjOperandId objId = reader.objOperandId();\
10571
+  writer.writeOperandId(objId);\
10572
+  bool isPossiblyWrapped = reader.readBool();\
10573
+  writer.writeBoolImm(isPossiblyWrapped);\
10574
+  writer.assertLengthMatches();\
10575
+}}\
10576
+\
10577
+void cloneIsTypedArrayConstructorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10578
+  writer.writeOp(CacheOp::IsTypedArrayConstructorResult);\
10579
+  ObjOperandId objId = reader.objOperandId();\
10580
+  writer.writeOperandId(objId);\
10581
+  writer.assertLengthMatches();\
10582
+}}\
10583
+\
10584
+void cloneArrayBufferViewByteOffsetInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10585
+  writer.writeOp(CacheOp::ArrayBufferViewByteOffsetInt32Result);\
10586
+  ObjOperandId objId = reader.objOperandId();\
10587
+  writer.writeOperandId(objId);\
10588
+  writer.assertLengthMatches();\
10589
+}}\
10590
+\
10591
+void cloneArrayBufferViewByteOffsetDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10592
+  writer.writeOp(CacheOp::ArrayBufferViewByteOffsetDoubleResult);\
10593
+  ObjOperandId objId = reader.objOperandId();\
10594
+  writer.writeOperandId(objId);\
10595
+  writer.assertLengthMatches();\
10596
+}}\
10597
+\
10598
+void cloneTypedArrayByteLengthInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10599
+  writer.writeOp(CacheOp::TypedArrayByteLengthInt32Result);\
10600
+  ObjOperandId objId = reader.objOperandId();\
10601
+  writer.writeOperandId(objId);\
10602
+  writer.assertLengthMatches();\
10603
+}}\
10604
+\
10605
+void cloneTypedArrayByteLengthDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10606
+  writer.writeOp(CacheOp::TypedArrayByteLengthDoubleResult);\
10607
+  ObjOperandId objId = reader.objOperandId();\
10608
+  writer.writeOperandId(objId);\
10609
+  writer.assertLengthMatches();\
10610
+}}\
10611
+\
10612
+void cloneTypedArrayElementSizeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10613
+  writer.writeOp(CacheOp::TypedArrayElementSizeResult);\
10614
+  ObjOperandId objId = reader.objOperandId();\
10615
+  writer.writeOperandId(objId);\
10616
+  writer.assertLengthMatches();\
10617
+}}\
10618
+\
10619
+void cloneGuardHasAttachedArrayBuffer(CacheIRReader& reader, CacheIRWriter& writer) {{\
10620
+  writer.writeOp(CacheOp::GuardHasAttachedArrayBuffer);\
10621
+  ObjOperandId objId = reader.objOperandId();\
10622
+  writer.writeOperandId(objId);\
10623
+  writer.assertLengthMatches();\
10624
+}}\
10625
+\
10626
+void cloneFinishBoundFunctionInitResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10627
+  writer.writeOp(CacheOp::FinishBoundFunctionInitResult);\
10628
+  ObjOperandId boundId = reader.objOperandId();\
10629
+  writer.writeOperandId(boundId);\
10630
+  ObjOperandId targetId = reader.objOperandId();\
10631
+  writer.writeOperandId(targetId);\
10632
+  Int32OperandId argCountId = reader.int32OperandId();\
10633
+  writer.writeOperandId(argCountId);\
10634
+  writer.assertLengthMatches();\
10635
+}}\
10636
+\
10637
+void cloneNewArrayIteratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10638
+  writer.writeOp(CacheOp::NewArrayIteratorResult);\
10639
+  uint32_t templateObjectOffset = reader.stubOffset();\
10640
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10641
+  writer.writeObjectField(templateObject);\
10642
+  writer.assertLengthMatches();\
10643
+}}\
10644
+\
10645
+void cloneNewStringIteratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10646
+  writer.writeOp(CacheOp::NewStringIteratorResult);\
10647
+  uint32_t templateObjectOffset = reader.stubOffset();\
10648
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10649
+  writer.writeObjectField(templateObject);\
10650
+  writer.assertLengthMatches();\
10651
+}}\
10652
+\
10653
+void cloneNewRegExpStringIteratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10654
+  writer.writeOp(CacheOp::NewRegExpStringIteratorResult);\
10655
+  uint32_t templateObjectOffset = reader.stubOffset();\
10656
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10657
+  writer.writeObjectField(templateObject);\
10658
+  writer.assertLengthMatches();\
10659
+}}\
10660
+\
10661
+void cloneObjectCreateResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10662
+  writer.writeOp(CacheOp::ObjectCreateResult);\
10663
+  uint32_t templateObjectOffset = reader.stubOffset();\
10664
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10665
+  writer.writeObjectField(templateObject);\
10666
+  writer.assertLengthMatches();\
10667
+}}\
10668
+\
10669
+void cloneNewArrayFromLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10670
+  writer.writeOp(CacheOp::NewArrayFromLengthResult);\
10671
+  uint32_t templateObjectOffset = reader.stubOffset();\
10672
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10673
+  writer.writeObjectField(templateObject);\
10674
+  Int32OperandId lengthId = reader.int32OperandId();\
10675
+  writer.writeOperandId(lengthId);\
10676
+  writer.assertLengthMatches();\
10677
+}}\
10678
+\
10679
+void cloneNewTypedArrayFromLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10680
+  writer.writeOp(CacheOp::NewTypedArrayFromLengthResult);\
10681
+  uint32_t templateObjectOffset = reader.stubOffset();\
10682
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10683
+  writer.writeObjectField(templateObject);\
10684
+  Int32OperandId lengthId = reader.int32OperandId();\
10685
+  writer.writeOperandId(lengthId);\
10686
+  writer.assertLengthMatches();\
10687
+}}\
10688
+\
10689
+void cloneNewTypedArrayFromArrayBufferResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10690
+  writer.writeOp(CacheOp::NewTypedArrayFromArrayBufferResult);\
10691
+  uint32_t templateObjectOffset = reader.stubOffset();\
10692
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10693
+  writer.writeObjectField(templateObject);\
10694
+  ObjOperandId bufferId = reader.objOperandId();\
10695
+  writer.writeOperandId(bufferId);\
10696
+  ValOperandId byteOffsetId = reader.valOperandId();\
10697
+  writer.writeOperandId(byteOffsetId);\
10698
+  ValOperandId lengthId = reader.valOperandId();\
10699
+  writer.writeOperandId(lengthId);\
10700
+  writer.assertLengthMatches();\
10701
+}}\
10702
+\
10703
+void cloneNewTypedArrayFromArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10704
+  writer.writeOp(CacheOp::NewTypedArrayFromArrayResult);\
10705
+  uint32_t templateObjectOffset = reader.stubOffset();\
10706
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10707
+  writer.writeObjectField(templateObject);\
10708
+  ObjOperandId arrayId = reader.objOperandId();\
10709
+  writer.writeOperandId(arrayId);\
10710
+  writer.assertLengthMatches();\
10711
+}}\
10712
+\
10713
+void cloneNewStringObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10714
+  writer.writeOp(CacheOp::NewStringObjectResult);\
10715
+  uint32_t templateObjectOffset = reader.stubOffset();\
10716
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
10717
+  writer.writeObjectField(templateObject);\
10718
+  StringOperandId strId = reader.stringOperandId();\
10719
+  writer.writeOperandId(strId);\
10720
+  writer.assertLengthMatches();\
10721
+}}\
10722
+\
10723
+void cloneStringFromCharCodeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10724
+  writer.writeOp(CacheOp::StringFromCharCodeResult);\
10725
+  Int32OperandId codeId = reader.int32OperandId();\
10726
+  writer.writeOperandId(codeId);\
10727
+  writer.assertLengthMatches();\
10728
+}}\
10729
+\
10730
+void cloneStringFromCodePointResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10731
+  writer.writeOp(CacheOp::StringFromCodePointResult);\
10732
+  Int32OperandId codeId = reader.int32OperandId();\
10733
+  writer.writeOperandId(codeId);\
10734
+  writer.assertLengthMatches();\
10735
+}}\
10736
+\
10737
+void cloneStringToLowerCaseResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10738
+  writer.writeOp(CacheOp::StringToLowerCaseResult);\
10739
+  StringOperandId strId = reader.stringOperandId();\
10740
+  writer.writeOperandId(strId);\
10741
+  writer.assertLengthMatches();\
10742
+}}\
10743
+\
10744
+void cloneStringToUpperCaseResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10745
+  writer.writeOp(CacheOp::StringToUpperCaseResult);\
10746
+  StringOperandId strId = reader.stringOperandId();\
10747
+  writer.writeOperandId(strId);\
10748
+  writer.assertLengthMatches();\
10749
+}}\
10750
+\
10751
+void cloneMathAbsInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10752
+  writer.writeOp(CacheOp::MathAbsInt32Result);\
10753
+  Int32OperandId inputId = reader.int32OperandId();\
10754
+  writer.writeOperandId(inputId);\
10755
+  writer.assertLengthMatches();\
10756
+}}\
10757
+\
10758
+void cloneMathAbsNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10759
+  writer.writeOp(CacheOp::MathAbsNumberResult);\
10760
+  NumberOperandId inputId = reader.numberOperandId();\
10761
+  writer.writeOperandId(inputId);\
10762
+  writer.assertLengthMatches();\
10763
+}}\
10764
+\
10765
+void cloneMathClz32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10766
+  writer.writeOp(CacheOp::MathClz32Result);\
10767
+  Int32OperandId inputId = reader.int32OperandId();\
10768
+  writer.writeOperandId(inputId);\
10769
+  writer.assertLengthMatches();\
10770
+}}\
10771
+\
10772
+void cloneMathSignInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10773
+  writer.writeOp(CacheOp::MathSignInt32Result);\
10774
+  Int32OperandId inputId = reader.int32OperandId();\
10775
+  writer.writeOperandId(inputId);\
10776
+  writer.assertLengthMatches();\
10777
+}}\
10778
+\
10779
+void cloneMathSignNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10780
+  writer.writeOp(CacheOp::MathSignNumberResult);\
10781
+  NumberOperandId inputId = reader.numberOperandId();\
10782
+  writer.writeOperandId(inputId);\
10783
+  writer.assertLengthMatches();\
10784
+}}\
10785
+\
10786
+void cloneMathSignNumberToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10787
+  writer.writeOp(CacheOp::MathSignNumberToInt32Result);\
10788
+  NumberOperandId inputId = reader.numberOperandId();\
10789
+  writer.writeOperandId(inputId);\
10790
+  writer.assertLengthMatches();\
10791
+}}\
10792
+\
10793
+void cloneMathImulResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10794
+  writer.writeOp(CacheOp::MathImulResult);\
10795
+  Int32OperandId lhsId = reader.int32OperandId();\
10796
+  writer.writeOperandId(lhsId);\
10797
+  Int32OperandId rhsId = reader.int32OperandId();\
10798
+  writer.writeOperandId(rhsId);\
10799
+  writer.assertLengthMatches();\
10800
+}}\
10801
+\
10802
+void cloneMathSqrtNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10803
+  writer.writeOp(CacheOp::MathSqrtNumberResult);\
10804
+  NumberOperandId inputId = reader.numberOperandId();\
10805
+  writer.writeOperandId(inputId);\
10806
+  writer.assertLengthMatches();\
10807
+}}\
10808
+\
10809
+void cloneMathFRoundNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10810
+  writer.writeOp(CacheOp::MathFRoundNumberResult);\
10811
+  NumberOperandId inputId = reader.numberOperandId();\
10812
+  writer.writeOperandId(inputId);\
10813
+  writer.assertLengthMatches();\
10814
+}}\
10815
+\
10816
+void cloneMathRandomResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10817
+  writer.writeOp(CacheOp::MathRandomResult);\
10818
+  uint32_t rngOffset = reader.stubOffset();\
10819
+  const void* rng = getRawPointerField(rngOffset);\
10820
+  writer.writeRawPointerField(rng);\
10821
+  writer.assertLengthMatches();\
10822
+}}\
10823
+\
10824
+void cloneMathHypot2NumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10825
+  writer.writeOp(CacheOp::MathHypot2NumberResult);\
10826
+  NumberOperandId firstId = reader.numberOperandId();\
10827
+  writer.writeOperandId(firstId);\
10828
+  NumberOperandId secondId = reader.numberOperandId();\
10829
+  writer.writeOperandId(secondId);\
10830
+  writer.assertLengthMatches();\
10831
+}}\
10832
+\
10833
+void cloneMathHypot3NumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10834
+  writer.writeOp(CacheOp::MathHypot3NumberResult);\
10835
+  NumberOperandId firstId = reader.numberOperandId();\
10836
+  writer.writeOperandId(firstId);\
10837
+  NumberOperandId secondId = reader.numberOperandId();\
10838
+  writer.writeOperandId(secondId);\
10839
+  NumberOperandId thirdId = reader.numberOperandId();\
10840
+  writer.writeOperandId(thirdId);\
10841
+  writer.assertLengthMatches();\
10842
+}}\
10843
+\
10844
+void cloneMathHypot4NumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10845
+  writer.writeOp(CacheOp::MathHypot4NumberResult);\
10846
+  NumberOperandId firstId = reader.numberOperandId();\
10847
+  writer.writeOperandId(firstId);\
10848
+  NumberOperandId secondId = reader.numberOperandId();\
10849
+  writer.writeOperandId(secondId);\
10850
+  NumberOperandId thirdId = reader.numberOperandId();\
10851
+  writer.writeOperandId(thirdId);\
10852
+  NumberOperandId fourthId = reader.numberOperandId();\
10853
+  writer.writeOperandId(fourthId);\
10854
+  writer.assertLengthMatches();\
10855
+}}\
10856
+\
10857
+void cloneMathAtan2NumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10858
+  writer.writeOp(CacheOp::MathAtan2NumberResult);\
10859
+  NumberOperandId lhsId = reader.numberOperandId();\
10860
+  writer.writeOperandId(lhsId);\
10861
+  NumberOperandId rhsId = reader.numberOperandId();\
10862
+  writer.writeOperandId(rhsId);\
10863
+  writer.assertLengthMatches();\
10864
+}}\
10865
+\
10866
+void cloneMathFloorNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10867
+  writer.writeOp(CacheOp::MathFloorNumberResult);\
10868
+  NumberOperandId inputId = reader.numberOperandId();\
10869
+  writer.writeOperandId(inputId);\
10870
+  writer.assertLengthMatches();\
10871
+}}\
10872
+\
10873
+void cloneMathCeilNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10874
+  writer.writeOp(CacheOp::MathCeilNumberResult);\
10875
+  NumberOperandId inputId = reader.numberOperandId();\
10876
+  writer.writeOperandId(inputId);\
10877
+  writer.assertLengthMatches();\
10878
+}}\
10879
+\
10880
+void cloneMathTruncNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10881
+  writer.writeOp(CacheOp::MathTruncNumberResult);\
10882
+  NumberOperandId inputId = reader.numberOperandId();\
10883
+  writer.writeOperandId(inputId);\
10884
+  writer.assertLengthMatches();\
10885
+}}\
10886
+\
10887
+void cloneMathFloorToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10888
+  writer.writeOp(CacheOp::MathFloorToInt32Result);\
10889
+  NumberOperandId inputId = reader.numberOperandId();\
10890
+  writer.writeOperandId(inputId);\
10891
+  writer.assertLengthMatches();\
10892
+}}\
10893
+\
10894
+void cloneMathCeilToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10895
+  writer.writeOp(CacheOp::MathCeilToInt32Result);\
10896
+  NumberOperandId inputId = reader.numberOperandId();\
10897
+  writer.writeOperandId(inputId);\
10898
+  writer.assertLengthMatches();\
10899
+}}\
10900
+\
10901
+void cloneMathTruncToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10902
+  writer.writeOp(CacheOp::MathTruncToInt32Result);\
10903
+  NumberOperandId inputId = reader.numberOperandId();\
10904
+  writer.writeOperandId(inputId);\
10905
+  writer.assertLengthMatches();\
10906
+}}\
10907
+\
10908
+void cloneMathRoundToInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
10909
+  writer.writeOp(CacheOp::MathRoundToInt32Result);\
10910
+  NumberOperandId inputId = reader.numberOperandId();\
10911
+  writer.writeOperandId(inputId);\
10912
+  writer.assertLengthMatches();\
10913
+}}\
10914
+\
10915
+void cloneInt32MinMax(CacheIRReader& reader, CacheIRWriter& writer) {{\
10916
+  writer.writeOp(CacheOp::Int32MinMax);\
10917
+  bool isMax = reader.readBool();\
10918
+  writer.writeBoolImm(isMax);\
10919
+  Int32OperandId firstId = reader.int32OperandId();\
10920
+  writer.writeOperandId(firstId);\
10921
+  Int32OperandId secondId = reader.int32OperandId();\
10922
+  writer.writeOperandId(secondId);\
10923
+  Int32OperandId resultId = reader.int32OperandId();\
10924
+  writer.newOperandId();\
10925
+  writer.writeOperandId(resultId);\
10926
+  writer.assertLengthMatches();\
10927
+}}\
10928
+\
10929
+void cloneNumberMinMax(CacheIRReader& reader, CacheIRWriter& writer) {{\
10930
+  writer.writeOp(CacheOp::NumberMinMax);\
10931
+  bool isMax = reader.readBool();\
10932
+  writer.writeBoolImm(isMax);\
10933
+  NumberOperandId firstId = reader.numberOperandId();\
10934
+  writer.writeOperandId(firstId);\
10935
+  NumberOperandId secondId = reader.numberOperandId();\
10936
+  writer.writeOperandId(secondId);\
10937
+  NumberOperandId resultId = reader.numberOperandId();\
10938
+  writer.newOperandId();\
10939
+  writer.writeOperandId(resultId);\
10940
+  writer.assertLengthMatches();\
10941
+}}\
10942
+\
10943
+void cloneInt32MinMaxArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10944
+  writer.writeOp(CacheOp::Int32MinMaxArrayResult);\
10945
+  ObjOperandId arrayId = reader.objOperandId();\
10946
+  writer.writeOperandId(arrayId);\
10947
+  bool isMax = reader.readBool();\
10948
+  writer.writeBoolImm(isMax);\
10949
+  writer.assertLengthMatches();\
10950
+}}\
10951
+\
10952
+void cloneNumberMinMaxArrayResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10953
+  writer.writeOp(CacheOp::NumberMinMaxArrayResult);\
10954
+  ObjOperandId arrayId = reader.objOperandId();\
10955
+  writer.writeOperandId(arrayId);\
10956
+  bool isMax = reader.readBool();\
10957
+  writer.writeBoolImm(isMax);\
10958
+  writer.assertLengthMatches();\
10959
+}}\
10960
+\
10961
+void cloneMathFunctionNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10962
+  writer.writeOp(CacheOp::MathFunctionNumberResult);\
10963
+  NumberOperandId inputId = reader.numberOperandId();\
10964
+  writer.writeOperandId(inputId);\
10965
+  UnaryMathFunction fun = reader.unaryMathFunction();\
10966
+  writer.writeUnaryMathFunctionImm(fun);\
10967
+  writer.assertLengthMatches();\
10968
+}}\
10969
+\
10970
+void cloneObjectToStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10971
+  writer.writeOp(CacheOp::ObjectToStringResult);\
10972
+  ObjOperandId objId = reader.objOperandId();\
10973
+  writer.writeOperandId(objId);\
10974
+  writer.assertLengthMatches();\
10975
+}}\
10976
+\
10977
+void cloneReflectGetPrototypeOfResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
10978
+  writer.writeOp(CacheOp::ReflectGetPrototypeOfResult);\
10979
+  ObjOperandId objId = reader.objOperandId();\
10980
+  writer.writeOperandId(objId);\
10981
+  writer.assertLengthMatches();\
10982
+}}\
10983
+\
10984
+void cloneStoreTypedArrayElement(CacheIRReader& reader, CacheIRWriter& writer) {{\
10985
+  writer.writeOp(CacheOp::StoreTypedArrayElement);\
10986
+  ObjOperandId objId = reader.objOperandId();\
10987
+  writer.writeOperandId(objId);\
10988
+  Scalar::Type elementType = reader.scalarType();\
10989
+  writer.writeScalarTypeImm(elementType);\
10990
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
10991
+  writer.writeOperandId(indexId);\
10992
+  ValOperandId rhsId = reader.valOperandId();\
10993
+  writer.writeOperandId(rhsId);\
10994
+  bool handleOOB = reader.readBool();\
10995
+  writer.writeBoolImm(handleOOB);\
10996
+  writer.assertLengthMatches();\
10997
+}}\
10998
+\
10999
+void cloneAtomicsCompareExchangeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11000
+  writer.writeOp(CacheOp::AtomicsCompareExchangeResult);\
11001
+  ObjOperandId objId = reader.objOperandId();\
11002
+  writer.writeOperandId(objId);\
11003
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11004
+  writer.writeOperandId(indexId);\
11005
+  ValOperandId expectedId = reader.valOperandId();\
11006
+  writer.writeOperandId(expectedId);\
11007
+  ValOperandId replacementId = reader.valOperandId();\
11008
+  writer.writeOperandId(replacementId);\
11009
+  Scalar::Type elementType = reader.scalarType();\
11010
+  writer.writeScalarTypeImm(elementType);\
11011
+  writer.assertLengthMatches();\
11012
+}}\
11013
+\
11014
+void cloneAtomicsExchangeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11015
+  writer.writeOp(CacheOp::AtomicsExchangeResult);\
11016
+  ObjOperandId objId = reader.objOperandId();\
11017
+  writer.writeOperandId(objId);\
11018
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11019
+  writer.writeOperandId(indexId);\
11020
+  ValOperandId valueId = reader.valOperandId();\
11021
+  writer.writeOperandId(valueId);\
11022
+  Scalar::Type elementType = reader.scalarType();\
11023
+  writer.writeScalarTypeImm(elementType);\
11024
+  writer.assertLengthMatches();\
11025
+}}\
11026
+\
11027
+void cloneAtomicsAddResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11028
+  writer.writeOp(CacheOp::AtomicsAddResult);\
11029
+  ObjOperandId objId = reader.objOperandId();\
11030
+  writer.writeOperandId(objId);\
11031
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11032
+  writer.writeOperandId(indexId);\
11033
+  ValOperandId valueId = reader.valOperandId();\
11034
+  writer.writeOperandId(valueId);\
11035
+  Scalar::Type elementType = reader.scalarType();\
11036
+  writer.writeScalarTypeImm(elementType);\
11037
+  bool forEffect = reader.readBool();\
11038
+  writer.writeBoolImm(forEffect);\
11039
+  writer.assertLengthMatches();\
11040
+}}\
11041
+\
11042
+void cloneAtomicsSubResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11043
+  writer.writeOp(CacheOp::AtomicsSubResult);\
11044
+  ObjOperandId objId = reader.objOperandId();\
11045
+  writer.writeOperandId(objId);\
11046
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11047
+  writer.writeOperandId(indexId);\
11048
+  ValOperandId valueId = reader.valOperandId();\
11049
+  writer.writeOperandId(valueId);\
11050
+  Scalar::Type elementType = reader.scalarType();\
11051
+  writer.writeScalarTypeImm(elementType);\
11052
+  bool forEffect = reader.readBool();\
11053
+  writer.writeBoolImm(forEffect);\
11054
+  writer.assertLengthMatches();\
11055
+}}\
11056
+\
11057
+void cloneAtomicsAndResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11058
+  writer.writeOp(CacheOp::AtomicsAndResult);\
11059
+  ObjOperandId objId = reader.objOperandId();\
11060
+  writer.writeOperandId(objId);\
11061
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11062
+  writer.writeOperandId(indexId);\
11063
+  ValOperandId valueId = reader.valOperandId();\
11064
+  writer.writeOperandId(valueId);\
11065
+  Scalar::Type elementType = reader.scalarType();\
11066
+  writer.writeScalarTypeImm(elementType);\
11067
+  bool forEffect = reader.readBool();\
11068
+  writer.writeBoolImm(forEffect);\
11069
+  writer.assertLengthMatches();\
11070
+}}\
11071
+\
11072
+void cloneAtomicsOrResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11073
+  writer.writeOp(CacheOp::AtomicsOrResult);\
11074
+  ObjOperandId objId = reader.objOperandId();\
11075
+  writer.writeOperandId(objId);\
11076
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11077
+  writer.writeOperandId(indexId);\
11078
+  ValOperandId valueId = reader.valOperandId();\
11079
+  writer.writeOperandId(valueId);\
11080
+  Scalar::Type elementType = reader.scalarType();\
11081
+  writer.writeScalarTypeImm(elementType);\
11082
+  bool forEffect = reader.readBool();\
11083
+  writer.writeBoolImm(forEffect);\
11084
+  writer.assertLengthMatches();\
11085
+}}\
11086
+\
11087
+void cloneAtomicsXorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11088
+  writer.writeOp(CacheOp::AtomicsXorResult);\
11089
+  ObjOperandId objId = reader.objOperandId();\
11090
+  writer.writeOperandId(objId);\
11091
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11092
+  writer.writeOperandId(indexId);\
11093
+  ValOperandId valueId = reader.valOperandId();\
11094
+  writer.writeOperandId(valueId);\
11095
+  Scalar::Type elementType = reader.scalarType();\
11096
+  writer.writeScalarTypeImm(elementType);\
11097
+  bool forEffect = reader.readBool();\
11098
+  writer.writeBoolImm(forEffect);\
11099
+  writer.assertLengthMatches();\
11100
+}}\
11101
+\
11102
+void cloneAtomicsLoadResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11103
+  writer.writeOp(CacheOp::AtomicsLoadResult);\
11104
+  ObjOperandId objId = reader.objOperandId();\
11105
+  writer.writeOperandId(objId);\
11106
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11107
+  writer.writeOperandId(indexId);\
11108
+  Scalar::Type elementType = reader.scalarType();\
11109
+  writer.writeScalarTypeImm(elementType);\
11110
+  writer.assertLengthMatches();\
11111
+}}\
11112
+\
11113
+void cloneAtomicsStoreResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11114
+  writer.writeOp(CacheOp::AtomicsStoreResult);\
11115
+  ObjOperandId objId = reader.objOperandId();\
11116
+  writer.writeOperandId(objId);\
11117
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11118
+  writer.writeOperandId(indexId);\
11119
+  ValOperandId valueId = reader.valOperandId();\
11120
+  writer.writeOperandId(valueId);\
11121
+  Scalar::Type elementType = reader.scalarType();\
11122
+  writer.writeScalarTypeImm(elementType);\
11123
+  writer.assertLengthMatches();\
11124
+}}\
11125
+\
11126
+void cloneAtomicsIsLockFreeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11127
+  writer.writeOp(CacheOp::AtomicsIsLockFreeResult);\
11128
+  Int32OperandId valueId = reader.int32OperandId();\
11129
+  writer.writeOperandId(valueId);\
11130
+  writer.assertLengthMatches();\
11131
+}}\
11132
+\
11133
+void cloneCallNativeSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
11134
+  writer.writeOp(CacheOp::CallNativeSetter);\
11135
+  ObjOperandId receiverId = reader.objOperandId();\
11136
+  writer.writeOperandId(receiverId);\
11137
+  uint32_t setterOffset = reader.stubOffset();\
11138
+  JSObject* setter = getObjectField(setterOffset);\
11139
+  writer.writeObjectField(setter);\
11140
+  ValOperandId rhsId = reader.valOperandId();\
11141
+  writer.writeOperandId(rhsId);\
11142
+  bool sameRealm = reader.readBool();\
11143
+  writer.writeBoolImm(sameRealm);\
11144
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
11145
+  uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
11146
+  writer.writeRawInt32Field(nargsAndFlags);\
11147
+  writer.assertLengthMatches();\
11148
+}}\
11149
+\
11150
+void cloneCallScriptedSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
11151
+  writer.writeOp(CacheOp::CallScriptedSetter);\
11152
+  ObjOperandId receiverId = reader.objOperandId();\
11153
+  writer.writeOperandId(receiverId);\
11154
+  uint32_t setterOffset = reader.stubOffset();\
11155
+  JSObject* setter = getObjectField(setterOffset);\
11156
+  writer.writeObjectField(setter);\
11157
+  ValOperandId rhsId = reader.valOperandId();\
11158
+  writer.writeOperandId(rhsId);\
11159
+  bool sameRealm = reader.readBool();\
11160
+  writer.writeBoolImm(sameRealm);\
11161
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
11162
+  uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
11163
+  writer.writeRawInt32Field(nargsAndFlags);\
11164
+  writer.assertLengthMatches();\
11165
+}}\
11166
+\
11167
+void cloneCallInlinedSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
11168
+  writer.writeOp(CacheOp::CallInlinedSetter);\
11169
+  ObjOperandId receiverId = reader.objOperandId();\
11170
+  writer.writeOperandId(receiverId);\
11171
+  uint32_t setterOffset = reader.stubOffset();\
11172
+  JSObject* setter = getObjectField(setterOffset);\
11173
+  writer.writeObjectField(setter);\
11174
+  ValOperandId rhsId = reader.valOperandId();\
11175
+  writer.writeOperandId(rhsId);\
11176
+  uint32_t icScriptOffset = reader.stubOffset();\
11177
+  const void* icScript = getRawPointerField(icScriptOffset);\
11178
+  writer.writeRawPointerField(icScript);\
11179
+  bool sameRealm = reader.readBool();\
11180
+  writer.writeBoolImm(sameRealm);\
11181
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
11182
+  uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
11183
+  writer.writeRawInt32Field(nargsAndFlags);\
11184
+  writer.assertLengthMatches();\
11185
+}}\
11186
+\
11187
+void cloneCallDOMSetter(CacheIRReader& reader, CacheIRWriter& writer) {{\
11188
+  writer.writeOp(CacheOp::CallDOMSetter);\
11189
+  ObjOperandId objId = reader.objOperandId();\
11190
+  writer.writeOperandId(objId);\
11191
+  uint32_t jitInfoOffset = reader.stubOffset();\
11192
+  const void* jitInfo = getRawPointerField(jitInfoOffset);\
11193
+  writer.writeRawPointerField(jitInfo);\
11194
+  ValOperandId rhsId = reader.valOperandId();\
11195
+  writer.writeOperandId(rhsId);\
11196
+  writer.assertLengthMatches();\
11197
+}}\
11198
+\
11199
+void cloneCallSetArrayLength(CacheIRReader& reader, CacheIRWriter& writer) {{\
11200
+  writer.writeOp(CacheOp::CallSetArrayLength);\
11201
+  ObjOperandId objId = reader.objOperandId();\
11202
+  writer.writeOperandId(objId);\
11203
+  bool strict = reader.readBool();\
11204
+  writer.writeBoolImm(strict);\
11205
+  ValOperandId rhsId = reader.valOperandId();\
11206
+  writer.writeOperandId(rhsId);\
11207
+  writer.assertLengthMatches();\
11208
+}}\
11209
+\
11210
+void cloneProxySet(CacheIRReader& reader, CacheIRWriter& writer) {{\
11211
+  writer.writeOp(CacheOp::ProxySet);\
11212
+  ObjOperandId objId = reader.objOperandId();\
11213
+  writer.writeOperandId(objId);\
11214
+  uint32_t idOffset = reader.stubOffset();\
11215
+  jsid id = getIdField(idOffset);\
11216
+  writer.writeIdField(id);\
11217
+  ValOperandId rhsId = reader.valOperandId();\
11218
+  writer.writeOperandId(rhsId);\
11219
+  bool strict = reader.readBool();\
11220
+  writer.writeBoolImm(strict);\
11221
+  writer.assertLengthMatches();\
11222
+}}\
11223
+\
11224
+void cloneProxySetByValue(CacheIRReader& reader, CacheIRWriter& writer) {{\
11225
+  writer.writeOp(CacheOp::ProxySetByValue);\
11226
+  ObjOperandId objId = reader.objOperandId();\
11227
+  writer.writeOperandId(objId);\
11228
+  ValOperandId idId = reader.valOperandId();\
11229
+  writer.writeOperandId(idId);\
11230
+  ValOperandId rhsId = reader.valOperandId();\
11231
+  writer.writeOperandId(rhsId);\
11232
+  bool strict = reader.readBool();\
11233
+  writer.writeBoolImm(strict);\
11234
+  writer.assertLengthMatches();\
11235
+}}\
11236
+\
11237
+void cloneCallAddOrUpdateSparseElementHelper(CacheIRReader& reader, CacheIRWriter& writer) {{\
11238
+  writer.writeOp(CacheOp::CallAddOrUpdateSparseElementHelper);\
11239
+  ObjOperandId objId = reader.objOperandId();\
11240
+  writer.writeOperandId(objId);\
11241
+  Int32OperandId idId = reader.int32OperandId();\
11242
+  writer.writeOperandId(idId);\
11243
+  ValOperandId rhsId = reader.valOperandId();\
11244
+  writer.writeOperandId(rhsId);\
11245
+  bool strict = reader.readBool();\
11246
+  writer.writeBoolImm(strict);\
11247
+  writer.assertLengthMatches();\
11248
+}}\
11249
+\
11250
+void cloneCallInt32ToString(CacheIRReader& reader, CacheIRWriter& writer) {{\
11251
+  writer.writeOp(CacheOp::CallInt32ToString);\
11252
+  Int32OperandId inputId = reader.int32OperandId();\
11253
+  writer.writeOperandId(inputId);\
11254
+  StringOperandId resultId = reader.stringOperandId();\
11255
+  writer.newOperandId();\
11256
+  writer.writeOperandId(resultId);\
11257
+  writer.assertLengthMatches();\
11258
+}}\
11259
+\
11260
+void cloneCallNumberToString(CacheIRReader& reader, CacheIRWriter& writer) {{\
11261
+  writer.writeOp(CacheOp::CallNumberToString);\
11262
+  NumberOperandId inputId = reader.numberOperandId();\
11263
+  writer.writeOperandId(inputId);\
11264
+  StringOperandId resultId = reader.stringOperandId();\
11265
+  writer.newOperandId();\
11266
+  writer.writeOperandId(resultId);\
11267
+  writer.assertLengthMatches();\
11268
+}}\
11269
+\
11270
+void cloneBooleanToString(CacheIRReader& reader, CacheIRWriter& writer) {{\
11271
+  writer.writeOp(CacheOp::BooleanToString);\
11272
+  BooleanOperandId inputId = reader.booleanOperandId();\
11273
+  writer.writeOperandId(inputId);\
11274
+  StringOperandId resultId = reader.stringOperandId();\
11275
+  writer.newOperandId();\
11276
+  writer.writeOperandId(resultId);\
11277
+  writer.assertLengthMatches();\
11278
+}}\
11279
+\
11280
+void cloneCallScriptedFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
11281
+  writer.writeOp(CacheOp::CallScriptedFunction);\
11282
+  ObjOperandId calleeId = reader.objOperandId();\
11283
+  writer.writeOperandId(calleeId);\
11284
+  Int32OperandId argcId = reader.int32OperandId();\
11285
+  writer.writeOperandId(argcId);\
11286
+  CallFlags flags = reader.callFlags();\
11287
+  writer.writeCallFlagsImm(flags);\
11288
+  writer.assertLengthMatches();\
11289
+}}\
11290
+\
11291
+void cloneCallWasmFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
11292
+  writer.writeOp(CacheOp::CallWasmFunction);\
11293
+  ObjOperandId calleeId = reader.objOperandId();\
11294
+  writer.writeOperandId(calleeId);\
11295
+  Int32OperandId argcId = reader.int32OperandId();\
11296
+  writer.writeOperandId(argcId);\
11297
+  CallFlags flags = reader.callFlags();\
11298
+  writer.writeCallFlagsImm(flags);\
11299
+  uint32_t funcExportOffset = reader.stubOffset();\
11300
+  const void* funcExport = getRawPointerField(funcExportOffset);\
11301
+  writer.writeRawPointerField(funcExport);\
11302
+  uint32_t instanceOffset = reader.stubOffset();\
11303
+  JSObject* instance = getObjectField(instanceOffset);\
11304
+  writer.writeObjectField(instance);\
11305
+  writer.assertLengthMatches();\
11306
+}}\
11307
+\
11308
+void cloneGuardWasmArg(CacheIRReader& reader, CacheIRWriter& writer) {{\
11309
+  writer.writeOp(CacheOp::GuardWasmArg);\
11310
+  ValOperandId argId = reader.valOperandId();\
11311
+  writer.writeOperandId(argId);\
11312
+  wasm::ValType::Kind type = reader.wasmValType();\
11313
+  writer.writeWasmValTypeImm(type);\
11314
+  writer.assertLengthMatches();\
11315
+}}\
11316
+\
11317
+void cloneCallNativeFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
11318
+  writer.writeOp(CacheOp::CallNativeFunction);\
11319
+  ObjOperandId calleeId = reader.objOperandId();\
11320
+  writer.writeOperandId(calleeId);\
11321
+  Int32OperandId argcId = reader.int32OperandId();\
11322
+  writer.writeOperandId(argcId);\
11323
+  CallFlags flags = reader.callFlags();\
11324
+  writer.writeCallFlagsImm(flags);\
11325
+  bool ignoresReturnValue = reader.readBool();\
11326
+  writer.writeBoolImm(ignoresReturnValue);\
11327
+  writer.assertLengthMatches();\
11328
+}}\
11329
+\
11330
+void cloneCallDOMFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
11331
+  writer.writeOp(CacheOp::CallDOMFunction);\
11332
+  ObjOperandId calleeId = reader.objOperandId();\
11333
+  writer.writeOperandId(calleeId);\
11334
+  Int32OperandId argcId = reader.int32OperandId();\
11335
+  writer.writeOperandId(argcId);\
11336
+  ObjOperandId thisObjId = reader.objOperandId();\
11337
+  writer.writeOperandId(thisObjId);\
11338
+  CallFlags flags = reader.callFlags();\
11339
+  writer.writeCallFlagsImm(flags);\
11340
+  writer.assertLengthMatches();\
11341
+}}\
11342
+\
11343
+void cloneCallClassHook(CacheIRReader& reader, CacheIRWriter& writer) {{\
11344
+  writer.writeOp(CacheOp::CallClassHook);\
11345
+  ObjOperandId calleeId = reader.objOperandId();\
11346
+  writer.writeOperandId(calleeId);\
11347
+  Int32OperandId argcId = reader.int32OperandId();\
11348
+  writer.writeOperandId(argcId);\
11349
+  CallFlags flags = reader.callFlags();\
11350
+  writer.writeCallFlagsImm(flags);\
11351
+  uint32_t targetOffset = reader.stubOffset();\
11352
+  const void* target = getRawPointerField(targetOffset);\
11353
+  writer.writeRawPointerField(target);\
11354
+  writer.assertLengthMatches();\
11355
+}}\
11356
+\
11357
+void cloneCallInlinedFunction(CacheIRReader& reader, CacheIRWriter& writer) {{\
11358
+  writer.writeOp(CacheOp::CallInlinedFunction);\
11359
+  ObjOperandId calleeId = reader.objOperandId();\
11360
+  writer.writeOperandId(calleeId);\
11361
+  Int32OperandId argcId = reader.int32OperandId();\
11362
+  writer.writeOperandId(argcId);\
11363
+  uint32_t icScriptOffset = reader.stubOffset();\
11364
+  const void* icScript = getRawPointerField(icScriptOffset);\
11365
+  writer.writeRawPointerField(icScript);\
11366
+  CallFlags flags = reader.callFlags();\
11367
+  writer.writeCallFlagsImm(flags);\
11368
+  writer.assertLengthMatches();\
11369
+}}\
11370
+\
11371
+void cloneMetaTwoByte(CacheIRReader& reader, CacheIRWriter& writer) {{\
11372
+  writer.writeOp(CacheOp::MetaTwoByte);\
11373
+  uint32_t functionObjectOffset = reader.stubOffset();\
11374
+  JSObject* functionObject = getObjectField(functionObjectOffset);\
11375
+  writer.writeObjectField(functionObject);\
11376
+  uint32_t templateObjectOffset = reader.stubOffset();\
11377
+  JSObject* templateObject = getObjectField(templateObjectOffset);\
11378
+  writer.writeObjectField(templateObject);\
11379
+  writer.assertLengthMatches();\
11380
+}}\
11381
+\
11382
+void cloneLoadFixedSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11383
+  writer.writeOp(CacheOp::LoadFixedSlotResult);\
11384
+  ObjOperandId objId = reader.objOperandId();\
11385
+  writer.writeOperandId(objId);\
11386
+  uint32_t offsetOffset = reader.stubOffset();\
11387
+  uint32_t offset = getRawInt32Field(offsetOffset);\
11388
+  writer.writeRawInt32Field(offset);\
11389
+  writer.assertLengthMatches();\
11390
+}}\
11391
+\
11392
+void cloneLoadFixedSlotTypedResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11393
+  writer.writeOp(CacheOp::LoadFixedSlotTypedResult);\
11394
+  ObjOperandId objId = reader.objOperandId();\
11395
+  writer.writeOperandId(objId);\
11396
+  uint32_t offsetOffset = reader.stubOffset();\
11397
+  uint32_t offset = getRawInt32Field(offsetOffset);\
11398
+  writer.writeRawInt32Field(offset);\
11399
+  ValueType type = reader.valueType();\
11400
+  writer.writeValueTypeImm(type);\
11401
+  writer.assertLengthMatches();\
11402
+}}\
11403
+\
11404
+void cloneLoadDynamicSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11405
+  writer.writeOp(CacheOp::LoadDynamicSlotResult);\
11406
+  ObjOperandId objId = reader.objOperandId();\
11407
+  writer.writeOperandId(objId);\
11408
+  uint32_t offsetOffset = reader.stubOffset();\
11409
+  uint32_t offset = getRawInt32Field(offsetOffset);\
11410
+  writer.writeRawInt32Field(offset);\
11411
+  writer.assertLengthMatches();\
11412
+}}\
11413
+\
11414
+void cloneLoadDenseElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11415
+  writer.writeOp(CacheOp::LoadDenseElementResult);\
11416
+  ObjOperandId objId = reader.objOperandId();\
11417
+  writer.writeOperandId(objId);\
11418
+  Int32OperandId indexId = reader.int32OperandId();\
11419
+  writer.writeOperandId(indexId);\
11420
+  writer.assertLengthMatches();\
11421
+}}\
11422
+\
11423
+void cloneLoadDenseElementHoleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11424
+  writer.writeOp(CacheOp::LoadDenseElementHoleResult);\
11425
+  ObjOperandId objId = reader.objOperandId();\
11426
+  writer.writeOperandId(objId);\
11427
+  Int32OperandId indexId = reader.int32OperandId();\
11428
+  writer.writeOperandId(indexId);\
11429
+  writer.assertLengthMatches();\
11430
+}}\
11431
+\
11432
+void cloneCallGetSparseElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11433
+  writer.writeOp(CacheOp::CallGetSparseElementResult);\
11434
+  ObjOperandId objId = reader.objOperandId();\
11435
+  writer.writeOperandId(objId);\
11436
+  Int32OperandId indexId = reader.int32OperandId();\
11437
+  writer.writeOperandId(indexId);\
11438
+  writer.assertLengthMatches();\
11439
+}}\
11440
+\
11441
+void cloneLoadDenseElementExistsResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11442
+  writer.writeOp(CacheOp::LoadDenseElementExistsResult);\
11443
+  ObjOperandId objId = reader.objOperandId();\
11444
+  writer.writeOperandId(objId);\
11445
+  Int32OperandId indexId = reader.int32OperandId();\
11446
+  writer.writeOperandId(indexId);\
11447
+  writer.assertLengthMatches();\
11448
+}}\
11449
+\
11450
+void cloneLoadTypedArrayElementExistsResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11451
+  writer.writeOp(CacheOp::LoadTypedArrayElementExistsResult);\
11452
+  ObjOperandId objId = reader.objOperandId();\
11453
+  writer.writeOperandId(objId);\
11454
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11455
+  writer.writeOperandId(indexId);\
11456
+  writer.assertLengthMatches();\
11457
+}}\
11458
+\
11459
+void cloneLoadDenseElementHoleExistsResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11460
+  writer.writeOp(CacheOp::LoadDenseElementHoleExistsResult);\
11461
+  ObjOperandId objId = reader.objOperandId();\
11462
+  writer.writeOperandId(objId);\
11463
+  Int32OperandId indexId = reader.int32OperandId();\
11464
+  writer.writeOperandId(indexId);\
11465
+  writer.assertLengthMatches();\
11466
+}}\
11467
+\
11468
+void cloneLoadTypedArrayElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11469
+  writer.writeOp(CacheOp::LoadTypedArrayElementResult);\
11470
+  ObjOperandId objId = reader.objOperandId();\
11471
+  writer.writeOperandId(objId);\
11472
+  IntPtrOperandId indexId = reader.intPtrOperandId();\
11473
+  writer.writeOperandId(indexId);\
11474
+  Scalar::Type elementType = reader.scalarType();\
11475
+  writer.writeScalarTypeImm(elementType);\
11476
+  bool handleOOB = reader.readBool();\
11477
+  writer.writeBoolImm(handleOOB);\
11478
+  bool forceDoubleForUint32 = reader.readBool();\
11479
+  writer.writeBoolImm(forceDoubleForUint32);\
11480
+  writer.assertLengthMatches();\
11481
+}}\
11482
+\
11483
+void cloneLoadDataViewValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11484
+  writer.writeOp(CacheOp::LoadDataViewValueResult);\
11485
+  ObjOperandId objId = reader.objOperandId();\
11486
+  writer.writeOperandId(objId);\
11487
+  IntPtrOperandId offsetId = reader.intPtrOperandId();\
11488
+  writer.writeOperandId(offsetId);\
11489
+  BooleanOperandId littleEndianId = reader.booleanOperandId();\
11490
+  writer.writeOperandId(littleEndianId);\
11491
+  Scalar::Type elementType = reader.scalarType();\
11492
+  writer.writeScalarTypeImm(elementType);\
11493
+  bool forceDoubleForUint32 = reader.readBool();\
11494
+  writer.writeBoolImm(forceDoubleForUint32);\
11495
+  writer.assertLengthMatches();\
11496
+}}\
11497
+\
11498
+void cloneStoreDataViewValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11499
+  writer.writeOp(CacheOp::StoreDataViewValueResult);\
11500
+  ObjOperandId objId = reader.objOperandId();\
11501
+  writer.writeOperandId(objId);\
11502
+  IntPtrOperandId offsetId = reader.intPtrOperandId();\
11503
+  writer.writeOperandId(offsetId);\
11504
+  ValOperandId valueId = reader.valOperandId();\
11505
+  writer.writeOperandId(valueId);\
11506
+  BooleanOperandId littleEndianId = reader.booleanOperandId();\
11507
+  writer.writeOperandId(littleEndianId);\
11508
+  Scalar::Type elementType = reader.scalarType();\
11509
+  writer.writeScalarTypeImm(elementType);\
11510
+  writer.assertLengthMatches();\
11511
+}}\
11512
+\
11513
+void cloneLoadInt32ArrayLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11514
+  writer.writeOp(CacheOp::LoadInt32ArrayLengthResult);\
11515
+  ObjOperandId objId = reader.objOperandId();\
11516
+  writer.writeOperandId(objId);\
11517
+  writer.assertLengthMatches();\
11518
+}}\
11519
+\
11520
+void cloneLoadInt32ArrayLength(CacheIRReader& reader, CacheIRWriter& writer) {{\
11521
+  writer.writeOp(CacheOp::LoadInt32ArrayLength);\
11522
+  ObjOperandId objId = reader.objOperandId();\
11523
+  writer.writeOperandId(objId);\
11524
+  Int32OperandId resultId = reader.int32OperandId();\
11525
+  writer.newOperandId();\
11526
+  writer.writeOperandId(resultId);\
11527
+  writer.assertLengthMatches();\
11528
+}}\
11529
+\
11530
+void cloneLoadArgumentsObjectArgResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11531
+  writer.writeOp(CacheOp::LoadArgumentsObjectArgResult);\
11532
+  ObjOperandId objId = reader.objOperandId();\
11533
+  writer.writeOperandId(objId);\
11534
+  Int32OperandId indexId = reader.int32OperandId();\
11535
+  writer.writeOperandId(indexId);\
11536
+  writer.assertLengthMatches();\
11537
+}}\
11538
+\
11539
+void cloneLoadArgumentsObjectLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11540
+  writer.writeOp(CacheOp::LoadArgumentsObjectLengthResult);\
11541
+  ObjOperandId objId = reader.objOperandId();\
11542
+  writer.writeOperandId(objId);\
11543
+  writer.assertLengthMatches();\
11544
+}}\
11545
+\
11546
+void cloneLoadFunctionLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11547
+  writer.writeOp(CacheOp::LoadFunctionLengthResult);\
11548
+  ObjOperandId objId = reader.objOperandId();\
11549
+  writer.writeOperandId(objId);\
11550
+  writer.assertLengthMatches();\
11551
+}}\
11552
+\
11553
+void cloneLoadFunctionNameResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11554
+  writer.writeOp(CacheOp::LoadFunctionNameResult);\
11555
+  ObjOperandId objId = reader.objOperandId();\
11556
+  writer.writeOperandId(objId);\
11557
+  writer.assertLengthMatches();\
11558
+}}\
11559
+\
11560
+void cloneLoadArrayBufferByteLengthInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
11561
+  writer.writeOp(CacheOp::LoadArrayBufferByteLengthInt32Result);\
11562
+  ObjOperandId objId = reader.objOperandId();\
11563
+  writer.writeOperandId(objId);\
11564
+  writer.assertLengthMatches();\
11565
+}}\
11566
+\
11567
+void cloneLoadArrayBufferByteLengthDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11568
+  writer.writeOp(CacheOp::LoadArrayBufferByteLengthDoubleResult);\
11569
+  ObjOperandId objId = reader.objOperandId();\
11570
+  writer.writeOperandId(objId);\
11571
+  writer.assertLengthMatches();\
11572
+}}\
11573
+\
11574
+void cloneLoadArrayBufferViewLengthInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
11575
+  writer.writeOp(CacheOp::LoadArrayBufferViewLengthInt32Result);\
11576
+  ObjOperandId objId = reader.objOperandId();\
11577
+  writer.writeOperandId(objId);\
11578
+  writer.assertLengthMatches();\
11579
+}}\
11580
+\
11581
+void cloneLoadArrayBufferViewLengthDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11582
+  writer.writeOp(CacheOp::LoadArrayBufferViewLengthDoubleResult);\
11583
+  ObjOperandId objId = reader.objOperandId();\
11584
+  writer.writeOperandId(objId);\
11585
+  writer.assertLengthMatches();\
11586
+}}\
11587
+\
11588
+void cloneLoadStringCharResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11589
+  writer.writeOp(CacheOp::LoadStringCharResult);\
11590
+  StringOperandId strId = reader.stringOperandId();\
11591
+  writer.writeOperandId(strId);\
11592
+  Int32OperandId indexId = reader.int32OperandId();\
11593
+  writer.writeOperandId(indexId);\
11594
+  writer.assertLengthMatches();\
11595
+}}\
11596
+\
11597
+void cloneLoadStringCharCodeResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11598
+  writer.writeOp(CacheOp::LoadStringCharCodeResult);\
11599
+  StringOperandId strId = reader.stringOperandId();\
11600
+  writer.writeOperandId(strId);\
11601
+  Int32OperandId indexId = reader.int32OperandId();\
11602
+  writer.writeOperandId(indexId);\
11603
+  writer.assertLengthMatches();\
11604
+}}\
11605
+\
11606
+void cloneLoadStringLengthResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11607
+  writer.writeOp(CacheOp::LoadStringLengthResult);\
11608
+  StringOperandId strId = reader.stringOperandId();\
11609
+  writer.writeOperandId(strId);\
11610
+  writer.assertLengthMatches();\
11611
+}}\
11612
+\
11613
+void cloneFrameIsConstructingResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11614
+  writer.writeOp(CacheOp::FrameIsConstructingResult);\
11615
+  writer.assertLengthMatches();\
11616
+}}\
11617
+\
11618
+void cloneLoadEnvironmentFixedSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11619
+  writer.writeOp(CacheOp::LoadEnvironmentFixedSlotResult);\
11620
+  ObjOperandId objId = reader.objOperandId();\
11621
+  writer.writeOperandId(objId);\
11622
+  uint32_t offsetOffset = reader.stubOffset();\
11623
+  uint32_t offset = getRawInt32Field(offsetOffset);\
11624
+  writer.writeRawInt32Field(offset);\
11625
+  writer.assertLengthMatches();\
11626
+}}\
11627
+\
11628
+void cloneLoadEnvironmentDynamicSlotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11629
+  writer.writeOp(CacheOp::LoadEnvironmentDynamicSlotResult);\
11630
+  ObjOperandId objId = reader.objOperandId();\
11631
+  writer.writeOperandId(objId);\
11632
+  uint32_t offsetOffset = reader.stubOffset();\
11633
+  uint32_t offset = getRawInt32Field(offsetOffset);\
11634
+  writer.writeRawInt32Field(offset);\
11635
+  writer.assertLengthMatches();\
11636
+}}\
11637
+\
11638
+void cloneLoadObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11639
+  writer.writeOp(CacheOp::LoadObjectResult);\
11640
+  ObjOperandId objId = reader.objOperandId();\
11641
+  writer.writeOperandId(objId);\
11642
+  writer.assertLengthMatches();\
11643
+}}\
11644
+\
11645
+void cloneLoadStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11646
+  writer.writeOp(CacheOp::LoadStringResult);\
11647
+  StringOperandId strId = reader.stringOperandId();\
11648
+  writer.writeOperandId(strId);\
11649
+  writer.assertLengthMatches();\
11650
+}}\
11651
+\
11652
+void cloneLoadSymbolResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11653
+  writer.writeOp(CacheOp::LoadSymbolResult);\
11654
+  SymbolOperandId symId = reader.symbolOperandId();\
11655
+  writer.writeOperandId(symId);\
11656
+  writer.assertLengthMatches();\
11657
+}}\
11658
+\
11659
+void cloneLoadInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
11660
+  writer.writeOp(CacheOp::LoadInt32Result);\
11661
+  Int32OperandId valId = reader.int32OperandId();\
11662
+  writer.writeOperandId(valId);\
11663
+  writer.assertLengthMatches();\
11664
+}}\
11665
+\
11666
+void cloneLoadDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11667
+  writer.writeOp(CacheOp::LoadDoubleResult);\
11668
+  NumberOperandId valId = reader.numberOperandId();\
11669
+  writer.writeOperandId(valId);\
11670
+  writer.assertLengthMatches();\
11671
+}}\
11672
+\
11673
+void cloneLoadBigIntResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11674
+  writer.writeOp(CacheOp::LoadBigIntResult);\
11675
+  BigIntOperandId valId = reader.bigIntOperandId();\
11676
+  writer.writeOperandId(valId);\
11677
+  writer.assertLengthMatches();\
11678
+}}\
11679
+\
11680
+void cloneCallScriptedGetterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11681
+  writer.writeOp(CacheOp::CallScriptedGetterResult);\
11682
+  ValOperandId receiverId = reader.valOperandId();\
11683
+  writer.writeOperandId(receiverId);\
11684
+  uint32_t getterOffset = reader.stubOffset();\
11685
+  JSObject* getter = getObjectField(getterOffset);\
11686
+  writer.writeObjectField(getter);\
11687
+  bool sameRealm = reader.readBool();\
11688
+  writer.writeBoolImm(sameRealm);\
11689
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
11690
+  uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
11691
+  writer.writeRawInt32Field(nargsAndFlags);\
11692
+  writer.assertLengthMatches();\
11693
+}}\
11694
+\
11695
+void cloneCallInlinedGetterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11696
+  writer.writeOp(CacheOp::CallInlinedGetterResult);\
11697
+  ValOperandId receiverId = reader.valOperandId();\
11698
+  writer.writeOperandId(receiverId);\
11699
+  uint32_t getterOffset = reader.stubOffset();\
11700
+  JSObject* getter = getObjectField(getterOffset);\
11701
+  writer.writeObjectField(getter);\
11702
+  uint32_t icScriptOffset = reader.stubOffset();\
11703
+  const void* icScript = getRawPointerField(icScriptOffset);\
11704
+  writer.writeRawPointerField(icScript);\
11705
+  bool sameRealm = reader.readBool();\
11706
+  writer.writeBoolImm(sameRealm);\
11707
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
11708
+  uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
11709
+  writer.writeRawInt32Field(nargsAndFlags);\
11710
+  writer.assertLengthMatches();\
11711
+}}\
11712
+\
11713
+void cloneCallNativeGetterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11714
+  writer.writeOp(CacheOp::CallNativeGetterResult);\
11715
+  ValOperandId receiverId = reader.valOperandId();\
11716
+  writer.writeOperandId(receiverId);\
11717
+  uint32_t getterOffset = reader.stubOffset();\
11718
+  JSObject* getter = getObjectField(getterOffset);\
11719
+  writer.writeObjectField(getter);\
11720
+  bool sameRealm = reader.readBool();\
11721
+  writer.writeBoolImm(sameRealm);\
11722
+  uint32_t nargsAndFlagsOffset = reader.stubOffset();\
11723
+  uint32_t nargsAndFlags = getRawInt32Field(nargsAndFlagsOffset);\
11724
+  writer.writeRawInt32Field(nargsAndFlags);\
11725
+  writer.assertLengthMatches();\
11726
+}}\
11727
+\
11728
+void cloneCallDOMGetterResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11729
+  writer.writeOp(CacheOp::CallDOMGetterResult);\
11730
+  ObjOperandId objId = reader.objOperandId();\
11731
+  writer.writeOperandId(objId);\
11732
+  uint32_t jitInfoOffset = reader.stubOffset();\
11733
+  const void* jitInfo = getRawPointerField(jitInfoOffset);\
11734
+  writer.writeRawPointerField(jitInfo);\
11735
+  writer.assertLengthMatches();\
11736
+}}\
11737
+\
11738
+void cloneProxyGetResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11739
+  writer.writeOp(CacheOp::ProxyGetResult);\
11740
+  ObjOperandId objId = reader.objOperandId();\
11741
+  writer.writeOperandId(objId);\
11742
+  uint32_t idOffset = reader.stubOffset();\
11743
+  jsid id = getIdField(idOffset);\
11744
+  writer.writeIdField(id);\
11745
+  writer.assertLengthMatches();\
11746
+}}\
11747
+\
11748
+void cloneProxyGetByValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11749
+  writer.writeOp(CacheOp::ProxyGetByValueResult);\
11750
+  ObjOperandId objId = reader.objOperandId();\
11751
+  writer.writeOperandId(objId);\
11752
+  ValOperandId idId = reader.valOperandId();\
11753
+  writer.writeOperandId(idId);\
11754
+  writer.assertLengthMatches();\
11755
+}}\
11756
+\
11757
+void cloneProxyHasPropResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11758
+  writer.writeOp(CacheOp::ProxyHasPropResult);\
11759
+  ObjOperandId objId = reader.objOperandId();\
11760
+  writer.writeOperandId(objId);\
11761
+  ValOperandId idId = reader.valOperandId();\
11762
+  writer.writeOperandId(idId);\
11763
+  bool hasOwn = reader.readBool();\
11764
+  writer.writeBoolImm(hasOwn);\
11765
+  writer.assertLengthMatches();\
11766
+}}\
11767
+\
11768
+void cloneCallObjectHasSparseElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11769
+  writer.writeOp(CacheOp::CallObjectHasSparseElementResult);\
11770
+  ObjOperandId objId = reader.objOperandId();\
11771
+  writer.writeOperandId(objId);\
11772
+  Int32OperandId indexId = reader.int32OperandId();\
11773
+  writer.writeOperandId(indexId);\
11774
+  writer.assertLengthMatches();\
11775
+}}\
11776
+\
11777
+void cloneCallNativeGetElementResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11778
+  writer.writeOp(CacheOp::CallNativeGetElementResult);\
11779
+  ObjOperandId objId = reader.objOperandId();\
11780
+  writer.writeOperandId(objId);\
11781
+  Int32OperandId indexId = reader.int32OperandId();\
11782
+  writer.writeOperandId(indexId);\
11783
+  writer.assertLengthMatches();\
11784
+}}\
11785
+\
11786
+void cloneGetNextMapSetEntryForIteratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11787
+  writer.writeOp(CacheOp::GetNextMapSetEntryForIteratorResult);\
11788
+  ObjOperandId iterId = reader.objOperandId();\
11789
+  writer.writeOperandId(iterId);\
11790
+  ObjOperandId resultArrId = reader.objOperandId();\
11791
+  writer.writeOperandId(resultArrId);\
11792
+  bool isMap = reader.readBool();\
11793
+  writer.writeBoolImm(isMap);\
11794
+  writer.assertLengthMatches();\
11795
+}}\
11796
+\
11797
+void cloneLoadUndefinedResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11798
+  writer.writeOp(CacheOp::LoadUndefinedResult);\
11799
+  writer.assertLengthMatches();\
11800
+}}\
11801
+\
11802
+void cloneLoadBooleanResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11803
+  writer.writeOp(CacheOp::LoadBooleanResult);\
11804
+  bool val = reader.readBool();\
11805
+  writer.writeBoolImm(val);\
11806
+  writer.assertLengthMatches();\
11807
+}}\
11808
+\
11809
+void cloneLoadInt32Constant(CacheIRReader& reader, CacheIRWriter& writer) {{\
11810
+  writer.writeOp(CacheOp::LoadInt32Constant);\
11811
+  uint32_t valOffset = reader.stubOffset();\
11812
+  uint32_t val = getRawInt32Field(valOffset);\
11813
+  writer.writeRawInt32Field(val);\
11814
+  Int32OperandId resultId = reader.int32OperandId();\
11815
+  writer.newOperandId();\
11816
+  writer.writeOperandId(resultId);\
11817
+  writer.assertLengthMatches();\
11818
+}}\
11819
+\
11820
+void cloneLoadBooleanConstant(CacheIRReader& reader, CacheIRWriter& writer) {{\
11821
+  writer.writeOp(CacheOp::LoadBooleanConstant);\
11822
+  bool val = reader.readBool();\
11823
+  writer.writeBoolImm(val);\
11824
+  BooleanOperandId resultId = reader.booleanOperandId();\
11825
+  writer.newOperandId();\
11826
+  writer.writeOperandId(resultId);\
11827
+  writer.assertLengthMatches();\
11828
+}}\
11829
+\
11830
+void cloneLoadUndefined(CacheIRReader& reader, CacheIRWriter& writer) {{\
11831
+  writer.writeOp(CacheOp::LoadUndefined);\
11832
+  ValOperandId resultId = reader.valOperandId();\
11833
+  writer.newOperandId();\
11834
+  writer.writeOperandId(resultId);\
11835
+  writer.assertLengthMatches();\
11836
+}}\
11837
+\
11838
+void cloneLoadConstantString(CacheIRReader& reader, CacheIRWriter& writer) {{\
11839
+  writer.writeOp(CacheOp::LoadConstantString);\
11840
+  uint32_t strOffset = reader.stubOffset();\
11841
+  JSString* str = getStringField(strOffset);\
11842
+  writer.writeStringField(str);\
11843
+  StringOperandId resultId = reader.stringOperandId();\
11844
+  writer.newOperandId();\
11845
+  writer.writeOperandId(resultId);\
11846
+  writer.assertLengthMatches();\
11847
+}}\
11848
+\
11849
+void cloneLoadConstantStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11850
+  writer.writeOp(CacheOp::LoadConstantStringResult);\
11851
+  uint32_t strOffset = reader.stubOffset();\
11852
+  JSString* str = getStringField(strOffset);\
11853
+  writer.writeStringField(str);\
11854
+  writer.assertLengthMatches();\
11855
+}}\
11856
+\
11857
+void cloneLoadInstanceOfObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11858
+  writer.writeOp(CacheOp::LoadInstanceOfObjectResult);\
11859
+  ValOperandId lhsId = reader.valOperandId();\
11860
+  writer.writeOperandId(lhsId);\
11861
+  ObjOperandId protoId = reader.objOperandId();\
11862
+  writer.writeOperandId(protoId);\
11863
+  writer.assertLengthMatches();\
11864
+}}\
11865
+\
11866
+void cloneLoadTypeOfObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11867
+  writer.writeOp(CacheOp::LoadTypeOfObjectResult);\
11868
+  ObjOperandId objId = reader.objOperandId();\
11869
+  writer.writeOperandId(objId);\
11870
+  writer.assertLengthMatches();\
11871
+}}\
11872
+\
11873
+void cloneDoubleAddResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11874
+  writer.writeOp(CacheOp::DoubleAddResult);\
11875
+  NumberOperandId lhsId = reader.numberOperandId();\
11876
+  writer.writeOperandId(lhsId);\
11877
+  NumberOperandId rhsId = reader.numberOperandId();\
11878
+  writer.writeOperandId(rhsId);\
11879
+  writer.assertLengthMatches();\
11880
+}}\
11881
+\
11882
+void cloneDoubleSubResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11883
+  writer.writeOp(CacheOp::DoubleSubResult);\
11884
+  NumberOperandId lhsId = reader.numberOperandId();\
11885
+  writer.writeOperandId(lhsId);\
11886
+  NumberOperandId rhsId = reader.numberOperandId();\
11887
+  writer.writeOperandId(rhsId);\
11888
+  writer.assertLengthMatches();\
11889
+}}\
11890
+\
11891
+void cloneDoubleMulResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11892
+  writer.writeOp(CacheOp::DoubleMulResult);\
11893
+  NumberOperandId lhsId = reader.numberOperandId();\
11894
+  writer.writeOperandId(lhsId);\
11895
+  NumberOperandId rhsId = reader.numberOperandId();\
11896
+  writer.writeOperandId(rhsId);\
11897
+  writer.assertLengthMatches();\
11898
+}}\
11899
+\
11900
+void cloneDoubleDivResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11901
+  writer.writeOp(CacheOp::DoubleDivResult);\
11902
+  NumberOperandId lhsId = reader.numberOperandId();\
11903
+  writer.writeOperandId(lhsId);\
11904
+  NumberOperandId rhsId = reader.numberOperandId();\
11905
+  writer.writeOperandId(rhsId);\
11906
+  writer.assertLengthMatches();\
11907
+}}\
11908
+\
11909
+void cloneDoubleModResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11910
+  writer.writeOp(CacheOp::DoubleModResult);\
11911
+  NumberOperandId lhsId = reader.numberOperandId();\
11912
+  writer.writeOperandId(lhsId);\
11913
+  NumberOperandId rhsId = reader.numberOperandId();\
11914
+  writer.writeOperandId(rhsId);\
11915
+  writer.assertLengthMatches();\
11916
+}}\
11917
+\
11918
+void cloneDoublePowResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11919
+  writer.writeOp(CacheOp::DoublePowResult);\
11920
+  NumberOperandId lhsId = reader.numberOperandId();\
11921
+  writer.writeOperandId(lhsId);\
11922
+  NumberOperandId rhsId = reader.numberOperandId();\
11923
+  writer.writeOperandId(rhsId);\
11924
+  writer.assertLengthMatches();\
11925
+}}\
11926
+\
11927
+void cloneInt32AddResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11928
+  writer.writeOp(CacheOp::Int32AddResult);\
11929
+  Int32OperandId lhsId = reader.int32OperandId();\
11930
+  writer.writeOperandId(lhsId);\
11931
+  Int32OperandId rhsId = reader.int32OperandId();\
11932
+  writer.writeOperandId(rhsId);\
11933
+  writer.assertLengthMatches();\
11934
+}}\
11935
+\
11936
+void cloneInt32SubResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11937
+  writer.writeOp(CacheOp::Int32SubResult);\
11938
+  Int32OperandId lhsId = reader.int32OperandId();\
11939
+  writer.writeOperandId(lhsId);\
11940
+  Int32OperandId rhsId = reader.int32OperandId();\
11941
+  writer.writeOperandId(rhsId);\
11942
+  writer.assertLengthMatches();\
11943
+}}\
11944
+\
11945
+void cloneInt32MulResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11946
+  writer.writeOp(CacheOp::Int32MulResult);\
11947
+  Int32OperandId lhsId = reader.int32OperandId();\
11948
+  writer.writeOperandId(lhsId);\
11949
+  Int32OperandId rhsId = reader.int32OperandId();\
11950
+  writer.writeOperandId(rhsId);\
11951
+  writer.assertLengthMatches();\
11952
+}}\
11953
+\
11954
+void cloneInt32DivResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11955
+  writer.writeOp(CacheOp::Int32DivResult);\
11956
+  Int32OperandId lhsId = reader.int32OperandId();\
11957
+  writer.writeOperandId(lhsId);\
11958
+  Int32OperandId rhsId = reader.int32OperandId();\
11959
+  writer.writeOperandId(rhsId);\
11960
+  writer.assertLengthMatches();\
11961
+}}\
11962
+\
11963
+void cloneInt32ModResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11964
+  writer.writeOp(CacheOp::Int32ModResult);\
11965
+  Int32OperandId lhsId = reader.int32OperandId();\
11966
+  writer.writeOperandId(lhsId);\
11967
+  Int32OperandId rhsId = reader.int32OperandId();\
11968
+  writer.writeOperandId(rhsId);\
11969
+  writer.assertLengthMatches();\
11970
+}}\
11971
+\
11972
+void cloneInt32PowResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11973
+  writer.writeOp(CacheOp::Int32PowResult);\
11974
+  Int32OperandId lhsId = reader.int32OperandId();\
11975
+  writer.writeOperandId(lhsId);\
11976
+  Int32OperandId rhsId = reader.int32OperandId();\
11977
+  writer.writeOperandId(rhsId);\
11978
+  writer.assertLengthMatches();\
11979
+}}\
11980
+\
11981
+void cloneBigIntAddResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11982
+  writer.writeOp(CacheOp::BigIntAddResult);\
11983
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
11984
+  writer.writeOperandId(lhsId);\
11985
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
11986
+  writer.writeOperandId(rhsId);\
11987
+  writer.assertLengthMatches();\
11988
+}}\
11989
+\
11990
+void cloneBigIntSubResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
11991
+  writer.writeOp(CacheOp::BigIntSubResult);\
11992
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
11993
+  writer.writeOperandId(lhsId);\
11994
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
11995
+  writer.writeOperandId(rhsId);\
11996
+  writer.assertLengthMatches();\
11997
+}}\
11998
+\
11999
+void cloneBigIntMulResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12000
+  writer.writeOp(CacheOp::BigIntMulResult);\
12001
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12002
+  writer.writeOperandId(lhsId);\
12003
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12004
+  writer.writeOperandId(rhsId);\
12005
+  writer.assertLengthMatches();\
12006
+}}\
12007
+\
12008
+void cloneBigIntDivResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12009
+  writer.writeOp(CacheOp::BigIntDivResult);\
12010
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12011
+  writer.writeOperandId(lhsId);\
12012
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12013
+  writer.writeOperandId(rhsId);\
12014
+  writer.assertLengthMatches();\
12015
+}}\
12016
+\
12017
+void cloneBigIntModResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12018
+  writer.writeOp(CacheOp::BigIntModResult);\
12019
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12020
+  writer.writeOperandId(lhsId);\
12021
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12022
+  writer.writeOperandId(rhsId);\
12023
+  writer.assertLengthMatches();\
12024
+}}\
12025
+\
12026
+void cloneBigIntPowResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12027
+  writer.writeOp(CacheOp::BigIntPowResult);\
12028
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12029
+  writer.writeOperandId(lhsId);\
12030
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12031
+  writer.writeOperandId(rhsId);\
12032
+  writer.assertLengthMatches();\
12033
+}}\
12034
+\
12035
+void cloneInt32BitOrResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12036
+  writer.writeOp(CacheOp::Int32BitOrResult);\
12037
+  Int32OperandId lhsId = reader.int32OperandId();\
12038
+  writer.writeOperandId(lhsId);\
12039
+  Int32OperandId rhsId = reader.int32OperandId();\
12040
+  writer.writeOperandId(rhsId);\
12041
+  writer.assertLengthMatches();\
12042
+}}\
12043
+\
12044
+void cloneInt32BitXorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12045
+  writer.writeOp(CacheOp::Int32BitXorResult);\
12046
+  Int32OperandId lhsId = reader.int32OperandId();\
12047
+  writer.writeOperandId(lhsId);\
12048
+  Int32OperandId rhsId = reader.int32OperandId();\
12049
+  writer.writeOperandId(rhsId);\
12050
+  writer.assertLengthMatches();\
12051
+}}\
12052
+\
12053
+void cloneInt32BitAndResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12054
+  writer.writeOp(CacheOp::Int32BitAndResult);\
12055
+  Int32OperandId lhsId = reader.int32OperandId();\
12056
+  writer.writeOperandId(lhsId);\
12057
+  Int32OperandId rhsId = reader.int32OperandId();\
12058
+  writer.writeOperandId(rhsId);\
12059
+  writer.assertLengthMatches();\
12060
+}}\
12061
+\
12062
+void cloneInt32LeftShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12063
+  writer.writeOp(CacheOp::Int32LeftShiftResult);\
12064
+  Int32OperandId lhsId = reader.int32OperandId();\
12065
+  writer.writeOperandId(lhsId);\
12066
+  Int32OperandId rhsId = reader.int32OperandId();\
12067
+  writer.writeOperandId(rhsId);\
12068
+  writer.assertLengthMatches();\
12069
+}}\
12070
+\
12071
+void cloneInt32RightShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12072
+  writer.writeOp(CacheOp::Int32RightShiftResult);\
12073
+  Int32OperandId lhsId = reader.int32OperandId();\
12074
+  writer.writeOperandId(lhsId);\
12075
+  Int32OperandId rhsId = reader.int32OperandId();\
12076
+  writer.writeOperandId(rhsId);\
12077
+  writer.assertLengthMatches();\
12078
+}}\
12079
+\
12080
+void cloneInt32URightShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12081
+  writer.writeOp(CacheOp::Int32URightShiftResult);\
12082
+  Int32OperandId lhsId = reader.int32OperandId();\
12083
+  writer.writeOperandId(lhsId);\
12084
+  Int32OperandId rhsId = reader.int32OperandId();\
12085
+  writer.writeOperandId(rhsId);\
12086
+  bool forceDouble = reader.readBool();\
12087
+  writer.writeBoolImm(forceDouble);\
12088
+  writer.assertLengthMatches();\
12089
+}}\
12090
+\
12091
+void cloneInt32NotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12092
+  writer.writeOp(CacheOp::Int32NotResult);\
12093
+  Int32OperandId inputId = reader.int32OperandId();\
12094
+  writer.writeOperandId(inputId);\
12095
+  writer.assertLengthMatches();\
12096
+}}\
12097
+\
12098
+void cloneBigIntBitOrResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12099
+  writer.writeOp(CacheOp::BigIntBitOrResult);\
12100
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12101
+  writer.writeOperandId(lhsId);\
12102
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12103
+  writer.writeOperandId(rhsId);\
12104
+  writer.assertLengthMatches();\
12105
+}}\
12106
+\
12107
+void cloneBigIntBitXorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12108
+  writer.writeOp(CacheOp::BigIntBitXorResult);\
12109
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12110
+  writer.writeOperandId(lhsId);\
12111
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12112
+  writer.writeOperandId(rhsId);\
12113
+  writer.assertLengthMatches();\
12114
+}}\
12115
+\
12116
+void cloneBigIntBitAndResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12117
+  writer.writeOp(CacheOp::BigIntBitAndResult);\
12118
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12119
+  writer.writeOperandId(lhsId);\
12120
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12121
+  writer.writeOperandId(rhsId);\
12122
+  writer.assertLengthMatches();\
12123
+}}\
12124
+\
12125
+void cloneBigIntLeftShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12126
+  writer.writeOp(CacheOp::BigIntLeftShiftResult);\
12127
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12128
+  writer.writeOperandId(lhsId);\
12129
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12130
+  writer.writeOperandId(rhsId);\
12131
+  writer.assertLengthMatches();\
12132
+}}\
12133
+\
12134
+void cloneBigIntRightShiftResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12135
+  writer.writeOp(CacheOp::BigIntRightShiftResult);\
12136
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12137
+  writer.writeOperandId(lhsId);\
12138
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12139
+  writer.writeOperandId(rhsId);\
12140
+  writer.assertLengthMatches();\
12141
+}}\
12142
+\
12143
+void cloneBigIntNotResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12144
+  writer.writeOp(CacheOp::BigIntNotResult);\
12145
+  BigIntOperandId inputId = reader.bigIntOperandId();\
12146
+  writer.writeOperandId(inputId);\
12147
+  writer.assertLengthMatches();\
12148
+}}\
12149
+\
12150
+void cloneInt32NegationResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12151
+  writer.writeOp(CacheOp::Int32NegationResult);\
12152
+  Int32OperandId inputId = reader.int32OperandId();\
12153
+  writer.writeOperandId(inputId);\
12154
+  writer.assertLengthMatches();\
12155
+}}\
12156
+\
12157
+void cloneDoubleNegationResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12158
+  writer.writeOp(CacheOp::DoubleNegationResult);\
12159
+  NumberOperandId inputId = reader.numberOperandId();\
12160
+  writer.writeOperandId(inputId);\
12161
+  writer.assertLengthMatches();\
12162
+}}\
12163
+\
12164
+void cloneBigIntNegationResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12165
+  writer.writeOp(CacheOp::BigIntNegationResult);\
12166
+  BigIntOperandId inputId = reader.bigIntOperandId();\
12167
+  writer.writeOperandId(inputId);\
12168
+  writer.assertLengthMatches();\
12169
+}}\
12170
+\
12171
+void cloneInt32IncResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12172
+  writer.writeOp(CacheOp::Int32IncResult);\
12173
+  Int32OperandId inputId = reader.int32OperandId();\
12174
+  writer.writeOperandId(inputId);\
12175
+  writer.assertLengthMatches();\
12176
+}}\
12177
+\
12178
+void cloneInt32DecResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12179
+  writer.writeOp(CacheOp::Int32DecResult);\
12180
+  Int32OperandId inputId = reader.int32OperandId();\
12181
+  writer.writeOperandId(inputId);\
12182
+  writer.assertLengthMatches();\
12183
+}}\
12184
+\
12185
+void cloneDoubleIncResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12186
+  writer.writeOp(CacheOp::DoubleIncResult);\
12187
+  NumberOperandId inputId = reader.numberOperandId();\
12188
+  writer.writeOperandId(inputId);\
12189
+  writer.assertLengthMatches();\
12190
+}}\
12191
+\
12192
+void cloneDoubleDecResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12193
+  writer.writeOp(CacheOp::DoubleDecResult);\
12194
+  NumberOperandId inputId = reader.numberOperandId();\
12195
+  writer.writeOperandId(inputId);\
12196
+  writer.assertLengthMatches();\
12197
+}}\
12198
+\
12199
+void cloneBigIntIncResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12200
+  writer.writeOp(CacheOp::BigIntIncResult);\
12201
+  BigIntOperandId inputId = reader.bigIntOperandId();\
12202
+  writer.writeOperandId(inputId);\
12203
+  writer.assertLengthMatches();\
12204
+}}\
12205
+\
12206
+void cloneBigIntDecResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12207
+  writer.writeOp(CacheOp::BigIntDecResult);\
12208
+  BigIntOperandId inputId = reader.bigIntOperandId();\
12209
+  writer.writeOperandId(inputId);\
12210
+  writer.assertLengthMatches();\
12211
+}}\
12212
+\
12213
+void cloneLoadInt32TruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12214
+  writer.writeOp(CacheOp::LoadInt32TruthyResult);\
12215
+  ValOperandId inputId = reader.valOperandId();\
12216
+  writer.writeOperandId(inputId);\
12217
+  writer.assertLengthMatches();\
12218
+}}\
12219
+\
12220
+void cloneLoadDoubleTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12221
+  writer.writeOp(CacheOp::LoadDoubleTruthyResult);\
12222
+  NumberOperandId inputId = reader.numberOperandId();\
12223
+  writer.writeOperandId(inputId);\
12224
+  writer.assertLengthMatches();\
12225
+}}\
12226
+\
12227
+void cloneLoadStringTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12228
+  writer.writeOp(CacheOp::LoadStringTruthyResult);\
12229
+  StringOperandId strId = reader.stringOperandId();\
12230
+  writer.writeOperandId(strId);\
12231
+  writer.assertLengthMatches();\
12232
+}}\
12233
+\
12234
+void cloneLoadObjectTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12235
+  writer.writeOp(CacheOp::LoadObjectTruthyResult);\
12236
+  ObjOperandId objId = reader.objOperandId();\
12237
+  writer.writeOperandId(objId);\
12238
+  writer.assertLengthMatches();\
12239
+}}\
12240
+\
12241
+void cloneLoadBigIntTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12242
+  writer.writeOp(CacheOp::LoadBigIntTruthyResult);\
12243
+  BigIntOperandId bigIntId = reader.bigIntOperandId();\
12244
+  writer.writeOperandId(bigIntId);\
12245
+  writer.assertLengthMatches();\
12246
+}}\
12247
+\
12248
+void cloneLoadValueTruthyResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12249
+  writer.writeOp(CacheOp::LoadValueTruthyResult);\
12250
+  ValOperandId inputId = reader.valOperandId();\
12251
+  writer.writeOperandId(inputId);\
12252
+  writer.assertLengthMatches();\
12253
+}}\
12254
+\
12255
+void cloneLoadValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12256
+  writer.writeOp(CacheOp::LoadValueResult);\
12257
+  uint32_t valOffset = reader.stubOffset();\
12258
+  const Value val = getValueField(valOffset);\
12259
+  writer.writeValueField(val);\
12260
+  writer.assertLengthMatches();\
12261
+}}\
12262
+\
12263
+void cloneLoadOperandResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12264
+  writer.writeOp(CacheOp::LoadOperandResult);\
12265
+  ValOperandId inputId = reader.valOperandId();\
12266
+  writer.writeOperandId(inputId);\
12267
+  writer.assertLengthMatches();\
12268
+}}\
12269
+\
12270
+void cloneNewPlainObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12271
+  writer.writeOp(CacheOp::NewPlainObjectResult);\
12272
+  uint32_t numFixedSlots = reader.uint32Immediate();\
12273
+  writer.writeUInt32Imm(numFixedSlots);\
12274
+  uint32_t numDynamicSlots = reader.uint32Immediate();\
12275
+  writer.writeUInt32Imm(numDynamicSlots);\
12276
+  gc::AllocKind allocKind = reader.allocKind();\
12277
+  writer.writeAllocKindImm(allocKind);\
12278
+  uint32_t shapeOffset = reader.stubOffset();\
12279
+  Shape* shape = getShapeField(shapeOffset);\
12280
+  writer.writeShapeField(shape);\
12281
+  uint32_t siteOffset = reader.stubOffset();\
12282
+  gc::AllocSite* site = getAllocSiteField(siteOffset);\
12283
+  writer.writeAllocSiteField(site);\
12284
+  writer.assertLengthMatches();\
12285
+}}\
12286
+\
12287
+void cloneNewArrayObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12288
+  writer.writeOp(CacheOp::NewArrayObjectResult);\
12289
+  uint32_t arrayLength = reader.uint32Immediate();\
12290
+  writer.writeUInt32Imm(arrayLength);\
12291
+  uint32_t shapeOffset = reader.stubOffset();\
12292
+  Shape* shape = getShapeField(shapeOffset);\
12293
+  writer.writeShapeField(shape);\
12294
+  uint32_t siteOffset = reader.stubOffset();\
12295
+  gc::AllocSite* site = getAllocSiteField(siteOffset);\
12296
+  writer.writeAllocSiteField(site);\
12297
+  writer.assertLengthMatches();\
12298
+}}\
12299
+\
12300
+void cloneCallStringConcatResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12301
+  writer.writeOp(CacheOp::CallStringConcatResult);\
12302
+  StringOperandId lhsId = reader.stringOperandId();\
12303
+  writer.writeOperandId(lhsId);\
12304
+  StringOperandId rhsId = reader.stringOperandId();\
12305
+  writer.writeOperandId(rhsId);\
12306
+  writer.assertLengthMatches();\
12307
+}}\
12308
+\
12309
+void cloneCallStringObjectConcatResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12310
+  writer.writeOp(CacheOp::CallStringObjectConcatResult);\
12311
+  ValOperandId lhsId = reader.valOperandId();\
12312
+  writer.writeOperandId(lhsId);\
12313
+  ValOperandId rhsId = reader.valOperandId();\
12314
+  writer.writeOperandId(rhsId);\
12315
+  writer.assertLengthMatches();\
12316
+}}\
12317
+\
12318
+void cloneCallIsSuspendedGeneratorResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12319
+  writer.writeOp(CacheOp::CallIsSuspendedGeneratorResult);\
12320
+  ValOperandId valId = reader.valOperandId();\
12321
+  writer.writeOperandId(valId);\
12322
+  writer.assertLengthMatches();\
12323
+}}\
12324
+\
12325
+void cloneCompareStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12326
+  writer.writeOp(CacheOp::CompareStringResult);\
12327
+  JSOp op = reader.jsop();\
12328
+  writer.writeJSOpImm(op);\
12329
+  StringOperandId lhsId = reader.stringOperandId();\
12330
+  writer.writeOperandId(lhsId);\
12331
+  StringOperandId rhsId = reader.stringOperandId();\
12332
+  writer.writeOperandId(rhsId);\
12333
+  writer.assertLengthMatches();\
12334
+}}\
12335
+\
12336
+void cloneCompareObjectResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12337
+  writer.writeOp(CacheOp::CompareObjectResult);\
12338
+  JSOp op = reader.jsop();\
12339
+  writer.writeJSOpImm(op);\
12340
+  ObjOperandId lhsId = reader.objOperandId();\
12341
+  writer.writeOperandId(lhsId);\
12342
+  ObjOperandId rhsId = reader.objOperandId();\
12343
+  writer.writeOperandId(rhsId);\
12344
+  writer.assertLengthMatches();\
12345
+}}\
12346
+\
12347
+void cloneCompareSymbolResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12348
+  writer.writeOp(CacheOp::CompareSymbolResult);\
12349
+  JSOp op = reader.jsop();\
12350
+  writer.writeJSOpImm(op);\
12351
+  SymbolOperandId lhsId = reader.symbolOperandId();\
12352
+  writer.writeOperandId(lhsId);\
12353
+  SymbolOperandId rhsId = reader.symbolOperandId();\
12354
+  writer.writeOperandId(rhsId);\
12355
+  writer.assertLengthMatches();\
12356
+}}\
12357
+\
12358
+void cloneCompareInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
12359
+  writer.writeOp(CacheOp::CompareInt32Result);\
12360
+  JSOp op = reader.jsop();\
12361
+  writer.writeJSOpImm(op);\
12362
+  Int32OperandId lhsId = reader.int32OperandId();\
12363
+  writer.writeOperandId(lhsId);\
12364
+  Int32OperandId rhsId = reader.int32OperandId();\
12365
+  writer.writeOperandId(rhsId);\
12366
+  writer.assertLengthMatches();\
12367
+}}\
12368
+\
12369
+void cloneCompareDoubleResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12370
+  writer.writeOp(CacheOp::CompareDoubleResult);\
12371
+  JSOp op = reader.jsop();\
12372
+  writer.writeJSOpImm(op);\
12373
+  NumberOperandId lhsId = reader.numberOperandId();\
12374
+  writer.writeOperandId(lhsId);\
12375
+  NumberOperandId rhsId = reader.numberOperandId();\
12376
+  writer.writeOperandId(rhsId);\
12377
+  writer.assertLengthMatches();\
12378
+}}\
12379
+\
12380
+void cloneCompareBigIntResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12381
+  writer.writeOp(CacheOp::CompareBigIntResult);\
12382
+  JSOp op = reader.jsop();\
12383
+  writer.writeJSOpImm(op);\
12384
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12385
+  writer.writeOperandId(lhsId);\
12386
+  BigIntOperandId rhsId = reader.bigIntOperandId();\
12387
+  writer.writeOperandId(rhsId);\
12388
+  writer.assertLengthMatches();\
12389
+}}\
12390
+\
12391
+void cloneCompareBigIntInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
12392
+  writer.writeOp(CacheOp::CompareBigIntInt32Result);\
12393
+  JSOp op = reader.jsop();\
12394
+  writer.writeJSOpImm(op);\
12395
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12396
+  writer.writeOperandId(lhsId);\
12397
+  Int32OperandId rhsId = reader.int32OperandId();\
12398
+  writer.writeOperandId(rhsId);\
12399
+  writer.assertLengthMatches();\
12400
+}}\
12401
+\
12402
+void cloneCompareBigIntNumberResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12403
+  writer.writeOp(CacheOp::CompareBigIntNumberResult);\
12404
+  JSOp op = reader.jsop();\
12405
+  writer.writeJSOpImm(op);\
12406
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12407
+  writer.writeOperandId(lhsId);\
12408
+  NumberOperandId rhsId = reader.numberOperandId();\
12409
+  writer.writeOperandId(rhsId);\
12410
+  writer.assertLengthMatches();\
12411
+}}\
12412
+\
12413
+void cloneCompareBigIntStringResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12414
+  writer.writeOp(CacheOp::CompareBigIntStringResult);\
12415
+  JSOp op = reader.jsop();\
12416
+  writer.writeJSOpImm(op);\
12417
+  BigIntOperandId lhsId = reader.bigIntOperandId();\
12418
+  writer.writeOperandId(lhsId);\
12419
+  StringOperandId rhsId = reader.stringOperandId();\
12420
+  writer.writeOperandId(rhsId);\
12421
+  writer.assertLengthMatches();\
12422
+}}\
12423
+\
12424
+void cloneCompareNullUndefinedResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12425
+  writer.writeOp(CacheOp::CompareNullUndefinedResult);\
12426
+  JSOp op = reader.jsop();\
12427
+  writer.writeJSOpImm(op);\
12428
+  bool isUndefined = reader.readBool();\
12429
+  writer.writeBoolImm(isUndefined);\
12430
+  ValOperandId inputId = reader.valOperandId();\
12431
+  writer.writeOperandId(inputId);\
12432
+  writer.assertLengthMatches();\
12433
+}}\
12434
+\
12435
+void cloneCompareDoubleSameValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12436
+  writer.writeOp(CacheOp::CompareDoubleSameValueResult);\
12437
+  NumberOperandId lhsId = reader.numberOperandId();\
12438
+  writer.writeOperandId(lhsId);\
12439
+  NumberOperandId rhsId = reader.numberOperandId();\
12440
+  writer.writeOperandId(rhsId);\
12441
+  writer.assertLengthMatches();\
12442
+}}\
12443
+\
12444
+void cloneSameValueResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12445
+  writer.writeOp(CacheOp::SameValueResult);\
12446
+  ValOperandId lhsId = reader.valOperandId();\
12447
+  writer.writeOperandId(lhsId);\
12448
+  ValOperandId rhsId = reader.valOperandId();\
12449
+  writer.writeOperandId(rhsId);\
12450
+  writer.assertLengthMatches();\
12451
+}}\
12452
+\
12453
+void cloneIndirectTruncateInt32Result(CacheIRReader& reader, CacheIRWriter& writer) {{\
12454
+  writer.writeOp(CacheOp::IndirectTruncateInt32Result);\
12455
+  Int32OperandId valId = reader.int32OperandId();\
12456
+  writer.writeOperandId(valId);\
12457
+  writer.assertLengthMatches();\
12458
+}}\
12459
+\
12460
+void cloneBigIntAsIntNResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12461
+  writer.writeOp(CacheOp::BigIntAsIntNResult);\
12462
+  Int32OperandId bitsId = reader.int32OperandId();\
12463
+  writer.writeOperandId(bitsId);\
12464
+  BigIntOperandId bigIntId = reader.bigIntOperandId();\
12465
+  writer.writeOperandId(bigIntId);\
12466
+  writer.assertLengthMatches();\
12467
+}}\
12468
+\
12469
+void cloneBigIntAsUintNResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12470
+  writer.writeOp(CacheOp::BigIntAsUintNResult);\
12471
+  Int32OperandId bitsId = reader.int32OperandId();\
12472
+  writer.writeOperandId(bitsId);\
12473
+  BigIntOperandId bigIntId = reader.bigIntOperandId();\
12474
+  writer.writeOperandId(bigIntId);\
12475
+  writer.assertLengthMatches();\
12476
+}}\
12477
+\
12478
+void cloneCallPrintString(CacheIRReader& reader, CacheIRWriter& writer) {{\
12479
+  writer.writeOp(CacheOp::CallPrintString);\
12480
+  const char* str = reinterpret_cast<char*>(reader.pointer());\
12481
+  writer.writeStaticStringImm(str);\
12482
+  writer.assertLengthMatches();\
12483
+}}\
12484
+\
12485
+void cloneBreakpoint(CacheIRReader& reader, CacheIRWriter& writer) {{\
12486
+  writer.writeOp(CacheOp::Breakpoint);\
12487
+  writer.assertLengthMatches();\
12488
+}}\
12489
+\
12490
+void cloneWrapResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12491
+  writer.writeOp(CacheOp::WrapResult);\
12492
+  writer.assertLengthMatches();\
12493
+}}\
12494
+\
12495
+void cloneBailout(CacheIRReader& reader, CacheIRWriter& writer) {{\
12496
+  writer.writeOp(CacheOp::Bailout);\
12497
+  writer.assertLengthMatches();\
12498
+}}\
12499
+\
12500
+void cloneAssertRecoveredOnBailoutResult(CacheIRReader& reader, CacheIRWriter& writer) {{\
12501
+  writer.writeOp(CacheOp::AssertRecoveredOnBailoutResult);\
12502
+  ValOperandId valId = reader.valOperandId();\
12503
+  writer.writeOperandId(valId);\
12504
+  bool mustBeRecovered = reader.readBool();\
12505
+  writer.writeBoolImm(mustBeRecovered);\
12506
+  writer.assertLengthMatches();\
12507
+}}\
12508
+
12509
+
12510
+
12511
+
12512
+#endif // jit_CacheIROpsGenerated_h
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_LOpcodesGenerated.h (-571 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/include/jit/LOpcodesGenerated.h.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/include/jit/LOpcodesGenerated.h
3
@@ -0,0 +1,568 @@
4
+/* This Source Code Form is subject to the terms of the Mozilla Public
5
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
6
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7
+
8
+#ifndef jit_LOpcodesGenerated_h
9
+#define jit_LOpcodesGenerated_h
10
+
11
+/* This file is generated by jit/GenerateOpcodeFiles.py. Do not edit! */
12
+
13
+#define LIR_OPCODE_LIST(_) \
14
+_(Phi)\
15
+_(Box)\
16
+_(OsiPoint)\
17
+_(MoveGroup)\
18
+_(Integer)\
19
+_(Integer64)\
20
+_(Pointer)\
21
+_(Double)\
22
+_(Float32)\
23
+_(Value)\
24
+_(NurseryObject)\
25
+_(Parameter)\
26
+_(Callee)\
27
+_(IsConstructing)\
28
+_(Goto)\
29
+_(NewArray)\
30
+_(NewArrayDynamicLength)\
31
+_(NewIterator)\
32
+_(NewTypedArray)\
33
+_(NewTypedArrayDynamicLength)\
34
+_(NewTypedArrayFromArray)\
35
+_(NewTypedArrayFromArrayBuffer)\
36
+_(NewObject)\
37
+_(NewPlainObject)\
38
+_(NewArrayObject)\
39
+_(NewNamedLambdaObject)\
40
+_(NewCallObject)\
41
+_(NewStringObject)\
42
+_(InitElemGetterSetter)\
43
+_(MutateProto)\
44
+_(InitPropGetterSetter)\
45
+_(CheckOverRecursed)\
46
+_(WasmTrap)\
47
+_(WasmReinterpret)\
48
+_(WasmReinterpretFromI64)\
49
+_(WasmReinterpretToI64)\
50
+_(Rotate)\
51
+_(RotateI64)\
52
+_(InterruptCheck)\
53
+_(WasmInterruptCheck)\
54
+_(TypeOfV)\
55
+_(TypeOfO)\
56
+_(ToAsyncIter)\
57
+_(ToPropertyKeyCache)\
58
+_(CreateThis)\
59
+_(CreateThisWithTemplate)\
60
+_(CreateArgumentsObject)\
61
+_(CreateInlinedArgumentsObject)\
62
+_(GetInlinedArgument)\
63
+_(GetArgumentsObjectArg)\
64
+_(SetArgumentsObjectArg)\
65
+_(LoadArgumentsObjectArg)\
66
+_(ArgumentsObjectLength)\
67
+_(GuardArgumentsObjectFlags)\
68
+_(ReturnFromCtor)\
69
+_(BoxNonStrictThis)\
70
+_(ImplicitThis)\
71
+_(StackArgT)\
72
+_(StackArgV)\
73
+_(CallGeneric)\
74
+_(CallKnown)\
75
+_(CallNative)\
76
+_(CallDOMNative)\
77
+_(Bail)\
78
+_(Unreachable)\
79
+_(EncodeSnapshot)\
80
+_(UnreachableResultV)\
81
+_(UnreachableResultT)\
82
+_(GetDOMProperty)\
83
+_(GetDOMMemberV)\
84
+_(GetDOMMemberT)\
85
+_(SetDOMProperty)\
86
+_(LoadDOMExpandoValue)\
87
+_(LoadDOMExpandoValueGuardGeneration)\
88
+_(LoadDOMExpandoValueIgnoreGeneration)\
89
+_(GuardDOMExpandoMissingOrGuardShape)\
90
+_(ApplyArgsGeneric)\
91
+_(ApplyArgsObj)\
92
+_(ApplyArrayGeneric)\
93
+_(ConstructArrayGeneric)\
94
+_(TestIAndBranch)\
95
+_(TestI64AndBranch)\
96
+_(TestDAndBranch)\
97
+_(TestFAndBranch)\
98
+_(TestBIAndBranch)\
99
+_(TestOAndBranch)\
100
+_(TestVAndBranch)\
101
+_(Compare)\
102
+_(CompareI64)\
103
+_(CompareI64AndBranch)\
104
+_(CompareAndBranch)\
105
+_(CompareD)\
106
+_(CompareF)\
107
+_(CompareDAndBranch)\
108
+_(CompareFAndBranch)\
109
+_(CompareS)\
110
+_(CompareBigInt)\
111
+_(CompareBigIntInt32)\
112
+_(CompareBigIntDouble)\
113
+_(CompareBigIntString)\
114
+_(BitAndAndBranch)\
115
+_(IsNullOrLikeUndefinedV)\
116
+_(IsNullOrLikeUndefinedT)\
117
+_(IsNullOrLikeUndefinedAndBranchV)\
118
+_(IsNullOrLikeUndefinedAndBranchT)\
119
+_(SameValueDouble)\
120
+_(SameValue)\
121
+_(NotI)\
122
+_(NotI64)\
123
+_(NotD)\
124
+_(NotF)\
125
+_(NotBI)\
126
+_(NotO)\
127
+_(NotV)\
128
+_(BitNotI)\
129
+_(BitOpI)\
130
+_(BitOpI64)\
131
+_(ShiftI)\
132
+_(ShiftI64)\
133
+_(SignExtendInt32)\
134
+_(SignExtendInt64)\
135
+_(UrshD)\
136
+_(Return)\
137
+_(Throw)\
138
+_(MinMaxI)\
139
+_(MinMaxD)\
140
+_(MinMaxF)\
141
+_(MinMaxArrayI)\
142
+_(MinMaxArrayD)\
143
+_(NegI)\
144
+_(NegI64)\
145
+_(NegD)\
146
+_(NegF)\
147
+_(AbsI)\
148
+_(AbsD)\
149
+_(AbsF)\
150
+_(CopySignD)\
151
+_(CopySignF)\
152
+_(ClzI)\
153
+_(ClzI64)\
154
+_(CtzI)\
155
+_(CtzI64)\
156
+_(PopcntI)\
157
+_(PopcntI64)\
158
+_(SqrtD)\
159
+_(SqrtF)\
160
+_(Atan2D)\
161
+_(Hypot)\
162
+_(PowI)\
163
+_(PowII)\
164
+_(PowD)\
165
+_(PowOfTwoI)\
166
+_(SignI)\
167
+_(SignD)\
168
+_(SignDI)\
169
+_(MathFunctionD)\
170
+_(MathFunctionF)\
171
+_(AddI)\
172
+_(AddI64)\
173
+_(SubI)\
174
+_(SubI64)\
175
+_(MulI64)\
176
+_(MathD)\
177
+_(MathF)\
178
+_(ModD)\
179
+_(ModPowTwoD)\
180
+_(WasmBuiltinModD)\
181
+_(BigIntAdd)\
182
+_(BigIntSub)\
183
+_(BigIntMul)\
184
+_(BigIntDiv)\
185
+_(BigIntMod)\
186
+_(BigIntPow)\
187
+_(BigIntBitAnd)\
188
+_(BigIntBitOr)\
189
+_(BigIntBitXor)\
190
+_(BigIntLsh)\
191
+_(BigIntRsh)\
192
+_(BigIntIncrement)\
193
+_(BigIntDecrement)\
194
+_(BigIntNegate)\
195
+_(BigIntBitNot)\
196
+_(Concat)\
197
+_(CharCodeAt)\
198
+_(FromCharCode)\
199
+_(FromCodePoint)\
200
+_(StringConvertCase)\
201
+_(StringSplit)\
202
+_(Substr)\
203
+_(Int32ToDouble)\
204
+_(Float32ToDouble)\
205
+_(DoubleToFloat32)\
206
+_(Int32ToFloat32)\
207
+_(ValueToDouble)\
208
+_(ValueToFloat32)\
209
+_(ValueToInt32)\
210
+_(ValueToBigInt)\
211
+_(DoubleToInt32)\
212
+_(Float32ToInt32)\
213
+_(DoubleToIntegerInt32)\
214
+_(Float32ToIntegerInt32)\
215
+_(TruncateDToInt32)\
216
+_(WasmBuiltinTruncateDToInt32)\
217
+_(TruncateFToInt32)\
218
+_(WasmBuiltinTruncateFToInt32)\
219
+_(WasmTruncateToInt32)\
220
+_(WrapInt64ToInt32)\
221
+_(ExtendInt32ToInt64)\
222
+_(BooleanToString)\
223
+_(IntToString)\
224
+_(DoubleToString)\
225
+_(ValueToString)\
226
+_(PowHalfD)\
227
+_(NaNToZero)\
228
+_(OsrEntry)\
229
+_(OsrValue)\
230
+_(OsrEnvironmentChain)\
231
+_(OsrReturnValue)\
232
+_(OsrArgumentsObject)\
233
+_(RegExp)\
234
+_(RegExpMatcher)\
235
+_(RegExpSearcher)\
236
+_(RegExpTester)\
237
+_(RegExpPrototypeOptimizable)\
238
+_(RegExpInstanceOptimizable)\
239
+_(GetFirstDollarIndex)\
240
+_(StringReplace)\
241
+_(BinaryValueCache)\
242
+_(BinaryBoolCache)\
243
+_(UnaryCache)\
244
+_(ModuleMetadata)\
245
+_(DynamicImport)\
246
+_(Lambda)\
247
+_(LambdaArrow)\
248
+_(FunctionWithProto)\
249
+_(SetFunName)\
250
+_(KeepAliveObject)\
251
+_(Slots)\
252
+_(Elements)\
253
+_(InitializedLength)\
254
+_(SetInitializedLength)\
255
+_(ArrayLength)\
256
+_(SetArrayLength)\
257
+_(FunctionLength)\
258
+_(FunctionName)\
259
+_(GetNextEntryForIterator)\
260
+_(ArrayBufferByteLength)\
261
+_(ArrayBufferViewLength)\
262
+_(ArrayBufferViewByteOffset)\
263
+_(ArrayBufferViewElements)\
264
+_(TypedArrayElementSize)\
265
+_(GuardHasAttachedArrayBuffer)\
266
+_(GuardNumberToIntPtrIndex)\
267
+_(BoundsCheck)\
268
+_(BoundsCheckRange)\
269
+_(BoundsCheckLower)\
270
+_(SpectreMaskIndex)\
271
+_(LoadElementV)\
272
+_(InArray)\
273
+_(GuardElementNotHole)\
274
+_(LoadElementHole)\
275
+_(StoreElementV)\
276
+_(StoreElementT)\
277
+_(StoreHoleValueElement)\
278
+_(StoreElementHoleV)\
279
+_(StoreElementHoleT)\
280
+_(ArrayPopShift)\
281
+_(ArrayPush)\
282
+_(ArraySlice)\
283
+_(ArrayJoin)\
284
+_(LoadUnboxedScalar)\
285
+_(LoadUnboxedBigInt)\
286
+_(LoadDataViewElement)\
287
+_(LoadTypedArrayElementHole)\
288
+_(LoadTypedArrayElementHoleBigInt)\
289
+_(StoreUnboxedScalar)\
290
+_(StoreUnboxedBigInt)\
291
+_(StoreDataViewElement)\
292
+_(StoreTypedArrayElementHole)\
293
+_(StoreTypedArrayElementHoleBigInt)\
294
+_(AtomicIsLockFree)\
295
+_(CompareExchangeTypedArrayElement)\
296
+_(AtomicExchangeTypedArrayElement)\
297
+_(AtomicTypedArrayElementBinop)\
298
+_(AtomicTypedArrayElementBinopForEffect)\
299
+_(AtomicLoad64)\
300
+_(AtomicStore64)\
301
+_(CompareExchangeTypedArrayElement64)\
302
+_(AtomicExchangeTypedArrayElement64)\
303
+_(AtomicTypedArrayElementBinop64)\
304
+_(AtomicTypedArrayElementBinopForEffect64)\
305
+_(EffectiveAddress)\
306
+_(ClampIToUint8)\
307
+_(ClampDToUint8)\
308
+_(ClampVToUint8)\
309
+_(LoadFixedSlotV)\
310
+_(LoadFixedSlotT)\
311
+_(LoadFixedSlotAndUnbox)\
312
+_(LoadDynamicSlotAndUnbox)\
313
+_(LoadElementAndUnbox)\
314
+_(AddAndStoreSlot)\
315
+_(AllocateAndStoreSlot)\
316
+_(StoreFixedSlotV)\
317
+_(StoreFixedSlotT)\
318
+_(GetNameCache)\
319
+_(CallGetIntrinsicValue)\
320
+_(GetPropSuperCache)\
321
+_(GetPropertyCache)\
322
+_(BindNameCache)\
323
+_(CallBindVar)\
324
+_(LoadDynamicSlotV)\
325
+_(StoreDynamicSlotV)\
326
+_(StoreDynamicSlotT)\
327
+_(StringLength)\
328
+_(Floor)\
329
+_(FloorF)\
330
+_(Ceil)\
331
+_(CeilF)\
332
+_(Round)\
333
+_(RoundF)\
334
+_(Trunc)\
335
+_(TruncF)\
336
+_(NearbyInt)\
337
+_(NearbyIntF)\
338
+_(FunctionEnvironment)\
339
+_(HomeObject)\
340
+_(HomeObjectSuperBase)\
341
+_(NewLexicalEnvironmentObject)\
342
+_(CopyLexicalEnvironmentObject)\
343
+_(NewClassBodyEnvironmentObject)\
344
+_(CallSetElement)\
345
+_(CallDeleteProperty)\
346
+_(CallDeleteElement)\
347
+_(SetPropertyCache)\
348
+_(GetIteratorCache)\
349
+_(OptimizeSpreadCallCache)\
350
+_(IteratorMore)\
351
+_(IsNoIterAndBranch)\
352
+_(IteratorEnd)\
353
+_(ArgumentsLength)\
354
+_(GetFrameArgument)\
355
+_(Rest)\
356
+_(Int32ToIntPtr)\
357
+_(NonNegativeIntPtrToInt32)\
358
+_(IntPtrToDouble)\
359
+_(AdjustDataViewLength)\
360
+_(BooleanToInt64)\
361
+_(StringToInt64)\
362
+_(ValueToInt64)\
363
+_(TruncateBigIntToInt64)\
364
+_(Int64ToBigInt)\
365
+_(PostWriteBarrierO)\
366
+_(PostWriteBarrierS)\
367
+_(PostWriteBarrierBI)\
368
+_(PostWriteBarrierV)\
369
+_(PostWriteElementBarrierO)\
370
+_(PostWriteElementBarrierS)\
371
+_(PostWriteElementBarrierBI)\
372
+_(PostWriteElementBarrierV)\
373
+_(GuardObjectIdentity)\
374
+_(GuardSpecificFunction)\
375
+_(GuardSpecificAtom)\
376
+_(GuardSpecificSymbol)\
377
+_(GuardStringToIndex)\
378
+_(GuardStringToInt32)\
379
+_(GuardStringToDouble)\
380
+_(GuardShape)\
381
+_(GuardProto)\
382
+_(GuardNullProto)\
383
+_(GuardIsNativeObject)\
384
+_(GuardIsProxy)\
385
+_(GuardIsNotProxy)\
386
+_(GuardIsNotDOMProxy)\
387
+_(ProxyGet)\
388
+_(ProxyGetByValue)\
389
+_(ProxyHasProp)\
390
+_(ProxySet)\
391
+_(ProxySetByValue)\
392
+_(CallSetArrayLength)\
393
+_(MegamorphicLoadSlot)\
394
+_(MegamorphicLoadSlotByValue)\
395
+_(MegamorphicStoreSlot)\
396
+_(MegamorphicHasProp)\
397
+_(GuardIsNotArrayBufferMaybeShared)\
398
+_(GuardIsTypedArray)\
399
+_(GuardNoDenseElements)\
400
+_(InCache)\
401
+_(HasOwnCache)\
402
+_(CheckPrivateFieldCache)\
403
+_(InstanceOfO)\
404
+_(InstanceOfV)\
405
+_(InstanceOfCache)\
406
+_(IsCallableO)\
407
+_(IsCallableV)\
408
+_(IsConstructor)\
409
+_(IsCrossRealmArrayConstructor)\
410
+_(IsArrayO)\
411
+_(IsArrayV)\
412
+_(IsTypedArray)\
413
+_(IsObject)\
414
+_(IsObjectAndBranch)\
415
+_(IsNullOrUndefined)\
416
+_(IsNullOrUndefinedAndBranch)\
417
+_(HasClass)\
418
+_(GuardToClass)\
419
+_(ObjectClassToString)\
420
+_(WasmSelect)\
421
+_(WasmSelectI64)\
422
+_(WasmCompareAndSelect)\
423
+_(WasmAddOffset)\
424
+_(WasmBoundsCheck)\
425
+_(WasmBoundsCheck64)\
426
+_(WasmExtendU32Index)\
427
+_(WasmWrapU32Index)\
428
+_(WasmAlignmentCheck)\
429
+_(WasmLoadTls)\
430
+_(WasmHeapBase)\
431
+_(WasmLoad)\
432
+_(WasmLoadI64)\
433
+_(WasmStore)\
434
+_(WasmStoreI64)\
435
+_(AsmJSLoadHeap)\
436
+_(AsmJSStoreHeap)\
437
+_(WasmCompareExchangeHeap)\
438
+_(WasmFence)\
439
+_(WasmAtomicExchangeHeap)\
440
+_(WasmAtomicBinopHeap)\
441
+_(WasmAtomicBinopHeapForEffect)\
442
+_(WasmLoadSlot)\
443
+_(WasmLoadSlotI64)\
444
+_(WasmStoreSlot)\
445
+_(WasmStoreSlotI64)\
446
+_(WasmDerivedPointer)\
447
+_(WasmStoreRef)\
448
+_(WasmParameter)\
449
+_(WasmParameterI64)\
450
+_(WasmReturn)\
451
+_(WasmReturnI64)\
452
+_(WasmReturnVoid)\
453
+_(WasmStackArg)\
454
+_(WasmStackArgI64)\
455
+_(WasmNullConstant)\
456
+_(WasmCall)\
457
+_(WasmRegisterResult)\
458
+_(WasmRegisterPairResult)\
459
+_(WasmStackResultArea)\
460
+_(WasmStackResult)\
461
+_(WasmStackResult64)\
462
+_(AssertRangeI)\
463
+_(AssertRangeD)\
464
+_(AssertRangeF)\
465
+_(AssertRangeV)\
466
+_(AssertClass)\
467
+_(AssertShape)\
468
+_(AssertResultT)\
469
+_(AssertResultV)\
470
+_(GuardValue)\
471
+_(GuardNullOrUndefined)\
472
+_(GuardFunctionFlags)\
473
+_(GuardFunctionIsNonBuiltinCtor)\
474
+_(GuardFunctionKind)\
475
+_(GuardFunctionScript)\
476
+_(IncrementWarmUpCounter)\
477
+_(LexicalCheck)\
478
+_(ThrowRuntimeLexicalError)\
479
+_(ThrowMsg)\
480
+_(GlobalDeclInstantiation)\
481
+_(MemoryBarrier)\
482
+_(Debugger)\
483
+_(NewTarget)\
484
+_(ArrowNewTarget)\
485
+_(Random)\
486
+_(CheckReturn)\
487
+_(CheckIsObj)\
488
+_(CheckObjCoercible)\
489
+_(CheckClassHeritage)\
490
+_(CheckThis)\
491
+_(CheckThisReinit)\
492
+_(Generator)\
493
+_(AsyncResolve)\
494
+_(AsyncAwait)\
495
+_(CanSkipAwait)\
496
+_(MaybeExtractAwaitValue)\
497
+_(DebugCheckSelfHosted)\
498
+_(FinishBoundFunctionInit)\
499
+_(IsPackedArray)\
500
+_(GuardArrayIsPacked)\
501
+_(GetPrototypeOf)\
502
+_(ObjectWithProto)\
503
+_(ObjectStaticProto)\
504
+_(BuiltinObject)\
505
+_(SuperFunction)\
506
+_(InitHomeObject)\
507
+_(IsTypedArrayConstructor)\
508
+_(LoadValueTag)\
509
+_(GuardTagNotEqual)\
510
+_(LoadWrapperTarget)\
511
+_(GuardHasGetterSetter)\
512
+_(GuardIsExtensible)\
513
+_(GuardInt32IsNonNegative)\
514
+_(GuardIndexGreaterThanDenseInitLength)\
515
+_(GuardIndexIsValidUpdateOrAdd)\
516
+_(CallAddOrUpdateSparseElement)\
517
+_(CallGetSparseElement)\
518
+_(CallNativeGetElement)\
519
+_(CallObjectHasSparseElement)\
520
+_(BigIntAsIntN)\
521
+_(BigIntAsIntN64)\
522
+_(BigIntAsIntN32)\
523
+_(BigIntAsUintN)\
524
+_(BigIntAsUintN64)\
525
+_(BigIntAsUintN32)\
526
+_(IonToWasmCall)\
527
+_(IonToWasmCallV)\
528
+_(IonToWasmCallI64)\
529
+_(WasmBoxValue)\
530
+_(WasmAnyRefFromJSObject)\
531
+_(Simd128)\
532
+_(WasmBitselectSimd128)\
533
+_(WasmBinarySimd128)\
534
+_(WasmBinarySimd128WithConstant)\
535
+_(WasmVariableShiftSimd128)\
536
+_(WasmConstantShiftSimd128)\
537
+_(WasmSignReplicationSimd128)\
538
+_(WasmShuffleSimd128)\
539
+_(WasmPermuteSimd128)\
540
+_(WasmReplaceLaneSimd128)\
541
+_(WasmReplaceInt64LaneSimd128)\
542
+_(WasmScalarToSimd128)\
543
+_(WasmInt64ToSimd128)\
544
+_(WasmUnarySimd128)\
545
+_(WasmReduceSimd128)\
546
+_(WasmReduceAndBranchSimd128)\
547
+_(WasmReduceSimd128ToInt64)\
548
+_(WasmLoadLaneSimd128)\
549
+_(WasmStoreLaneSimd128)\
550
+_(Unbox)\
551
+_(UnboxFloatingPoint)\
552
+_(WasmUint32ToDouble)\
553
+_(WasmUint32ToFloat32)\
554
+_(DivI)\
555
+_(DivPowTwoI)\
556
+_(DivConstantI)\
557
+_(UDivConstantI)\
558
+_(ModI)\
559
+_(ModPowTwoI)\
560
+_(ModMaskI)\
561
+_(TableSwitch)\
562
+_(TableSwitchV)\
563
+_(MulI)\
564
+_(UDiv)\
565
+_(UMod)\
566
+_(Int64ToFloatingPoint)\
567
+_(WasmTruncateToInt64)\
568
+_(DivOrModI64)\
569
+_(UDivOrModI64)
570
+
571
+#endif // jit_LOpcodesGenerated_h
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_jit_MIROpsGenerated.h (-2662 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/include/jit/MIROpsGenerated.h.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/include/jit/MIROpsGenerated.h
3
@@ -0,0 +1,2659 @@
4
+/* This Source Code Form is subject to the terms of the Mozilla Public
5
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
6
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7
+
8
+#ifndef jit_MIROpsGenerated_h
9
+#define jit_MIROpsGenerated_h
10
+
11
+/* This file is generated by jit/GenerateMIRFiles.py. Do not edit! */
12
+
13
+#define MIR_OPCODE_LIST(_)\
14
+_(Start)\
15
+_(OsrEntry)\
16
+_(Nop)\
17
+_(LimitedTruncate)\
18
+_(Constant)\
19
+_(WasmNullConstant)\
20
+_(WasmFloatConstant)\
21
+_(Parameter)\
22
+_(Callee)\
23
+_(IsConstructing)\
24
+_(TableSwitch)\
25
+_(Goto)\
26
+_(Test)\
27
+_(Return)\
28
+_(Throw)\
29
+_(NewArray)\
30
+_(NewArrayDynamicLength)\
31
+_(NewTypedArray)\
32
+_(NewTypedArrayDynamicLength)\
33
+_(NewTypedArrayFromArray)\
34
+_(NewTypedArrayFromArrayBuffer)\
35
+_(NewObject)\
36
+_(NewPlainObject)\
37
+_(NewArrayObject)\
38
+_(NewIterator)\
39
+_(ObjectState)\
40
+_(ArrayState)\
41
+_(MutateProto)\
42
+_(InitPropGetterSetter)\
43
+_(InitElemGetterSetter)\
44
+_(Call)\
45
+_(ApplyArgs)\
46
+_(ApplyArgsObj)\
47
+_(ApplyArray)\
48
+_(ConstructArray)\
49
+_(Bail)\
50
+_(Unreachable)\
51
+_(EncodeSnapshot)\
52
+_(AssertRecoveredOnBailout)\
53
+_(AssertFloat32)\
54
+_(Compare)\
55
+_(SameValueDouble)\
56
+_(SameValue)\
57
+_(Box)\
58
+_(Unbox)\
59
+_(AssertRange)\
60
+_(AssertClass)\
61
+_(AssertShape)\
62
+_(CreateThisWithTemplate)\
63
+_(CreateThis)\
64
+_(CreateArgumentsObject)\
65
+_(CreateInlinedArgumentsObject)\
66
+_(GetInlinedArgument)\
67
+_(GetArgumentsObjectArg)\
68
+_(SetArgumentsObjectArg)\
69
+_(LoadArgumentsObjectArg)\
70
+_(ArgumentsObjectLength)\
71
+_(GuardArgumentsObjectFlags)\
72
+_(ReturnFromCtor)\
73
+_(ToDouble)\
74
+_(ToFloat32)\
75
+_(WasmUnsignedToDouble)\
76
+_(WasmUnsignedToFloat32)\
77
+_(WrapInt64ToInt32)\
78
+_(ExtendInt32ToInt64)\
79
+_(WasmBuiltinTruncateToInt64)\
80
+_(WasmTruncateToInt64)\
81
+_(WasmTruncateToInt32)\
82
+_(WasmBoxValue)\
83
+_(WasmAnyRefFromJSObject)\
84
+_(Int32ToIntPtr)\
85
+_(NonNegativeIntPtrToInt32)\
86
+_(IntPtrToDouble)\
87
+_(AdjustDataViewLength)\
88
+_(Int64ToFloatingPoint)\
89
+_(BuiltinInt64ToFloatingPoint)\
90
+_(ToNumberInt32)\
91
+_(ToIntegerInt32)\
92
+_(TruncateToInt32)\
93
+_(WasmBuiltinTruncateToInt32)\
94
+_(ToBigInt)\
95
+_(ToInt64)\
96
+_(TruncateBigIntToInt64)\
97
+_(Int64ToBigInt)\
98
+_(ToString)\
99
+_(BitNot)\
100
+_(TypeOf)\
101
+_(ToAsyncIter)\
102
+_(ToPropertyKeyCache)\
103
+_(BitAnd)\
104
+_(BitOr)\
105
+_(BitXor)\
106
+_(Lsh)\
107
+_(Rsh)\
108
+_(Ursh)\
109
+_(SignExtendInt32)\
110
+_(SignExtendInt64)\
111
+_(MinMax)\
112
+_(MinMaxArray)\
113
+_(Abs)\
114
+_(Clz)\
115
+_(Ctz)\
116
+_(Popcnt)\
117
+_(Sqrt)\
118
+_(CopySign)\
119
+_(Atan2)\
120
+_(Hypot)\
121
+_(Pow)\
122
+_(PowHalf)\
123
+_(Random)\
124
+_(Sign)\
125
+_(MathFunction)\
126
+_(Add)\
127
+_(Sub)\
128
+_(Mul)\
129
+_(Div)\
130
+_(WasmBuiltinDivI64)\
131
+_(Mod)\
132
+_(WasmBuiltinModD)\
133
+_(WasmBuiltinModI64)\
134
+_(BigIntAdd)\
135
+_(BigIntSub)\
136
+_(BigIntMul)\
137
+_(BigIntDiv)\
138
+_(BigIntMod)\
139
+_(BigIntPow)\
140
+_(BigIntBitAnd)\
141
+_(BigIntBitOr)\
142
+_(BigIntBitXor)\
143
+_(BigIntLsh)\
144
+_(BigIntRsh)\
145
+_(BigIntIncrement)\
146
+_(BigIntDecrement)\
147
+_(BigIntNegate)\
148
+_(BigIntBitNot)\
149
+_(Concat)\
150
+_(CharCodeAt)\
151
+_(FromCharCode)\
152
+_(FromCodePoint)\
153
+_(StringConvertCase)\
154
+_(StringSplit)\
155
+_(BoxNonStrictThis)\
156
+_(ImplicitThis)\
157
+_(ArrowNewTarget)\
158
+_(Phi)\
159
+_(Beta)\
160
+_(NaNToZero)\
161
+_(OsrValue)\
162
+_(OsrEnvironmentChain)\
163
+_(OsrArgumentsObject)\
164
+_(OsrReturnValue)\
165
+_(BinaryCache)\
166
+_(UnaryCache)\
167
+_(CheckOverRecursed)\
168
+_(InterruptCheck)\
169
+_(WasmInterruptCheck)\
170
+_(WasmTrap)\
171
+_(LexicalCheck)\
172
+_(ThrowRuntimeLexicalError)\
173
+_(ThrowMsg)\
174
+_(GlobalDeclInstantiation)\
175
+_(RegExp)\
176
+_(RegExpMatcher)\
177
+_(RegExpSearcher)\
178
+_(RegExpTester)\
179
+_(RegExpPrototypeOptimizable)\
180
+_(RegExpInstanceOptimizable)\
181
+_(GetFirstDollarIndex)\
182
+_(StringReplace)\
183
+_(Substr)\
184
+_(ModuleMetadata)\
185
+_(DynamicImport)\
186
+_(Lambda)\
187
+_(LambdaArrow)\
188
+_(FunctionWithProto)\
189
+_(SetFunName)\
190
+_(Slots)\
191
+_(Elements)\
192
+_(InitializedLength)\
193
+_(SetInitializedLength)\
194
+_(ArrayLength)\
195
+_(SetArrayLength)\
196
+_(FunctionLength)\
197
+_(FunctionName)\
198
+_(GetNextEntryForIterator)\
199
+_(ArrayBufferByteLength)\
200
+_(ArrayBufferViewLength)\
201
+_(ArrayBufferViewByteOffset)\
202
+_(ArrayBufferViewElements)\
203
+_(TypedArrayElementSize)\
204
+_(GuardHasAttachedArrayBuffer)\
205
+_(GuardNumberToIntPtrIndex)\
206
+_(KeepAliveObject)\
207
+_(Not)\
208
+_(BoundsCheck)\
209
+_(BoundsCheckLower)\
210
+_(SpectreMaskIndex)\
211
+_(LoadElement)\
212
+_(LoadElementAndUnbox)\
213
+_(LoadElementHole)\
214
+_(StoreElement)\
215
+_(StoreHoleValueElement)\
216
+_(StoreElementHole)\
217
+_(ArrayPopShift)\
218
+_(ArrayPush)\
219
+_(ArraySlice)\
220
+_(ArrayJoin)\
221
+_(LoadUnboxedScalar)\
222
+_(LoadDataViewElement)\
223
+_(LoadTypedArrayElementHole)\
224
+_(StoreUnboxedScalar)\
225
+_(StoreDataViewElement)\
226
+_(StoreTypedArrayElementHole)\
227
+_(EffectiveAddress)\
228
+_(ClampToUint8)\
229
+_(LoadFixedSlot)\
230
+_(LoadFixedSlotAndUnbox)\
231
+_(LoadDynamicSlotAndUnbox)\
232
+_(StoreFixedSlot)\
233
+_(GetPropertyCache)\
234
+_(HomeObjectSuperBase)\
235
+_(GetPropSuperCache)\
236
+_(BindNameCache)\
237
+_(CallBindVar)\
238
+_(GuardShape)\
239
+_(GuardProto)\
240
+_(GuardNullProto)\
241
+_(GuardIsNativeObject)\
242
+_(GuardIsProxy)\
243
+_(GuardIsNotDOMProxy)\
244
+_(GuardIsNotProxy)\
245
+_(ProxyGet)\
246
+_(ProxyGetByValue)\
247
+_(ProxyHasProp)\
248
+_(ProxySet)\
249
+_(ProxySetByValue)\
250
+_(CallSetArrayLength)\
251
+_(MegamorphicLoadSlot)\
252
+_(MegamorphicLoadSlotByValue)\
253
+_(MegamorphicStoreSlot)\
254
+_(MegamorphicHasProp)\
255
+_(GuardIsNotArrayBufferMaybeShared)\
256
+_(GuardIsTypedArray)\
257
+_(NurseryObject)\
258
+_(GuardValue)\
259
+_(GuardNullOrUndefined)\
260
+_(GuardFunctionFlags)\
261
+_(GuardFunctionIsNonBuiltinCtor)\
262
+_(GuardFunctionKind)\
263
+_(GuardFunctionScript)\
264
+_(GuardObjectIdentity)\
265
+_(GuardSpecificFunction)\
266
+_(GuardSpecificAtom)\
267
+_(GuardSpecificSymbol)\
268
+_(GuardStringToIndex)\
269
+_(GuardStringToInt32)\
270
+_(GuardStringToDouble)\
271
+_(GuardNoDenseElements)\
272
+_(GuardTagNotEqual)\
273
+_(LoadDynamicSlot)\
274
+_(FunctionEnvironment)\
275
+_(NewLexicalEnvironmentObject)\
276
+_(NewClassBodyEnvironmentObject)\
277
+_(CopyLexicalEnvironmentObject)\
278
+_(HomeObject)\
279
+_(AddAndStoreSlot)\
280
+_(AllocateAndStoreSlot)\
281
+_(StoreDynamicSlot)\
282
+_(GetNameCache)\
283
+_(CallGetIntrinsicValue)\
284
+_(DeleteProperty)\
285
+_(DeleteElement)\
286
+_(SetPropertyCache)\
287
+_(CallSetElement)\
288
+_(SetDOMProperty)\
289
+_(GetDOMProperty)\
290
+_(GetDOMMember)\
291
+_(LoadDOMExpandoValue)\
292
+_(LoadDOMExpandoValueGuardGeneration)\
293
+_(LoadDOMExpandoValueIgnoreGeneration)\
294
+_(GuardDOMExpandoMissingOrGuardShape)\
295
+_(StringLength)\
296
+_(Floor)\
297
+_(Ceil)\
298
+_(Round)\
299
+_(Trunc)\
300
+_(NearbyInt)\
301
+_(GetIteratorCache)\
302
+_(OptimizeSpreadCallCache)\
303
+_(IteratorMore)\
304
+_(IsNoIter)\
305
+_(IteratorEnd)\
306
+_(InCache)\
307
+_(InArray)\
308
+_(GuardElementNotHole)\
309
+_(CheckPrivateFieldCache)\
310
+_(HasOwnCache)\
311
+_(InstanceOf)\
312
+_(InstanceOfCache)\
313
+_(ArgumentsLength)\
314
+_(GetFrameArgument)\
315
+_(NewTarget)\
316
+_(Rest)\
317
+_(PostWriteBarrier)\
318
+_(PostWriteElementBarrier)\
319
+_(NewNamedLambdaObject)\
320
+_(NewCallObject)\
321
+_(NewStringObject)\
322
+_(IsCallable)\
323
+_(IsConstructor)\
324
+_(IsCrossRealmArrayConstructor)\
325
+_(IsObject)\
326
+_(IsNullOrUndefined)\
327
+_(HasClass)\
328
+_(GuardToClass)\
329
+_(IsArray)\
330
+_(IsTypedArray)\
331
+_(ObjectClassToString)\
332
+_(CheckReturn)\
333
+_(CheckThis)\
334
+_(AsyncResolve)\
335
+_(GeneratorReturn)\
336
+_(AsyncAwait)\
337
+_(CheckThisReinit)\
338
+_(Generator)\
339
+_(CanSkipAwait)\
340
+_(MaybeExtractAwaitValue)\
341
+_(IncrementWarmUpCounter)\
342
+_(AtomicIsLockFree)\
343
+_(CompareExchangeTypedArrayElement)\
344
+_(AtomicExchangeTypedArrayElement)\
345
+_(AtomicTypedArrayElementBinop)\
346
+_(Debugger)\
347
+_(CheckIsObj)\
348
+_(CheckObjCoercible)\
349
+_(CheckClassHeritage)\
350
+_(DebugCheckSelfHosted)\
351
+_(FinishBoundFunctionInit)\
352
+_(IsPackedArray)\
353
+_(GuardArrayIsPacked)\
354
+_(GetPrototypeOf)\
355
+_(ObjectWithProto)\
356
+_(ObjectStaticProto)\
357
+_(BuiltinObject)\
358
+_(SuperFunction)\
359
+_(InitHomeObject)\
360
+_(IsTypedArrayConstructor)\
361
+_(LoadValueTag)\
362
+_(LoadWrapperTarget)\
363
+_(GuardHasGetterSetter)\
364
+_(GuardIsExtensible)\
365
+_(GuardInt32IsNonNegative)\
366
+_(GuardIndexGreaterThanDenseInitLength)\
367
+_(GuardIndexIsValidUpdateOrAdd)\
368
+_(CallAddOrUpdateSparseElement)\
369
+_(CallGetSparseElement)\
370
+_(CallNativeGetElement)\
371
+_(CallObjectHasSparseElement)\
372
+_(BigIntAsIntN)\
373
+_(BigIntAsUintN)\
374
+_(WasmNeg)\
375
+_(WasmLoadTls)\
376
+_(WasmHeapBase)\
377
+_(WasmBoundsCheck)\
378
+_(WasmExtendU32Index)\
379
+_(WasmWrapU32Index)\
380
+_(WasmAddOffset)\
381
+_(WasmAlignmentCheck)\
382
+_(WasmLoad)\
383
+_(WasmStore)\
384
+_(AsmJSLoadHeap)\
385
+_(AsmJSStoreHeap)\
386
+_(WasmFence)\
387
+_(WasmCompareExchangeHeap)\
388
+_(WasmAtomicExchangeHeap)\
389
+_(WasmAtomicBinopHeap)\
390
+_(WasmLoadGlobalVar)\
391
+_(WasmLoadGlobalCell)\
392
+_(WasmStoreGlobalVar)\
393
+_(WasmStoreGlobalCell)\
394
+_(WasmStoreStackResult)\
395
+_(WasmDerivedPointer)\
396
+_(WasmStoreRef)\
397
+_(WasmParameter)\
398
+_(WasmReturn)\
399
+_(WasmReturnVoid)\
400
+_(WasmStackArg)\
401
+_(WasmRegisterResult)\
402
+_(WasmFloatRegisterResult)\
403
+_(WasmRegister64Result)\
404
+_(WasmStackResultArea)\
405
+_(WasmStackResult)\
406
+_(WasmCall)\
407
+_(WasmSelect)\
408
+_(WasmReinterpret)\
409
+_(Rotate)\
410
+_(WasmBitselectSimd128)\
411
+_(WasmBinarySimd128)\
412
+_(WasmBinarySimd128WithConstant)\
413
+_(WasmShiftSimd128)\
414
+_(WasmShuffleSimd128)\
415
+_(WasmReplaceLaneSimd128)\
416
+_(WasmUnarySimd128)\
417
+_(WasmScalarToSimd128)\
418
+_(WasmReduceSimd128)\
419
+_(WasmLoadLaneSimd128)\
420
+_(WasmStoreLaneSimd128)\
421
+_(UnreachableResult)\
422
+_(IonToWasmCall)
423
+
424
+#define MIR_OPCODE_CLASS_GENERATED \
425
+class MStart : public MNullaryInstruction {\
426
+  explicit MStart() : MNullaryInstruction(classOpcode) {\
427
+  }\
428
+ public:\
429
+  INSTRUCTION_HEADER(Start)\
430
+  TRIVIAL_NEW_WRAPPERS\
431
+};\
432
+\
433
+class MOsrEntry : public MNullaryInstruction {\
434
+  explicit MOsrEntry() : MNullaryInstruction(classOpcode) {\
435
+    setResultType(MIRType::Pointer);\
436
+  }\
437
+ public:\
438
+  INSTRUCTION_HEADER(OsrEntry)\
439
+  TRIVIAL_NEW_WRAPPERS\
440
+};\
441
+\
442
+class MNop : public MNullaryInstruction {\
443
+  explicit MNop() : MNullaryInstruction(classOpcode) {\
444
+  }\
445
+ public:\
446
+  INSTRUCTION_HEADER(Nop)\
447
+  TRIVIAL_NEW_WRAPPERS\
448
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
449
+  ALLOW_CLONE(MNop)\
450
+};\
451
+\
452
+class MCallee : public MNullaryInstruction {\
453
+  explicit MCallee() : MNullaryInstruction(classOpcode) {\
454
+    setMovable();\
455
+    setResultType(MIRType::Object);\
456
+  }\
457
+ public:\
458
+  INSTRUCTION_HEADER(Callee)\
459
+  TRIVIAL_NEW_WRAPPERS\
460
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
461
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
462
+};\
463
+\
464
+class MIsConstructing : public MNullaryInstruction {\
465
+  explicit MIsConstructing() : MNullaryInstruction(classOpcode) {\
466
+    setMovable();\
467
+    setResultType(MIRType::Boolean);\
468
+  }\
469
+ public:\
470
+  INSTRUCTION_HEADER(IsConstructing)\
471
+  TRIVIAL_NEW_WRAPPERS\
472
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
473
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
474
+};\
475
+\
476
+class MThrow : public MUnaryInstruction, public BoxPolicy<0>::Data {\
477
+  explicit MThrow(MDefinition* ins) : MUnaryInstruction(classOpcode, ins) {\
478
+  }\
479
+ public:\
480
+  INSTRUCTION_HEADER(Throw)\
481
+  TRIVIAL_NEW_WRAPPERS\
482
+  NAMED_OPERANDS((0, ins))\
483
+  AliasSet getAliasSet() const override;\
484
+  bool possiblyCalls() const override { return true; }\
485
+};\
486
+\
487
+class MNewArrayDynamicLength : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
488
+  CompilerGCPointer<JSObject*> templateObject_;\
489
+  gc::InitialHeap initialHeap_;\
490
+  explicit MNewArrayDynamicLength(MDefinition* length, JSObject* templateObject, gc::InitialHeap initialHeap) : MUnaryInstruction(classOpcode, length), templateObject_(templateObject), initialHeap_(initialHeap) {\
491
+    setGuard();\
492
+    setResultType(MIRType::Object);\
493
+  }\
494
+ public:\
495
+  JSObject* templateObject() const { return templateObject_; }\
496
+  gc::InitialHeap initialHeap() const { return initialHeap_; }\
497
+  INSTRUCTION_HEADER(NewArrayDynamicLength)\
498
+  TRIVIAL_NEW_WRAPPERS\
499
+  NAMED_OPERANDS((0, length))\
500
+  AliasSet getAliasSet() const override;\
501
+};\
502
+\
503
+class MNewTypedArrayDynamicLength : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
504
+  CompilerGCPointer<JSObject*> templateObject_;\
505
+  gc::InitialHeap initialHeap_;\
506
+  explicit MNewTypedArrayDynamicLength(MDefinition* length, JSObject* templateObject, gc::InitialHeap initialHeap) : MUnaryInstruction(classOpcode, length), templateObject_(templateObject), initialHeap_(initialHeap) {\
507
+    setGuard();\
508
+    setResultType(MIRType::Object);\
509
+  }\
510
+ public:\
511
+  JSObject* templateObject() const { return templateObject_; }\
512
+  gc::InitialHeap initialHeap() const { return initialHeap_; }\
513
+  INSTRUCTION_HEADER(NewTypedArrayDynamicLength)\
514
+  TRIVIAL_NEW_WRAPPERS\
515
+  NAMED_OPERANDS((0, length))\
516
+  AliasSet getAliasSet() const override;\
517
+};\
518
+\
519
+class MNewTypedArrayFromArray : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
520
+  CompilerGCPointer<JSObject*> templateObject_;\
521
+  gc::InitialHeap initialHeap_;\
522
+  explicit MNewTypedArrayFromArray(MDefinition* array, JSObject* templateObject, gc::InitialHeap initialHeap) : MUnaryInstruction(classOpcode, array), templateObject_(templateObject), initialHeap_(initialHeap) {\
523
+    setGuard();\
524
+    setResultType(MIRType::Object);\
525
+  }\
526
+ public:\
527
+  JSObject* templateObject() const { return templateObject_; }\
528
+  gc::InitialHeap initialHeap() const { return initialHeap_; }\
529
+  INSTRUCTION_HEADER(NewTypedArrayFromArray)\
530
+  TRIVIAL_NEW_WRAPPERS\
531
+  NAMED_OPERANDS((0, array))\
532
+  bool possiblyCalls() const override { return true; }\
533
+};\
534
+\
535
+class MNewTypedArrayFromArrayBuffer : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>, BoxPolicy<2>>::Data {\
536
+  CompilerGCPointer<JSObject*> templateObject_;\
537
+  gc::InitialHeap initialHeap_;\
538
+  explicit MNewTypedArrayFromArrayBuffer(MDefinition* arrayBuffer, MDefinition* byteOffset, MDefinition* length, JSObject* templateObject, gc::InitialHeap initialHeap) : MTernaryInstruction(classOpcode, arrayBuffer, byteOffset, length), templateObject_(templateObject), initialHeap_(initialHeap) {\
539
+    setGuard();\
540
+    setResultType(MIRType::Object);\
541
+  }\
542
+ public:\
543
+  JSObject* templateObject() const { return templateObject_; }\
544
+  gc::InitialHeap initialHeap() const { return initialHeap_; }\
545
+  INSTRUCTION_HEADER(NewTypedArrayFromArrayBuffer)\
546
+  TRIVIAL_NEW_WRAPPERS\
547
+  NAMED_OPERANDS((0, arrayBuffer), (1, byteOffset), (2, length))\
548
+  bool possiblyCalls() const override { return true; }\
549
+};\
550
+\
551
+class MMutateProto : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
552
+  explicit MMutateProto(MDefinition* object, MDefinition* value) : MBinaryInstruction(classOpcode, object, value) {\
553
+    setResultType(MIRType::None);\
554
+  }\
555
+ public:\
556
+  INSTRUCTION_HEADER(MutateProto)\
557
+  TRIVIAL_NEW_WRAPPERS\
558
+  NAMED_OPERANDS((0, object), (1, value))\
559
+  bool possiblyCalls() const override { return true; }\
560
+};\
561
+\
562
+class MInitPropGetterSetter : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, ObjectPolicy<1>>::Data {\
563
+  CompilerGCPointer<PropertyName*> name_;\
564
+  explicit MInitPropGetterSetter(MDefinition* object, MDefinition* value, PropertyName* name) : MBinaryInstruction(classOpcode, object, value), name_(name) {\
565
+  }\
566
+ public:\
567
+  PropertyName* name() const { return name_; }\
568
+  INSTRUCTION_HEADER(InitPropGetterSetter)\
569
+  TRIVIAL_NEW_WRAPPERS\
570
+  NAMED_OPERANDS((0, object), (1, value))\
571
+};\
572
+\
573
+class MInitElemGetterSetter : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>, ObjectPolicy<2>>::Data {\
574
+  explicit MInitElemGetterSetter(MDefinition* object, MDefinition* id, MDefinition* value) : MTernaryInstruction(classOpcode, object, id, value) {\
575
+  }\
576
+ public:\
577
+  INSTRUCTION_HEADER(InitElemGetterSetter)\
578
+  TRIVIAL_NEW_WRAPPERS\
579
+  NAMED_OPERANDS((0, object), (1, id), (2, value))\
580
+};\
581
+\
582
+class MEncodeSnapshot : public MNullaryInstruction {\
583
+  explicit MEncodeSnapshot() : MNullaryInstruction(classOpcode) {\
584
+    setGuard();\
585
+  }\
586
+ public:\
587
+  INSTRUCTION_HEADER(EncodeSnapshot)\
588
+  TRIVIAL_NEW_WRAPPERS\
589
+};\
590
+\
591
+class MSameValueDouble : public MBinaryInstruction, public MixPolicy<DoublePolicy<0>, DoublePolicy<1>>::Data {\
592
+  explicit MSameValueDouble(MDefinition* left, MDefinition* right) : MBinaryInstruction(classOpcode, left, right) {\
593
+    setMovable();\
594
+    setResultType(MIRType::Boolean);\
595
+  }\
596
+ public:\
597
+  INSTRUCTION_HEADER(SameValueDouble)\
598
+  TRIVIAL_NEW_WRAPPERS\
599
+  NAMED_OPERANDS((0, left), (1, right))\
600
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
601
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
602
+  ALLOW_CLONE(MSameValueDouble)\
603
+};\
604
+\
605
+class MSameValue : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, BoxPolicy<1>>::Data {\
606
+  explicit MSameValue(MDefinition* left, MDefinition* right) : MBinaryInstruction(classOpcode, left, right) {\
607
+    setMovable();\
608
+    setResultType(MIRType::Boolean);\
609
+  }\
610
+ public:\
611
+  INSTRUCTION_HEADER(SameValue)\
612
+  TRIVIAL_NEW_WRAPPERS\
613
+  NAMED_OPERANDS((0, left), (1, right))\
614
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
615
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
616
+  ALLOW_CLONE(MSameValue)\
617
+};\
618
+\
619
+class MCreateThis : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, ObjectPolicy<1>>::Data {\
620
+  explicit MCreateThis(MDefinition* callee, MDefinition* newTarget) : MBinaryInstruction(classOpcode, callee, newTarget) {\
621
+    setResultType(MIRType::Value);\
622
+  }\
623
+ public:\
624
+  INSTRUCTION_HEADER(CreateThis)\
625
+  TRIVIAL_NEW_WRAPPERS\
626
+  NAMED_OPERANDS((0, callee), (1, newTarget))\
627
+  AliasSet getAliasSet() const override;\
628
+  bool possiblyCalls() const override { return true; }\
629
+};\
630
+\
631
+class MGetArgumentsObjectArg : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
632
+  size_t argno_;\
633
+  explicit MGetArgumentsObjectArg(MDefinition* argsObject, size_t argno) : MUnaryInstruction(classOpcode, argsObject), argno_(argno) {\
634
+    setResultType(MIRType::Value);\
635
+  }\
636
+ public:\
637
+  size_t argno() const { return argno_; }\
638
+  INSTRUCTION_HEADER(GetArgumentsObjectArg)\
639
+  TRIVIAL_NEW_WRAPPERS\
640
+  NAMED_OPERANDS((0, argsObject))\
641
+  AliasSet getAliasSet() const override;\
642
+  bool congruentTo(const MDefinition* ins) const override;\
643
+};\
644
+\
645
+class MSetArgumentsObjectArg : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
646
+  size_t argno_;\
647
+  explicit MSetArgumentsObjectArg(MDefinition* argsObject, MDefinition* value, size_t argno) : MBinaryInstruction(classOpcode, argsObject, value), argno_(argno) {\
648
+  }\
649
+ public:\
650
+  size_t argno() const { return argno_; }\
651
+  INSTRUCTION_HEADER(SetArgumentsObjectArg)\
652
+  TRIVIAL_NEW_WRAPPERS\
653
+  NAMED_OPERANDS((0, argsObject), (1, value))\
654
+  AliasSet getAliasSet() const override;\
655
+};\
656
+\
657
+class MLoadArgumentsObjectArg : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
658
+  explicit MLoadArgumentsObjectArg(MDefinition* argsObject, MDefinition* index) : MBinaryInstruction(classOpcode, argsObject, index) {\
659
+    setGuard();\
660
+    setResultType(MIRType::Value);\
661
+  }\
662
+ public:\
663
+  INSTRUCTION_HEADER(LoadArgumentsObjectArg)\
664
+  TRIVIAL_NEW_WRAPPERS\
665
+  NAMED_OPERANDS((0, argsObject), (1, index))\
666
+  AliasSet getAliasSet() const override;\
667
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
668
+};\
669
+\
670
+class MArgumentsObjectLength : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
671
+  explicit MArgumentsObjectLength(MDefinition* argsObject) : MUnaryInstruction(classOpcode, argsObject) {\
672
+    setGuard();\
673
+    setMovable();\
674
+    setResultType(MIRType::Int32);\
675
+  }\
676
+ public:\
677
+  INSTRUCTION_HEADER(ArgumentsObjectLength)\
678
+  TRIVIAL_NEW_WRAPPERS\
679
+  NAMED_OPERANDS((0, argsObject))\
680
+  AliasSet getAliasSet() const override;\
681
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
682
+};\
683
+\
684
+class MGuardArgumentsObjectFlags : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
685
+  uint32_t flags_;\
686
+  explicit MGuardArgumentsObjectFlags(MDefinition* argsObject, uint32_t flags) : MUnaryInstruction(classOpcode, argsObject), flags_(flags) {\
687
+    setGuard();\
688
+    setMovable();\
689
+    setResultType(MIRType::Object);\
690
+  }\
691
+ public:\
692
+  uint32_t flags() const { return flags_; }\
693
+  INSTRUCTION_HEADER(GuardArgumentsObjectFlags)\
694
+  TRIVIAL_NEW_WRAPPERS\
695
+  NAMED_OPERANDS((0, argsObject))\
696
+  AliasSet getAliasSet() const override;\
697
+  bool congruentTo(const MDefinition* ins) const override;\
698
+};\
699
+\
700
+class MReturnFromCtor : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, ObjectPolicy<1>>::Data {\
701
+  explicit MReturnFromCtor(MDefinition* value, MDefinition* object) : MBinaryInstruction(classOpcode, value, object) {\
702
+    setResultType(MIRType::Object);\
703
+  }\
704
+ public:\
705
+  INSTRUCTION_HEADER(ReturnFromCtor)\
706
+  TRIVIAL_NEW_WRAPPERS\
707
+  NAMED_OPERANDS((0, value), (1, object))\
708
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
709
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
710
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
711
+};\
712
+\
713
+class MWasmUnsignedToDouble : public MUnaryInstruction, public NoTypePolicy::Data {\
714
+  explicit MWasmUnsignedToDouble(MDefinition* def) : MUnaryInstruction(classOpcode, def) {\
715
+    setMovable();\
716
+    setResultType(MIRType::Double);\
717
+  }\
718
+ public:\
719
+  INSTRUCTION_HEADER(WasmUnsignedToDouble)\
720
+  TRIVIAL_NEW_WRAPPERS\
721
+  NAMED_OPERANDS((0, def))\
722
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
723
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
724
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
725
+};\
726
+\
727
+class MWasmBoxValue : public MUnaryInstruction, public BoxPolicy<0>::Data {\
728
+  explicit MWasmBoxValue(MDefinition* def) : MUnaryInstruction(classOpcode, def) {\
729
+    setResultType(MIRType::RefOrNull);\
730
+  }\
731
+ public:\
732
+  INSTRUCTION_HEADER(WasmBoxValue)\
733
+  TRIVIAL_NEW_WRAPPERS\
734
+  NAMED_OPERANDS((0, def))\
735
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
736
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
737
+};\
738
+\
739
+class MWasmAnyRefFromJSObject : public MUnaryInstruction, public NoTypePolicy::Data {\
740
+  explicit MWasmAnyRefFromJSObject(MDefinition* def) : MUnaryInstruction(classOpcode, def) {\
741
+    setResultType(MIRType::RefOrNull);\
742
+  }\
743
+ public:\
744
+  INSTRUCTION_HEADER(WasmAnyRefFromJSObject)\
745
+  TRIVIAL_NEW_WRAPPERS\
746
+  NAMED_OPERANDS((0, def))\
747
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
748
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
749
+};\
750
+\
751
+class MToAsyncIter : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
752
+  explicit MToAsyncIter(MDefinition* iterator, MDefinition* nextMethod) : MBinaryInstruction(classOpcode, iterator, nextMethod) {\
753
+    setResultType(MIRType::Object);\
754
+  }\
755
+ public:\
756
+  INSTRUCTION_HEADER(ToAsyncIter)\
757
+  TRIVIAL_NEW_WRAPPERS\
758
+  NAMED_OPERANDS((0, iterator), (1, nextMethod))\
759
+};\
760
+\
761
+class MToPropertyKeyCache : public MUnaryInstruction, public BoxPolicy<0>::Data {\
762
+  explicit MToPropertyKeyCache(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
763
+    setResultType(MIRType::Value);\
764
+  }\
765
+ public:\
766
+  INSTRUCTION_HEADER(ToPropertyKeyCache)\
767
+  TRIVIAL_NEW_WRAPPERS\
768
+  NAMED_OPERANDS((0, input))\
769
+};\
770
+\
771
+class MAtan2 : public MBinaryInstruction, public MixPolicy<DoublePolicy<0>, DoublePolicy<1>>::Data {\
772
+  explicit MAtan2(MDefinition* y, MDefinition* x) : MBinaryInstruction(classOpcode, y, x) {\
773
+    setMovable();\
774
+    setResultType(MIRType::Double);\
775
+  }\
776
+ public:\
777
+  INSTRUCTION_HEADER(Atan2)\
778
+  TRIVIAL_NEW_WRAPPERS\
779
+  NAMED_OPERANDS((0, y), (1, x))\
780
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
781
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
782
+  bool possiblyCalls() const override { return true; }\
783
+  [[nodiscard]] bool writeRecoverData(\
784
+    CompactBufferWriter& writer) const override;\
785
+  bool canRecoverOnBailout() const override { return true; }\
786
+  ALLOW_CLONE(MAtan2)\
787
+};\
788
+\
789
+class MRandom : public MNullaryInstruction {\
790
+  explicit MRandom() : MNullaryInstruction(classOpcode) {\
791
+    setResultType(MIRType::Double);\
792
+  }\
793
+ public:\
794
+  INSTRUCTION_HEADER(Random)\
795
+  TRIVIAL_NEW_WRAPPERS\
796
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
797
+  bool possiblyCalls() const override { return true; }\
798
+  void computeRange(TempAllocator& alloc) override;\
799
+  [[nodiscard]] bool writeRecoverData(\
800
+    CompactBufferWriter& writer) const override;\
801
+  bool canRecoverOnBailout() const override;\
802
+  ALLOW_CLONE(MRandom)\
803
+};\
804
+\
805
+class MCharCodeAt : public MBinaryInstruction, public MixPolicy<StringPolicy<0>, UnboxedInt32Policy<1>>::Data {\
806
+  explicit MCharCodeAt(MDefinition* string, MDefinition* index) : MBinaryInstruction(classOpcode, string, index) {\
807
+    setMovable();\
808
+    setResultType(MIRType::Int32);\
809
+  }\
810
+ public:\
811
+  INSTRUCTION_HEADER(CharCodeAt)\
812
+  TRIVIAL_NEW_WRAPPERS\
813
+  NAMED_OPERANDS((0, string), (1, index))\
814
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
815
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
816
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
817
+  void computeRange(TempAllocator& alloc) override;\
818
+  [[nodiscard]] bool writeRecoverData(\
819
+    CompactBufferWriter& writer) const override;\
820
+  bool canRecoverOnBailout() const override { return true; }\
821
+  ALLOW_CLONE(MCharCodeAt)\
822
+};\
823
+\
824
+class MFromCharCode : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
825
+  explicit MFromCharCode(MDefinition* code) : MUnaryInstruction(classOpcode, code) {\
826
+    setMovable();\
827
+    setResultType(MIRType::String);\
828
+  }\
829
+ public:\
830
+  INSTRUCTION_HEADER(FromCharCode)\
831
+  TRIVIAL_NEW_WRAPPERS\
832
+  NAMED_OPERANDS((0, code))\
833
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
834
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
835
+  [[nodiscard]] bool writeRecoverData(\
836
+    CompactBufferWriter& writer) const override;\
837
+  bool canRecoverOnBailout() const override { return true; }\
838
+  ALLOW_CLONE(MFromCharCode)\
839
+};\
840
+\
841
+class MFromCodePoint : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
842
+  explicit MFromCodePoint(MDefinition* codePoint) : MUnaryInstruction(classOpcode, codePoint) {\
843
+    setGuard();\
844
+    setMovable();\
845
+    setResultType(MIRType::String);\
846
+  }\
847
+ public:\
848
+  INSTRUCTION_HEADER(FromCodePoint)\
849
+  TRIVIAL_NEW_WRAPPERS\
850
+  NAMED_OPERANDS((0, codePoint))\
851
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
852
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
853
+  ALLOW_CLONE(MFromCodePoint)\
854
+};\
855
+\
856
+class MStringSplit : public MBinaryInstruction, public MixPolicy<StringPolicy<0>, StringPolicy<1>>::Data {\
857
+  explicit MStringSplit(MDefinition* string, MDefinition* separator) : MBinaryInstruction(classOpcode, string, separator) {\
858
+    setResultType(MIRType::Object);\
859
+  }\
860
+ public:\
861
+  INSTRUCTION_HEADER(StringSplit)\
862
+  TRIVIAL_NEW_WRAPPERS\
863
+  NAMED_OPERANDS((0, string), (1, separator))\
864
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
865
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
866
+  bool possiblyCalls() const override { return true; }\
867
+  [[nodiscard]] bool writeRecoverData(\
868
+    CompactBufferWriter& writer) const override;\
869
+  bool canRecoverOnBailout() const override { return true; }\
870
+};\
871
+\
872
+class MBoxNonStrictThis : public MUnaryInstruction, public BoxPolicy<0>::Data {\
873
+  CompilerGCPointer<JSObject*> globalThis_;\
874
+  explicit MBoxNonStrictThis(MDefinition* def, JSObject* globalThis) : MUnaryInstruction(classOpcode, def), globalThis_(globalThis) {\
875
+    setResultType(MIRType::Object);\
876
+  }\
877
+ public:\
878
+  JSObject* globalThis() const { return globalThis_; }\
879
+  INSTRUCTION_HEADER(BoxNonStrictThis)\
880
+  TRIVIAL_NEW_WRAPPERS\
881
+  NAMED_OPERANDS((0, def))\
882
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
883
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
884
+  bool possiblyCalls() const override { return true; }\
885
+};\
886
+\
887
+class MImplicitThis : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
888
+  CompilerGCPointer<PropertyName*> name_;\
889
+  explicit MImplicitThis(MDefinition* envChain, PropertyName* name) : MUnaryInstruction(classOpcode, envChain), name_(name) {\
890
+    setResultType(MIRType::Value);\
891
+  }\
892
+ public:\
893
+  PropertyName* name() const { return name_; }\
894
+  INSTRUCTION_HEADER(ImplicitThis)\
895
+  TRIVIAL_NEW_WRAPPERS\
896
+  NAMED_OPERANDS((0, envChain))\
897
+  bool possiblyCalls() const override { return true; }\
898
+};\
899
+\
900
+class MArrowNewTarget : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
901
+  explicit MArrowNewTarget(MDefinition* callee) : MUnaryInstruction(classOpcode, callee) {\
902
+    setMovable();\
903
+    setResultType(MIRType::Value);\
904
+  }\
905
+ public:\
906
+  INSTRUCTION_HEADER(ArrowNewTarget)\
907
+  TRIVIAL_NEW_WRAPPERS\
908
+  NAMED_OPERANDS((0, callee))\
909
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
910
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
911
+};\
912
+\
913
+class MUnaryCache : public MUnaryInstruction, public BoxPolicy<0>::Data {\
914
+  explicit MUnaryCache(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
915
+    setResultType(MIRType::Value);\
916
+  }\
917
+ public:\
918
+  INSTRUCTION_HEADER(UnaryCache)\
919
+  TRIVIAL_NEW_WRAPPERS\
920
+  NAMED_OPERANDS((0, input))\
921
+};\
922
+\
923
+class MCheckOverRecursed : public MNullaryInstruction {\
924
+  explicit MCheckOverRecursed() : MNullaryInstruction(classOpcode) {\
925
+    setGuard();\
926
+  }\
927
+ public:\
928
+  INSTRUCTION_HEADER(CheckOverRecursed)\
929
+  TRIVIAL_NEW_WRAPPERS\
930
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
931
+};\
932
+\
933
+class MInterruptCheck : public MNullaryInstruction {\
934
+  explicit MInterruptCheck() : MNullaryInstruction(classOpcode) {\
935
+    setGuard();\
936
+  }\
937
+ public:\
938
+  INSTRUCTION_HEADER(InterruptCheck)\
939
+  TRIVIAL_NEW_WRAPPERS\
940
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
941
+};\
942
+\
943
+class MThrowRuntimeLexicalError : public MNullaryInstruction {\
944
+  unsigned errorNumber_;\
945
+  explicit MThrowRuntimeLexicalError(unsigned errorNumber) : MNullaryInstruction(classOpcode), errorNumber_(errorNumber) {\
946
+    setGuard();\
947
+    setResultType(MIRType::None);\
948
+  }\
949
+ public:\
950
+  unsigned errorNumber() const { return errorNumber_; }\
951
+  INSTRUCTION_HEADER(ThrowRuntimeLexicalError)\
952
+  TRIVIAL_NEW_WRAPPERS\
953
+  AliasSet getAliasSet() const override;\
954
+};\
955
+\
956
+class MGlobalDeclInstantiation : public MNullaryInstruction {\
957
+  explicit MGlobalDeclInstantiation() : MNullaryInstruction(classOpcode) {\
958
+    setGuard();\
959
+  }\
960
+ public:\
961
+  INSTRUCTION_HEADER(GlobalDeclInstantiation)\
962
+  TRIVIAL_NEW_WRAPPERS\
963
+};\
964
+\
965
+class MRegExp : public MNullaryInstruction {\
966
+  CompilerGCPointer<RegExpObject*> source_;\
967
+  bool hasShared_;\
968
+  explicit MRegExp(RegExpObject* source, bool hasShared) : MNullaryInstruction(classOpcode), source_(source), hasShared_(hasShared) {\
969
+    setResultType(MIRType::Object);\
970
+  }\
971
+ public:\
972
+  RegExpObject* source() const { return source_; }\
973
+  bool hasShared() const { return hasShared_; }\
974
+  INSTRUCTION_HEADER(RegExp)\
975
+  TRIVIAL_NEW_WRAPPERS\
976
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
977
+  bool possiblyCalls() const override { return true; }\
978
+};\
979
+\
980
+class MRegExpMatcher : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, StringPolicy<1>, UnboxedInt32Policy<2>>::Data {\
981
+  explicit MRegExpMatcher(MDefinition* regexp, MDefinition* string, MDefinition* lastIndex) : MTernaryInstruction(classOpcode, regexp, string, lastIndex) {\
982
+    setResultType(MIRType::Value);\
983
+  }\
984
+ public:\
985
+  INSTRUCTION_HEADER(RegExpMatcher)\
986
+  TRIVIAL_NEW_WRAPPERS\
987
+  NAMED_OPERANDS((0, regexp), (1, string), (2, lastIndex))\
988
+  bool possiblyCalls() const override { return true; }\
989
+  [[nodiscard]] bool writeRecoverData(\
990
+    CompactBufferWriter& writer) const override;\
991
+  bool canRecoverOnBailout() const override { return true; }\
992
+};\
993
+\
994
+class MRegExpSearcher : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, StringPolicy<1>, UnboxedInt32Policy<2>>::Data {\
995
+  explicit MRegExpSearcher(MDefinition* regexp, MDefinition* string, MDefinition* lastIndex) : MTernaryInstruction(classOpcode, regexp, string, lastIndex) {\
996
+    setResultType(MIRType::Int32);\
997
+  }\
998
+ public:\
999
+  INSTRUCTION_HEADER(RegExpSearcher)\
1000
+  TRIVIAL_NEW_WRAPPERS\
1001
+  NAMED_OPERANDS((0, regexp), (1, string), (2, lastIndex))\
1002
+  bool possiblyCalls() const override { return true; }\
1003
+  [[nodiscard]] bool writeRecoverData(\
1004
+    CompactBufferWriter& writer) const override;\
1005
+  bool canRecoverOnBailout() const override { return true; }\
1006
+};\
1007
+\
1008
+class MRegExpTester : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, StringPolicy<1>, UnboxedInt32Policy<2>>::Data {\
1009
+  explicit MRegExpTester(MDefinition* regexp, MDefinition* string, MDefinition* lastIndex) : MTernaryInstruction(classOpcode, regexp, string, lastIndex) {\
1010
+    setResultType(MIRType::Int32);\
1011
+  }\
1012
+ public:\
1013
+  INSTRUCTION_HEADER(RegExpTester)\
1014
+  TRIVIAL_NEW_WRAPPERS\
1015
+  NAMED_OPERANDS((0, regexp), (1, string), (2, lastIndex))\
1016
+  bool possiblyCalls() const override { return true; }\
1017
+  [[nodiscard]] bool writeRecoverData(\
1018
+    CompactBufferWriter& writer) const override;\
1019
+  bool canRecoverOnBailout() const override { return true; }\
1020
+};\
1021
+\
1022
+class MRegExpPrototypeOptimizable : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1023
+  explicit MRegExpPrototypeOptimizable(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1024
+    setResultType(MIRType::Boolean);\
1025
+  }\
1026
+ public:\
1027
+  INSTRUCTION_HEADER(RegExpPrototypeOptimizable)\
1028
+  TRIVIAL_NEW_WRAPPERS\
1029
+  NAMED_OPERANDS((0, object))\
1030
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1031
+};\
1032
+\
1033
+class MRegExpInstanceOptimizable : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, ObjectPolicy<1>>::Data {\
1034
+  explicit MRegExpInstanceOptimizable(MDefinition* object, MDefinition* proto) : MBinaryInstruction(classOpcode, object, proto) {\
1035
+    setResultType(MIRType::Boolean);\
1036
+  }\
1037
+ public:\
1038
+  INSTRUCTION_HEADER(RegExpInstanceOptimizable)\
1039
+  TRIVIAL_NEW_WRAPPERS\
1040
+  NAMED_OPERANDS((0, object), (1, proto))\
1041
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1042
+};\
1043
+\
1044
+class MSubstr : public MTernaryInstruction, public MixPolicy<StringPolicy<0>, UnboxedInt32Policy<1>, UnboxedInt32Policy<2>>::Data {\
1045
+  explicit MSubstr(MDefinition* string, MDefinition* begin, MDefinition* length) : MTernaryInstruction(classOpcode, string, begin, length) {\
1046
+    setResultType(MIRType::String);\
1047
+  }\
1048
+ public:\
1049
+  INSTRUCTION_HEADER(Substr)\
1050
+  TRIVIAL_NEW_WRAPPERS\
1051
+  NAMED_OPERANDS((0, string), (1, begin), (2, length))\
1052
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1053
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1054
+};\
1055
+\
1056
+class MModuleMetadata : public MNullaryInstruction {\
1057
+  CompilerGCPointer<JSObject*> module_;\
1058
+  explicit MModuleMetadata(JSObject* module) : MNullaryInstruction(classOpcode), module_(module) {\
1059
+    setResultType(MIRType::Object);\
1060
+  }\
1061
+ public:\
1062
+  JSObject* module() const { return module_; }\
1063
+  INSTRUCTION_HEADER(ModuleMetadata)\
1064
+  TRIVIAL_NEW_WRAPPERS\
1065
+};\
1066
+\
1067
+class MDynamicImport : public MUnaryInstruction, public BoxPolicy<0>::Data {\
1068
+  explicit MDynamicImport(MDefinition* specifier) : MUnaryInstruction(classOpcode, specifier) {\
1069
+    setResultType(MIRType::Object);\
1070
+  }\
1071
+ public:\
1072
+  INSTRUCTION_HEADER(DynamicImport)\
1073
+  TRIVIAL_NEW_WRAPPERS\
1074
+  NAMED_OPERANDS((0, specifier))\
1075
+};\
1076
+\
1077
+class MSetFunName : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1078
+  uint8_t prefixKind_;\
1079
+  explicit MSetFunName(MDefinition* fun, MDefinition* name, uint8_t prefixKind) : MBinaryInstruction(classOpcode, fun, name), prefixKind_(prefixKind) {\
1080
+    setResultType(MIRType::None);\
1081
+  }\
1082
+ public:\
1083
+  uint8_t prefixKind() const { return prefixKind_; }\
1084
+  INSTRUCTION_HEADER(SetFunName)\
1085
+  TRIVIAL_NEW_WRAPPERS\
1086
+  NAMED_OPERANDS((0, fun), (1, name))\
1087
+  bool possiblyCalls() const override { return true; }\
1088
+};\
1089
+\
1090
+class MSlots : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1091
+  explicit MSlots(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1092
+    setMovable();\
1093
+    setResultType(MIRType::Slots);\
1094
+  }\
1095
+ public:\
1096
+  INSTRUCTION_HEADER(Slots)\
1097
+  TRIVIAL_NEW_WRAPPERS\
1098
+  NAMED_OPERANDS((0, object))\
1099
+  AliasSet getAliasSet() const override;\
1100
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1101
+  ALLOW_CLONE(MSlots)\
1102
+};\
1103
+\
1104
+class MElements : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1105
+  explicit MElements(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1106
+    setMovable();\
1107
+    setResultType(MIRType::Elements);\
1108
+  }\
1109
+ public:\
1110
+  INSTRUCTION_HEADER(Elements)\
1111
+  TRIVIAL_NEW_WRAPPERS\
1112
+  NAMED_OPERANDS((0, object))\
1113
+  AliasSet getAliasSet() const override;\
1114
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1115
+  ALLOW_CLONE(MElements)\
1116
+};\
1117
+\
1118
+class MInitializedLength : public MUnaryInstruction, public NoTypePolicy::Data {\
1119
+  explicit MInitializedLength(MDefinition* elements) : MUnaryInstruction(classOpcode, elements) {\
1120
+    setMovable();\
1121
+    setResultType(MIRType::Int32);\
1122
+  }\
1123
+ public:\
1124
+  INSTRUCTION_HEADER(InitializedLength)\
1125
+  TRIVIAL_NEW_WRAPPERS\
1126
+  NAMED_OPERANDS((0, elements))\
1127
+  AliasSet getAliasSet() const override;\
1128
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1129
+  void computeRange(TempAllocator& alloc) override;\
1130
+  ALLOW_CLONE(MInitializedLength)\
1131
+};\
1132
+\
1133
+class MSetInitializedLength : public MBinaryInstruction, public NoTypePolicy::Data {\
1134
+  explicit MSetInitializedLength(MDefinition* elements, MDefinition* index) : MBinaryInstruction(classOpcode, elements, index) {\
1135
+  }\
1136
+ public:\
1137
+  INSTRUCTION_HEADER(SetInitializedLength)\
1138
+  TRIVIAL_NEW_WRAPPERS\
1139
+  NAMED_OPERANDS((0, elements), (1, index))\
1140
+  AliasSet getAliasSet() const override;\
1141
+  ALLOW_CLONE(MSetInitializedLength)\
1142
+};\
1143
+\
1144
+class MArrayLength : public MUnaryInstruction, public NoTypePolicy::Data {\
1145
+  explicit MArrayLength(MDefinition* elements) : MUnaryInstruction(classOpcode, elements) {\
1146
+    setMovable();\
1147
+    setResultType(MIRType::Int32);\
1148
+  }\
1149
+ public:\
1150
+  INSTRUCTION_HEADER(ArrayLength)\
1151
+  TRIVIAL_NEW_WRAPPERS\
1152
+  NAMED_OPERANDS((0, elements))\
1153
+  AliasSet getAliasSet() const override;\
1154
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1155
+  void computeRange(TempAllocator& alloc) override;\
1156
+  ALLOW_CLONE(MArrayLength)\
1157
+};\
1158
+\
1159
+class MSetArrayLength : public MBinaryInstruction, public NoTypePolicy::Data {\
1160
+  explicit MSetArrayLength(MDefinition* elements, MDefinition* index) : MBinaryInstruction(classOpcode, elements, index) {\
1161
+  }\
1162
+ public:\
1163
+  INSTRUCTION_HEADER(SetArrayLength)\
1164
+  TRIVIAL_NEW_WRAPPERS\
1165
+  NAMED_OPERANDS((0, elements), (1, index))\
1166
+  AliasSet getAliasSet() const override;\
1167
+  [[nodiscard]] bool writeRecoverData(\
1168
+    CompactBufferWriter& writer) const override;\
1169
+  bool canRecoverOnBailout() const override;\
1170
+};\
1171
+\
1172
+class MFunctionLength : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1173
+  explicit MFunctionLength(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
1174
+    setGuard();\
1175
+    setResultType(MIRType::Int32);\
1176
+  }\
1177
+ public:\
1178
+  INSTRUCTION_HEADER(FunctionLength)\
1179
+  TRIVIAL_NEW_WRAPPERS\
1180
+  NAMED_OPERANDS((0, function))\
1181
+  AliasSet getAliasSet() const override;\
1182
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1183
+};\
1184
+\
1185
+class MFunctionName : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1186
+  explicit MFunctionName(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
1187
+    setGuard();\
1188
+    setResultType(MIRType::String);\
1189
+  }\
1190
+ public:\
1191
+  INSTRUCTION_HEADER(FunctionName)\
1192
+  TRIVIAL_NEW_WRAPPERS\
1193
+  NAMED_OPERANDS((0, function))\
1194
+  AliasSet getAliasSet() const override;\
1195
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1196
+};\
1197
+\
1198
+class MArrayBufferByteLength : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1199
+  explicit MArrayBufferByteLength(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1200
+    setMovable();\
1201
+    setResultType(MIRType::IntPtr);\
1202
+  }\
1203
+ public:\
1204
+  INSTRUCTION_HEADER(ArrayBufferByteLength)\
1205
+  TRIVIAL_NEW_WRAPPERS\
1206
+  NAMED_OPERANDS((0, object))\
1207
+  AliasSet getAliasSet() const override;\
1208
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1209
+};\
1210
+\
1211
+class MArrayBufferViewLength : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1212
+  explicit MArrayBufferViewLength(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1213
+    setMovable();\
1214
+    setResultType(MIRType::IntPtr);\
1215
+  }\
1216
+ public:\
1217
+  INSTRUCTION_HEADER(ArrayBufferViewLength)\
1218
+  TRIVIAL_NEW_WRAPPERS\
1219
+  NAMED_OPERANDS((0, object))\
1220
+  AliasSet getAliasSet() const override;\
1221
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1222
+  void computeRange(TempAllocator& alloc) override;\
1223
+};\
1224
+\
1225
+class MArrayBufferViewByteOffset : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1226
+  explicit MArrayBufferViewByteOffset(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1227
+    setMovable();\
1228
+    setResultType(MIRType::IntPtr);\
1229
+  }\
1230
+ public:\
1231
+  INSTRUCTION_HEADER(ArrayBufferViewByteOffset)\
1232
+  TRIVIAL_NEW_WRAPPERS\
1233
+  NAMED_OPERANDS((0, object))\
1234
+  AliasSet getAliasSet() const override;\
1235
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1236
+  void computeRange(TempAllocator& alloc) override;\
1237
+};\
1238
+\
1239
+class MArrayBufferViewElements : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1240
+  explicit MArrayBufferViewElements(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1241
+    setMovable();\
1242
+    setResultType(MIRType::Elements);\
1243
+  }\
1244
+ public:\
1245
+  INSTRUCTION_HEADER(ArrayBufferViewElements)\
1246
+  TRIVIAL_NEW_WRAPPERS\
1247
+  NAMED_OPERANDS((0, object))\
1248
+  AliasSet getAliasSet() const override;\
1249
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1250
+  ALLOW_CLONE(MArrayBufferViewElements)\
1251
+};\
1252
+\
1253
+class MTypedArrayElementSize : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1254
+  explicit MTypedArrayElementSize(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1255
+    setMovable();\
1256
+    setResultType(MIRType::Int32);\
1257
+  }\
1258
+ public:\
1259
+  INSTRUCTION_HEADER(TypedArrayElementSize)\
1260
+  TRIVIAL_NEW_WRAPPERS\
1261
+  NAMED_OPERANDS((0, object))\
1262
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1263
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1264
+  void computeRange(TempAllocator& alloc) override;\
1265
+};\
1266
+\
1267
+class MGuardHasAttachedArrayBuffer : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1268
+  explicit MGuardHasAttachedArrayBuffer(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1269
+    setGuard();\
1270
+    setMovable();\
1271
+    setResultType(MIRType::Object);\
1272
+  }\
1273
+ public:\
1274
+  INSTRUCTION_HEADER(GuardHasAttachedArrayBuffer)\
1275
+  TRIVIAL_NEW_WRAPPERS\
1276
+  NAMED_OPERANDS((0, object))\
1277
+  AliasSet getAliasSet() const override;\
1278
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1279
+};\
1280
+\
1281
+class MKeepAliveObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1282
+  explicit MKeepAliveObject(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1283
+    setGuard();\
1284
+    setResultType(MIRType::None);\
1285
+  }\
1286
+ public:\
1287
+  INSTRUCTION_HEADER(KeepAliveObject)\
1288
+  TRIVIAL_NEW_WRAPPERS\
1289
+  NAMED_OPERANDS((0, object))\
1290
+};\
1291
+\
1292
+class MArrayPush : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1293
+  explicit MArrayPush(MDefinition* object, MDefinition* value) : MBinaryInstruction(classOpcode, object, value) {\
1294
+    setResultType(MIRType::Int32);\
1295
+  }\
1296
+ public:\
1297
+  INSTRUCTION_HEADER(ArrayPush)\
1298
+  TRIVIAL_NEW_WRAPPERS\
1299
+  NAMED_OPERANDS((0, object), (1, value))\
1300
+  AliasSet getAliasSet() const override;\
1301
+  void computeRange(TempAllocator& alloc) override;\
1302
+  ALLOW_CLONE(MArrayPush)\
1303
+};\
1304
+\
1305
+class MArraySlice : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>, UnboxedInt32Policy<2>>::Data {\
1306
+  CompilerGCPointer<JSObject*> templateObj_;\
1307
+  gc::InitialHeap initialHeap_;\
1308
+  explicit MArraySlice(MDefinition* object, MDefinition* begin, MDefinition* end, JSObject* templateObj, gc::InitialHeap initialHeap) : MTernaryInstruction(classOpcode, object, begin, end), templateObj_(templateObj), initialHeap_(initialHeap) {\
1309
+    setResultType(MIRType::Object);\
1310
+  }\
1311
+ public:\
1312
+  JSObject* templateObj() const { return templateObj_; }\
1313
+  gc::InitialHeap initialHeap() const { return initialHeap_; }\
1314
+  INSTRUCTION_HEADER(ArraySlice)\
1315
+  TRIVIAL_NEW_WRAPPERS\
1316
+  NAMED_OPERANDS((0, object), (1, begin), (2, end))\
1317
+  bool possiblyCalls() const override { return true; }\
1318
+};\
1319
+\
1320
+class MArrayJoin : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, StringPolicy<1>>::Data {\
1321
+  explicit MArrayJoin(MDefinition* array, MDefinition* sep) : MBinaryInstruction(classOpcode, array, sep) {\
1322
+    setResultType(MIRType::String);\
1323
+  }\
1324
+ public:\
1325
+  INSTRUCTION_HEADER(ArrayJoin)\
1326
+  TRIVIAL_NEW_WRAPPERS\
1327
+  NAMED_OPERANDS((0, array), (1, sep))\
1328
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1329
+  bool possiblyCalls() const override { return true; }\
1330
+};\
1331
+\
1332
+class MHomeObjectSuperBase : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1333
+  explicit MHomeObjectSuperBase(MDefinition* homeObject) : MUnaryInstruction(classOpcode, homeObject) {\
1334
+    setGuard();\
1335
+    setResultType(MIRType::Object);\
1336
+  }\
1337
+ public:\
1338
+  INSTRUCTION_HEADER(HomeObjectSuperBase)\
1339
+  TRIVIAL_NEW_WRAPPERS\
1340
+  NAMED_OPERANDS((0, homeObject))\
1341
+  AliasSet getAliasSet() const override;\
1342
+};\
1343
+\
1344
+class MBindNameCache : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1345
+  explicit MBindNameCache(MDefinition* envChain) : MUnaryInstruction(classOpcode, envChain) {\
1346
+    setResultType(MIRType::Object);\
1347
+  }\
1348
+ public:\
1349
+  INSTRUCTION_HEADER(BindNameCache)\
1350
+  TRIVIAL_NEW_WRAPPERS\
1351
+  NAMED_OPERANDS((0, envChain))\
1352
+};\
1353
+\
1354
+class MCallBindVar : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1355
+  explicit MCallBindVar(MDefinition* environmentChain) : MUnaryInstruction(classOpcode, environmentChain) {\
1356
+    setMovable();\
1357
+    setResultType(MIRType::Object);\
1358
+  }\
1359
+ public:\
1360
+  INSTRUCTION_HEADER(CallBindVar)\
1361
+  TRIVIAL_NEW_WRAPPERS\
1362
+  NAMED_OPERANDS((0, environmentChain))\
1363
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1364
+  bool congruentTo(const MDefinition* ins) const override;\
1365
+};\
1366
+\
1367
+class MGuardShape : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1368
+  CompilerGCPointer<Shape*> shape_;\
1369
+  explicit MGuardShape(MDefinition* object, Shape* shape) : MUnaryInstruction(classOpcode, object), shape_(shape) {\
1370
+    setGuard();\
1371
+    setMovable();\
1372
+    setResultType(MIRType::Object);\
1373
+  }\
1374
+ public:\
1375
+  Shape* shape() const { return shape_; }\
1376
+  INSTRUCTION_HEADER(GuardShape)\
1377
+  TRIVIAL_NEW_WRAPPERS\
1378
+  NAMED_OPERANDS((0, object))\
1379
+  AliasSet getAliasSet() const override;\
1380
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1381
+  bool congruentTo(const MDefinition* ins) const override;\
1382
+};\
1383
+\
1384
+class MGuardIsNativeObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1385
+  explicit MGuardIsNativeObject(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1386
+    setGuard();\
1387
+    setMovable();\
1388
+    setResultType(MIRType::Object);\
1389
+  }\
1390
+ public:\
1391
+  INSTRUCTION_HEADER(GuardIsNativeObject)\
1392
+  TRIVIAL_NEW_WRAPPERS\
1393
+  NAMED_OPERANDS((0, object))\
1394
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1395
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1396
+};\
1397
+\
1398
+class MGuardIsProxy : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1399
+  explicit MGuardIsProxy(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1400
+    setGuard();\
1401
+    setMovable();\
1402
+    setResultType(MIRType::Object);\
1403
+  }\
1404
+ public:\
1405
+  INSTRUCTION_HEADER(GuardIsProxy)\
1406
+  TRIVIAL_NEW_WRAPPERS\
1407
+  NAMED_OPERANDS((0, object))\
1408
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1409
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1410
+};\
1411
+\
1412
+class MGuardIsNotDOMProxy : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1413
+  explicit MGuardIsNotDOMProxy(MDefinition* proxy) : MUnaryInstruction(classOpcode, proxy) {\
1414
+    setGuard();\
1415
+    setMovable();\
1416
+    setResultType(MIRType::Object);\
1417
+  }\
1418
+ public:\
1419
+  INSTRUCTION_HEADER(GuardIsNotDOMProxy)\
1420
+  TRIVIAL_NEW_WRAPPERS\
1421
+  NAMED_OPERANDS((0, proxy))\
1422
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1423
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1424
+};\
1425
+\
1426
+class MGuardIsNotProxy : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1427
+  explicit MGuardIsNotProxy(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1428
+    setGuard();\
1429
+    setMovable();\
1430
+    setResultType(MIRType::Object);\
1431
+  }\
1432
+ public:\
1433
+  INSTRUCTION_HEADER(GuardIsNotProxy)\
1434
+  TRIVIAL_NEW_WRAPPERS\
1435
+  NAMED_OPERANDS((0, object))\
1436
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1437
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1438
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1439
+};\
1440
+\
1441
+class MProxyGet : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1442
+  jsid id_;\
1443
+  explicit MProxyGet(MDefinition* proxy, jsid id) : MUnaryInstruction(classOpcode, proxy), id_(id) {\
1444
+    setResultType(MIRType::Value);\
1445
+  }\
1446
+ public:\
1447
+  jsid id() const { return id_; }\
1448
+  INSTRUCTION_HEADER(ProxyGet)\
1449
+  TRIVIAL_NEW_WRAPPERS\
1450
+  NAMED_OPERANDS((0, proxy))\
1451
+  bool possiblyCalls() const override { return true; }\
1452
+};\
1453
+\
1454
+class MProxyGetByValue : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1455
+  explicit MProxyGetByValue(MDefinition* proxy, MDefinition* idVal) : MBinaryInstruction(classOpcode, proxy, idVal) {\
1456
+    setResultType(MIRType::Value);\
1457
+  }\
1458
+ public:\
1459
+  INSTRUCTION_HEADER(ProxyGetByValue)\
1460
+  TRIVIAL_NEW_WRAPPERS\
1461
+  NAMED_OPERANDS((0, proxy), (1, idVal))\
1462
+  bool possiblyCalls() const override { return true; }\
1463
+};\
1464
+\
1465
+class MProxyHasProp : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1466
+  bool hasOwn_;\
1467
+  explicit MProxyHasProp(MDefinition* proxy, MDefinition* idVal, bool hasOwn) : MBinaryInstruction(classOpcode, proxy, idVal), hasOwn_(hasOwn) {\
1468
+    setResultType(MIRType::Boolean);\
1469
+  }\
1470
+ public:\
1471
+  bool hasOwn() const { return hasOwn_; }\
1472
+  INSTRUCTION_HEADER(ProxyHasProp)\
1473
+  TRIVIAL_NEW_WRAPPERS\
1474
+  NAMED_OPERANDS((0, proxy), (1, idVal))\
1475
+  bool possiblyCalls() const override { return true; }\
1476
+};\
1477
+\
1478
+class MProxySet : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1479
+  jsid id_;\
1480
+  bool strict_;\
1481
+  explicit MProxySet(MDefinition* proxy, MDefinition* rhs, jsid id, bool strict) : MBinaryInstruction(classOpcode, proxy, rhs), id_(id), strict_(strict) {\
1482
+  }\
1483
+ public:\
1484
+  jsid id() const { return id_; }\
1485
+  bool strict() const { return strict_; }\
1486
+  INSTRUCTION_HEADER(ProxySet)\
1487
+  TRIVIAL_NEW_WRAPPERS\
1488
+  NAMED_OPERANDS((0, proxy), (1, rhs))\
1489
+  bool possiblyCalls() const override { return true; }\
1490
+};\
1491
+\
1492
+class MProxySetByValue : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>, BoxPolicy<2>>::Data {\
1493
+  bool strict_;\
1494
+  explicit MProxySetByValue(MDefinition* proxy, MDefinition* idVal, MDefinition* rhs, bool strict) : MTernaryInstruction(classOpcode, proxy, idVal, rhs), strict_(strict) {\
1495
+  }\
1496
+ public:\
1497
+  bool strict() const { return strict_; }\
1498
+  INSTRUCTION_HEADER(ProxySetByValue)\
1499
+  TRIVIAL_NEW_WRAPPERS\
1500
+  NAMED_OPERANDS((0, proxy), (1, idVal), (2, rhs))\
1501
+  bool possiblyCalls() const override { return true; }\
1502
+};\
1503
+\
1504
+class MCallSetArrayLength : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1505
+  bool strict_;\
1506
+  explicit MCallSetArrayLength(MDefinition* obj, MDefinition* rhs, bool strict) : MBinaryInstruction(classOpcode, obj, rhs), strict_(strict) {\
1507
+  }\
1508
+ public:\
1509
+  bool strict() const { return strict_; }\
1510
+  INSTRUCTION_HEADER(CallSetArrayLength)\
1511
+  TRIVIAL_NEW_WRAPPERS\
1512
+  NAMED_OPERANDS((0, obj), (1, rhs))\
1513
+  bool possiblyCalls() const override { return true; }\
1514
+};\
1515
+\
1516
+class MMegamorphicLoadSlot : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1517
+  CompilerGCPointer<PropertyName*> name_;\
1518
+  explicit MMegamorphicLoadSlot(MDefinition* object, PropertyName* name) : MUnaryInstruction(classOpcode, object), name_(name) {\
1519
+    setGuard();\
1520
+    setResultType(MIRType::Value);\
1521
+  }\
1522
+ public:\
1523
+  PropertyName* name() const { return name_; }\
1524
+  INSTRUCTION_HEADER(MegamorphicLoadSlot)\
1525
+  TRIVIAL_NEW_WRAPPERS\
1526
+  NAMED_OPERANDS((0, object))\
1527
+  AliasSet getAliasSet() const override;\
1528
+  bool congruentTo(const MDefinition* ins) const override;\
1529
+  bool possiblyCalls() const override { return true; }\
1530
+};\
1531
+\
1532
+class MMegamorphicLoadSlotByValue : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1533
+  explicit MMegamorphicLoadSlotByValue(MDefinition* object, MDefinition* idVal) : MBinaryInstruction(classOpcode, object, idVal) {\
1534
+    setGuard();\
1535
+    setResultType(MIRType::Value);\
1536
+  }\
1537
+ public:\
1538
+  INSTRUCTION_HEADER(MegamorphicLoadSlotByValue)\
1539
+  TRIVIAL_NEW_WRAPPERS\
1540
+  NAMED_OPERANDS((0, object), (1, idVal))\
1541
+  AliasSet getAliasSet() const override;\
1542
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1543
+  bool possiblyCalls() const override { return true; }\
1544
+};\
1545
+\
1546
+class MMegamorphicStoreSlot : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1547
+  CompilerGCPointer<PropertyName*> name_;\
1548
+  explicit MMegamorphicStoreSlot(MDefinition* object, MDefinition* rhs, PropertyName* name) : MBinaryInstruction(classOpcode, object, rhs), name_(name) {\
1549
+  }\
1550
+ public:\
1551
+  PropertyName* name() const { return name_; }\
1552
+  INSTRUCTION_HEADER(MegamorphicStoreSlot)\
1553
+  TRIVIAL_NEW_WRAPPERS\
1554
+  NAMED_OPERANDS((0, object), (1, rhs))\
1555
+  AliasSet getAliasSet() const override;\
1556
+  bool congruentTo(const MDefinition* ins) const override;\
1557
+  bool possiblyCalls() const override { return true; }\
1558
+};\
1559
+\
1560
+class MMegamorphicHasProp : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1561
+  bool hasOwn_;\
1562
+  explicit MMegamorphicHasProp(MDefinition* object, MDefinition* idVal, bool hasOwn) : MBinaryInstruction(classOpcode, object, idVal), hasOwn_(hasOwn) {\
1563
+    setGuard();\
1564
+    setResultType(MIRType::Boolean);\
1565
+  }\
1566
+ public:\
1567
+  bool hasOwn() const { return hasOwn_; }\
1568
+  INSTRUCTION_HEADER(MegamorphicHasProp)\
1569
+  TRIVIAL_NEW_WRAPPERS\
1570
+  NAMED_OPERANDS((0, object), (1, idVal))\
1571
+  AliasSet getAliasSet() const override;\
1572
+  bool congruentTo(const MDefinition* ins) const override;\
1573
+  bool possiblyCalls() const override { return true; }\
1574
+};\
1575
+\
1576
+class MGuardIsNotArrayBufferMaybeShared : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1577
+  explicit MGuardIsNotArrayBufferMaybeShared(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1578
+    setGuard();\
1579
+    setMovable();\
1580
+    setResultType(MIRType::Object);\
1581
+  }\
1582
+ public:\
1583
+  INSTRUCTION_HEADER(GuardIsNotArrayBufferMaybeShared)\
1584
+  TRIVIAL_NEW_WRAPPERS\
1585
+  NAMED_OPERANDS((0, object))\
1586
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1587
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1588
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1589
+};\
1590
+\
1591
+class MGuardIsTypedArray : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1592
+  explicit MGuardIsTypedArray(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1593
+    setGuard();\
1594
+    setMovable();\
1595
+    setResultType(MIRType::Object);\
1596
+  }\
1597
+ public:\
1598
+  INSTRUCTION_HEADER(GuardIsTypedArray)\
1599
+  TRIVIAL_NEW_WRAPPERS\
1600
+  NAMED_OPERANDS((0, object))\
1601
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1602
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1603
+};\
1604
+\
1605
+class MNurseryObject : public MNullaryInstruction {\
1606
+  uint32_t nurseryIndex_;\
1607
+  explicit MNurseryObject(uint32_t nurseryIndex) : MNullaryInstruction(classOpcode), nurseryIndex_(nurseryIndex) {\
1608
+    setMovable();\
1609
+    setResultType(MIRType::Object);\
1610
+  }\
1611
+ public:\
1612
+  uint32_t nurseryIndex() const { return nurseryIndex_; }\
1613
+  INSTRUCTION_HEADER(NurseryObject)\
1614
+  TRIVIAL_NEW_WRAPPERS\
1615
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1616
+  bool congruentTo(const MDefinition* ins) const override;\
1617
+};\
1618
+\
1619
+class MGuardNullOrUndefined : public MUnaryInstruction, public BoxPolicy<0>::Data {\
1620
+  explicit MGuardNullOrUndefined(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
1621
+    setGuard();\
1622
+    setMovable();\
1623
+    setResultType(MIRType::Value);\
1624
+  }\
1625
+ public:\
1626
+  INSTRUCTION_HEADER(GuardNullOrUndefined)\
1627
+  TRIVIAL_NEW_WRAPPERS\
1628
+  NAMED_OPERANDS((0, value))\
1629
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1630
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1631
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1632
+};\
1633
+\
1634
+class MGuardFunctionIsNonBuiltinCtor : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1635
+  explicit MGuardFunctionIsNonBuiltinCtor(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
1636
+    setGuard();\
1637
+    setMovable();\
1638
+    setResultType(MIRType::Object);\
1639
+  }\
1640
+ public:\
1641
+  INSTRUCTION_HEADER(GuardFunctionIsNonBuiltinCtor)\
1642
+  TRIVIAL_NEW_WRAPPERS\
1643
+  NAMED_OPERANDS((0, function))\
1644
+  AliasSet getAliasSet() const override;\
1645
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1646
+};\
1647
+\
1648
+class MGuardFunctionKind : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1649
+  FunctionFlags::FunctionKind expected_;\
1650
+  bool bailOnEquality_;\
1651
+  explicit MGuardFunctionKind(MDefinition* function, FunctionFlags::FunctionKind expected, bool bailOnEquality) : MUnaryInstruction(classOpcode, function), expected_(expected), bailOnEquality_(bailOnEquality) {\
1652
+    setGuard();\
1653
+    setMovable();\
1654
+    setResultType(MIRType::Object);\
1655
+  }\
1656
+ public:\
1657
+  FunctionFlags::FunctionKind expected() const { return expected_; }\
1658
+  bool bailOnEquality() const { return bailOnEquality_; }\
1659
+  INSTRUCTION_HEADER(GuardFunctionKind)\
1660
+  TRIVIAL_NEW_WRAPPERS\
1661
+  NAMED_OPERANDS((0, function))\
1662
+  AliasSet getAliasSet() const override;\
1663
+  bool congruentTo(const MDefinition* ins) const override;\
1664
+};\
1665
+\
1666
+class MGuardFunctionScript : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1667
+  CompilerGCPointer<BaseScript*> expected_;\
1668
+  uint16_t nargs_;\
1669
+  FunctionFlags flags_;\
1670
+  explicit MGuardFunctionScript(MDefinition* function, BaseScript* expected, uint16_t nargs, FunctionFlags flags) : MUnaryInstruction(classOpcode, function), expected_(expected), nargs_(nargs), flags_(flags) {\
1671
+    setGuard();\
1672
+    setMovable();\
1673
+    setResultType(MIRType::Object);\
1674
+  }\
1675
+ public:\
1676
+  BaseScript* expected() const { return expected_; }\
1677
+  uint16_t nargs() const { return nargs_; }\
1678
+  FunctionFlags flags() const { return flags_; }\
1679
+  INSTRUCTION_HEADER(GuardFunctionScript)\
1680
+  TRIVIAL_NEW_WRAPPERS\
1681
+  NAMED_OPERANDS((0, function))\
1682
+  AliasSet getAliasSet() const override;\
1683
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1684
+  bool congruentTo(const MDefinition* ins) const override;\
1685
+};\
1686
+\
1687
+class MGuardSpecificAtom : public MUnaryInstruction, public StringPolicy<0>::Data {\
1688
+  CompilerGCPointer<JSAtom*> atom_;\
1689
+  explicit MGuardSpecificAtom(MDefinition* str, JSAtom* atom) : MUnaryInstruction(classOpcode, str), atom_(atom) {\
1690
+    setGuard();\
1691
+    setMovable();\
1692
+    setResultType(MIRType::String);\
1693
+  }\
1694
+ public:\
1695
+  JSAtom* atom() const { return atom_; }\
1696
+  INSTRUCTION_HEADER(GuardSpecificAtom)\
1697
+  TRIVIAL_NEW_WRAPPERS\
1698
+  NAMED_OPERANDS((0, str))\
1699
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1700
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1701
+  bool congruentTo(const MDefinition* ins) const override;\
1702
+};\
1703
+\
1704
+class MGuardStringToIndex : public MUnaryInstruction, public StringPolicy<0>::Data {\
1705
+  explicit MGuardStringToIndex(MDefinition* string) : MUnaryInstruction(classOpcode, string) {\
1706
+    setGuard();\
1707
+    setMovable();\
1708
+    setResultType(MIRType::Int32);\
1709
+  }\
1710
+ public:\
1711
+  INSTRUCTION_HEADER(GuardStringToIndex)\
1712
+  TRIVIAL_NEW_WRAPPERS\
1713
+  NAMED_OPERANDS((0, string))\
1714
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1715
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1716
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1717
+};\
1718
+\
1719
+class MGuardStringToInt32 : public MUnaryInstruction, public StringPolicy<0>::Data {\
1720
+  explicit MGuardStringToInt32(MDefinition* string) : MUnaryInstruction(classOpcode, string) {\
1721
+    setGuard();\
1722
+    setMovable();\
1723
+    setResultType(MIRType::Int32);\
1724
+  }\
1725
+ public:\
1726
+  INSTRUCTION_HEADER(GuardStringToInt32)\
1727
+  TRIVIAL_NEW_WRAPPERS\
1728
+  NAMED_OPERANDS((0, string))\
1729
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1730
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1731
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1732
+};\
1733
+\
1734
+class MGuardStringToDouble : public MUnaryInstruction, public StringPolicy<0>::Data {\
1735
+  explicit MGuardStringToDouble(MDefinition* string) : MUnaryInstruction(classOpcode, string) {\
1736
+    setGuard();\
1737
+    setMovable();\
1738
+    setResultType(MIRType::Double);\
1739
+  }\
1740
+ public:\
1741
+  INSTRUCTION_HEADER(GuardStringToDouble)\
1742
+  TRIVIAL_NEW_WRAPPERS\
1743
+  NAMED_OPERANDS((0, string))\
1744
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1745
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1746
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1747
+};\
1748
+\
1749
+class MGuardNoDenseElements : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1750
+  explicit MGuardNoDenseElements(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
1751
+    setGuard();\
1752
+    setMovable();\
1753
+    setResultType(MIRType::Object);\
1754
+  }\
1755
+ public:\
1756
+  INSTRUCTION_HEADER(GuardNoDenseElements)\
1757
+  TRIVIAL_NEW_WRAPPERS\
1758
+  NAMED_OPERANDS((0, object))\
1759
+  AliasSet getAliasSet() const override;\
1760
+};\
1761
+\
1762
+class MFunctionEnvironment : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1763
+  explicit MFunctionEnvironment(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
1764
+    setMovable();\
1765
+    setResultType(MIRType::Object);\
1766
+  }\
1767
+ public:\
1768
+  INSTRUCTION_HEADER(FunctionEnvironment)\
1769
+  TRIVIAL_NEW_WRAPPERS\
1770
+  NAMED_OPERANDS((0, function))\
1771
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1772
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1773
+};\
1774
+\
1775
+class MNewClassBodyEnvironmentObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1776
+  CompilerGCPointer<ClassBodyScope*> scope_;\
1777
+  explicit MNewClassBodyEnvironmentObject(MDefinition* enclosing, ClassBodyScope* scope) : MUnaryInstruction(classOpcode, enclosing), scope_(scope) {\
1778
+    setResultType(MIRType::Object);\
1779
+  }\
1780
+ public:\
1781
+  ClassBodyScope* scope() const { return scope_; }\
1782
+  INSTRUCTION_HEADER(NewClassBodyEnvironmentObject)\
1783
+  TRIVIAL_NEW_WRAPPERS\
1784
+  NAMED_OPERANDS((0, enclosing))\
1785
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1786
+  bool possiblyCalls() const override { return true; }\
1787
+};\
1788
+\
1789
+class MCopyLexicalEnvironmentObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1790
+  bool copySlots_;\
1791
+  explicit MCopyLexicalEnvironmentObject(MDefinition* env, bool copySlots) : MUnaryInstruction(classOpcode, env), copySlots_(copySlots) {\
1792
+    setResultType(MIRType::Object);\
1793
+  }\
1794
+ public:\
1795
+  bool copySlots() const { return copySlots_; }\
1796
+  INSTRUCTION_HEADER(CopyLexicalEnvironmentObject)\
1797
+  TRIVIAL_NEW_WRAPPERS\
1798
+  NAMED_OPERANDS((0, env))\
1799
+  AliasSet getAliasSet() const override;\
1800
+  bool possiblyCalls() const override { return true; }\
1801
+};\
1802
+\
1803
+class MHomeObject : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1804
+  explicit MHomeObject(MDefinition* function) : MUnaryInstruction(classOpcode, function) {\
1805
+    setMovable();\
1806
+    setResultType(MIRType::Object);\
1807
+  }\
1808
+ public:\
1809
+  INSTRUCTION_HEADER(HomeObject)\
1810
+  TRIVIAL_NEW_WRAPPERS\
1811
+  NAMED_OPERANDS((0, function))\
1812
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1813
+};\
1814
+\
1815
+class MAllocateAndStoreSlot : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
1816
+  uint32_t slotOffset_;\
1817
+  CompilerGCPointer<Shape*> shape_;\
1818
+  uint32_t numNewSlots_;\
1819
+  explicit MAllocateAndStoreSlot(MDefinition* object, MDefinition* value, uint32_t slotOffset, Shape* shape, uint32_t numNewSlots) : MBinaryInstruction(classOpcode, object, value), slotOffset_(slotOffset), shape_(shape), numNewSlots_(numNewSlots) {\
1820
+  }\
1821
+ public:\
1822
+  uint32_t slotOffset() const { return slotOffset_; }\
1823
+  Shape* shape() const { return shape_; }\
1824
+  uint32_t numNewSlots() const { return numNewSlots_; }\
1825
+  INSTRUCTION_HEADER(AllocateAndStoreSlot)\
1826
+  TRIVIAL_NEW_WRAPPERS\
1827
+  NAMED_OPERANDS((0, object), (1, value))\
1828
+  AliasSet getAliasSet() const override;\
1829
+  bool possiblyCalls() const override { return true; }\
1830
+};\
1831
+\
1832
+class MGetNameCache : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1833
+  explicit MGetNameCache(MDefinition* envObj) : MUnaryInstruction(classOpcode, envObj) {\
1834
+    setResultType(MIRType::Value);\
1835
+  }\
1836
+ public:\
1837
+  INSTRUCTION_HEADER(GetNameCache)\
1838
+  TRIVIAL_NEW_WRAPPERS\
1839
+  NAMED_OPERANDS((0, envObj))\
1840
+};\
1841
+\
1842
+class MCallGetIntrinsicValue : public MNullaryInstruction {\
1843
+  CompilerGCPointer<PropertyName*> name_;\
1844
+  explicit MCallGetIntrinsicValue(PropertyName* name) : MNullaryInstruction(classOpcode), name_(name) {\
1845
+    setResultType(MIRType::Value);\
1846
+  }\
1847
+ public:\
1848
+  PropertyName* name() const { return name_; }\
1849
+  INSTRUCTION_HEADER(CallGetIntrinsicValue)\
1850
+  TRIVIAL_NEW_WRAPPERS\
1851
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1852
+  bool possiblyCalls() const override { return true; }\
1853
+};\
1854
+\
1855
+class MDeleteProperty : public MUnaryInstruction, public BoxPolicy<0>::Data {\
1856
+  CompilerGCPointer<PropertyName*> name_;\
1857
+  bool strict_;\
1858
+  explicit MDeleteProperty(MDefinition* value, PropertyName* name, bool strict) : MUnaryInstruction(classOpcode, value), name_(name), strict_(strict) {\
1859
+    setResultType(MIRType::Boolean);\
1860
+  }\
1861
+ public:\
1862
+  PropertyName* name() const { return name_; }\
1863
+  bool strict() const { return strict_; }\
1864
+  INSTRUCTION_HEADER(DeleteProperty)\
1865
+  TRIVIAL_NEW_WRAPPERS\
1866
+  NAMED_OPERANDS((0, value))\
1867
+};\
1868
+\
1869
+class MDeleteElement : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, BoxPolicy<1>>::Data {\
1870
+  bool strict_;\
1871
+  explicit MDeleteElement(MDefinition* value, MDefinition* index, bool strict) : MBinaryInstruction(classOpcode, value, index), strict_(strict) {\
1872
+    setResultType(MIRType::Boolean);\
1873
+  }\
1874
+ public:\
1875
+  bool strict() const { return strict_; }\
1876
+  INSTRUCTION_HEADER(DeleteElement)\
1877
+  TRIVIAL_NEW_WRAPPERS\
1878
+  NAMED_OPERANDS((0, value), (1, index))\
1879
+};\
1880
+\
1881
+class MLoadDOMExpandoValue : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1882
+  explicit MLoadDOMExpandoValue(MDefinition* proxy) : MUnaryInstruction(classOpcode, proxy) {\
1883
+    setMovable();\
1884
+    setResultType(MIRType::Value);\
1885
+  }\
1886
+ public:\
1887
+  INSTRUCTION_HEADER(LoadDOMExpandoValue)\
1888
+  TRIVIAL_NEW_WRAPPERS\
1889
+  NAMED_OPERANDS((0, proxy))\
1890
+  AliasSet getAliasSet() const override;\
1891
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1892
+};\
1893
+\
1894
+class MLoadDOMExpandoValueIgnoreGeneration : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1895
+  explicit MLoadDOMExpandoValueIgnoreGeneration(MDefinition* proxy) : MUnaryInstruction(classOpcode, proxy) {\
1896
+    setMovable();\
1897
+    setResultType(MIRType::Value);\
1898
+  }\
1899
+ public:\
1900
+  INSTRUCTION_HEADER(LoadDOMExpandoValueIgnoreGeneration)\
1901
+  TRIVIAL_NEW_WRAPPERS\
1902
+  NAMED_OPERANDS((0, proxy))\
1903
+  AliasSet getAliasSet() const override;\
1904
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1905
+};\
1906
+\
1907
+class MGuardDOMExpandoMissingOrGuardShape : public MUnaryInstruction, public BoxPolicy<0>::Data {\
1908
+  CompilerGCPointer<Shape*> shape_;\
1909
+  explicit MGuardDOMExpandoMissingOrGuardShape(MDefinition* expando, Shape* shape) : MUnaryInstruction(classOpcode, expando), shape_(shape) {\
1910
+    setGuard();\
1911
+    setMovable();\
1912
+    setResultType(MIRType::Value);\
1913
+  }\
1914
+ public:\
1915
+  Shape* shape() const { return shape_; }\
1916
+  INSTRUCTION_HEADER(GuardDOMExpandoMissingOrGuardShape)\
1917
+  TRIVIAL_NEW_WRAPPERS\
1918
+  NAMED_OPERANDS((0, expando))\
1919
+  AliasSet getAliasSet() const override;\
1920
+  bool congruentTo(const MDefinition* ins) const override;\
1921
+};\
1922
+\
1923
+class MStringLength : public MUnaryInstruction, public StringPolicy<0>::Data {\
1924
+  explicit MStringLength(MDefinition* string) : MUnaryInstruction(classOpcode, string) {\
1925
+    setMovable();\
1926
+    setResultType(MIRType::Int32);\
1927
+  }\
1928
+ public:\
1929
+  INSTRUCTION_HEADER(StringLength)\
1930
+  TRIVIAL_NEW_WRAPPERS\
1931
+  NAMED_OPERANDS((0, string))\
1932
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1933
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
1934
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
1935
+  void computeRange(TempAllocator& alloc) override;\
1936
+  [[nodiscard]] bool writeRecoverData(\
1937
+    CompactBufferWriter& writer) const override;\
1938
+  bool canRecoverOnBailout() const override { return true; }\
1939
+  ALLOW_CLONE(MStringLength)\
1940
+};\
1941
+\
1942
+class MOptimizeSpreadCallCache : public MUnaryInstruction, public BoxPolicy<0>::Data {\
1943
+  explicit MOptimizeSpreadCallCache(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
1944
+    setResultType(MIRType::Boolean);\
1945
+  }\
1946
+ public:\
1947
+  INSTRUCTION_HEADER(OptimizeSpreadCallCache)\
1948
+  TRIVIAL_NEW_WRAPPERS\
1949
+  NAMED_OPERANDS((0, value))\
1950
+};\
1951
+\
1952
+class MIteratorMore : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1953
+  explicit MIteratorMore(MDefinition* iterator) : MUnaryInstruction(classOpcode, iterator) {\
1954
+    setResultType(MIRType::Value);\
1955
+  }\
1956
+ public:\
1957
+  INSTRUCTION_HEADER(IteratorMore)\
1958
+  TRIVIAL_NEW_WRAPPERS\
1959
+  NAMED_OPERANDS((0, iterator))\
1960
+};\
1961
+\
1962
+class MIsNoIter : public MUnaryInstruction, public NoTypePolicy::Data {\
1963
+  explicit MIsNoIter(MDefinition* def) : MUnaryInstruction(classOpcode, def) {\
1964
+    setMovable();\
1965
+    setResultType(MIRType::Boolean);\
1966
+  }\
1967
+ public:\
1968
+  INSTRUCTION_HEADER(IsNoIter)\
1969
+  TRIVIAL_NEW_WRAPPERS\
1970
+  NAMED_OPERANDS((0, def))\
1971
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
1972
+};\
1973
+\
1974
+class MIteratorEnd : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
1975
+  explicit MIteratorEnd(MDefinition* iterator) : MUnaryInstruction(classOpcode, iterator) {\
1976
+  }\
1977
+ public:\
1978
+  INSTRUCTION_HEADER(IteratorEnd)\
1979
+  TRIVIAL_NEW_WRAPPERS\
1980
+  NAMED_OPERANDS((0, iterator))\
1981
+};\
1982
+\
1983
+class MInstanceOfCache : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, ObjectPolicy<1>>::Data {\
1984
+  explicit MInstanceOfCache(MDefinition* obj, MDefinition* proto) : MBinaryInstruction(classOpcode, obj, proto) {\
1985
+    setResultType(MIRType::Boolean);\
1986
+  }\
1987
+ public:\
1988
+  INSTRUCTION_HEADER(InstanceOfCache)\
1989
+  TRIVIAL_NEW_WRAPPERS\
1990
+  NAMED_OPERANDS((0, obj), (1, proto))\
1991
+};\
1992
+\
1993
+class MArgumentsLength : public MNullaryInstruction {\
1994
+  explicit MArgumentsLength() : MNullaryInstruction(classOpcode) {\
1995
+    setMovable();\
1996
+    setResultType(MIRType::Int32);\
1997
+  }\
1998
+ public:\
1999
+  INSTRUCTION_HEADER(ArgumentsLength)\
2000
+  TRIVIAL_NEW_WRAPPERS\
2001
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2002
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2003
+  void computeRange(TempAllocator& alloc) override;\
2004
+  [[nodiscard]] bool writeRecoverData(\
2005
+    CompactBufferWriter& writer) const override;\
2006
+  bool canRecoverOnBailout() const override { return true; }\
2007
+};\
2008
+\
2009
+class MGetFrameArgument : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
2010
+  explicit MGetFrameArgument(MDefinition* index) : MUnaryInstruction(classOpcode, index) {\
2011
+    setMovable();\
2012
+    setResultType(MIRType::Value);\
2013
+  }\
2014
+ public:\
2015
+  INSTRUCTION_HEADER(GetFrameArgument)\
2016
+  TRIVIAL_NEW_WRAPPERS\
2017
+  NAMED_OPERANDS((0, index))\
2018
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2019
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2020
+};\
2021
+\
2022
+class MNewTarget : public MNullaryInstruction {\
2023
+  explicit MNewTarget() : MNullaryInstruction(classOpcode) {\
2024
+    setMovable();\
2025
+    setResultType(MIRType::Value);\
2026
+  }\
2027
+ public:\
2028
+  INSTRUCTION_HEADER(NewTarget)\
2029
+  TRIVIAL_NEW_WRAPPERS\
2030
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2031
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2032
+};\
2033
+\
2034
+class MRest : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
2035
+  unsigned numFormals_;\
2036
+  CompilerGCPointer<Shape*> shape_;\
2037
+  explicit MRest(MDefinition* numActuals, unsigned numFormals, Shape* shape) : MUnaryInstruction(classOpcode, numActuals), numFormals_(numFormals), shape_(shape) {\
2038
+    setResultType(MIRType::Object);\
2039
+  }\
2040
+ public:\
2041
+  unsigned numFormals() const { return numFormals_; }\
2042
+  Shape* shape() const { return shape_; }\
2043
+  INSTRUCTION_HEADER(Rest)\
2044
+  TRIVIAL_NEW_WRAPPERS\
2045
+  NAMED_OPERANDS((0, numActuals))\
2046
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2047
+  bool possiblyCalls() const override { return true; }\
2048
+};\
2049
+\
2050
+class MNewNamedLambdaObject : public MNullaryInstruction {\
2051
+  CompilerGCPointer<NamedLambdaObject*> templateObj_;\
2052
+  explicit MNewNamedLambdaObject(NamedLambdaObject* templateObj) : MNullaryInstruction(classOpcode), templateObj_(templateObj) {\
2053
+    setResultType(MIRType::Object);\
2054
+  }\
2055
+ public:\
2056
+  NamedLambdaObject* templateObj() const { return templateObj_; }\
2057
+  INSTRUCTION_HEADER(NewNamedLambdaObject)\
2058
+  TRIVIAL_NEW_WRAPPERS\
2059
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2060
+};\
2061
+\
2062
+class MIsConstructor : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2063
+  explicit MIsConstructor(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
2064
+    setMovable();\
2065
+    setResultType(MIRType::Boolean);\
2066
+  }\
2067
+ public:\
2068
+  INSTRUCTION_HEADER(IsConstructor)\
2069
+  TRIVIAL_NEW_WRAPPERS\
2070
+  NAMED_OPERANDS((0, object))\
2071
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2072
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2073
+};\
2074
+\
2075
+class MIsCrossRealmArrayConstructor : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2076
+  explicit MIsCrossRealmArrayConstructor(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
2077
+    setMovable();\
2078
+    setResultType(MIRType::Boolean);\
2079
+  }\
2080
+ public:\
2081
+  INSTRUCTION_HEADER(IsCrossRealmArrayConstructor)\
2082
+  TRIVIAL_NEW_WRAPPERS\
2083
+  NAMED_OPERANDS((0, object))\
2084
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2085
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2086
+};\
2087
+\
2088
+class MIsObject : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2089
+  explicit MIsObject(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
2090
+    setMovable();\
2091
+    setResultType(MIRType::Boolean);\
2092
+  }\
2093
+ public:\
2094
+  INSTRUCTION_HEADER(IsObject)\
2095
+  TRIVIAL_NEW_WRAPPERS\
2096
+  NAMED_OPERANDS((0, object))\
2097
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2098
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
2099
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2100
+};\
2101
+\
2102
+class MIsNullOrUndefined : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2103
+  explicit MIsNullOrUndefined(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
2104
+    setMovable();\
2105
+    setResultType(MIRType::Boolean);\
2106
+  }\
2107
+ public:\
2108
+  INSTRUCTION_HEADER(IsNullOrUndefined)\
2109
+  TRIVIAL_NEW_WRAPPERS\
2110
+  NAMED_OPERANDS((0, value))\
2111
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2112
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
2113
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2114
+};\
2115
+\
2116
+class MObjectClassToString : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2117
+  explicit MObjectClassToString(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
2118
+    setGuard();\
2119
+    setMovable();\
2120
+    setResultType(MIRType::String);\
2121
+  }\
2122
+ public:\
2123
+  INSTRUCTION_HEADER(ObjectClassToString)\
2124
+  TRIVIAL_NEW_WRAPPERS\
2125
+  NAMED_OPERANDS((0, object))\
2126
+  AliasSet getAliasSet() const override;\
2127
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2128
+  bool possiblyCalls() const override { return true; }\
2129
+};\
2130
+\
2131
+class MCheckReturn : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, BoxPolicy<1>>::Data {\
2132
+  explicit MCheckReturn(MDefinition* returnValue, MDefinition* thisValue) : MBinaryInstruction(classOpcode, returnValue, thisValue) {\
2133
+    setGuard();\
2134
+    setResultType(MIRType::Value);\
2135
+  }\
2136
+ public:\
2137
+  INSTRUCTION_HEADER(CheckReturn)\
2138
+  TRIVIAL_NEW_WRAPPERS\
2139
+  NAMED_OPERANDS((0, returnValue), (1, thisValue))\
2140
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2141
+};\
2142
+\
2143
+class MCheckThis : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2144
+  explicit MCheckThis(MDefinition* thisValue) : MUnaryInstruction(classOpcode, thisValue) {\
2145
+    setGuard();\
2146
+    setResultType(MIRType::Value);\
2147
+  }\
2148
+ public:\
2149
+  INSTRUCTION_HEADER(CheckThis)\
2150
+  TRIVIAL_NEW_WRAPPERS\
2151
+  NAMED_OPERANDS((0, thisValue))\
2152
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2153
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
2154
+};\
2155
+\
2156
+class MAsyncResolve : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
2157
+  AsyncFunctionResolveKind resolveKind_;\
2158
+  explicit MAsyncResolve(MDefinition* generator, MDefinition* valueOrReason, AsyncFunctionResolveKind resolveKind) : MBinaryInstruction(classOpcode, generator, valueOrReason), resolveKind_(resolveKind) {\
2159
+    setResultType(MIRType::Object);\
2160
+  }\
2161
+ public:\
2162
+  AsyncFunctionResolveKind resolveKind() const { return resolveKind_; }\
2163
+  INSTRUCTION_HEADER(AsyncResolve)\
2164
+  TRIVIAL_NEW_WRAPPERS\
2165
+  NAMED_OPERANDS((0, generator), (1, valueOrReason))\
2166
+};\
2167
+\
2168
+class MGeneratorReturn : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2169
+  explicit MGeneratorReturn(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
2170
+    setGuard();\
2171
+  }\
2172
+ public:\
2173
+  INSTRUCTION_HEADER(GeneratorReturn)\
2174
+  TRIVIAL_NEW_WRAPPERS\
2175
+  NAMED_OPERANDS((0, input))\
2176
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2177
+};\
2178
+\
2179
+class MAsyncAwait : public MBinaryInstruction, public MixPolicy<BoxPolicy<0>, ObjectPolicy<1>>::Data {\
2180
+  explicit MAsyncAwait(MDefinition* value, MDefinition* generator) : MBinaryInstruction(classOpcode, value, generator) {\
2181
+    setResultType(MIRType::Object);\
2182
+  }\
2183
+ public:\
2184
+  INSTRUCTION_HEADER(AsyncAwait)\
2185
+  TRIVIAL_NEW_WRAPPERS\
2186
+  NAMED_OPERANDS((0, value), (1, generator))\
2187
+};\
2188
+\
2189
+class MCheckThisReinit : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2190
+  explicit MCheckThisReinit(MDefinition* thisValue) : MUnaryInstruction(classOpcode, thisValue) {\
2191
+    setGuard();\
2192
+    setResultType(MIRType::Value);\
2193
+  }\
2194
+ public:\
2195
+  INSTRUCTION_HEADER(CheckThisReinit)\
2196
+  TRIVIAL_NEW_WRAPPERS\
2197
+  NAMED_OPERANDS((0, thisValue))\
2198
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2199
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
2200
+};\
2201
+\
2202
+class MCanSkipAwait : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2203
+  explicit MCanSkipAwait(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
2204
+    setResultType(MIRType::Boolean);\
2205
+  }\
2206
+ public:\
2207
+  INSTRUCTION_HEADER(CanSkipAwait)\
2208
+  TRIVIAL_NEW_WRAPPERS\
2209
+  NAMED_OPERANDS((0, value))\
2210
+};\
2211
+\
2212
+class MIncrementWarmUpCounter : public MNullaryInstruction {\
2213
+  CompilerGCPointer<JSScript*> script_;\
2214
+  explicit MIncrementWarmUpCounter(JSScript* script) : MNullaryInstruction(classOpcode), script_(script) {\
2215
+  }\
2216
+ public:\
2217
+  JSScript* script() const { return script_; }\
2218
+  INSTRUCTION_HEADER(IncrementWarmUpCounter)\
2219
+  TRIVIAL_NEW_WRAPPERS\
2220
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2221
+};\
2222
+\
2223
+class MCheckIsObj : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2224
+  uint8_t checkKind_;\
2225
+  explicit MCheckIsObj(MDefinition* value, uint8_t checkKind) : MUnaryInstruction(classOpcode, value), checkKind_(checkKind) {\
2226
+    setGuard();\
2227
+    setResultType(MIRType::Object);\
2228
+  }\
2229
+ public:\
2230
+  uint8_t checkKind() const { return checkKind_; }\
2231
+  INSTRUCTION_HEADER(CheckIsObj)\
2232
+  TRIVIAL_NEW_WRAPPERS\
2233
+  NAMED_OPERANDS((0, value))\
2234
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2235
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
2236
+};\
2237
+\
2238
+class MCheckObjCoercible : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2239
+  explicit MCheckObjCoercible(MDefinition* checkValue) : MUnaryInstruction(classOpcode, checkValue) {\
2240
+    setGuard();\
2241
+    setResultType(MIRType::Value);\
2242
+  }\
2243
+ public:\
2244
+  INSTRUCTION_HEADER(CheckObjCoercible)\
2245
+  TRIVIAL_NEW_WRAPPERS\
2246
+  NAMED_OPERANDS((0, checkValue))\
2247
+  AliasSet getAliasSet() const override;\
2248
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
2249
+};\
2250
+\
2251
+class MCheckClassHeritage : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2252
+  explicit MCheckClassHeritage(MDefinition* heritage) : MUnaryInstruction(classOpcode, heritage) {\
2253
+    setGuard();\
2254
+    setResultType(MIRType::Value);\
2255
+  }\
2256
+ public:\
2257
+  INSTRUCTION_HEADER(CheckClassHeritage)\
2258
+  TRIVIAL_NEW_WRAPPERS\
2259
+  NAMED_OPERANDS((0, heritage))\
2260
+};\
2261
+\
2262
+class MDebugCheckSelfHosted : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2263
+  explicit MDebugCheckSelfHosted(MDefinition* checkValue) : MUnaryInstruction(classOpcode, checkValue) {\
2264
+    setGuard();\
2265
+    setResultType(MIRType::Value);\
2266
+  }\
2267
+ public:\
2268
+  INSTRUCTION_HEADER(DebugCheckSelfHosted)\
2269
+  TRIVIAL_NEW_WRAPPERS\
2270
+  NAMED_OPERANDS((0, checkValue))\
2271
+};\
2272
+\
2273
+class MFinishBoundFunctionInit : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, ObjectPolicy<1>, UnboxedInt32Policy<2>>::Data {\
2274
+  explicit MFinishBoundFunctionInit(MDefinition* bound, MDefinition* target, MDefinition* argCount) : MTernaryInstruction(classOpcode, bound, target, argCount) {\
2275
+  }\
2276
+ public:\
2277
+  INSTRUCTION_HEADER(FinishBoundFunctionInit)\
2278
+  TRIVIAL_NEW_WRAPPERS\
2279
+  NAMED_OPERANDS((0, bound), (1, target), (2, argCount))\
2280
+};\
2281
+\
2282
+class MIsPackedArray : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2283
+  explicit MIsPackedArray(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
2284
+    setMovable();\
2285
+    setResultType(MIRType::Boolean);\
2286
+  }\
2287
+ public:\
2288
+  INSTRUCTION_HEADER(IsPackedArray)\
2289
+  TRIVIAL_NEW_WRAPPERS\
2290
+  NAMED_OPERANDS((0, object))\
2291
+  AliasSet getAliasSet() const override;\
2292
+};\
2293
+\
2294
+class MGuardArrayIsPacked : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2295
+  explicit MGuardArrayIsPacked(MDefinition* array) : MUnaryInstruction(classOpcode, array) {\
2296
+    setGuard();\
2297
+    setMovable();\
2298
+    setResultType(MIRType::Object);\
2299
+  }\
2300
+ public:\
2301
+  INSTRUCTION_HEADER(GuardArrayIsPacked)\
2302
+  TRIVIAL_NEW_WRAPPERS\
2303
+  NAMED_OPERANDS((0, array))\
2304
+  AliasSet getAliasSet() const override;\
2305
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2306
+};\
2307
+\
2308
+class MGetPrototypeOf : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2309
+  explicit MGetPrototypeOf(MDefinition* target) : MUnaryInstruction(classOpcode, target) {\
2310
+    setGuard();\
2311
+    setResultType(MIRType::Value);\
2312
+  }\
2313
+ public:\
2314
+  INSTRUCTION_HEADER(GetPrototypeOf)\
2315
+  TRIVIAL_NEW_WRAPPERS\
2316
+  NAMED_OPERANDS((0, target))\
2317
+};\
2318
+\
2319
+class MObjectWithProto : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2320
+  explicit MObjectWithProto(MDefinition* prototype) : MUnaryInstruction(classOpcode, prototype) {\
2321
+    setGuard();\
2322
+    setResultType(MIRType::Object);\
2323
+  }\
2324
+ public:\
2325
+  INSTRUCTION_HEADER(ObjectWithProto)\
2326
+  TRIVIAL_NEW_WRAPPERS\
2327
+  NAMED_OPERANDS((0, prototype))\
2328
+  bool possiblyCalls() const override { return true; }\
2329
+};\
2330
+\
2331
+class MBuiltinObject : public MNullaryInstruction {\
2332
+  BuiltinObjectKind builtinObjectKind_;\
2333
+  explicit MBuiltinObject(BuiltinObjectKind builtinObjectKind) : MNullaryInstruction(classOpcode), builtinObjectKind_(builtinObjectKind) {\
2334
+    setResultType(MIRType::Object);\
2335
+  }\
2336
+ public:\
2337
+  BuiltinObjectKind builtinObjectKind() const { return builtinObjectKind_; }\
2338
+  INSTRUCTION_HEADER(BuiltinObject)\
2339
+  TRIVIAL_NEW_WRAPPERS\
2340
+  bool possiblyCalls() const override { return true; }\
2341
+};\
2342
+\
2343
+class MSuperFunction : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2344
+  explicit MSuperFunction(MDefinition* callee) : MUnaryInstruction(classOpcode, callee) {\
2345
+    setResultType(MIRType::Value);\
2346
+  }\
2347
+ public:\
2348
+  INSTRUCTION_HEADER(SuperFunction)\
2349
+  TRIVIAL_NEW_WRAPPERS\
2350
+  NAMED_OPERANDS((0, callee))\
2351
+  AliasSet getAliasSet() const override;\
2352
+};\
2353
+\
2354
+class MInitHomeObject : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, BoxPolicy<1>>::Data {\
2355
+  explicit MInitHomeObject(MDefinition* function, MDefinition* homeObject) : MBinaryInstruction(classOpcode, function, homeObject) {\
2356
+    setResultType(MIRType::Object);\
2357
+  }\
2358
+ public:\
2359
+  INSTRUCTION_HEADER(InitHomeObject)\
2360
+  TRIVIAL_NEW_WRAPPERS\
2361
+  NAMED_OPERANDS((0, function), (1, homeObject))\
2362
+  AliasSet getAliasSet() const override;\
2363
+};\
2364
+\
2365
+class MIsTypedArrayConstructor : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2366
+  explicit MIsTypedArrayConstructor(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
2367
+    setResultType(MIRType::Boolean);\
2368
+  }\
2369
+ public:\
2370
+  INSTRUCTION_HEADER(IsTypedArrayConstructor)\
2371
+  TRIVIAL_NEW_WRAPPERS\
2372
+  NAMED_OPERANDS((0, object))\
2373
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2374
+};\
2375
+\
2376
+class MLoadValueTag : public MUnaryInstruction, public BoxPolicy<0>::Data {\
2377
+  explicit MLoadValueTag(MDefinition* value) : MUnaryInstruction(classOpcode, value) {\
2378
+    setMovable();\
2379
+    setResultType(MIRType::Int32);\
2380
+  }\
2381
+ public:\
2382
+  INSTRUCTION_HEADER(LoadValueTag)\
2383
+  TRIVIAL_NEW_WRAPPERS\
2384
+  NAMED_OPERANDS((0, value))\
2385
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2386
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2387
+};\
2388
+\
2389
+class MLoadWrapperTarget : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2390
+  explicit MLoadWrapperTarget(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
2391
+    setMovable();\
2392
+    setResultType(MIRType::Object);\
2393
+  }\
2394
+ public:\
2395
+  INSTRUCTION_HEADER(LoadWrapperTarget)\
2396
+  TRIVIAL_NEW_WRAPPERS\
2397
+  NAMED_OPERANDS((0, object))\
2398
+  AliasSet getAliasSet() const override;\
2399
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2400
+};\
2401
+\
2402
+class MGuardHasGetterSetter : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2403
+  jsid propId_;\
2404
+  CompilerGCPointer<GetterSetter*> getterSetter_;\
2405
+  explicit MGuardHasGetterSetter(MDefinition* object, jsid propId, GetterSetter* getterSetter) : MUnaryInstruction(classOpcode, object), propId_(propId), getterSetter_(getterSetter) {\
2406
+    setGuard();\
2407
+    setMovable();\
2408
+    setResultType(MIRType::Object);\
2409
+  }\
2410
+ public:\
2411
+  jsid propId() const { return propId_; }\
2412
+  GetterSetter* getterSetter() const { return getterSetter_; }\
2413
+  INSTRUCTION_HEADER(GuardHasGetterSetter)\
2414
+  TRIVIAL_NEW_WRAPPERS\
2415
+  NAMED_OPERANDS((0, object))\
2416
+  AliasSet getAliasSet() const override;\
2417
+  bool congruentTo(const MDefinition* ins) const override;\
2418
+  bool possiblyCalls() const override { return true; }\
2419
+};\
2420
+\
2421
+class MGuardIsExtensible : public MUnaryInstruction, public ObjectPolicy<0>::Data {\
2422
+  explicit MGuardIsExtensible(MDefinition* object) : MUnaryInstruction(classOpcode, object) {\
2423
+    setGuard();\
2424
+    setMovable();\
2425
+    setResultType(MIRType::Object);\
2426
+  }\
2427
+ public:\
2428
+  INSTRUCTION_HEADER(GuardIsExtensible)\
2429
+  TRIVIAL_NEW_WRAPPERS\
2430
+  NAMED_OPERANDS((0, object))\
2431
+  AliasSet getAliasSet() const override;\
2432
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2433
+};\
2434
+\
2435
+class MGuardInt32IsNonNegative : public MUnaryInstruction, public UnboxedInt32Policy<0>::Data {\
2436
+  explicit MGuardInt32IsNonNegative(MDefinition* index) : MUnaryInstruction(classOpcode, index) {\
2437
+    setGuard();\
2438
+    setMovable();\
2439
+    setResultType(MIRType::Int32);\
2440
+  }\
2441
+ public:\
2442
+  INSTRUCTION_HEADER(GuardInt32IsNonNegative)\
2443
+  TRIVIAL_NEW_WRAPPERS\
2444
+  NAMED_OPERANDS((0, index))\
2445
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2446
+  MDefinition* foldsTo(TempAllocator& alloc) override;\
2447
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2448
+};\
2449
+\
2450
+class MGuardIndexGreaterThanDenseInitLength : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
2451
+  explicit MGuardIndexGreaterThanDenseInitLength(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
2452
+    setGuard();\
2453
+    setMovable();\
2454
+    setResultType(MIRType::Int32);\
2455
+  }\
2456
+ public:\
2457
+  INSTRUCTION_HEADER(GuardIndexGreaterThanDenseInitLength)\
2458
+  TRIVIAL_NEW_WRAPPERS\
2459
+  NAMED_OPERANDS((0, object), (1, index))\
2460
+  AliasSet getAliasSet() const override;\
2461
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2462
+};\
2463
+\
2464
+class MGuardIndexIsValidUpdateOrAdd : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
2465
+  explicit MGuardIndexIsValidUpdateOrAdd(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
2466
+    setGuard();\
2467
+    setMovable();\
2468
+    setResultType(MIRType::Int32);\
2469
+  }\
2470
+ public:\
2471
+  INSTRUCTION_HEADER(GuardIndexIsValidUpdateOrAdd)\
2472
+  TRIVIAL_NEW_WRAPPERS\
2473
+  NAMED_OPERANDS((0, object), (1, index))\
2474
+  AliasSet getAliasSet() const override;\
2475
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2476
+};\
2477
+\
2478
+class MCallAddOrUpdateSparseElement : public MTernaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>, BoxPolicy<2>>::Data {\
2479
+  bool strict_;\
2480
+  explicit MCallAddOrUpdateSparseElement(MDefinition* object, MDefinition* index, MDefinition* value, bool strict) : MTernaryInstruction(classOpcode, object, index, value), strict_(strict) {\
2481
+  }\
2482
+ public:\
2483
+  bool strict() const { return strict_; }\
2484
+  INSTRUCTION_HEADER(CallAddOrUpdateSparseElement)\
2485
+  TRIVIAL_NEW_WRAPPERS\
2486
+  NAMED_OPERANDS((0, object), (1, index), (2, value))\
2487
+  bool possiblyCalls() const override { return true; }\
2488
+};\
2489
+\
2490
+class MCallGetSparseElement : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
2491
+  explicit MCallGetSparseElement(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
2492
+    setResultType(MIRType::Value);\
2493
+  }\
2494
+ public:\
2495
+  INSTRUCTION_HEADER(CallGetSparseElement)\
2496
+  TRIVIAL_NEW_WRAPPERS\
2497
+  NAMED_OPERANDS((0, object), (1, index))\
2498
+  bool possiblyCalls() const override { return true; }\
2499
+};\
2500
+\
2501
+class MCallNativeGetElement : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
2502
+  explicit MCallNativeGetElement(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
2503
+    setResultType(MIRType::Value);\
2504
+  }\
2505
+ public:\
2506
+  INSTRUCTION_HEADER(CallNativeGetElement)\
2507
+  TRIVIAL_NEW_WRAPPERS\
2508
+  NAMED_OPERANDS((0, object), (1, index))\
2509
+  bool possiblyCalls() const override { return true; }\
2510
+};\
2511
+\
2512
+class MCallObjectHasSparseElement : public MBinaryInstruction, public MixPolicy<ObjectPolicy<0>, UnboxedInt32Policy<1>>::Data {\
2513
+  explicit MCallObjectHasSparseElement(MDefinition* object, MDefinition* index) : MBinaryInstruction(classOpcode, object, index) {\
2514
+    setGuard();\
2515
+    setResultType(MIRType::Boolean);\
2516
+  }\
2517
+ public:\
2518
+  INSTRUCTION_HEADER(CallObjectHasSparseElement)\
2519
+  TRIVIAL_NEW_WRAPPERS\
2520
+  NAMED_OPERANDS((0, object), (1, index))\
2521
+  AliasSet getAliasSet() const override;\
2522
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2523
+  bool possiblyCalls() const override { return true; }\
2524
+};\
2525
+\
2526
+class MBigIntAsIntN : public MBinaryInstruction, public MixPolicy<UnboxedInt32Policy<0>, BigIntPolicy<1>>::Data {\
2527
+  explicit MBigIntAsIntN(MDefinition* bits, MDefinition* input) : MBinaryInstruction(classOpcode, bits, input) {\
2528
+    setMovable();\
2529
+    setResultType(MIRType::BigInt);\
2530
+  }\
2531
+ public:\
2532
+  INSTRUCTION_HEADER(BigIntAsIntN)\
2533
+  TRIVIAL_NEW_WRAPPERS\
2534
+  NAMED_OPERANDS((0, bits), (1, input))\
2535
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2536
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2537
+  bool possiblyCalls() const override { return true; }\
2538
+  [[nodiscard]] bool writeRecoverData(\
2539
+    CompactBufferWriter& writer) const override;\
2540
+  bool canRecoverOnBailout() const override { return true; }\
2541
+  ALLOW_CLONE(MBigIntAsIntN)\
2542
+};\
2543
+\
2544
+class MBigIntAsUintN : public MBinaryInstruction, public MixPolicy<UnboxedInt32Policy<0>, BigIntPolicy<1>>::Data {\
2545
+  explicit MBigIntAsUintN(MDefinition* bits, MDefinition* input) : MBinaryInstruction(classOpcode, bits, input) {\
2546
+    setMovable();\
2547
+    setResultType(MIRType::BigInt);\
2548
+  }\
2549
+ public:\
2550
+  INSTRUCTION_HEADER(BigIntAsUintN)\
2551
+  TRIVIAL_NEW_WRAPPERS\
2552
+  NAMED_OPERANDS((0, bits), (1, input))\
2553
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2554
+  bool congruentTo(const MDefinition* ins) const override { return congruentIfOperandsEqual(ins); }\
2555
+  bool possiblyCalls() const override { return true; }\
2556
+  [[nodiscard]] bool writeRecoverData(\
2557
+    CompactBufferWriter& writer) const override;\
2558
+  bool canRecoverOnBailout() const override { return true; }\
2559
+  ALLOW_CLONE(MBigIntAsUintN)\
2560
+};\
2561
+\
2562
+class MWasmExtendU32Index : public MUnaryInstruction, public NoTypePolicy::Data {\
2563
+  explicit MWasmExtendU32Index(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
2564
+    setResultType(MIRType::Int64);\
2565
+  }\
2566
+ public:\
2567
+  INSTRUCTION_HEADER(WasmExtendU32Index)\
2568
+  TRIVIAL_NEW_WRAPPERS\
2569
+  NAMED_OPERANDS((0, input))\
2570
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2571
+};\
2572
+\
2573
+class MWasmWrapU32Index : public MUnaryInstruction, public NoTypePolicy::Data {\
2574
+  explicit MWasmWrapU32Index(MDefinition* input) : MUnaryInstruction(classOpcode, input) {\
2575
+    setResultType(MIRType::Int32);\
2576
+  }\
2577
+ public:\
2578
+  INSTRUCTION_HEADER(WasmWrapU32Index)\
2579
+  TRIVIAL_NEW_WRAPPERS\
2580
+  NAMED_OPERANDS((0, input))\
2581
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2582
+};\
2583
+\
2584
+class MWasmFence : public MNullaryInstruction {\
2585
+  explicit MWasmFence() : MNullaryInstruction(classOpcode) {\
2586
+    setGuard();\
2587
+  }\
2588
+ public:\
2589
+  INSTRUCTION_HEADER(WasmFence)\
2590
+  TRIVIAL_NEW_WRAPPERS\
2591
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2592
+  ALLOW_CLONE(MWasmFence)\
2593
+};\
2594
+\
2595
+class MWasmShiftSimd128 : public MBinaryInstruction, public NoTypePolicy::Data {\
2596
+  wasm::SimdOp simdOp_;\
2597
+  explicit MWasmShiftSimd128(MDefinition* lhs, MDefinition* rhs, wasm::SimdOp simdOp) : MBinaryInstruction(classOpcode, lhs, rhs), simdOp_(simdOp) {\
2598
+    setMovable();\
2599
+    setResultType(MIRType::Simd128);\
2600
+  }\
2601
+ public:\
2602
+  wasm::SimdOp simdOp() const { return simdOp_; }\
2603
+  INSTRUCTION_HEADER(WasmShiftSimd128)\
2604
+  TRIVIAL_NEW_WRAPPERS\
2605
+  NAMED_OPERANDS((0, lhs), (1, rhs))\
2606
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2607
+  bool congruentTo(const MDefinition* ins) const override;\
2608
+  ALLOW_CLONE(MWasmShiftSimd128)\
2609
+};\
2610
+\
2611
+class MWasmShuffleSimd128 : public MBinaryInstruction, public NoTypePolicy::Data {\
2612
+  SimdConstant control_;\
2613
+  explicit MWasmShuffleSimd128(MDefinition* lhs, MDefinition* rhs, SimdConstant control) : MBinaryInstruction(classOpcode, lhs, rhs), control_(control) {\
2614
+    setMovable();\
2615
+    setResultType(MIRType::Simd128);\
2616
+  }\
2617
+ public:\
2618
+  SimdConstant control() const { return control_; }\
2619
+  INSTRUCTION_HEADER(WasmShuffleSimd128)\
2620
+  TRIVIAL_NEW_WRAPPERS\
2621
+  NAMED_OPERANDS((0, lhs), (1, rhs))\
2622
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2623
+  bool congruentTo(const MDefinition* ins) const override;\
2624
+  ALLOW_CLONE(MWasmShuffleSimd128)\
2625
+};\
2626
+\
2627
+class MWasmUnarySimd128 : public MUnaryInstruction, public NoTypePolicy::Data {\
2628
+  wasm::SimdOp simdOp_;\
2629
+  explicit MWasmUnarySimd128(MDefinition* src, wasm::SimdOp simdOp) : MUnaryInstruction(classOpcode, src), simdOp_(simdOp) {\
2630
+    setMovable();\
2631
+    setResultType(MIRType::Simd128);\
2632
+  }\
2633
+ public:\
2634
+  wasm::SimdOp simdOp() const { return simdOp_; }\
2635
+  INSTRUCTION_HEADER(WasmUnarySimd128)\
2636
+  TRIVIAL_NEW_WRAPPERS\
2637
+  NAMED_OPERANDS((0, src))\
2638
+  AliasSet getAliasSet() const override { return AliasSet::None(); }\
2639
+  bool congruentTo(const MDefinition* ins) const override;\
2640
+  ALLOW_CLONE(MWasmUnarySimd128)\
2641
+};\
2642
+
2643
+
2644
+#define NON_GC_POINTER_TYPE_ASSERTIONS_GENERATED \
2645
+static_assert(!std::is_base_of_v<gc::Cell, AsyncFunctionResolveKind>, "Ensure that AsyncFunctionResolveKind is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2646
+static_assert(!std::is_base_of_v<gc::Cell, BuiltinObjectKind>, "Ensure that BuiltinObjectKind is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2647
+static_assert(!std::is_base_of_v<gc::Cell, FunctionFlags>, "Ensure that FunctionFlags is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2648
+static_assert(!std::is_base_of_v<gc::Cell, FunctionFlags::FunctionKind>, "Ensure that FunctionFlags::FunctionKind is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2649
+static_assert(!std::is_base_of_v<gc::Cell, SimdConstant>, "Ensure that SimdConstant is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2650
+static_assert(!std::is_base_of_v<gc::Cell, bool>, "Ensure that bool is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2651
+static_assert(!std::is_base_of_v<gc::Cell, gc::InitialHeap>, "Ensure that gc::InitialHeap is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2652
+static_assert(!std::is_base_of_v<gc::Cell, jsid>, "Ensure that jsid is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2653
+static_assert(!std::is_base_of_v<gc::Cell, size_t>, "Ensure that size_t is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2654
+static_assert(!std::is_base_of_v<gc::Cell, uint16_t>, "Ensure that uint16_t is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2655
+static_assert(!std::is_base_of_v<gc::Cell, uint32_t>, "Ensure that uint32_t is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2656
+static_assert(!std::is_base_of_v<gc::Cell, uint8_t>, "Ensure that uint8_t is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2657
+static_assert(!std::is_base_of_v<gc::Cell, unsigned>, "Ensure that unsigned is added to the gc_pointer_types list in GenerateMIRFiles.py.");\
2658
+static_assert(!std::is_base_of_v<gc::Cell, wasm::SimdOp>, "Ensure that wasm::SimdOp is added to the gc_pointer_types list in GenerateMIRFiles.py.");
2659
+
2660
+
2661
+
2662
+#endif // jit_MIROpsGenerated_h
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-confdefs.h (-85 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/include/js-confdefs.h.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/include/js-confdefs.h
3
@@ -0,0 +1,82 @@
4
+/* List of defines generated by configure. Included with preprocessor flag,
5
+ * -include, to avoid long list of -D defines on the compile command-line.
6
+ * Do not edit.
7
+ */
8
+
9
+#ifndef js_confdefs_h
10
+#define js_confdefs_h
11
+
12
+// Expands to all the defines from configure.
13
+#define CROSS_COMPILE 
14
+#define ENABLE_SHARED_MEMORY 1
15
+#define ENABLE_WASM_SIMD 1
16
+#define HAVE_64BIT_BUILD 1
17
+#define HAVE_CLOCK_MONOTONIC 1
18
+#define HAVE_DIRENT_H 1
19
+#define HAVE_DLOPEN 1
20
+#define HAVE_FTS_H 1
21
+#define HAVE_GETC_UNLOCKED 1
22
+#define HAVE_GETOPT_H 1
23
+#define HAVE_GMTIME_R 1
24
+#define HAVE_INTTYPES_H 1
25
+#define HAVE_LANGINFO_CODESET 1
26
+#define HAVE_LIBM 1
27
+#define HAVE_LOCALECONV 1
28
+#define HAVE_LOCALTIME_R 1
29
+#define HAVE_MALLOC_H 1
30
+#define HAVE_MALLOC_USABLE_SIZE 1
31
+#define HAVE_MEMALIGN 1
32
+#define HAVE_MEMFD_CREATE 1
33
+#define HAVE_NETINET_IN_H 1
34
+#define HAVE_NL_TYPES_H 1
35
+#define HAVE_POSIX_FADVISE 1
36
+#define HAVE_POSIX_FALLOCATE 1
37
+#define HAVE_POSIX_MEMALIGN 1
38
+#define HAVE_PTHREAD_GETNAME_NP 1
39
+#define HAVE_PTHREAD_GET_NAME_NP 1
40
+#define HAVE_RES_NINIT 1
41
+#define HAVE_SSIZE_T 1
42
+#define HAVE_STDINT_H 1
43
+#define HAVE_STRNDUP 1
44
+#define HAVE_SYS_MOUNT_H 1
45
+#define HAVE_SYS_QUEUE_H 1
46
+#define HAVE_SYS_STATVFS_H 1
47
+#define HAVE_SYS_TYPES_H 1
48
+#define HAVE_THREAD_TLS_KEYWORD 1
49
+#define HAVE_TM_ZONE_TM_GMTOFF 1
50
+#define HAVE_UNISTD_H 1
51
+#define HAVE_VALLOC 1
52
+#define HAVE_VA_COPY 1
53
+#define HAVE_VISIBILITY_ATTRIBUTE 1
54
+#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
55
+#define HAVE___CXA_DEMANGLE 1
56
+#define JS_64BIT 1
57
+#define JS_CODEGEN_ARM64 1
58
+#define JS_DEFAULT_JITREPORT_GRANULARITY 3
59
+#define JS_PUNBOX64 1
60
+#define JS_STANDALONE 1
61
+#define JS_WITHOUT_NSPR 1
62
+#define MALLOC_H <malloc.h>
63
+#define MALLOC_USABLE_SIZE_CONST_PTR const
64
+#define MOZILLA_UAVERSION "91.0"
65
+#define MOZILLA_VERSION "91.4.0"
66
+#define MOZILLA_VERSION_U 91.4.0
67
+#define MOZJS_MAJOR_VERSION 91
68
+#define MOZJS_MINOR_VERSION 4
69
+#define MOZ_AARCH64_JSCVT 0
70
+#define MOZ_BUILD_APP js
71
+#define MOZ_DLL_PREFIX "lib"
72
+#define MOZ_DLL_SUFFIX ".so"
73
+#define MOZ_UPDATE_CHANNEL default
74
+#define NO_NSPR_10_SUPPORT 1
75
+#define NO_RUST_PANIC_HOOK 1
76
+#define RELEASE_OR_BETA 1
77
+#define STDC_HEADERS 1
78
+#define U_STATIC_IMPLEMENTATION 1
79
+#define VA_COPY va_copy
80
+#define XP_FREEBSD 1
81
+#define XP_UNIX 1
82
+#define _REENTRANT 1
83
+#define _THREAD_SAFE 1
84
+
85
+#endif /* js_confdefs_h */
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_js-config.h (-80 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/include/js-config.h.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/include/js-config.h
3
@@ -0,0 +1,77 @@
4
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
5
+ * vim: set ts=8 sw=4 et tw=78:
6
+ *
7
+ * This Source Code Form is subject to the terms of the Mozilla Public
8
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
9
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
10
+
11
+#ifndef js_config_h
12
+#define js_config_h
13
+
14
+/* Definitions set at build time that affect SpiderMonkey's public API.
15
+   This header file is generated by the SpiderMonkey configure script,
16
+   and installed along with jsapi.h.  */
17
+
18
+/* Define to 1 if SpiderMonkey is in debug mode. */
19
+/* #undef JS_DEBUG */
20
+
21
+/* Define to 1 if SpiderMonkey is in 64-bit mode. */
22
+#define JS_64BIT 1
23
+
24
+/*
25
+ * NB: We have a special case for rust-bindgen, which wants to be able to
26
+ * generate both debug and release bindings on a single objdir.
27
+ */
28
+#ifdef JS_DEBUG
29
+#if !defined(DEBUG) && !defined(RUST_BINDGEN)
30
+#  error "SpiderMonkey was configured with --enable-debug, so DEBUG must be defined when including this header"
31
+# endif
32
+#else
33
+# if defined(DEBUG) && !defined(RUST_BINDGEN)
34
+#  error "SpiderMonkey was configured with --disable-debug, so DEBUG must be not defined when including this header"
35
+# endif
36
+#endif
37
+
38
+/* Define to 1 if SpiderMonkey should include ctypes support.  */
39
+/* #undef JS_HAS_CTYPES */
40
+
41
+/* Define to 1 if SpiderMonkey should include trace logging support. */
42
+/* #undef JS_TRACE_LOGGING */
43
+
44
+/* Define to 1 if SpiderMonkey should include support for the Intl API. */
45
+/* #undef JS_HAS_INTL_API */
46
+
47
+/* Define to 1 if SpiderMonkey should include a breakpoint function for
48
+ * artificial OOMs. */
49
+/* #undef JS_OOM_BREAKPOINT */
50
+
51
+/* Define to 1 if SpiderMonkey should support the ability to perform
52
+   entirely too much GC.  */
53
+/* #undef JS_GC_ZEAL */
54
+
55
+/* Define to 1 if SpiderMonkey should use small chunks. */
56
+/* #undef JS_GC_SMALL_CHUNK_SIZE */
57
+
58
+/* Define to 1 to perform extra assertions and heap poisoning. */
59
+/* #undef JS_CRASH_DIAGNOSTICS */
60
+
61
+/* Define to 1 if SpiderMonkey is in NUNBOX32 mode. */
62
+/* #undef JS_NUNBOX32 */
63
+
64
+/* Define to 1 if SpiderMonkey is in PUNBOX64 mode. */
65
+#define JS_PUNBOX64 1
66
+
67
+/* Define to 1 if SpiderMonkey should support SmooshMonkey parser. */
68
+/* #undef JS_ENABLE_SMOOSH */
69
+
70
+/* Experimental WASM features */
71
+/* #undef ENABLE_WASM_EXCEPTIONS */
72
+/* #undef ENABLE_WASM_FUNCTION_REFERENCES */
73
+/* #undef ENABLE_WASM_GC */
74
+#define ENABLE_WASM_SIMD 1
75
+
76
+/* MOZILLA JSAPI version number components */
77
+#define MOZJS_MAJOR_VERSION 91
78
+#define MOZJS_MINOR_VERSION 4
79
+
80
+#endif /* js_config_h */
(-)a/databases/mongodb60/files/aarch64/patch-src_third__party_mozjs_platform_aarch64_freebsd_include_selfhosted.out.h (-22 lines)
Removed Link Here
1
--- src/third_party/mozjs/platform/aarch64/freebsd/include/selfhosted.out.h.orig	2022-09-08 14:42:13 UTC
2
+++ src/third_party/mozjs/platform/aarch64/freebsd/include/selfhosted.out.h
3
@@ -0,0 +1,19 @@
4
+/* This Source Code Form is subject to the terms of the Mozilla Public
5
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
6
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7
+
8
+namespace js {
9
+namespace selfhosted {
10
+    static const unsigned char data[] = { 120, 156, 237, 189, 123, 119, 27, 71, 142, 56, 250, 127, 62, 69, 155, 103, 54, 161, 34, 74, 43, 202, 118, 30, 150, 229, 172, 162, 88, 51, 186, 99, 91, 190, 146, 119, 246, 156, 245, 245, 245, 175, 69, 182, 228, 182, 72, 54, 195, 38, 45, 41, 19, 223, 207, 126, 11, 168, 23, 80, 143, 238, 38, 69, 202, 178, 227, 158, 51, 49, 213, 93, 133, 2, 80, 40, 20, 10, 133, 66, 157, 205, 70, 189, 105, 94, 140, 146, 81, 118, 249, 246, 89, 94, 78, 219, 107, 201, 191, 191, 73, 196, 51, 201, 166, 179, 201, 40, 41, 167, 253, 183, 71, 167, 239, 179, 222, 244, 109, 111, 146, 165, 211, 172, 61, 154, 13, 6, 107, 59, 223, 124, 252, 230, 140, 214, 61, 206, 122, 197, 164, 191, 72, 237, 87, 197, 175, 69, 49, 200, 210, 81, 251, 131, 83, 251, 222, 189, 15, 78, 201, 23, 179, 225, 105, 54, 241, 10, 174, 243, 114, 39, 233, 48, 251, 87, 58, 152, 101, 255, 155, 77, 138, 246, 85, 39, 185, 118, 202, 95, 37, 187, 187, 187, 201, 117, 242, 231, 159, 73, 251, 42, 185, 39, 126, 95, 37, 223, 126, 43, 94, 192, 207, 107, 142, 222, 223, 179, 233, 243, 108, 250, 174, 232, 183, 255, 213, 73, 94, 106, 64, 59, 59, 248, 207, 135, 116, 146, 64, 201, 100, 55, 249, 215, 235, 151, 111, 228, 203, 252, 44, 105, 203, 151, 2, 218, 108, 212, 207, 206, 242, 81, 214, 135, 198, 204, 91, 228, 2, 22, 38, 88, 153, 162, 22, 204, 189, 195, 114, 63, 29, 12, 210, 211, 65, 134, 32, 215, 108, 165, 87, 239, 38, 197, 229, 171, 235, 113, 246, 116, 50, 41, 38, 237, 238, 86, 39, 153, 138, 191, 138, 51, 108, 101, 109, 135, 210, 11, 111, 24, 81, 135, 229, 203, 73, 49, 206, 38, 211, 235, 127, 102, 215, 237, 116, 114, 62, 27, 102, 163, 169, 38, 14, 168, 2, 88, 130, 42, 5, 82, 151, 96, 80, 101, 17, 65, 77, 171, 156, 78, 242, 209, 121, 11, 72, 36, 47, 175, 135, 167, 197, 160, 197, 123, 102, 156, 245, 242, 172, 220, 47, 70, 162, 202, 172, 55, 21, 136, 23, 167, 239, 59, 137, 32, 60, 157, 13, 166, 228, 125, 128, 209, 240, 90, 160, 36, 42, 108, 246, 108, 65, 203, 44, 249, 157, 242, 220, 99, 177, 223, 14, 227, 181, 20, 85, 4, 20, 231, 244, 131, 159, 58, 73, 171, 192, 146, 223, 149, 201, 119, 4, 149, 239, 146, 177, 226, 106, 107, 205, 162, 93, 10, 156, 225, 235, 107, 33, 73, 191, 206, 242, 193, 52, 31, 157, 32, 107, 218, 173, 82, 178, 163, 181, 70, 36, 167, 244, 197, 166, 140, 203, 76, 21, 65, 135, 140, 207, 229, 154, 87, 185, 148, 101, 93, 73, 234, 10, 250, 254, 235, 191, 20, 110, 134, 164, 68, 136, 129, 161, 154, 16, 221, 242, 134, 139, 5, 53, 44, 207, 117, 63, 78, 39, 215, 234, 23, 60, 61, 33, 212, 7, 170, 74, 27, 148, 132, 254, 227, 109, 58, 30, 15, 174, 59, 14, 78, 29, 203, 143, 142, 145, 197, 82, 241, 248, 163, 128, 54, 237, 189, 75, 218, 217, 26, 105, 65, 145, 152, 169, 50, 90, 150, 56, 166, 123, 231, 231, 147, 236, 92, 168, 165, 165, 160, 203, 161, 173, 10, 231, 195, 209, 52, 155, 140, 210, 193, 82, 80, 102, 192, 86, 130, 241, 139, 25, 193, 67, 84, 37, 159, 246, 139, 241, 245, 111, 233, 52, 85, 170, 72, 8, 91, 123, 42, 154, 205, 166, 157, 164, 44, 102, 147, 94, 214, 73, 178, 171, 222, 96, 214, 207, 250, 135, 211, 108, 88, 58, 42, 97, 135, 140, 25, 44, 30, 24, 56, 246, 125, 104, 244, 16, 29, 62, 41, 134, 98, 152, 190, 42, 148, 6, 144, 21, 201, 32, 190, 200, 174, 97, 28, 251, 40, 31, 77, 68, 159, 28, 93, 142, 132, 30, 181, 232, 3, 56, 23, 121, 139, 173, 132, 85, 137, 211, 153, 208, 100, 109, 104, 55, 23, 228, 136, 217, 42, 217, 218, 81, 63, 31, 35, 42, 155, 131, 108, 116, 62, 125, 167, 94, 174, 175, 211, 62, 81, 232, 138, 74, 80, 242, 53, 150, 80, 250, 197, 168, 186, 119, 105, 41, 112, 6, 76, 60, 30, 127, 251, 173, 41, 26, 148, 35, 53, 157, 107, 181, 112, 88, 62, 29, 9, 65, 153, 192, 20, 165, 9, 23, 96, 137, 178, 249, 55, 131, 247, 27, 246, 14, 225, 225, 181, 225, 26, 98, 3, 16, 94, 139, 95, 111, 214, 44, 202, 31, 149, 116, 85, 202, 206, 127, 143, 206, 132, 110, 205, 38, 89, 223, 145, 34, 71, 108, 238, 174, 188, 40, 211, 232, 238, 136, 201, 205, 251, 126, 145, 30, 103, 253, 92, 204, 68, 151, 186, 86, 165, 249, 154, 143, 70, 228, 43, 41, 209, 58, 43, 138, 150, 2, 199, 212, 209, 222, 100, 146, 94, 31, 2, 173, 71, 103, 237, 50, 75, 39, 189, 119, 79, 7, 25, 40, 186, 132, 90, 63, 71, 180, 115, 167, 239, 242, 146, 116, 173, 224, 41, 126, 125, 134, 188, 109, 31, 41, 38, 147, 158, 195, 18, 162, 227, 182, 188, 25, 119, 163, 107, 225, 0, 20, 163, 101, 21, 144, 228, 73, 210, 77, 126, 17, 192, 65, 49, 159, 11, 218, 76, 129, 215, 221, 55, 107, 201, 35, 209, 193, 166, 149, 81, 242, 100, 23, 144, 169, 108, 228, 194, 41, 191, 69, 153, 117, 33, 48, 24, 105, 245, 158, 13, 202, 204, 249, 6, 116, 172, 235, 18, 70, 44, 133, 108, 109, 241, 30, 190, 64, 201, 35, 83, 0, 202, 229, 78, 2, 69, 5, 12, 241, 131, 139, 158, 4, 147, 143, 4, 155, 133, 213, 125, 244, 250, 226, 13, 178, 139, 117, 7, 111, 65, 81, 118, 65, 27, 33, 212, 186, 29, 252, 44, 45, 167, 159, 113, 39, 3, 232, 141, 36, 218, 139, 250, 251, 154, 215, 89, 166, 18, 118, 166, 44, 206, 122, 203, 235, 85, 40, 24, 146, 7, 211, 131, 79, 80, 169, 92, 108, 108, 220, 106, 7, 62, 253, 144, 77, 174, 81, 255, 156, 166, 189, 139, 179, 209, 18, 251, 205, 235, 13, 167, 19, 93, 107, 255, 199, 78, 34, 150, 86, 45, 68, 107, 83, 104, 190, 105, 1, 75, 156, 205, 12, 48, 108, 17, 184, 116, 169, 102, 17, 175, 94, 176, 253, 38, 22, 205, 195, 113, 62, 200, 246, 38, 231, 109, 241, 55, 173, 103, 105, 122, 21, 151, 33, 42, 57, 66, 112, 62, 20, 121, 95, 143, 68, 51, 55, 200, 209, 217, 96, 48, 174, 57, 83, 53, 82, 5, 40, 137, 101, 196, 84, 52, 98, 166, 2, 139, 166, 48, 35, 59, 216, 255, 66, 151, 139, 31, 142, 230, 39, 157, 124, 150, 10, 65, 243, 103, 116, 82, 66, 44, 39, 50, 16, 132, 19, 97, 226, 150, 135, 163, 65, 62, 2, 86, 62, 131, 153, 194, 52, 108, 101, 67, 176, 135, 75, 204, 73, 49, 204, 238, 180, 192, 148, 2, 193, 47, 95, 94, 150, 36, 46, 82, 24, 42, 164, 69, 201, 83, 3, 113, 1, 193, 8, 72, 203, 68, 44, 243, 5, 47, 211, 73, 38, 152, 167, 8, 65, 2, 244, 75, 244, 5, 89, 79, 130, 195, 1, 214, 123, 6, 14, 167, 199, 233, 192, 31, 214, 168, 242, 171, 146, 75, 207, 246, 66, 156, 95, 164, 211, 252, 67, 6, 152, 11, 214, 137, 190, 15, 180, 170, 152, 115, 52, 239, 60, 246, 120, 215, 206, 38, 62, 140, 203, 137, 88, 50, 102, 253, 125, 217, 224, 1, 0, 52, 141, 203, 82, 150, 105, 187, 198, 56, 99, 126, 55, 221, 216, 149, 227, 159, 9, 72, 208, 117, 204, 133, 227, 16, 185, 181, 243, 141, 255, 178, 235, 10, 77, 35, 168, 206, 188, 173, 233, 254, 128, 156, 83, 46, 71, 151, 9, 146, 60, 178, 72, 81, 64, 62, 160, 220, 124, 16, 99, 109, 11, 6, 152, 177, 65, 73, 145, 231, 153, 16, 82, 148, 64, 209, 141, 130, 253, 180, 47, 253, 169, 240, 160, 152, 60, 77, 123, 239, 238, 180, 110, 59, 147, 56, 126, 217, 234, 109, 62, 213, 86, 169, 189, 52, 98, 13, 212, 151, 234, 126, 79, 131, 61, 79, 199, 119, 90, 36, 134, 233, 248, 46, 139, 3, 212, 220, 19, 53, 229, 108, 160, 188, 210, 114, 135, 66, 14, 202, 181, 101, 137, 13, 84, 30, 162, 238, 192, 45, 9, 80, 158, 11, 10, 18, 60, 129, 197, 244, 30, 22, 36, 77, 84, 203, 222, 94, 35, 177, 19, 226, 229, 137, 220, 1, 250, 87, 238, 180, 212, 73, 23, 208, 231, 43, 120, 91, 65, 177, 235, 36, 211, 226, 38, 226, 119, 161, 37, 15, 196, 106, 199, 251, 92, 102, 3, 209, 103, 89, 191, 153, 104, 74, 96, 65, 225, 68, 215, 154, 2, 230, 207, 219, 97, 209, 157, 22, 235, 235, 26, 104, 3, 193, 229, 18, 121, 156, 245, 103, 189, 187, 109, 246, 79, 16, 197, 219, 145, 72, 226, 135, 129, 63, 211, 94, 111, 54, 156, 13, 82, 182, 41, 20, 146, 88, 42, 51, 164, 18, 149, 111, 33, 200, 17, 71, 81, 196, 23, 2, 207, 20, 8, 241, 24, 245, 128, 116, 51, 98, 253, 114, 146, 149, 224, 155, 217, 117, 87, 137, 253, 34, 96, 31, 134, 197, 28, 30, 2, 136, 175, 31, 244, 115, 42, 198, 217, 5, 127, 109, 173, 196, 143, 201, 229, 59, 193, 224, 164, 189, 190, 174, 70, 25, 193, 19, 251, 77, 195, 167, 68, 214, 147, 200, 25, 42, 70, 224, 250, 186, 102, 37, 247, 180, 204, 59, 178, 57, 96, 43, 17, 109, 242, 161, 185, 73, 194, 132, 37, 60, 206, 142, 243, 243, 119, 211, 175, 131, 45, 177, 131, 205, 115, 212, 125, 29, 114, 206, 211, 108, 200, 109, 108, 72, 71, 99, 147, 17, 183, 208, 152, 219, 216, 8, 143, 185, 26, 239, 230, 39, 28, 114, 7, 249, 168, 223, 30, 11, 129, 206, 123, 194, 54, 184, 123, 67, 77, 204, 229, 253, 216, 64, 51, 104, 207, 55, 206, 72, 181, 69, 172, 44, 39, 124, 166, 169, 229, 94, 97, 32, 197, 28, 90, 6, 81, 223, 32, 10, 123, 189, 177, 68, 192, 245, 77, 80, 14, 245, 63, 110, 97, 124, 21, 130, 91, 16, 130, 102, 61, 29, 245, 92, 206, 185, 187, 1, 187, 194, 255, 147, 139, 78, 27, 217, 173, 106, 241, 67, 252, 147, 141, 192, 10, 247, 252, 99, 55, 235, 112, 40, 49, 201, 6, 232, 62, 124, 133, 237, 97, 97, 189, 251, 36, 81, 32, 101, 113, 177, 225, 84, 120, 156, 108, 9, 102, 195, 30, 240, 243, 116, 250, 238, 237, 48, 189, 106, 203, 125, 36, 94, 174, 227, 206, 71, 161, 231, 17, 129, 35, 88, 224, 66, 176, 150, 23, 69, 252, 4, 24, 196, 240, 70, 150, 145, 146, 106, 79, 158, 87, 168, 197, 251, 68, 50, 190, 1, 218, 49, 188, 21, 132, 48, 218, 79, 177, 67, 177, 91, 89, 176, 193, 47, 216, 103, 143, 8, 57, 162, 12, 37, 70, 172, 204, 7, 132, 26, 128, 83, 75, 139, 40, 116, 147, 14, 192, 234, 156, 140, 94, 49, 195, 201, 157, 149, 151, 184, 109, 168, 13, 127, 105, 3, 77, 11, 162, 6, 176, 39, 30, 131, 28, 125, 251, 45, 252, 247, 177, 122, 181, 46, 225, 173, 209, 145, 167, 122, 141, 126, 183, 38, 21, 60, 40, 141, 226, 63, 193, 143, 202, 126, 144, 95, 158, 240, 221, 109, 134, 13, 206, 230, 30, 99, 142, 94, 79, 139, 55, 168, 246, 161, 144, 179, 52, 102, 91, 163, 250, 233, 139, 229, 173, 208, 196, 88, 145, 23, 7, 8, 27, 27, 252, 221, 180, 112, 223, 32, 166, 244, 229, 199, 176, 137, 119, 199, 8, 91, 95, 119, 9, 115, 223, 196, 8, 163, 186, 240, 40, 52, 205, 13, 6, 66, 65, 227, 4, 90, 170, 33, 190, 117, 11, 122, 176, 94, 157, 92, 132, 116, 9, 35, 121, 1, 189, 114, 7, 84, 136, 215, 243, 11, 169, 148, 102, 42, 132, 172, 109, 17, 27, 111, 222, 149, 161, 3, 201, 135, 136, 125, 20, 16, 152, 195, 17, 70, 171, 149, 60, 174, 67, 70, 17, 29, 234, 40, 168, 219, 136, 242, 32, 11, 39, 29, 232, 97, 123, 194, 96, 67, 5, 202, 66, 189, 197, 80, 28, 165, 72, 180, 75, 195, 177, 121, 120, 164, 188, 195, 82, 232, 156, 176, 161, 195, 215, 122, 23, 90, 23, 132, 119, 104, 109, 204, 30, 186, 57, 101, 47, 78, 179, 73, 106, 162, 191, 47, 132, 25, 73, 187, 44, 199, 175, 89, 95, 118, 26, 237, 63, 81, 156, 112, 52, 87, 80, 68, 137, 23, 217, 37, 7, 172, 138, 253, 247, 168, 76, 207, 178, 147, 108, 122, 44, 22, 146, 147, 15, 89, 255, 100, 80, 76, 219, 186, 34, 90, 181, 188, 181, 134, 245, 186, 214, 87, 91, 87, 116, 91, 17, 184, 67, 185, 163, 63, 7, 4, 92, 125, 121, 145, 93, 217, 195, 24, 64, 173, 160, 157, 89, 218, 84, 164, 241, 36, 131, 40, 32, 56, 241, 247, 89, 58, 233, 191, 42, 56, 55, 176, 208, 154, 141, 38, 244, 35, 230, 216, 126, 51, 24, 241, 12, 128, 60, 1, 113, 120, 246, 63, 114, 23, 180, 147, 0, 192, 78, 165, 161, 209, 242, 168, 209, 43, 5, 187, 1, 158, 10, 124, 37, 251, 254, 238, 176, 15, 229, 98, 139, 105, 195, 114, 54, 0, 89, 248, 183, 212, 22, 143, 104, 176, 114, 191, 24, 137, 23, 40, 113, 122, 175, 21, 87, 57, 1, 130, 37, 156, 77, 168, 225, 56, 45, 20, 35, 100, 1, 23, 83, 29, 96, 89, 129, 109, 151, 75, 230, 240, 159, 57, 42, 110, 83, 67, 232, 134, 251, 219, 7, 66, 49, 248, 85, 183, 185, 78, 178, 20, 28, 150, 47, 139, 178, 204, 79, 7, 215, 138, 243, 176, 120, 234, 35, 103, 219, 41, 179, 163, 164, 42, 139, 150, 86, 26, 46, 117, 60, 44, 86, 189, 5, 236, 139, 40, 176, 127, 164, 229, 111, 217, 52, 237, 189, 203, 250, 191, 206, 206, 206, 32, 130, 45, 16, 202, 225, 44, 246, 30, 222, 255, 217, 119, 135, 184, 170, 206, 81, 200, 41, 87, 200, 31, 13, 95, 100, 119, 168, 248, 71, 82, 63, 60, 22, 165, 48, 177, 0, 219, 106, 81, 168, 16, 134, 138, 22, 132, 78, 144, 120, 173, 27, 89, 64, 92, 141, 44, 236, 238, 114, 199, 159, 66, 224, 131, 114, 62, 164, 94, 16, 110, 20, 11, 15, 238, 182, 235, 210, 24, 167, 57, 232, 69, 9, 178, 99, 96, 191, 241, 200, 215, 173, 67, 133, 6, 45, 239, 104, 53, 198, 42, 35, 112, 166, 224, 116, 205, 6, 123, 141, 84, 71, 208, 77, 199, 191, 225, 87, 156, 158, 74, 55, 4, 56, 52, 151, 160, 78, 66, 214, 99, 163, 251, 233, 168, 24, 137, 197, 251, 224, 133, 152, 228, 218, 20, 88, 39, 105, 33, 226, 101, 203, 219, 227, 124, 58, 154, 78, 242, 121, 154, 219, 14, 132, 108, 96, 108, 119, 99, 8, 91, 161, 160, 15, 161, 38, 176, 131, 75, 220, 217, 197, 192, 26, 162, 239, 160, 226, 222, 228, 60, 102, 34, 239, 131, 56, 139, 34, 86, 169, 192, 238, 112, 62, 130, 10, 18, 26, 139, 109, 178, 162, 170, 139, 137, 101, 27, 117, 229, 96, 157, 57, 220, 56, 93, 133, 180, 235, 194, 81, 104, 219, 151, 179, 82, 180, 118, 104, 103, 113, 164, 56, 112, 78, 74, 207, 150, 236, 160, 20, 175, 204, 40, 2, 2, 252, 207, 238, 204, 231, 122, 172, 88, 141, 154, 88, 174, 135, 190, 231, 10, 145, 167, 17, 65, 122, 171, 151, 159, 195, 218, 95, 19, 22, 247, 40, 187, 76, 246, 219, 16, 235, 251, 250, 13, 175, 64, 108, 154, 231, 233, 69, 166, 209, 145, 58, 120, 162, 101, 130, 163, 234, 56, 247, 173, 9, 8, 143, 113, 129, 141, 196, 240, 146, 126, 78, 56, 208, 55, 24, 20, 151, 202, 219, 5, 112, 140, 189, 178, 230, 206, 4, 126, 252, 130, 150, 146, 95, 130, 219, 197, 216, 243, 232, 46, 51, 13, 10, 3, 8, 72, 53, 127, 243, 149, 99, 36, 164, 1, 182, 133, 171, 130, 26, 224, 217, 51, 238, 203, 228, 194, 211, 93, 123, 158, 181, 129, 19, 97, 126, 145, 81, 139, 50, 39, 135, 115, 2, 75, 2, 83, 199, 95, 74, 86, 118, 45, 206, 75, 114, 145, 36, 103, 235, 249, 67, 74, 152, 99, 90, 142, 140, 11, 71, 88, 22, 235, 151, 11, 218, 41, 23, 78, 143, 204, 17, 96, 34, 57, 75, 250, 192, 152, 46, 193, 29, 251, 10, 113, 30, 162, 121, 233, 28, 212, 81, 64, 44, 67, 170, 21, 195, 35, 123, 44, 132, 91, 173, 109, 87, 162, 137, 197, 235, 49, 9, 107, 232, 177, 76, 68, 78, 218, 186, 129, 179, 36, 175, 138, 19, 60, 252, 202, 76, 117, 148, 154, 138, 117, 167, 58, 50, 140, 197, 54, 223, 23, 57, 177, 248, 42, 78, 252, 134, 44, 117, 114, 42, 103, 170, 48, 233, 72, 184, 124, 189, 17, 34, 22, 192, 219, 194, 62, 97, 207, 10, 81, 43, 83, 228, 13, 240, 15, 209, 87, 197, 24, 202, 184, 135, 241, 40, 213, 124, 234, 9, 13, 168, 121, 214, 217, 173, 22, 117, 105, 76, 202, 169, 62, 202, 161, 248, 247, 122, 235, 141, 45, 112, 76, 156, 144, 172, 172, 119, 18, 219, 253, 234, 78, 14, 199, 2, 190, 110, 218, 51, 83, 143, 145, 34, 197, 153, 32, 107, 9, 248, 205, 41, 227, 100, 135, 181, 189, 230, 173, 137, 202, 108, 156, 234, 25, 160, 213, 105, 5, 116, 70, 183, 90, 103, 128, 154, 117, 121, 68, 21, 199, 113, 178, 190, 107, 91, 225, 235, 129, 123, 109, 86, 219, 229, 154, 251, 17, 153, 230, 14, 47, 132, 95, 201, 29, 2, 198, 99, 14, 249, 182, 230, 175, 23, 168, 72, 31, 51, 153, 253, 27, 13, 168, 114, 141, 47, 41, 145, 81, 171, 80, 213, 18, 102, 33, 108, 117, 188, 150, 202, 101, 83, 29, 128, 126, 227, 27, 137, 60, 108, 171, 152, 228, 231, 224, 220, 194, 79, 232, 253, 2, 209, 142, 158, 85, 37, 27, 110, 27, 68, 218, 141, 18, 221, 98, 186, 64, 78, 30, 172, 137, 192, 57, 110, 58, 203, 240, 73, 10, 76, 65, 86, 59, 124, 116, 222, 155, 199, 132, 1, 37, 222, 77, 196, 10, 240, 56, 75, 7, 67, 181, 109, 69, 139, 52, 197, 66, 130, 87, 122, 112, 159, 73, 11, 32, 183, 223, 224, 88, 188, 6, 179, 143, 92, 179, 229, 41, 66, 210, 221, 208, 10, 251, 171, 34, 168, 113, 184, 252, 152, 101, 125, 109, 187, 18, 219, 175, 201, 58, 80, 193, 153, 123, 46, 231, 227, 86, 54, 28, 203, 39, 157, 231, 229, 26, 80, 141, 25, 251, 67, 54, 196, 146, 62, 136, 166, 122, 233, 244, 100, 44, 4, 183, 143, 51, 140, 137, 112, 224, 62, 165, 35, 191, 119, 29, 119, 103, 105, 96, 224, 46, 67, 96, 102, 246, 26, 227, 89, 14, 108, 253, 123, 149, 188, 179, 217, 65, 108, 21, 78, 176, 30, 36, 71, 129, 73, 76, 226, 0, 219, 221, 221, 166, 62, 225, 250, 224, 76, 237, 238, 37, 161, 118, 185, 220, 182, 16, 237, 148, 207, 178, 208, 153, 63, 91, 244, 41, 48, 140, 120, 133, 59, 214, 108, 82, 190, 90, 240, 68, 184, 235, 148, 64, 223, 61, 245, 52, 175, 51, 213, 62, 221, 244, 164, 93, 131, 3, 103, 50, 148, 126, 146, 108, 93, 117, 207, 232, 211, 192, 143, 211, 13, 0, 60, 44, 95, 166, 189, 11, 237, 154, 218, 83, 10, 132, 190, 243, 209, 133, 7, 39, 182, 26, 67, 152, 62, 97, 243, 84, 216, 181, 79, 193, 89, 189, 19, 172, 51, 114, 247, 170, 224, 249, 200, 222, 120, 51, 252, 162, 248, 153, 216, 161, 167, 241, 109, 216, 85, 209, 96, 39, 203, 16, 53, 118, 223, 225, 230, 61, 30, 167, 192, 41, 200, 208, 230, 39, 114, 114, 192, 69, 13, 24, 142, 130, 19, 51, 246, 148, 5, 197, 229, 116, 78, 224, 27, 15, 100, 37, 82, 181, 14, 145, 14, 150, 65, 58, 133, 35, 20, 184, 170, 153, 104, 203, 164, 113, 132, 141, 60, 239, 255, 172, 118, 251, 200, 241, 162, 144, 166, 230, 139, 138, 113, 235, 114, 191, 202, 66, 161, 49, 205, 116, 29, 240, 73, 216, 110, 135, 163, 105, 161, 134, 54, 30, 62, 51, 244, 163, 95, 181, 235, 34, 40, 150, 153, 107, 77, 122, 160, 189, 84, 134, 67, 185, 126, 54, 158, 190, 123, 49, 27, 162, 153, 108, 186, 33, 192, 160, 45, 208, 80, 150, 67, 91, 111, 98, 243, 16, 129, 24, 58, 177, 189, 245, 102, 174, 185, 163, 17, 63, 117, 147, 85, 60, 244, 0, 185, 169, 83, 8, 72, 21, 92, 132, 96, 253, 174, 82, 94, 57, 150, 252, 9, 97, 233, 237, 84, 172, 238, 172, 67, 36, 116, 179, 225, 186, 195, 94, 60, 182, 141, 179, 15, 126, 204, 21, 173, 37, 148, 38, 79, 216, 161, 31, 104, 47, 51, 11, 26, 89, 230, 53, 169, 233, 196, 43, 104, 71, 38, 25, 47, 1, 101, 189, 227, 171, 83, 219, 70, 196, 127, 18, 98, 91, 71, 87, 235, 80, 74, 77, 238, 17, 222, 202, 71, 143, 174, 242, 93, 49, 27, 244, 85, 103, 250, 225, 184, 154, 30, 236, 186, 80, 28, 8, 60, 46, 12, 109, 16, 41, 196, 42, 113, 192, 78, 160, 245, 67, 13, 144, 14, 112, 70, 160, 122, 27, 54, 52, 224, 225, 146, 20, 21, 90, 195, 67, 219, 76, 135, 214, 85, 194, 139, 89, 15, 28, 114, 98, 51, 55, 80, 70, 91, 111, 52, 243, 193, 83, 59, 251, 193, 83, 145, 212, 132, 161, 29, 238, 3, 135, 51, 238, 220, 78, 102, 114, 127, 217, 75, 234, 249, 74, 117, 111, 42, 183, 198, 150, 31, 48, 163, 187, 208, 234, 192, 60, 30, 223, 192, 43, 133, 98, 29, 88, 137, 136, 151, 197, 198, 61, 132, 74, 155, 198, 48, 10, 2, 188, 19, 23, 129, 13, 193, 112, 106, 61, 30, 100, 130, 222, 145, 6, 251, 84, 123, 108, 119, 106, 175, 188, 30, 245, 116, 1, 220, 172, 255, 144, 14, 194, 46, 76, 216, 11, 27, 102, 127, 207, 70, 108, 223, 71, 20, 23, 43, 186, 145, 218, 24, 255, 24, 129, 140, 210, 184, 24, 104, 140, 147, 15, 193, 214, 254, 209, 195, 190, 16, 205, 92, 136, 110, 196, 93, 194, 107, 153, 70, 150, 79, 172, 41, 189, 10, 106, 77, 241, 99, 4, 178, 24, 116, 89, 68, 130, 79, 1, 106, 18, 102, 233, 254, 160, 40, 51, 179, 153, 34, 147, 98, 118, 100, 196, 130, 108, 20, 87, 240, 116, 151, 135, 151, 221, 180, 129, 33, 186, 172, 108, 90, 250, 178, 73, 249, 77, 155, 8, 74, 14, 57, 82, 202, 219, 12, 243, 190, 82, 119, 167, 110, 70, 5, 88, 164, 151, 105, 62, 13, 78, 129, 20, 74, 199, 32, 194, 205, 93, 165, 103, 36, 52, 178, 228, 11, 36, 81, 116, 141, 92, 93, 199, 142, 81, 248, 191, 62, 50, 45, 183, 41, 156, 252, 125, 148, 245, 191, 229, 19, 209, 178, 222, 89, 128, 72, 33, 108, 156, 227, 5, 175, 53, 82, 1, 148, 116, 124, 209, 71, 195, 125, 16, 89, 195, 123, 72, 61, 9, 47, 118, 190, 241, 205, 123, 91, 48, 214, 0, 24, 246, 164, 212, 14, 39, 80, 86, 9, 120, 82, 82, 74, 36, 223, 232, 96, 244, 123, 187, 29, 108, 52, 35, 75, 229, 46, 198, 72, 141, 95, 234, 101, 168, 216, 38, 176, 40, 35, 127, 180, 52, 51, 144, 114, 72, 76, 204, 0, 163, 160, 131, 82, 12, 156, 164, 153, 204, 110, 44, 196, 53, 68, 112, 209, 245, 200, 176, 115, 174, 238, 13, 25, 82, 4, 174, 24, 85, 242, 35, 33, 248, 99, 92, 167, 254, 35, 27, 8, 241, 123, 225, 176, 120, 144, 77, 165, 211, 39, 22, 187, 117, 68, 34, 183, 124, 112, 177, 248, 173, 104, 236, 150, 15, 98, 206, 8, 46, 21, 146, 219, 138, 208, 214, 114, 70, 201, 185, 86, 154, 209, 16, 41, 179, 6, 10, 225, 124, 8, 81, 23, 163, 50, 239, 249, 19, 77, 199, 194, 182, 93, 86, 205, 252, 99, 79, 12, 191, 36, 246, 31, 155, 153, 104, 245, 29, 32, 219, 90, 160, 11, 204, 60, 254, 37, 246, 192, 43, 109, 105, 172, 190, 3, 176, 169, 185, 248, 111, 157, 90, 190, 189, 129, 71, 252, 33, 18, 145, 205, 152, 118, 77, 16, 246, 88, 85, 77, 103, 97, 63, 213, 154, 195, 155, 156, 177, 79, 69, 235, 6, 58, 121, 109, 39, 200, 78, 151, 62, 107, 161, 105, 178, 76, 195, 8, 96, 126, 205, 130, 245, 170, 227, 120, 37, 138, 232, 158, 225, 213, 156, 128, 94, 89, 206, 55, 19, 191, 159, 135, 12, 51, 100, 6, 105, 105, 67, 102, 224, 197, 40, 203, 250, 104, 99, 146, 136, 69, 155, 248, 247, 58, 207, 6, 106, 137, 67, 11, 18, 167, 2, 58, 112, 36, 160, 43, 107, 236, 177, 152, 99, 139, 141, 105, 157, 44, 95, 239, 65, 69, 140, 153, 180, 239, 230, 131, 229, 90, 6, 58, 134, 16, 1, 127, 160, 209, 40, 33, 98, 225, 49, 176, 196, 123, 36, 185, 194, 97, 195, 146, 26, 243, 41, 63, 194, 34, 52, 60, 229, 121, 133, 129, 102, 44, 58, 207, 117, 113, 75, 64, 212, 244, 207, 250, 204, 138, 141, 13, 86, 149, 81, 69, 37, 174, 93, 194, 136, 53, 144, 230, 24, 179, 182, 206, 234, 70, 173, 36, 52, 36, 241, 166, 245, 207, 102, 232, 54, 160, 229, 235, 248, 173, 28, 191, 232, 146, 143, 174, 50, 53, 23, 3, 35, 151, 5, 188, 123, 74, 128, 181, 253, 241, 206, 12, 242, 87, 233, 69, 214, 30, 228, 195, 124, 58, 255, 248, 214, 107, 167, 97, 154, 143, 100, 252, 174, 245, 191, 73, 144, 118, 253, 175, 203, 60, 182, 222, 54, 28, 253, 199, 233, 232, 220, 132, 173, 254, 176, 194, 65, 14, 132, 134, 134, 133, 65, 237, 243, 25, 227, 245, 164, 172, 120, 136, 239, 144, 78, 127, 2, 251, 43, 230, 79, 154, 171, 194, 186, 40, 230, 87, 5, 82, 218, 149, 46, 168, 119, 153, 218, 17, 181, 188, 89, 59, 90, 109, 233, 3, 149, 232, 146, 176, 123, 169, 113, 221, 216, 40, 255, 109, 82, 140, 255, 18, 163, 28, 8, 253, 66, 70, 121, 61, 41, 102, 148, 223, 193, 65, 221, 116, 36, 243, 241, 43, 255, 235, 41, 174, 47, 196, 178, 248, 148, 58, 166, 145, 49, 176, 87, 226, 30, 86, 214, 127, 153, 230, 19, 29, 167, 58, 191, 174, 88, 230, 128, 230, 40, 249, 227, 225, 243, 25, 207, 181, 148, 44, 109, 56, 47, 111, 252, 116, 200, 221, 29, 75, 28, 74, 29, 255, 202, 143, 229, 141, 41, 125, 168, 16, 171, 191, 185, 59, 131, 139, 7, 117, 125, 153, 254, 47, 69, 227, 151, 224, 3, 171, 39, 101, 185, 211, 111, 179, 193, 121, 227, 25, 109, 9, 211, 152, 172, 39, 79, 92, 85, 238, 200, 214, 250, 184, 128, 112, 89, 189, 173, 100, 17, 174, 204, 137, 31, 3, 148, 109, 178, 133, 182, 28, 243, 182, 222, 167, 92, 97, 87, 109, 189, 171, 100, 176, 50, 7, 228, 36, 137, 15, 255, 138, 93, 227, 168, 42, 80, 80, 231, 209, 5, 166, 138, 86, 6, 32, 127, 78, 130, 200, 104, 46, 54, 19, 174, 30, 176, 6, 67, 130, 160, 41, 196, 237, 105, 155, 211, 34, 184, 55, 15, 69, 230, 219, 153, 151, 53, 108, 87, 68, 109, 78, 23, 214, 67, 86, 137, 167, 79, 228, 195, 129, 69, 255, 84, 103, 196, 4, 96, 158, 92, 127, 168, 57, 217, 74, 132, 218, 129, 94, 17, 238, 128, 29, 200, 175, 197, 163, 137, 30, 237, 80, 35, 43, 73, 39, 171, 99, 149, 196, 170, 44, 29, 49, 43, 240, 223, 141, 130, 1, 68, 237, 221, 39, 184, 153, 245, 145, 217, 135, 67, 184, 127, 76, 158, 46, 6, 193, 99, 86, 198, 77, 184, 23, 136, 124, 203, 229, 41, 78, 101, 113, 68, 248, 130, 133, 234, 56, 162, 47, 59, 208, 119, 114, 44, 107, 248, 194, 89, 244, 57, 60, 226, 35, 59, 104, 111, 36, 104, 113, 31, 231, 40, 162, 179, 235, 148, 28, 94, 115, 243, 101, 112, 167, 198, 11, 28, 226, 144, 31, 219, 98, 38, 77, 199, 159, 99, 178, 15, 85, 49, 83, 222, 50, 245, 229, 112, 243, 222, 77, 217, 233, 78, 223, 223, 56, 140, 174, 25, 188, 144, 178, 246, 203, 225, 230, 77, 153, 233, 36, 53, 99, 203, 22, 164, 192, 30, 29, 255, 6, 170, 170, 28, 79, 137, 61, 64, 29, 8, 93, 11, 49, 226, 126, 39, 105, 225, 175, 22, 132, 65, 42, 160, 45, 157, 228, 68, 6, 42, 224, 153, 181, 116, 152, 233, 32, 54, 241, 19, 94, 171, 87, 109, 249, 47, 191, 154, 231, 23, 13, 21, 115, 204, 41, 84, 161, 160, 1, 56, 44, 207, 21, 188, 97, 86, 150, 233, 57, 130, 148, 47, 219, 248, 143, 7, 144, 193, 130, 187, 107, 53, 153, 6, 129, 86, 75, 210, 168, 152, 40, 202, 232, 34, 26, 162, 83, 66, 147, 66, 254, 76, 214, 147, 214, 163, 164, 37, 254, 193, 234, 49, 190, 67, 10, 214, 87, 147, 52, 31, 136, 223, 98, 69, 38, 254, 201, 84, 87, 196, 78, 218, 235, 63, 244, 29, 186, 12, 156, 138, 40, 17, 115, 238, 26, 32, 240, 255, 140, 90, 252, 192, 134, 250, 241, 43, 140, 18, 115, 120, 96, 115, 115, 243, 180, 16, 60, 18, 127, 152, 35, 245, 246, 4, 70, 66, 15, 211, 187, 35, 67, 229, 109, 141, 158, 35, 2, 177, 208, 141, 130, 52, 156, 66, 178, 94, 29, 158, 78, 226, 182, 15, 236, 79, 241, 105, 95, 101, 252, 52, 88, 177, 3, 140, 229, 101, 142, 151, 0, 235, 130, 100, 169, 147, 10, 235, 109, 235, 145, 65, 230, 0, 96, 136, 22, 223, 194, 127, 52, 26, 91, 54, 72, 94, 51, 192, 82, 111, 215, 88, 236, 0, 24, 2, 238, 214, 0, 238, 46, 10, 120, 187, 6, 240, 246, 2, 128, 213, 157, 220, 53, 144, 95, 212, 67, 150, 86, 179, 80, 171, 121, 249, 238, 87, 248, 166, 235, 30, 142, 242, 105, 251, 64, 247, 101, 199, 244, 155, 238, 85, 184, 111, 196, 151, 215, 29, 58, 108, 14, 152, 112, 6, 122, 74, 124, 11, 162, 198, 35, 175, 236, 249, 123, 44, 193, 114, 109, 96, 22, 6, 152, 81, 214, 36, 70, 6, 134, 229, 155, 204, 87, 112, 41, 83, 255, 238, 176, 154, 228, 96, 52, 234, 72, 247, 96, 138, 169, 134, 75, 137, 203, 205, 169, 3, 67, 195, 33, 229, 132, 242, 144, 104, 250, 7, 63, 40, 52, 65, 19, 7, 67, 164, 158, 173, 212, 252, 179, 50, 238, 40, 208, 143, 86, 40, 154, 162, 64, 42, 142, 142, 197, 193, 59, 45, 226, 142, 129, 197, 192, 118, 216, 121, 183, 112, 35, 219, 203, 109, 164, 195, 22, 111, 225, 38, 239, 175, 178, 73, 250, 215, 118, 4, 129, 7, 183, 135, 0, 253, 235, 126, 4, 157, 135, 159, 10, 29, 250, 215, 3, 31, 57, 79, 173, 233, 71, 205, 28, 165, 58, 56, 87, 57, 99, 162, 162, 25, 166, 227, 61, 221, 146, 204, 202, 231, 223, 55, 31, 32, 31, 235, 26, 30, 88, 61, 26, 160, 222, 133, 82, 115, 54, 122, 121, 3, 60, 156, 102, 199, 30, 178, 156, 119, 100, 215, 192, 187, 225, 144, 158, 11, 250, 13, 199, 242, 13, 218, 186, 225, 32, 94, 90, 203, 55, 28, 189, 43, 194, 99, 209, 97, 219, 212, 200, 141, 224, 24, 31, 97, 210, 118, 169, 182, 47, 186, 117, 246, 5, 40, 21, 124, 217, 165, 198, 40, 75, 246, 36, 150, 126, 2, 36, 110, 168, 128, 14, 97, 230, 205, 87, 187, 132, 61, 203, 177, 75, 84, 55, 249, 231, 97, 151, 101, 159, 72, 240, 183, 100, 167, 132, 26, 187, 37, 123, 165, 190, 233, 91, 178, 91, 230, 69, 228, 150, 236, 151, 155, 161, 85, 169, 16, 239, 138, 37, 176, 240, 88, 106, 8, 119, 213, 150, 193, 10, 70, 207, 18, 218, 92, 181, 165, 112, 203, 227, 101, 197, 248, 52, 29, 40, 108, 254, 179, 179, 110, 224, 4, 38, 18, 101, 167, 101, 61, 11, 123, 41, 56, 225, 193, 41, 28, 19, 205, 159, 151, 218, 235, 228, 14, 59, 127, 45, 64, 22, 27, 54, 173, 90, 23, 110, 135, 161, 160, 2, 139, 136, 192, 190, 21, 192, 193, 104, 134, 200, 80, 36, 249, 78, 114, 153, 229, 36, 79, 30, 243, 134, 118, 32, 9, 81, 56, 143, 68, 180, 193, 28, 18, 132, 83, 222, 231, 161, 172, 79, 122, 59, 145, 217, 37, 216, 29, 59, 129, 158, 153, 103, 13, 166, 59, 168, 106, 233, 229, 91, 40, 213, 119, 167, 163, 129, 135, 240, 157, 117, 25, 53, 28, 105, 3, 139, 175, 233, 106, 44, 203, 237, 37, 88, 150, 248, 118, 155, 125, 238, 126, 53, 60, 237, 243, 169, 12, 79, 245, 239, 246, 202, 13, 80, 217, 204, 45, 27, 162, 161, 70, 111, 217, 32, 173, 71, 225, 150, 13, 211, 121, 17, 186, 101, 3, 245, 102, 232, 125, 86, 134, 234, 194, 99, 111, 78, 248, 183, 101, 184, 174, 96, 180, 45, 177, 237, 219, 50, 100, 111, 121, 124, 221, 18, 94, 95, 140, 97, 187, 189, 42, 195, 54, 90, 41, 62, 206, 87, 104, 13, 179, 142, 254, 106, 13, 47, 209, 26, 118, 219, 245, 172, 97, 146, 191, 127, 81, 179, 246, 238, 219, 172, 124, 160, 187, 99, 49, 126, 3, 150, 5, 24, 73, 14, 186, 96, 255, 133, 66, 8, 230, 18, 159, 16, 128, 21, 106, 51, 211, 92, 117, 116, 136, 91, 109, 73, 74, 208, 105, 189, 94, 35, 134, 244, 20, 7, 178, 144, 162, 34, 108, 15, 43, 169, 149, 233, 71, 142, 252, 103, 165, 44, 43, 6, 206, 205, 182, 117, 23, 81, 181, 1, 101, 73, 247, 162, 217, 29, 46, 131, 154, 60, 238, 158, 152, 6, 110, 248, 33, 114, 128, 137, 195, 89, 239, 87, 9, 90, 160, 131, 89, 167, 186, 84, 212, 51, 64, 81, 70, 150, 13, 254, 138, 193, 93, 41, 204, 187, 169, 237, 174, 4, 230, 217, 248, 100, 198, 190, 107, 228, 207, 11, 72, 253, 232, 58, 16, 239, 47, 1, 162, 250, 177, 237, 128, 126, 176, 76, 208, 234, 199, 125, 167, 141, 135, 43, 105, 67, 253, 120, 224, 52, 246, 195, 106, 27, 83, 63, 30, 58, 173, 254, 120, 75, 173, 170, 31, 63, 56, 205, 255, 116, 219, 205, 171, 31, 63, 58, 120, 252, 252, 201, 240, 80, 63, 126, 178, 8, 121, 241, 3, 11, 199, 13, 216, 176, 70, 87, 125, 53, 213, 254, 141, 149, 88, 64, 9, 205, 17, 59, 213, 72, 23, 205, 9, 175, 185, 74, 90, 20, 112, 115, 205, 116, 227, 22, 154, 43, 168, 229, 53, 213, 92, 79, 173, 160, 205, 230, 234, 106, 149, 141, 55, 215, 90, 183, 130, 69, 115, 229, 117, 187, 232, 248, 58, 76, 234, 132, 128, 101, 243, 137, 16, 83, 63, 126, 118, 49, 188, 185, 218, 90, 58, 134, 26, 160, 171, 17, 187, 75, 84, 137, 203, 199, 85, 255, 234, 86, 204, 99, 228, 6, 8, 69, 192, 190, 59, 13, 85, 58, 94, 120, 46, 234, 72, 110, 116, 117, 104, 227, 100, 86, 142, 51, 177, 10, 234, 243, 236, 226, 107, 238, 238, 96, 32, 51, 170, 120, 101, 42, 209, 111, 193, 181, 148, 151, 8, 213, 84, 13, 167, 63, 85, 217, 205, 25, 250, 45, 103, 45, 231, 180, 126, 88, 226, 9, 237, 126, 5, 22, 241, 43, 218, 225, 24, 25, 93, 133, 50, 248, 135, 229, 241, 108, 4, 217, 112, 66, 160, 221, 195, 45, 63, 177, 51, 18, 54, 23, 0, 65, 163, 73, 38, 122, 4, 33, 216, 134, 246, 132, 119, 235, 214, 189, 57, 104, 55, 69, 225, 146, 65, 82, 202, 18, 139, 25, 234, 147, 172, 74, 124, 188, 252, 247, 159, 153, 252, 144, 212, 184, 11, 9, 144, 100, 145, 0, 122, 7, 68, 100, 74, 105, 185, 67, 50, 98, 211, 91, 127, 166, 66, 66, 51, 88, 47, 36, 37, 174, 154, 65, 248, 183, 169, 96, 240, 98, 20, 209, 42, 28, 210, 111, 128, 68, 165, 176, 77, 220, 11, 38, 238, 134, 184, 65, 254, 185, 201, 88, 96, 69, 186, 13, 208, 111, 159, 195, 213, 60, 136, 243, 133, 88, 186, 105, 244, 206, 10, 188, 250, 72, 213, 209, 185, 108, 212, 5, 45, 162, 156, 60, 185, 41, 181, 174, 110, 61, 194, 22, 219, 0, 211, 210, 28, 146, 26, 156, 205, 65, 177, 209, 92, 125, 239, 7, 169, 101, 123, 133, 178, 70, 157, 96, 118, 174, 79, 209, 39, 165, 221, 203, 83, 2, 73, 98, 42, 110, 6, 49, 215, 112, 248, 219, 20, 143, 147, 109, 69, 111, 248, 134, 111, 14, 123, 147, 222, 219, 224, 124, 210, 127, 106, 254, 61, 90, 18, 60, 115, 22, 26, 248, 91, 121, 33, 72, 32, 233, 136, 42, 1, 85, 201, 193, 115, 249, 54, 200, 208, 47, 224, 174, 149, 207, 226, 150, 21, 39, 93, 214, 98, 55, 171, 184, 104, 96, 113, 221, 215, 189, 85, 92, 181, 18, 74, 98, 163, 107, 57, 66, 166, 166, 81, 69, 231, 35, 188, 31, 4, 95, 17, 153, 199, 191, 165, 126, 199, 24, 62, 255, 30, 16, 143, 85, 95, 222, 93, 52, 154, 69, 252, 26, 26, 77, 245, 167, 188, 129, 102, 98, 172, 162, 191, 212, 221, 51, 38, 47, 204, 52, 27, 87, 169, 66, 72, 1, 164, 85, 105, 197, 46, 248, 182, 61, 222, 93, 161, 161, 52, 215, 162, 243, 67, 184, 128, 153, 37, 212, 103, 68, 15, 127, 75, 249, 163, 97, 110, 171, 108, 159, 52, 185, 192, 52, 85, 165, 79, 189, 121, 11, 211, 99, 137, 233, 26, 53, 134, 152, 102, 43, 102, 179, 131, 73, 49, 212, 247, 113, 75, 177, 157, 149, 194, 84, 61, 180, 179, 87, 240, 154, 109, 59, 32, 119, 84, 55, 115, 170, 117, 119, 115, 96, 158, 124, 251, 159, 253, 89, 139, 76, 164, 161, 94, 97, 32, 58, 201, 145, 158, 177, 24, 58, 193, 4, 140, 129, 57, 46, 210, 117, 73, 46, 16, 73, 71, 189, 172, 56, 139, 221, 3, 111, 147, 99, 121, 186, 165, 98, 250, 215, 249, 234, 136, 8, 54, 64, 252, 200, 81, 208, 151, 82, 225, 203, 12, 143, 160, 253, 15, 10, 200, 153, 151, 247, 117, 61, 105, 22, 135, 179, 44, 170, 202, 24, 183, 197, 219, 198, 74, 138, 6, 85, 138, 137, 80, 168, 165, 155, 220, 64, 21, 196, 60, 114, 3, 79, 147, 128, 154, 216, 186, 49, 212, 206, 156, 215, 244, 36, 73, 43, 70, 125, 139, 45, 224, 86, 136, 131, 190, 42, 168, 26, 17, 55, 29, 40, 38, 69, 170, 185, 41, 168, 161, 214, 222, 106, 164, 181, 89, 138, 64, 110, 94, 102, 100, 73, 48, 159, 42, 110, 6, 212, 77, 9, 23, 214, 185, 139, 104, 220, 248, 42, 33, 212, 27, 199, 158, 145, 176, 170, 97, 241, 137, 196, 141, 186, 86, 22, 17, 184, 200, 138, 41, 251, 36, 107, 37, 153, 182, 112, 148, 161, 231, 97, 25, 203, 37, 2, 108, 190, 53, 19, 171, 24, 92, 56, 253, 155, 44, 15, 208, 112, 251, 198, 118, 149, 103, 180, 133, 122, 238, 70, 55, 166, 125, 6, 146, 25, 188, 52, 109, 53, 130, 137, 174, 30, 95, 46, 241, 181, 102, 40, 43, 195, 164, 82, 176, 214, 253, 72, 217, 103, 60, 212, 42, 109, 233, 55, 149, 166, 63, 129, 100, 101, 51, 120, 137, 155, 230, 211, 205, 239, 143, 228, 144, 230, 21, 3, 94, 123, 65, 1, 240, 137, 89, 206, 117, 121, 46, 123, 231, 186, 41, 146, 35, 117, 179, 169, 224, 206, 241, 56, 172, 248, 151, 204, 101, 217, 200, 124, 124, 190, 145, 94, 187, 115, 108, 94, 226, 213, 143, 81, 46, 55, 186, 243, 209, 104, 232, 207, 36, 221, 189, 211, 147, 68, 167, 83, 238, 17, 170, 26, 36, 184, 111, 170, 13, 42, 214, 92, 28, 213, 121, 50, 219, 235, 158, 248, 190, 33, 210, 70, 246, 87, 126, 37, 92, 192, 37, 20, 187, 178, 69, 251, 15, 237, 95, 77, 234, 175, 226, 74, 137, 79, 116, 129, 99, 104, 43, 33, 126, 217, 132, 77, 116, 251, 153, 93, 219, 56, 223, 232, 155, 227, 178, 198, 59, 54, 4, 239, 212, 213, 140, 159, 193, 56, 196, 131, 66, 159, 193, 21, 140, 139, 13, 211, 207, 238, 226, 197, 249, 134, 105, 243, 235, 22, 239, 216, 40, 253, 28, 47, 87, 108, 60, 152, 81, 181, 227, 125, 25, 222, 230, 144, 59, 46, 150, 55, 123, 46, 249, 146, 179, 6, 195, 173, 162, 80, 96, 36, 126, 118, 151, 35, 206, 55, 18, 155, 95, 137, 120, 199, 70, 226, 221, 188, 0, 81, 90, 71, 161, 1, 183, 86, 55, 168, 26, 223, 110, 248, 25, 76, 206, 119, 97, 152, 7, 198, 242, 10, 111, 48, 156, 111, 212, 53, 190, 183, 240, 142, 13, 186, 230, 183, 20, 126, 122, 19, 53, 120, 59, 225, 98, 3, 226, 179, 188, 145, 112, 193, 245, 225, 103, 116, 15, 225, 156, 75, 195, 198, 183, 15, 222, 177, 65, 247, 9, 239, 26, 12, 207, 100, 139, 12, 167, 229, 223, 44, 184, 240, 157, 130, 119, 248, 54, 193, 197, 198, 108, 227, 219, 3, 249, 160, 253, 76, 46, 14, 252, 122, 101, 32, 19, 219, 133, 47, 11, 92, 217, 53, 129, 190, 243, 98, 254, 187, 1, 181, 30, 12, 93, 11, 168, 90, 125, 189, 185, 185, 25, 167, 249, 77, 56, 48, 173, 193, 157, 124, 115, 14, 138, 155, 93, 234, 53, 127, 39, 206, 125, 5, 159, 31, 95, 89, 119, 239, 222, 29, 231, 64, 212, 211, 183, 164, 107, 246, 60, 134, 213, 223, 173, 247, 25, 112, 236, 222, 42, 175, 210, 11, 108, 43, 212, 220, 159, 247, 25, 112, 108, 53, 215, 229, 9, 203, 141, 196, 120, 226, 237, 87, 216, 186, 160, 146, 166, 236, 17, 230, 70, 66, 111, 76, 195, 52, 61, 253, 62, 154, 186, 226, 219, 102, 169, 83, 139, 185, 156, 194, 66, 241, 155, 212, 128, 93, 83, 241, 23, 112, 1, 75, 18, 67, 79, 38, 63, 187, 2, 150, 12, 227, 108, 2, 68, 227, 199, 240, 116, 253, 154, 19, 105, 63, 118, 146, 150, 224, 4, 61, 56, 23, 98, 55, 162, 136, 102, 109, 199, 96, 134, 167, 173, 205, 31, 230, 84, 180, 203, 100, 173, 234, 1, 236, 105, 218, 187, 56, 179, 25, 60, 18, 118, 149, 159, 229, 249, 243, 36, 112, 71, 157, 162, 235, 185, 220, 208, 127, 110, 55, 244, 69, 27, 230, 27, 217, 200, 55, 244, 196, 182, 242, 69, 189, 200, 217, 194, 0, 170, 146, 77, 138, 150, 214, 90, 184, 203, 109, 189, 234, 126, 119, 135, 9, 173, 103, 165, 44, 131, 43, 214, 179, 96, 10, 45, 129, 202, 91, 245, 185, 147, 60, 39, 117, 68, 7, 201, 1, 45, 74, 202, 216, 50, 112, 8, 144, 136, 165, 87, 217, 112, 188, 25, 46, 69, 104, 10, 23, 160, 194, 118, 147, 134, 146, 93, 38, 146, 251, 147, 76, 12, 249, 231, 193, 162, 109, 102, 184, 93, 190, 19, 60, 75, 218, 160, 236, 220, 92, 129, 24, 19, 143, 10, 13, 214, 130, 2, 216, 83, 193, 158, 107, 209, 95, 90, 191, 181, 13, 191, 34, 196, 237, 176, 129, 132, 246, 36, 67, 147, 93, 199, 39, 27, 189, 200, 174, 165, 22, 8, 192, 51, 185, 191, 117, 97, 189, 174, 138, 20, 239, 146, 226, 81, 136, 9, 205, 162, 88, 81, 178, 235, 151, 12, 141, 234, 160, 156, 171, 32, 21, 65, 155, 21, 45, 24, 211, 152, 123, 140, 116, 46, 158, 83, 13, 183, 255, 8, 219, 134, 0, 69, 170, 8, 116, 79, 96, 28, 26, 29, 238, 71, 21, 195, 253, 200, 139, 223, 33, 144, 196, 215, 57, 7, 188, 174, 25, 25, 248, 45, 7, 205, 214, 95, 102, 104, 225, 233, 227, 12, 60, 96, 208, 175, 85, 169, 22, 62, 90, 150, 212, 15, 186, 163, 154, 225, 134, 44, 225, 107, 55, 9, 90, 208, 58, 252, 39, 158, 204, 181, 225, 79, 135, 163, 233, 253, 109, 56, 210, 226, 198, 65, 209, 188, 178, 146, 16, 29, 222, 110, 7, 180, 5, 24, 74, 204, 105, 226, 209, 27, 12, 102, 181, 68, 244, 128, 118, 231, 5, 218, 245, 129, 114, 0, 36, 155, 8, 131, 247, 58, 138, 101, 140, 221, 162, 45, 218, 216, 74, 53, 141, 20, 163, 77, 173, 239, 220, 206, 80, 159, 149, 236, 56, 38, 45, 9, 190, 135, 82, 204, 164, 253, 155, 16, 176, 147, 113, 214, 19, 74, 220, 168, 15, 231, 124, 52, 156, 73, 79, 71, 197, 40, 23, 99, 255, 69, 42, 86, 87, 164, 142, 24, 221, 144, 59, 242, 181, 92, 217, 110, 150, 242, 237, 27, 24, 226, 166, 9, 212, 18, 69, 127, 54, 200, 4, 137, 197, 224, 67, 246, 143, 162, 184, 104, 15, 241, 141, 96, 173, 250, 242, 251, 44, 43, 167, 157, 36, 187, 18, 32, 132, 173, 250, 60, 31, 229, 195, 217, 240, 100, 154, 78, 103, 165, 188, 235, 87, 159, 178, 192, 146, 162, 4, 86, 20, 212, 254, 163, 40, 167, 10, 242, 225, 112, 92, 76, 204, 183, 112, 27, 100, 144, 56, 176, 54, 75, 108, 45, 121, 28, 195, 66, 115, 27, 173, 15, 60, 67, 63, 74, 7, 210, 2, 121, 248, 227, 207, 10, 176, 225, 53, 131, 205, 152, 46, 95, 137, 193, 247, 244, 74, 226, 11, 108, 45, 219, 25, 254, 37, 26, 131, 52, 0, 32, 145, 111, 52, 225, 241, 100, 16, 138, 82, 47, 125, 68, 84, 93, 99, 249, 136, 166, 102, 8, 84, 29, 229, 73, 132, 82, 15, 210, 192, 143, 242, 64, 127, 13, 117, 55, 241, 201, 136, 33, 134, 14, 148, 195, 81, 111, 48, 235, 103, 30, 26, 10, 194, 154, 55, 21, 189, 86, 131, 47, 144, 158, 211, 129, 192, 254, 84, 62, 56, 3, 119, 199, 160, 154, 81, 74, 144, 255, 246, 27, 220, 86, 109, 210, 227, 110, 217, 247, 131, 66, 80, 34, 89, 240, 212, 152, 150, 18, 242, 166, 255, 205, 241, 59, 211, 172, 163, 94, 89, 157, 199, 20, 115, 145, 210, 88, 30, 192, 84, 84, 244, 107, 188, 206, 137, 58, 138, 114, 69, 209, 215, 33, 36, 173, 175, 11, 30, 109, 202, 207, 47, 244, 189, 225, 180, 19, 133, 54, 198, 149, 108, 132, 208, 224, 231, 56, 173, 193, 226, 117, 228, 6, 43, 173, 142, 98, 161, 10, 38, 17, 106, 189, 79, 113, 74, 189, 162, 117, 84, 122, 21, 24, 133, 97, 253, 87, 173, 95, 179, 77, 174, 97, 43, 71, 117, 236, 217, 90, 227, 72, 0, 154, 122, 148, 176, 145, 236, 106, 212, 115, 71, 63, 116, 92, 252, 27, 226, 195, 70, 48, 65, 198, 48, 253, 189, 100, 250, 123, 197, 116, 108, 204, 48, 251, 61, 103, 182, 166, 98, 164, 24, 142, 133, 95, 191, 127, 195, 13, 3, 244, 130, 227, 81, 167, 150, 202, 72, 214, 130, 131, 80, 247, 234, 53, 151, 149, 183, 53, 63, 133, 244, 188, 82, 58, 90, 115, 77, 12, 54, 165, 179, 186, 129, 73, 70, 176, 75, 206, 94, 70, 32, 70, 217, 37, 159, 85, 149, 65, 164, 254, 9, 239, 240, 233, 202, 247, 105, 253, 64, 115, 74, 2, 101, 159, 183, 237, 248, 194, 179, 128, 240, 197, 157, 217, 118, 66, 235, 147, 21, 79, 112, 46, 66, 141, 102, 58, 70, 89, 163, 105, 46, 164, 16, 108, 163, 85, 154, 96, 34, 45, 60, 85, 146, 169, 0, 52, 91, 54, 117, 107, 187, 90, 41, 225, 17, 61, 162, 207, 240, 19, 81, 111, 158, 17, 141, 204, 227, 38, 38, 149, 174, 128, 148, 18, 126, 249, 100, 116, 146, 127, 27, 133, 99, 90, 253, 184, 246, 25, 204, 147, 192, 80, 151, 111, 116, 98, 8, 241, 205, 208, 10, 57, 113, 243, 209, 57, 20, 124, 148, 40, 66, 144, 242, 207, 114, 2, 173, 99, 69, 64, 133, 230, 204, 224, 190, 157, 201, 40, 225, 243, 145, 193, 124, 83, 34, 99, 112, 15, 221, 165, 224, 119, 226, 35, 135, 6, 167, 83, 91, 223, 163, 58, 30, 167, 189, 236, 251, 214, 71, 222, 234, 199, 144, 108, 48, 133, 196, 65, 111, 78, 168, 14, 233, 120, 13, 83, 10, 234, 89, 99, 199, 96, 100, 134, 8, 116, 167, 153, 201, 2, 154, 212, 42, 3, 110, 5, 97, 63, 206, 80, 199, 211, 69, 233, 157, 54, 146, 62, 129, 88, 186, 38, 210, 132, 178, 237, 38, 66, 113, 213, 92, 36, 42, 4, 67, 46, 119, 45, 74, 32, 12, 233, 240, 52, 63, 159, 21, 179, 178, 21, 212, 114, 182, 120, 20, 76, 40, 191, 142, 46, 230, 202, 78, 197, 136, 244, 196, 44, 212, 52, 60, 65, 135, 142, 143, 151, 158, 31, 1, 61, 14, 91, 127, 249, 243, 207, 32, 51, 9, 8, 162, 5, 66, 112, 200, 103, 223, 198, 243, 241, 35, 108, 37, 108, 223, 241, 202, 125, 140, 40, 152, 128, 229, 199, 17, 226, 251, 148, 165, 146, 242, 254, 175, 18, 77, 194, 27, 199, 240, 210, 190, 30, 185, 105, 230, 74, 72, 129, 246, 88, 75, 38, 0, 240, 122, 221, 205, 169, 37, 69, 246, 133, 214, 151, 106, 120, 133, 205, 76, 179, 166, 134, 146, 86, 109, 152, 87, 214, 44, 84, 168, 145, 194, 128, 153, 241, 162, 182, 60, 13, 225, 172, 226, 217, 216, 27, 198, 150, 37, 204, 25, 160, 65, 205, 70, 166, 175, 92, 159, 0, 60, 33, 101, 198, 90, 143, 41, 50, 202, 128, 100, 151, 215, 97, 186, 76, 23, 140, 43, 147, 97, 80, 137, 24, 91, 223, 46, 109, 245, 35, 47, 123, 170, 144, 143, 70, 75, 22, 151, 51, 29, 143, 87, 198, 48, 116, 112, 176, 50, 77, 187, 223, 17, 29, 233, 98, 55, 250, 217, 133, 29, 202, 23, 67, 36, 199, 91, 149, 196, 224, 74, 198, 155, 133, 144, 191, 178, 59, 65, 110, 234, 98, 68, 114, 75, 25, 147, 25, 150, 120, 183, 70, 92, 78, 42, 167, 58, 38, 29, 254, 28, 167, 52, 208, 141, 4, 98, 135, 107, 118, 5, 146, 233, 62, 28, 109, 212, 8, 138, 9, 178, 238, 202, 128, 34, 208, 112, 189, 65, 6, 207, 211, 81, 57, 155, 100, 178, 202, 211, 209, 135, 124, 82, 140, 32, 32, 44, 86, 187, 99, 27, 115, 0, 237, 245, 251, 78, 195, 90, 186, 71, 106, 85, 109, 108, 59, 3, 43, 64, 49, 149, 213, 208, 116, 179, 130, 102, 2, 210, 92, 134, 149, 43, 97, 80, 173, 122, 205, 70, 31, 146, 216, 57, 119, 141, 152, 190, 113, 144, 207, 6, 162, 38, 107, 30, 157, 17, 56, 32, 48, 18, 180, 108, 167, 240, 91, 7, 136, 16, 231, 124, 143, 59, 72, 67, 130, 143, 85, 99, 98, 47, 131, 37, 69, 1, 33, 237, 40, 121, 170, 5, 202, 255, 158, 244, 140, 4, 84, 0, 126, 97, 136, 35, 206, 176, 65, 155, 230, 163, 48, 214, 43, 65, 49, 24, 140, 85, 17, 138, 245, 143, 116, 212, 31, 168, 33, 112, 136, 121, 211, 166, 57, 238, 9, 29, 164, 249, 64, 12, 14, 167, 171, 99, 158, 29, 109, 130, 86, 187, 112, 186, 15, 72, 144, 79, 179, 26, 15, 121, 13, 79, 191, 90, 156, 179, 246, 156, 91, 22, 55, 243, 231, 180, 188, 246, 91, 68, 75, 71, 182, 30, 236, 10, 5, 54, 123, 112, 147, 145, 218, 131, 254, 231, 251, 18, 75, 43, 3, 149, 251, 63, 108, 245, 212, 187, 32, 54, 3, 79, 77, 125, 8, 145, 213, 18, 255, 103, 249, 232, 2, 20, 136, 102, 56, 86, 180, 253, 105, 115, 76, 67, 83, 84, 24, 35, 203, 169, 222, 69, 157, 229, 49, 148, 203, 168, 222, 133, 103, 110, 32, 135, 24, 115, 66, 22, 123, 189, 196, 58, 202, 57, 118, 151, 43, 197, 86, 238, 34, 131, 177, 25, 232, 34, 23, 139, 166, 99, 38, 100, 121, 144, 105, 79, 229, 213, 6, 198, 210, 238, 219, 9, 169, 69, 51, 6, 184, 177, 93, 219, 143, 120, 228, 133, 142, 139, 185, 37, 112, 187, 250, 243, 131, 234, 207, 15, 93, 249, 213, 199, 49, 0, 47, 74, 181, 143, 219, 61, 220, 215, 111, 38, 248, 49, 181, 212, 109, 172, 150, 36, 163, 154, 170, 36, 90, 90, 157, 88, 138, 110, 8, 170, 158, 160, 210, 22, 216, 0, 116, 246, 38, 136, 59, 195, 253, 82, 229, 225, 229, 37, 43, 253, 188, 162, 108, 62, 193, 160, 81, 183, 154, 24, 151, 220, 41, 225, 239, 2, 65, 205, 134, 14, 14, 93, 188, 195, 220, 20, 250, 196, 88, 64, 130, 57, 124, 71, 146, 131, 246, 99, 237, 79, 189, 225, 110, 193, 86, 142, 239, 218, 254, 111, 224, 13, 145, 81, 125, 211, 119, 111, 135, 185, 49, 140, 251, 103, 229, 222, 168, 39, 24, 10, 225, 169, 112, 20, 109, 94, 103, 143, 67, 131, 11, 111, 45, 98, 216, 177, 137, 13, 2, 99, 243, 116, 144, 255, 65, 13, 58, 71, 32, 185, 10, 34, 67, 211, 109, 145, 108, 3, 192, 55, 137, 69, 68, 210, 116, 48, 130, 254, 214, 47, 188, 157, 1, 71, 176, 188, 48, 73, 180, 169, 222, 142, 139, 177, 146, 10, 71, 209, 187, 90, 192, 149, 164, 109, 102, 95, 171, 224, 67, 167, 213, 123, 134, 160, 208, 74, 79, 169, 45, 166, 130, 3, 236, 108, 83, 195, 52, 96, 10, 124, 54, 110, 249, 155, 56, 0, 2, 123, 220, 90, 154, 238, 85, 123, 1, 28, 185, 144, 167, 243, 205, 119, 169, 251, 173, 122, 209, 239, 133, 73, 198, 9, 106, 113, 28, 26, 140, 182, 108, 115, 32, 180, 247, 139, 217, 240, 20, 130, 163, 179, 205, 158, 0, 61, 28, 201, 191, 35, 99, 203, 174, 118, 170, 22, 74, 164, 219, 135, 225, 238, 30, 54, 235, 230, 97, 195, 238, 205, 49, 158, 147, 21, 191, 169, 167, 58, 135, 32, 197, 27, 251, 170, 187, 142, 40, 0, 212, 6, 155, 39, 13, 86, 250, 156, 28, 71, 53, 72, 239, 139, 183, 108, 22, 61, 39, 9, 51, 219, 103, 225, 53, 126, 112, 53, 190, 68, 87, 251, 28, 156, 228, 12, 11, 120, 216, 230, 27, 92, 240, 204, 49, 192, 134, 106, 96, 113, 44, 26, 226, 143, 140, 38, 3, 12, 254, 142, 12, 49, 100, 186, 71, 90, 196, 71, 94, 235, 39, 130, 167, 129, 4, 121, 94, 124, 7, 33, 120, 106, 93, 70, 30, 144, 184, 215, 8, 30, 41, 152, 50, 120, 176, 74, 42, 125, 176, 141, 120, 30, 230, 152, 203, 232, 216, 214, 198, 157, 64, 46, 168, 118, 201, 178, 91, 246, 133, 30, 119, 191, 101, 189, 65, 42, 163, 90, 75, 171, 125, 201, 132, 221, 88, 216, 225, 30, 33, 237, 84, 3, 169, 133, 139, 205, 65, 86, 195, 94, 47, 226, 252, 50, 14, 99, 182, 155, 228, 238, 123, 17, 103, 25, 160, 32, 71, 128, 53, 184, 236, 45, 70, 106, 204, 217, 149, 16, 41, 15, 167, 88, 77, 107, 191, 36, 15, 127, 252, 33, 121, 36, 254, 251, 80, 194, 129, 94, 109, 84, 235, 1, 214, 186, 79, 220, 23, 89, 89, 166, 231, 106, 152, 32, 139, 158, 203, 55, 109, 2, 102, 45, 89, 79, 90, 143, 146, 150, 248, 7, 184, 228, 16, 4, 243, 137, 140, 86, 151, 86, 217, 245, 104, 154, 94, 113, 110, 83, 174, 118, 116, 155, 170, 251, 217, 226, 56, 232, 142, 4, 231, 87, 234, 118, 97, 184, 115, 148, 245, 86, 237, 143, 124, 192, 229, 68, 102, 213, 175, 106, 171, 35, 209, 11, 132, 19, 133, 214, 193, 145, 164, 52, 31, 43, 215, 175, 15, 27, 173, 72, 31, 104, 76, 2, 254, 49, 133, 250, 167, 113, 142, 233, 198, 181, 103, 76, 157, 87, 44, 95, 21, 227, 103, 217, 135, 108, 176, 119, 153, 230, 194, 60, 129, 179, 86, 176, 16, 61, 12, 126, 104, 19, 235, 169, 145, 91, 237, 30, 122, 45, 190, 253, 54, 226, 150, 184, 135, 94, 139, 202, 207, 158, 215, 162, 161, 215, 173, 151, 142, 211, 211, 124, 144, 79, 175, 233, 73, 56, 139, 103, 152, 114, 158, 212, 40, 224, 98, 97, 135, 73, 52, 7, 132, 24, 239, 95, 247, 132, 49, 86, 20, 83, 215, 225, 244, 209, 135, 55, 85, 13, 239, 27, 20, 3, 113, 24, 209, 178, 46, 96, 70, 168, 28, 230, 175, 188, 74, 28, 171, 5, 124, 147, 118, 216, 197, 220, 147, 77, 25, 75, 4, 127, 175, 188, 30, 245, 52, 100, 227, 48, 243, 236, 34, 137, 129, 79, 148, 50, 173, 124, 23, 31, 183, 87, 216, 73, 15, 242, 135, 154, 195, 110, 211, 171, 234, 28, 58, 169, 212, 107, 86, 145, 248, 68, 133, 93, 166, 107, 205, 129, 51, 165, 25, 245, 211, 52, 233, 202, 120, 231, 160, 82, 139, 181, 20, 176, 115, 60, 31, 44, 233, 36, 58, 117, 244, 200, 80, 8, 59, 96, 227, 194, 202, 124, 176, 55, 82, 129, 177, 185, 229, 27, 78, 78, 221, 28, 89, 5, 236, 129, 167, 249, 137, 171, 54, 92, 229, 126, 85, 149, 157, 106, 7, 237, 253, 219, 112, 208, 54, 144, 170, 106, 136, 219, 91, 100, 71, 68, 194, 252, 139, 59, 125, 249, 226, 186, 161, 3, 152, 250, 223, 2, 14, 96, 50, 130, 110, 221, 7, 124, 255, 139, 244, 1, 251, 250, 174, 169, 134, 13, 120, 99, 153, 193, 193, 191, 58, 75, 54, 103, 198, 169, 226, 60, 55, 140, 229, 83, 163, 196, 42, 155, 166, 115, 112, 108, 223, 175, 169, 177, 224, 219, 10, 78, 211, 62, 234, 149, 82, 211, 168, 167, 133, 170, 105, 84, 78, 137, 19, 220, 229, 44, 48, 67, 68, 127, 203, 240, 102, 231, 17, 28, 131, 20, 107, 178, 174, 231, 109, 216, 27, 67, 1, 44, 251, 50, 157, 100, 35, 197, 96, 111, 180, 85, 218, 54, 110, 152, 239, 28, 54, 109, 20, 217, 39, 201, 22, 172, 65, 84, 177, 20, 190, 175, 49, 147, 48, 159, 70, 204, 54, 62, 190, 235, 218, 9, 28, 21, 126, 122, 149, 245, 102, 211, 12, 203, 42, 118, 120, 160, 53, 241, 222, 120, 82, 149, 195, 245, 180, 169, 199, 234, 84, 212, 8, 237, 254, 222, 112, 235, 165, 167, 199, 171, 153, 88, 170, 180, 250, 167, 220, 154, 121, 224, 148, 63, 137, 43, 155, 142, 37, 107, 5, 251, 57, 127, 23, 250, 58, 155, 144, 49, 178, 95, 12, 199, 130, 87, 196, 159, 4, 49, 118, 89, 239, 89, 94, 170, 227, 68, 200, 43, 236, 48, 59, 53, 127, 99, 146, 91, 80, 161, 166, 163, 14, 102, 92, 158, 134, 109, 104, 167, 255, 96, 105, 43, 18, 124, 237, 183, 102, 151, 174, 201, 67, 186, 176, 173, 57, 47, 38, 105, 16, 195, 157, 40, 50, 163, 186, 205, 143, 136, 74, 171, 214, 82, 117, 90, 108, 24, 31, 163, 27, 68, 113, 201, 128, 144, 230, 195, 57, 38, 149, 179, 242, 29, 39, 152, 171, 141, 123, 67, 95, 231, 36, 180, 147, 171, 133, 194, 130, 14, 233, 12, 170, 46, 165, 193, 136, 185, 54, 195, 241, 158, 46, 211, 12, 206, 238, 135, 118, 218, 73, 78, 49, 123, 91, 42, 113, 183, 170, 241, 101, 81, 78, 143, 38, 144, 208, 104, 35, 57, 141, 126, 68, 84, 205, 65, 62, 217, 10, 29, 7, 113, 189, 104, 197, 61, 162, 204, 8, 20, 233, 40, 124, 155, 151, 7, 185, 208, 225, 89, 123, 52, 27, 210, 68, 80, 58, 190, 122, 54, 148, 135, 29, 71, 88, 188, 229, 173, 39, 72, 82, 1, 115, 98, 100, 40, 200, 131, 255, 162, 16, 132, 27, 125, 145, 190, 88, 110, 139, 50, 250, 124, 24, 110, 77, 231, 27, 31, 41, 231, 104, 168, 81, 112, 190, 54, 109, 23, 179, 102, 72, 152, 184, 182, 87, 182, 228, 116, 34, 90, 214, 141, 184, 24, 158, 98, 175, 155, 90, 113, 214, 156, 136, 49, 253, 233, 16, 198, 243, 173, 46, 182, 78, 188, 79, 180, 35, 54, 218, 237, 237, 228, 251, 239, 147, 135, 194, 102, 7, 101, 145, 60, 222, 53, 48, 190, 253, 214, 252, 20, 111, 89, 57, 174, 229, 7, 197, 105, 58, 176, 34, 66, 232, 87, 173, 48, 33, 122, 85, 200, 63, 117, 209, 181, 48, 48, 43, 228, 21, 240, 84, 161, 106, 144, 210, 59, 43, 212, 252, 209, 229, 72, 175, 41, 127, 203, 202, 222, 36, 31, 139, 249, 191, 212, 87, 0, 75, 158, 23, 167, 112, 2, 249, 85, 97, 50, 236, 216, 238, 184, 200, 174, 75, 213, 23, 199, 217, 217, 64, 124, 126, 91, 92, 142, 254, 41, 222, 182, 245, 205, 225, 42, 243, 139, 5, 14, 249, 98, 62, 146, 245, 166, 236, 86, 149, 224, 185, 35, 230, 56, 216, 234, 4, 192, 118, 165, 137, 95, 31, 195, 167, 29, 63, 129, 51, 77, 173, 4, 213, 100, 26, 102, 39, 153, 18, 180, 47, 190, 87, 211, 221, 198, 107, 177, 5, 12, 71, 127, 43, 113, 69, 24, 247, 156, 19, 26, 76, 113, 6, 22, 234, 132, 112, 149, 35, 9, 222, 132, 108, 5, 82, 50, 220, 87, 2, 230, 180, 0, 92, 142, 206, 236, 109, 238, 228, 204, 140, 237, 131, 115, 94, 216, 116, 157, 186, 239, 222, 3, 126, 88, 62, 189, 154, 102, 163, 50, 135, 164, 100, 62, 104, 118, 89, 60, 140, 1, 218, 86, 238, 214, 13, 192, 127, 59, 45, 158, 193, 110, 94, 118, 50, 157, 128, 113, 29, 79, 230, 84, 113, 55, 217, 209, 230, 180, 144, 245, 229, 189, 206, 126, 43, 24, 174, 44, 232, 117, 208, 55, 228, 171, 36, 133, 126, 197, 119, 105, 73, 4, 162, 253, 47, 7, 128, 252, 220, 254, 151, 220, 125, 224, 16, 254, 38, 65, 32, 187, 69, 31, 65, 178, 189, 5, 58, 70, 238, 137, 132, 51, 210, 120, 13, 168, 196, 52, 111, 223, 142, 225, 221, 219, 183, 44, 35, 13, 45, 126, 34, 241, 193, 98, 14, 82, 158, 37, 163, 56, 81, 42, 4, 245, 70, 139, 172, 91, 139, 216, 137, 70, 172, 140, 34, 38, 75, 203, 17, 162, 16, 147, 123, 159, 37, 254, 225, 40, 28, 81, 148, 234, 28, 147, 94, 210, 207, 161, 167, 170, 71, 243, 231, 109, 255, 32, 209, 154, 194, 236, 194, 52, 151, 104, 128, 158, 192, 146, 67, 187, 68, 9, 195, 99, 97, 222, 55, 53, 71, 5, 191, 149, 152, 37, 168, 149, 252, 34, 144, 214, 130, 36, 244, 32, 210, 184, 150, 60, 162, 167, 83, 36, 15, 140, 180, 73, 106, 149, 114, 216, 186, 218, 222, 18, 107, 85, 241, 239, 86, 87, 254, 179, 29, 180, 116, 33, 134, 69, 179, 174, 131, 209, 248, 33, 193, 150, 45, 253, 157, 114, 251, 252, 102, 220, 62, 111, 194, 237, 243, 47, 141, 219, 231, 138, 207, 146, 235, 49, 110, 63, 43, 138, 139, 217, 152, 200, 118, 99, 46, 127, 98, 22, 177, 229, 56, 153, 45, 99, 243, 164, 78, 11, 77, 120, 233, 204, 152, 56, 199, 5, 14, 206, 194, 123, 72, 22, 246, 173, 100, 189, 127, 30, 143, 204, 133, 175, 183, 157, 141, 38, 63, 84, 93, 127, 177, 222, 35, 195, 230, 10, 173, 43, 203, 152, 3, 8, 106, 29, 173, 106, 154, 99, 191, 209, 14, 254, 251, 215, 14, 94, 82, 7, 119, 239, 90, 7, 87, 27, 134, 99, 203, 100, 218, 241, 205, 121, 201, 65, 16, 5, 139, 220, 116, 87, 38, 14, 27, 48, 143, 240, 116, 58, 41, 247, 70, 125, 149, 232, 80, 49, 219, 2, 98, 223, 161, 11, 186, 91, 204, 127, 193, 238, 9, 183, 242, 128, 185, 27, 85, 143, 112, 253, 119, 57, 201, 167, 160, 247, 31, 37, 247, 238, 249, 208, 183, 30, 172, 241, 226, 153, 144, 87, 153, 104, 56, 82, 161, 235, 84, 232, 21, 163, 179, 252, 124, 86, 85, 101, 155, 84, 97, 185, 71, 120, 236, 141, 165, 73, 8, 67, 128, 154, 210, 188, 221, 38, 111, 231, 66, 120, 14, 100, 63, 6, 132, 235, 104, 162, 196, 213, 159, 145, 152, 96, 116, 176, 155, 243, 211, 217, 20, 220, 104, 160, 29, 122, 83, 186, 120, 190, 199, 204, 241, 232, 76, 28, 186, 15, 65, 217, 255, 80, 154, 52, 72, 180, 18, 125, 27, 81, 78, 94, 17, 95, 71, 249, 80, 34, 170, 138, 141, 168, 71, 177, 209, 97, 232, 181, 124, 113, 201, 22, 244, 1, 229, 47, 138, 169, 42, 186, 69, 185, 184, 230, 140, 32, 185, 208, 20, 86, 189, 190, 191, 199, 113, 50, 168, 140, 182, 114, 214, 87, 153, 65, 180, 177, 197, 18, 133, 0, 122, 45, 43, 67, 45, 177, 56, 165, 205, 26, 28, 101, 171, 127, 238, 146, 143, 155, 182, 154, 96, 11, 26, 32, 143, 224, 159, 159, 8, 100, 42, 112, 115, 193, 166, 21, 37, 244, 109, 132, 222, 221, 34, 208, 145, 74, 23, 44, 25, 71, 6, 48, 170, 17, 186, 156, 150, 76, 35, 237, 177, 91, 95, 18, 202, 89, 247, 156, 40, 182, 172, 181, 202, 2, 141, 135, 168, 213, 224, 36, 165, 15, 144, 210, 237, 45, 175, 85, 209, 157, 205, 26, 220, 166, 13, 26, 33, 32, 13, 158, 103, 78, 174, 216, 128, 133, 12, 195, 65, 213, 133, 33, 96, 207, 152, 50, 253, 231, 140, 217, 31, 182, 165, 245, 204, 115, 112, 33, 246, 229, 66, 216, 151, 1, 236, 203, 42, 236, 75, 139, 125, 185, 16, 246, 101, 8, 123, 137, 158, 182, 9, 220, 19, 199, 230, 99, 215, 53, 24, 156, 6, 212, 173, 137, 242, 81, 122, 191, 145, 50, 45, 59, 198, 132, 215, 75, 38, 165, 87, 93, 76, 181, 232, 186, 72, 114, 53, 76, 191, 24, 252, 219, 100, 21, 33, 255, 121, 32, 179, 77, 123, 54, 80, 176, 36, 43, 245, 111, 175, 78, 192, 181, 228, 211, 202, 175, 72, 178, 143, 119, 104, 91, 63, 161, 45, 236, 57, 25, 171, 148, 165, 210, 145, 62, 87, 231, 4, 71, 82, 72, 147, 159, 6, 110, 100, 137, 219, 104, 50, 101, 147, 232, 77, 230, 100, 92, 0, 54, 72, 51, 165, 94, 11, 96, 1, 196, 33, 47, 181, 58, 57, 131, 215, 51, 240, 189, 58, 233, 115, 101, 126, 82, 249, 97, 12, 73, 187, 99, 87, 60, 84, 92, 239, 0, 245, 26, 92, 237, 32, 75, 111, 158, 89, 228, 232, 77, 15, 81, 33, 212, 201, 164, 199, 50, 197, 115, 72, 0, 194, 92, 248, 135, 116, 173, 29, 117, 146, 151, 13, 92, 206, 220, 31, 247, 82, 26, 52, 12, 170, 192, 107, 152, 151, 217, 91, 117, 73, 87, 187, 24, 29, 200, 95, 20, 250, 88, 22, 242, 194, 124, 9, 183, 100, 137, 184, 117, 117, 95, 240, 74, 181, 213, 18, 63, 85, 115, 240, 83, 78, 171, 196, 228, 216, 23, 237, 168, 148, 210, 228, 254, 16, 221, 68, 39, 177, 119, 40, 209, 207, 6, 186, 54, 216, 118, 44, 196, 233, 187, 76, 147, 213, 145, 145, 158, 234, 175, 176, 207, 198, 242, 128, 138, 7, 1, 34, 16, 52, 101, 108, 103, 83, 192, 126, 9, 47, 86, 161, 77, 0, 174, 129, 77, 165, 189, 139, 31, 92, 125, 170, 201, 48, 233, 201, 13, 232, 182, 163, 187, 120, 103, 41, 142, 232, 8, 217, 253, 142, 130, 224, 84, 170, 112, 33, 43, 88, 155, 128, 106, 39, 49, 61, 96, 80, 21, 88, 234, 234, 210, 164, 73, 62, 18, 224, 36, 69, 94, 155, 50, 135, 81, 59, 201, 210, 178, 24, 125, 62, 228, 202, 96, 40, 137, 117, 144, 92, 39, 76, 181, 113, 43, 81, 33, 229, 3, 86, 6, 119, 195, 238, 48, 40, 68, 92, 42, 63, 203, 47, 178, 131, 98, 34, 108, 250, 146, 110, 70, 144, 1, 32, 247, 136, 94, 21, 207, 112, 131, 8, 10, 169, 189, 34, 178, 108, 128, 50, 79, 146, 246, 195, 173, 173, 228, 251, 68, 88, 22, 91, 238, 96, 38, 247, 49, 119, 187, 93, 50, 96, 7, 114, 83, 222, 236, 239, 3, 168, 53, 119, 195, 138, 164, 237, 196, 93, 169, 245, 117, 11, 62, 160, 38, 7, 24, 24, 144, 163, 198, 130, 192, 12, 166, 207, 224, 163, 115, 54, 68, 250, 53, 210, 241, 88, 72, 201, 52, 157, 156, 67, 102, 82, 117, 227, 198, 76, 30, 168, 54, 183, 203, 97, 96, 0, 95, 31, 154, 161, 47, 171, 206, 119, 185, 140, 174, 19, 92, 129, 177, 70, 169, 148, 187, 171, 207, 159, 133, 42, 252, 63, 172, 248, 255, 1, 237, 168, 40, 219, 68, 202, 90, 209, 32, 142, 87, 197, 73, 49, 155, 244, 50, 183, 193, 136, 72, 178, 157, 12, 253, 135, 228, 158, 166, 167, 154, 125, 65, 238, 247, 180, 58, 54, 61, 192, 42, 37, 46, 211, 137, 246, 174, 229, 123, 183, 142, 239, 242, 74, 167, 203, 87, 248, 146, 120, 120, 220, 235, 22, 159, 36, 219, 180, 27, 76, 149, 132, 222, 63, 184, 237, 100, 66, 117, 176, 53, 149, 170, 13, 4, 15, 233, 237, 78, 66, 170, 70, 230, 5, 138, 209, 148, 80, 243, 113, 149, 226, 101, 186, 238, 102, 34, 134, 30, 3, 161, 134, 192, 67, 114, 88, 190, 76, 123, 23, 89, 95, 170, 4, 103, 244, 137, 229, 18, 123, 163, 123, 7, 130, 4, 130, 26, 72, 61, 191, 240, 106, 238, 231, 71, 117, 234, 209, 149, 98, 168, 84, 94, 230, 120, 246, 3, 16, 215, 106, 209, 112, 178, 151, 138, 206, 217, 122, 228, 90, 174, 134, 95, 174, 114, 215, 146, 111, 251, 121, 135, 66, 234, 222, 0, 18, 14, 167, 82, 152, 141, 28, 228, 246, 50, 64, 170, 31, 93, 7, 246, 253, 165, 194, 86, 63, 182, 157, 70, 30, 172, 166, 17, 245, 227, 190, 211, 218, 195, 21, 183, 166, 126, 60, 112, 154, 253, 225, 182, 154, 85, 63, 30, 58, 237, 255, 120, 235, 237, 171, 31, 63, 56, 136, 252, 244, 233, 16, 81, 63, 126, 116, 48, 250, 249, 14, 96, 164, 126, 252, 228, 160, 214, 189, 137, 230, 89, 58, 110, 234, 199, 207, 46, 146, 75, 81, 106, 75, 71, 82, 3, 116, 245, 101, 119, 185, 10, 115, 249, 232, 234, 95, 68, 25, 171, 84, 221, 30, 226, 198, 40, 169, 195, 216, 204, 210, 1, 179, 173, 63, 191, 71, 72, 53, 127, 19, 159, 16, 110, 33, 132, 237, 200, 243, 216, 174, 162, 38, 46, 176, 177, 232, 156, 162, 118, 173, 179, 6, 123, 61, 220, 156, 100, 20, 70, 183, 57, 67, 8, 5, 73, 122, 151, 150, 243, 99, 95, 103, 206, 201, 114, 204, 142, 19, 237, 52, 176, 224, 56, 169, 108, 117, 64, 183, 162, 242, 145, 49, 64, 195, 189, 20, 34, 201, 181, 242, 111, 78, 19, 248, 247, 23, 163, 169, 201, 2, 64, 209, 45, 119, 196, 145, 136, 147, 25, 94, 208, 235, 147, 70, 214, 51, 214, 136, 97, 220, 147, 149, 94, 147, 58, 252, 118, 238, 191, 29, 103, 231, 79, 175, 198, 7, 131, 244, 188, 116, 130, 223, 192, 116, 62, 174, 240, 176, 29, 87, 75, 243, 177, 201, 212, 35, 108, 228, 22, 252, 219, 18, 214, 176, 218, 95, 60, 38, 107, 36, 227, 85, 105, 181, 108, 51, 199, 32, 56, 135, 163, 126, 222, 163, 59, 101, 170, 232, 58, 220, 21, 192, 10, 159, 99, 128, 109, 176, 224, 57, 43, 152, 159, 143, 138, 73, 182, 47, 212, 110, 176, 112, 206, 10, 15, 197, 235, 28, 82, 80, 4, 203, 14, 89, 217, 126, 49, 221, 27, 132, 49, 40, 89, 193, 217, 40, 239, 21, 125, 154, 147, 149, 20, 157, 177, 162, 229, 52, 239, 93, 92, 7, 97, 94, 183, 152, 86, 208, 55, 238, 133, 130, 252, 188, 30, 86, 209, 135, 103, 240, 134, 71, 30, 202, 162, 175, 10, 29, 228, 249, 205, 237, 74, 194, 56, 5, 244, 164, 99, 72, 161, 32, 152, 128, 163, 137, 148, 66, 188, 121, 25, 124, 197, 245, 100, 235, 63, 33, 235, 136, 134, 184, 174, 254, 198, 130, 85, 108, 122, 101, 2, 84, 91, 58, 86, 149, 177, 104, 175, 255, 33, 29, 245, 84, 20, 44, 158, 168, 106, 159, 232, 83, 167, 220, 203, 197, 157, 93, 120, 26, 62, 57, 209, 1, 209, 134, 137, 50, 48, 122, 61, 233, 38, 79, 118, 85, 185, 240, 89, 105, 40, 67, 120, 144, 79, 208, 195, 229, 185, 78, 36, 98, 111, 123, 239, 210, 201, 190, 144, 178, 61, 161, 47, 78, 252, 179, 206, 178, 250, 227, 100, 235, 234, 183, 159, 182, 240, 96, 157, 124, 243, 4, 222, 252, 122, 112, 208, 4, 133, 82, 204, 86, 24, 195, 50, 15, 14, 228, 208, 33, 238, 201, 73, 24, 136, 200, 190, 68, 68, 189, 66, 76, 14, 234, 49, 113, 222, 110, 59, 19, 3, 116, 233, 115, 240, 92, 182, 101, 24, 4, 213, 109, 147, 171, 10, 145, 158, 92, 85, 203, 244, 228, 170, 74, 168, 39, 87, 68, 94, 79, 168, 172, 42, 52, 108, 147, 144, 138, 11, 177, 196, 52, 41, 71, 227, 105, 62, 204, 255, 64, 207, 31, 160, 224, 4, 125, 105, 209, 175, 185, 31, 117, 114, 229, 95, 144, 42, 53, 164, 168, 123, 239, 94, 91, 130, 81, 225, 46, 220, 175, 164, 20, 105, 192, 249, 125, 38, 72, 252, 111, 169, 187, 92, 40, 93, 247, 198, 27, 213, 43, 146, 50, 121, 248, 1, 123, 65, 144, 135, 200, 157, 116, 40, 184, 192, 153, 40, 7, 132, 218, 93, 129, 211, 68, 166, 190, 178, 214, 108, 45, 86, 3, 155, 19, 204, 184, 124, 153, 78, 223, 201, 58, 174, 29, 20, 43, 70, 173, 133, 201, 85, 96, 106, 33, 205, 196, 48, 10, 49, 76, 192, 82, 186, 95, 137, 238, 213, 230, 32, 45, 167, 135, 250, 224, 132, 173, 185, 71, 82, 159, 160, 23, 209, 126, 174, 184, 15, 219, 204, 163, 213, 168, 105, 218, 116, 113, 239, 46, 101, 67, 98, 123, 164, 207, 207, 253, 34, 5, 253, 81, 178, 199, 133, 106, 136, 236, 155, 78, 168, 132, 75, 184, 212, 41, 20, 116, 167, 239, 137, 21, 65, 199, 0, 112, 79, 233, 26, 184, 16, 123, 228, 37, 107, 67, 157, 74, 88, 103, 182, 17, 40, 75, 93, 145, 228, 220, 166, 157, 243, 75, 68, 171, 91, 80, 130, 114, 91, 217, 232, 30, 46, 176, 35, 155, 245, 221, 19, 179, 250, 33, 64, 244, 82, 64, 40, 22, 18, 21, 59, 243, 156, 120, 83, 79, 115, 49, 66, 164, 133, 85, 168, 112, 14, 177, 183, 70, 154, 26, 202, 19, 37, 80, 66, 219, 212, 90, 221, 136, 20, 163, 33, 32, 132, 166, 224, 202, 68, 111, 21, 50, 164, 155, 182, 159, 159, 232, 142, 139, 70, 223, 238, 53, 23, 193, 202, 25, 134, 47, 141, 100, 193, 208, 20, 24, 62, 203, 39, 203, 99, 224, 174, 140, 159, 85, 138, 218, 132, 242, 182, 91, 178, 72, 139, 27, 103, 164, 30, 6, 252, 18, 156, 200, 167, 53, 122, 82, 57, 73, 84, 45, 153, 215, 175, 151, 113, 66, 58, 73, 109, 69, 252, 180, 9, 39, 89, 177, 111, 229, 75, 121, 208, 5, 144, 120, 11, 10, 51, 48, 69, 28, 103, 227, 1, 100, 109, 44, 149, 93, 56, 145, 127, 179, 24, 163, 187, 97, 78, 84, 13, 120, 57, 33, 73, 194, 210, 129, 162, 9, 179, 9, 153, 157, 70, 70, 152, 99, 106, 254, 86, 136, 66, 58, 171, 64, 178, 209, 37, 52, 122, 80, 249, 90, 214, 194, 228, 147, 132, 215, 150, 6, 72, 63, 217, 21, 114, 151, 143, 132, 0, 82, 66, 250, 14, 156, 183, 161, 102, 236, 58, 252, 179, 176, 188, 208, 90, 175, 226, 48, 45, 168, 59, 255, 73, 242, 112, 107, 203, 187, 240, 158, 226, 148, 13, 178, 225, 175, 105, 169, 211, 55, 170, 191, 14, 138, 201, 179, 116, 120, 218, 79, 99, 253, 227, 54, 104, 228, 91, 195, 11, 38, 143, 181, 194, 224, 89, 133, 138, 32, 193, 124, 141, 131, 153, 104, 36, 45, 124, 188, 117, 100, 63, 44, 124, 51, 163, 122, 12, 182, 97, 202, 62, 122, 111, 253, 55, 149, 180, 192, 106, 168, 9, 29, 78, 251, 126, 54, 91, 79, 204, 33, 148, 115, 35, 120, 231, 69, 37, 66, 39, 179, 211, 114, 186, 50, 206, 186, 88, 214, 146, 165, 229, 20, 214, 125, 63, 158, 157, 157, 69, 103, 185, 0, 53, 39, 239, 138, 201, 148, 24, 81, 115, 240, 183, 146, 69, 115, 194, 227, 249, 130, 252, 17, 26, 111, 24, 143, 209, 206, 33, 43, 142, 154, 136, 137, 68, 227, 6, 27, 201, 66, 188, 71, 235, 251, 175, 178, 113, 232, 189, 166, 228, 86, 1, 106, 2, 35, 176, 44, 212, 66, 196, 86, 124, 49, 54, 212, 143, 5, 175, 223, 131, 172, 139, 153, 20, 203, 193, 162, 9, 14, 196, 143, 71, 102, 35, 179, 184, 141, 173, 89, 137, 181, 23, 158, 161, 234, 150, 184, 200, 255, 224, 218, 197, 70, 103, 72, 155, 189, 116, 215, 49, 199, 230, 245, 109, 174, 124, 147, 228, 116, 146, 165, 23, 149, 203, 7, 133, 112, 199, 224, 8, 23, 161, 123, 129, 125, 104, 27, 185, 190, 131, 64, 3, 243, 44, 163, 63, 199, 165, 49, 9, 195, 233, 245, 102, 195, 217, 32, 157, 102, 253, 99, 215, 229, 47, 99, 165, 174, 166, 114, 235, 228, 101, 81, 230, 42, 97, 62, 189, 171, 205, 137, 218, 211, 236, 247, 242, 24, 26, 113, 80, 61, 197, 242, 157, 98, 75, 251, 233, 88, 40, 133, 76, 39, 190, 144, 25, 248, 210, 171, 182, 229, 150, 92, 128, 234, 216, 155, 141, 164, 203, 51, 202, 154, 94, 195, 76, 137, 149, 157, 102, 138, 62, 211, 94, 96, 85, 49, 184, 152, 29, 91, 210, 25, 102, 44, 81, 224, 171, 66, 39, 102, 161, 11, 229, 53, 163, 65, 214, 124, 100, 71, 16, 193, 57, 126, 97, 116, 11, 236, 25, 57, 19, 139, 183, 58, 208, 110, 225, 122, 3, 132, 0, 53, 163, 16, 50, 80, 97, 14, 164, 171, 99, 251, 85, 33, 220, 209, 60, 192, 49, 170, 105, 94, 212, 172, 51, 221, 57, 183, 254, 14, 62, 205, 148, 186, 46, 29, 204, 140, 143, 226, 10, 125, 216, 221, 73, 70, 16, 66, 102, 80, 220, 129, 69, 122, 200, 126, 131, 222, 177, 30, 140, 145, 115, 174, 22, 30, 232, 36, 44, 85, 113, 158, 71, 63, 70, 34, 161, 66, 165, 61, 134, 194, 145, 14, 179, 62, 25, 19, 74, 170, 206, 39, 197, 108, 92, 250, 126, 10, 94, 188, 6, 27, 115, 2, 128, 213, 242, 44, 51, 42, 63, 180, 19, 99, 22, 151, 25, 39, 79, 118, 3, 138, 195, 101, 176, 175, 122, 214, 197, 2, 25, 12, 33, 100, 210, 73, 39, 0, 99, 46, 241, 49, 232, 108, 4, 177, 89, 15, 15, 59, 120, 130, 90, 207, 128, 91, 167, 170, 35, 172, 90, 177, 71, 124, 32, 102, 59, 233, 196, 115, 226, 120, 220, 96, 190, 153, 0, 175, 106, 89, 101, 220, 14, 65, 242, 3, 22, 208, 202, 148, 195, 205, 116, 193, 156, 182, 84, 207, 14, 25, 106, 187, 232, 215, 70, 225, 171, 73, 44, 96, 75, 244, 12, 182, 188, 18, 152, 20, 138, 11, 110, 220, 122, 51, 181, 162, 240, 136, 168, 148, 38, 170, 68, 213, 142, 105, 146, 57, 137, 33, 181, 173, 69, 208, 64, 239, 212, 250, 63, 124, 133, 180, 203, 104, 114, 52, 129, 14, 173, 53, 156, 243, 117, 177, 27, 96, 171, 31, 147, 139, 40, 224, 195, 50, 180, 203, 51, 84, 102, 92, 156, 172, 121, 62, 6, 55, 234, 118, 126, 240, 230, 143, 110, 163, 182, 182, 151, 214, 150, 249, 99, 187, 81, 195, 247, 87, 211, 176, 249, 227, 126, 35, 44, 30, 220, 2, 22, 230, 143, 7, 213, 40, 133, 14, 107, 206, 57, 144, 198, 86, 171, 46, 8, 225, 196, 89, 81, 84, 77, 231, 206, 224, 152, 179, 165, 216, 148, 239, 237, 242, 18, 37, 83, 115, 20, 132, 251, 41, 200, 249, 82, 221, 186, 31, 111, 213, 144, 62, 87, 25, 85, 26, 46, 1, 215, 130, 152, 210, 112, 154, 204, 167, 120, 153, 15, 97, 12, 157, 197, 106, 28, 45, 13, 230, 41, 23, 157, 208, 220, 122, 224, 106, 76, 54, 189, 70, 241, 9, 156, 211, 26, 249, 234, 89, 249, 228, 55, 104, 48, 72, 67, 77, 222, 80, 81, 215, 40, 233, 144, 130, 174, 28, 210, 102, 89, 86, 49, 56, 67, 106, 185, 41, 80, 245, 179, 82, 29, 135, 84, 241, 2, 240, 213, 207, 74, 5, 28, 82, 190, 55, 107, 74, 253, 172, 84, 184, 33, 101, 187, 180, 86, 213, 207, 10, 245, 234, 122, 27, 2, 182, 25, 51, 161, 182, 106, 77, 168, 157, 134, 26, 118, 212, 177, 38, 22, 83, 15, 213, 181, 204, 48, 88, 7, 231, 130, 163, 214, 27, 87, 221, 182, 250, 124, 14, 93, 215, 24, 252, 253, 176, 18, 103, 234, 111, 201, 202, 59, 18, 60, 177, 136, 251, 159, 152, 234, 77, 162, 151, 230, 14, 190, 184, 137, 71, 171, 185, 59, 243, 36, 75, 39, 115, 134, 96, 184, 251, 1, 1, 159, 35, 113, 52, 169, 138, 223, 42, 111, 190, 45, 71, 201, 214, 224, 159, 60, 73, 186, 15, 215, 2, 133, 87, 186, 198, 110, 186, 190, 118, 124, 6, 193, 14, 48, 84, 57, 155, 26, 150, 216, 93, 187, 2, 191, 115, 241, 31, 78, 87, 126, 254, 158, 128, 5, 246, 225, 2, 82, 243, 133, 140, 245, 101, 68, 91, 57, 18, 178, 195, 199, 189, 245, 90, 7, 130, 165, 234, 124, 213, 144, 234, 166, 70, 141, 168, 160, 45, 86, 144, 178, 180, 206, 181, 37, 153, 18, 112, 150, 53, 241, 17, 222, 9, 29, 196, 209, 158, 71, 5, 49, 214, 251, 23, 145, 220, 61, 237, 195, 113, 250, 115, 151, 118, 250, 23, 167, 153, 154, 70, 117, 124, 10, 237, 84, 76, 242, 115, 200, 205, 33, 169, 162, 113, 74, 82, 34, 130, 129, 74, 52, 99, 134, 6, 112, 160, 226, 156, 212, 65, 9, 253, 249, 171, 246, 187, 83, 218, 239, 198, 11, 253, 175, 42, 243, 238, 170, 76, 13, 189, 217, 16, 198, 69, 158, 51, 252, 255, 252, 147, 53, 215, 40, 102, 145, 193, 57, 144, 203, 39, 13, 192, 217, 236, 189, 50, 18, 104, 78, 251, 30, 167, 151, 109, 142, 68, 199, 1, 246, 5, 79, 12, 243, 132, 46, 134, 70, 78, 199, 4, 36, 126, 157, 58, 190, 78, 29, 75, 159, 58, 154, 5, 234, 170, 204, 101, 99, 25, 17, 44, 187, 158, 57, 136, 116, 77, 119, 99, 146, 54, 131, 0, 42, 119, 16, 28, 198, 234, 135, 79, 111, 0, 198, 217, 56, 9, 69, 89, 192, 67, 2, 153, 3, 73, 199, 177, 106, 68, 189, 222, 11, 240, 132, 235, 185, 175, 83, 238, 215, 41, 247, 235, 148, 123, 39, 167, 220, 198, 1, 237, 225, 249, 214, 221, 118, 251, 234, 80, 250, 11, 206, 139, 115, 68, 190, 205, 185, 77, 62, 215, 86, 50, 60, 116, 67, 60, 56, 233, 176, 157, 229, 218, 185, 102, 190, 200, 71, 111, 15, 58, 186, 111, 255, 117, 226, 186, 107, 19, 215, 103, 172, 210, 231, 57, 208, 81, 163, 159, 155, 6, 188, 47, 120, 144, 207, 30, 155, 56, 154, 156, 96, 74, 22, 62, 11, 180, 109, 22, 248, 159, 104, 210, 85, 94, 199, 13, 90, 11, 9, 68, 224, 240, 159, 3, 196, 183, 156, 131, 19, 140, 211, 221, 39, 158, 220, 184, 246, 116, 131, 35, 26, 77, 231, 148, 208, 124, 226, 208, 94, 69, 84, 156, 32, 78, 12, 187, 66, 166, 114, 34, 106, 22, 129, 95, 49, 249, 212, 76, 202, 85, 51, 80, 5, 181, 14, 161, 62, 232, 29, 210, 1, 142, 234, 171, 219, 12, 137, 25, 24, 108, 20, 111, 145, 176, 131, 144, 126, 253, 18, 212, 74, 253, 129, 179, 175, 186, 229, 46, 233, 150, 186, 96, 7, 63, 208, 97, 101, 170, 165, 73, 148, 68, 84, 39, 84, 134, 75, 124, 85, 10, 21, 95, 111, 65, 41, 212, 238, 228, 125, 213, 9, 119, 73, 39, 124, 181, 55, 238, 152, 189, 177, 36, 95, 232, 87, 125, 212, 216, 155, 21, 90, 68, 207, 237, 198, 250, 170, 182, 190, 170, 173, 191, 150, 218, 90, 248, 104, 194, 114, 79, 137, 44, 195, 165, 183, 200, 81, 145, 16, 206, 127, 121, 221, 43, 87, 24, 119, 50, 31, 168, 220, 131, 205, 62, 228, 197, 172, 124, 70, 211, 225, 145, 33, 16, 216, 109, 56, 44, 255, 55, 155, 64, 2, 182, 19, 209, 209, 242, 108, 133, 7, 197, 102, 4, 64, 186, 156, 186, 164, 159, 130, 106, 165, 54, 93, 22, 92, 159, 114, 98, 174, 76, 209, 105, 97, 230, 139, 107, 223, 114, 246, 36, 60, 36, 189, 77, 49, 134, 170, 71, 50, 81, 230, 161, 221, 227, 27, 100, 245, 210, 24, 134, 103, 182, 186, 185, 167, 10, 81, 198, 128, 138, 128, 126, 53, 96, 54, 186, 158, 218, 15, 46, 83, 3, 199, 213, 36, 247, 221, 20, 52, 30, 110, 241, 17, 84, 95, 149, 142, 173, 102, 25, 90, 240, 224, 206, 108, 50, 17, 26, 166, 90, 254, 81, 62, 172, 184, 187, 117, 66, 216, 68, 101, 60, 210, 31, 149, 219, 98, 14, 255, 25, 239, 245, 100, 24, 72, 193, 120, 50, 30, 228, 83, 55, 113, 225, 254, 82, 146, 48, 238, 79, 139, 73, 178, 27, 187, 138, 144, 103, 97, 132, 134, 246, 113, 142, 179, 117, 231, 75, 245, 104, 235, 109, 154, 4, 138, 59, 190, 144, 125, 30, 25, 30, 177, 87, 76, 126, 199, 129, 104, 115, 122, 247, 230, 133, 200, 29, 148, 192, 151, 154, 62, 167, 161, 90, 150, 163, 201, 110, 173, 84, 114, 22, 147, 167, 141, 60, 226, 231, 55, 33, 91, 140, 162, 74, 127, 53, 23, 139, 187, 235, 10, 56, 251, 133, 59, 107, 104, 34, 35, 215, 75, 192, 97, 154, 77, 44, 143, 9, 174, 44, 229, 212, 98, 42, 219, 105, 208, 91, 153, 116, 183, 214, 156, 233, 135, 164, 106, 252, 41, 20, 44, 85, 46, 18, 47, 167, 31, 77, 110, 56, 172, 163, 84, 225, 28, 26, 133, 255, 15, 113, 168, 153, 207, 8, 200, 137, 55, 165, 120, 53, 188, 36, 250, 66, 41, 186, 57, 238, 124, 158, 197, 82, 189, 231, 163, 222, 96, 214, 199, 75, 84, 100, 255, 182, 102, 244, 210, 89, 185, 36, 184, 60, 176, 129, 129, 154, 201, 205, 1, 94, 183, 156, 153, 85, 3, 228, 17, 135, 240, 0, 169, 149, 69, 225, 58, 0, 125, 129, 130, 195, 58, 81, 52, 217, 199, 46, 211, 149, 188, 172, 21, 110, 202, 101, 105, 245, 236, 241, 232, 14, 49, 6, 172, 40, 7, 134, 139, 165, 69, 124, 132, 170, 87, 103, 234, 145, 213, 24, 13, 178, 136, 132, 242, 228, 201, 19, 218, 206, 152, 27, 105, 88, 18, 183, 182, 93, 117, 190, 103, 235, 148, 249, 31, 32, 183, 254, 101, 4, 242, 131, 187, 51, 14, 85, 254, 224, 221, 70, 199, 38, 227, 244, 31, 222, 234, 87, 243, 214, 51, 241, 188, 94, 250, 131, 155, 7, 172, 98, 40, 141, 219, 31, 56, 131, 69, 179, 77, 147, 12, 201, 225, 28, 208, 91, 60, 21, 2, 175, 102, 187, 251, 119, 48, 17, 228, 75, 21, 118, 243, 187, 176, 112, 129, 85, 46, 147, 178, 56, 147, 156, 177, 90, 195, 166, 223, 3, 182, 230, 31, 145, 224, 28, 120, 2, 97, 3, 128, 245, 31, 116, 89, 78, 97, 253, 14, 75, 52, 164, 160, 9, 40, 144, 149, 223, 197, 144, 249, 35, 148, 128, 187, 82, 21, 49, 51, 235, 247, 157, 133, 123, 59, 192, 131, 64, 40, 232, 239, 24, 3, 202, 85, 86, 44, 114, 227, 119, 136, 216, 248, 221, 143, 212, 128, 167, 87, 140, 196, 84, 26, 191, 103, 93, 243, 196, 184, 208, 124, 114, 163, 137, 66, 229, 240, 26, 187, 232, 47, 3, 117, 31, 237, 202, 28, 35, 123, 122, 229, 44, 126, 176, 53, 246, 88, 52, 33, 22, 211, 99, 58, 31, 170, 146, 58, 189, 184, 166, 198, 104, 190, 93, 212, 78, 117, 195, 16, 116, 21, 65, 15, 103, 5, 52, 16, 142, 206, 106, 19, 242, 253, 81, 157, 139, 15, 210, 2, 18, 126, 168, 129, 154, 227, 1, 127, 167, 137, 6, 57, 77, 40, 111, 254, 176, 119, 253, 26, 210, 41, 31, 34, 236, 105, 196, 162, 48, 155, 108, 183, 17, 213, 99, 3, 125, 198, 254, 224, 173, 33, 161, 165, 231, 98, 166, 114, 231, 148, 9, 156, 27, 136, 88, 88, 188, 61, 123, 218, 177, 184, 3, 174, 150, 234, 203, 132, 192, 148, 116, 215, 65, 199, 254, 50, 136, 217, 14, 144, 197, 156, 250, 39, 14, 207, 254, 103, 146, 142, 199, 144, 92, 224, 88, 32, 175, 239, 244, 9, 34, 216, 106, 100, 132, 71, 47, 36, 57, 102, 58, 203, 227, 6, 45, 83, 76, 94, 101, 37, 91, 92, 200, 197, 74, 114, 140, 171, 22, 203, 142, 234, 53, 140, 98, 144, 201, 220, 14, 165, 89, 64, 127, 29, 174, 10, 143, 168, 3, 59, 116, 73, 56, 52, 130, 204, 164, 249, 38, 84, 13, 61, 17, 131, 27, 136, 172, 141, 100, 78, 212, 232, 250, 232, 225, 214, 125, 206, 91, 133, 151, 80, 125, 46, 220, 71, 234, 77, 128, 191, 113, 242, 42, 150, 213, 1, 113, 250, 239, 209, 165, 144, 152, 189, 81, 223, 138, 82, 29, 231, 162, 155, 42, 199, 55, 217, 83, 57, 190, 249, 150, 202, 189, 248, 158, 74, 104, 7, 195, 157, 195, 221, 125, 151, 19, 239, 18, 98, 91, 174, 110, 227, 229, 184, 193, 190, 139, 237, 119, 28, 69, 162, 183, 161, 211, 189, 53, 140, 33, 207, 233, 96, 51, 150, 70, 125, 221, 142, 186, 204, 75, 20, 18, 182, 213, 113, 101, 232, 179, 173, 21, 202, 108, 186, 52, 18, 173, 55, 197, 210, 210, 164, 1, 14, 92, 35, 235, 153, 173, 16, 10, 30, 29, 206, 220, 212, 12, 179, 227, 134, 219, 81, 65, 30, 4, 5, 171, 57, 20, 22, 255, 29, 187, 5, 134, 185, 54, 3, 74, 98, 174, 97, 205, 47, 19, 157, 99, 130, 177, 48, 196, 36, 19, 108, 169, 197, 231, 134, 48, 54, 81, 84, 252, 162, 48, 125, 58, 42, 201, 83, 141, 240, 126, 238, 217, 119, 57, 87, 249, 53, 156, 71, 73, 31, 224, 97, 134, 208, 221, 148, 202, 235, 213, 118, 88, 34, 41, 136, 223, 228, 167, 170, 169, 203, 14, 95, 159, 92, 15, 79, 139, 193, 102, 41, 223, 190, 97, 151, 250, 153, 173, 13, 24, 33, 123, 131, 193, 87, 15, 237, 18, 60, 180, 177, 219, 214, 4, 127, 63, 225, 230, 91, 201, 179, 172, 175, 198, 205, 202, 252, 119, 250, 188, 228, 164, 227, 158, 75, 96, 187, 106, 81, 209, 99, 137, 241, 22, 245, 57, 46, 232, 53, 85, 152, 59, 46, 197, 166, 113, 36, 158, 250, 55, 232, 183, 90, 62, 106, 85, 158, 72, 139, 135, 245, 207, 69, 202, 108, 54, 197, 142, 182, 61, 135, 31, 242, 188, 5, 215, 151, 161, 221, 245, 8, 252, 100, 252, 220, 31, 60, 115, 0, 155, 41, 96, 221, 45, 4, 22, 102, 241, 198, 118, 96, 166, 219, 159, 100, 233, 52, 83, 154, 78, 58, 8, 132, 169, 147, 130, 68, 26, 113, 19, 50, 218, 113, 101, 113, 16, 222, 216, 171, 0, 55, 201, 206, 179, 171, 177, 93, 67, 69, 1, 6, 175, 63, 245, 47, 67, 205, 21, 96, 65, 217, 139, 236, 50, 216, 164, 98, 132, 20, 86, 161, 223, 153, 140, 234, 250, 232, 192, 147, 200, 53, 44, 223, 213, 68, 52, 44, 191, 173, 137, 109, 88, 254, 190, 246, 216, 255, 105, 250, 178, 174, 202, 3, 223, 16, 211, 55, 154, 170, 50, 225, 125, 68, 198, 175, 23, 217, 21, 219, 190, 97, 115, 253, 39, 184, 161, 109, 209, 109, 56, 143, 40, 70, 73, 113, 250, 62, 52, 55, 192, 156, 129, 30, 3, 184, 221, 29, 72, 156, 165, 147, 254, 171, 34, 40, 87, 88, 118, 45, 104, 223, 86, 155, 124, 28, 142, 103, 0, 162, 45, 230, 233, 1, 250, 180, 98, 36, 106, 182, 7, 172, 246, 127, 139, 63, 7, 179, 236, 17, 77, 148, 216, 47, 70, 226, 133, 92, 37, 125, 12, 47, 66, 141, 138, 103, 34, 39, 152, 35, 164, 141, 88, 23, 60, 221, 29, 95, 248, 40, 195, 27, 26, 131, 89, 121, 66, 157, 138, 142, 165, 237, 226, 14, 195, 145, 34, 33, 123, 201, 155, 104, 16, 157, 45, 62, 47, 203, 45, 166, 186, 153, 13, 107, 210, 244, 19, 13, 167, 54, 172, 119, 159, 212, 171, 185, 150, 173, 233, 185, 95, 103, 173, 236, 236, 157, 56, 103, 101, 27, 207, 223, 136, 173, 123, 67, 92, 211, 209, 239, 236, 219, 214, 218, 10, 74, 193, 119, 229, 200, 80, 56, 198, 128, 68, 12, 7, 5, 99, 91, 194, 56, 171, 58, 204, 190, 136, 83, 131, 178, 193, 117, 110, 120, 3, 175, 98, 53, 110, 98, 28, 97, 210, 183, 229, 30, 239, 42, 1, 212, 142, 142, 232, 96, 254, 197, 13, 238, 116, 102, 71, 171, 205, 163, 32, 92, 239, 134, 166, 75, 225, 85, 177, 195, 17, 158, 77, 228, 208, 110, 26, 14, 184, 225, 110, 69, 195, 83, 53, 224, 109, 25, 111, 224, 235, 199, 191, 225, 45, 124, 153, 33, 60, 145, 40, 211, 208, 222, 146, 126, 104, 127, 98, 97, 227, 18, 8, 30, 248, 166, 120, 212, 30, 249, 13, 181, 81, 123, 244, 215, 239, 236, 234, 243, 191, 62, 143, 224, 169, 236, 205, 160, 187, 10, 225, 196, 50, 161, 172, 68, 56, 56, 214, 74, 76, 62, 168, 219, 60, 145, 185, 65, 111, 151, 43, 36, 244, 124, 187, 154, 33, 234, 194, 30, 216, 206, 44, 212, 97, 134, 125, 224, 132, 119, 5, 253, 174, 161, 120, 83, 118, 109, 108, 123, 179, 182, 86, 42, 52, 190, 205, 81, 13, 116, 87, 179, 122, 188, 223, 8, 183, 46, 227, 220, 2, 19, 121, 120, 252, 26, 34, 157, 123, 202, 244, 232, 117, 230, 42, 93, 84, 199, 132, 6, 7, 31, 192, 4, 219, 201, 95, 174, 57, 61, 190, 230, 107, 113, 8, 246, 157, 123, 192, 154, 198, 96, 192, 218, 150, 189, 1, 27, 144, 56, 211, 158, 231, 150, 118, 7, 228, 82, 122, 79, 47, 246, 98, 3, 46, 238, 240, 212, 86, 66, 59, 157, 156, 207, 32, 86, 219, 113, 94, 41, 187, 217, 124, 13, 88, 193, 196, 177, 228, 72, 56, 174, 193, 117, 213, 215, 118, 57, 33, 189, 107, 237, 22, 22, 106, 173, 189, 113, 164, 92, 84, 139, 70, 212, 171, 54, 239, 221, 83, 37, 3, 139, 221, 195, 242, 101, 81, 150, 249, 233, 224, 90, 153, 220, 204, 1, 103, 40, 97, 108, 144, 221, 143, 75, 145, 127, 164, 229, 139, 2, 39, 108, 182, 160, 144, 213, 43, 151, 70, 178, 8, 219, 31, 180, 96, 99, 149, 100, 17, 234, 201, 187, 39, 225, 8, 60, 108, 49, 2, 168, 67, 81, 169, 116, 38, 106, 94, 181, 163, 156, 79, 114, 70, 250, 154, 35, 26, 242, 147, 190, 136, 254, 179, 90, 49, 198, 43, 86, 200, 33, 1, 247, 92, 14, 30, 194, 14, 244, 36, 30, 142, 122, 197, 112, 156, 78, 133, 116, 101, 114, 97, 135, 71, 57, 164, 174, 248, 160, 25, 227, 56, 29, 197, 74, 95, 119, 179, 204, 150, 210, 177, 10, 81, 214, 11, 9, 227, 91, 196, 74, 41, 55, 58, 42, 161, 74, 32, 154, 82, 191, 229, 65, 63, 49, 172, 21, 205, 18, 113, 34, 177, 121, 249, 50, 133, 232, 148, 209, 137, 94, 98, 181, 181, 99, 84, 205, 197, 16, 169, 89, 250, 66, 219, 118, 107, 66, 140, 127, 120, 84, 97, 252, 191, 2, 199, 6, 186, 243, 222, 157, 232, 184, 94, 17, 221, 168, 104, 209, 83, 103, 180, 99, 67, 179, 141, 167, 100, 66, 150, 73, 104, 103, 219, 56, 204, 116, 179, 132, 131, 86, 255, 177, 29, 13, 82, 2, 218, 15, 112, 42, 62, 214, 2, 87, 139, 79, 205, 249, 155, 3, 241, 7, 169, 216, 62, 9, 152, 46, 42, 58, 85, 87, 170, 39, 218, 22, 246, 22, 236, 36, 177, 24, 186, 0, 219, 172, 53, 185, 234, 140, 18, 226, 106, 170, 224, 185, 183, 45, 174, 38, 66, 29, 64, 58, 254, 170, 170, 211, 193, 211, 47, 227, 15, 34, 99, 11, 246, 22, 86, 58, 188, 68, 3, 124, 132, 201, 109, 211, 185, 5, 159, 46, 231, 53, 198, 33, 235, 72, 59, 55, 148, 65, 226, 4, 186, 18, 97, 56, 15, 80, 104, 95, 199, 22, 148, 142, 90, 235, 110, 109, 85, 218, 255, 168, 22, 234, 189, 219, 102, 148, 72, 67, 94, 58, 205, 27, 53, 223, 21, 101, 13, 159, 163, 168, 124, 188, 169, 254, 64, 232, 159, 64, 133, 24, 39, 87, 72, 143, 84, 13, 71, 201, 194, 229, 140, 35, 73, 188, 28, 74, 198, 29, 238, 143, 167, 113, 218, 23, 84, 93, 73, 131, 28, 78, 31, 14, 6, 39, 202, 138, 22, 159, 158, 142, 250, 75, 31, 97, 18, 44, 108, 224, 201, 95, 176, 133, 7, 63, 79, 166, 233, 100, 202, 71, 221, 32, 155, 186, 59, 121, 206, 215, 124, 52, 125, 174, 177, 167, 43, 11, 67, 18, 135, 36, 222, 97, 232, 225, 196, 139, 137, 102, 128, 164, 159, 72, 252, 225, 169, 62, 241, 154, 237, 116, 0, 92, 224, 89, 198, 144, 180, 92, 36, 234, 67, 23, 147, 247, 57, 71, 1, 123, 200, 60, 73, 218, 237, 110, 242, 248, 113, 114, 127, 11, 162, 34, 183, 221, 61, 210, 227, 116, 116, 174, 70, 214, 207, 63, 175, 113, 180, 36, 189, 12, 220, 134, 34, 205, 22, 20, 235, 197, 81, 15, 14, 99, 42, 199, 161, 38, 135, 105, 0, 37, 46, 147, 108, 44, 228, 181, 163, 104, 158, 243, 234, 221, 182, 70, 233, 63, 85, 125, 19, 111, 100, 119, 82, 194, 200, 176, 252, 115, 170, 109, 88, 238, 107, 128, 255, 225, 0, 180, 172, 84, 210, 6, 92, 199, 200, 131, 0, 223, 197, 186, 48, 216, 42, 27, 135, 17, 188, 100, 191, 5, 135, 213, 219, 18, 4, 58, 60, 184, 96, 111, 52, 105, 57, 145, 14, 33, 126, 11, 56, 106, 223, 33, 137, 140, 210, 64, 64, 34, 193, 33, 27, 69, 134, 247, 18, 49, 240, 35, 58, 92, 243, 81, 165, 64, 248, 130, 151, 101, 234, 204, 116, 205, 194, 204, 202, 48, 238, 217, 158, 77, 138, 161, 14, 197, 173, 220, 86, 213, 71, 253, 117, 245, 127, 10, 19, 52, 27, 88, 32, 48, 126, 52, 32, 53, 150, 124, 113, 80, 40, 182, 75, 60, 214, 169, 78, 155, 135, 174, 5, 92, 158, 45, 165, 185, 226, 153, 82, 247, 244, 218, 132, 32, 195, 22, 40, 161, 69, 136, 145, 34, 182, 184, 164, 16, 60, 211, 204, 253, 104, 241, 230, 182, 185, 66, 148, 91, 23, 140, 81, 21, 93, 238, 88, 24, 6, 214, 98, 38, 134, 174, 222, 73, 88, 251, 114, 4, 6, 178, 171, 204, 97, 118, 72, 128, 39, 94, 49, 210, 16, 233, 35, 179, 122, 180, 77, 242, 53, 164, 239, 220, 145, 240, 244, 21, 110, 52, 244, 166, 195, 26, 175, 32, 68, 121, 175, 76, 204, 51, 43, 120, 163, 38, 131, 183, 19, 174, 121, 92, 28, 23, 101, 229, 9, 184, 126, 118, 117, 116, 70, 194, 36, 72, 27, 116, 218, 41, 74, 239, 64, 183, 157, 113, 68, 89, 98, 12, 10, 116, 28, 103, 107, 133, 92, 248, 151, 234, 113, 42, 69, 195, 198, 222, 35, 93, 63, 77, 243, 193, 75, 164, 12, 48, 91, 103, 149, 188, 188, 31, 163, 236, 242, 132, 32, 73, 233, 33, 7, 206, 76, 41, 18, 232, 195, 78, 30, 208, 2, 76, 243, 33, 162, 50, 233, 132, 66, 209, 22, 93, 223, 213, 12, 113, 55, 141, 141, 145, 87, 250, 88, 163, 188, 42, 18, 31, 179, 242, 33, 124, 215, 67, 248, 168, 234, 29, 222, 218, 134, 126, 207, 173, 114, 194, 161, 168, 162, 197, 0, 184, 91, 215, 181, 193, 149, 235, 252, 58, 50, 182, 134, 165, 170, 162, 106, 33, 75, 202, 253, 37, 86, 179, 132, 251, 13, 215, 179, 183, 48, 229, 184, 137, 52, 150, 55, 233, 88, 114, 86, 54, 253, 44, 60, 9, 236, 105, 203, 244, 102, 243, 128, 172, 100, 149, 78, 149, 194, 76, 229, 86, 212, 175, 215, 238, 185, 182, 110, 135, 193, 33, 204, 16, 134, 249, 209, 25, 164, 162, 120, 174, 118, 20, 183, 232, 140, 16, 200, 19, 79, 146, 49, 213, 103, 135, 135, 93, 44, 146, 146, 105, 161, 217, 44, 120, 7, 185, 78, 5, 100, 128, 63, 142, 94, 161, 25, 188, 193, 18, 30, 66, 9, 5, 181, 19, 26, 30, 42, 155, 210, 18, 102, 198, 249, 150, 170, 246, 177, 121, 154, 248, 172, 202, 197, 254, 100, 144, 99, 192, 143, 63, 175, 240, 142, 238, 208, 252, 231, 252, 147, 183, 159, 11, 243, 20, 133, 30, 73, 141, 238, 73, 18, 73, 192, 69, 133, 111, 199, 239, 0, 209, 128, 17, 93, 215, 8, 115, 192, 62, 118, 34, 103, 188, 48, 178, 240, 172, 234, 82, 207, 128, 196, 88, 80, 119, 214, 195, 93, 24, 168, 84, 79, 95, 238, 234, 82, 118, 99, 195, 93, 63, 201, 141, 47, 122, 219, 79, 243, 131, 238, 251, 73, 178, 67, 246, 152, 44, 189, 178, 13, 3, 133, 204, 237, 110, 200, 105, 145, 191, 201, 142, 92, 169, 18, 115, 53, 116, 169, 107, 166, 59, 179, 129, 129, 178, 216, 114, 87, 87, 191, 137, 75, 189, 102, 107, 46, 48, 32, 26, 238, 205, 177, 28, 114, 205, 118, 232, 54, 182, 151, 187, 53, 119, 131, 109, 0, 211, 97, 117, 155, 0, 68, 172, 48, 69, 210, 23, 172, 72, 129, 190, 58, 39, 157, 210, 26, 50, 91, 84, 54, 78, 85, 12, 63, 75, 24, 181, 68, 245, 129, 40, 121, 75, 54, 165, 42, 12, 180, 144, 215, 5, 202, 69, 122, 48, 116, 190, 213, 184, 220, 20, 73, 81, 184, 180, 82, 40, 167, 77, 36, 182, 146, 25, 227, 136, 7, 25, 170, 29, 219, 110, 32, 48, 149, 175, 216, 220, 37, 19, 241, 12, 133, 136, 168, 116, 26, 26, 126, 48, 151, 161, 174, 28, 88, 12, 211, 79, 49, 119, 33, 73, 36, 68, 215, 110, 70, 84, 162, 130, 231, 234, 78, 13, 103, 65, 221, 105, 146, 169, 144, 182, 37, 179, 165, 176, 54, 141, 109, 64, 195, 192, 202, 158, 236, 243, 232, 90, 82, 229, 61, 74, 2, 169, 138, 224, 57, 230, 107, 59, 191, 211, 35, 9, 140, 8, 177, 175, 223, 184, 115, 12, 21, 217, 106, 70, 189, 62, 33, 149, 99, 34, 249, 12, 16, 135, 160, 139, 99, 100, 21, 99, 84, 37, 254, 141, 176, 113, 49, 137, 14, 12, 64, 32, 172, 124, 136, 33, 157, 78, 166, 104, 71, 175, 64, 245, 232, 86, 124, 227, 165, 140, 238, 186, 170, 84, 88, 129, 109, 84, 52, 122, 70, 83, 220, 199, 197, 202, 135, 66, 92, 207, 33, 233, 17, 188, 89, 99, 133, 112, 79, 14, 23, 25, 174, 110, 249, 5, 161, 63, 34, 213, 129, 118, 91, 249, 12, 47, 194, 83, 109, 216, 197, 118, 46, 23, 182, 102, 229, 173, 17, 129, 192, 20, 220, 26, 113, 65, 72, 12, 42, 1, 136, 34, 193, 234, 184, 109, 51, 45, 232, 214, 174, 193, 233, 177, 129, 206, 178, 217, 193, 38, 205, 46, 193, 221, 138, 40, 78, 145, 186, 142, 146, 67, 47, 139, 27, 169, 110, 74, 241, 202, 4, 42, 91, 62, 213, 236, 25, 181, 5, 132, 13, 252, 123, 205, 108, 28, 157, 100, 211, 195, 242, 112, 52, 16, 96, 133, 176, 60, 75, 39, 231, 153, 187, 41, 104, 36, 103, 109, 39, 34, 187, 90, 112, 249, 114, 113, 217, 178, 59, 175, 224, 54, 18, 79, 149, 55, 45, 36, 222, 153, 20, 91, 18, 236, 204, 36, 23, 107, 82, 209, 245, 182, 163, 13, 2, 143, 169, 234, 35, 104, 5, 133, 24, 86, 242, 2, 52, 63, 74, 37, 23, 198, 196, 43, 30, 147, 228, 76, 139, 177, 202, 237, 163, 161, 178, 208, 38, 2, 235, 113, 40, 175, 156, 118, 69, 85, 137, 149, 65, 247, 79, 25, 138, 79, 96, 206, 45, 91, 1, 193, 234, 21, 176, 3, 15, 113, 192, 221, 229, 203, 147, 4, 62, 143, 60, 65, 219, 58, 38, 185, 140, 198, 191, 187, 225, 29, 31, 171, 235, 118, 195, 117, 133, 0, 24, 20, 76, 61, 27, 141, 95, 3, 116, 123, 78, 160, 225, 15, 221, 55, 158, 61, 97, 28, 149, 134, 188, 51, 49, 43, 182, 117, 166, 174, 173, 29, 241, 207, 227, 196, 197, 105, 7, 50, 107, 133, 60, 150, 190, 107, 216, 182, 206, 178, 115, 89, 143, 147, 173, 54, 143, 235, 232, 109, 9, 14, 181, 213, 206, 173, 208, 194, 103, 53, 175, 202, 57, 134, 107, 40, 208, 105, 84, 149, 0, 136, 245, 132, 206, 173, 2, 34, 211, 60, 246, 27, 159, 52, 113, 166, 82, 147, 106, 53, 104, 53, 235, 6, 0, 227, 23, 14, 182, 28, 167, 35, 87, 107, 154, 41, 205, 11, 74, 173, 153, 12, 17, 216, 60, 154, 10, 250, 56, 168, 168, 250, 217, 203, 66, 32, 188, 55, 133, 141, 211, 85, 40, 43, 211, 128, 47, 98, 85, 70, 62, 113, 189, 91, 57, 176, 219, 176, 149, 89, 67, 199, 214, 229, 191, 5, 72, 143, 201, 61, 0, 60, 79, 157, 226, 182, 115, 81, 183, 180, 188, 38, 165, 78, 60, 22, 218, 144, 232, 189, 75, 39, 251, 130, 184, 61, 126, 71, 2, 139, 162, 3, 8, 144, 122, 254, 183, 159, 182, 16, 15, 249, 230, 9, 188, 249, 245, 224, 128, 97, 182, 158, 116, 229, 89, 215, 16, 122, 88, 143, 238, 78, 137, 41, 160, 63, 63, 110, 208, 8, 91, 28, 32, 24, 68, 112, 95, 34, 168, 94, 33, 134, 7, 7, 7, 85, 136, 168, 55, 138, 202, 13, 69, 229, 90, 242, 189, 248, 245, 64, 64, 91, 55, 13, 108, 168, 6, 64, 89, 195, 49, 101, 241, 68, 246, 162, 51, 49, 103, 246, 138, 217, 104, 5, 190, 11, 9, 125, 62, 17, 228, 178, 39, 17, 179, 236, 27, 113, 195, 200, 11, 112, 252, 145, 57, 74, 71, 130, 49, 246, 58, 130, 93, 47, 80, 178, 65, 164, 36, 15, 180, 194, 61, 41, 56, 155, 236, 64, 34, 157, 12, 52, 188, 34, 123, 115, 56, 227, 237, 236, 184, 126, 25, 128, 226, 36, 243, 127, 133, 91, 36, 118, 22, 19, 35, 231, 9, 75, 103, 137, 245, 120, 157, 19, 167, 142, 151, 77, 151, 236, 178, 177, 185, 239, 85, 72, 26, 114, 147, 121, 99, 78, 81, 32, 196, 185, 121, 121, 232, 17, 153, 150, 202, 190, 164, 219, 105, 69, 119, 221, 184, 116, 204, 229, 168, 224, 137, 69, 100, 153, 5, 82, 138, 156, 52, 44, 218, 245, 102, 145, 96, 202, 14, 142, 199, 13, 179, 90, 56, 68, 45, 144, 207, 130, 67, 88, 36, 147, 133, 79, 144, 159, 195, 226, 164, 105, 138, 131, 45, 102, 165, 56, 9, 44, 42, 18, 57, 116, 235, 38, 166, 69, 50, 105, 200, 117, 152, 74, 227, 224, 38, 120, 94, 56, 39, 134, 156, 30, 102, 184, 93, 221, 93, 120, 198, 203, 157, 84, 125, 106, 114, 219, 213, 243, 221, 183, 223, 42, 136, 143, 119, 245, 132, 39, 94, 233, 115, 242, 221, 72, 198, 234, 121, 231, 54, 3, 207, 219, 235, 145, 51, 217, 174, 158, 221, 208, 99, 42, 39, 188, 93, 61, 189, 57, 222, 97, 205, 128, 69, 231, 52, 10, 139, 242, 120, 219, 126, 162, 94, 226, 138, 83, 185, 93, 75, 152, 1, 100, 70, 54, 59, 128, 27, 99, 19, 152, 138, 251, 218, 246, 234, 224, 96, 84, 23, 54, 201, 100, 33, 152, 216, 157, 43, 139, 138, 53, 200, 84, 76, 166, 189, 183, 147, 244, 18, 163, 26, 78, 132, 90, 73, 168, 202, 232, 21, 197, 5, 222, 223, 101, 238, 158, 210, 197, 168, 19, 32, 189, 100, 37, 176, 206, 166, 120, 75, 87, 21, 168, 176, 6, 39, 217, 57, 46, 165, 216, 1, 236, 244, 210, 15, 153, 247, 202, 7, 19, 205, 235, 249, 47, 86, 195, 15, 124, 180, 129, 55, 233, 165, 93, 187, 218, 17, 236, 47, 255, 88, 65, 179, 180, 164, 71, 194, 187, 59, 228, 207, 199, 46, 169, 228, 35, 95, 113, 234, 48, 22, 93, 207, 93, 162, 186, 158, 101, 130, 222, 122, 112, 121, 106, 128, 249, 203, 212, 64, 61, 160, 203, 171, 17, 88, 186, 234, 149, 173, 47, 60, 194, 166, 203, 105, 54, 174, 229, 217, 116, 17, 39, 72, 117, 104, 151, 89, 184, 134, 162, 163, 38, 217, 64, 52, 241, 33, 179, 199, 255, 181, 245, 71, 181, 29, 148, 188, 160, 30, 41, 90, 201, 205, 183, 115, 129, 103, 229, 72, 137, 136, 227, 20, 202, 201, 133, 101, 168, 180, 105, 236, 66, 175, 105, 46, 212, 165, 102, 129, 41, 214, 89, 205, 176, 222, 146, 132, 191, 190, 120, 19, 234, 170, 211, 252, 124, 110, 123, 171, 190, 155, 4, 84, 222, 79, 122, 88, 62, 22, 95, 158, 180, 168, 11, 71, 26, 25, 235, 226, 211, 127, 226, 183, 32, 146, 98, 157, 123, 177, 10, 52, 1, 110, 12, 81, 248, 22, 71, 85, 126, 13, 34, 91, 12, 250, 171, 192, 85, 128, 141, 161, 26, 71, 51, 140, 226, 89, 126, 149, 173, 2, 71, 132, 27, 65, 114, 58, 141, 98, 9, 159, 194, 11, 130, 116, 144, 247, 202, 21, 32, 170, 32, 71, 80, 205, 163, 152, 230, 97, 68, 203, 161, 152, 251, 86, 128, 38, 194, 141, 32, 137, 223, 162, 136, 170, 175, 225, 153, 125, 146, 95, 100, 171, 192, 22, 1, 199, 208, 197, 143, 113, 124, 213, 231, 200, 118, 227, 42, 176, 157, 157, 198, 80, 157, 197, 7, 20, 126, 11, 35, 57, 94, 9, 146, 227, 40, 146, 227, 10, 36, 199, 14, 146, 79, 203, 94, 58, 22, 246, 179, 40, 122, 58, 155, 170, 251, 234, 62, 80, 123, 46, 31, 141, 103, 48, 163, 211, 105, 244, 131, 227, 159, 196, 183, 94, 28, 179, 174, 217, 73, 190, 107, 125, 39, 86, 217, 223, 254, 62, 43, 166, 59, 78, 166, 105, 109, 24, 140, 122, 239, 196, 146, 17, 146, 85, 172, 192, 54, 64, 224, 205, 253, 61, 138, 172, 239, 30, 167, 152, 61, 99, 183, 245, 157, 96, 95, 144, 83, 18, 223, 117, 65, 224, 19, 40, 115, 34, 217, 156, 70, 148, 107, 49, 154, 246, 138, 65, 1, 238, 35, 241, 223, 21, 104, 89, 221, 192, 2, 164, 66, 221, 4, 43, 87, 144, 171, 240, 118, 233, 133, 186, 113, 146, 97, 101, 215, 166, 203, 187, 229, 18, 12, 144, 23, 165, 23, 234, 86, 144, 43, 145, 110, 78, 45, 26, 35, 179, 201, 96, 249, 132, 250, 230, 72, 67, 249, 125, 55, 201, 206, 42, 40, 68, 100, 107, 197, 55, 155, 146, 148, 210, 135, 163, 92, 249, 153, 200, 205, 81, 114, 181, 14, 235, 91, 64, 195, 98, 152, 246, 251, 24, 110, 36, 190, 109, 138, 223, 204, 151, 100, 142, 73, 96, 161, 120, 10, 237, 238, 86, 71, 231, 202, 150, 37, 3, 235, 42, 121, 12, 8, 74, 12, 6, 197, 165, 10, 56, 2, 39, 144, 197, 212, 194, 15, 197, 36, 33, 100, 8, 72, 154, 118, 44, 192, 53, 151, 13, 7, 197, 228, 105, 218, 123, 135, 43, 218, 211, 180, 119, 113, 54, 146, 125, 178, 55, 129, 85, 134, 23, 117, 164, 251, 200, 242, 132, 187, 209, 78, 164, 15, 237, 132, 120, 208, 116, 74, 82, 241, 109, 45, 32, 32, 81, 191, 153, 14, 231, 114, 157, 101, 73, 0, 85, 112, 120, 26, 90, 88, 40, 35, 233, 20, 91, 175, 186, 103, 126, 203, 64, 90, 243, 65, 38, 0, 183, 183, 104, 123, 244, 28, 31, 122, 40, 194, 7, 20, 179, 233, 91, 249, 213, 250, 54, 149, 52, 73, 39, 158, 40, 104, 66, 92, 205, 75, 184, 84, 96, 56, 222, 244, 11, 17, 98, 252, 143, 150, 144, 5, 161, 139, 66, 50, 216, 245, 196, 251, 164, 93, 184, 21, 167, 91, 148, 115, 238, 239, 217, 20, 220, 146, 2, 196, 211, 209, 116, 114, 45, 250, 193, 120, 76, 53, 35, 2, 168, 115, 143, 22, 128, 226, 139, 125, 231, 216, 138, 97, 58, 165, 203, 64, 51, 151, 170, 135, 121, 33, 62, 39, 187, 78, 26, 208, 208, 160, 9, 202, 214, 7, 121, 158, 69, 253, 115, 98, 188, 4, 244, 230, 4, 65, 251, 220, 215, 38, 216, 58, 21, 119, 38, 48, 201, 145, 221, 136, 14, 86, 159, 70, 153, 230, 20, 124, 171, 116, 128, 71, 29, 225, 71, 21, 195, 248, 72, 14, 227, 35, 54, 140, 77, 159, 30, 205, 59, 144, 171, 189, 223, 56, 118, 67, 238, 237, 207, 121, 208, 72, 119, 11, 40, 93, 232, 173, 152, 55, 28, 198, 20, 201, 42, 93, 63, 156, 142, 42, 70, 18, 82, 139, 195, 200, 25, 165, 98, 194, 24, 254, 51, 71, 183, 115, 141, 171, 255, 136, 231, 64, 182, 30, 65, 62, 86, 45, 64, 55, 80, 70, 10, 130, 203, 200, 240, 40, 13, 38, 86, 37, 249, 155, 25, 172, 215, 65, 96, 33, 110, 136, 215, 180, 145, 57, 149, 130, 236, 51, 227, 127, 118, 169, 87, 159, 85, 71, 121, 105, 27, 141, 207, 16, 74, 241, 124, 255, 224, 227, 134, 160, 211, 98, 2, 129, 83, 147, 244, 26, 3, 40, 32, 20, 236, 28, 5, 2, 45, 36, 97, 218, 24, 143, 215, 14, 241, 234, 102, 176, 27, 219, 221, 102, 215, 226, 254, 223, 179, 188, 119, 225, 129, 179, 96, 188, 221, 18, 44, 230, 110, 150, 12, 115, 114, 142, 17, 119, 22, 16, 31, 218, 144, 44, 178, 33, 154, 119, 43, 159, 206, 206, 206, 208, 24, 122, 109, 10, 111, 117, 110, 246, 191, 175, 128, 190, 2, 122, 227, 152, 195, 36, 130, 77, 200, 120, 48, 104, 237, 3, 234, 89, 148, 240, 215, 57, 25, 254, 82, 66, 95, 195, 231, 13, 16, 228, 55, 250, 202, 72, 43, 196, 178, 170, 190, 88, 62, 214, 168, 219, 224, 123, 219, 70, 191, 112, 116, 24, 236, 31, 171, 134, 215, 215, 5, 120, 166, 243, 148, 53, 245, 94, 109, 230, 216, 79, 50, 124, 65, 84, 134, 24, 254, 228, 253, 198, 6, 183, 134, 20, 109, 235, 235, 160, 179, 0, 231, 117, 160, 39, 160, 124, 212, 48, 39, 186, 231, 215, 235, 169, 88, 37, 237, 23, 131, 246, 149, 76, 245, 192, 13, 148, 246, 85, 242, 228, 137, 76, 44, 241, 125, 242, 19, 28, 208, 72, 182, 174, 14, 14, 248, 74, 65, 232, 153, 95, 175, 5, 136, 217, 112, 196, 244, 77, 58, 187, 2, 165, 51, 128, 255, 8, 13, 103, 96, 247, 96, 121, 133, 17, 252, 219, 15, 127, 216, 161, 10, 13, 233, 132, 108, 87, 19, 201, 225, 137, 224, 240, 49, 102, 4, 78, 38, 188, 99, 37, 196, 215, 147, 55, 86, 67, 125, 228, 32, 106, 36, 3, 138, 196, 36, 3, 190, 157, 138, 47, 150, 57, 162, 36, 146, 66, 250, 68, 97, 112, 10, 232, 57, 162, 19, 36, 35, 74, 2, 2, 128, 157, 39, 67, 211, 39, 161, 71, 244, 214, 107, 77, 211, 27, 35, 74, 139, 160, 162, 17, 0, 92, 4, 208, 220, 208, 67, 111, 25, 73, 251, 249, 149, 55, 67, 201, 145, 33, 214, 164, 167, 2, 211, 210, 78, 128, 103, 131, 34, 157, 226, 233, 190, 250, 169, 240, 97, 119, 123, 185, 83, 33, 80, 44, 232, 72, 236, 69, 227, 149, 140, 48, 240, 2, 119, 186, 226, 136, 200, 109, 164, 5, 118, 90, 158, 93, 234, 94, 179, 111, 129, 242, 231, 105, 9, 91, 99, 24, 227, 36, 57, 2, 131, 16, 238, 220, 181, 52, 107, 206, 184, 251, 166, 122, 250, 141, 100, 232, 48, 179, 179, 183, 66, 133, 245, 110, 127, 15, 144, 121, 171, 123, 3, 81, 115, 206, 131, 17, 91, 236, 35, 147, 179, 226, 236, 76, 186, 70, 14, 75, 11, 74, 242, 62, 114, 11, 195, 47, 137, 45, 8, 18, 122, 132, 16, 42, 171, 60, 242, 151, 18, 22, 134, 183, 146, 144, 29, 31, 134, 228, 60, 173, 16, 42, 18, 32, 77, 25, 2, 132, 162, 149, 140, 37, 147, 232, 61, 114, 182, 12, 173, 173, 122, 28, 110, 207, 178, 5, 218, 154, 219, 146, 129, 52, 132, 22, 158, 166, 99, 15, 30, 232, 127, 104, 3, 134, 224, 183, 70, 146, 98, 103, 7, 73, 209, 173, 171, 31, 15, 126, 130, 128, 142, 173, 53, 60, 88, 102, 255, 198, 37, 31, 45, 184, 181, 245, 227, 193, 1, 6, 146, 84, 222, 228, 160, 171, 252, 191, 187, 56, 111, 200, 103, 199, 43, 234, 156, 44, 140, 221, 170, 64, 160, 105, 170, 56, 44, 239, 76, 162, 132, 20, 182, 93, 231, 97, 105, 101, 203, 31, 29, 101, 33, 181, 232, 87, 211, 247, 43, 160, 21, 0, 242, 172, 96, 41, 113, 3, 41, 195, 240, 67, 79, 22, 248, 23, 23, 101, 102, 170, 129, 76, 199, 44, 53, 58, 255, 197, 166, 153, 213, 168, 164, 250, 49, 222, 64, 59, 196, 116, 205, 167, 215, 15, 81, 67, 252, 112, 84, 10, 19, 65, 252, 162, 182, 138, 62, 196, 24, 176, 123, 16, 177, 105, 38, 62, 151, 151, 233, 24, 173, 138, 247, 68, 42, 0, 103, 60, 51, 129, 198, 115, 14, 145, 127, 211, 194, 67, 29, 0, 4, 45, 70, 132, 1, 107, 149, 28, 205, 13, 88, 121, 72, 120, 114, 245, 225, 80, 15, 24, 24, 48, 239, 223, 236, 120, 93, 111, 176, 111, 43, 100, 69, 187, 107, 206, 17, 54, 253, 56, 174, 93, 120, 20, 96, 105, 40, 239, 98, 115, 33, 243, 195, 41, 6, 141, 4, 44, 207, 19, 81, 27, 103, 220, 167, 3, 204, 209, 83, 106, 102, 3, 7, 217, 14, 15, 165, 74, 51, 135, 218, 182, 140, 92, 253, 151, 193, 143, 52, 249, 60, 155, 156, 103, 237, 65, 14, 23, 18, 23, 179, 41, 100, 121, 192, 195, 55, 195, 188, 143, 7, 155, 2, 221, 139, 89, 176, 115, 140, 226, 132, 99, 66, 98, 250, 181, 60, 4, 64, 175, 197, 199, 55, 112, 44, 90, 254, 68, 154, 21, 71, 93, 17, 214, 43, 86, 108, 84, 201, 130, 128, 25, 148, 227, 128, 205, 138, 8, 231, 170, 41, 118, 192, 139, 94, 36, 4, 82, 237, 174, 158, 109, 163, 230, 21, 136, 148, 66, 215, 190, 188, 224, 229, 212, 42, 24, 241, 132, 178, 223, 126, 43, 170, 73, 156, 189, 3, 238, 218, 23, 167, 144, 115, 220, 147, 236, 235, 123, 231, 184, 58, 225, 167, 242, 222, 203, 242, 62, 23, 171, 24, 115, 177, 190, 222, 81, 104, 56, 22, 114, 174, 215, 132, 200, 148, 144, 210, 170, 132, 57, 9, 193, 124, 207, 96, 18, 118, 59, 60, 163, 216, 87, 99, 142, 124, 19, 171, 61, 166, 241, 141, 31, 194, 231, 122, 61, 180, 247, 20, 26, 29, 4, 197, 135, 236, 31, 197, 32, 43, 219, 165, 224, 123, 153, 225, 73, 46, 241, 239, 51, 152, 128, 250, 217, 8, 222, 224, 63, 207, 108, 100, 95, 200, 227, 162, 203, 56, 171, 45, 9, 76, 142, 76, 44, 98, 196, 193, 0, 121, 175, 63, 97, 237, 247, 16, 134, 173, 49, 216, 1, 214, 90, 96, 253, 76, 168, 215, 76, 195, 124, 255, 198, 31, 205, 21, 43, 74, 162, 66, 100, 107, 57, 134, 86, 235, 197, 163, 125, 159, 17, 247, 106, 83, 135, 22, 186, 216, 33, 51, 74, 96, 121, 20, 232, 27, 131, 128, 229, 45, 116, 148, 214, 98, 222, 60, 111, 16, 123, 28, 8, 13, 38, 75, 84, 167, 236, 246, 3, 138, 35, 159, 202, 8, 10, 91, 22, 11, 152, 86, 194, 203, 112, 43, 39, 148, 189, 1, 66, 26, 122, 177, 7, 191, 234, 181, 174, 129, 97, 59, 98, 98, 62, 210, 238, 185, 204, 71, 253, 226, 242, 68, 30, 101, 120, 224, 116, 80, 169, 78, 120, 138, 78, 42, 213, 17, 76, 74, 148, 126, 187, 190, 75, 192, 184, 122, 43, 11, 165, 53, 144, 71, 200, 73, 219, 200, 34, 10, 155, 80, 204, 121, 172, 104, 52, 19, 139, 51, 167, 120, 78, 156, 29, 218, 12, 29, 82, 140, 242, 237, 228, 251, 8, 13, 77, 152, 65, 24, 17, 7, 164, 25, 2, 122, 126, 55, 9, 243, 96, 199, 43, 93, 193, 62, 222, 84, 37, 11, 81, 216, 228, 204, 172, 217, 55, 113, 248, 24, 154, 160, 67, 243, 31, 49, 23, 20, 44, 226, 43, 48, 34, 54, 113, 63, 89, 233, 179, 38, 141, 4, 26, 30, 4, 6, 79, 103, 8, 68, 141, 74, 36, 143, 184, 97, 62, 7, 19, 68, 96, 39, 181, 184, 55, 167, 255, 149, 236, 13, 224, 194, 133, 244, 194, 202, 226, 243, 26, 23, 4, 192, 36, 0, 96, 17, 75, 130, 226, 164, 237, 134, 134, 102, 131, 91, 245, 61, 169, 26, 154, 90, 93, 215, 97, 108, 146, 245, 188, 191, 63, 197, 39, 34, 5, 72, 230, 224, 143, 207, 63, 85, 115, 201, 62, 236, 238, 91, 7, 223, 65, 49, 241, 124, 156, 86, 204, 236, 192, 39, 176, 248, 164, 3, 46, 192, 253, 54, 63, 44, 63, 239, 228, 51, 88, 205, 188, 51, 88, 237, 148, 51, 88, 210, 108, 51, 184, 75, 19, 141, 207, 51, 120, 60, 37, 124, 231, 102, 27, 28, 62, 234, 43, 248, 125, 165, 36, 199, 148, 120, 141, 43, 132, 172, 144, 21, 204, 128, 18, 175, 113, 134, 188, 20, 252, 200, 101, 164, 98, 173, 35, 100, 199, 14, 157, 97, 214, 207, 211, 145, 185, 136, 84, 186, 63, 218, 52, 123, 210, 147, 39, 236, 180, 42, 243, 146, 176, 73, 67, 39, 142, 138, 122, 11, 72, 91, 98, 121, 76, 194, 108, 172, 158, 151, 156, 0, 248, 111, 180, 201, 61, 45, 196, 20, 249, 132, 186, 61, 162, 13, 104, 146, 43, 64, 231, 139, 192, 205, 107, 128, 50, 124, 243, 57, 209, 205, 9, 115, 199, 249, 135, 194, 28, 1, 204, 137, 34, 227, 231, 240, 251, 5, 206, 102, 122, 246, 136, 211, 104, 225, 129, 153, 193, 246, 199, 5, 140, 247, 27, 27, 81, 24, 239, 195, 48, 158, 48, 24, 114, 101, 245, 36, 121, 95, 25, 105, 88, 237, 61, 162, 131, 42, 90, 210, 226, 96, 171, 168, 145, 240, 158, 141, 130, 186, 173, 75, 127, 0, 8, 69, 210, 187, 144, 243, 202, 91, 88, 232, 208, 136, 179, 105, 49, 182, 203, 77, 174, 77, 205, 43, 169, 239, 244, 140, 18, 232, 73, 192, 225, 108, 138, 75, 246, 73, 126, 254, 110, 106, 174, 168, 138, 36, 88, 200, 240, 192, 176, 82, 214, 66, 63, 223, 119, 181, 69, 112, 138, 174, 154, 82, 40, 116, 32, 233, 177, 155, 192, 33, 208, 105, 240, 104, 85, 46, 24, 244, 122, 99, 67, 212, 116, 220, 148, 154, 27, 225, 18, 65, 19, 139, 9, 184, 167, 178, 154, 16, 161, 152, 41, 170, 183, 9, 48, 152, 66, 52, 215, 120, 121, 205, 243, 68, 154, 228, 27, 172, 218, 186, 55, 243, 224, 17, 77, 93, 229, 137, 110, 45, 228, 117, 151, 84, 11, 154, 165, 141, 22, 104, 58, 80, 138, 163, 28, 44, 142, 44, 229, 56, 242, 114, 81, 111, 126, 188, 173, 224, 141, 238, 78, 241, 140, 230, 223, 211, 143, 20, 129, 42, 172, 195, 57, 77, 163, 211, 212, 191, 242, 236, 82, 239, 22, 227, 76, 119, 120, 118, 156, 229, 103, 121, 214, 111, 79, 217, 28, 74, 134, 232, 233, 236, 140, 198, 90, 178, 16, 203, 169, 54, 81, 121, 218, 19, 213, 190, 168, 233, 164, 18, 255, 45, 19, 84, 191, 203, 250, 178, 113, 181, 131, 76, 151, 111, 110, 20, 128, 107, 228, 146, 32, 69, 98, 73, 155, 106, 58, 192, 151, 80, 168, 27, 169, 136, 242, 37, 64, 49, 183, 130, 186, 108, 164, 38, 188, 84, 111, 127, 223, 231, 26, 81, 93, 64, 2, 91, 206, 63, 169, 77, 105, 126, 109, 176, 177, 171, 228, 97, 121, 117, 132, 196, 9, 99, 114, 75, 233, 227, 35, 65, 64, 238, 198, 127, 28, 24, 137, 86, 240, 1, 10, 74, 247, 166, 178, 127, 40, 255, 184, 96, 176, 72, 201, 122, 113, 178, 125, 20, 235, 252, 232, 233, 133, 135, 247, 127, 94, 115, 197, 9, 205, 195, 90, 148, 195, 92, 136, 145, 231, 241, 129, 198, 129, 60, 29, 149, 51, 56, 190, 67, 107, 164, 147, 115, 42, 178, 244, 78, 244, 53, 153, 32, 156, 173, 177, 206, 89, 214, 228, 8, 22, 80, 204, 91, 209, 217, 52, 33, 114, 88, 207, 23, 66, 2, 231, 72, 170, 248, 227, 100, 226, 87, 131, 32, 40, 96, 42, 176, 159, 70, 138, 20, 167, 239, 3, 186, 162, 39, 19, 232, 136, 143, 155, 61, 91, 152, 152, 110, 245, 233, 109, 163, 171, 85, 104, 209, 66, 178, 225, 253, 80, 50, 46, 69, 15, 126, 18, 108, 40, 176, 228, 119, 101, 242, 29, 193, 234, 187, 100, 172, 156, 206, 44, 68, 31, 66, 140, 196, 215, 208, 245, 0, 146, 11, 236, 126, 250, 192, 217, 177, 208, 193, 177, 249, 104, 59, 100, 156, 46, 253, 172, 228, 234, 152, 131, 123, 220, 7, 110, 12, 250, 175, 255, 82, 104, 26, 234, 224, 216, 149, 97, 0, 161, 223, 57, 232, 249, 175, 116, 144, 247, 211, 105, 230, 96, 21, 18, 116, 120, 239, 218, 77, 76, 232, 221, 2, 21, 130, 111, 41, 143, 10, 191, 29, 0, 182, 177, 151, 69, 89, 230, 167, 131, 107, 37, 239, 53, 109, 67, 157, 104, 141, 127, 164, 174, 102, 66, 16, 222, 100, 28, 85, 79, 14, 226, 100, 54, 177, 152, 127, 12, 117, 216, 195, 7, 63, 196, 84, 186, 60, 145, 241, 63, 249, 84, 221, 178, 210, 38, 29, 231, 102, 191, 149, 135, 236, 46, 109, 101, 229, 167, 33, 85, 120, 198, 88, 92, 72, 150, 172, 124, 160, 247, 25, 72, 158, 148, 195, 138, 42, 5, 195, 131, 59, 49, 33, 155, 59, 139, 133, 96, 122, 6, 149, 172, 59, 143, 178, 99, 96, 43, 227, 230, 90, 225, 233, 151, 231, 160, 178, 206, 57, 55, 109, 139, 215, 129, 63, 234, 206, 160, 225, 111, 246, 54, 55, 219, 90, 109, 63, 43, 217, 99, 253, 172, 77, 140, 83, 51, 109, 47, 210, 247, 21, 80, 36, 190, 13, 59, 127, 14, 178, 244, 132, 225, 74, 113, 118, 149, 13, 199, 131, 52, 40, 194, 251, 76, 96, 2, 83, 142, 174, 204, 209, 169, 24, 51, 251, 132, 206, 102, 104, 170, 78, 176, 104, 54, 235, 129, 37, 162, 174, 48, 216, 175, 108, 58, 66, 14, 28, 176, 162, 103, 246, 252, 131, 113, 117, 166, 205, 17, 71, 80, 162, 133, 5, 232, 161, 173, 237, 40, 2, 31, 178, 201, 53, 57, 118, 152, 196, 49, 9, 232, 160, 166, 200, 85, 43, 161, 58, 21, 164, 161, 176, 148, 135, 243, 171, 28, 193, 134, 26, 93, 82, 145, 200, 57, 106, 172, 252, 136, 222, 254, 214, 127, 88, 200, 255, 177, 105, 46, 52, 218, 204, 128, 189, 183, 115, 32, 216, 158, 154, 246, 72, 120, 146, 116, 147, 95, 18, 154, 192, 57, 121, 148, 124, 40, 242, 190, 23, 25, 112, 33, 125, 175, 23, 218, 247, 122, 225, 31, 117, 185, 80, 23, 192, 38, 71, 152, 230, 136, 126, 154, 102, 165, 189, 60, 167, 241, 241, 214, 11, 117, 95, 219, 133, 232, 34, 199, 87, 118, 207, 66, 12, 95, 166, 19, 57, 0, 39, 45, 145, 160, 192, 195, 125, 221, 109, 181, 57, 102, 188, 83, 29, 181, 110, 247, 206, 155, 71, 146, 52, 222, 99, 182, 147, 202, 202, 104, 217, 20, 59, 138, 90, 33, 156, 242, 36, 42, 197, 75, 186, 117, 170, 102, 70, 42, 206, 64, 150, 159, 150, 209, 31, 192, 118, 217, 93, 185, 182, 34, 131, 182, 106, 68, 162, 60, 200, 147, 157, 2, 158, 45, 6, 135, 51, 77, 33, 204, 171, 165, 79, 107, 254, 140, 201, 181, 204, 217, 205, 45, 46, 93, 82, 176, 94, 21, 191, 230, 231, 98, 5, 223, 166, 225, 73, 158, 205, 97, 75, 191, 152, 13, 79, 179, 9, 47, 109, 208, 211, 233, 190, 234, 147, 102, 211, 84, 98, 38, 241, 53, 227, 127, 48, 81, 53, 171, 210, 113, 163, 13, 157, 220, 213, 78, 97, 190, 43, 167, 63, 202, 212, 221, 94, 230, 238, 102, 23, 98, 16, 34, 84, 130, 109, 79, 132, 42, 201, 80, 73, 183, 189, 74, 17, 66, 156, 76, 220, 53, 199, 66, 154, 184, 33, 142, 60, 195, 238, 6, 126, 8, 181, 45, 120, 161, 111, 227, 240, 52, 26, 40, 177, 100, 55, 33, 187, 215, 76, 145, 28, 197, 181, 8, 164, 194, 248, 58, 111, 174, 104, 222, 60, 67, 254, 222, 206, 196, 249, 106, 161, 41, 19, 53, 70, 54, 158, 70, 118, 66, 122, 233, 88, 8, 16, 102, 237, 92, 238, 28, 91, 102, 3, 49, 21, 169, 116, 160, 191, 22, 197, 32, 75, 71, 193, 203, 80, 233, 92, 251, 202, 153, 101, 157, 105, 86, 195, 116, 23, 225, 64, 223, 107, 77, 137, 116, 122, 75, 48, 225, 181, 50, 160, 183, 23, 180, 171, 93, 51, 255, 168, 99, 24, 228, 229, 158, 145, 220, 129, 165, 156, 46, 34, 254, 226, 44, 218, 123, 61, 66, 92, 0, 189, 209, 155, 192, 176, 221, 139, 14, 91, 49, 47, 141, 5, 200, 188, 151, 58, 73, 86, 191, 142, 217, 155, 143, 217, 81, 63, 54, 98, 13, 207, 231, 27, 176, 164, 218, 157, 49, 116, 209, 41, 26, 24, 111, 6, 215, 152, 105, 27, 180, 96, 233, 120, 98, 34, 76, 178, 140, 70, 69, 25, 119, 152, 190, 202, 243, 10, 229, 25, 57, 252, 165, 8, 245, 60, 146, 11, 50, 95, 41, 183, 1, 145, 133, 28, 6, 97, 89, 245, 146, 124, 125, 21, 213, 197, 68, 213, 2, 166, 130, 122, 155, 121, 199, 110, 67, 80, 27, 187, 14, 136, 148, 46, 160, 66, 15, 229, 165, 247, 234, 230, 97, 21, 66, 35, 163, 140, 116, 196, 197, 214, 39, 114, 4, 196, 80, 106, 236, 15, 80, 180, 113, 151, 64, 179, 53, 191, 63, 28, 107, 6, 140, 118, 190, 135, 211, 195, 111, 144, 32, 31, 126, 229, 139, 161, 138, 135, 34, 212, 180, 70, 130, 8, 70, 58, 73, 119, 85, 155, 23, 78, 121, 47, 125, 184, 142, 241, 142, 167, 12, 31, 241, 217, 255, 130, 95, 77, 163, 203, 250, 41, 66, 226, 18, 190, 195, 33, 202, 85, 40, 220, 79, 68, 251, 253, 230, 138, 247, 255, 42, 32, 154, 212, 220, 92, 250, 169, 100, 217, 92, 73, 219, 226, 168, 221, 138, 116, 202, 69, 19, 196, 165, 69, 174, 107, 21, 58, 171, 213, 105, 161, 95, 165, 226, 174, 215, 184, 128, 211, 251, 15, 2, 88, 248, 201, 11, 72, 231, 135, 152, 202, 46, 108, 234, 0, 110, 110, 212, 239, 71, 58, 16, 48, 166, 78, 10, 204, 22, 26, 171, 58, 199, 25, 249, 206, 110, 178, 213, 133, 221, 149, 23, 230, 1, 169, 54, 137, 85, 85, 207, 38, 38, 20, 29, 67, 140, 52, 240, 123, 221, 107, 49, 164, 163, 143, 35, 146, 251, 207, 236, 122, 245, 187, 34, 91, 177, 93, 145, 103, 105, 57, 13, 206, 14, 201, 205, 198, 80, 112, 230, 127, 18, 74, 97, 183, 156, 121, 131, 206, 197, 245, 201, 73, 90, 65, 6, 208, 172, 34, 238, 233, 152, 27, 99, 216, 116, 58, 11, 224, 115, 135, 166, 180, 136, 37, 100, 103, 58, 118, 119, 166, 208, 52, 44, 250, 181, 217, 124, 167, 71, 168, 156, 195, 152, 15, 87, 232, 248, 145, 85, 17, 10, 188, 153, 181, 204, 76, 244, 68, 218, 92, 252, 104, 253, 45, 77, 68, 207, 211, 241, 87, 235, 127, 85, 11, 213, 97, 58, 190, 235, 158, 210, 198, 110, 65, 187, 149, 48, 143, 171, 102, 136, 220, 215, 254, 154, 6, 222, 80, 111, 225, 0, 207, 158, 220, 11, 32, 192, 230, 112, 45, 30, 103, 253, 89, 47, 251, 42, 228, 171, 18, 242, 9, 242, 119, 245, 114, 206, 52, 63, 196, 134, 70, 110, 103, 142, 146, 241, 192, 217, 82, 36, 163, 32, 237, 245, 102, 195, 217, 64, 221, 89, 216, 108, 36, 29, 225, 153, 70, 71, 149, 135, 71, 2, 7, 95, 55, 10, 72, 50, 96, 82, 177, 110, 77, 77, 138, 86, 14, 132, 99, 56, 18, 240, 117, 52, 172, 118, 52, 32, 147, 63, 195, 33, 193, 204, 159, 27, 12, 140, 141, 13, 119, 96, 4, 109, 156, 187, 50, 46, 62, 100, 147, 146, 95, 6, 116, 139, 171, 240, 150, 135, 201, 173, 173, 190, 135, 121, 191, 63, 192, 180, 249, 218, 100, 61, 27, 20, 50, 194, 53, 249, 79, 147, 240, 219, 204, 247, 131, 226, 50, 83, 73, 77, 229, 79, 56, 145, 33, 97, 168, 55, 190, 1, 48, 19, 164, 78, 140, 100, 201, 106, 236, 228, 141, 1, 108, 55, 117, 240, 79, 103, 119, 21, 225, 216, 34, 248, 39, 41, 162, 43, 65, 168, 144, 41, 73, 63, 203, 10, 128, 136, 105, 43, 32, 44, 177, 168, 130, 147, 200, 101, 244, 62, 231, 67, 233, 242, 185, 228, 28, 221, 84, 108, 142, 248, 241, 178, 150, 131, 166, 31, 108, 84, 23, 90, 228, 40, 237, 58, 169, 249, 26, 184, 227, 45, 142, 87, 24, 184, 131, 49, 11, 234, 66, 85, 214, 136, 196, 109, 3, 20, 31, 189, 187, 183, 249, 62, 191, 115, 175, 183, 108, 228, 9, 247, 136, 205, 147, 77, 182, 65, 232, 144, 149, 75, 13, 188, 62, 132, 8, 158, 202, 243, 2, 232, 71, 4, 201, 239, 51, 210, 127, 205, 167, 151, 121, 153, 201, 161, 43, 232, 221, 195, 57, 130, 82, 109, 198, 171, 172, 29, 202, 24, 64, 146, 52, 233, 71, 29, 51, 54, 145, 75, 161, 19, 149, 123, 175, 71, 50, 42, 131, 26, 137, 62, 3, 2, 231, 12, 99, 171, 152, 147, 98, 248, 117, 13, 179, 50, 171, 173, 20, 220, 253, 114, 118, 233, 110, 59, 24, 184, 38, 22, 216, 61, 122, 215, 224, 144, 220, 190, 60, 50, 13, 105, 233, 221, 99, 180, 208, 32, 220, 7, 124, 29, 117, 254, 201, 18, 79, 2, 37, 88, 1, 99, 52, 95, 71, 156, 137, 237, 118, 87, 88, 65, 87, 152, 42, 64, 116, 76, 87, 244, 198, 22, 28, 205, 150, 239, 175, 249, 123, 11, 89, 6, 189, 190, 205, 203, 23, 233, 139, 246, 149, 127, 224, 140, 125, 23, 80, 126, 17, 80, 30, 105, 212, 162, 101, 54, 176, 153, 106, 118, 65, 100, 110, 128, 99, 196, 79, 217, 207, 207, 224, 0, 50, 28, 126, 166, 185, 220, 196, 91, 15, 77, 120, 201, 112, 170, 105, 92, 69, 6, 175, 166, 199, 106, 80, 192, 244, 1, 193, 20, 86, 230, 37, 218, 170, 94, 20, 121, 112, 188, 27, 56, 149, 115, 80, 112, 200, 219, 170, 174, 13, 86, 156, 190, 175, 215, 210, 228, 76, 160, 119, 248, 213, 30, 238, 179, 38, 93, 68, 81, 135, 226, 122, 107, 143, 12, 122, 187, 172, 225, 44, 241, 53, 202, 27, 111, 113, 111, 116, 84, 150, 228, 232, 187, 193, 33, 184, 10, 252, 231, 159, 121, 36, 242, 213, 115, 143, 115, 170, 45, 116, 137, 186, 0, 179, 19, 16, 192, 221, 152, 0, 86, 198, 234, 243, 51, 157, 229, 101, 62, 237, 189, 147, 81, 251, 220, 238, 232, 165, 130, 248, 238, 35, 247, 205, 79, 143, 152, 12, 155, 179, 179, 228, 206, 33, 164, 122, 0, 73, 61, 80, 35, 39, 157, 160, 98, 97, 231, 51, 17, 244, 214, 60, 160, 97, 14, 104, 12, 249, 126, 16, 178, 189, 52, 194, 130, 85, 231, 186, 60, 251, 139, 61, 219, 137, 37, 77, 253, 91, 93, 161, 25, 150, 219, 203, 199, 82, 113, 105, 137, 72, 62, 92, 46, 146, 15, 86, 195, 202, 7, 203, 199, 114, 249, 172, 252, 217, 27, 92, 221, 240, 16, 176, 153, 123, 44, 222, 145, 233, 210, 111, 229, 135, 149, 177, 66, 254, 51, 39, 39, 124, 4, 127, 164, 8, 10, 109, 150, 194, 5, 131, 12, 170, 119, 83, 91, 115, 174, 120, 203, 68, 59, 75, 92, 74, 45, 173, 10, 30, 128, 110, 215, 150, 0, 51, 58, 116, 249, 15, 162, 192, 186, 205, 5, 133, 69, 28, 175, 19, 170, 119, 110, 202, 198, 166, 31, 120, 244, 66, 163, 106, 22, 66, 156, 67, 89, 109, 76, 229, 101, 79, 72, 150, 75, 154, 6, 182, 32, 114, 208, 112, 250, 166, 114, 93, 205, 161, 126, 64, 11, 234, 67, 208, 194, 39, 43, 100, 245, 230, 131, 154, 45, 153, 249, 22, 74, 240, 104, 133, 193, 237, 224, 88, 8, 200, 171, 226, 89, 33, 152, 152, 169, 16, 150, 1, 254, 1, 169, 38, 136, 127, 184, 24, 67, 37, 246, 146, 46, 152, 83, 101, 113, 221, 104, 209, 140, 64, 150, 178, 112, 166, 144, 110, 184, 120, 70, 80, 141, 22, 208, 245, 97, 83, 210, 1, 54, 41, 167, 79, 77, 112, 17, 130, 55, 113, 76, 94, 0, 83, 104, 49, 73, 33, 108, 78, 89, 223, 117, 24, 120, 186, 74, 38, 1, 97, 16, 102, 21, 88, 254, 214, 196, 67, 193, 61, 195, 112, 119, 152, 1, 196, 135, 62, 92, 123, 236, 82, 69, 151, 201, 181, 84, 17, 0, 30, 81, 228, 27, 61, 207, 3, 48, 225, 214, 233, 227, 192, 90, 56, 22, 108, 117, 50, 59, 69, 228, 218, 167, 217, 121, 62, 242, 92, 207, 238, 162, 130, 59, 159, 113, 25, 225, 185, 159, 221, 156, 30, 11, 239, 91, 88, 148, 26, 7, 11, 105, 114, 42, 92, 212, 21, 78, 68, 158, 216, 165, 201, 97, 70, 226, 12, 244, 150, 59, 86, 214, 38, 189, 103, 13, 52, 187, 42, 106, 179, 62, 113, 248, 54, 25, 20, 175, 162, 189, 186, 191, 2, 183, 152, 179, 28, 249, 71, 151, 116, 240, 183, 14, 111, 230, 213, 30, 59, 113, 69, 233, 85, 219, 98, 189, 206, 11, 7, 93, 205, 145, 39, 226, 129, 86, 112, 76, 19, 115, 57, 212, 45, 98, 113, 183, 122, 166, 206, 111, 248, 158, 245, 38, 100, 198, 252, 233, 205, 9, 68, 8, 33, 242, 70, 217, 165, 145, 5, 134, 135, 193, 120, 131, 244, 19, 119, 188, 171, 88, 74, 149, 208, 150, 204, 29, 246, 189, 187, 136, 7, 72, 76, 160, 184, 128, 173, 39, 109, 34, 20, 223, 211, 22, 120, 20, 101, 133, 191, 223, 10, 62, 201, 130, 193, 219, 237, 88, 178, 99, 115, 238, 222, 180, 157, 99, 60, 248, 167, 87, 62, 72, 73, 62, 87, 200, 253, 222, 180, 209, 142, 42, 239, 156, 90, 135, 3, 29, 14, 90, 154, 173, 192, 231, 36, 124, 222, 9, 118, 231, 149, 66, 129, 239, 172, 68, 196, 189, 97, 131, 224, 67, 165, 77, 99, 24, 18, 143, 71, 251, 117, 72, 190, 207, 126, 114, 28, 195, 86, 182, 206, 12, 156, 25, 233, 149, 230, 150, 41, 232, 19, 94, 125, 56, 112, 119, 45, 124, 79, 186, 139, 136, 48, 124, 228, 181, 242, 208, 223, 193, 115, 37, 189, 193, 172, 15, 151, 144, 100, 119, 252, 96, 73, 165, 104, 219, 67, 39, 252, 96, 137, 36, 238, 14, 132, 225, 58, 73, 32, 27, 29, 46, 249, 116, 39, 66, 200, 134, 158, 51, 62, 0, 194, 137, 144, 52, 148, 174, 255, 205, 38, 133, 43, 56, 176, 185, 18, 62, 134, 199, 83, 174, 93, 240, 43, 98, 155, 164, 9, 156, 138, 49, 221, 131, 68, 153, 237, 178, 152, 77, 122, 89, 7, 194, 31, 193, 141, 72, 215, 57, 118, 55, 41, 184, 206, 217, 15, 41, 104, 154, 75, 105, 191, 98, 75, 171, 43, 192, 139, 191, 138, 179, 100, 159, 134, 140, 8, 161, 21, 99, 216, 66, 148, 88, 53, 246, 174, 99, 241, 57, 61, 235, 93, 69, 59, 181, 166, 21, 30, 64, 160, 221, 94, 114, 197, 194, 22, 242, 242, 209, 232, 168, 89, 197, 65, 75, 224, 172, 20, 53, 180, 242, 129, 41, 25, 185, 31, 72, 97, 152, 171, 50, 44, 135, 33, 175, 205, 184, 2, 30, 125, 255, 179, 107, 187, 186, 252, 98, 53, 170, 249, 246, 195, 67, 127, 71, 66, 98, 239, 166, 21, 184, 167, 25, 227, 108, 50, 112, 209, 144, 95, 149, 254, 211, 128, 2, 217, 0, 29, 142, 9, 162, 60, 197, 236, 237, 102, 40, 112, 226, 189, 167, 233, 152, 246, 127, 169, 183, 104, 143, 196, 138, 126, 152, 255, 129, 60, 113, 216, 240, 111, 15, 68, 68, 233, 169, 70, 119, 188, 242, 21, 10, 175, 178, 206, 52, 157, 156, 103, 211, 35, 52, 132, 220, 219, 28, 232, 211, 116, 227, 150, 62, 6, 182, 140, 125, 86, 98, 120, 241, 198, 135, 254, 209, 123, 163, 117, 144, 6, 193, 235, 124, 108, 210, 131, 94, 231, 189, 76, 123, 23, 183, 211, 123, 97, 206, 202, 54, 213, 94, 121, 128, 199, 116, 34, 204, 167, 160, 56, 41, 198, 6, 158, 25, 18, 62, 132, 166, 92, 227, 119, 49, 72, 131, 3, 252, 69, 64, 180, 32, 240, 85, 129, 41, 71, 180, 214, 230, 3, 216, 243, 64, 38, 42, 197, 141, 142, 2, 224, 5, 40, 27, 200, 48, 13, 39, 231, 35, 192, 231, 17, 56, 22, 45, 32, 113, 241, 196, 204, 15, 229, 215, 26, 228, 151, 96, 4, 1, 170, 107, 158, 221, 4, 142, 191, 184, 57, 74, 224, 113, 228, 220, 139, 241, 231, 28, 15, 247, 145, 85, 233, 232, 94, 120, 150, 95, 200, 252, 83, 92, 119, 121, 198, 77, 65, 253, 111, 80, 137, 75, 215, 162, 29, 176, 80, 152, 134, 193, 193, 11, 215, 88, 1, 223, 235, 120, 206, 83, 182, 89, 94, 87, 88, 42, 71, 103, 109, 22, 147, 36, 89, 236, 198, 184, 16, 103, 235, 52, 27, 150, 180, 132, 253, 180, 2, 171, 69, 168, 144, 37, 246, 161, 105, 92, 130, 149, 76, 68, 130, 76, 231, 217, 252, 158, 46, 227, 254, 230, 45, 214, 221, 228, 218, 146, 246, 234, 245, 142, 170, 42, 22, 0, 162, 111, 146, 215, 210, 38, 217, 84, 233, 138, 223, 176, 229, 143, 163, 151, 16, 79, 184, 193, 4, 86, 33, 129, 180, 211, 185, 53, 125, 130, 18, 134, 245, 228, 37, 174, 229, 26, 235, 34, 53, 218, 114, 223, 88, 113, 13, 149, 31, 89, 215, 92, 169, 84, 235, 146, 137, 88, 119, 19, 222, 218, 50, 70, 199, 210, 123, 250, 114, 107, 199, 43, 11, 30, 44, 65, 119, 128, 1, 160, 8, 41, 182, 229, 142, 105, 216, 53, 148, 12, 85, 80, 184, 198, 252, 130, 236, 216, 80, 172, 229, 0, 129, 119, 155, 253, 98, 148, 85, 222, 45, 18, 184, 191, 241, 131, 90, 212, 230, 112, 107, 35, 66, 241, 51, 233, 233, 253, 22, 44, 202, 4, 141, 88, 62, 55, 11, 95, 110, 67, 145, 192, 101, 0, 71, 244, 30, 128, 6, 75, 96, 47, 20, 196, 95, 3, 55, 77, 175, 232, 210, 230, 71, 103, 120, 113, 165, 71, 77, 178, 210, 89, 205, 69, 90, 0, 79, 217, 141, 194, 160, 113, 151, 35, 20, 10, 189, 72, 248, 115, 248, 185, 3, 65, 209, 139, 5, 65, 55, 36, 36, 16, 20, 45, 157, 150, 177, 168, 104, 228, 57, 119, 208, 170, 132, 250, 129, 148, 194, 71, 157, 196, 174, 239, 232, 7, 42, 104, 173, 53, 222, 248, 91, 101, 154, 98, 65, 137, 12, 41, 144, 151, 74, 182, 249, 226, 83, 213, 253, 213, 9, 223, 106, 155, 119, 225, 161, 6, 205, 173, 173, 69, 23, 140, 158, 176, 27, 112, 77, 227, 168, 189, 165, 51, 69, 8, 90, 247, 244, 162, 34, 207, 193, 178, 89, 171, 15, 168, 134, 36, 140, 226, 78, 19, 157, 21, 169, 177, 18, 49, 237, 11, 69, 236, 178, 228, 149, 80, 48, 173, 198, 220, 176, 110, 40, 203, 6, 193, 251, 163, 10, 21, 242, 144, 116, 126, 218, 155, 206, 210, 129, 148, 78, 39, 87, 126, 88, 175, 88, 206, 89, 153, 176, 64, 30, 43, 89, 175, 104, 253, 7, 237, 196, 239, 216, 198, 9, 172, 197, 180, 33, 193, 117, 191, 24, 95, 195, 220, 212, 38, 60, 222, 194, 88, 109, 53, 208, 116, 235, 166, 59, 185, 99, 151, 200, 124, 197, 37, 54, 208, 73, 202, 26, 82, 245, 60, 196, 253, 43, 70, 254, 70, 39, 131, 121, 45, 42, 191, 110, 19, 147, 234, 111, 39, 239, 210, 9, 235, 203, 185, 27, 142, 65, 104, 210, 188, 95, 119, 105, 243, 187, 7, 122, 238, 89, 222, 131, 112, 211, 185, 62, 76, 109, 48, 140, 20, 180, 187, 91, 250, 235, 236, 253, 215, 157, 189, 61, 97, 88, 230, 28, 126, 68, 195, 124, 219, 102, 133, 25, 29, 72, 106, 14, 15, 141, 37, 62, 165, 198, 170, 86, 206, 93, 15, 187, 141, 230, 84, 131, 166, 157, 211, 217, 100, 135, 31, 97, 166, 3, 197, 224, 33, 82, 62, 207, 134, 197, 228, 26, 182, 68, 84, 97, 158, 134, 208, 67, 106, 187, 217, 164, 88, 53, 104, 101, 59, 11, 206, 139, 15, 239, 199, 231, 69, 175, 81, 58, 199, 33, 105, 115, 78, 112, 238, 74, 255, 127, 196, 250, 238, 121, 58, 38, 18, 9, 158, 73, 185, 62, 22, 235, 113, 170, 164, 135, 120, 159, 43, 223, 129, 75, 251, 125, 180, 190, 196, 183, 205, 50, 155, 114, 111, 136, 222, 30, 192, 66, 213, 231, 146, 148, 59, 68, 150, 116, 188, 27, 176, 168, 60, 20, 43, 121, 184, 215, 72, 128, 44, 46, 213, 26, 25, 124, 6, 22, 209, 128, 168, 146, 85, 49, 212, 175, 22, 206, 251, 63, 138, 89, 77, 113, 131, 46, 142, 67, 139, 114, 68, 19, 247, 123, 58, 6, 187, 215, 91, 111, 200, 31, 221, 55, 70, 245, 59, 204, 134, 89, 182, 1, 179, 101, 168, 69, 152, 217, 226, 219, 166, 248, 189, 50, 102, 75, 55, 94, 53, 183, 155, 240, 71, 133, 109, 40, 128, 96, 16, 253, 255, 124, 6, 82, 134 };
11
+
12
+    static const unsigned char * const compressedSources = reinterpret_cast<const unsigned char *>(data);
13
+
14
+    uint32_t GetCompressedSize() {
15
+        return 25767;
16
+    }
17
+
18
+    uint32_t GetRawScriptsSize() {
19
+        return 184824;
20
+    }
21
+} // selfhosted
22
+} // js
(-)b/databases/mongodb60/files/patch-SConstruct (-4 / +10 lines)
Lines 1-6 Link Here
1
--- SConstruct.orig	2021-07-15 20:56:31 UTC
1
--- SConstruct.orig	2022-08-05 16:21:29 UTC
2
+++ SConstruct
2
+++ SConstruct
3
@@ -1328,9 +1328,9 @@ if has_option('variables-help'):
3
@@ -1342,9 +1342,9 @@ if has_option('variables-help'):
4
     print(env_vars.GenerateHelpText(env))
4
     print(env_vars.GenerateHelpText(env))
5
     Exit(0)
5
     Exit(0)
6
 
6
 
Lines 13-19 Link Here
13
 
13
 
14
 if get_option('install-action') != 'default' and get_option('ninja') != "disabled":
14
 if get_option('install-action') != 'default' and get_option('ninja') != "disabled":
15
     env.FatalError("Cannot use non-default install actions when generating Ninja.")
15
     env.FatalError("Cannot use non-default install actions when generating Ninja.")
16
@@ -2507,7 +2507,7 @@ if env.TargetOSIs('posix'):
16
@@ -2427,13 +2427,12 @@ if env.TargetOSIs('posix'):
17
             # If runtime hardening is requested, then build anything
17
             # If runtime hardening is requested, then build anything
18
             # destined for an executable with the necessary flags for PIE.
18
             # destined for an executable with the necessary flags for PIE.
19
             env.AppendUnique(
19
             env.AppendUnique(
Lines 22-28 Link Here
22
                 PROGLINKFLAGS=['-pie'],
22
                 PROGLINKFLAGS=['-pie'],
23
             )
23
             )
24
 
24
 
25
@@ -2684,8 +2684,12 @@ if not env.TargetOSIs('windows', 'macOS') and (env.Too
25
     # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
26
     env.Append( CCFLAGS=["-fasynchronous-unwind-tables",
27
-                         "-ggdb" if not env.TargetOSIs('emscripten') else "-g",
28
                          "-Wall",
29
                          "-Wsign-compare",
30
                          "-Wno-unknown-pragmas",
31
@@ -2600,8 +2599,12 @@ if not env.TargetOSIs('windows', 'macOS') and (env.Too
26
     # setting it for both C and C++ by setting both of CFLAGS and
32
     # setting it for both C and C++ by setting both of CFLAGS and
27
     # CXXFLAGS.
33
     # CXXFLAGS.
28
 
34
 
(-)b/databases/mongodb60/files/patch-boost179-link-fix (+21 lines)
Added Link Here
1
--- SConstruct
2
+++ SConstruct
3
@@ -3511,17 +3511,11 @@ def doConfigure(myenv):
4
             "BOOST_LOG_NO_SHORTHAND_NAMES",
5
             "BOOST_LOG_USE_NATIVE_SYSLOG",
6
             "BOOST_LOG_WITHOUT_THREAD_ATTR",
7
+            "BOOST_LOG_DYN_LINK",
8
             "ABSL_FORCE_ALIGNED_ACCESS",
9
         ]
10
     )
11
 
12
-    if link_model.startswith("dynamic") and not link_model == 'dynamic-sdk':
13
-        conf.env.AppendUnique(
14
-            CPPDEFINES=[
15
-                "BOOST_LOG_DYN_LINK",
16
-            ]
17
-    )
18
-
19
     if use_system_version_of_library("boost"):
20
         if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ):
21
             myenv.ConfError("can't find boost headers")
(-)b/databases/mongodb60/files/patch-boost179-system-compat-fix (+108 lines)
Added Link Here
1
diff --git a/src/mongo/db/auth/security_key_test.cpp b/src/mongo/db/auth/security_key_test.cpp
2
index 96f95829..e64aded8 100644
3
--- src/mongo/db/auth/security_key_test.cpp
4
+++ src/mongo/db/auth/security_key_test.cpp
5
@@ -30,6 +30,7 @@
6
 #include "mongo/platform/basic.h"
7
 
8
 #include <boost/filesystem.hpp>
9
+#include <boost/filesystem/fstream.hpp>
10
 
11
 #include "mongo/base/string_data.h"
12
 #include "mongo/db/auth/authorization_manager.h"
13
diff --git a/src/mongo/db/repl/tenant_migration_shard_merge_util.cpp b/src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
14
index 05779a48..011c49e7 100644
15
--- src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
16
+++ src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
17
@@ -32,6 +32,7 @@
18
 #include "mongo/db/repl/tenant_migration_shard_merge_util.h"
19
 
20
 #include <boost/filesystem.hpp>
21
+#include <boost/filesystem/fstream.hpp>
22
 #include <boost/filesystem/operations.hpp>
23
 #include <boost/filesystem/path.hpp>
24
 #include <fmt/format.h>
25
diff --git a/src/mongo/db/storage/storage_repair_observer.cpp b/src/mongo/db/storage/storage_repair_observer.cpp
26
index 22b76a6a..ec5bcece 100644
27
--- src/mongo/db/storage/storage_repair_observer.cpp
28
+++ src/mongo/db/storage/storage_repair_observer.cpp
29
@@ -41,6 +41,7 @@
30
 #include <sys/types.h>
31
 #endif
32
 
33
+#include <boost/filesystem/fstream.hpp>
34
 #include <boost/filesystem/path.hpp>
35
 
36
 #include "mongo/db/dbhelpers.h"
37
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
38
index 2c5a6ed5..6c98c384 100644
39
--- src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
40
+++ src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
41
@@ -48,6 +48,7 @@
42
 #include "mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h"
43
 
44
 #include <boost/filesystem.hpp>
45
+#include <boost/filesystem/fstream.hpp>
46
 #include <boost/filesystem/operations.hpp>
47
 #include <boost/filesystem/path.hpp>
48
 #include <boost/system/error_code.hpp>
49
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
50
index 9917d95e..c4073444 100644
51
--- src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
52
+++ src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
53
@@ -34,6 +34,7 @@
54
 #include "mongo/db/storage/kv/kv_engine_test_harness.h"
55
 
56
 #include <boost/filesystem.hpp>
57
+#include <boost/filesystem/fstream.hpp>
58
 #include <boost/filesystem/path.hpp>
59
 #include <memory>
60
 
61
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
62
index de31ec10..c29fbd33 100644
63
--- src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
64
+++ src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
65
@@ -36,6 +36,7 @@
66
 #include <limits>
67
 
68
 #include <boost/filesystem.hpp>
69
+#include <boost/filesystem/fstream.hpp>
70
 #include <boost/filesystem/path.hpp>
71
 
72
 #include "mongo/base/simple_string_data_comparator.h"
73
diff --git a/src/mongo/shell/shell_utils_extended.cpp b/src/mongo/shell/shell_utils_extended.cpp
74
index 6cd6dc6e..318d6a8d 100644
75
--- src/mongo/shell/shell_utils_extended.cpp
76
+++ src/mongo/shell/shell_utils_extended.cpp
77
@@ -37,6 +37,7 @@
78
 #endif
79
 
80
 #include <boost/filesystem.hpp>
81
+#include <boost/filesystem/fstream.hpp>
82
 #include <fmt/format.h>
83
 #include <fstream>
84
 
85
diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
86
index 37e3d2ea..9027110d 100644
87
--- src/mongo/util/processinfo_linux.cpp
88
+++ src/mongo/util/processinfo_linux.cpp
89
@@ -36,6 +36,7 @@
90
 #include <iostream>
91
 #include <malloc.h>
92
 #include <pcrecpp.h>
93
+#include <fstream>
94
 #include <sched.h>
95
 #include <stdio.h>
96
 #include <sys/mman.h>
97
diff --git a/src/mongo/util/stacktrace_threads.cpp b/src/mongo/util/stacktrace_threads.cpp
98
index d7157d0e..3aca6357 100644
99
--- src/mongo/util/stacktrace_threads.cpp
100
+++ src/mongo/util/stacktrace_threads.cpp
101
@@ -36,6 +36,7 @@
102
 #include <array>
103
 #include <atomic>
104
 #include <boost/filesystem.hpp>
105
+#include <boost/filesystem/fstream.hpp>
106
 #include <cstdint>
107
 #include <cstdlib>
108
 #include <dirent.h>
(-)b/databases/mongodb60/files/patch-src_mongo_db_fts_stemmer.h (+11 lines)
Added Link Here
1
--- src/mongo/db/fts/stemmer.h.orig	2022-09-26 08:31:59 UTC
2
+++ src/mongo/db/fts/stemmer.h
3
@@ -32,7 +32,7 @@
4
 
5
 #include "mongo/base/string_data.h"
6
 #include "mongo/db/fts/fts_language.h"
7
-#include "third_party/libstemmer_c/include/libstemmer.h"
8
+#include "libstemmer.h"
9
 
10
 namespace mongo {
11
 

Return to bug 266587