dart-sdk/pkg/kernel/bin
Jens Johansen 39b8f7bef4 [kernel] Shift up specialized kernel tags
Before this CL kernel tags had specialized tags that was marked by the
single high bit, then using the three lowest bits for a value:

128 + value = 0b10000xxx
136 + value = 0b10001xxx
144 + value = 0b10010xxx

So the numbers from 128 to 151 is taken by this scheme, but because of
the high bit marking stuff being special we can't really use 152-256.

This CL shifts the specialized tags up so it instead uses the 3 highest
bits as a marker while still using the lower 3 bits for the value:

224 + value = 0b11100xxx
232 + value = 0b11101xxx
240 + value = 0b11110xxx

This takes up 224-247 and leave 248-255 unused. It would let us use
128-223 though.
(If we eventually need more we can probably remove one of the
specialized ranges (SpecializedVariableSet isn't used very much in
previously sampled dill files) and use 4 bits for tagging).

Additionally, a tool to print free tags has been added (via binary.md),
and the "binary version is in sync with VM" test has been prepared
for version > 99.

TEST=Existing tests.

Change-Id: If77b12cee6fc3801628dd67dc40afbb018ec8a61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284302
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2023-02-21 15:21:38 +00:00
..
compare_hierarchies.dart [kernel] Spell check kernel/bin 2022-02-02 12:20:46 +00:00
count_breakdown.dart [kernel] Add always_declare_return_types lint 2021-09-01 16:50:27 +00:00
dill_forensic.dart [kernel] Spell check kernel/bin 2022-02-02 12:20:46 +00:00
dump.dart [cfe] Run commands of tool/fasta.dart in the same VM 2022-03-10 15:23:15 +00:00
size_breakdown.dart [kernel] Add always_declare_return_types lint 2021-09-01 16:50:27 +00:00
split.dart Remove redundant imports 2021-09-20 15:25:01 +00:00
switch_order.dart [kernel] Shift up specialized kernel tags 2023-02-21 15:21:38 +00:00
type_check.dart [kernel] Reland: Migrate remaining bin/lib libraries in package:kernel 2021-04-28 14:36:53 +00:00