#443 closed task (fixed)

Change runtime object headers to be uniformly 64 bit.

Reported by: benl Owned by: benl
Priority: normal Milestone: memoizer
Component: Runtime System Version: none
Keywords: Cc:


The 32-bit runtime is deprecated, most of the objects have 64-bits of meta-data anyway, and we want to store an info table index in the header as well. Move to the following setup:

Thunk   (8: param) (8:boxes) (8:args) (8:runs)  (24:info) (8:format)
Boxed   (16:tag)             (16:arity)         (24:info) (8:format)
Raw     (32:size)                               (24:info) (8:format)
Small   (32:data)                               (24:info) (8:format)

The lower 32-bit word always contains the index into the info table, and the object format header. The upper 32-bit words contains either meta-data or payload data in the case of a Small object.

Change History (2)

comment:1 Changed 20 months ago by benl

  • Owner set to benl

comment:2 Changed 20 months ago by benl

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.