Commit Graph

121 Commits

Author SHA1 Message Date
Oliver Kowalke
b78e0c894b return values transferred by continuation 2016-12-26 10:11:06 +01:00
oliver Kowalke
7ab9ace7b3 introduction of callcc()/continuation<> 2016-12-25 21:23:04 +01:00
oliver Kowalke
7db7873401 enable unit-test only if <thread> is supported 2016-12-13 08:06:01 +01:00
Oliver Kowalke
df7f46260a unit-test: enable ontop-exception 2016-12-04 12:09:55 +01:00
Oliver Kowalke
ba3673d9cb add unit-tests for fcontext 2016-11-26 19:45:39 +01:00
oliver Kowalke
1aa4e6a320 Merge branch 'ontop' into develop 2016-11-21 08:19:56 +01:00
Oliver Kowalke
e607528e4a reduced signature of ontop-fn 2016-11-21 08:19:02 +01:00
Oliver Kowalke
b2149a615a reduced signature of ontop-fn 2016-11-17 19:56:26 +01:00
Oliver Kowalke
a83c1dcc62 fix unit test 2016-11-11 16:43:20 +01:00
Oliver Kowalke
2bfdd768d3 fix unit-test 2016-10-15 08:25:29 +02:00
Oliver Kowalke
2e5430fd27 disable warning for MSVC 2016-10-11 11:49:39 +02:00
Oliver Kowalke
d7e39b4c18 pass ecv2 a universal reference to context-fn 2016-10-07 19:20:30 +02:00
oliver Kowalke
b1472d4338 use macro BOOST_MSVC in unit-test 2016-09-26 09:04:41 +02:00
oliver Kowalke
5d6e4a61c0 use macro BOOST_MSVC in unit-test 2016-09-26 08:59:35 +02:00
oliver Kowalke
ff4f933429 unit-tests: use defect macro for thread_local 2016-09-15 08:51:50 +02:00
Oliver Kowalke
f91dbd674a fix test-function name 2016-07-31 20:55:57 +02:00
Oliver Kowalke
648c24c3f5 execute seh-test in separate thread 2016-07-31 20:55:27 +02:00
Oliver Kowalke
61ab618846 rename test_windows_nulled_stack() 2016-07-31 17:45:53 +02:00
Oliver Kowalke
087b68382a test for 12340 (SEH test on Windows) 2016-07-31 17:45:00 +02:00
oliver Kowalke
ae66946c06 fix test/Jamfile.v2 requirements 2016-06-17 08:18:46 +02:00
Oliver Kowalke
2baea29df0 fix typo in unit.test (WINDOWS only) 2016-05-22 15:37:32 +02:00
oliver Kowalke
d4c3f32436 enhance unit-tests for Windows (nulled stack) 2016-05-19 08:25:56 +02:00
Oliver Kowalke
e28159dd65 adapt execution_context (v1) for exec_ontop
- pass only void* as argument
2016-02-11 17:40:01 +01:00
Oliver Kowalke
a136c521f5 return data from function with exec_ontop 2016-02-10 19:27:39 +01:00
Oliver Kowalke
31a196f12c add unit-test for passing pointers between execution_context 2016-02-09 16:55:04 +01:00
Oliver Kowalke
83a8fddf36 some fixes for passign references as arguments to ec 2016-02-08 21:29:06 +01:00
Oliver Kowalke
cf783fd907 make execution_context (v2) typesafe 2016-02-08 18:36:58 +01:00
Oliver Kowalke
68a57f29b3 rename captued_context to execution_context
- split into execution_context v2 (previous captured_context)
  and execution_context v1
- v1 enabled if segmented-stacks=on at b2 commandline
2016-02-06 12:18:38 +01:00
Oliver Kowalke
c3296606c1 remove unit-test for fcontext_t 2016-01-13 16:58:44 +01:00
Oliver Kowalke
8710b4f928 introduction of property context-switch
- property context-switch is used to determine if captured_context
  or execution_context is used
2016-01-04 17:43:47 +01:00
Oliver Kowalke
ba357205a9 class captured_context added 2016-01-01 22:03:18 +01:00
Oliver Kowalke
0ec3ad70a6 re-factor apply()/invoke() + unit-tests 2015-12-11 19:44:11 +01:00
Oliver Kowalke
31dadae120 re-enable unit-tests for execution_context 2015-12-11 19:44:03 +01:00
Oliver Kowalke
4380967c80 relax to C++11 2015-12-08 17:46:09 +01:00
Oliver Kowalke
4d68f47767 fcontext uses 'void*' for data transfer 2015-11-28 22:58:36 +01:00
Oliver Kowalke
4f9df7d8e4 segmented-stacks=on -> only segmented_stack can be used 2015-10-18 19:16:19 +02:00
Oliver Kowalke
43d89cb639 support passing argument between execution_context' 2015-10-15 17:42:25 +02:00
Oliver Kowalke
01660915c1 reorder test macros in unit-test 2015-10-11 09:07:43 +02:00
Oliver Kowalke
c60534cf89 default ctor of execution_context without stack allocator 2015-09-26 20:20:58 +02:00
Oliver Kowalke
c5ede089b0 enhance tests for execution_context 2015-07-14 18:04:21 +02:00
Oliver Kowalke
a1447bb35e add invoke() in order to support member fn 2015-06-23 17:52:34 +02:00
Oliver Kowalke
16abb31ae8 add checks for C++11/14 features in unit-tests 2015-06-21 18:42:55 +02:00
Oliver Kowalke
aadb5968f4 remove parent-tracking in execution_context
- tracking parent inside of execution_context:
- costs performance
- execution_context doesn't realy know which execution_context should be
  executed next (if it's terminating)
- fibers do not care of the parent context -> scheduler decides which is
  the next context
2015-06-03 09:00:21 +02:00
Oliver Kowalke
41123e262d make execution_context conform to N4397 2015-03-26 10:00:42 +01:00
Oliver Kowalke
55b10634f7 return to parent activation record 2015-03-25 22:43:37 +01:00
Oliver Kowalke
bc3cd0fbed rename jump_to() -> resume() 2015-02-18 18:23:58 +01:00
Oliver Kowalke
57d9bc6e1b small optimization/fix unit.test 2015-02-13 17:31:44 +01:00
Oliver Kowalke
0ae6d8af2a execution_context now C++14
- lambda capture expressions supports move-only types
- parameters are packed into std::tuple<> and with context-function
  moved to the context-lambda (->lambda capture expression)
- in context-lambda context-function with packed parameters called
  (-> deferred call)
2015-02-11 19:42:15 +01:00
Oliver Kowalke
bf0468b878 use BOOST_CONTEXT_NO_EXECUTION_CONTEXT in unit test 2015-02-10 18:56:40 +01:00
Oliver Kowalke
3b9a002642 replace test for __cplusplus by BOOST_NO_CXX11_ - macros 2015-02-07 16:42:17 +01:00
Oliver Kowalke
fa078765cb me stack-allocators/some fixes 2015-01-23 22:02:20 +01:00
Oliver Kowalke
d0ab46ad5c use std::call_once + lambda in stack_traits init
- stack_traits uses std::call_once for static initialization
2015-01-15 18:31:45 +01:00
Oliver Kowalke
cf2c8f4422 add support for additional control-structures (preallocated) 2015-01-12 20:03:49 +01:00
Oliver Kowalke
5c2c78a702 add example for stacked contexts 2014-03-01 22:37:22 +01:00
Oliver Kowalke
ffc63734e8 update , fixes 2014-02-17 17:11:32 +01:00
Oliver Kowalke
676b4e5d79 fcontext_t as typedef of void* 2014-02-16 21:07:50 +01:00
Oliver Kowalke
dbfeda223d context: simple_stack_allocator moved to examples directory, guarded_stack_allocator removed
[SVN r81346]
2012-11-14 17:30:45 +00:00
Oliver Kowalke
e80f47e60e context: add test for stack size (min, max, default)
[SVN r80537]
2012-09-16 09:29:13 +00:00
Oliver Kowalke
5fe939cd06 context: namespace renamed to 'context'; spltting up asm files
[SVN r80529]
2012-09-15 06:31:49 +00:00
Oliver Kowalke
6d5c769154 context: fixing invalid fcontext_t struct on i386; test stacksizes
[SVN r80504]
2012-09-12 11:36:48 +00:00
Oliver Kowalke
854c49d321 context: return pointer to fcontext_t
- make_fcontext() allocated fcontext_t on context stack and return pointer
 - stack_allocator renamed to guarded_stack_allocator
 - simple_stack_allocator using calloc()/free() added
 - pagesize() made public accessible


[SVN r80423]
2012-09-06 19:43:07 +00:00
Oliver Kowalke
daf017cb4c context: refactoring stack_allocator (Windows stack sizes etc.)
[SVN r80375]
2012-09-03 17:06:56 +00:00
Oliver Kowalke
e32d499ae2 context: new layout for fcontext_t
- fcontext_t takes pointer to stack (lower addresses) and stack size
 - make_fcontext() computes start address of stack pointer depending on
   architecture (growing upwards, downwards)
 - make_fcontext() preserves frame pointer on intel
 - stack alignment corrected on intel
 - BOOST_USE_UCONTEXT for performance measurements added


[SVN r80338]
2012-08-31 19:50:07 +00:00
Oliver Kowalke
2be3bf4d5a context: use size instead of limit if fc_stack
[SVN r79956]
2012-08-10 16:07:25 +00:00
Oliver Kowalke
f60965dc6b context: fixing warnings on Windows platform
[SVN r78958]
2012-06-15 18:27:09 +00:00
Oliver Kowalke
b5fe010e78 context: tab cleanup
[SVN r78544]
2012-05-22 20:02:04 +00:00
Oliver Kowalke
6151f8173d context: remove argument for context function from make_fcontext()
[SVN r78129]
2012-04-22 10:18:43 +00:00
Oliver Kowalke
97d37d559f context: remove start_fcontext; context linking removed
[SVN r78114]
2012-04-21 19:05:03 +00:00
Oliver Kowalke
13b4a5b3bd context: library stripped
[SVN r77938]
2012-04-12 18:42:36 +00:00
Oliver Kowalke
95937a481c context: documentation update and check-functions in context public interface
[SVN r77321]
2012-03-13 09:06:35 +00:00
Oliver Kowalke
b8fd549bac initial commit of boost.context
[SVN r76974]
2012-02-11 13:04:55 +00:00