diff --git a/preserves-zerocopy.md b/preserves-zerocopy.md index b5cf07d..5f0415c 100644 --- a/preserves-zerocopy.md +++ b/preserves-zerocopy.md @@ -66,6 +66,58 @@ Either way, the tag on the special `Ref` is the type of the encoded value. ### Tags and Refs. + ................................................................ + Version 1 + + 00000000 IMM bool + ...00100 IMM RESERVED + nnn01000 IMM float nnn = length of payload in bytes. 000 disallowed + nnn10000 IMM str + nnn10100 IMM bytes + nnn11000 IMM sym + + ....1100 IMM int + + .....010 RESERVED + ....0110 PTR embedded + ....1110 PTR float + + ....0001 PTR str + ....0101 PTR bytes + ....1001 PTR sym + ....1101 PTR int + + ....0011 PTR rec + ....0111 PTR seq + ....1011 PTR set + ....1111 PTR map + + ................................................................ + Version 2 + + 0000 0000 IMM bool + ...1 0000 IMM RESERVED + nnn0 0001 IMM float nnn = length of payload in bytes. 000 disallowed + nnn1 0001 IMM bytes + nnn0 0010 IMM str + nnn1 0010 IMM sym + + .... 0011 IMM int + + .... 0100 PTR int + .... 0101 PTR str + .... 0110 PTR bytes + .... 0111 PTR sym + .... 1000 PTR rec + .... 1001 PTR seq + .... 1010 PTR set + .... 1011 PTR map + .... 1100 PTR embedded + .... 1101 PTR float + .... 1110 RESERVED + .... 1111 RESERVED + + Tag Type Interpretation of 60-bit payload --- ------------- -------------------------------- 0 Boolean 0 = False, 1 = True