Toilet Lisp hat jetzt echte FIXNUMs. Sie werden intern von Zeigern dadurch unterschieden, daß ihr niedrigstes Bit eine 1 ist. Natürlich funktioniert das nur, solange „echte“ Objekte nicht an ungeraden Stellen im Speicher anfangen. Offensichtlich hängt die Erfüllung dieser Bedingung von der verwendeten Objective-C-Runtime ab. Bislang scheint die Situation jedenfalls auf meinem System konsistent passend zu sein. Sollte sich die Annahme auf einem gegebenen System als problematisch erweisen, kann man die FIXNUMs immer noch mit einem Compilerflag (kompilieren mit make ADDITIONAL_OBJCFLAGS=-DNO_FIXNUMS
) deaktivieren.
Comments
Submit a comment
Note: This website uses a JavaScript-based spam prevention system. Please enable JavaScript in your browser to post comments. Comment format is plain text. Use blank lines to separate paragraphs.