Sebastian Ullrich
6b0e7e1f46
feat: synchronous execution of task continuations ( #3013 )
...
In the new snapshot design, we have a tree of `Task`s that represents
the asynchronously processed document structure. When transforming this
tree in response to a user edit, we want to quickly run through
reusable, already computed nodes of the tree synchronously and then
spawn new tasks for the new parts. The new flag allows us to do such
mixed sync/async tree transformations uniformly. This flag exists as
e.g.
[`ExecuteSynchronously`](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.taskcontinuationoptions?view=net-8.0 )
in other runtimes.
2024-01-25 13:54:20 +00:00
Sebastian Ullrich
78200b309f
fix: run_task/deactivate_task race condition on m_imp->m_closure ( #2959 )
...
Fixes #2853 , unblocking my work before I get to refactoring this part of
the task manager.
2023-12-12 02:01:40 +00:00
int-y1
ce4ae37c19
chore: fix more typos in comments
2023-10-08 14:37:34 -07:00
Leonardo de Moura
b5a736708f
fix: fixes #2419
2023-08-14 16:18:30 -07:00
Gabriel Ebner
681bbe5cf4
feat: ByteArray.hash
2022-12-01 20:18:14 -08:00
Gabriel Ebner
9b416667e7
chore: replace all hashes by murmurhash
2022-12-01 20:18:14 -08:00
Leonardo de Moura
5eaa0fa2df
chore: leftovers
2022-11-09 17:03:08 -08:00
Leonardo de Moura
92c03c0050
perf: prepare do add String.next'
2022-11-09 12:00:31 -08:00
Leonardo de Moura
20eeb4202f
perf: fast String.get' without runtime bounds check
...
TODO: naming convention `String.get'` should be called `String.get`,
and we should rename the old `String.get`
2022-11-09 12:00:30 -08:00
Leonardo de Moura
dc750d143e
chore: remove test/optimization that is essentially dead code
2022-10-27 16:45:50 -07:00
Gabriel Ebner
c2f1e01b3b
feat: Promise
2022-09-05 08:52:46 -07:00
Sebastian Ullrich
af7f5aa2a0
feat: dbgStackTrace
2022-08-26 20:52:51 -07:00
Mario Carneiro
9de477ecf9
feat: add more float functions
2022-08-12 13:12:59 -07:00
Mario Carneiro
94f85ae649
fix: don't show NaN sign info in Float.toString
2022-08-12 08:21:47 -07:00
Leonardo de Moura
386b0a75bc
fix: bug at lean_nat_mod
...
fixes at #1433
2022-08-06 08:07:25 -07:00
Leonardo de Moura
949dddbf63
fix: lean_float_array_data
2022-07-24 17:05:28 -07:00
Leonardo de Moura
757171db1f
feat: add String.get! and s[i]! notation for String
2022-07-03 14:59:44 -07:00
Leonardo de Moura
e8935d996b
chore: String.get?, String.getOp?, and remove String.getOp
2022-07-02 09:59:04 -07:00
Sebastian Ullrich
c8fb72195b
feat: print panic backtraces on Linux
2022-06-29 16:29:35 +02:00
Leonardo de Moura
8d9428261e
chore: remove Fix.lean
...
see #1208
2022-06-16 15:30:47 -07:00
Sebastian Ullrich
eb170d1f43
fix: compiled string literals containing null bytes
2022-05-17 09:24:34 -07:00
Gabriel Ebner
88e26b75b0
fix: actually abort with LEAN_ABORT_ON_PANIC
...
The previous null-pointer dereference was UB and therefore optimized
away.
2022-05-03 09:42:45 -07:00
Gabriel Ebner
412691c958
feat: support LEAN_NUM_THREADS environment variable
2021-12-21 17:01:08 +01:00
Sebastian Ullrich
b732484663
fix: do not consider worker threads as idle during startup
...
Without this change, enqueuing multiple tasks before the first worker
was started led to only a single worker being created. Now the first
increment and decrement happen under the task manager mutex, so
effectively the worker is never idle until it is out of tasks.
2021-12-21 12:01:23 +01:00
Sebastian Ullrich
87e860f871
perf: Array.push: move elements directly when source is unique
2021-12-16 06:37:37 -08:00
Sebastian Ullrich
3c9ea3b113
fix: wait on tasks before Lean program exit
2021-12-15 15:58:24 +01:00
Leonardo de Moura
988b316e3f
feat: check "LEAN_ABORT_ON_PANIC" environment variable at lean_internal_panic
2021-12-01 13:38:20 -08:00
Leonardo de Moura
8aca088752
feat: mpz missing methods for USE_GMP=OFF
2021-11-30 16:46:53 -08:00
Sebastian Ullrich
4aab42f9aa
fix: segfault when passing scalar object to dbgTraceIfShared
2021-11-30 19:07:46 +01:00
Leonardo de Moura
0002d8bd04
chore: missing #ifdef LEAN_USE_GMP
2021-11-29 11:35:13 -08:00
Gabriel Ebner
6475e3d5cc
fix: add missing LEAN_EXPORT
2021-11-18 11:14:26 +01:00
Sebastian Ullrich
3a7fa704c3
refactor: avoid non-compiler headers in lean.h
2021-11-18 09:42:35 +01:00
Leonardo de Moura
352391bfcb
chore: remove mpz_get_d dependency
2021-10-26 12:40:20 -07:00
Leonardo de Moura
fa9c5ad21a
chore: remove mpq
2021-10-26 11:56:37 -07:00
Gabriel Ebner
61e0eab23f
refactor: reimplement ofScientific for floats
2021-10-26 11:51:30 -07:00
Gabriel Ebner
ee2804d278
fix: use unsigned char in hash_str
...
char has different signedness on various architectures (signed on amd64,
unsigned on aarch64). oleans are then not architecture-independent
since they contain hashes (e.g. in mkStr).
2021-10-21 22:08:49 +02:00
Sebastian Ullrich
816dc1895f
perf: reuse idle thread in favor of spawning new one
2021-09-25 07:34:12 -07:00
Sebastian Ullrich
70f99ab655
chore: placate GCC
2021-09-23 16:31:41 +02:00
Sebastian Ullrich
6eca75ddbd
fix: include exported declarations in defining file
2021-09-20 18:41:46 +02:00
Leonardo de Moura
ca6941ab39
chore: rename lean_mpz_value
2021-09-11 17:00:47 -07:00
Leonardo de Moura
f9bc4b9b3a
feat: add missing APIs
2021-09-11 15:39:11 -07:00
Leonardo de Moura
075ba63a8b
feat: add LEAN_ABORT_ON_PANIC
2021-09-09 04:49:16 -07:00
Leonardo de Moura
c8406a301d
chore: reduce src/include/lean
2021-09-07 08:24:54 -07:00
Leonardo de Moura
6ced2cdece
refactor: move lean_name_eq to runtime, add lean_name_hash in C
2021-08-16 16:13:55 -07:00
Leonardo de Moura
14b611af96
refactor: move buffer.h and *_ref.h files to runtime
2021-08-16 15:39:38 -07:00
Leonardo de Moura
10122ba38b
chore: try to fix compilation error at CI
2021-07-20 10:42:28 -07:00
Leonardo de Moura
286136b3c7
fix: missing std::
2021-07-20 10:42:28 -07:00
Leonardo de Moura
c59e72a77b
chore: cleaner lean_dec_ref, inline persistent object case
2021-07-20 10:42:28 -07:00
Leonardo de Moura
da66610fda
chore: cleanup
2021-07-20 10:42:28 -07:00
Leonardo de Moura
489b28085f
feat: simpler and faster RC
2021-07-20 10:42:28 -07:00