mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +00:00
13ee75150c
This change turns symbol table compression back on using Puff, which noticeably reduces the size of programs like redbean and Python. The redbean web server receives some minor API additions for controlling things like SSL in addition to filling gaps in the documentation.
75 lines
3.3 KiB
ArmAsm
75 lines
3.3 KiB
ArmAsm
#include "libc/macros.internal.h"
|
||
|
||
// generated by:
|
||
// o//tool/build/xlat.com -DUL '.-*_' -iskEscapeParam
|
||
//
|
||
// present absent
|
||
// ──────────────── ────────────────
|
||
// ∅☺☻♥♦♣♠•◘○◙♂♀♪♫☼ 0x00
|
||
// ►◄↕‼¶§▬↨↑↓→←∟↔▲▼ 0x10
|
||
// ␠!“#§%&‘() +, / * -. 0x20
|
||
// :;<=>⁇ 0123456789 0x30
|
||
// @ ABCDEFGHIJKLMNO 0x40
|
||
// [⭝]^ PQRSTUVWXYZ _ 0x50
|
||
// ` abcdefghijklmno 0x60
|
||
// {|}~⌂ pqrstuvwxyz 0x70
|
||
// ÇüéâäàåçêëèïîìÄÅ 0x80
|
||
// ÉæÆôöòûùÿÖÜ¢£¥€ƒ 0x90
|
||
// áíóúñѪº¿⌐¬½¼¡«» 0xa0
|
||
// ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐ 0xb0
|
||
// └┴┬├─┼╞╟╚╔╩╦╠═╬╧ 0xc0
|
||
// ╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ 0xd0
|
||
// αßΓπΣσμτΦΘΩδ∞φε∩ 0xe0
|
||
// ≡±≥≤⌠⌡÷≈°∙×√ⁿ²■λ 0xf0
|
||
//
|
||
// const char kEscapeParam[256] = {
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x00
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x10
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, // 0x20
|
||
// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, // 0x30
|
||
// 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x40
|
||
// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, // 0x50
|
||
// 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x60
|
||
// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, // 0x70
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x80
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x90
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xa0
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xb0
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xc0
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xd0
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xe0
|
||
// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xf0
|
||
// };
|
||
|
||
.initbss 300,_init_kEscapeParam
|
||
kEscapeParam:
|
||
.zero 256
|
||
.endobj kEscapeParam,globl
|
||
.previous
|
||
|
||
.initro 300,_init_kEscapeParam
|
||
kEscapeParam.rom:
|
||
.byte 42,1 # 00-29 ∅-)
|
||
.byte 1,0 # 2a-2a *-*
|
||
.byte 2,1 # 2b-2c +-,
|
||
.byte 2,0 # 2d-2e --.
|
||
.byte 1,1 # 2f-2f /-/
|
||
.byte 10,0 # 30-39 0-9
|
||
.byte 7,1 # 3a-40 :-@
|
||
.byte 26,0 # 41-5a A-Z
|
||
.byte 4,1 # 5b-5e [-^
|
||
.byte 1,0 # 5f-5f _-_
|
||
.byte 1,1 # 60-60 `-`
|
||
.byte 26,0 # 61-7a a-z
|
||
.byte 133,1 # 7b-ff {-λ
|
||
.byte 0,0 # terminator
|
||
.byte 0,0 # padding
|
||
.byte 0,0 # padding
|
||
.endobj kEscapeParam.rom,globl
|
||
|
||
.init.start 300,_init_kEscapeParam
|
||
call rldecode
|
||
lodsl
|
||
.init.end 300,_init_kEscapeParam
|
||
|
||
// 38 bytes total (15% original size)
|