ash: undo "tokname hack"
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 2 Oct 2016 14:54:17 +0000 (16:54 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 2 Oct 2016 14:54:17 +0000 (16:54 +0200)
commit888527cceec2f58f1eae3acceddee928b5cb647a
treef4ef6c2a33a1391bfe4e9f408b15e0f36e8e21b4
parentbc1a00843fce8ce0ed101c4e6eb02ee79e673a00
ash: undo "tokname hack"

dash has tokendlist[] array to decide which tokens end lists.
We store it as first byte of each tokname_array[i].

Switch to bit array, name it like dash (tokendlist), drop special
1st byte of tokname_array[i]. This brings us closer to dash, and
shrinks the binary, because many more string aliasing opportunities
are now open:

function                                             old     new   delta
pstrcmp1                                               -      16     +16
readtoken1                                          2852    2858      +6
list                                                 326     327      +1
pstrcmp                                               16      15      -1
tokname                                               45      42      -3
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/2 up/down: 23/-4)              Total: 19 bytes
   text    data     bss     dec     hex filename
 943556     916   14292  958764   ea12c busybox_old
 943463     916   14292  958671   ea0cf busybox_unstripped
^^^^^^^ note this!

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/ash.c