www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - (Off topic) Linus on GCC v4.9

reply "Vic" <vic.cvc gmx.com> writes:
http://lkml.org/lkml/2014/7/24/584
Jul 26 2014
parent reply "Marc =?UTF-8?B?U2Now7x0eiI=?= <schuetzm gmx.net> writes:
On Saturday, 26 July 2014 at 12:35:12 UTC, Vic wrote:
 http://lkml.org/lkml/2014/7/24/584
Interesting, wasn't aware of the red zone. Does D use that in its calling convention? But `extern(C)` functions use it in any case. Is the GC aware of that? Or doesn't it need to be, because the signal handlers take care of it?
Jul 26 2014
next sibling parent reply "Kagamin" <spam here.lot> writes:
Red zone is not part of a calling convention, it's only a 
restriction on interrupt handlers.
Jul 26 2014
parent "Marc =?UTF-8?B?U2Now7x0eiI=?= <schuetzm gmx.net> writes:
On Saturday, 26 July 2014 at 13:21:49 UTC, Kagamin wrote:
 Red zone is not part of a calling convention, it's only a 
 restriction on interrupt handlers.
Right, Linus actually said "x86-64 ABI". But still, it means that at any time the area below the stack may contain references that are actually used. The GC uses signals to stop the other threads, which are interrupt handlers in a way. But I guess they already take the red zone into account, otherwise it would cause crashes all the time.
Jul 26 2014
prev sibling parent Iain Buclaw via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 26 July 2014 13:56, via Digitalmars-d <digitalmars-d puremagic.com> wrote:
 On Saturday, 26 July 2014 at 12:35:12 UTC, Vic wrote:
 http://lkml.org/lkml/2014/7/24/584
Interesting, wasn't aware of the red zone. Does D use that in its calling convention? But `extern(C)` functions use it in any case. Is the GC aware of that? Or doesn't it need to be, because the signal handlers take care of it?
The GC doesn't need to be aware of it. Only people doing D on bare bones (eg: kernels).
Jul 26 2014