Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit fe75574

Browse files
committed
Bug 854306 - Add option to disable YARR JIT (--disable-yarr-jit) r=dvander
1 parent d983147 commit fe75574

2 files changed

Lines changed: 20 additions & 5 deletions

File tree

js/src/Makefile.in

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -414,20 +414,20 @@ CPPSRCS += ExecutableAllocatorOS2.cpp \
414414
$(NONE)
415415
endif
416416

417-
ifneq (,$(filter arm% sparc %86 x86_64 mips%,$(TARGET_CPU)))
418-
ENABLE_YARR_JIT = 1
419-
DEFINES += -DENABLE_YARR_JIT=1
420-
417+
ifneq (,$(ENABLE_METHODJIT)$(ENABLE_ION)$(ENABLE_YARR_JIT))
421418
VPATH += $(srcdir)/assembler/assembler \
422419
$(srcdir)/methodjit \
423420
$(NONE)
424421

425422
CPPSRCS += ARMAssembler.cpp \
426423
MacroAssemblerARM.cpp \
427424
MacroAssemblerX86Common.cpp \
428-
YarrJIT.cpp \
429425
$(NONE)
430426

427+
ifdef ENABLE_YARR_JIT
428+
CPPSRCS += YarrJIT.cpp
429+
endif
430+
431431
ifeq (86, $(findstring 86,$(TARGET_CPU)))
432432
ifeq (x86_64, $(TARGET_CPU))
433433
#CPPSRCS += only_on_x86_64.cpp

js/src/configure.in

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2079,6 +2079,7 @@ i?86-*)
20792079
ENABLE_MONOIC=1
20802080
ENABLE_POLYIC=1
20812081
ENABLE_METHODJIT_TYPED_ARRAY=1
2082+
ENABLE_YARR_JIT=1
20822083
AC_DEFINE(JS_CPU_X86)
20832084
AC_DEFINE(JS_NUNBOX32)
20842085
;;
@@ -2088,6 +2089,7 @@ x86_64*-*)
20882089
ENABLE_MONOIC=1
20892090
ENABLE_POLYIC=1
20902091
ENABLE_METHODJIT_TYPED_ARRAY=1
2092+
ENABLE_YARR_JIT=1
20912093
AC_DEFINE(JS_CPU_X64)
20922094
AC_DEFINE(JS_PUNBOX64)
20932095
;;
@@ -2097,6 +2099,7 @@ arm*-*)
20972099
ENABLE_MONOIC=1
20982100
ENABLE_POLYIC=1
20992101
ENABLE_METHODJIT_TYPED_ARRAY=1
2102+
ENABLE_YARR_JIT=1
21002103
AC_DEFINE(JS_CPU_ARM)
21012104
AC_DEFINE(JS_NUNBOX32)
21022105
;;
@@ -2106,6 +2109,7 @@ sparc*-*)
21062109
ENABLE_MONOIC=1
21072110
ENABLE_POLYIC=1
21082111
ENABLE_METHODJIT_TYPED_ARRAY=1
2112+
ENABLE_YARR_JIT=1
21092113
dnl ENABLE_ION=0
21102114
AC_DEFINE(JS_CPU_SPARC)
21112115
AC_DEFINE(JS_NUNBOX32)
@@ -2116,6 +2120,7 @@ mips*-*)
21162120
ENABLE_MONOIC=1
21172121
ENABLE_POLYIC=1
21182122
ENABLE_METHODJIT_TYPED_ARRAY=1
2123+
ENABLE_YARR_JIT=1
21192124
AC_DEFINE(JS_CPU_MIPS)
21202125
AC_DEFINE(JS_NUNBOX32)
21212126
;;
@@ -2142,6 +2147,10 @@ MOZ_ARG_ENABLE_BOOL(methodjit-spew,
21422147
ENABLE_METHODJIT_SPEW=1,
21432148
ENABLE_METHODJIT_SPEW= )
21442149

2150+
MOZ_ARG_DISABLE_BOOL(yarr-jit,
2151+
[ --disable-yarr-jit Disable YARR JIT support],
2152+
ENABLE_YARR_JIT= )
2153+
21452154
AC_SUBST(ENABLE_METHODJIT)
21462155
AC_SUBST(ENABLE_METHODJIT_SPEW)
21472156

@@ -2169,6 +2178,12 @@ if test "$ENABLE_ION"; then
21692178
AC_DEFINE(JS_ION)
21702179
fi
21712180

2181+
AC_SUBST(ENABLE_YARR_JIT)
2182+
2183+
if test "$ENABLE_YARR_JIT"; then
2184+
AC_DEFINE(ENABLE_YARR_JIT)
2185+
fi
2186+
21722187
MOZ_COMPILER_OPTS
21732188
if test -z "$SKIP_COMPILER_CHECKS"; then
21742189
dnl Checks for typedefs, structures, and compiler characteristics.

0 commit comments

Comments
 (0)