<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/runtime, branch release_26</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/runtime?h=release_26</id>
<link rel='self' href='https://git.amat.us/llvm/atom/runtime?h=release_26'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2009-08-20T05:12:55Z</updated>
<entry>
<title>Don't try to build .bc version of libprofile if LLVMGCC isn't available.</title>
<updated>2009-08-20T05:12:55Z</updated>
<author>
<name>Daniel Dunbar</name>
<email>daniel@zuster.org</email>
</author>
<published>2009-08-20T05:12:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a4b62c45189b719fd905255e89baf48659ef87f1'/>
<id>urn:sha1:a4b62c45189b719fd905255e89baf48659ef87f1</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79514 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Remove cruft for installing runtime/ libraries directly into the LLVMGCCDIR;</title>
<updated>2009-08-20T05:02:41Z</updated>
<author>
<name>Daniel Dunbar</name>
<email>daniel@zuster.org</email>
</author>
<published>2009-08-20T05:02:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7dadba34d7c2890b6cb68d01a904154487a44c2f'/>
<id>urn:sha1:7dadba34d7c2890b6cb68d01a904154487a44c2f</id>
<content type='text'>
that is totally bogus.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79512 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Drop toy GC runtime.</title>
<updated>2009-03-02T03:46:48Z</updated>
<author>
<name>Gordon Henriksen</name>
<email>gordonhenriksen@mac.com</email>
</author>
<published>2009-03-02T03:46:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6da385e07fbb4c555c5db0022f8d7c2cad0e9f17'/>
<id>urn:sha1:6da385e07fbb4c555c5db0022f8d7c2cad0e9f17</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65801 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fixing the stack walker.</title>
<updated>2008-01-24T05:16:36Z</updated>
<author>
<name>Gordon Henriksen</name>
<email>gordonhenriksen@mac.com</email>
</author>
<published>2008-01-24T05:16:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=bcb265e2af6052895c400fe0d5729a23a82a5542'/>
<id>urn:sha1:bcb265e2af6052895c400fe0d5729a23a82a5542</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46302 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>With this patch, the LowerGC transformation becomes the</title>
<updated>2008-01-07T01:30:53Z</updated>
<author>
<name>Gordon Henriksen</name>
<email>gordonhenriksen@mac.com</email>
</author>
<published>2008-01-07T01:30:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8fa89291774a29ee30adb9d0fd01655c84eaac13'/>
<id>urn:sha1:8fa89291774a29ee30adb9d0fd01655c84eaac13</id>
<content type='text'>
ShadowStackCollector, which additionally has reduced overhead with
no sacrifice in portability.

Considering a function @fun with 8 loop-local roots,
ShadowStackCollector introduces the following overhead
(x86):

; shadowstack prologue
        movl    L_llvm_gc_root_chain$non_lazy_ptr, %eax
        movl    (%eax), %ecx
        movl    $___gc_fun, 20(%esp)
        movl    $0, 24(%esp)
        movl    $0, 28(%esp)
        movl    $0, 32(%esp)
        movl    $0, 36(%esp)
        movl    $0, 40(%esp)
        movl    $0, 44(%esp)
        movl    $0, 48(%esp)
        movl    $0, 52(%esp)
        movl    %ecx, 16(%esp)
        leal    16(%esp), %ecx
        movl    %ecx, (%eax)

; shadowstack loop overhead
        (none)

; shadowstack epilogue
        movl    48(%esp), %edx
        movl    %edx, (%ecx)

; shadowstack metadata
        .align  3
___gc_fun:                              # __gc_fun
        .long   8
        .space  4

In comparison to LowerGC:

; lowergc prologue
        movl    L_llvm_gc_root_chain$non_lazy_ptr, %eax
        movl    (%eax), %ecx
        movl    %ecx, 48(%esp)
        movl    $8, 52(%esp)
        movl    $0, 60(%esp)
        movl    $0, 56(%esp)
        movl    $0, 68(%esp)
        movl    $0, 64(%esp)
        movl    $0, 76(%esp)
        movl    $0, 72(%esp)
        movl    $0, 84(%esp)
        movl    $0, 80(%esp)
        movl    $0, 92(%esp)
        movl    $0, 88(%esp)
        movl    $0, 100(%esp)
        movl    $0, 96(%esp)
        movl    $0, 108(%esp)
        movl    $0, 104(%esp)
        movl    $0, 116(%esp)
        movl    $0, 112(%esp)

; lowergc loop overhead
        leal    44(%esp), %eax
        movl    %eax, 56(%esp)
        leal    40(%esp), %eax
        movl    %eax, 64(%esp)
        leal    36(%esp), %eax
        movl    %eax, 72(%esp)
        leal    32(%esp), %eax
        movl    %eax, 80(%esp)
        leal    28(%esp), %eax
        movl    %eax, 88(%esp)
        leal    24(%esp), %eax
        movl    %eax, 96(%esp)
        leal    20(%esp), %eax
        movl    %eax, 104(%esp)
        leal    16(%esp), %eax
        movl    %eax, 112(%esp)

; lowergc epilogue
        movl    48(%esp), %edx
        movl    %edx, (%ecx)

; lowergc metadata
        (none)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45670 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>remove attribution from a variety of miscellaneous files.</title>
<updated>2007-12-29T22:59:10Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2007-12-29T22:59:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=234d529e582963ad4b5d83b911cd057fe99d1435'/>
<id>urn:sha1:234d529e582963ad4b5d83b911cd057fe99d1435</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45425 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>remove attributions from the rest of the llvm makefiles.</title>
<updated>2007-12-29T20:11:13Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2007-12-29T20:11:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=57360d1f1cede3b26744d0ce3ade814fcc0f332d'/>
<id>urn:sha1:57360d1f1cede3b26744d0ce3ade814fcc0f332d</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45416 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>GarbageCollection.html is expanded to encompass the coming</title>
<updated>2007-09-27T19:31:36Z</updated>
<author>
<name>Gordon Henriksen</name>
<email>gordonhenriksen@mac.com</email>
</author>
<published>2007-09-27T19:31:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=326e24fff011f9f5af62bfd2dae964dcd4fd6792'/>
<id>urn:sha1:326e24fff011f9f5af62bfd2dae964dcd4fd6792</id>
<content type='text'>
capabilities. This is a major rewrite and is easier to read en toto
rather than patchwise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42414 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Reenable libgc and libprofile is explicitly requested.</title>
<updated>2007-09-11T17:12:32Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2007-09-11T17:12:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=95bb69acbcec9a2e162875e7a940ccede90fd3f9'/>
<id>urn:sha1:95bb69acbcec9a2e162875e7a940ccede90fd3f9</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41851 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>remove an obsolete library.</title>
<updated>2007-09-11T17:10:52Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2007-09-11T17:10:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=210329a02562d196834eb2d4e1afcd7d9e37e87d'/>
<id>urn:sha1:210329a02562d196834eb2d4e1afcd7d9e37e87d</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41850 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
