Re: Porting CLISP to architectures with few tag bits
Bruno Haible <[email protected]>
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <[email protected]> |
Florian Weimer asked in https://sourceforge.net/p/clisp/mailman/message/35478071/:
> What's the easiest way to port CLISP to a 64-bit architecture which
> does not have any reserved bits in pointers? That is, you could use
> only the bits you get from aligning objects (e.g., 3 bits for 8-byte
> alignment).
Assume your platform is denoted by FOO64. You edit these lines of lispbibl.d:
#if defined(DECALPHA) || defined(MIPS64) || defined(SPARC64) || defined(IA64) || defined(AMD64) || defined(FOO64)
#define WIDE_HARD
#endif
to include your platform. Also, edit these lines of lispbibl.d:
#if (defined(WIDE_HARD) && !defined(UNIX_DARWIN) && !defined(FOO64)) || defined(WIDE_SOFT) || defined(MC68000) || ((alignment_long < 4) && !defined(GNU))
#define TYPECODES
#else
#define HEAPCODES
#endif
As a consequence, the following macros will be defined:
WIDE_HARD
HEAPCODES
Define
#define GENERIC_64_HEAPCODES
Then look for all occurrences of LINUX_NOEXEC_HEAPCODES and create similar
definitions for GENERIC_64_HEAPCODES (very similar, just with 64-bit masks
instead of 32-bit masks).
Bruno
------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel