mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-05-31 08:41:11 +00:00
move to using a hash table for builtin number -> builtin lookup so sparse
ranges can be used efficiently. move the auto-allocated builtins to 0x10000000-0x7fffffff. should be more than enough :) use static builtin tables ("nul" terminated) instead of a series of function calls to add builtins to a vm. should be more memory efficient.
This commit is contained in:
parent
a87fc16d12
commit
acd54afff7
23 changed files with 620 additions and 526 deletions
|
@ -149,18 +149,23 @@ bi_printf (progs_t *pr)
|
|||
dstring_delete (dstr);
|
||||
}
|
||||
|
||||
static builtin_t builtins[] = {
|
||||
{"print", bi_print, 1},
|
||||
{"errno", bi_errno, 3},
|
||||
{"strerror", bi_strerror, 4},
|
||||
{"open", bi_open, 5},
|
||||
{"close", bi_close, 6},
|
||||
{"read", bi_read, 7},
|
||||
{"write", bi_write, 8},
|
||||
{"seek", bi_seek, 9},
|
||||
{"traceon", bi_traceon, 10},
|
||||
{"traceoff", bi_traceoff, 11},
|
||||
{"printf", bi_printf, 12},
|
||||
{0}
|
||||
};
|
||||
|
||||
void
|
||||
BI_Init (progs_t *pr)
|
||||
{
|
||||
PR_AddBuiltin (pr, "print", bi_print, 1);
|
||||
PR_AddBuiltin (pr, "errno", bi_errno, 3);
|
||||
PR_AddBuiltin (pr, "strerror", bi_strerror, 4);
|
||||
PR_AddBuiltin (pr, "open", bi_open, 5);
|
||||
PR_AddBuiltin (pr, "close", bi_close, 6);
|
||||
PR_AddBuiltin (pr, "read", bi_read, 7);
|
||||
PR_AddBuiltin (pr, "write", bi_write, 8);
|
||||
PR_AddBuiltin (pr, "seek", bi_seek, 9);
|
||||
PR_AddBuiltin (pr, "traceon", bi_traceon, 10);
|
||||
PR_AddBuiltin (pr, "traceoff", bi_traceoff, 11);
|
||||
PR_AddBuiltin (pr, "printf", bi_printf, 12);
|
||||
PR_RegisterBuiltins (pr, builtins);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue