Oliver Kowalke
b4287c66b9
cancellable
2019-08-04 09:34:07 +02:00
Oliver Kowalke
9f13306bb6
add example for filament
2019-07-30 08:15:06 +02:00
Oliver Kowalke
3df6609ac5
examples regarding to unwinding
2019-07-27 14:12:00 +02:00
Oliver Kowalke
a67ae8a105
P0876R7
2019-07-24 12:21:21 +02:00
Oliver Kowalke
543e87e53f
P0876R3
2018-07-02 09:10:44 +02:00
Oliver Kowalke
ce8d3ab779
return thread-id of thread hosting the fiber (suspened)
2018-03-23 08:33:24 +01:00
Oliver Kowalke
c52c9e6681
use variant to transport data
2018-03-23 08:33:24 +01:00
Oliver Kowalke
5686c2e75f
implementation of fiber::uses_system_stack()
2018-03-23 08:33:24 +01:00
Oliver Kowalke
cbd4e42e00
operator< is sufficient
2018-03-21 08:32:59 +01:00
Oliver Kowalke
0dc874aa92
fix example backtrace
2018-03-21 08:21:13 +01:00
Oliver Kowalke
18435f6d00
Merge pull request #77 from teeks99/min_version
...
Added working compiler versions and features needed for the lib
2018-03-16 07:53:27 +01:00
Thomas Kent
0361f571d1
Added working compiler versions and features needed for the lib
2018-03-15 16:36:26 -05:00
Oliver Kowalke
ac99b9bf25
prevent compiling compilation units for non-C++11 compilers
2018-03-12 12:14:50 +01:00
Oliver Kowalke
bd29b48eab
unit-tests: remove warning of redundant move in return statement
2018-03-12 09:00:50 +01:00
Oliver Kowalke
f6982b6aee
Merge pull request #75 from danieljames/fix-execution-context-braces
...
Fix braces in execution_context.cpp
2018-03-11 21:35:56 +01:00
Daniel James
63f85b4c54
Fix braces in execution_context.cpp
...
When BOOST_NO_CXX11_THREAD_LOCAL is defined.
2018-03-11 18:34:30 +00:00
Oliver Kowalke
3ca5a272e7
fix C2492 (Windows/MSVC)
...
- in context of #73
2018-02-24 08:42:14 +01:00
Oliver Kowalke
aef5de1aa9
unit-test: rename rule to 'native-impl'
2018-02-19 16:09:23 +01:00
Oliver Kowalke
2b1bf36545
unit-tests: exclude android from using ucontext
2018-02-19 15:09:49 +01:00
Oliver Kowalke
40f871b2b3
docu
2018-02-15 17:51:04 +01:00
Oliver Kowalke
cd1ac4b87b
update docu
2018-02-15 17:44:20 +01:00
Oliver Kowalke
388a255ee8
rvalue-ref qualified resume()/resume_with() only
2018-02-09 17:27:35 +01:00
Oliver Kowalke
3a12382a14
documentation updated
2018-02-09 06:35:48 +01:00
Oliver Kowalke
8e7ffd157c
resume()/resume_with() rvalue-ref qualified
2018-02-08 21:36:29 +01:00
Oliver Kowalke
51d18b8d82
iadd performance test for callcc, execution_context (v2)
2018-02-08 17:27:07 +01:00
Oliver Kowalke
7c3a6b51c5
mark execution_context (v1) as deprecated
2018-02-08 09:56:22 +01:00
Oliver Kowalke
66de43b5ff
qualify apply() with full namespace in execution_context (v1/v2)
2018-02-08 09:51:32 +01:00
Oliver Kowalke
109543e23d
fix buffer size use by snprintf() in unit-tests
2018-02-08 09:50:40 +01:00
Oliver Kowalke
b6582f13c5
fix unit-test for fiber on Windows
2018-02-08 05:56:35 +01:00
Oliver Kowalke
0249289ff5
register unit-test stacked only one
2018-02-08 06:39:26 +01:00
Oliver Kowalke
c6736e478c
set test suite name
2018-02-07 20:56:35 +01:00
Oliver Kowalke
99c3c1cb6a
rename fiber_winfiber.hpp -> fiber_winfib.hpp
2018-02-07 20:50:32 +01:00
Oliver Kowalke
c7d01f1854
disable buildng unit-test with ucontext for MacOS X
2018-02-06 19:42:57 +01:00
Oliver Kowalke
ccd9a472c8
docu: fix link to P0876
2018-02-06 19:31:02 +01:00
Oliver Kowalke
618629a987
examples for all context-APIs
2018-02-06 19:29:55 +01:00
Oliver Kowalke
11a238726a
fix performance test
2018-02-05 21:08:22 +01:00
Oliver Kowalke
2409751d1d
update documentation
2018-02-05 21:02:15 +01:00
Oliver Kowalke
370e35739d
modify examples parser and throw
2018-02-05 20:48:47 +01:00
Oliver Kowalke
a0433d1c72
execution_context without depended compilation
...
- execution_context v1 in namecpase v1
- execution_context v2 in inlined namespace v2
2018-02-05 19:34:35 +01:00
Oliver Kowalke
51ea6b583d
re-introduce continuation - fix conflicts
2018-02-05 13:31:35 +01:00
Oliver Kowalke
3fd96c4ef4
add example circle
...
- demonstrates that fibers keep their identities
2018-02-05 13:31:35 +01:00
Oliver Kowalke
f5327520d6
return fiber from resume()/resume_with()
2018-02-05 13:31:35 +01:00
Oliver Kowalke
91dc3cc053
use temporaries for constructing context
2018-02-05 13:31:35 +01:00
Oliver Kowalke
aa9c50d00c
test for valid fiber in resume()/resume_with()
2018-02-05 13:31:32 +01:00
Oliver Kowalke
10d3264f7b
implementation of fibers without scheduler according to P0876R0
2018-02-05 13:31:32 +01:00
James Cowgill
9e7c5e0671
mips: simplify finish function
...
- Don't bother allocating any extra stack space. We can reuse the 16
bytes at the top of the stack originally used for the gp and transfer_t.
- Don't bother saving the return address which we never read back.
- Use la to load the address of _exit (purely style).
- Move the "move $a0, $zero" instruction so the assembly can put it in
the delay slot.
- Use "jr" instead of "jalr" because we don't expect _exit to ever
return.
2018-01-11 14:38:35 +00:00
James Cowgill
3f6c3a0bb7
mips: allocate unused stack space for incoming argument area
...
The MIPS ABI requires that 16 bytes of unused stack space is allocated by
the caller when calling functions. Some comments refer to "shadow space"
which might be talking about this, but since the captured_context code
was added, the assembly has not actually allocated any extra space.
Therefore, allocate an extra 16 bytes between the fcontext_t data and
the saved GP which the initial function will use.
Also fix the address of the returned transfer_t which was incorrect
(although fairly harmless since this data is never read).
2018-01-11 14:37:34 +00:00
James Cowgill
e0d067c751
mips: optimize stack calculation in make_fcontext
...
This commit removes some useless moves which are later overwitten at the
start of the "make_fcontext" function.
2018-01-10 14:04:15 +00:00
James Cowgill
3d3bf4a1ec
mips: perform jump through t9 in ontop_fcontext
...
The MIPS ABI requires all calls to be made "through" t9 (so the called
function can easily get its address).
2018-01-05 12:05:40 +00:00
James Cowgill
1491ce4424
mips: use v0 as temporary for returned transfer_t
...
For functions which return structures indirectly, the MIPS abi requires
the pointer to the returned structure to be in v0 (so in most cases v0
will contain the value passed to the function in a0).
2018-01-05 12:04:15 +00:00