<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/thread, branch 1.37.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.37.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.37.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2019-06-20T02:36:49+00:00</updated>
<entry>
<title>Auto merge of #60341 - mtak-:macos-tlv-workaround, r=alexcrichton</title>
<updated>2019-06-20T02:36:49+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2019-06-20T02:36:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3c805ce183840bd20bd81a54a02b3c8b6dccc9dd'/>
<id>urn:sha1:3c805ce183840bd20bd81a54a02b3c8b6dccc9dd</id>
<content type='text'>
macos tlv workaround

fixes: #60141

Includes:
* remove dead code: `requires_move_before_drop`. This hasn't been needed for a while now (oops I should have removed it in #57655)
* redox had a copy of `fast::Key` (not sure why?). That has been removed.
* Perform a `read_volatile` on OSX to reduce `tlv_get_addr` calls per `__getit` from (4-2 depending on context) to 1.

`tlv_get_addr` is relatively expensive (~1.5ns on my machine).

Previously, in contexts where `__getit` was inlined, 4 calls to `tlv_get_addr` were performed per lookup. For some reason when `__getit` is not inlined this is reduced to 2x - and performance improves to match.

After this PR, I have only ever seen 1x call to `tlv_get_addr` per `__getit`, and macos now benefits from situations where `__getit` is inlined.

I'm not sure if the `read_volatile(&amp;&amp;__KEY)` trick is working around an LLVM bug, or a rustc bug, or neither.

r? @alexcrichton
</content>
</entry>
<entry>
<title>fix wasm unused import in thread local implementation</title>
<updated>2019-05-15T21:35:24+00:00</updated>
<author>
<name>tyler</name>
<email>tyler@brainiumstudios.com</email>
</author>
<published>2019-05-15T21:35:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2c3796172ba2d41f15294e116cd8d993f026b7c2'/>
<id>urn:sha1:2c3796172ba2d41f15294e116cd8d993f026b7c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>llvm makes good inlining choices with only the #[cold] attribute</title>
<updated>2019-05-15T14:30:34+00:00</updated>
<author>
<name>tyler</name>
<email>tyler@brainiumstudios.com</email>
</author>
<published>2019-05-15T14:18:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9289d03c9d263ac32a9dd0a5c581779fe1def7d3'/>
<id>urn:sha1:9289d03c9d263ac32a9dd0a5c581779fe1def7d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove trailing whitespace</title>
<updated>2019-05-15T14:30:34+00:00</updated>
<author>
<name>tyler</name>
<email>tyler@brainiumstudios.com</email>
</author>
<published>2019-05-11T17:42:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2b3642b95b04b4078405f4bc20ba537ce5512c00'/>
<id>urn:sha1:2b3642b95b04b4078405f4bc20ba537ce5512c00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cold was necessary on try_initialize_nodrop to get more straight line asm</title>
<updated>2019-05-15T14:30:34+00:00</updated>
<author>
<name>tyler</name>
<email>tyler@brainiumstudios.com</email>
</author>
<published>2019-05-11T17:14:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c3241d0ba03ff1e90ffdb4cd434660f81194b438'/>
<id>urn:sha1:c3241d0ba03ff1e90ffdb4cd434660f81194b438</id>
<content type='text'>
</content>
</entry>
<entry>
<title>- remove unnecessary inlines</title>
<updated>2019-05-15T14:30:34+00:00</updated>
<author>
<name>tyler</name>
<email>tyler@brainiumstudios.com</email>
</author>
<published>2019-05-11T00:29:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1a7f774914d8d3c2a16e40332ad43270c461ec71'/>
<id>urn:sha1:1a7f774914d8d3c2a16e40332ad43270c461ec71</id>
<content type='text'>
- add comment explaining that the fast::Key data structure was carefully constructed for fast access on OSX
- remove inline(never) from the initializer for types where `needs_drop::&lt;T&gt;()` is false
</content>
</entry>
<entry>
<title>add #[allow(unused)]</title>
<updated>2019-05-15T14:30:34+00:00</updated>
<author>
<name>tyler</name>
<email>tyler@brainiumstudios.com</email>
</author>
<published>2019-05-04T00:01:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=060d8bb6b014f9e9c8b697c5ecd6d86159f122b9'/>
<id>urn:sha1:060d8bb6b014f9e9c8b697c5ecd6d86159f122b9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>restructure thread_local! for better codegen (especially on macos)</title>
<updated>2019-05-15T14:30:33+00:00</updated>
<author>
<name>tyler</name>
<email>tyler@brainiumstudios.com</email>
</author>
<published>2019-05-03T05:40:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dfe51a7249e04431526cf3b4779316aabef53cca'/>
<id>urn:sha1:dfe51a7249e04431526cf3b4779316aabef53cca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revert "ensure fast thread local lookups occur once per access on macos"</title>
<updated>2019-05-15T14:30:33+00:00</updated>
<author>
<name>tyler</name>
<email>tyler@brainiumstudios.com</email>
</author>
<published>2019-05-01T01:24:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7acfb99adc013d4b77c611cfc51bade551205f5a'/>
<id>urn:sha1:7acfb99adc013d4b77c611cfc51bade551205f5a</id>
<content type='text'>
This reverts commit d252f3b77f3b7d4cd59620588f9d026633c05816.
</content>
</entry>
<entry>
<title>ensure fast thread local lookups occur once per access on macos</title>
<updated>2019-05-15T14:30:33+00:00</updated>
<author>
<name>tyler</name>
<email>tyler@brainiumstudios.com</email>
</author>
<published>2019-04-27T15:01:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=430a091cd80c0e4b6bf44f6a19463a832e566f97'/>
<id>urn:sha1:430a091cd80c0e4b6bf44f6a19463a832e566f97</id>
<content type='text'>
</content>
</entry>
</feed>
