digitalmars.D - (Off topic) Linus on GCC v4.9
- Vic (1/1) Jul 26 2014 http://lkml.org/lkml/2014/7/24/584
- "Marc =?UTF-8?B?U2Now7x0eiI=?= <schuetzm gmx.net> (5/6) Jul 26 2014 Interesting, wasn't aware of the red zone. Does D use that in its
- Kagamin (2/2) Jul 26 2014 Red zone is not part of a calling convention, it's only a
- "Marc =?UTF-8?B?U2Now7x0eiI=?= <schuetzm gmx.net> (7/9) Jul 26 2014 Right, Linus actually said "x86-64 ABI".
- Iain Buclaw via Digitalmars-d (3/11) Jul 26 2014 The GC doesn't need to be aware of it. Only people doing D on bare
On Saturday, 26 July 2014 at 12:35:12 UTC, Vic wrote:http://lkml.org/lkml/2014/7/24/584Interesting, 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
Red zone is not part of a calling convention, it's only a restriction on interrupt handlers.
Jul 26 2014
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
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:The GC doesn't need to be aware of it. Only people doing D on bare bones (eg: kernels).http://lkml.org/lkml/2014/7/24/584Interesting, 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