busybox/miscutils
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
..
adjtimex.c
bbconfig.c libarchive: add a function to unpack embedded data 2018-11-02 14:14:51 +01:00
bc.c bc: rewrite "block flag stack" using simple realloc'ed byte array 2018-12-15 00:49:16 +01:00
beep.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
chat.c chat: do not die when HANGUP param is missing. Closes 10016 2017-09-05 19:16:40 +02:00
Config.src restore documentation on the build config language 2018-06-06 15:16:48 +02:00
conspy.c
crond.c
crontab.c
dc.c dc: fix "small dc" to have standard command line API 2018-12-08 18:59:07 +01:00
devfsd.c
devmem.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
fbsplash.c fbsplash: support configurable image position 2018-03-29 18:42:11 +02:00
fbsplash.cfg
flash_eraseall.c libbb: commonalize a bit of little-endian CRC32 table generation code 2018-02-01 10:56:19 +01:00
flash_lock_unlock.c whitespace and comment format fixes, no code changes 2017-10-05 15:33:28 +02:00
flashcp.c
hdparm.c
hexedit.c hexedit: fixes for redraw and down movement causing SEGV on attempt to access 2018-07-23 14:26:55 +02:00
i2c_tools.c xargs: use bb_ask_y_confirmation_FILE() instead of homegrown copy 2018-04-07 15:23:10 +02:00
inotifyd.c
Kbuild.src
less.c less: fix fallout from "use common routine to set raw termios" 2018-04-16 10:24:48 +02:00
lsscsi.c lsscsi: fix xchdir("..") from symlink in /sys/bus/scsi/devices 2017-10-22 10:43:43 +02:00
makedevs.c
man.c
microcom.c less,microcom,lineedit: use common routine to set raw termios 2017-09-15 17:14:01 +02:00
mt.c
nandwrite.c nandwrite: cope with old headers which have no MTD_FILE_MODE_RAW 2018-01-14 13:43:31 +01:00
partprobe.c
raidautorun.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
readahead.c
rfkill.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
runlevel.c
rx.c
setfattr.c config: add size estimations for a few applets 2018-01-14 12:03:33 +01:00
setserial.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
strings.c
time.c libbb.h: always include sys/resource.h 2018-04-08 17:23:27 +02:00
ttysize.c
ubi_tools.c whitespace and comment format fixes, no code changes 2017-10-05 15:33:28 +02:00
ubirename.c
volname.c
watchdog.c