More compact SC-OFFSET coding
commita7fba11297ecfedcffd443b837645a512761a0b2
authorJan Moringen <jmoringe@techfak.uni-bielefeld.de>
Fri, 2 Sep 2016 10:56:00 +0000 (2 12:56 +0200)
committerJan Moringen <jmoringe@techfak.uni-bielefeld.de>
Tue, 6 Sep 2016 12:43:43 +0000 (6 14:43 +0200)
tree965bb56862fe5512c03eb434d2e834ad981bd085
parent66903d73be8d11aa9cd1a7c13995e9470dfe32a3
More compact SC-OFFSET coding

The new layout is

  ssssoooooooooooooooooooooss (still 27 bits)

where "s" bits encode the SC number and "o" bits encode the offset. This
layout allows SC-OFFSETs for the four most frequently used SCs to be
encoded in 7 bits (as long as the offset takes at most 5 bits to
encode), resulting in a single byte after variable length integer
encoding.

See 2c720b0942f88c973294c67c84193f3615dd024b for making the four most
frequently encoded SC numbers into two bits.
src/code/sc-offset.lisp