Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						d8078a79be 
					 
					
						
						
							
							dc: fix EOF handling in case of last line being incomplete  
						
						... 
						
						
						
						This wasn't working correctly:
$ echo -ne '10 20+p' | dc
30
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 21:56:06 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						d6ad3666dc 
					 
					
						
						
							
							bc: further conversions to "z" logic  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_exec                                     3876       -   -3876
zbc_program_exec                                       -    3963   +3963
bc_program_execStr                                   429       -    -429
zbc_program_execStr                                    -     427    +427
bc_vm_file                                           197       -    -197
zbc_vm_file                                            -     187    +187
bc_vm_process                                         74       -     -74
zbc_vm_process                                         -      61     +61
bc_parse_pushIndex                                    66      68      +2
bc_vm_run                                            624     618      -6
dc_main                                              187     176     -11
bc_program_reset                                      64       -     -64
zbc_program_pushArray                                111       -    -111
------------------------------------------------------------------------------
(add/remove: 4/6 grow/shrink: 1/2 up/down: 4640/-4768)       Total: -128 bytes
   text	   data	    bss	    dec	    hex	filename
 980922	    485	   7296	 988703	  f161f	busybox_old
 980794	    485	   7296	 988575	  f159f	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 21:39:10 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						c2da68e896 
					 
					
						
						
							
							bc: optimize bc_parse_pushIndex()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_parse_pushIndex                                    80      68     -12
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 16:44:34 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						26819db9a3 
					 
					
						
						
							
							bc: convert even more of lexer functions to "z" convention  
						
						... 
						
						
						
						function                                             old     new   delta
bc_parse_name                                        416       -    -416
zbc_parse_name                                         -     414    +414
bc_parse_parse                                       305       -    -305
zbc_parse_parse                                        -     311    +311
bc_program_read                                      271       -    -271
zbc_program_read                                       -     261    +261
bc_parse_text                                        129       -    -129
zbc_parse_text                                         -     122    +122
dc_parse_parse                                        26       -     -26
zdc_parse_parse                                        -      23     +23
bc_program_index                                      66      64      -2
bc_vm_process                                         92      74     -18
bc_program_execStr                                   460     429     -31
bc_parse_expr_empty_ok                              1939    1882     -57
------------------------------------------------------------------------------
(add/remove: 5/5 grow/shrink: 0/4 up/down: 1131/-1255)       Total: -124 bytes
   text	   data	    bss	    dec	    hex	filename
 981058	    485	   7296	 988839	  f16a7	busybox_old
 980934	    485	   7296	 988715	  f162b	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 16:09:47 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						ae0faf91d0 
					 
					
						
						
							
							bc: convert even more of lexer functions to "z" convention  
						
						... 
						
						
						
						function                                             old     new   delta
bc_parse_stmt                                       1594       -   -1594
zbc_parse_stmt                                         -    1540   +1540
common_parse_expr                                     43       -     -43
zcommon_parse_expr                                     -      40     +40
bc_parse_expr                                         24       -     -24
zbc_parse_expr                                         -      24     +24
zbc_parse_body                                       108     104      -4
bc_program_read                                      277     271      -6
bc_program_execStr                                   468     460      -8
bc_parse_expr_empty_ok                              1955    1939     -16
bc_parse_name                                        451     416     -35
bc_parse_parse                                       476     305    -171
------------------------------------------------------------------------------
(add/remove: 3/3 grow/shrink: 0/6 up/down: 1604/-1901)       Total: -297 bytes
   text	   data	    bss	    dec	    hex	filename
 981355	    485	   7296	 989136	  f17d0	busybox_old
 981058	    485	   7296	 988839	  f16a7	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 15:19:54 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						8cd468f604 
					 
					
						
						
							
							bc: convert more of lexer functions to "z" convention  
						
						... 
						
						
						
						function                                             old     new   delta
dc_parse_expr                                        748       -    -748
zdc_parse_expr                                         -     688    +688
bc_parse_endBody                                     338       -    -338
zbc_parse_endBody                                      -     343    +343
bc_parse_auto                                        201       -    -201
zbc_parse_auto                                         -     198    +198
dc_parse_mem                                         115       -    -115
zdc_parse_mem                                          -     108    +108
bc_parse_body                                        116       -    -116
zbc_parse_body                                         -     108    +108
bc_parse_string                                      102       -    -102
zbc_parse_string                                       -     100    +100
dc_parse_register                                     43       -     -43
zdc_parse_register                                     -      40     +40
common_parse_expr                                     40      43      +3
bc_parse_parse                                       321     476    +155
bc_parse_stmt                                       1598    1594      -4
dc_parse_parse                                        44      26     -18
bc_parse_reset                                       153       -    -153
------------------------------------------------------------------------------
(add/remove: 7/8 grow/shrink: 2/2 up/down: 1743/-1838)        Total: -95 bytes
   text	   data	    bss	    dec	    hex	filename
 981450	    485	   7296	 989231	  f182f	busybox_old
 981355	    485	   7296	 989136	  f17d0	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 14:57:15 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						9a34e89289 
					 
					
						
						
							
							bc: partially convert lexer functions to "z" convention  
						
						... 
						
						
						
						function                                             old     new   delta
bc_lex_token                                        1228       -   -1228
zbc_lex_token                                          -    1193   +1193
dc_lex_token                                         674       -    -674
zdc_lex_token                                          -     672    +672
bc_parse_operator                                    177       -    -177
zbc_parse_operator                                     -     175    +175
bc_parse_else                                        133       -    -133
zbc_parse_else                                         -     133    +133
bc_lex_next                                           91       -     -91
zbc_lex_next                                           -      81     +81
dc_parse_expr                                        744     748      +4
bc_parse_string                                      100     102      +2
bc_parse_body                                        114     116      +2
dc_parse_mem                                         116     115      -1
bc_parse_text                                        130     129      -1
dc_parse_register                                     51      43      -8
bc_parse_endBody                                     358     338     -20
bc_parse_name                                        513     451     -62
bc_parse_auto                                        265     201     -64
bc_parse_expr_empty_ok                              2032    1955     -77
bc_parse_parse                                       417     321     -96
bc_parse_stmt                                       1753    1598    -155
------------------------------------------------------------------------------
(add/remove: 5/5 grow/shrink: 3/9 up/down: 2262/-2787)       Total: -525 bytes
   text	   data	    bss	    dec	    hex	filename
 981975	    485	   7296	 989756	  f1a3c	busybox_old
 981450	    485	   7296	 989231	  f182f	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 13:58:55 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						251fbb57be 
					 
					
						
						
							
							bc: code shrink in bc_num_cmp()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_cmp                                           275     231     -44
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 11:51:32 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						16494f557f 
					 
					
						
						
							
							bc: simplify zbc_program_logical()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_exec                                     3918    3876     -42
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-42)             Total: -42 bytes
   text	   data	    bss	    dec	    hex	filename
 982061	    485	   7296	 989842	  f1a92	busybox_old
 982019	    485	   7296	 989800	  f1a68	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 00:51:53 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						69171dc466 
					 
					
						
						
							
							bc: simplify nested read() check  
						
						... 
						
						
						
						function                                             old     new   delta
bc_vm_run                                            622     624      +2
dc_main                                              186     187      +1
bc_main                                               72      73      +1
bc_program_read                                      312     277     -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 4/-35)             Total: -31 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-12 00:29:24 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						12b9eaf787 
					 
					
						
						
							
							bc: in non-interactive config, POSIX error functions never return nonzero  
						
						... 
						
						
						
						function                                             old     new   delta
bc_parse_expr_empty_ok                              2036    2032      -4
bc_parse_stmt                                       1767    1753     -14
bc_lex_token                                        1259    1228     -31
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-49)             Total: -49 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 23:50:14 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						f0f069b08f 
					 
					
						
						
							
							bc: use common_parse_init() in bc_vm_init()  
						
						... 
						
						
						
						function                                             old     new   delta
common_parse_init                                     26      45     +19
dc_parse_init                                         17       -     -17
bc_parse_init                                         17       -     -17
bc_vm_init                                           744     725     -19
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/1 up/down: 19/-53)            Total: -34 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 23:22:52 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						4dd3652c2f 
					 
					
						
						
							
							bc: fix EOF handling in bc_program_read()  
						
						... 
						
						
						
						$ bc -q
read()
2^D^D2
     ^ prints the result of read()'ed expression
function                                             old     new   delta
zbc_program_print                                    629     642     +13
bc_program_read                                      322     312     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 13/-10)              Total: 3 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 22:45:15 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						2c6f563216 
					 
					
						
						
							
							bc: tweak comment  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 21:21:14 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						c008a73762 
					 
					
						
						
							
							bc: convert bc_program_asciify to "z" function  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 20:57:53 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						9f657e0f7d 
					 
					
						
						
							
							bc: shrink bc_program_printString  
						
						... 
						
						
						
						function                                             old     new   delta
zbc_program_print                                    665     642     -23
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 19:52:25 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						259137d0f0 
					 
					
						
						
							
							bc: convert zbc_program_op to "z" function, fix a thinko in prev commits  
						
						... 
						
						
						
						function                                             old     new   delta
zbc_program_assign                                   448     447      -1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 19:44:14 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						728e7c9ecb 
					 
					
						
						
							
							bc: convert bc_program_logical to "z" function  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 19:37:00 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						09d8df84ee 
					 
					
						
						
							
							bc: do not use "(cond ? f1 : f2)(params)" idiom, it messes up static function optimizations  
						
						... 
						
						
						
						With direct calls, GCC no longer thinks that we take addresses of the functions,
and can use "more optimal" internal ABI for _all_ calls to these functions,
not only at this callsite. On i486, regparm is used, and:
function                                             old     new   delta
zbc_num_inv                                           56      57      +1
zbc_num_k                                            852     851      -1
zbc_program_modexp                                   558     556      -2
zbc_num_d                                            541     539      -2
bc_num_ulong2num                                      59      57      -2
zbc_program_num                                      840     836      -4
bc_num_zero                                           11       7      -4
bc_num_one                                            28      24      -4
bc_program_exec                                     3928    3918     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/8 up/down: 1/-29)             Total: -28 bytes
   text	   data	    bss	    dec	    hex	filename
 982237	    485	   7296	 990018	  f1b42	busybox_old
 982209	    485	   7296	 989990	  f1b26	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 19:33:09 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						7f4daa4f58 
					 
					
						
						
							
							bc: convert arithmetic calc functions to "z" logic  
						
						... 
						
						
						
						In order for magic macros to work, a bit of reordering was necessary.
function                                             old     new   delta
zbc_program_modexp                                     -     558    +558
zbc_program_assign                                     -     448    +448
zbc_program_pushArray                                  -     111    +111
zbc_num_s                                            239     237      -2
zbc_num_d                                            543     541      -2
zbc_num_binary                                       145     143      -2
zbc_num_a                                            443     441      -2
zbc_num_rem                                           95      91      -4
zbc_num_divmod                                       150     146      -4
zbc_num_m                                            269     257     -12
zbc_num_r                                            230     208     -22
zbc_num_printNum                                     447     417     -30
bc_program_exec                                     3960    3928     -32
zbc_num_p                                            434     399     -35
zbc_program_num                                      880     840     -40
zbc_num_k                                            913     852     -61
zbc_program_printStream                              141       -    -141
bc_program_assign                                    455       -    -455
bc_program_modexp                                    668       -    -668
------------------------------------------------------------------------------
(add/remove: 3/3 grow/shrink: 0/13 up/down: 1117/-1512)      Total: -395 bytes
   text	   data	    bss	    dec	    hex	filename
 982632	    485	   7296	 990413	  f1ccd	busybox_old
 982237	    485	   7296	 990018	  f1b42	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 19:22:04 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						1aeacefbb3 
					 
					
						
						
							
							bc: rename arithmetic calc functions to "z" functions, no code changes  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 19:12:13 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						c2d15dff42 
					 
					
						
						
							
							bc: move declarations around, no code changes  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 17:56:09 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						c355c4a7d6 
					 
					
						
						
							
							bc: code shrink in zbc_lex_number()  
						
						... 
						
						
						
						function                                             old     new   delta
zbc_lex_number                                       279     190     -89
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 17:36:21 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						b402ff844c 
					 
					
						
						
							
							bc: make bc_program_pushVar "z-function"  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_pushVar                                   200     198      -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 15:45:15 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						2930123279 
					 
					
						
						
							
							bc: improve "noninteractive" macro machinery so that even "return zero" code is not generated  
						
						... 
						
						
						
						Most affected functions shrink by 2 bytes on x86.
function                                             old     new   delta
zbc_program_num                                        -     880    +880
zbc_program_print                                      -     665    +665
zbc_num_printNum                                       -     447    +447
zbc_program_call                                       -     323    +323
zbc_program_copyToVar                                  -     287    +287
zbc_lex_number                                         -     279    +279
zbc_program_binOpPrep                                  -     269    +269
zbc_program_assignStr                                  -     142    +142
zbc_program_printStream                                -     141    +141
zbc_func_insert                                        -      93     +93
zbc_num_ulong                                          -      88     +88
zbc_program_prep                                       -      79     +79
zbc_num_shift                                          -      53     +53
bc_num_shift                                          54       -     -54
bc_program_prep                                       81       -     -81
bc_num_ulong                                          90       -     -90
bc_func_insert                                        95       -     -95
bc_program_printStream                               143       -    -143
bc_program_assignStr                                 144       -    -144
bc_program_binOpPrep                                 271       -    -271
bc_lex_number                                        281       -    -281
bc_program_copyToVar                                 289       -    -289
bc_program_call                                      325       -    -325
bc_num_printNum                                      471       -    -471
bc_program_print                                     667       -    -667
bc_program_num                                       880       -    -880
------------------------------------------------------------------------------
(add/remove: 13/13 grow/shrink: 0/0 up/down: 3746/-3791)      Total: -45 bytes
   text	   data	    bss	    dec	    hex	filename
 982779	    485	   7296	 990560	  f1d60	busybox_old
 982734	    485	   7296	 990515	  f1d33	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-11 15:29:32 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						91cde95916 
					 
					
						
						
							
							bc: it's not clear bc_vm_file() always exits on errors, remove ERRORS_ARE_FATAL  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 20:56:44 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						628bf1bc63 
					 
					
						
						
							
							bc: more ERRORS_ARE_FATAL annotations  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_exec                                     3920    3969     +49
bc_program_call                                      329     325      -4
bc_vm_run                                            622     616      -6
bc_program_modexp                                    677     668      -9
bc_program_assign                                    471     455     -16
bc_program_pushArray                                 113       -    -113
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/4 up/down: 49/-148)           Total: -99 bytes
   text	   data	    bss	    dec	    hex	filename
 982872	    485	   7296	 990653	  f1dbd	busybox_old
 982773	    485	   7296	 990554	  f1d5a	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 20:41:05 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						88cfea6a81 
					 
					
						
						
							
							bc: stop checking for name length in bc_lex_name()  
						
						... 
						
						
						
						Gigabyte-long names are not a practical concern.
function                                             old     new   delta
bc_lex_name                                           73      69      -4
bc_lex_token                                        1266    1259      -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-11)             Total: -11 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 20:26:04 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						fa35e598ab 
					 
					
						
						
							
							bc: optimize non-interactive config: we know that many functions always succeed  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_assign                                    475     471      -4
bc_program_prep                                       87      81      -6
bc_parse_parse                                       423     417      -6
bc_num_p                                             440     434      -6
bc_program_printStream                               153     143     -10
bc_program_execStr                                   478     468     -10
bc_parse_auto                                        275     265     -10
bc_num_k                                             925     913     -12
bc_program_copyToVar                                 307     289     -18
bc_program_binOpPrep                                 289     271     -18
bc_num_printNum                                      489     471     -18
bc_num_m                                             287     269     -18
bc_program_pushArray                                 139     113     -26
bc_program_modexp                                    707     677     -30
bc_program_print                                     704     667     -37
bc_program_exec                                     4010    3920     -90
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/16 up/down: 0/-319)          Total: -319 bytes
   text	   data	    bss	    dec	    hex	filename
 983202	    485	   7296	 990983	  f1f07	busybox_old
 982883	    485	   7296	 990664	  f1dc8	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 20:17:24 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						86e63cdeca 
					 
					
						
						
							
							bc: in non-interactive config, let compiler know that error funcs do not return  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_s                                             235     239      +4
bc_lex_next                                           92      91      -1
dc_parse_register                                     53      51      -2
dc_parse_parse                                        46      44      -2
bc_vm_run                                            624     622      -2
bc_program_assignStr                                 146     144      -2
bc_parse_else                                        135     133      -2
bc_parse_body                                        116     114      -2
bc_num_a                                             445     443      -2
bc_func_insert                                        97      95      -2
bc_program_pushVar                                   203     200      -3
bc_parse_text                                        133     130      -3
bc_error_bad_character                                17      14      -3
bc_error                                              14      11      -3
bc_program_printStream                               157     153      -4
bc_program_prep                                       91      87      -4
bc_program_copyToVar                                 311     307      -4
bc_num_ulong                                          95      90      -5
bc_num_p                                             445     440      -5
bc_program_print                                     711     704      -7
bc_parse_endBody                                     365     358      -7
bc_num_r                                             237     230      -7
bc_num_d                                             550     543      -7
dc_lex_token                                         682     674      -8
bc_program_pushArray                                 147     139      -8
bc_program_assign                                    485     475     -10
bc_program_read                                      333     322     -11
bc_lex_token                                        1278    1266     -12
bc_parse_stmt                                       1780    1767     -13
bc_program_modexp                                    723     707     -16
dc_parse_expr                                        762     744     -18
bc_program_execStr                                   496     478     -18
bc_program_call                                      347     329     -18
bc_vm_file                                           219     197     -22
bc_program_binOpPrep                                 311     289     -22
bc_parse_name                                        539     513     -26
bc_parse_parse                                       451     423     -28
bc_program_num                                       912     880     -32
bc_read_line                                         172     139     -33
bc_program_exec                                     4048    4010     -38
bc_parse_auto                                        313     275     -38
bc_parse_expr_empty_ok                              2095    2036     -59
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/41 up/down: 4/-509)          Total: -505 bytes
   text	   data	    bss	    dec	    hex	filename
 983707	    485	   7296	 991488	  f2100	busybox_old
 983202	    485	   7296	 990983	  f1f07	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 19:46:53 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						dafbc2cdb8 
					 
					
						
						
							
							bc: simplify bc_num_parseDecimal() further  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_num                                       925     912     -13
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 15:38:52 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						5ba55f1f35 
					 
					
						
						
							
							bc: make all function pointers FAST_FUNC, on i486 this saves ~400 bytes  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_rem                                            91      95      +4
bc_num_inv                                            53      56      +3
bc_num_d                                             569     572      +3
bc_num_printDigits                                   136     137      +1
bc_program_assign                                    486     485      -1
dc_lex_token                                         684     682      -2
bc_vec_pop                                            27      25      -2
bc_vec_npop                                           55      53      -2
bc_program_read                                      335     333      -2
bc_program_print                                     713     711      -2
bc_parse_parse                                       462     460      -2
bc_lex_token                                        1280    1278      -2
bc_num_printChar                                      27      24      -3
bc_num_binary                                        150     147      -3
dc_parse_parse                                        59      55      -4
bc_vm_run                                            630     626      -4
bc_num_printHex                                       71      67      -4
bc_num_divmod                                        155     150      -5
bc_vec_free                                           24      18      -6
bc_string_free                                        15       9      -6
bc_num_free                                           15       9      -6
bc_id_free                                            15       9      -6
bc_parse_free                                         53      46      -7
bc_program_scale                                       8       -      -8
bc_num_r                                             245     237      -8
bc_func_free                                          35      27      -8
bc_result_free                                        57      46     -11
bc_num_a                                             454     443     -11
bc_num_sub                                            77      65     -12
bc_num_add                                            77      65     -12
bc_program_modexp                                    736     723     -13
bc_num_s                                             252     239     -13
bc_num_mul                                            62      49     -13
bc_num_mod                                            62      49     -13
bc_num_div                                            62      49     -13
bc_num_pow                                            47      31     -16
bc_program_exec                                     4081    4059     -22
bc_num_printNum                                      514     489     -25
bc_num_p                                             478     445     -33
bc_program_len                                        34       -     -34
bc_program_num                                       963     925     -38
bc_num_k                                             988     944     -44
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 4/36 up/down: 11/-416)         Total: -405 bytes
   text	   data	    bss	    dec	    hex	filename
 984536	    485	   7296	 992317	  f243d	busybox_old
 984131	    485	   7296	 991912	  f22a8	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 15:37:14 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						c665c183f1 
					 
					
						
						
							
							bc: 0xffffffffffffffff may be larger than unsigned long  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 15:15:42 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						8b4cf0dbb0 
					 
					
						
						
							
							bc: optimize bc_vec_concat()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_vec_concat                                         71      66      -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 15:12:58 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						a7f1a36540 
					 
					
						
						
							
							bc: simplify bc_program_len()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_len                                        42      34      -8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 12:57:01 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						44d79d866d 
					 
					
						
						
							
							bc: simplify bc_program_print()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_print                                     730     713     -17
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 12:33:40 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						b696d9ec20 
					 
					
						
						
							
							bc: simplify bc_num_ulong2num()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_ulong2num                                      64      59      -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 12:22:15 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						9311e01803 
					 
					
						
						
							
							bc: move str-to-num conversion functions to their only caller, bc_num_parse()  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-10 11:54:59 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						218ed1cf54 
					 
					
						
						
							
							bc: further simplify string-to-number conversion code  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_index                                      66      64      -2
bc_program_num                                       983     963     -20
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-22)             Total: -22 bytes
   text	   data	    bss	    dec	    hex	filename
 985706	    477	   7296	 993479	  f28c7	busybox_old
 985684	    477	   7296	 993457	  f28b1	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-09 13:33:52 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						4a024c7719 
					 
					
						
						
							
							bc: simplify string-tonumber conversion code  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_num                                      1108     983    -125
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-125)           Total: -125 bytes
   text	   data	    bss	    dec	    hex	filename
 985831	    477	   7296	 993604	  f2944	busybox_old
 985706	    477	   7296	 993479	  f28c7	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-09 13:21:54 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						3129f705fc 
					 
					
						
						
							
							bc: no need to "set to zero" BcNum after bc_num_init(), it already is  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_init                                           48      49      +1
bc_program_num                                      1115    1108      -7
bc_program_exec                                     4098    4081     -17
bc_vm_init                                           786     768     -18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 1/-42)             Total: -41 bytes
   text	   data	    bss	    dec	    hex	filename
 985872	    477	   7296	 993645	  f296d	busybox_old
 985831	    477	   7296	 993604	  f2944	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-09 12:04:44 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						e20e00de34 
					 
					
						
						
							
							bc: add and use bc_num_init_DEF_SIZE()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_init_DEF_SIZE                                   -      10     +10
bc_num_binary                                        150     148      -2
bc_program_pushVar                                   208     203      -5
bc_program_modexp                                    741     736      -5
bc_program_copyToVar                                 316     311      -5
bc_program_call                                      352     347      -5
bc_array_expand                                       88      83      -5
bc_program_num                                      1125    1115     -10
bc_vm_init                                           821     786     -35
bc_program_exec                                     4152    4098     -54
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/9 up/down: 10/-126)          Total: -116 bytes
   text	   data	    bss	    dec	    hex	filename
 985988	    477	   7296	 993761	  f29e1	busybox_old
 985872	    477	   7296	 993645	  f296d	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-09 11:44:20 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						5ec4b49125 
					 
					
						
						
							
							bc: in bc_program_execStr(), push two variables into inner scope  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_execStr                                   502     496      -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-09 02:54:06 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						927a7d6853 
					 
					
						
						
							
							bc: in bc_program_exec(), push two variables into inner scope  
						
						... 
						
						
						
						While at it, delete empty lines.
function                                             old     new   delta
bc_program_exec                                     4179    4152     -27
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-09 02:24:14 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						8fa1e8e6e7 
					 
					
						
						
							
							bc: add accessors for G.prog.strs[idx], G.prog.fns[idx]  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_str                                         -      17     +17
bc_program_func                                        -      17     +17
bc_program_addFunc                                   209     204      -5
bc_program_reset                                      70      64      -6
bc_program_printStream                               163     157      -6
bc_program_print                                     736     730      -6
bc_vm_file                                           226     219      -7
bc_parse_text                                        143     133     -10
bc_parse_reset                                       163     153     -10
bc_parse_endBody                                     375     365     -10
bc_parse_create                                      168     158     -10
bc_parse_addFunc                                      41      31     -10
bc_program_call                                      364     352     -12
bc_program_read                                      350     335     -15
bc_program_execStr                                   528     502     -26
bc_program_exec                                     4219    4179     -40
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/14 up/down: 34/-173)         Total: -139 bytes
   text	   data	    bss	    dec	    hex	filename
 985043	    485	   7296	 992824	  f2638	busybox_old
 984904	    485	   7296	 992685	  f25ad	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-09 00:03:57 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						0f37b3286a 
					 
					
						
						
							
							bc: eliminate always the same params to bc_num_printBase()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_print                                     739     736      -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-08 23:48:53 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						ebc41c9d94 
					 
					
						
						
							
							bc: remove redundant error checks in bc_parse_print()  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-08 23:36:28 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						5f1b90b91a 
					 
					
						
						
							
							bc: stop propagating pointer to G.prog.nchars deep into printing functions  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_printHex                                       62      71      +9
bc_num_printNewline                                   47      54      +7
bc_num_printDigits                                   132     136      +4
bc_num_printChar                                      23      27      +4
bc_program_printStream                               173     163     -10
bc_program_print                                     754     739     -15
bc_num_printNum                                      538     514     -24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/3 up/down: 24/-49)            Total: -25 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-08 23:18:06 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						2a8ad48734 
					 
					
						
						
							
							bc: do not pass line width in parameters, it's in globals  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_printNewline                                   36      47     +11
bc_num_printHex                                       70      62      -8
bc_num_printDigits                                   142     132     -10
bc_program_printStream                               185     173     -12
bc_program_print                                     773     754     -19
bc_num_printNum                                      563     538     -25
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/5 up/down: 11/-74)            Total: -63 bytes
   text	   data	    bss	    dec	    hex	filename
 985122	    485	   7296	 992903	  f2687	busybox_old
 985059	    485	   7296	 992840	  f2648	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-08 21:56:37 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						ac6ed11f8d 
					 
					
						
						
							
							bc: remove "ready for more input" message, GNU bc does not print that  
						
						... 
						
						
						
						function                                             old     new   delta
bc_read_line                                         285     268     -17
bc_vm_run                                            684     630     -54
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-71)             Total: -71 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-08 21:39:10 +01:00