diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-03-12 00:34:10 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-03-12 00:34:10 -0700 |
commit | 5bf88f48fe8233955b3346ccea14f8e3fae38286 (patch) | |
tree | da9adbd5427b8e69e2ace69794f64fe4e1e4b494 /lib.h | |
parent | 5382f4a6aa4a38c5f2f229f79bee55dfcb3843fc (diff) | |
download | txr-5bf88f48fe8233955b3346ccea14f8e3fae38286.tar.gz txr-5bf88f48fe8233955b3346ccea14f8e3fae38286.tar.bz2 txr-5bf88f48fe8233955b3346ccea14f8e3fae38286.zip |
* eval.c (plus_s, prof_s): New symbol global variables.
(op_prof, me_pprof): New static functions.
(eval_init): Intern prof symbol, store in prof_s.
Captured interned + symbol in plus_s. Register prof operator and pprof
macro.
* gc.c (gc_bytes): New global variable.
(more): Use nse function chk_malloc_gc_more instead of chk_malloc.
(make_obj): Increment gc_bytes.
* lib.c (malloc_bytes): New global variable.
(chk_malloc, chk_realloc): Increment malloc_bytes.
(chk_calloc): Bugfix: incorrect size in recursion into oom_realloc.
Incorrect calculation of malloc_high_bound. Increment malloc_bytes.
(chk_malloc_gc_more): New function.
* lib.h (alloc_bytes_t): New typedef.
(malloc_bytes, gc_bytes): Declared.
(chk_malloc_gc_more): Declared.
* stream.c (format_s): New symbol global.
(stream_init): format_s inited.
format_s used to register formatv function.
* stream.h (format_s): Declared.
* txr.1: Documented prof and pprof.
* genvim.txr: Recognize reg_fun calls with intern
followed by a preceding assignment or other syntax.
* txr.vim: Updated.
Diffstat (limited to 'lib.h')
-rw-r--r-- | lib.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -358,6 +358,15 @@ extern val prog_string; extern mem_t *(*oom_realloc)(mem_t *, size_t); +#if HAVE_ULONGLONG_T +typedef ulonglong_t alloc_bytes_t; +#else +typedef unsigned long alloc_bytes_t; +#endif + +extern alloc_bytes_t malloc_bytes; +extern alloc_bytes_t gc_bytes; + val identity(val obj); val typeof(val obj); val type_check(val obj, int); @@ -426,6 +435,7 @@ val none_satisfy(val list, val pred, val key); val eql(val left, val right); val equal(val left, val right); mem_t *chk_malloc(size_t size); +mem_t *chk_malloc_gc_more(size_t size); mem_t *chk_calloc(size_t n, size_t size); mem_t *chk_realloc(mem_t *, size_t size); int in_malloc_range(mem_t *); |