Justin Ethier
391051ba7b
GC performance improvements
...
- Increase page size
- Cache last page that had an allocation, and start from that page next time, if possible. This speeds up allocation on large heaps because we can avoid searching through the whole heap each time.
2016-11-13 16:54:57 -05:00
Justin Ethier
e636f40f99
Revert memq, memv, assq, assv back to primitives
2016-10-17 23:42:53 -04:00
Justin Ethier
54a47242bf
Adding assoc/member C functions back
2016-10-15 17:57:46 -04:00
Justin Ethier
1326d0d5c2
Added fast mul/div
2016-10-14 18:07:00 -04:00
Justin Ethier
fa53f1225e
Add fast numeric comparisons
2016-10-15 02:37:13 -04:00
Justin Ethier
bdd3edfe4f
Added fast-sub
2016-10-14 23:19:09 -04:00
Justin Ethier
96c3893cb6
WIP, added notes
2016-10-14 04:26:14 -04:00
Justin Ethier
3e037950bf
Testing Cyc_fast_sum and Cyc_fast_sub
2016-10-14 00:33:20 -04:00
Justin Ethier
6bd21b422c
WIP for get-environment-variables
2016-09-28 23:55:33 -04:00
Justin Ethier
cc16ca8de2
Store environment information
2016-09-28 23:23:24 -04:00
Justin Ethier
33b96426d6
Bit set and unset
2016-09-23 23:46:39 -04:00
Justin Ethier
e51092c8c1
Added bitwise and/or
2016-09-23 22:40:26 -04:00
Justin Ethier
9a6da192e6
Issue #107 - Purge old code
2016-09-14 18:02:53 -04:00
Justin Ethier
c564db263a
Added bytevector ports
2016-08-26 18:27:22 -04:00
Justin Ethier
25c4857eba
Issue #57 - Added open-input-string
2016-08-26 23:22:13 -04:00
Justin Ethier
9fe2e1b90b
Allocated memory port on heap
2016-08-26 03:51:42 -04:00
Justin Ethier
4aec9a341f
Added mem-streams module
2016-08-25 23:38:34 -04:00
Justin Ethier
0d81c9be1b
Added Cyc_check_proc
2016-08-05 23:30:53 -04:00
Justin Ethier
fd71dc336f
Refactoring
2016-08-04 20:22:52 -04:00
Justin Ethier
560667eef6
Only use 96-byte object heap on 64-bit platforms
2016-08-03 03:23:16 -04:00
Justin Ethier
d9c27b7756
Added notes
2016-08-02 21:49:57 -04:00
Justin Ethier
918e78cb21
Added another size heap (96 bytes)
2016-08-01 18:48:58 -04:00
Justin Ethier
a034b85d25
Added notes
2016-08-02 03:32:37 -04:00
Justin Ethier
352203bd32
Added additional debugging
2016-08-02 01:34:32 -04:00
Justin Ethier
6a50eff1e0
Fix compilation of Cyc-compilation-environment
2016-07-29 17:36:23 -04:00
Justin Ethier
5eeef5d992
Added (Cyc-compilation-environment)
2016-07-30 03:12:17 -04:00
Justin Ethier
b96a9fcedd
Added Cyc_compilation_environment()
2016-07-30 01:48:27 -04:00
Justin Ethier
129f02d70d
Added safe cxr macros
2016-07-29 19:57:15 -04:00
Justin Ethier
fe65274c77
Added Cyc_car / Cyc_cdr
2016-07-28 23:34:03 -04:00
Justin Ethier
fa24f4db37
Unsafe cell functions
2016-07-25 23:26:43 -04:00
Justin Ethier
facaf608ae
Define gc_collector_mark_gray as static
...
This is a commonly used function that the C compiler may be able to better optimize, such as inline, now that it is guaranteed to only be used within the gc.c module.
2016-07-25 21:46:30 -04:00
Justin Ethier
cfb3209648
Fixed compiler warning, replaced hexstr2int
2016-07-20 22:06:25 -04:00
Justin Ethier
d6f5a81f2d
Fixed compiler warnings
2016-07-19 23:02:21 -04:00
Justin Ethier
1c0c0bb315
Change how mutations are stored in memory
...
Use a reallocated memory buffer instead of malloc'd pairs. This should speed things up by reducing the number of allocations and by keeping mutations in contiguous sections of memory.
2016-07-15 23:14:36 -04:00
Justin Ethier
9e2a51fdae
Refactoring
2016-07-15 21:22:50 -04:00
Justin Ethier
f75b077270
Added (Cyc-macro?)
2016-07-14 22:18:46 -04:00
Justin Ethier
7caa67a51c
Include function name in args error
2016-07-12 21:05:45 -04:00
Justin Ethier
aac1c44b3d
Attempt to allocate huge vectors on the heap
2016-07-06 23:38:57 -04:00
Justin Ethier
f526eeb6f3
Populate huge object heap
2016-07-06 23:07:43 -04:00
Justin Ethier
54f217fd4b
Added gc_heap_type and HEAP_HUGE
2016-07-06 20:30:23 -04:00
Justin Ethier
199b685de3
Use only one comparison in closcall macros
...
This improves performance a bit since these macros are called after almost every C function.
2016-07-04 22:42:35 -04:00
Justin Ethier
db39595d23
Return object, not void
2016-07-01 01:07:13 -04:00
Justin Ethier
63e476839f
va_args version of apply for eval
2016-06-29 22:14:58 -04:00
Justin Ethier
67c00ae7ed
WIP version of dispatch_apply_va
2016-06-30 00:09:17 -04:00
Justin Ethier
a2dccabdb7
Initial version of gc_heap_free()
2016-06-27 20:45:23 -04:00
Justin Ethier
378b5f1c3e
Experimenting with MRG32k3a
2016-06-20 22:50:35 -04:00
Justin Ethier
24cf670237
Added Cyc-opaque?
2016-04-26 21:52:30 -04:00
Justin Ethier
161c46ac72
Added Cyc_is_opaque
2016-04-27 04:05:54 -04:00
Justin Ethier
a946a6cb69
Refactoring
2016-04-27 03:58:38 -04:00
Justin Ethier
7181268d6b
Ran 'make indent'
2016-04-27 03:49:41 -04:00