Denys Vlasenko
07597cd35d
bc: optimize zbc_lex_string()
...
function old new delta
zbc_lex_next 2359 2353 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 14:03:20 +01:00
Denys Vlasenko
ef271da33f
bc: shrink zdc_lex_string()
...
This actually fixes a rather obscure bug. This was failing to find
end of the string:
$ echo -n '[foo]' | dc
dc: string end could not be found
function old new delta
zbc_lex_next 2230 2141 -89
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-89) Total: -89 bytes
text data bss dec hex filename
981461 485 7296 989242 f183a busybox_old
981372 485 7296 989153 f17e1 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 13:48:37 +01:00
Denys Vlasenko
d4258dd321
bc: another for() loop simplified
...
function old new delta
zbc_program_print 688 686 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 13:22:23 +01:00
Denys Vlasenko
5c0c5abba0
bc: simplify another for() loop
...
function old new delta
zbc_num_d 563 557 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 13:15:55 +01:00
Denys Vlasenko
6b0fbd14fc
bc: rewrite more for() loops
...
function old new delta
bc_program_name 75 67 -8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 12:55:40 +01:00
Denys Vlasenko
71c82d1d8c
bc: rewrite another for() loop
...
function old new delta
zbc_num_d 570 563 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 12:43:21 +01:00
Denys Vlasenko
e2e6ffd3c5
bc: replace signed division / 10 by unsigned
...
function old new delta
zbc_num_a 443 441 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 12:23:16 +01:00
Denys Vlasenko
4113e1f2cd
bc: rewrite bc_num_compare() to be readable
...
function old new delta
bc_num_compare 59 51 -8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 03:30:23 +01:00
Denys Vlasenko
57734c926b
bc: fold zbc_num_stream() into its single caller
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 03:30:23 +01:00
Denys Vlasenko
f6e3f8511e
bc: get rid of BcNum BcProgram::ib,hexb
...
function old new delta
zbc_program_num 907 943 +36
zbc_program_assign 485 474 -11
bc_vm_init 757 739 -18
bc_num_ten 30 - -30
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/2 up/down: 36/-59) Total: -23 bytes
text data bss dec hex filename
981532 485 7296 989313 f1881 busybox_old
981509 485 7296 989290 f186a busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 03:30:23 +01:00
Denys Vlasenko
0f31a5c79e
bc: fixes to bugs found while testing 64-bit build
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 03:16:48 +01:00
Denys Vlasenko
f4f10720fe
bc: fixed from 64-bit compile
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 02:23:53 +01:00
Denys Vlasenko
6d3b4bb24d
udhcpc: check that 4-byte options are indeed 4-byte, closes 11506
...
function old new delta
udhcp_get_option32 - 27 +27
udhcp_get_option 231 248 +17
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/0 up/down: 44/0) Total: 44 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 18:07:18 +01:00
Denys Vlasenko
4b72aebe80
bc: remove "error after expression parsing" check
...
It is misplaced: caller knows better what can or cannot follow the expression.
Sometimes even caller's caller: "if (1) return a+b else..." -
parser of "return" does not know that "else" after it is valid,
parser of stmt does not know it either, - only parser of
"if" knows it!
The removed code balked on e.g. "{ print 1 }" statement.
This does not break any valid programs, but starts accepting some
invalid ones, e.g. "print 1 print 2" would work.
function old new delta
zcommon_parse_expr 40 32 -8
zbc_parse_name 509 494 -15
zbc_parse_stmt_possibly_auto 1678 1638 -40
bc_parse_expr_empty_ok 2025 1977 -48
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-111) Total: -111 bytes
text data bss dec hex filename
981599 485 7296 989380 f18c4 busybox_old
981488 485 7296 989269 f1855 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 17:00:29 +01:00
Denys Vlasenko
b44a7f1d66
bc: tighten up input NUL handling
...
function old new delta
static.dc_lex_tokens - 90 +90
bc_error_bad_character 17 31 +14
static.dc_lex_regs - 13 +13
bc_read_line 406 410 +4
bc_program_index 64 66 +2
dc_lex_regs 13 - -13
zdc_parse_expr 671 656 -15
zbc_lex_next 2318 2230 -88
dc_lex_tokens 91 - -91
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 3/2 up/down: 123/-207) Total: -84 bytes
text data bss dec hex filename
981667 485 7296 989448 f1908 busybox_old
981599 485 7296 989380 f18c4 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 11:58:20 +01:00
Denys Vlasenko
e42cc19b51
bc: simplify zdc_parse_string()
...
function old new delta
bc_program_index 64 66 +2
zdc_parse_expr 671 656 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 2/-15) Total: -13 bytes
text data bss dec hex filename
981667 485 7296 989448 f1908 busybox_old
981655 485 7296 989436 f18fc busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 11:02:26 +01:00
Denys Vlasenko
59d4ce935e
bc: use common strings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 10:42:31 +01:00
Denys Vlasenko
ec60318f15
bc: tidy up "z-function" macro machinery
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 10:34:02 +01:00
Denys Vlasenko
e4ba4c4371
bc: parse file arguments piecemeal (do not read entire file)
...
function old new delta
bc_read_line 336 406 +70
zbc_vm_execute_FILE - 67 +67
zbc_lex_next 2309 2318 +9
zbc_program_exec 4002 4008 +6
bc_program_index 66 64 -2
bc_vm_run 139 124 -15
zbc_vm_file 208 32 -176
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/3 up/down: 152/-193) Total: -41 bytes
text data bss dec hex filename
981736 485 7296 989517 f194d busybox_old
981667 485 7296 989448 f1908 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 09:51:43 +01:00
Denys Vlasenko
c5774a3458
bc: move fflush to the _actual_ execution loop
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 01:22:53 +01:00
Denys Vlasenko
51b22b1bce
bc: fix typo: defone -> define
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 00:15:35 +01:00
Denys Vlasenko
94f72a387c
bc: factor out common code
...
function old new delta
zbc_parse_stmt_allow_NLINE_before - 59 +59
bc_parse_pushJUMP_ZERO - 27 +27
bc_parse_pushJUMP - 27 +27
rewrite_label_to_current - 19 +19
zbc_vm_process 594 599 +5
zbc_lex_next_and_skip_NLINE 22 - -22
zbc_parse_stmt_fail_if_bare_NLINE 28 - -28
zbc_parse_stmt_possibly_auto 1909 1678 -231
------------------------------------------------------------------------------
(add/remove: 4/2 grow/shrink: 1/1 up/down: 137/-281) Total: -144 bytes
text data bss dec hex filename
981879 485 7296 989660 f19dc busybox_old
981755 485 7296 989536 f1960 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-17 00:07:48 +01:00
Denys Vlasenko
5ebd2a6128
bc: remove use of "BcInstPtr ip" object from loop parsing
...
function old new delta
zbc_parse_stmt_possibly_auto 1964 1909 -55
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-55) Total: -55 bytes
text data bss dec hex filename
981934 485 7296 989715 f1a13 busybox_old
981879 485 7296 989660 f19dc busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 23:35:04 +01:00
Denys Vlasenko
266aa00012
bc: store only index in p->exits, it's the only thing used there
...
function old new delta
zbc_parse_stmt_possibly_auto 1967 1964 -3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-3) Total: -3 bytes
text data bss dec hex filename
981937 485 7296 989718 f1a16 busybox_old
981934 485 7296 989715 f1a13 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 23:24:25 +01:00
Denys Vlasenko
8e7686e457
bc: p->exits.func is never zero, do not check for that
...
function old new delta
zbc_parse_stmt_possibly_auto 1978 1967 -11
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-11) Total: -11 bytes
text data bss dec hex filename
981948 485 7296 989729 f1a21 busybox_old
981937 485 7296 989718 f1a16 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 23:18:28 +01:00
Denys Vlasenko
de24e9d366
bc: remove redundant JUMP generation when parsing 'while'
...
function old new delta
zbc_parse_stmt_possibly_auto 2065 2025 -40
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-40) Total: -40 bytes
text data bss dec hex filename
982035 485 7296 989816 f1a78 busybox_old
981995 485 7296 989776 f1a50 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 23:02:22 +01:00
Denys Vlasenko
06ade77002
bc: simplify use of "ip" in loop parsing functions
...
function old new delta
zbc_parse_stmt_possibly_auto 2106 2065 -41
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-41) Total: -41 bytes
text data bss dec hex filename
982076 485 7296 989857 f1aa1 busybox_old
982035 485 7296 989816 f1a78 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 22:44:51 +01:00
Denys Vlasenko
146a79d19c
bc: shring bc_lib[]
...
function old new delta
bc_lib 1586 1584 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 21:46:11 +01:00
Denys Vlasenko
15850832be
bc: shrink zbc_parse_if() a bit more
...
function old new delta
zbc_parse_stmt_possibly_auto 2180 2106 -74
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-74) Total: -74 bytes
text data bss dec hex filename
982152 485 7296 989933 f1aed busybox_old
982078 485 7296 989859 f1aa3 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 21:41:17 +01:00
Denys Vlasenko
6b5b46f817
bc: stop using p->exits when parsing if()
...
function old new delta
zbc_parse_stmt_possibly_auto 2180 2138 -42
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 21:29:08 +01:00
Denys Vlasenko
7415633128
bc: preparation to stop using p->exits when parsing if()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 21:21:27 +01:00
Denys Vlasenko
5d18f6be90
bc: fix "print 1,2,3" parsing
...
function old new delta
zbc_parse_stmt_possibly_auto 2245 2180 -65
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-65) Total: -65 bytes
text data bss dec hex filename
982237 485 7296 990018 f1b42 busybox_old
982152 485 7296 989933 f1aed busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 21:08:30 +01:00
Denys Vlasenko
cb18b546f7
bc: disallow empty statement as function body
...
$ bc
define z() <cr>
<cr>
bc: no statement after 'define'
function old new delta
zbc_parse_stmt_possibly_auto 2239 2245 +6
zbc_vm_process 589 594 +5
zbc_parse_stmt_fail_if_bare_NLINE 25 28 +3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 14/0) Total: 14 bytes
text data bss dec hex filename
982216 485 7296 989997 f1b2d busybox_old
982237 485 7296 990018 f1b42 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 20:46:15 +01:00
Denys Vlasenko
2e8be023cb
bc: allow only one <newline> between if() and stmt
...
Attempt to have more than one causes this error message:
$ bc -q
if (1)<cr>
<cr>
bc: no statement after 'if'
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 20:41:32 +01:00
Denys Vlasenko
e6c40c48d9
bc: simplify bc_parse_pushName(), do not free name in it - avoids one strdup
...
function old new delta
zbc_parse_name 511 509 -2
zdc_parse_register 50 43 -7
bc_parse_pushName 61 39 -22
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-31) Total: -31 bytes
text data bss dec hex filename
982183 485 7296 989964 f1b0c busybox_old
982152 485 7296 989933 f1aed busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 20:32:58 +01:00
Denys Vlasenko
563d93c9a4
bc: simplify zbc_parse_break_or_continue(), logic is the same
...
function old new delta
zbc_parse_stmt_possibly_auto 2259 2224 -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-35) Total: -35 bytes
text data bss dec hex filename
982218 485 7296 989999 f1b2f busybox_old
982183 485 7296 989964 f1b0c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 19:47:40 +01:00
Denys Vlasenko
a50576a415
bc: fold zbc_parse_else() into its only caller
...
While at it, allow newline between "else" and its body
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 19:21:57 +01:00
Denys Vlasenko
6d29879c67
bc: fold bc_parse_noElse() into its only caller
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 19:10:38 +01:00
Denys Vlasenko
9dc5d08baa
bc: delete unused (write-only) BcParse::nbraces member
...
function old new delta
zbc_lex_next 2296 2309 +13
bc_parse_expr_empty_ok 2021 2025 +4
bc_vm_init 760 757 -3
bc_num_printNewline 54 51 -3
zbc_num_divmod 156 150 -6
bc_parse_reset 113 106 -7
zbc_lex_number 200 192 -8
bc_parse_number 83 66 -17
zdc_parse_expr 707 671 -36
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/7 up/down: 17/-80) Total: -63 bytes
text data bss dec hex filename
982275 485 7296 990056 f1b68 busybox_old
982212 485 7296 989993 f1b29 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 18:43:51 +01:00
Denys Vlasenko
202dd1943c
bc: fixes for multi-line if/while/for
...
function old new delta
zbc_vm_process 561 589 +28
zbc_lex_next_and_skip_NLINE - 22 +22
zbc_parse_stmt_possibly_auto 2232 2253 +21
zbc_lex_skip_if_at_NLINE - 14 +14
zbc_lex_number 192 200 +8
zbc_num_divmod 150 156 +6
bc_vm_run 134 139 +5
bc_vm_init 757 760 +3
bc_num_printNewline 51 54 +3
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 7/0 up/down: 110/0) Total: 110 bytes
text data bss dec hex filename
982138 485 7296 989919 f1adf busybox_old
982275 485 7296 990056 f1b68 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 17:30:35 +01:00
Denys Vlasenko
e9519e44a6
bc: fix handling of 'return' not in functions, and 'define f()<newline>{...}'
...
function old new delta
zbc_vm_process 561 597 +36
zbc_parse_stmt_possibly_auto 2232 2253 +21
zbc_lex_number 192 200 +8
zbc_num_divmod 150 156 +6
bc_vm_run 134 139 +5
bc_vm_init 757 760 +3
bc_num_printNewline 51 54 +3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 7/0 up/down: 82/0) Total: 82 bytes
text data bss dec hex filename
982138 485 7296 989919 f1adf busybox_old
982247 485 7296 990028 f1b4c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 17:06:07 +01:00
Denys Vlasenko
d1d29b4245
bc: partially rewrite parser, tests pass, ^C might be broken now
...
The entire control construct (if/while/for/funcdef) or {} block is
"eaten" by the corresponding parsing function, instead of maintaining
special "block flag stack" with magic bits in it, and returning to main
input loop after every inner statement (every input line, essentially).
This required moving line input deep into lexer - now zbc_lex_next()
triggers more reading when needed.
"block flag stack" is gone.
Correctness of ^C handling wasn't checked, might need fixing now.
if/else syntax is changed to match GNU bc: "else" can not be on
the next line (the rationale is that "if (1) 2" statement in interactive
mode should execute and print 2 instead of waiting for possible
"else ..." line).
This change fixes the following examples:
if (1) if (1) 1 else 2 else 3
if (0) 1 else if (1) 2
define w() { auto z; return 1; }
function old new delta
zbc_parse_stmt_possibly_auto - 2232 +2232
zbc_vm_process 89 561 +472
zbc_lex_next 1982 2296 +314
bc_vm_init 749 757 +8
bc_parse_expr_empty_ok 2016 2021 +5
bc_num_printNewline 54 51 -3
zbc_program_read 289 280 -9
bc_parse_free 47 38 -9
bc_parse_reset 126 113 -13
bc_parse_create 108 92 -16
bc_parse_push_block_flag 47 - -47
bc_parse_noElse 48 - -48
zbc_parse_text_init 113 59 -54
zbc_parse_body 121 - -121
zbc_parse_else 125 - -125
zbc_parse_endBody 254 - -254
bc_vm_run 421 134 -287
zbc_parse_auto 290 - -290
zcommon_parse 476 - -476
zbc_parse_stmt 1682 7 -1675
------------------------------------------------------------------------------
(add/remove: 1/7 grow/shrink: 4/8 up/down: 3031/-3427) Total: -396 bytes
text data bss dec hex filename
982586 485 7296 990367 f1c9f busybox_old
982138 485 7296 989919 f1adf busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-16 16:10:38 +01:00
Denys Vlasenko
99b3762335
bc: lexer debugging, added some failing test cases
...
function old new delta
bc_parse_push_block_flag - 47 +47
zbc_parse_body 107 121 +14
zbc_num_divmod 156 150 -6
zbc_lex_number 200 192 -8
zbc_parse_endBody 264 254 -10
bc_parse_startBody 47 - -47
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/3 up/down: 61/-71) Total: -10 bytes
text data bss dec hex filename
982596 485 7296 990377 f1ca9 busybox_old
982586 485 7296 990367 f1c9f busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-15 20:06:59 +01:00
Denys Vlasenko
fd51e0c4d2
bc: simplify BC_INST_JUMP[_ZERO] handling
...
function old new delta
zbc_program_exec 4063 4050 -13
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-15 15:07:14 +01:00
Denys Vlasenko
7db384338a
bc: rewrite "block flag stack" using simple realloc'ed byte array
...
Each access to current top flag took a function call + fetch of three data items
+ multiplication and some additions + and then following the resulting pointer.
After the change, it is: fetch pointer value + one byte access via this pointer.
function old new delta
bc_parse_startBody 45 49 +4
bc_parse_free 46 47 +1
zbc_parse_auto 188 185 -3
bc_parse_push 14 11 -3
bc_vm_run 398 394 -4
zbc_vm_process 63 58 -5
zdc_parse_expr 638 632 -6
zbc_parse_body 101 95 -6
bc_parse_addFunc 31 25 -6
bc_parse_noElse 56 48 -8
zcommon_parse 341 331 -10
zbc_parse_else 134 123 -11
bc_parse_create 124 108 -16
zbc_parse_text_init 123 104 -19
zbc_parse_endBody 292 252 -40
zbc_parse_stmt 1479 1420 -59
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/14 up/down: 5/-196) Total: -191 bytes
text data bss dec hex filename
979880 485 7296 987661 f120d busybox_old
979689 485 7296 987470 f114e busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-15 00:49:16 +01:00
Denys Vlasenko
f10f17f8d3
bc: drop zbc_parse_endBody() bool parameter, move its code to caller which uses it
...
function old new delta
zbc_parse_stmt 1456 1479 +23
zbc_parse_body 103 101 -2
zbc_parse_endBody 326 292 -34
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 23/-36) Total: -13 bytes
text data bss dec hex filename
979893 485 7296 987674 f121a busybox_old
979880 485 7296 987661 f120d busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-14 23:41:33 +01:00
Denys Vlasenko
0154d78738
bc: shorten one message, make defines more readable
...
text data bss dec hex filename
979916 485 7296 987697 f1231 busybox_old
979893 485 7296 987674 f121a busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-14 23:32:51 +01:00
Denys Vlasenko
7b1df3db97
bc: pull zbc_lex_next() call out of zbc_parse_operator() into one caller that uses it
...
function old new delta
bc_parse_operator - 144 +144
bc_parse_expr_empty_ok 1788 1792 +4
zbc_parse_operator 170 - -170
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/0 up/down: 148/-170) Total: -22 bytes
text data bss dec hex filename
979938 485 7296 987719 f1247 busybox_old
979916 485 7296 987697 f1231 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-14 23:12:48 +01:00
Denys Vlasenko
17df882a57
bx: add more debug scaffolding
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-14 23:00:24 +01:00
Denys Vlasenko
2ea53a45b7
bc: convert macro bc_parse_push() to function, add debug infrastructure
...
function old new delta
bc_parse_push - 14 +14
zbc_parse_else 132 134 +2
bc_parse_pushName 63 61 -2
zbc_parse_operator 174 170 -4
bc_parse_number 87 83 -4
zbc_parse_string 97 89 -8
bc_parse_pushIndex 68 60 -8
zbc_parse_endBody 339 326 -13
zbc_parse_name 401 387 -14
zdc_parse_mem 107 91 -16
zdc_parse_expr 680 638 -42
zbc_parse_stmt 1502 1456 -46
bc_parse_expr_empty_ok 1838 1788 -50
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/11 up/down: 16/-207) Total: -191 bytes
text data bss dec hex filename
980129 485 7296 987910 f1306 busybox_old
979938 485 7296 987719 f1247 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-14 17:51:17 +01:00