Next: , Previous: objects cflonums, Up: objects


12.19 Port objects

A port object is a fixed–length memory block referenced by machine words tagged as vectors; the first word of the vector is the bitwise OR between a port tag and a bitvector of port attributes.

     |----------------|----------| reference to port
       heap pointer    vector tag
     
     |----------------|----------| 1st word of memory block
      port attributes   port tag

At present the port tag is 6 bits wide, so we have:

See the source code in ikarus.io.sls for a more comprehensive documentation.