mirror of
https://github.com/servo/servo.git
synced 2025-07-31 03:00:29 +01:00
Auto merge of #15564 - servo:no-gods-no-masters-no-assertions, r=Ms2ger
Disable LLVM assertions by default, on supported platforms <!-- Please describe your changes on the following line: --> https://github.com/servo/servo/pull/15559#issuecomment-280003926 > With an empty incremental compilation cache (or, presumably, with incremental compilation disabled), LLVM assertions add 16% to the compilation time in debug mode, 53% (!) in release mode. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #15548 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15564) <!-- Reviewable:end -->
This commit is contained in:
commit
1afae52c47
4 changed files with 26 additions and 17 deletions
|
@ -14,9 +14,9 @@ mac-rel-wpt2:
|
||||||
- ./mach filter-intermittents wpt-errorsummary.log --log-intermittents intermittents.log --log-filteredsummary filtered-wpt-errorsummary.log --use-tracker
|
- ./mach filter-intermittents wpt-errorsummary.log --log-intermittents intermittents.log --log-filteredsummary filtered-wpt-errorsummary.log --use-tracker
|
||||||
|
|
||||||
mac-dev-unit:
|
mac-dev-unit:
|
||||||
- ./mach build --dev
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --dev
|
||||||
- ./mach test-unit
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach test-unit
|
||||||
- ./mach build-cef
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build-cef
|
||||||
- ./mach build-geckolib
|
- ./mach build-geckolib
|
||||||
- bash ./etc/ci/lockfile_changed.sh
|
- bash ./etc/ci/lockfile_changed.sh
|
||||||
- bash ./etc/ci/manifest_changed.sh
|
- bash ./etc/ci/manifest_changed.sh
|
||||||
|
@ -46,10 +46,10 @@ mac-rel-intermittent:
|
||||||
linux-dev:
|
linux-dev:
|
||||||
- ./mach test-tidy --no-progress --all
|
- ./mach test-tidy --no-progress --all
|
||||||
- ./mach test-tidy --no-progress --self-test
|
- ./mach test-tidy --no-progress --self-test
|
||||||
- ./mach build --dev
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --dev
|
||||||
- ./mach test-compiletest
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach test-compiletest
|
||||||
- ./mach test-unit
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach test-unit
|
||||||
- ./mach build-cef
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build-cef
|
||||||
- ./mach build-geckolib
|
- ./mach build-geckolib
|
||||||
- ./mach test-stylo
|
- ./mach test-stylo
|
||||||
- bash ./etc/ci/lockfile_changed.sh
|
- bash ./etc/ci/lockfile_changed.sh
|
||||||
|
@ -79,24 +79,24 @@ linux-nightly:
|
||||||
- ./etc/ci/upload_nightly.sh linux
|
- ./etc/ci/upload_nightly.sh linux
|
||||||
|
|
||||||
android:
|
android:
|
||||||
- ./mach build --android --dev
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --android --dev
|
||||||
- ./mach package --android --dev
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach package --android --dev
|
||||||
- bash ./etc/ci/lockfile_changed.sh
|
- bash ./etc/ci/lockfile_changed.sh
|
||||||
- bash ./etc/ci/manifest_changed.sh
|
- bash ./etc/ci/manifest_changed.sh
|
||||||
- python ./etc/ci/check_dynamic_symbols.py
|
- python ./etc/ci/check_dynamic_symbols.py
|
||||||
|
|
||||||
android-nightly:
|
android-nightly:
|
||||||
- ./mach build --android --release
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --android --release
|
||||||
- ./mach package --android --release
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach package --android --release
|
||||||
- ./etc/ci/upload_nightly.sh android
|
- ./etc/ci/upload_nightly.sh android
|
||||||
|
|
||||||
arm32:
|
arm32:
|
||||||
- ./mach build --rel --target=arm-unknown-linux-gnueabihf
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --rel --target=arm-unknown-linux-gnueabihf
|
||||||
- bash ./etc/ci/lockfile_changed.sh
|
- bash ./etc/ci/lockfile_changed.sh
|
||||||
- bash ./etc/ci/manifest_changed.sh
|
- bash ./etc/ci/manifest_changed.sh
|
||||||
|
|
||||||
arm64:
|
arm64:
|
||||||
- ./mach build --rel --target=aarch64-unknown-linux-gnu
|
- env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --rel --target=aarch64-unknown-linux-gnu
|
||||||
- bash ./etc/ci/lockfile_changed.sh
|
- bash ./etc/ci/lockfile_changed.sh
|
||||||
- bash ./etc/ci/manifest_changed.sh
|
- bash ./etc/ci/manifest_changed.sh
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ from mach.registrar import Registrar
|
||||||
import toml
|
import toml
|
||||||
|
|
||||||
from servo.packages import WINDOWS_MSVC as msvc_deps
|
from servo.packages import WINDOWS_MSVC as msvc_deps
|
||||||
from servo.util import host_triple
|
from servo.util import host_triple, host_platform
|
||||||
|
|
||||||
BIN_SUFFIX = ".exe" if sys.platform == "win32" else ""
|
BIN_SUFFIX = ".exe" if sys.platform == "win32" else ""
|
||||||
|
|
||||||
|
@ -263,10 +263,15 @@ class CommandBase(object):
|
||||||
context.sharedir, "cargo", self.cargo_build_id())
|
context.sharedir, "cargo", self.cargo_build_id())
|
||||||
self.config["tools"].setdefault("rustc-with-gold", get_env_bool("SERVO_RUSTC_WITH_GOLD", True))
|
self.config["tools"].setdefault("rustc-with-gold", get_env_bool("SERVO_RUSTC_WITH_GOLD", True))
|
||||||
|
|
||||||
|
# https://github.com/rust-lang/rust/pull/39754
|
||||||
|
platforms_with_rustc_alt_builds = ["unknown-linux-gnu", "apple-darwin", "pc-windows-msvc"]
|
||||||
|
llvm_assertions_default = ("SERVO_RUSTC_LLVM_ASSERTIONS" in os.environ
|
||||||
|
or host_platform() not in platforms_with_rustc_alt_builds)
|
||||||
|
|
||||||
self.config.setdefault("build", {})
|
self.config.setdefault("build", {})
|
||||||
self.config["build"].setdefault("android", False)
|
self.config["build"].setdefault("android", False)
|
||||||
self.config["build"].setdefault("mode", "")
|
self.config["build"].setdefault("mode", "")
|
||||||
self.config["build"].setdefault("llvm-assertions", True)
|
self.config["build"].setdefault("llvm-assertions", llvm_assertions_default)
|
||||||
self.config["build"].setdefault("debug-mozjs", False)
|
self.config["build"].setdefault("debug-mozjs", False)
|
||||||
self.config["build"].setdefault("ccache", "")
|
self.config["build"].setdefault("ccache", "")
|
||||||
self.config["build"].setdefault("rustflags", "")
|
self.config["build"].setdefault("rustflags", "")
|
||||||
|
|
|
@ -20,7 +20,7 @@ import zipfile
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
||||||
|
|
||||||
def host_triple():
|
def host_platform():
|
||||||
os_type = platform.system().lower()
|
os_type = platform.system().lower()
|
||||||
if os_type == "linux":
|
if os_type == "linux":
|
||||||
os_type = "unknown-linux-gnu"
|
os_type = "unknown-linux-gnu"
|
||||||
|
@ -42,7 +42,11 @@ def host_triple():
|
||||||
os_type = "unknown-freebsd"
|
os_type = "unknown-freebsd"
|
||||||
else:
|
else:
|
||||||
os_type = "unknown"
|
os_type = "unknown"
|
||||||
|
return os_type
|
||||||
|
|
||||||
|
|
||||||
|
def host_triple():
|
||||||
|
os_type = host_platform()
|
||||||
cpu_type = platform.machine().lower()
|
cpu_type = platform.machine().lower()
|
||||||
if os_type.endswith("-msvc"):
|
if os_type.endswith("-msvc"):
|
||||||
# vcvars*.bat should set it properly
|
# vcvars*.bat should set it properly
|
||||||
|
|
|
@ -40,7 +40,7 @@ rustc-with-gold = true
|
||||||
#mode = "dev"
|
#mode = "dev"
|
||||||
|
|
||||||
# Whether to enable LLVM assertions in rustc.
|
# Whether to enable LLVM assertions in rustc.
|
||||||
#llvm-assertions = true
|
#llvm-assertions = false
|
||||||
|
|
||||||
# Set "android = true" or use `mach build --android` to build the Android app.
|
# Set "android = true" or use `mach build --android` to build the Android app.
|
||||||
android = false
|
android = false
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue