Age | Commit message (Collapse) | Author |
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Pulling array element into a temporary, taking address of this temporary
and copying it? That's much unnecessary work.
function old new delta
dc_lex_token 701 697 -4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
text data bss dec hex filename
987232 485 7296 995013 f2ec5 busybox_old
987205 485 7296 994986 f2eaa busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
push_input_byte - 65 +65
bc_vm_run 1875 1905 +30
bc_read_line 303 305 +2
bc_num_binary 148 150 +2
bc_num_ulong 103 92 -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/1 up/down: 99/-11) Total: 88 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
packed_usage 33023 33076 +53
bc_num_s 252 246 -6
bc_vm_run 1859 1850 -9
bc_error_fmt 36 20 -16
bc_posix_error_fmt 58 41 -17
bc_read_line 202 168 -34
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/5 up/down: 53/-82) Total: -29 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_args 123 130 +7
bc_num_binary 150 148 -2
static.nullptr 4 - -4
bc_vm_run 1883 1874 -9
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/2 up/down: 7/-15) Total: -8 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_num_ulong 92 103 +11
static.nullptr - 4 +4
bc_args 120 123 +3
static.bc_args_env_name 4 - -4
dc_main 49 41 -8
bc_main 49 41 -8
bc_vm_run 1917 1883 -34
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/3 up/down: 18/-54) Total: -36 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Will have exitcode 1 even on "quit" and "halt", is it a problem?
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_parse_expr_empty_ok - 2178 +2178
bc_parse_expr 2178 49 -2129
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 2178/-2129) Total: 49 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Pure block moves of text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
text data bss dec hex filename
987088 485 7296 994869 f2e35 busybox_old
987079 485 7296 994860 f2e2c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_parse_stmt 2276 2271 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_parse_expr 2151 2178 +27
bc_parse_exprs 60 - -60
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 2/0 up/down: 27/-60) Total: -33 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_parse_operator 181 184 +3
bc_parse_ops 50 25 -25
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 3/-25) Total: -22 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_num_d 564 584 +20
bc_num_r 230 245 +15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 35/0) Total: 35 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_num_k 990 988 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_num_k 971 990 +19
bc_num_p 507 478 -29
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 19/-29) Total: -10 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
This might help compiler
function old new delta
bc_num_k 957 971 +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_lex_token 1285 1299 +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_lex_token 1251 1285 +34
bc_POSIX_does_not_allow_bool_ops_this_is_bad - 25 +25
bc_POSIX_does_not_allow_empty_X_expression_in_for - 20 +20
bc_POSIX_does_not_allow - 20 +20
bc_parse_expr 2146 2151 +5
bc_num_ulong 103 92 -11
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 2/1 up/down: 104/-11) Total: 93 bytes
text data bss dec hex filename
987210 485 7296 994991 f2eaf busybox_old
987084 485 7296 994865 f2e31 busybox_unstripped
^^^^^^^
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
FILE:
print 1
print "
$ busybox bc -q FILE
bc: FILE:2: string end could not be found
ready for more input
>>> _
function old new delta
bc_verror_msg - 99 +99
bc_lex_file 12 28 +16
bc_lex_next 77 92 +15
dc_lex_token 687 701 +14
bc_lex_token 1237 1251 +14
bc_posix_error_fmt 90 58 -32
bc_error_fmt 70 36 -34
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/2 up/down: 158/-66) Total: 92 bytes
text data bss dec hex filename
987108 485 7296 994889 f2e49 busybox_old
987210 485 7296 994991 f2eaf busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_vec_pushZeroByte - 10 +10
bc_vm_run 1919 1917 -2
bc_vec_string 61 59 -2
bc_vec_concat 68 66 -2
bc_parse_create 170 168 -2
bc_lex_number 298 296 -2
dc_lex_token 691 687 -4
bc_read_line 314 303 -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/7 up/down: 10/-25) Total: -15 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Examples:
On stdin, no file name is available:
$ echo 'print "' | busybox bc
bc: string end could not be found
When the same error is in file:
$ busybox bc FILE
bc 1.30.0.git
Copyright (c) 2018 Gavin D. Howard and contributors
Report bugs at: https://github.com/gavinhoward/bc
This is free software with ABSOLUTELY NO WARRANTY
FILE: string end could not be found
ready for more input
>>>
Line number printing to be added later...
function old new delta
bc_error_fmt 38 70 +32
bc_posix_error_fmt 60 90 +30
bc_vm_run 1900 1919 +19
bc_program_read 338 355 +17
bc_lex_file 15 12 -3
bc_program_stdin_name 8 - -8
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/1 up/down: 98/-11) Total: 87 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_lib_name 4 - -4
bc_vm_run 1921 1900 -21
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-25) Total: -25 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_posix_error_fmt - 60 +60
bc_error_fmt - 38 +38
bc_error_bad_character - 17 +17
bc_parse_auto 302 313 +11
bc_num_ulong 93 103 +10
bc_error_variable_is_wrong_type - 10 +10
bc_error_stack_has_too_few_elements - 10 +10
bc_error_nested_read_call - 10 +10
bc_error_bad_token - 10 +10
bc_error_bad_expression - 10 +10
bc_num_d 561 564 +3
bc_program_assign 484 486 +2
dc_parse_parse 60 59 -1
bc_program_num 1130 1129 -1
bc_program_call 367 366 -1
bc_parse_stmt 2277 2276 -1
bc_lex_number 299 298 -1
bc_lex_name 91 90 -1
bc_func_insert 98 97 -1
bc_num_shift 74 72 -2
bc_vm_run 1924 1921 -3
bc_parse_endBody 424 420 -4
bc_lex_next 81 77 -4
bc_program_read 343 338 -5
bc_program_asciify 469 464 -5
bc_program_pushVar 221 215 -6
bc_program_print 784 778 -6
bc_program_prep 99 93 -6
bc_program_assignStr 167 161 -6
bc_parse_else 143 137 -6
bc_parse_body 124 118 -6
dc_parse_register 61 53 -8
dc_lex_token 699 691 -8
bc_program_modexp 756 746 -10
bc_parse_name 593 581 -12
dc_parse_expr 775 762 -13
bc_program_copyToVar 336 323 -13
bc_program_binOpPrep 324 311 -13
bc_program_execStr 561 543 -18
bc_program_exec 4150 4132 -18
bc_parse_parse 483 464 -19
bc_error 38 14 -24
bc_lex_token 1266 1237 -29
bc_posix_error 60 14 -46
bc_parse_expr 2194 2146 -48
------------------------------------------------------------------------------
(add/remove: 8/0 grow/shrink: 4/33 up/down: 191/-345) Total: -154 bytes
text data bss dec hex filename
987226 485 7296 995007 f2ebf busybox_old
987072 485 7296 994853 f2e25 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_lib 1877 1674 -203
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Also, use ARRAY_SIZE() where appropriate
function old new delta
bc_lib 1878 1877 -1
bc_program_index 66 64 -2
bc_lex_token 1282 1266 -16
bc_lex_kws 220 160 -60
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-79) Total: -79 bytes
text data bss dec hex filename
987518 485 7296 995299 f2fe3 busybox_old
987440 485 7296 995221 f2f95 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_char_vec_init - 12 +12
bc_vec_pop_all - 8 +8
bc_program_index 64 66 +2
bc_vec_string 64 61 -3
bc_vec_free 27 24 -3
bc_read_line 317 314 -3
bc_program_execStr 564 561 -3
bc_program_exec 4153 4150 -3
bc_program_copyToVar 340 336 -4
bc_parse_create 175 170 -5
dc_lex_token 705 699 -6
bc_program_reset 78 72 -6
bc_lex_number 305 299 -6
bc_program_read 353 343 -10
bc_program_addFunc 225 209 -16
bc_vm_run 1942 1924 -18
bc_parse_reset 181 163 -18
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 1/14 up/down: 22/-104) Total: -82 bytes
text data bss dec hex filename
987600 485 7296 995381 f3035 busybox_old
987518 485 7296 995299 f2fe3 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_program_index 66 64 -2
bc_program_num 1147 1130 -17
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-19) Total: -19 bytes
text data bss dec hex filename
987619 485 7296 995400 f3048 busybox_old
987600 485 7296 995381 f3035 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
G.flags == option_mask32
function old new delta
bc_args 97 120 +23
dc_main 48 49 +1
bc_main 48 49 +1
bc_error 42 38 -4
bc_posix_error 65 60 -5
bc_read_line 325 317 -8
dc_lex_token 714 705 -9
bc_vm_run 2039 1942 -97
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/5 up/down: 25/-123) Total: -98 bytes
text data bss dec hex filename
987717 485 7296 995498 f30aa busybox_old
987619 485 7296 995400 f3048 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
bc_vm_posixError()
function old new delta
bc_posix_error - 65 +65
bc_vm_run 1995 2039 +44
bc_err_line 7 - -7
bc_num_ulong 103 93 -10
bc_parse_parse 495 483 -12
bc_err_fmt 12 - -12
bc_warn_fmt 14 - -14
bc_parse_expr 2210 2194 -16
bc_program_reset 105 78 -27
bc_vm_process 130 94 -36
bc_parse_stmt 2313 2277 -36
bc_err_msgs 60 - -60
bc_lex_token 1367 1282 -85
bc_vm_error 143 - -143
bc_vm_posixError 189 - -189
------------------------------------------------------------------------------
(add/remove: 1/6 grow/shrink: 1/7 up/down: 109/-647) Total: -538 bytes
text data bss dec hex filename
988258 485 7296 996039 f32c7 busybox_old
987717 485 7296 995498 f30aa busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_program_asciify - 469 +469
bc_parse_parse 432 495 +63
dc_parse_expr 727 775 +48
bc_vm_run 1955 1995 +40
bc_program_num 1115 1147 +32
bc_program_binOpPrep 296 324 +28
static.msg - 24 +24
bc_parse_name 570 593 +23
bc_lex_token 1344 1367 +23
dc_lex_token 695 714 +19
bc_num_ulong 85 103 +18
bc_program_read 336 353 +17
dc_parse_parse 47 60 +13
bc_parse_stmt 2301 2313 +12
bc_parse_auto 291 302 +11
bc_program_prep 89 99 +10
bc_lex_next 71 81 +10
dc_parse_register 52 61 +9
bc_program_print 775 784 +9
bc_func_insert 89 98 +9
bc_program_assignStr 159 167 +8
bc_program_assign 476 484 +8
bc_parse_body 116 124 +8
bc_lex_name 83 91 +8
bc_program_pushVar 215 221 +6
bc_parse_text 141 147 +6
bc_num_shift 68 74 +6
bc_num_p 472 478 +6
bc_program_execStr 559 564 +5
bc_parse_else 139 143 +4
bc_lex_number 301 305 +4
bc_num_d 558 561 +3
bc_parse_endBody 422 424 +2
bc_num_r 231 230 -1
bc_program_copyToVar 343 340 -3
bc_program_call 372 367 -5
bc_parse_expr 2215 2210 -5
bc_program_modexp 763 756 -7
bc_err_msgs 164 60 -104
bc_program_pushArray 136 - -136
bc_program_exec 4453 4153 -300
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 31/7 up/down: 961/-561) Total: 400 bytes
text data bss dec hex filename
987766 485 7296 995547 f30db busybox_old
988258 485 7296 996039 f32c7 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_vm_process 132 130 -2
bc_err_msgs 168 164 -4
dc_parse_parse 52 47 -5
bc_parse_reset 187 181 -6
bc_program_ready_msg 22 - -22
bc_program_exec 4478 4453 -25
bc_parse_parse 461 432 -29
bc_program_reset 159 105 -54
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/7 up/down: 0/-147) Total: -147 bytes
text data bss dec hex filename
987923 485 7296 995704 f3178 busybox_old
987766 485 7296 995547 f30db busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_parse_auto 275 291 +16
bc_err_msgs 172 168 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 16/-4) Total: 12 bytes
text data bss dec hex filename
987911 485 7296 995692 f316c busybox_old
987923 485 7296 995704 f3178 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
never used
It was only used to indicate rusult of bc_map_insert() - did we insert, or
did we find that this key is already in the map?
function old new delta
bc_map_insert 142 145 +3
bc_program_addFunc 226 225 -1
bc_err_msgs 184 180 -4
bc_program_search 152 143 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 3/-14) Total: -11 bytes
text data bss dec hex filename
987904 485 7296 995685 f3165 busybox_old
987873 485 7296 995654 f3146 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
bc_lex_token 1369 1344 -25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
The most informative message can be generated at the location
where error is detected. The "error codes" are stupid:
print error meesage immediately, then just return "there was an error"
indicator.
All error codes will be converted. For now, converting these two.
For now, this and following changes will degrade error messages
quality. For example, file name and line number printouts may be lost.
This will be re-added later.
This change anlso fixes handling of invalid stdin input:
this used to cause interactive bc to exit:
....
>>> ς
bc: illegal character 0xcf
bc: illegal character 0x82
>>> _
function old new delta
bc_error - 42 +42
bc_lex_token 1333 1369 +36
dc_lex_token 675 695 +20
bc_read_line 311 325 +14
bc_num_a 456 454 -2
bc_err_msgs 188 184 -4
bc_num_ulong 95 85 -10
bc_vm_run 1984 1955 -29
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/4 up/down: 112/-45) Total: 67 bytes
text data bss dec hex filename
987828 485 7296 995609 f3119 busybox_old
987929 485 7296 995710 f317e busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|