Topic: [lang-proposals] Cheap User-Mode Threads (a


Author: oliver.kowalke@gmail.com
Date: Fri, 30 Nov 2012 05:45:18 -0800 (PST)
Raw View
------=_Part_1180_9645100.1354283118397
Content-Type: text/plain; charset=ISO-8859-1

I've investigated into split-stack some months ago. split-stack is a
feature of gcc and GOLD linker -> gcc must be compiled with

--enable-gold and --with-ld=/PATH/TO/GOLD.

And to get new split-stack you have to call __generic_morestack() and related fucntions in your code.
split-stack do not grow on the fly.


Am Mittwoch, 29. August 2012 10:08:18 UTC+2 schrieb Chip Salzenberg:
>
> On Saturday, August 18, 2012 11:29:25 AM UTC-7, Greg Hickman wrote:
>>
>>
>> On Saturday, August 18, 2012 8:52:26 AM UTC-5, Bjorn Reese wrote:
>>>
>>> On 2012-08-18 01:39, rev....@gmail.com wrote:
>>>
>>> > It's been done, and it works quite well. See
>>> > https://github.com/toffaletti/libten for example, which uses the
>>> newly
>>> > accepted Boost.Context library.
>>>
>>> There is also ongoing work on a Boost.Coroutine library (not to be
>>> confused with an earlier attempt by the same name), that also builds
>>> on top of Boost.Context:
>>>
>>> https://gitorious.org/boost-dev/boost-dev/trees/coroutine
>>>
>>
>> Thanks for the suggestions.  Although I haven't looked into them yet, I
>> presume dynamic/split-stacks are still an issue that will require compiler
>> support.
>>
>
> The compiler support is at least partly present in gcc.  The resulting API
> incompatibility seems more problematic.
>

--




------=_Part_1180_9645100.1354283118397
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I've investigated into split-stack some months ago. split-stack is a featur=
e of gcc and GOLD linker -&gt; gcc must be compiled with <br><pre>--enable-=
gold and --with-ld=3D/PATH/TO/GOLD.<br><br>And to get new split-stack you h=
ave to call __generic_morestack() and related fucntions in your code.<br>sp=
lit-stack do not grow on the fly.<br></pre><br>Am Mittwoch, 29. August 2012=
 10:08:18 UTC+2 schrieb Chip Salzenberg:<blockquote class=3D"gmail_quote" s=
tyle=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-le=
ft: 1ex;">On Saturday, August 18, 2012 11:29:25 AM UTC-7, Greg Hickman wrot=
e:<blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;bor=
der-left:1px #ccc solid;padding-left:1ex"><br>On Saturday, August 18, 2012 =
8:52:26 AM UTC-5, Bjorn Reese wrote:=20
<blockquote class=3D"gmail_quote" style=3D"PADDING-LEFT:1ex;MARGIN:0px 0px =
0px 0.8ex;BORDER-LEFT:#ccc 1px solid">On 2012-08-18 01:39, <a>rev....@gmail=
..com</a> wrote: <br><br>&gt; It's been done, and it works quite well. See <=
br>&gt; <a href=3D"https://github.com/toffaletti/libten" target=3D"_blank">=
https://github.com/toffaletti/<wbr>libten</a> for example, which uses the n=
ewly <br>&gt; accepted Boost.Context library. <br><br>There is also ongoing=
 work on a Boost.Coroutine library (not to be <br>confused with an earlier =
attempt by the same name), that also builds <br>on top of Boost.Context: <b=
r><br><a href=3D"https://gitorious.org/boost-dev/boost-dev/trees/coroutine"=
 target=3D"_blank">https://gitorious.org/boost-<wbr>dev/boost-dev/trees/cor=
outine</a> <br></blockquote>
<div>&nbsp;</div>
<div>Thanks for the suggestions.&nbsp; Although I haven't looked into them =
yet, I presume dynamic/split-stacks are still an issue that will require co=
mpiler support.</div></blockquote><div><br></div><div>The compiler support =
is at least partly present in gcc. &nbsp;The resulting API incompatibility =
seems more problematic.&nbsp;</div></blockquote>

<p></p>

-- <br />
&nbsp;<br />
&nbsp;<br />
&nbsp;<br />

------=_Part_1180_9645100.1354283118397--

.