Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #19572
| From | mhx@iae.nl (Marcel Hendrix) |
|---|---|
| Subject | Re: RAFTS-like compiler; some progress |
| Newsgroups | comp.lang.forth |
| Message-ID | <84669394018434@frunobulax.edu> (permalink) |
| Date | 2013-02-09 10:37 +0200 |
| References | <1312b2dd-a9d0-4702-a675-ae3589616162@w4g2000vbk.googlegroups.com> |
| Organization | Wanadoo |
Alex McDonald <blog@rivadpm.com> writes Re: RAFTS-like compiler; some progress [..] >> > I've made a small amount of progress with the analytic compiler. >> > Here's the IL with hand edited comments; >> >> > : testif 1 2 if 3 4 if 5 then then 6 ; >> There is a typical Forth problem with this definition. This is how iForth translates : testif2 1 0 if 3 0 if 5 then then 6 ; $014049C0 : [trashed] $014049CA cmp rbx, rbx $014049CD mov rdi, 1 d# $014049D4 mov rcx, rdi $014049D7 mov rbx, rcx $014049DA je $014049F9 offset NEAR $014049E0 cmp rcx, rcx $014049E3 push rbx $014049E4 mov rbx, 3 d# $014049EB je $014049F9 offset NEAR $014049F1 push rbx $014049F2 mov rbx, 5 d# $014049F9 push rbx $014049FA push 6 b# $014049FC ; Apparently the optimizer sees that "2/4 if" can be evaluated at compile-time. Why didn't it just compile $01404A80 : [trashed] $01404A8A push 1 b# $01404A8C push 6 b# $01404A8E ; The iForth reason is that authors expect to be able to write 0 value addr : tt 0 if [ 3 , here cell- TO addr ] then addr @ . ; -marcel
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
RAFTS-like compiler; some progress Alex McDonald <blog@rivadpm.com> - 2013-02-06 15:55 -0800
Re: RAFTS-like compiler; some progress Spam@ControlQ.com - 2013-02-08 16:16 -0500
Re: RAFTS-like compiler; some progress Alex McDonald <blog@rivadpm.com> - 2013-02-08 14:40 -0800
Re: RAFTS-like compiler; some progress mhx@iae.nl (Marcel Hendrix) - 2013-02-09 10:37 +0200
Re: RAFTS-like compiler; some progress Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-02-09 12:06 +0100
Re: RAFTS-like compiler; some progress albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-02-09 15:46 +0000
Re: RAFTS-like compiler; some progress anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-02-09 14:38 +0000
Re: RAFTS-like compiler; some progress Brad Eckert <hwfwguy@gmail.com> - 2013-02-11 08:57 -0800
Re: RAFTS-like compiler; some progress anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-02-11 17:39 +0000
Re: RAFTS-like compiler; some progress Brad Eckert <hwfwguy@gmail.com> - 2013-02-11 10:48 -0800
Re: RAFTS-like compiler; some progress Alex McDonald <blog@rivadpm.com> - 2013-02-11 18:56 -0800
Re: RAFTS-like compiler; some progress Alex McDonald <blog@rivadpm.com> - 2013-02-11 18:58 -0800
Re: RAFTS-like compiler; some progress anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-02-14 12:55 +0000
Re: RAFTS-like compiler; some progress anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-02-09 14:44 +0000
Re: RAFTS-like compiler; some progress Alex McDonald <blog@rivadpm.com> - 2013-02-11 19:09 -0800
csiph-web