aboutsummaryrefslogtreecommitdiff
path: root/docs/SegmentedStacks.html
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-11-29 19:08:23 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-11-29 19:08:23 +0000
commitbdef6feef478d41707d225caccd25bc6af17081b (patch)
treea9505b101f78ef5d482b12310c91f09fb8c518d9 /docs/SegmentedStacks.html
parentd3a38ccfbb6be0edad037961df77649db2cb9597 (diff)
Release notes for segmented stacks.
Patch by Sanjoy Das. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145416 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/SegmentedStacks.html')
-rw-r--r--docs/SegmentedStacks.html8
1 files changed, 1 insertions, 7 deletions
diff --git a/docs/SegmentedStacks.html b/docs/SegmentedStacks.html
index a91b109308..16f5507473 100644
--- a/docs/SegmentedStacks.html
+++ b/docs/SegmentedStacks.html
@@ -20,18 +20,12 @@
<li><a href="#alloca">Variable Sized Allocas</a></li>
</ol>
</li>
- <li><a href="#results">Results</a>
- <ol>
- <li><a href="#go">Go on LLVM</a></li>
- <li><a href="#abi">Runtime ABI</a></li>
- </ol>
- </li>
</ol>
<h2><a name="intro">Introduction</a></h2>
<div>
<p>
- Segmented stack allows stack space to be allocated incrementally than as a monolithic chunk (of some worst case size) at thread initialization. This is done by allocating stack blocks (henceforth called <em>stacklets</em>) and linking them into a doubly linked list. The function prologue is responsible for checking if the current stacklet has enough space for the function to execute; and if not, call into the libgcc runtime to allocate more stack space. Support for segmented stacks on x86 / Linux is currently being worked on.
+ Segmented stack allows stack space to be allocated incrementally than as a monolithic chunk (of some worst case size) at thread initialization. This is done by allocating stack blocks (henceforth called <em>stacklets</em>) and linking them into a doubly linked list. The function prologue is responsible for checking if the current stacklet has enough space for the function to execute; and if not, call into the libgcc runtime to allocate more stack space. When using <tt>llc</tt>, segmented stacks can be enabled by adding <tt>-segmented-stacks</tt> to the command line.
</p>
<p>
The runtime functionality is <a href="http://gcc.gnu.org/wiki/SplitStacks">already there in libgcc</a>.