On Monday, 16 January 2017 at 16:31:25 UTC, Stefan Koch wrote:
On Thursday, 5 January 2017 at 06:04:00 UTC, Stefan Koch wrote:
On Monday, 2 January 2017 at 18:40:44 UTC, Stefan Koch wrote:
So guys.
basic function-calls are supported.
Hell YEAH!
Disabled for now. Since it pushes some buffers/caches to their
limit. A more flexible solution is needed.
However the good news is that the ABI seems to work better
than expected.
Now it's time to deal with this-pointers and method calls.
After remaining issues with nested switches have to be fixed.
Basic Function call support reenabled.
Phobos unittests pass.
Just found a bug with recursive functions, which is now fixed.
So time for some perf:
-- t.d
uint rfn(uint n)
{
if (n > 2) return n + rfn(n-1) + rfn(n-2);
return 1;
}
pragma(msg, rfn(30));
--
uplink@uplink-pc:~/d/dmd$ time src/dmd t.d -c
4674396u
real 0m0.396s
user 0m0.392s
sys 0m0.000s
uplink@uplink-pc:~/d/dmd$ time dmd t.d -c
4674396u
real 0m1.993s
user 0m1.872s
sys 0m0.120s