Next: , Previous: , Up: objects   [Index]


13.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:

Port objects are handled at the Scheme level. See the source code in ikarus.io.sls for a more comprehensive documentation.