From e7d2499ff285dbc71b5d4f37b9b0890b8f6dc37f Mon Sep 17 00:00:00 2001 From: Andreas Gal Date: Wed, 24 Sep 2008 17:44:25 -0700 Subject: [PATCH] Compile jsregexp.cpp with -O9 and -fomit-frame-pointer (456201, r=shaver). --- js/src/Makefile.in | 12 +++++++++++- js/src/Makefile.ref | 1 + js/src/config.mk | 4 +++- js/src/rules.mk | 8 ++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/js/src/Makefile.in b/js/src/Makefile.in index a2fecf259d55..f4aaa05935d9 100644 --- a/js/src/Makefile.in +++ b/js/src/Makefile.in @@ -60,6 +60,8 @@ else MODULE_OPTIMIZE_FLAGS = -Os -fstrict-aliasing $(MOZ_OPTIMIZE_SIZE_TWEAK) # Special optimization flags for jsinterp.c INTERP_OPTIMIZER = -O3 -fstrict-aliasing +BUILTINS_OPTIMIZER = -O9 -fstrict-aliasing +REGEXP_OPTIMIZER = -O9 -fstrict-aliasing -fomit-frame-pointer endif else ifeq ($(OS_ARCH),SunOS) @@ -449,11 +451,19 @@ endif endif endif -# Allow building jsinterp.c with special optimization flags +# Allow building jsinterp.c and a few others with special optimization flags ifdef INTERP_OPTIMIZER jsinterp.$(OBJ_SUFFIX): MODULE_OPTIMIZE_FLAGS=$(INTERP_OPTIMIZER) endif +ifdef BUILTINS_OPTIMIZER +jsbuiltins.$(OBJ_SUFFIX): MODULE_OPTIMIZE_FLAGS=$(BUILTINS_OPTIMIZER) +endif + +ifdef REGEXP_OPTIMIZER +jsregexp.$(OBJ_SUFFIX): MODULE_OPTIMIZE_FLAGS=$(REGEXP_OPTIMIZER) +endif + ifeq ($(OS_ARCH),IRIX) ifndef GNU_CC _COMPILE_CFLAGS = $(patsubst -O%,-O1,$(COMPILE_CFLAGS)) diff --git a/js/src/Makefile.ref b/js/src/Makefile.ref index 48d3b0e7bcad..9fa44e3ae473 100644 --- a/js/src/Makefile.ref +++ b/js/src/Makefile.ref @@ -106,6 +106,7 @@ endif #CFLAGS += -DDEBUG -DDEBUG_brendan -DJS_ARENAMETER -DJS_HASHMETER -DJS_DUMP_PROPTREE_STATS -DJS_DUMP_SCOPE_METERS -DJS_SCOPE_DEPTH_METER -DJS_BASIC_STATS CFLAGS += $(OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) $(XCFLAGS) INTERP_CFLAGS += $(INTERP_OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) $(XCFLAGS) $(INTERP_XCFLAGS) +REGEXP_CFLAGS += $(REGEXP_OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) $(XCFLAGS) $(REGEXP_XCFLAGS) BUILTINS_CFLAGS += $(BUILTINS_OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) $(XCFLAGS) $(BUILTINS_XCFLAGS) LDFLAGS = $(XLDFLAGS) diff --git a/js/src/config.mk b/js/src/config.mk index 0f082a3d6f01..2e8be6636611 100644 --- a/js/src/config.mk +++ b/js/src/config.mk @@ -124,12 +124,14 @@ ifdef BUILD_OPT ifdef USE_MSVC OPTIMIZER = -O2 -GL INTERP_OPTIMIZER = -O2 -GL +REGEXP_OPTIMIZER = -O2 -GL BUILTINS_OPTIMIZER = -O2 -GL LDFLAGS += -LTCG else OPTIMIZER = -Os -fno-exceptions -fno-rtti -fstrict-aliasing -Wall -Wstrict-aliasing=2 -BUILTINS_OPTIMIZER = -O9 -fstrict-aliasing -fno-exceptions -fno-rtti INTERP_OPTIMIZER = -O3 -fstrict-aliasing -fno-exceptions -fno-rtti +REGEXP_OPTIMIZER = -O9 -fomit-frame-pointer -fstrict-aliasing -fno-exceptions -fno-rtti +BUILTINS_OPTIMIZER = -O9 -fstrict-aliasing -fno-exceptions -fno-rtti endif DEFINES += -UDEBUG -DNDEBUG -UDEBUG_$(USER) OBJDIR_TAG = _OPT diff --git a/js/src/rules.mk b/js/src/rules.mk index ad4fbf7196d1..5a69de580eea 100644 --- a/js/src/rules.mk +++ b/js/src/rules.mk @@ -81,6 +81,10 @@ $(OBJDIR)/jsinterp.o: jsinterp.cpp jsinterp.h @$(MAKE_OBJDIR) $(CXX) -o $@ -c $(INTERP_CFLAGS) jsinterp.cpp +$(OBJDIR)/jsregexp.o: jsregexp.cpp jsregexp.h + @$(MAKE_OBJDIR) + $(CXX) -o $@ -c $(REGEXP_CFLAGS) jsregexp.cpp + $(OBJDIR)/jsbuiltins.o: jsbuiltins.cpp jsinterp.h @$(MAKE_OBJDIR) $(CXX) -o $@ -c $(BUILTINS_CFLAGS) jsbuiltins.cpp @@ -102,6 +106,10 @@ $(OBJDIR)/jsinterp.obj: jsinterp.cpp jsinterp.h @$(MAKE_OBJDIR) $(CXX) -Fo$(OBJDIR)/ -c $(INTERP_CFLAGS) $(JSDLL_CFLAGS) jsinterp.cpp +$(OBJDIR)/jsregexp.obj: jsregexp.cpp jsregexp.h + @$(MAKE_OBJDIR) + $(CXX) -Fo$(OBJDIR)/ -c $(REGEXP_CFLAGS) $(JSDLL_CFLAGS) jsregexp.cpp + $(OBJDIR)/jsbuiltins.obj: jsbuiltins.cpp jsinterp.h @$(MAKE_OBJDIR) $(CXX) -Fo$(OBJDIR)/ -c $(BUILTINS_CFLAGS) $(JSDLL_CFLAGS) jsbuiltins.c