Emilie Burgun
3c5818a040
RawBlock: seal most fields, replace top with a capacity field
2026-05-10 22:24:57 +02:00
Mark Thom
8dffd72db5
replace tabs with spaces
2026-04-21 16:22:38 -07:00
Mark Thom
703a6dddd1
dereference compare_term_test args down from stack ( #3286 , #3295 )
2026-04-21 16:02:55 -07:00
Mark Thom
5ea262e1d3
replace tabs with spaces
2026-04-21 15:02:14 -07:00
Mark Thom
010b00f349
take Lis index from rd in copy_var ( #3298 )
2026-04-21 14:31:53 -07:00
Mark Thom
9cf0d8b484
Merge pull request #3274 from no382001/issue3262
...
fix read/1 on non-TTY stdin blocking until newline
2026-04-18 18:16:53 -06:00
Mark Thom
87f97c7e5c
Merge pull request #3276 from Skgland/cleanup
...
remove unused file
2026-04-08 22:18:32 -06:00
Mark Thom
3e2f3ecfdb
Merge pull request #3273 from no382001/issue2914
...
fix panic in current_prolog_flag/2 when arguments are the same variable
2026-04-04 13:06:11 -06:00
Skgland
bb9c1cf5a2
remove unused file
2026-04-03 00:16:59 +02:00
no382001
28f8da5ce9
restructure based on suggestion
...
Co-authored-by: Bennet Bleßmann <3877590+Skgland@users.noreply.github.com >
2026-03-31 21:14:54 +02:00
no382001
c065b52778
fix read/1 on non-TTY stdin blocking until newline #3262
2026-03-31 15:52:27 +02:00
no382001
6a10c6d6a5
fix panic in current_prolog_flag/2 when arguments are the same variable
2026-03-31 12:01:00 +02:00
Skgland
3c9c7ade8d
use checked_add to prevent silent overflow
2026-03-27 22:00:54 +01:00
Skgland
5fc21241d6
hint to the compiler/branch-predictor that
...
we expect p to be in bound
if we are suffiently certain that p can never be oob
unsafe get_unchecked could be used to
eliminate bounds checking all together
which should improve performance further.
2026-03-21 19:01:52 +01:00
Skgland
833c3bd77f
run rustfmt
2026-03-21 14:24:13 +01:00
Skgland
153f04b72a
adjust interrupt handling
...
we used to spend ~5.8% of the time on getting the next value of the 0..INSTRUCTIONS_PER_INTERRUPT_POLL iterator
increment on Wrapping<u8> now only takes ~0.58 of the time
2026-03-21 14:20:11 +01:00
Skgland
8aab887388
switch from Integer to u128
...
- u128 is only 16 bytes instead of 24
- incrementing u128 does not involve heap allocations
- u128 should be sufficent
it would take more than 2 sextilion years to overflow if we would be incrementing it every tick at 5GHz
i.e. 2^128-1 / 5 GHz / 60 / 60 / 24 / 356 > 2 sextilion
before this ~3.2% of the execution time of the program in https://github.com/mthom/scryer-prolog/issues/3265#issuecomment-4103176469 was spend in the increment_call_count function, after this change it's down to 0.3%
2026-03-21 13:36:40 +01:00
Mark Thom
79a9b950cb
Merge pull request #3243 from danilp-id/master
...
fix http stream not being closed fully
2026-03-19 23:36:58 -07:00
Mark Thom
b0b89a0aca
Merge pull request #3258 from no382001/fix_load_xml/3
...
load_xml was returning a single term instead of a list of nodes
2026-03-14 22:46:03 -07:00
no382001
025da8315b
load_xml was returning a single term instead of a list of nodes
2026-03-10 12:20:34 +01:00
Mark Thom
4d144ea819
Merge pull request #3252 from Skgland/towards-a-crate-without-syn@1
...
replace custom modular_bitfields fork with update upstream
2026-03-09 22:08:28 -07:00
Mark Thom
02c927bb83
Merge pull request #3241 from Skgland/parse-error-improvements
...
change `ParserError` type
2026-03-09 22:07:03 -07:00
Mark Thom
4a8388a6e9
Merge pull request #3189 from Skgland/fix-function_casts_as_integer
...
fix `function_casts_as_integer` warning
2026-03-09 22:06:33 -07:00
Thierry Marianne
4bd0ff0fcb
cargo fmt fixes
...
Signed-off-by: Thierry Marianne <thierry@marianne.io >
2026-03-04 14:04:47 +01:00
Thierry Marianne
ed59aa05b0
apply suggestion
...
Signed-off-by: Thierry Marianne <thierry@marianne.io >
2026-03-04 14:01:17 +01:00
Thierry M.
fa21ff4813
use CStr .to_str() method
...
Co-authored-by: Bennet Bleßmann <3877590+Skgland@users.noreply.github.com >
2026-03-04 14:00:44 +01:00
Thierry Marianne
fae9ca1bb9
fix utf-8 panic
...
Signed-off-by: Thierry Marianne <thierry@marianne.io >
2026-03-04 12:45:58 +01: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
Danil Platonov
337d9c5583
move drop to impl Drop
2026-01-26 04:57:28 -08:00
Danil Platonov
26523139a8
fix http stream not being closed fully
2026-01-25 03:16:37 -08:00
Skgland
18b476af28
make ParserError a struct with an enum kind field
2026-01-24 04:08:40 +01:00
Skgland
3343188756
replace pairs of usize with location struct
2026-01-24 04:08:40 +01:00
Mark Thom
1a8c4f9b03
cargo fmt fixes
2026-01-14 20:39:48 -08:00
Mark Thom
c2e1ded852
remove variant_hashing.rs and related instructions
2026-01-14 20:39:48 -08:00
Mark Thom
69a367d1c9
do not retain attributes in solutions of findall ( #3020 )
2026-01-14 20:39:48 -08:00
Mark Thom
e2bdf59c81
fix cargo fmt
2026-01-14 20:39:48 -08:00
Mark Thom
6284aa3a3f
add variant_hash and is_non_variant to fix setof/3, bagof/3
2026-01-14 20:39:48 -08:00
Mark Thom
29cd80510b
replace compare_term_test with parallel iterator, add is_not_variant
2026-01-14 20:39:45 -08:00
Mark Thom
9089f9ddb4
use branch numbers to detect branch subsumption
2026-01-14 20:34:06 -08:00
Skgland
5064760b1e
fix spelling
2026-01-10 18:13:59 +01:00
Skgland
eca4262be6
fix clippy lints
2026-01-10 17:52:34 +01:00
Skgland
129cca53ed
throw error(resource_error(memory), []) when the list length exceeds usize.
2025-12-10 00:04:24 +01:00
Skgland
00aba96185
remove overengineered RecursionGuard
2025-12-08 22:27:24 +01:00
Skgland
616f071cd9
fix another integer overflow
2025-12-08 19:59:43 +01:00
Skgland
47e908bf76
handle overflown in Heap::with_cell_capacity
2025-12-07 22:59:00 +01:00
Skgland
11901b5fde
handle oob heap index calculation
2025-12-07 21:45:13 +01:00
Skgland
193cfabc66
detect recursive throw_resource_error and panic instead of causing a segmentation fault
2025-12-07 21:08:17 +01:00
Skgland
797a8f8611
fix function_casts_as_integer warning
...
Comparing addresses of function pointers is brittle.
Functions may be duplicated resulting in function pointers to the same function to compare !=.
Functions may be merged/de-duplicated resulting in function pointers to different function to compare ==.
The later shouldn't be relevant here as the function differ in behavior, but mentioning it for completeness.
2025-12-04 23:35:23 +01:00
Mark Thom
f570e566f8
fix backtrack_on_resource_error around choice instructions
2025-12-03 18:13:00 -08:00