From 0d4168034f4b4dd1d7532a165bf09605a6ff1d92 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Tue, 12 Sep 2017 10:10:55 +0200 Subject: [PATCH 1/4] =?UTF-8?q?Un-inline=20some=20methods=20initializing?= =?UTF-8?q?=20thread=5Flocal!=20=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … in order to limit stack frame sizes after extra inlining from https://github.com/rust-lang/rust/pull/43931 See https://github.com/servo/servo/pull/18420#issuecomment-328769322 --- components/style/bloom.rs | 6 ++++++ components/style/sharing/mod.rs | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/components/style/bloom.rs b/components/style/bloom.rs index 5c7f753a6c8..93f3903404f 100644 --- a/components/style/bloom.rs +++ b/components/style/bloom.rs @@ -121,6 +121,12 @@ impl StyleBloom { /// Create an empty `StyleBloom`. Because StyleBloom acquires the thread- /// local filter buffer, creating multiple live StyleBloom instances at /// the same time on the same thread will panic. + + // Forced out of line to limit stack frame sizes after extra inlining from + // https://github.com/rust-lang/rust/pull/43931 + // + // See https://github.com/servo/servo/pull/18420#issuecomment-328769322 + #[inline(never)] pub fn new() -> Self { let bloom_arc = BLOOM_KEY.with(|b| b.clone()); let filter = OwningHandle::new_with_fn(bloom_arc, |x| unsafe { x.as_ref() }.unwrap().borrow_mut()); diff --git a/components/style/sharing/mod.rs b/components/style/sharing/mod.rs index bf81915ce47..432024128fd 100644 --- a/components/style/sharing/mod.rs +++ b/components/style/sharing/mod.rs @@ -465,6 +465,12 @@ impl StyleSharingCandidateCache { } /// Create a new style sharing candidate cache. + + // Forced out of line to limit stack frame sizes after extra inlining from + // https://github.com/rust-lang/rust/pull/43931 + // + // See https://github.com/servo/servo/pull/18420#issuecomment-328769322 + #[inline(never)] pub fn new() -> Self { assert_eq!(mem::size_of::>(), mem::size_of::()); assert_eq!(mem::align_of::>(), mem::align_of::()); From 6c6ce53c3d3d36da02da1ce094a7bab0ea80a3f6 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Tue, 12 Sep 2017 10:08:09 +0200 Subject: [PATCH 2/4] Upgrade to rustc 1.22.0-nightly (d93036a04 2017-09-07) --- rust-toolchain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-toolchain b/rust-toolchain index 009c84eceb4..6a96eebe488 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2017-08-31 +nightly-2017-09-08 From f59bcc006451d7a71d8432ebebf6044001512d0e Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Fri, 8 Sep 2017 12:00:30 +0200 Subject: [PATCH 3/4] Get rustc commit hash from channel manifest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … added in https://github.com/rust-lang/rust/pull/44218, instead of using the GitHub API. --- python/servo/bootstrap_commands.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/python/servo/bootstrap_commands.py b/python/servo/bootstrap_commands.py index dfb88b74272..edaad4f6dbb 100644 --- a/python/servo/bootstrap_commands.py +++ b/python/servo/bootstrap_commands.py @@ -90,12 +90,8 @@ class MachCommands(CommandBase): base_url = static_s3 else: import toml - import re channel = "%s/%s/channel-rust-nightly.toml" % (static_s3, self.rust_nightly_date()) - version_string = toml.load(urllib2.urlopen(channel))["pkg"]["rustc"]["version"] - short_commit = re.search("\(([0-9a-f]+) ", version_string).group(1) - commit_api = "https://api.github.com/repos/rust-lang/rust/commits/" + short_commit - nightly_commit_hash = json.load(urllib2.urlopen(commit_api))["sha"] + nightly_commit_hash = toml.load(urllib2.urlopen(channel))["pkg"]["rustc"]["git_commit_hash"] base_url = "https://s3.amazonaws.com/rust-lang-ci/rustc-builds" if not self.config["build"]["llvm-assertions"]: From 052a8b500af3afb0259bae2b04557facdf062a2e Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Tue, 12 Sep 2017 11:07:26 +0200 Subject: [PATCH 4/4] =?UTF-8?q?'./mach=20rustup':=20Use=20alternate=20S3?= =?UTF-8?q?=20URL=20that=20doesn=E2=80=99t=20require=20SNI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … to hopefully fix https://travis-ci.org/servo/servo-with-rust-nightly/ builds. --- python/servo/devenv_commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/servo/devenv_commands.py b/python/servo/devenv_commands.py index cbecb471c0d..804e7e1c425 100644 --- a/python/servo/devenv_commands.py +++ b/python/servo/devenv_commands.py @@ -262,7 +262,7 @@ class MachCommands(CommandBase): description='Update the Rust version to latest Nightly', category='devenv') def rustup(self): - url = "https://static.rust-lang.org/dist/channel-rust-nightly-date.txt" + url = "https://static-rust-lang-org.s3.amazonaws.com/dist/channel-rust-nightly-date.txt" nightly_date = urllib2.urlopen(url).read() filename = path.join(self.context.topdir, "rust-toolchain") with open(filename, "w") as f: