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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.