aboutsummaryrefslogtreecommitdiffhomepage
path: root/obj
Commit message (Collapse)AuthorAgeFilesLines
* various relocation related optimization lemon2025-12-143-33/+40
| | | | | | | | | | With 59ca5a8db, querying if a symbol is defined is cheap. If we're compiling code that calls foo() and we defined foo() in this compilation unit, we already know its offset within the .text section, so use it instead of emitting a relocation for the linker to handle. Also, put small literal data in the .text section instead of .rodata. This seems to improve performance (cache locality?), and as a bonus, it will be good for aarch64's instr encoding with smallish PC-relative offsets.
* elf: use a hashmap for looking up symbols lemon2025-12-141-31/+47
| | | | | Gets rid of linear-time findsym(), though needs some extra indirection to emit sorted symbols.
* s/amd64/x86_64/ lemon2025-12-121-3/+3
|
* elf: initialize str hashtable to a nicer size lemon2025-12-091-0/+1
|
* add command-line predefined macros (-D, -U) lemon2025-12-061-3/+3
|
* c: make tentative definitions work lemon2025-12-023-0/+22
|
* Organize source files into directories lemon2025-10-194-0/+866