From: Bruno H. <br...@cl...> - 2016-11-09 00:31:12
|
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 |