Skgland
b4db85c8c3
don't erase ptr type early when construction a Cons HeapCellValue
...
rather than passing an address as usize pass the ArenaHeader pointer
similarly don't return a u8 ptr but use a ArenaHeader pointer instead
Don't convert the pointer to a ConsPtr by going through native endian
bytes in between.
We are exploiting the fact that the 3 least significant bytes are zero
for pointer to types of alignment 8 and we expect these to line up with
the f, m, and tag field at the end of the ConsPtr struct, but using
native endiannes for this would only work on big endian systems.
2026-04-25 18:12:31 +02:00
Mark Thom
9e1e99f961
Revert "remove Term"
...
This reverts commit 3b5879841aedecba5057c70c71da0ba23e5cd84a.
2025-07-07 22:38:10 -07:00
Mark Thom
57f76169fd
run cargo fmt
2025-07-07 22:02:27 -07:00
Mark Thom
ae4d12a123
remove pstr_vec
2025-07-07 22:02:27 -07:00
Mark Thom
c0f72704ec
introduce bespoke Heap type for in-heap partial strings
2025-07-07 21:59:50 -07:00
Mark Thom
f7bbdfe73a
variable revision
2025-07-07 21:54:08 -07:00
Mark Thom
1ef681bd21
remove Term
2025-07-07 21:54:08 -07:00
bakaq
d32f3ee2f3
Fix warnings
2024-09-06 18:42:31 -03:00
Bennet Bleßmann
fcb41542c3
fix stream.rs UB
2024-07-06 14:30:03 +02:00
bakaq
f02c0eacd8
Make "cargo miri test" actually run
2024-01-09 04:38:53 -03:00
infogulch
9444e62df9
Resolve lints and format
2023-11-04 02:16:54 -05:00
Mark
6a913bc4cc
use Deutsch-Schorr-Waite to implement acyclic_term/1 ( #2128 )
2023-10-21 21:47:29 -06:00
Mark
bf46c4b5c1
use topo_sort to correct acyclic_term ( #2124 , #2125 )
2023-10-18 12:00:40 -06:00
Mark
43f0b6c28d
fix cyclicity detection through variables ( #2122 , #2123 )
2023-10-16 15:19:43 -06:00
Mark
dff2e73842
more eagerly check for cyclicity of variables in cycle detecting stackless iterator ( #2121 )
2023-10-15 17:43:29 -06:00
Mark
e2000859b6
add backward looking cyclicity check for variables in cycle detecting stackless iterator ( #2111 , #2117 )
2023-10-15 13:07:41 -06:00
Mark
3a6aee72a3
correct is_cyclic again for non-variable ref cells ( #2116 )
2023-10-15 01:28:42 -06:00
Mark
3fb2e451a2
improve cycle detection in detect_list_cycles ( #2111 )
2023-10-15 00:58:19 -06:00
Mark
7875b96956
simplify stackless iterator is_cyclic ( #2111 )
2023-10-14 23:56:46 -06:00
Mark
d96c9e00b7
correct more acyclic_term/1 issues ( #2111 , #2114 ), add acyclic_term tests
2023-10-14 18:38:10 -06:00
Mark
379c252b89
correct cyclic variable check in cycle detecting stackless iterator ( #2111 , #2113 )
2023-10-14 14:03:47 -06:00
Mark
307cb56ef5
fix bugs & incompleteness of cycle-detecting stackless iterator ( #2111 )
2023-10-14 13:00:58 -06:00
Mark
669023914a
add bounds checks for stackless iterator ( #2110 )
2023-10-14 12:11:22 -06:00
Mark
e4a677ceea
detect all cycles in roughly linear time and constant space ( #2102 )
2023-10-13 18:05:52 -06:00
Mark
8aadc99f1d
fix bugs in marker algorithm iterator
2023-10-13 14:38:50 -06:00
Bennet Bleßmann
13cbff7eab
[WIP] fix deadlock in AtomTable::build_with
2023-09-05 19:12:22 +02:00
Skgland
86166dbf25
[WIP] make AtomTable concurrentcy ready
2023-09-05 19:12:22 +02:00
Skgland
b2130c2a48
run cargo fmt
2023-09-05 19:12:17 +02:00
Rujia Liu
4fd059be5f
32-bit system support, addressing all (at most) 4GB addresses of RAM.
2023-08-24 20:05:40 +08:00
Mark
b656700294
read from machine stack in stackful pre-order iterator ( #1812 )
2023-05-28 12:59:01 -06:00
Mark Thom
1ffbf63d20
inline metacalls
2022-10-26 23:36:07 -06:00
Mark Thom
3b6138eaaa
limit use of stackless iterator to test suite
2022-04-05 21:02:39 -06:00
Mark Thom
f3167f6b5f
add forwarding bit to all heap cells ( #1384 )
2022-04-05 20:34:27 -06:00
Mark Thom
0ab928063e
make marker into an iterators, recover post_order_iterator
2022-04-05 20:34:27 -06:00
Mark Thom
c9a34bde3f
removal of old stackless iterator, implementation of new more faithful one
2022-04-05 20:34:27 -06:00
Mark Thom
d5fe2e88d1
don't mark forwarded refs in stackless iterator/marker ( #1384 )
2022-04-02 01:29:51 -06:00
Mark Thom
955e1799c8
flatten the instruction dispatch loop
2022-01-06 22:09:36 -07:00
Mark Thom
0404c3bd94
use new heap term representation
2022-01-06 21:44:38 -07:00