Next: layout bitfid, Up: layout [Contents][Index]
CHICKEN attempts to store data in the most “native” way it can. Even though it’s written in C, it tries hard to use machine words everywhere. So on a 32-bit machine, the native code that’s eventually generated will use 32-bit wide integers and pointers. On a 64-bit machine it will use 64-bit wide integers and pointers.
This is known as a ‘C_word’, which is usually defined as an ‘int’ or a ‘long’, depending on the platform. By the way, the ‘C_’ prefix stands for CHICKEN, not the C language. Every Scheme value is represented as a ‘C_word’ internally. To understand how this can work, we need to know that there are roughly two kinds of objects.
• layout intro immediate | Immediate values. | |
• layout intro block | Block values. |
Next: layout bitfid, Up: layout [Contents][Index]