Revert "Hacky help-protocol implementation for hclib."
Wrong branch -- Sorry
This reverts commit c079e780a13cd94be08243c13bd4741fbb295267.
remove runtime include
edt's output event implementation. The runtime automatically satisfies the output event given at the edt's creation time (using the ocrEdtCreateWithOutput call) on edt's completion.
Add kind in guids, this has a significant impact on guid allocation since we now need to allocate some memory to store guid's metadata
Deprecated code cleanup
Implements #19 (Support for event-to-event dependences). Major refactoring of the hc edt/event implementation. Planning on adding much more tests once we have finish-edts which simplifies the ocrFinish sink edt scheduling
Merge branch 'ocr-event-dependences' into ocr-finish-edt
Follow-up on #18, changed the user API and updated examples
Remove printfs
Remove depv from hc task implementation. We don't need to carry this around for now.
#21 Finish-EDT implementation. One can create finish-edt using the EDT_PROP_FINISH property flag on edt creation. The output event of a finish-edt is automatically satisfied when all its transitively spawned EDTs are done executing. Implementation relies on an internal finish-latch implementation tailored for this particular use. There's no latch event exposed to the user.
Add support for edts to return ocrGuid_t. Not supported by finish-edt yet because it requires some contorsions. More on that later
#18 Modified the API so that the output event of an EDT is allocated by the runtime, not passed down by the user
Support for db->event and db->edt addDependence, which is equivalent to a satisfy
Internal dependence registration API refactoring
#22 Idempotent event implementation. 'once' needs more internal refactoring as edts reference events guid long after they are satisfied. We need to overhaul a bit the dependence mecanism to avoid that.
Fixes #22. Implements ONCE events. Instead of carrying event's guid in the edt, we directly store the data guid events have been satisfied with. Once-events can then safely be deallocated since the runtime doesn't hold any guid reference to them.
Fixes #18. Now plays nicely with finish-edt.
Fix #20 Implements Latch-event at the user-level. Can allocate a latch-event with OCR_EVENT_LATCH_T. Introduced satisfyEventSlot, to be able to satisfy the latch on its OCR_EVENT_LATCH_DECR_SLOT and OCR_EVENT_LATCH_INCR_SLOT
Refactor --enable-els. ELS now has a runtime and a user part. The runtime part is set as a macro ELS_RUNTIME_SIZE in the runtime code, while the user part is set through configure using ELS_USER_SIZE.