Binary-Flag und Pointer Kombinieren?!

Enumerator

Mitglied Kamel
Hi!

Ich stöberte gerade auf http://www.memorymanagement.org/... Wenn mich meine Englisch-Kenntnisse nicht allzu sehr in die Irre geführt haben, ist dort im Abschnitt one-bit reference count davon die Rede, man könne ein boolesches Flag durchaus in einem Pointer ablegen und dennoch beide Werte (Flag und Zeiger) wieder trennen. "Supi!", sprach's und folgte dem Link - nichts, nur eine Referenz auf eine Wissenschaftliche Publikation von Anno-Dazumal (1984). Umfangreiches Googeln hat mich leider nur zu einer Bezahl-Mich-Seite gebracht - allerdings habe ich keine Lust 25.00$ auszugeben um mir ein PDF anzusehen dass sowieso nicht up-to-date ist.
Daher jetzt die Frage an Euch: Wie wurde/wird so etwas umgesetzt - und kann man das heute im "Zeitalter" von C99 immer noch so handhaben?
Ich vermute, dass die Herren das "leftmost" Bit ihrer Zeiger dafür verwendet haben - doch scheue ich mich einen Zeiger so zu behandeln da ich Angst habe dadurch Segmentation-Faults zu verursachen.
Oder kann ich annehmen, dass Zeiger für gewöhnlich nicht derart hohe Werte annehmen?

Gruß
Enum
 
Zuletzt bearbeitet:
Hallo,

im erwähnten Paper dreht sich alles um die Implementierung von funktionalen Programmiersprachen auf einem speziell dafür ausgelegten Prozessor (SKIM II). Es wird auch nicht näher darauf eingegangen, welches Bit eines Zeigers dafür verwendet wird. Alles in allem ist das sehr speziell und kann wohl nicht so ohne weiteres auf andere Architekturen verallgemeinert werden.

Grüße,
Matthias
 
Zurück