5de2f06cfb
setcolor/getcolor/setbkcolor/getbkcolor/getmaxx/getmaxy/getmaxcolor/
getx/gety/moveto/moverel/setfillstyle/graphresult (graphics.h) и
gfx_get_bank/gfx_set_bank/gfx_get_draw_page/gfx_get_visible_page
(gfx.h) определены inline в публичных заголовках; state-переменные
объявлены там же (хранилище прежнее — _bgi_state.c/_gfx_state.c).
Именно `inline` БЕЗ static: проверено артефактами (.asm) — SDCC 4.5
инлайнит вызов при всех наших флагах (--opt-code-size/--opt-code-speed/
--max-allocs) и не эмитит standalone-тело; `static inline` эмитил бы
мёртвую копию каждого аксессора в КАЖДЫЙ включивший модуль. Отказ
инлайнить = громкая ошибка линковки (все 47 программ слинковались).
Экономия ~30-40Т на вызов, минус 17 .rel; по _CODE размер-нейтрально
(сайт вызова ≈ телу). size_baseline: bgitest +267/accfill +528 — это
НЕ inline, а run-рендер текста из ba09c0b (draw_scaled потянул
vspan_raw+vfill256 и сам вырос) — цена за ~2-6× скорость текста.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
49 lines
703 B
Plaintext
49 lines
703 B
Plaintext
# Эталон размеров _CODE (байт); обновление: python3 toolchain/size_check.py --update
|
|
accfill 3963
|
|
argv 3431
|
|
assrtest 3847
|
|
attrprob 4091
|
|
banked 1056
|
|
bankedbg 1067
|
|
banklocl 4832
|
|
banktest 3767
|
|
bgi_img 5931
|
|
bgitest 4053
|
|
bios_text 4470
|
|
cat 915
|
|
cblstream 6277
|
|
cbltest 6407
|
|
cblwav 6486
|
|
conio 4634
|
|
conio2 3946
|
|
dec_test 860
|
|
errno 6216
|
|
fbench 9040
|
|
fdmax 6337
|
|
filetest 11624
|
|
gets 509
|
|
gfx_dbuf 4770
|
|
gfx_demo 4261
|
|
hello 4176
|
|
hello2 4251
|
|
irqtest 5881
|
|
ls 4919
|
|
malloc 4462
|
|
mdview 19122
|
|
mdview2 27029
|
|
mem_test 4558
|
|
mouse 4394
|
|
openenv 6127
|
|
ptime 5896
|
|
rt_test 4906
|
|
seek 4177
|
|
simple 963
|
|
solidt 12381
|
|
stattest 7700
|
|
stdlib 6643
|
|
stest2 3644
|
|
strtest 1340
|
|
text_palette 5039
|
|
timedir 5471
|
|
winrest 4481
|