<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/runtime, branch release_25</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/runtime?h=release_25</id>
<link rel='self' href='https://git.amat.us/llvm/atom/runtime?h=release_25'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2008-01-24T05:16:36Z</updated>
<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>
<entry>
<title>Dror GCCLibraries: they are obsolete since 2.0 release. This also reduces number of licenses used in LLVM.</title>
<updated>2007-08-21T22:40:44Z</updated>
<author>
<name>Anton Korobeynikov</name>
<email>asl@math.spbu.ru</email>
</author>
<published>2007-08-21T22:40:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b08c6db11511275eee96c48534c351e4e02b850b'/>
<id>urn:sha1:b08c6db11511275eee96c48534c351e4e02b850b</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41257 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>crtend is only for llvm-gcc3, remove it.</title>
<updated>2007-02-23T19:34:09Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2007-02-23T19:34:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6e3d3bc9ee8a9db57ac98dc03fe06f099b8015df'/>
<id>urn:sha1:6e3d3bc9ee8a9db57ac98dc03fe06f099b8015df</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34529 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>the old trace values pass has been removed, remove its runtime library.</title>
<updated>2007-01-07T18:13:48Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2007-01-07T18:13:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5c4a96dfc57811c2c8eb238e2f702fb5a9dd9574'/>
<id>urn:sha1:5c4a96dfc57811c2c8eb238e2f702fb5a9dd9574</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32999 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
