Leonardo de Moura
|
0573d7e1d5
|
fix(runtime/object): parray RC bugs
|
2018-09-09 12:04:27 -07:00 |
|
Leonardo de Moura
|
36423e4389
|
fix(runtime): parray memory leaks
|
2018-09-09 10:33:15 -07:00 |
|
Leonardo de Moura
|
2a24f4a09b
|
test(tests/util/object): add parray test
|
2018-09-09 10:21:55 -07:00 |
|
Leonardo de Moura
|
4863ca071a
|
chore(runtime): make sure we use the same naming convention for getters and setters
|
2018-09-09 10:07:00 -07:00 |
|
Leonardo de Moura
|
8f195515a6
|
feat(runtime): add persistent arrays to runtime
|
2018-09-09 09:44:38 -07:00 |
|
Leonardo de Moura
|
3ab1ebcb3f
|
feat(init/core): add task
|
2018-08-21 16:10:07 -07:00 |
|
Leonardo de Moura
|
0b349f1abf
|
chore(*): fix style
|
2018-08-21 09:32:01 -07:00 |
|
Leonardo de Moura
|
dc1f5c0aa6
|
feat(runtime/object): task API functions can take thunks as arguments
|
2018-08-20 09:13:35 -07:00 |
|
Leonardo de Moura
|
684085d93f
|
refactor(runtime/object): delete data needed to execute task after it finishes
|
2018-08-18 14:33:27 -07:00 |
|
Leonardo de Moura
|
a0b5502821
|
fix(runtime/object): memory leak and simplify task_object
We remove per task condition_variable and use m_task_finished_cv.
The same condition_variable used to implement `wait_any`.
|
2018-08-18 10:29:12 -07:00 |
|
Leonardo de Moura
|
4bc8414d2b
|
feat(runtime/object): use "weak pointers" in the task manager, and interrupt tasks at GC time
|
2018-08-17 15:35:00 -07:00 |
|
Leonardo de Moura
|
24444d65c4
|
refactor(runtime/object): do not use Lean runtime lists to implement the reverse dependency list in task objects
|
2018-08-17 14:42:43 -07:00 |
|
Leonardo de Moura
|
1d5411f455
|
feat(runtime/object): add support for io.wait_any
|
2018-08-17 13:04:06 -07:00 |
|
Leonardo de Moura
|
5f78087b08
|
feat(runtime/object): add support for io.has_finished
|
2018-08-17 12:36:48 -07:00 |
|
Leonardo de Moura
|
ae9eac6781
|
feat(runtime/object): simplify and more tests
|
2018-08-17 09:41:22 -07:00 |
|
Leonardo de Moura
|
c863e86429
|
feat(runtime/object): primitives for interrupting threads
|
2018-08-17 09:25:40 -07:00 |
|
Leonardo de Moura
|
7a7d443ad5
|
test(tests/util/object): improve tests
|
2018-08-17 09:04:08 -07:00 |
|
Leonardo de Moura
|
510a5ffeaa
|
chore(tests/util/object): adjust test
|
2018-08-17 08:48:11 -07:00 |
|
Leonardo de Moura
|
018542e2e1
|
fix(runtime/object): task bugs
|
2018-08-16 21:28:58 -07:00 |
|
Leonardo de Moura
|
c322ef0cab
|
fix(tests/util/object): use new calling convention for apply
|
2018-08-15 21:17:50 -07:00 |
|
Leonardo de Moura
|
f9bad161c9
|
chore(tests/util/object): fix "unused" variables warnings in release mode
|
2018-08-14 15:19:07 -07:00 |
|
Leonardo de Moura
|
bcb37ef862
|
feat(runtime): thunk serialization
|
2018-08-14 15:15:12 -07:00 |
|
Leonardo de Moura
|
f036a7ad16
|
chore(runtime/object): mk_thunk(c) should not modify c's RC
This is useful when we are generating a function that does not use the
"borrow semantics" for an argument `c` which is used in `mk_thunk(c)`.
|
2018-08-10 18:11:29 -07:00 |
|
Leonardo de Moura
|
ea8e1075d2
|
feat(runtime/thunk): add runtime support for thunks
We did not use constructor objects for implementing thunks because we
wanted to use `atomic<object *>` to implement the cached result.
|
2018-08-10 18:11:29 -07:00 |
|