Rewrite ZipOS

This reduces the virtual memory usage of Emacs for me by 30%. We now
have a simpler implementation that uses read(), rather mmap()ing the
whole executable.
This commit is contained in:
Justine Tunney 2023-10-03 07:27:25 -07:00
parent ff77f2a6af
commit b01282e23e
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
21 changed files with 408 additions and 421 deletions

View file

@ -19,8 +19,6 @@
#include "libc/runtime/runtime.h"
#include "libc/runtime/symbols.internal.h"
extern struct SymbolTable *__symtab;
/**
* Returns low index into symbol table for address.
*
@ -33,8 +31,8 @@ privileged int __get_symbol(struct SymbolTable *t, intptr_t a) {
// we don't want function tracing because:
// function tracing depends on this function via kprintf
unsigned l, m, r, n, k;
if (!t && __symtab) {
t = __symtab;
if (!t && __symtab.st) {
t = __symtab.st;
}
if (t) {
l = 0;