- implement unaligned-w@, unaligned-w!, unaligned-l@, unaligned-l!
I'd rather have these implemented in Forth; we have too many primitives already.
I don't agree on this. Unaligned accesses are slower than the aligned versions anyways, plus we need to bloat the forth code with endianess checks where we can solve this in the preprocessor in C. I made Forth
you actually don't need to know endianness to implement a fast unaligned-*** in pure Forth :)
: unaligned-l@ here /l move> here l@ ;
etc.
versions of these words as well, but while thinking about when you need unaligned accesses, I came to the conclusion that you probably don't want further slowdown. It's ugly that you have to break up atomicity of the access anyways.
most hardware won't allow general unaligned accesses to be atomic anyway... i doubt we'll ever see unaligned-*** used on anything that's not just ram, so there's no problem here.
- use conf.pl to create types.h according to compiler capabilities (cross compiling possible) (cleaner version then last patch)
I don't like it yet...
What's wrong?
it just "feels" ugly to me.
- move unix host code from prim.code to unix.code
Please leave it where it is, for now. We'll move it when we compile stuff from source (as opposed to the current situation: from a precompiled dictionary).
Which reminds me that we also need support for multiple linked dictionaries when doing packages. Though maybe it might be enough to have multiple fcode lookup tables in the fcode evaluator? Is there any trivial way of doing this?
for the dictionaries, a little playing around with HERE and LAST and LATEST will do. fcode lookup tables are only valid for the package that defines it, and only during package loading, so i see no problem there?
Segher
- To unsubscribe: send mail to majordomo@freiburg.linux.de with 'unsubscribe openbios' in the body of the message http://www.freiburg.linux.de/OpenBIOS/ - free your system..