2
0
mirror of https://github.com/boostorg/context.git synced 2026-01-19 04:02:17 +00:00

736 Commits

Author SHA1 Message Date
Oliver Kowalke
5e579b67ec P0876R6 2019-07-22 11:23:29 +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
James Cowgill
f410f4d80c mips: remove unused context diagram 2018-01-05 11:52:46 +00:00
Oliver Kowalke
f154ac73b6 add control file for Travice CI 2017-12-20 15:33:01 +01:00
Oliver Kowalke
1d474cb2e4 use continuation::swap() for context version 2017-12-20 07:44:09 +01:00