World: r3wp
[Red] Red language group
older newer | first last |
Dockimbel 11-Mar-2011 [275x2] | The compiler chokes on the new version of this function, but works with the old one. |
It was missing a to-integer conversion: power-of-2?: func [n [integer!]][if zero? n - 1 and n [to integer! log-2 n]] | |
Steeve 11-Mar-2011 [277x2] | ah, yes sorry |
Should have tested with the compiler. sorry | |
Dockimbel 11-Mar-2011 [279] | Fixed. Thanks for the nice code reduction ;-) |
Steeve 11-Mar-2011 [280x2] | well it should be a little little faster aswell ;-) |
I saw some rooms for code factorization also, but you want it as fast as it can, I guess | |
Dockimbel 11-Mar-2011 [282] | For now, it's a prototype code, it doesn't need to be much micro-optimized as it will be fully rewritten in a few months using the Red language. |
Steeve 11-Mar-2011 [283x2] | I see that you use a lot, nested EITHER structures. Personnaly I prefer flat CASE structures, more readable. And i also think CASE could be faster. |
Yeah, it's temporary. | |
Dockimbel 11-Mar-2011 [285] | I guess you're looking at IA32.r/emit-path code? |
Steeve 11-Mar-2011 [286] | yes |
Dockimbel 11-Mar-2011 [287] | I need to factorize the code first, there's some redundancies, but it's also untested code. So, once it will work ok, I'll clean it up. |
Steeve 11-Mar-2011 [288] | Go Go Gadget |
Dockimbel 11-Mar-2011 [289x2] | :-) |
Btw, you've opened an issue ticket too...good opportunity for me to test github's tickets management options. | |
Steeve 11-Mar-2011 [291] | Hm... I did nothing though. |
Dockimbel 11-Mar-2011 [292x2] | It seems a ticket is opened for each pull request... |
I guess it's automated. | |
Steeve 11-Mar-2011 [294] | I just click ramdomly like a foul |
Dockimbel 11-Mar-2011 [295] | lol |
Steeve 11-Mar-2011 [296] | But how can I resync my fork, I wonder... I don't see your modification |
Dockimbel 11-Mar-2011 [297x2] | I guess you need to pull changes from my repo (dockimbel/Red) |
This is my commit: https://github.com/dockimbel/Red/commit/e9c6e78cf77ed388b688681d463a9960952f5a79 | |
Steeve 11-Mar-2011 [299x2] | got it it's in the 'fork queue' |
But I can't apply my previous commits, they failed. I just applied your commit and now it's ok. So it's ok. | |
Dockimbel 11-Mar-2011 [301] | Are you using a Git client or just github's web UI? |
Steeve 11-Mar-2011 [302x3] | Both of them. TortoiseGit on my PC |
I made a clone of my fork on my PC | |
I only forgot, that I must commit the both | |
Andreas 11-Mar-2011 [305x2] | steeve, locally do a "git pull --rebase" from doc's repo |
(that's the effect of one shortcoming of github's fork queue) | |
Dockimbel 11-Mar-2011 [307] | Good to know! |
Dockimbel 13-Mar-2011 [308] | Thanks to Andreas' help, we now have a first experimental support for Linux/ELF for Red/System. It's still very limited (basically just being able to call a system function with an argument), but it's a good start. It should be extended in the next days to support compilation of the hello.reds demo script. |
Oldes 13-Mar-2011 [309] | Nice. So you will not postpone it? |
Dockimbel 13-Mar-2011 [310x3] | Nope, seems that a ELF support large enough to run the demo script could be doable tomorrow or in the next days. |
Btw, Red/System is now able to do syscalls directly, bypassing the libc dependency. | |
We'll see if this can hold long enough to avoid calling the libc at all. | |
Kaj 13-Mar-2011 [313] | Will that be optional? The libc interface is actually much more portable than kernel interfaces |
Andreas 13-Mar-2011 [314x3] | yes |
libc support will come as soon as we get support for a loader done | |
but syscall support is nice (and lean) on it's own :) | |
Kaj 13-Mar-2011 [317x2] | It is |
So can't Red load dynamic libraries yet? | |
Andreas 13-Mar-2011 [319] | not on linux/elf, no |
Kaj 13-Mar-2011 [320] | Ah |
Dockimbel 13-Mar-2011 [321x2] | Kaj: I had a quick look at *BSD syscalls, there are pretty much the same as Linux (at least for the most used ones). The calling convention is different thought, but can be supported by one or two more lines of code in Red/System emitter. |
When I see how Carl fights with various libc versions...I wonder if syscalls are not an easier path even if it can have some minor porting costs here and there? Anyway, a libc mapping will be possible soon, so all options are open. | |
Kaj 13-Mar-2011 [323x2] | I'm not sure the current R3 versions for different GLibC versions make any difference. It's R2 that has problems, but usually with the higher level X libraries |
The syscall calling convention on Syllable is also different. It doesn't use SYSENTER/SYSEXIT yet | |
older newer | first last |