Skgland
eac7ff680c
fix ArenaPtr payload offset logic
...
the old logic would be incorrect if the payload has higher alignment than the ArenaHeader i.e. when there is padding between the ArenaHeader and the Payload
2026-04-25 18:12:32 +02:00
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
Skgland
f7dc1d72f6
remove unused HeapCellValueView
...
it is identical to HeapCellValueTag
2026-04-22 22:16:36 +02:00
Skgland
7d0d61d789
remove no longer necessary allows
2026-02-20 22:45:09 +01:00
Skgland
5ef5a3f30a
replace custom modular_bitfields fork with update upstream
...
part of #2468
2026-02-20 22:40:33 +01:00
Skgland
5064760b1e
fix spelling
2026-01-10 18:13:59 +01:00
Skgland
119761ad10
ignore unused_parens warning
...
parens are generated by external macro
2025-11-18 21:42:00 +01:00
Mark Thom
ba7b54e8f8
fix attempted bind to bound StackVar ( #3089 )
2025-09-17 19:43:37 -07:00
Mark Thom
ffea37d899
fix f64 indexing, introduce bespoke F64Table type ( #3065 )
2025-09-11 23:58:36 -07:00
Mark Thom
cd501beb0b
very small cargo fmt
2025-08-23 14:57:56 -07:00
Mark Thom
ad29f0f180
further improvements to cyclic partial list printing ( #2635 )
2025-08-23 13:23:39 -07:00
Mark Thom
1332611f83
use OffsetTableImpl without synchronization by default
2025-07-07 22:39:47 -07:00
Bennet Bleßmann
cbdd0fbf15
make Fixnum::build_with harder to accidentally misuse
...
change trait bound order for better
2025-07-07 22:39:34 -07:00
bakaq
a9847eef65
Migrate to strict and exposed provenance
2025-07-07 22:38:12 -07:00
Mark Thom
46f259bf7d
some cosmetic tweaks
2025-07-07 22:38:12 -07:00
Mark Thom
98dae9aecc
do not allow strings containing null characters to be inlined ( #2848 )
2025-07-07 22:38:12 -07:00
Mark Thom
22080f3787
move CodeIndex to F64Table-like table
2025-07-07 22:38:12 -07:00
Mark Thom
9e1e99f961
Revert "remove Term"
...
This reverts commit 3b5879841aedecba5057c70c71da0ba23e5cd84a.
2025-07-07 22:38:10 -07:00
Mark Thom
3dee07f648
some fixes in response to miri
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
Emilie Burgun
079a69396a
Add debug asserts to UntypedArenaPtr::build_with, ::get_tag and raw_ptr_as_cell!
...
These two functions are pretty unsafe, but having these assertions makes
it easier to catch UB in testing.
2025-01-31 15:15:52 +01:00
Bennet Bleßmann
689632b51c
cleanup the slab types
...
- get rid of HeaderOrIdxPtr
- add IndexPtrSlab
- add UntypedArenaSlab
- add to_untyped for converting a typed slab into an unsyped slab
- remove TypedArenaPtr::new, as they shouldn't be created outside of this module
2024-07-07 17:12:52 +02:00
Bennet Bleßmann
285f11ccdc
add associated Payload type to ArenaAllocated
2024-07-06 15:37:08 +02:00
Bennet Bleßmann
9e7d41025a
fix saftey comment
2024-07-06 13:06:24 +02:00
Bennet Bleßmann
1ff995fedb
clippy: allow new without default
2024-07-06 13:04:55 +02:00
Bennet Bleßmann
821358c062
unify pointer width
2024-07-06 01:49:25 +02:00
Bennet Bleßmann
dd2548453b
rework some unsafe parts
...
- removed some unsafe
- added some safety comments
- add explicit types to transmute calls
- reworked UntypedArenaPtr -> TypedArenaPtr conversion
might help with mthom/scryer-prolog#2438 , I noticed fewer complains from miri after changing the default impl for `ArenaAllocated::alloc`
2024-07-05 23:45:02 +02:00
infogulch
9444e62df9
Resolve lints and format
2023-11-04 02:16:54 -05:00
Mark
8aadc99f1d
fix bugs in marker algorithm iterator
2023-10-13 14:38:50 -06:00
Skgland
b2130c2a48
run cargo fmt
2023-09-05 19:12:17 +02:00
Adrián Arroyo Calle
4523bb5b81
32 bit CI for Linux
2023-08-27 19:25:54 +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
44052cb373
Revert "Allow comparisons with stream terms"
...
This reverts commit 076a75d138 .
2023-07-12 11:44:45 -06:00
Adrián Arroyo Calle
076a75d138
Allow comparisons with stream terms
2023-07-04 17:33:48 +02:00
Mark
c36bd4dc07
introduce CutPoint heap tag so that they can be offset by call_continuation/1
2023-06-29 12:14:15 -06:00
Mark Thom
4da646252b
Revert "correct call_residue_vars/3 using new copy_term_3 ( #1239 )"
...
This reverts commit 9b35a316c9 .
2023-03-14 21:34:49 -06:00
Mark Thom
9b35a316c9
correct call_residue_vars/3 using new copy_term_3 ( #1239 )
2023-03-12 17:56:54 -06:00
Mark Thom
491472a8c5
retire TrailedAttrVarHeapLink TrailEntry tag
2023-02-10 22:52:27 -07:00
Mark Thom
1ffbf63d20
inline metacalls
2022-10-26 23:36:07 -06:00
Mark Thom
6030fae685
track f64 offsets in Literal ( #1190 )
2022-05-04 21:54:46 -06:00
Mark Thom
05c14d5780
fix comparisons to partial string tails ( #1420 )
2022-04-14 22:14:23 -06:00
Mark Thom
f3167f6b5f
add forwarding bit to all heap cells ( #1384 )
2022-04-05 20:34:27 -06:00
Mark Thom
8c99d748e2
allocate floats in dedicated buffer
2022-04-05 20:34:27 -06:00
Mark Thom
012fefa37e
retrieve F64 behind Cons tags properly ( #1369 )
2022-03-26 21:18:07 -06:00
Mark Thom
bd5d6d0686
fix parser bounds check bug ( #1333 , #1301 )
2022-03-08 21:25:19 -07:00
Mark Thom
5a132aaff4
throw error instead of overwriting builtin export ( #1225 )
2022-01-18 19:16:14 -07:00
Mark Thom
3974b6e6cd
dereference variables when looking for string terminators
2022-01-06 21:44:41 -07:00
Mark Thom
fb4e627e62
fix various partial string bugs (copying using them in arg/3)
2022-01-06 21:44:41 -07:00
Mark Thom
ef3a97cedd
detect attributed variables by properly detecting them in copy_term/2
2022-01-06 21:44:41 -07:00