diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in index 3d948fb9b09..72df00d7df4 100644 --- a/config/autoconf.mk.in +++ b/config/autoconf.mk.in @@ -308,6 +308,7 @@ WARNINGS_AS_ERRORS = @WARNINGS_AS_ERRORS@ MOZ_OPTIMIZE = @MOZ_OPTIMIZE@ MOZ_OPTIMIZE_FLAGS = @MOZ_OPTIMIZE_FLAGS@ MOZ_OPTIMIZE_LDFLAGS = @MOZ_OPTIMIZE_LDFLAGS@ +MOZ_OPTIMIZE_SIZE_TWEAK = @MOZ_OPTIMIZE_SIZE_TWEAK@ MOZ_RTTI_FLAGS_ON = @_MOZ_RTTI_FLAGS_ON@ MOZ_EXCEPTIONS_FLAGS_ON = @_MOZ_EXCEPTIONS_FLAGS_ON@ diff --git a/configure.in b/configure.in index 317cb1f7320..6151b59af3c 100644 --- a/configure.in +++ b/configure.in @@ -2206,9 +2206,9 @@ ia64*-hpux*) esac # If we're building with --enable-profiling, we need a frame pointer. if test -z "$MOZ_PROFILING"; then - MOZ_OPTIMIZE_FLAGS="-O3 -fomit-frame-pointer" + MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fomit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK" else - MOZ_OPTIMIZE_FLAGS="-O3 -fno-omit-frame-pointer" + MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-omit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK" fi MOZ_DEBUG_FLAGS="-g" fi @@ -7224,6 +7224,7 @@ fi # COMPILE_ENVIRONMENT AC_SUBST(MOZ_OPTIMIZE) AC_SUBST(MOZ_OPTIMIZE_FLAGS) AC_SUBST(MOZ_OPTIMIZE_LDFLAGS) +AC_SUBST(MOZ_OPTIMIZE_SIZE_TWEAK) dnl ======================================================== dnl = (Deprecated) generation of debugger info for specific modules diff --git a/js/src/config/autoconf.mk.in b/js/src/config/autoconf.mk.in index 8eb00acfb51..28c3ea06968 100644 --- a/js/src/config/autoconf.mk.in +++ b/js/src/config/autoconf.mk.in @@ -146,6 +146,7 @@ WARNINGS_AS_ERRORS = @WARNINGS_AS_ERRORS@ MOZ_OPTIMIZE = @MOZ_OPTIMIZE@ MOZ_OPTIMIZE_FLAGS = @MOZ_OPTIMIZE_FLAGS@ MOZ_OPTIMIZE_LDFLAGS = @MOZ_OPTIMIZE_LDFLAGS@ +MOZ_OPTIMIZE_SIZE_TWEAK = @MOZ_OPTIMIZE_SIZE_TWEAK@ MOZ_RTTI_FLAGS_ON = @_MOZ_RTTI_FLAGS_ON@ MOZ_EXCEPTIONS_FLAGS_ON = @_MOZ_EXCEPTIONS_FLAGS_ON@ diff --git a/js/src/configure.in b/js/src/configure.in index 00dd391c406..a71e2b93d78 100644 --- a/js/src/configure.in +++ b/js/src/configure.in @@ -1899,9 +1899,9 @@ ia64*-hpux*) esac # If we're building with --enable-profiling, we need a frame pointer. if test -z "$MOZ_PROFILING"; then - MOZ_OPTIMIZE_FLAGS="-O3 -fomit-frame-pointer" + MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-reorder-functions -fomit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK" else - MOZ_OPTIMIZE_FLAGS="-Os -fno-omit-frame-pointer" + MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-reorder-functions -fno-omit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK" fi MOZ_DEBUG_FLAGS="-g" fi @@ -4272,6 +4272,7 @@ fi # COMPILE_ENVIRONMENT AC_SUBST(MOZ_OPTIMIZE) AC_SUBST(MOZ_OPTIMIZE_FLAGS) AC_SUBST(MOZ_OPTIMIZE_LDFLAGS) +AC_SUBST(MOZ_OPTIMIZE_SIZE_TWEAK) dnl ======================================================== dnl = (Deprecated) generation of debugger info for specific modules diff --git a/layout/reftests/css-calc/border-radius-1-ref.html b/layout/reftests/css-calc/border-radius-1-ref.html index e5de63e6c6e..a8463c3f251 100644 --- a/layout/reftests/css-calc/border-radius-1-ref.html +++ b/layout/reftests/css-calc/border-radius-1-ref.html @@ -3,10 +3,10 @@ diff --git a/layout/reftests/css-calc/border-radius-1.html b/layout/reftests/css-calc/border-radius-1.html index 16af05680ac..6726cb50649 100644 --- a/layout/reftests/css-calc/border-radius-1.html +++ b/layout/reftests/css-calc/border-radius-1.html @@ -3,20 +3,10 @@ diff --git a/layout/style/test/test_transitions_per_property.html b/layout/style/test/test_transitions_per_property.html index 1846ba47f7a..dab7bc13f75 100644 --- a/layout/style/test/test_transitions_per_property.html +++ b/layout/style/test/test_transitions_per_property.html @@ -553,10 +553,8 @@ function test_radius_transition(prop) { // FIXME: Test a square for now, since we haven't updated to the spec // for vertical components being relative to the height. - // Note: We use powers of two here so the floating-point math comes out - // nicely. - div.style.setProperty("width", "256px", ""); - div.style.setProperty("height", "256px", ""); + div.style.setProperty("width", "200px", ""); + div.style.setProperty("height", "200px", ""); div.style.setProperty("border", "none", ""); div.style.setProperty("padding", "0", ""); @@ -570,14 +568,14 @@ function test_radius_transition(prop) { "radius-valued property " + prop + ": interpolation of radius"); check_distance(prop, "3px", "6px", "15px"); div.style.setProperty("-moz-transition-property", "none", ""); - div.style.setProperty(prop, "12.5%", ""); - is(cs.getPropertyValue(prop), "32px", + div.style.setProperty(prop, "5%", ""); + is(cs.getPropertyValue(prop), "10px", "radius-valued property " + prop + ": computed value before transition"); div.style.setProperty("-moz-transition-property", prop, ""); div.style.setProperty(prop, "25%", ""); - is(cs.getPropertyValue(prop), "40px", + is(cs.getPropertyValue(prop), "20px", "radius-valued property " + prop + ": interpolation of radius"); - check_distance(prop, "12.5%", "15.625%", "25%"); + check_distance(prop, "5%", "10%", "25%"); div.style.setProperty("-moz-transition-property", "none", ""); div.style.setProperty(prop, "3px 8px", ""); is(cs.getPropertyValue(prop), "3px 8px", @@ -588,21 +586,21 @@ function test_radius_transition(prop) { "radius-valued property " + prop + ": interpolation of radius"); check_distance(prop, "3px 8px", "6px 9px", "15px 12px"); div.style.setProperty("-moz-transition-property", "none", ""); - div.style.setProperty(prop, "12.5% 6.25%", ""); - is(cs.getPropertyValue(prop), "32px 16px", + div.style.setProperty(prop, "5% 15%", ""); + is(cs.getPropertyValue(prop), "10px 30px", "radius-valued property " + prop + ": computed value before transition"); div.style.setProperty("-moz-transition-property", prop, ""); div.style.setProperty(prop, "25%", ""); - is(cs.getPropertyValue(prop), "40px 28px", + is(cs.getPropertyValue(prop), "20px 35px", "radius-valued property " + prop + ": interpolation of radius"); check_distance(prop, "5% 15%", "10% 17.5%", "25%"); div.style.setProperty("-moz-transition-property", "none", ""); - div.style.setProperty(prop, "6.25% 12.5%", ""); - is(cs.getPropertyValue(prop), "16px 32px", + div.style.setProperty(prop, "8% 12%", ""); + is(cs.getPropertyValue(prop), "16px 24px", "radius-valued property " + prop + ": computed value before transition"); div.style.setProperty("-moz-transition-property", prop, ""); - div.style.setProperty(prop, "64px 16px", ""); - is(cs.getPropertyValue(prop), "28px", + div.style.setProperty(prop, "40px 20px", ""); + is(cs.getPropertyValue(prop), "22px 23px", "radius-valued property " + prop + ": interpolation of radius with mixed units"); check_distance(prop, "8% 12%", "-moz-calc(6% + 10px) -moz-calc(5px + 9%)", "40px 20px"); @@ -914,11 +912,9 @@ function test_transform_transition(prop) { expected_uncomputed: 'translateY(-30%)', expected: 'matrix(1, 0, 0, 1, 0px, -15px)' }, { start: 'none', end: 'rotate(90deg) translate(20%, 20%) rotate(-90deg)', - expected_uncomputed: 'rotate(22.5deg) translate(5%, 5%) rotate(-22.5deg)', - round_error_ok: true }, + expected_uncomputed: 'rotate(22.5deg) translate(5%, 5%) rotate(-22.5deg)' }, { start: 'none', end: 'rotate(-90deg) translate(20%, 20%) rotate(90deg)', - expected_uncomputed: 'rotate(-22.5deg) translate(5%, 5%) rotate(22.5deg)', - round_error_ok: true }, + expected_uncomputed: 'rotate(-22.5deg) translate(5%, 5%) rotate(22.5deg)' }, // test percent translation using matrix decomposition { start: 'rotate(45deg) rotate(-45deg)', end: 'rotate(90deg) translate(20%, 20%) rotate(-90deg)', diff --git a/xpcom/io/Makefile.in b/xpcom/io/Makefile.in index 2d2f9567ecf..37c7ed6de61 100644 --- a/xpcom/io/Makefile.in +++ b/xpcom/io/Makefile.in @@ -51,7 +51,7 @@ MOZILLA_INTERNAL_API = 1 # work around bug 408258 ifdef GNU_CC ifneq ($(OS_ARCH), Darwin) -MODULE_OPTIMIZE_FLAGS = -O3 -fno-strict-aliasing +MODULE_OPTIMIZE_FLAGS = -Os -fno-strict-aliasing $(MOZ_OPTIMIZE_SIZE_TWEAK) endif endif