digitalmars.D.announce - SDC-32bit
- Stefan Koch (16/16) Jul 29 2014 Hello,
- ketmar via Digitalmars-d-announce (4/4) Jul 29 2014 On Tue, 29 Jul 2014 13:36:37 +0000
- Stefan Koch (5/9) Jul 29 2014 Well thanks.
- ketmar via Digitalmars-d-announce (4/4) Jul 29 2014 On Tue, 29 Jul 2014 15:43:56 +0000
- UplinkCoder (11/11) Jul 29 2014 Sorry I think i messed up with my github branches.
- Stefan Koch (5/16) Jul 30 2014 I have now setup a repo with my 32bbi sdc source.
- Stefan Koch (1/5) Jul 30 2014
- ketmar via Digitalmars-d-announce (11/11) Aug 01 2014 On Wed, 30 Jul 2014 09:39:15 +0000
- Stefan Koch (6/6) Aug 01 2014 hmm it looks like you are not linking llvm in ...
- ketmar via Digitalmars-d-announce (15/19) Aug 01 2014 On Fri, 01 Aug 2014 15:07:56 +0000
- Stefan Koch (2/2) Aug 01 2014 please do `git pull` and if the error presists post the full
- Stefan Koch (3/3) Aug 01 2014 Are you on a 64bit system ?
- ketmar via Digitalmars-d-announce (5/6) Aug 01 2014 On Fri, 01 Aug 2014 15:40:31 +0000
- ketmar via Digitalmars-d-announce (6/8) Aug 01 2014 On Fri, 01 Aug 2014 15:33:05 +0000
- Stefan Koch (4/12) Aug 01 2014 AFAICS this it because you are using dmd-master
- Stefan Koch (1/1) Aug 01 2014 I can say it has nothing todo with llvm (so far)
- ketmar via Digitalmars-d-announce (4/6) Aug 01 2014 On Fri, 01 Aug 2014 15:54:42 +0000
- Stefan Koch (4/10) Aug 01 2014 OK I`am glad it was so easy
- ketmar via Digitalmars-d-announce (4/5) Aug 01 2014 On Fri, 01 Aug 2014 16:33:39 +0000
- Stefan Koch (6/11) Aug 01 2014 Thats is just as excpected of those 15 failed tests 10 are
- ketmar via Digitalmars-d-announce (4/4) Aug 01 2014 On Fri, 01 Aug 2014 18:29:59 +0000
- Stefan Koch (4/4) Aug 01 2014 Next time you might want to use my jsonRunner
- ketmar via Digitalmars-d-announce (4/5) Aug 01 2014 On Fri, 01 Aug 2014 21:58:58 +0000
- Stefan Koch (7/7) Aug 01 2014 first run "time ./runner"
- ketmar via Digitalmars-d-announce (13/14) Aug 01 2014 On Fri, 01 Aug 2014 22:16:50 +0000
- ketmar via Digitalmars-d-announce (9/9) Aug 01 2014 On Sat, 2 Aug 2014 01:37:33 +0300
- Stefan Koch (9/19) Aug 01 2014 Thanks
- ketmar via Digitalmars-d-announce (4/5) Aug 01 2014 On Fri, 01 Aug 2014 23:16:43 +0000
- Stefan Koch (9/11) Aug 06 2014 Correction I just checked the old runner and I found out the
- Stefan Koch (7/9) Aug 01 2014 Hmm I can't find commit 34fdd6a73e6137173a3840218a76dfd2f6c50d68
- ketmar via Digitalmars-d-announce (6/9) Aug 03 2014 On Fri, 01 Aug 2014 15:49:09 +0000
- Stefan Koch (3/14) Aug 03 2014 yeah I will try to keep it clean :D
- deadalnix (4/13) Aug 01 2014 I got that error recently. It is an LLVM bug and upgrading LLVM
- ketmar via Digitalmars-d-announce (5/7) Aug 02 2014 On Sat, 02 Aug 2014 03:27:58 +0000
- Stefan Koch (4/7) Jul 29 2014 Correction I fixed the tests for 32bit
- deadalnix (4/20) Jul 31 2014 A bit late, but that is awesome. I need to go through all of this
- Shammah Chancellor (4/27) Aug 02 2014 The methodology of SDC is awesome deadalnix. I'm very happy this is
- Shammah Chancellor (3/26) Aug 02 2014 Also, it looks by using your fiber based scheduler that you can
- Stefan Koch (6/35) Aug 03 2014 I have planned to add async IO through vibe.d. that alone just
- John Colvin (3/40) Aug 03 2014 Any idea what the significant bottlenecks are / what dmd is much
- Stefan Koch (3/44) Aug 03 2014 hmm i would say io ist a huge factor but this is just a guess I
- deadalnix (3/5) Aug 03 2014 No idea. I'd like to know, but ultimately, supporting more of D
- deadalnix (4/7) Aug 03 2014 Obviously, yes. But that is quite tricky to get a deterministic
- Shammah Chancellor (2/8) Aug 05 2014 I'm not sure what you mean. Are you referring to things like pragma ms...
- Stefan Koch (3/14) Aug 05 2014 to things like mixin("mixin(`writeln ("Hello World");`");
- Dicebot (15/18) Aug 05 2014 ```
- Shammah Chancellor (5/28) Aug 05 2014 They'd still work right. The only thing I can think of that'd be
- deadalnix (4/23) Aug 09 2014 Yes, this kind of thing, and it can get much more nasty if you
- Stefan Koch (7/7) Oct 05 2014 I just updated my fork.
- Stefan Koch (8/8) Oct 06 2014 Updated fork again.
- Temtaime (1/1) Oct 17 2014 New backend why ?
- Stefan Koch (4/5) Oct 17 2014 Because I want to code a backend.
- Suliman (1/2) Oct 18 2014 What's benefits this would give?
- Stefan Koch (5/6) Oct 18 2014 apart from the hack-factor a backend that generates _nice_ C-code
- Stefan Koch (5/5) Mar 19 2015 My sdc32-experimental has now limited support for :
- Laeeth Isharc (3/8) Mar 20 2015 Congrats on the project - v impressive.
- Stefan Koch (4/6) Mar 21 2015 You mean asm.js.
Hello, I am happy to announce that my 32bit version of sdc compiles the whole testsuite including mixins. the only there are only 6 tests still failing 2 of them are dependent on size_t.siezof beeing 8. The otherer 4 have to do with execptoion handling. please check out the 32-branches on https://github.com/UplinkCoder/sdc and https://github.com/UplinkCoder/libd-llvm and https://github.com/UplinkCoder/libd I haven't yet updated the submodules so you have to fetch the 32-branch manually. and remember that this is experimental! please file issues on in my repo if your errors appear with both -m64 and -m32. if there are any questions please ask them.
Jul 29 2014
On Tue, 29 Jul 2014 13:36:37 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote: wow.
Jul 29 2014
On Tuesday, 29 July 2014 at 14:22:43 UTC, ketmar via Digitalmars-d-announce wrote:On Tue, 29 Jul 2014 13:36:37 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote: wow.Well thanks. please give me feedback if you are using it. In the next days i'm going to tackle ArrayLiterals and foreach
Jul 29 2014
On Tue, 29 Jul 2014 15:43:56 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote: ah. sure i'll try to write you about every bug i found. %-)
Jul 29 2014
Sorry I think i messed up with my github branches. until i get it straightend out you can get my local working source verbatim from http://www42.zippyshare.com/v/4371099/file.html I modified the sdc to produce 32bit code if the -m32 argument is passed to it. 64bit is still the default. I also modified the runner executable to use the 32bit-sdc if --m32 is passed to it. Don't recompile the runner it will only produce 32bit tests. I modified the sdrt to get it to compile for 32bit. Therefore everything with Execptions will fail.
Jul 29 2014
On Tuesday, 29 July 2014 at 18:58:50 UTC, UplinkCoder wrote:Sorry I think i messed up with my github branches. until i get it straightend out you can get my local working source verbatim from http://www42.zippyshare.com/v/4371099/file.html I modified the sdc to produce 32bit code if the -m32 argument is passed to it. 64bit is still the default. I also modified the runner executable to use the 32bit-sdc if --m32 is passed to it. Don't recompile the runner it will only produce 32bit tests. I modified the sdrt to get it to compile for 32bit. Therefore everything with Execptions will fail.I have now setup a repo with my 32bbi sdc source. https://github.com/UplinkCoder/sdc32-experimental There are now submodules I dump my source straight in there. cloning it and calling make should be enough.
Jul 30 2014
make thatI have now setup a repo with my 32bit sdc source. https://github.com/UplinkCoder/sdc32-experimental There are NO submodules I dump my source straight in there. cloning it and calling make should be enough.
Jul 30 2014
On Wed, 30 Jul 2014 09:39:15 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote: can't link it. GNU/Linux, x86, latest DMD from git. lib/libd.a(semantic.o): In function `_D1d3ast10expression56__T15UnaryExpressionTC1d3ast10expression13AstExpress= ionZ15UnaryExpression11__T6__ctorZ6__ctorMFS1d8location8LocationE1d3ast10ex= pression7UnaryOpC1d3ast10expression13AstExpressionZC1d3ast10expression56__T= 15UnaryExpressionTC1d3ast10expression13AstExpressionZ15UnaryExpression': ... and so on LLVM 3.4.2, so prerequisites are ok.
Aug 01 2014
hmm it looks like you are not linking llvm in ... do you use the most recent version from my sdc32-experimental repo ? please not that the dub build is broken because i can't get the link order right. so you have to `make` it :D
Aug 01 2014
On Fri, 01 Aug 2014 15:07:56 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:hmm it looks like you are not linking llvm in ...but i am. %-) or, better to say, your makefile doing it with `llvm-config --libs`.do you use the most recent version from my sdc32-experimental=20 repo ?yes, just cloned it before sending report. commit 34fdd6a73e6137173a3840218a76dfd2f6c50d68so you have to `make` it :Dyes, i read README and did 'make'. %-) actually, i'm not using DUB at all. and before anyone will ask: it's Slackware, there is no need to install any '-devel' packages. %-) also please note that i'm using the lastest DMD git, not any of the officially released versions. and gcc 4.9.1. p.s. maybe i should rebuild llvm from sources before we continue. i'll try to do it tomorrow.
Aug 01 2014
please do `git pull` and if the error presists post the full error-message on dpaste or similar.
Aug 01 2014
Are you on a 64bit system ? my makesfiles are hardcoded to use -m32 so I guess it will not link with 64bit libs
Aug 01 2014
On Fri, 01 Aug 2014 15:40:31 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:Are you on a 64bit system ?no, i said somewhere in the previous messages that i'm using x86 arch. %-)
Aug 01 2014
On Fri, 01 Aug 2014 15:33:05 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:please do `git pull` and if the error presists post the full=20 error-message on dpaste or similar.you're welcome. upgated to git commit 58a36a1acdc6b9a5bcd07edf69b958c3b4ac1657 build log: http://dpaste.com/2NBTC2W
Aug 01 2014
On Friday, 1 August 2014 at 15:46:14 UTC, ketmar via Digitalmars-d-announce wrote:On Fri, 01 Aug 2014 15:33:05 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:AFAICS this it because you are using dmd-master if it fails with the dmd-2.065 then I have a real nut to crackplease do `git pull` and if the error presists post the full error-message on dpaste or similar.you're welcome. upgated to git commit 58a36a1acdc6b9a5bcd07edf69b958c3b4ac1657 build log: http://dpaste.com/2NBTC2W
Aug 01 2014
I can say it has nothing todo with llvm (so far)
Aug 01 2014
On Fri, 01 Aug 2014 15:54:42 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:AFAICS this it because you are using dmd-master if it fails with the dmd-2.065 then I have a real nut to cracksorry, you are right. downgrading to dmd-2.065 fixes the build.
Aug 01 2014
On Friday, 1 August 2014 at 16:31:49 UTC, ketmar via Digitalmars-d-announce wrote:On Fri, 01 Aug 2014 15:54:42 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:OK I`am glad it was so easy please try to compile a few tests and tell me if it worksAFAICS this it because you are using dmd-master if it fails with the dmd-2.065 then I have a real nut to cracksorry, you are right. downgrading to dmd-2.065 fixes the build.
Aug 01 2014
On Fri, 01 Aug 2014 16:33:39 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:please try to compile a few tests and tell me if it worksresults of runner.d: http://dpaste.com/0P4DXGE
Aug 01 2014
On Friday, 1 August 2014 at 16:52:39 UTC, ketmar via Digitalmars-d-announce wrote:On Fri, 01 Aug 2014 16:33:39 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:Thats is just as excpected of those 15 failed tests 10 are expected to fail. of the 5 regressions 4 are due to execption handling, and test0083 is empty because sdc32 segfaulted on that oneplease try to compile a few tests and tell me if it worksresults of runner.d: http://dpaste.com/0P4DXGE
Aug 01 2014
On Fri, 01 Aug 2014 18:29:59 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote: still, very impressive!
Aug 01 2014
Next time you might want to use my jsonRunner it runs 7.5x times faster than the old one :D thogh it needs a bit more work enableing multihtreading and such
Aug 01 2014
On Fri, 01 Aug 2014 21:58:58 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:enableing multihtreading and suchi explititely passes runner.d -j1 (other cores has work to do too %-)
Aug 01 2014
first run "time ./runner" and then run "sh buildTester.sh && ./convtest" and then "time ./jsonRunner" i am intressted in your timings runner d envokes the sdc binary while jsonRunner is linked with sdc
Aug 01 2014
On Fri, 01 Aug 2014 22:16:50 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:sh buildTester.shalas, i have no LLVMArchive, and it refuses to link without it. when i removed -L-lLLVMArchive, it says that /usr/lib/gcc/i486-slackware-linux/4.9.1/../../../libLLVMSupport.a(Process.o= ): In function `llvm::sys::Process::FileDescriptorHasColors(int)': Process.cpp:(.text+0x948): undefined reference to `setupterm' Process.cpp:(.text+0x962): undefined reference to `tigetnum' Process.cpp:(.text+0x975): undefined reference to `set_curterm' Process.cpp:(.text+0x97d): undefined reference to `del_curterm' collect2: error: ld returned 1 exit status
Aug 01 2014
On Sat, 2 Aug 2014 01:37:33 +0300 ketmar via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote: damn, it's hard to switch between two dmds. ok, i compiled everything, here's the timings: ./runner 2> /dev/null > /dev/null 21.39s user 1.48s system 146% cpu 15.643= total ./jsonRunner 2> /dev/null > /dev/null 2.60s user 0.76s system 86% cpu 3.89= 9 total
Aug 01 2014
On Friday, 1 August 2014 at 22:44:48 UTC, ketmar via Digitalmars-d-announce wrote:On Sat, 2 Aug 2014 01:37:33 +0300 ketmar via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote: damn, it's hard to switch between two dmds. ok, i compiled everything, here's the timings: ./runner 2> /dev/null > /dev/null 21.39s user 1.48s system 146% cpu 15.643 total ./jsonRunner 2> /dev/null > /dev/null 2.60s user 0.76s system 86% cpu 3.899 totalThanks jsonRunner really runs fast ... io overhead really makes a diffrence well I will go to bed now. it's 1AM localtime Thanks for your cooperation! Good Night
Aug 01 2014
On Fri, 01 Aug 2014 23:16:43 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:Thanks for your cooperation!you're welcome. %-)
Aug 01 2014
On Friday, 1 August 2014 at 23:16:45 UTC, Stefan Koch wrote:jsonRunner really runs fast ... io overhead really makes a diffrenceCorrection I just checked the old runner and I found out the following: sdc runs 7.5 times faster if all sourceFiles are compiled together. (as dub does) the slowdown is only visible if one compiles each file into an objectfile and then links it together. (as the makefile does)
Aug 06 2014
On Friday, 1 August 2014 at 15:26:08 UTC, ketmar via Digitalmars-d-announce wrote:yes, just cloned it before sending report. commit 34fdd6a73e6137173a3840218a76dfd2f6c50d68Hmm I can't find commit 34fdd6a73e6137173a3840218a76dfd2f6c50d68 ... it must have a commit I have squashed. I do this quite often since sometimes I commit stuff that causes my build to fail :p
Aug 01 2014
On Fri, 01 Aug 2014 15:49:09 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:it must have a commit I have squashed. I do this quite often since sometimes I commit stuff that causes=20 my build to fail :pbtw, please, don't do that. just revert commits, there's no need to rewrite the history hard way. or use branches and do cherry-picking, it's easy once you get used to it.
Aug 03 2014
On Sunday, 3 August 2014 at 11:31:10 UTC, ketmar via Digitalmars-d-announce wrote:On Fri, 01 Aug 2014 15:49:09 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:yeah I will try to keep it clean :Dit must have a commit I have squashed. I do this quite often since sometimes I commit stuff that causes my build to fail :pbtw, please, don't do that. just revert commits, there's no need to rewrite the history hard way. or use branches and do cherry-picking, it's easy once you get used to it.
Aug 03 2014
On Friday, 1 August 2014 at 09:02:23 UTC, ketmar via Digitalmars-d-announce wrote:On Wed, 30 Jul 2014 09:39:15 +0000 Stefan Koch via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote: can't link it. GNU/Linux, x86, latest DMD from git. lib/libd.a(semantic.o): In function `_D1d3ast10expression56__T15UnaryExpressionTC1d3ast10expression13AstExpressionZ15UnaryExpression11__T6__ctorZ6__ctorMFS1d8location8LocationE1d3ast10expression7UnaryOpC1d3ast10expression13AstExpressionZC1d3ast10expression56__T15UnaryExpressionTC1d3ast10expression13AstExpression 15UnaryExpression': ... and so on LLVM 3.4.2, so prerequisites are ok.I got that error recently. It is an LLVM bug and upgrading LLVM should do the trick.
Aug 01 2014
On Sat, 02 Aug 2014 03:27:58 +0000 deadalnix via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> wrote:I got that error recently. It is an LLVM bug and upgrading LLVM=20 should do the trick.in my case it was nothing with LLVM. sdc-32 needs dmd-2.065, and i'm using dmd-2.066-master. switching to 2.065 resolves the issue.
Aug 02 2014
On Tuesday, 29 July 2014 at 13:36:39 UTC, Stefan Koch wrote:Hello, the only there are only 6 tests still failing 2 of them are dependent on size_t.siezof beeing 8.Correction I fixed the tests for 32bit only 4 tests are failing all of them due to Execptions
Jul 29 2014
On Tuesday, 29 July 2014 at 13:36:39 UTC, Stefan Koch wrote:Hello, I am happy to announce that my 32bit version of sdc compiles the whole testsuite including mixins. the only there are only 6 tests still failing 2 of them are dependent on size_t.siezof beeing 8. The otherer 4 have to do with execptoion handling. please check out the 32-branches on https://github.com/UplinkCoder/sdc and https://github.com/UplinkCoder/libd-llvm and https://github.com/UplinkCoder/libd I haven't yet updated the submodules so you have to fetch the 32-branch manually. and remember that this is experimental! please file issues on in my repo if your errors appear with both -m64 and -m32. if there are any questions please ask them.A bit late, but that is awesome. I need to go through all of this back.
Jul 31 2014
On 2014-08-01 05:00:53 +0000, deadalnix said:On Tuesday, 29 July 2014 at 13:36:39 UTC, Stefan Koch wrote:The methodology of SDC is awesome deadalnix. I'm very happy this is moving forward. It reduces the code to implement a D compiler by a substantial amount. When I have more time I plan to start contributing.Hello, I am happy to announce that my 32bit version of sdc compiles the whole testsuite including mixins. the only there are only 6 tests still failing 2 of them are dependent on size_t.siezof beeing 8. The otherer 4 have to do with execptoion handling. please check out the 32-branches on https://github.com/UplinkCoder/sdc and https://github.com/UplinkCoder/libd-llvm and https://github.com/UplinkCoder/libd I haven't yet updated the submodules so you have to fetch the 32-branch manually. and remember that this is experimental! please file issues on in my repo if your errors appear with both -m64 and -m32. if there are any questions please ask them.A bit late, but that is awesome. I need to go through all of this and
Aug 02 2014
On 2014-08-01 05:00:53 +0000, deadalnix said:On Tuesday, 29 July 2014 at 13:36:39 UTC, Stefan Koch wrote:Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?Hello, I am happy to announce that my 32bit version of sdc compiles the whole testsuite including mixins. the only there are only 6 tests still failing 2 of them are dependent on size_t.siezof beeing 8. The otherer 4 have to do with execptoion handling. please check out the 32-branches on https://github.com/UplinkCoder/sdc and https://github.com/UplinkCoder/libd-llvm and https://github.com/UplinkCoder/libd I haven't yet updated the submodules so you have to fetch the 32-branch manually. and remember that this is experimental! please file issues on in my repo if your errors appear with both -m64 and -m32. if there are any questions please ask them.A bit late, but that is awesome. I need to go through all of this and
Aug 02 2014
On Saturday, 2 August 2014 at 22:48:35 UTC, Shammah Chancellor wrote:On 2014-08-01 05:00:53 +0000, deadalnix said:I have planned to add async IO through vibe.d. that alone just grant huge speedups. I also want to integrate SQLite or redis based incremental compilation. I don`t think we can beat dmd soon. But I think we can come much closer :DOn Tuesday, 29 July 2014 at 13:36:39 UTC, Stefan Koch wrote:Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?Hello, I am happy to announce that my 32bit version of sdc compiles the whole testsuite including mixins. the only there are only 6 tests still failing 2 of them are dependent on size_t.siezof beeing 8. The otherer 4 have to do with execptoion handling. please check out the 32-branches on https://github.com/UplinkCoder/sdc and https://github.com/UplinkCoder/libd-llvm and https://github.com/UplinkCoder/libd I haven't yet updated the submodules so you have to fetch the 32-branch manually. and remember that this is experimental! please file issues on in my repo if your errors appear with both -m64 and -m32. if there are any questions please ask them.A bit late, but that is awesome. I need to go through all of come back.
Aug 03 2014
On Sunday, 3 August 2014 at 11:19:01 UTC, Stefan Koch wrote:On Saturday, 2 August 2014 at 22:48:35 UTC, Shammah Chancellor wrote:Any idea what the significant bottlenecks are / what dmd is much faster at?On 2014-08-01 05:00:53 +0000, deadalnix said:I have planned to add async IO through vibe.d. that alone just grant huge speedups. I also want to integrate SQLite or redis based incremental compilation. I don`t think we can beat dmd soon. But I think we can come much closer :DOn Tuesday, 29 July 2014 at 13:36:39 UTC, Stefan Koch wrote:Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?Hello, I am happy to announce that my 32bit version of sdc compiles the whole testsuite including mixins. the only there are only 6 tests still failing 2 of them are dependent on size_t.siezof beeing 8. The otherer 4 have to do with execptoion handling. please check out the 32-branches on https://github.com/UplinkCoder/sdc and https://github.com/UplinkCoder/libd-llvm and https://github.com/UplinkCoder/libd I haven't yet updated the submodules so you have to fetch the 32-branch manually. and remember that this is experimental! please file issues on in my repo if your errors appear with both -m64 and -m32. if there are any questions please ask them.A bit late, but that is awesome. I need to go through all of come back.
Aug 03 2014
On Sunday, 3 August 2014 at 11:37:26 UTC, John Colvin wrote:On Sunday, 3 August 2014 at 11:19:01 UTC, Stefan Koch wrote:hmm i would say io ist a huge factor but this is just a guess I have to do profiling probably i am wrongOn Saturday, 2 August 2014 at 22:48:35 UTC, Shammah Chancellor wrote:Any idea what the significant bottlenecks are / what dmd is much faster at?On 2014-08-01 05:00:53 +0000, deadalnix said:I have planned to add async IO through vibe.d. that alone just grant huge speedups. I also want to integrate SQLite or redis based incremental compilation. I don`t think we can beat dmd soon. But I think we can come much closer :DOn Tuesday, 29 July 2014 at 13:36:39 UTC, Stefan Koch wrote:Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?Hello, I am happy to announce that my 32bit version of sdc compiles the whole testsuite including mixins. the only there are only 6 tests still failing 2 of them are dependent on size_t.siezof beeing 8. The otherer 4 have to do with execptoion handling. please check out the 32-branches on https://github.com/UplinkCoder/sdc and https://github.com/UplinkCoder/libd-llvm and https://github.com/UplinkCoder/libd I haven't yet updated the submodules so you have to fetch the 32-branch manually. and remember that this is experimental! please file issues on in my repo if your errors appear with both -m64 and -m32. if there are any questions please ask them.A bit late, but that is awesome. I need to go through all of i come back.
Aug 03 2014
On Sunday, 3 August 2014 at 11:37:26 UTC, John Colvin wrote:Any idea what the significant bottlenecks are / what dmd is much faster at?No idea. I'd like to know, but ultimately, supporting more of D is more important than being fast right now.
Aug 03 2014
On Saturday, 2 August 2014 at 22:48:35 UTC, Shammah Chancellor wrote:Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?Obviously, yes. But that is quite tricky to get a deterministic result due to compile time features.
Aug 03 2014
On 2014-08-04 04:19:01 +0000, deadalnix said:On Saturday, 2 August 2014 at 22:48:35 UTC, Shammah Chancellor wrote:I'm not sure what you mean. Are you referring to things like pragma msg?Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?Obviously, yes. But that is quite tricky to get a deterministic result due to compile time features.
Aug 05 2014
On Tuesday, 5 August 2014 at 11:56:28 UTC, Shammah Chancellor wrote:On 2014-08-04 04:19:01 +0000, deadalnix said:to things like mixin("mixin(`writeln ("Hello World");`");On Saturday, 2 August 2014 at 22:48:35 UTC, Shammah Chancellor wrote:I'm not sure what you mean. Are you referring to things like pragma msg?Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?Obviously, yes. But that is quite tricky to get a deterministic result due to compile time features.
Aug 05 2014
On Tuesday, 5 August 2014 at 16:54:47 UTC, Stefan Koch wrote:``` bool foo() { ... } template bar(bool cond) { static if (cond) enum bar = "int a;"; else enum bar = "int b;"; } mixin(bar!(foo())); pragma(msg, is(typeof(a))); ``` Good luck doing parallel semantic analysis :D I am sure deadalnix can give example much worse than that though.I'm not sure what you mean. Are you referring to things like pragma msg?to things like mixin("mixin(`writeln ("Hello World");`");
Aug 05 2014
On 2014-08-05 17:02:27 +0000, Dicebot said:On Tuesday, 5 August 2014 at 16:54:47 UTC, Stefan Koch wrote:They'd still work right. The only thing I can think of that'd be annoying would be that independent functions would compile in a non-deterministic order. So your errors and whatnot may display non-deterministically.``` bool foo() { ... } template bar(bool cond) { static if (cond) enum bar = "int a;"; else enum bar = "int b;"; } mixin(bar!(foo())); pragma(msg, is(typeof(a))); ``` Good luck doing parallel semantic analysis :D I am sure deadalnix can give example much worse than that though.I'm not sure what you mean. Are you referring to things like pragma msg?to things like mixin("mixin(`writeln ("Hello World");`");
Aug 05 2014
On Tuesday, 5 August 2014 at 17:02:28 UTC, Dicebot wrote:On Tuesday, 5 August 2014 at 16:54:47 UTC, Stefan Koch wrote:Yes, this kind of thing, and it can get much more nasty if you scatter the declaration in various scopes, or better in various modules.``` bool foo() { ... } template bar(bool cond) { static if (cond) enum bar = "int a;"; else enum bar = "int b;"; } mixin(bar!(foo())); pragma(msg, is(typeof(a))); ``` Good luck doing parallel semantic analysis :D I am sure deadalnix can give example much worse than that though.I'm not sure what you mean. Are you referring to things like pragma msg?to things like mixin("mixin(`writeln ("Hello World");`");
Aug 09 2014
I just updated my fork. https://github.com/UplinkCoder/sdc32-experimental * test0037 passes now meaning that alias works in more cases * I implemented foreach for Arrays though since ArrayLiterals are currently not supported this is not too helpful.
Oct 05 2014
Updated fork again. -m32 and -m64 switches work properly now. sdc32 uses a the same default outputFile as dmd does. Soon to come : - ArrayLiterals In planning : - a new backend ;D - Source-to-Source transformations
Oct 06 2014
On Friday, 17 October 2014 at 10:39:15 UTC, Temtaime wrote:New backend why ?Because I want to code a backend. I want output C or maybe even Cool ... generating UML via a backend would also be nice.
Oct 17 2014
I want output C or maybe even Cool ...What's benefits this would give?
Oct 18 2014
On Saturday, 18 October 2014 at 09:29:10 UTC, Suliman wrote:What's benefits this would give?apart from the hack-factor a backend that generates _nice_ C-code is a really usefil thing to have. For example if you want to program microcontrollers in D.
Oct 18 2014
My sdc32-experimental has now limited support for : * foreach on forward-ranges * inference of purity * checking the returnType of main currently it CANNOT generate 32bit code anymore ...
Mar 19 2015
On Friday, 17 October 2014 at 18:47:54 UTC, Stefan Koch wrote:On Friday, 17 October 2014 at 10:39:15 UTC, Temtaime wrote:Congrats on the project - v impressive. How about Javascript or JSASM? So we can write D on the browser?New backend why ?Because I want to code a backend. I want output C or maybe even Cool ... generating UML via a backend would also be nice.
Mar 20 2015
On Friday, 20 March 2015 at 17:20:36 UTC, Laeeth Isharc wrote:How about Javascript or JSASM? So we can write D on the browser?You mean asm.js. I will hook up emscripten soon. However the biggest issue is porting the runtime to javascript.
Mar 21 2015