Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
2d8ebb6
context: added to release
olk May 22, 2012
b82dc11
context: first import
olk Jul 3, 2012
bf292cc
context: fixes for Solaris
olk Jul 6, 2012
d122a45
context: define _XOPEN_SOURCE/_XOPEN_SOURCE_EXTENDED on Solaris
olk Jul 7, 2012
0ea9250
context: remove PDFs from documentation section
olk Aug 11, 2012
64e014e
context: remove links in documentation
olk Aug 11, 2012
f1b8bb3
context: merge from 80553 (headers
olk Sep 18, 2012
47b0cc8
context: merge of 80553 (impl)
olk Sep 18, 2012
f6f764c
context: support for Mac OS X 32 bit
olk Nov 13, 2012
56c47f2
context: merge from trunk (replace align_stack() by assembler; remove…
olk Nov 28, 2012
c90455f
context: bufix (Mac OS X)
olk Nov 30, 2012
e1a5a46
context: bugfix for 64bit Mac OS X
olk Dec 3, 2012
5cfa684
context: merge from trunk
olk Dec 5, 2012
696a0cf
context: merge from trunk
olk Dec 21, 2012
64f3167
context: merge from trunk
olk Jan 15, 2013
a891c88
context: merge from trunk (SPARC support)
olk Jan 25, 2013
10eae5e
context: revert support for SPARC
olk Jan 27, 2013
32f3c72
context: merge documentation from trunk
olk Jan 30, 2013
24e8975
context: merge from trunk (SPARC support)
olk Feb 12, 2013
57bf457
context: merge from trunk
olk May 9, 2013
5e2b772
context: add hint for make_fcontext() in docu
olk May 30, 2013
f1e0cb5
context: merge from trunk
olk Jun 7, 2013
daf4e58
context: merge from trunk
olk Jul 26, 2013
5b9fe79
Create README.md
olk Dec 4, 2013
1214aaa
merge from develop
Dec 9, 2013
06e99c9
Merge branch 'develop'
Mar 5, 2014
9f37c9b
Merge branch 'develop'
Mar 7, 2014
5460e46
Merge branch 'develop'
Mar 12, 2014
fb32c14
Merge branch 'develop'
Mar 13, 2014
b8ada3f
Merge branch 'develop'
Mar 19, 2014
63a6f02
Merge branch 'develop'
Apr 5, 2014
7fccbc6
Merge branch 'develop'
May 17, 2014
45c21d4
Merge branch 'develop'
Jun 1, 2014
acbfae5
add rethrow example
Jun 9, 2014
b3f4f0a
Revert "add rethrow example"
Jun 9, 2014
89665f2
Merge branch 'develop'
Jun 11, 2014
77b6e98
Merge branch 'develop'
Jun 20, 2014
5e3df98
Update architectures.qbk
olk Jul 21, 2014
745d3e3
Merge branch 'develop'
Aug 17, 2014
81bb915
Merge branch 'develop'
Oct 20, 2014
e46c855
Merge pull request #4 from boostorg/develop
olk Nov 4, 2014
85fceb1
feature segmentd-stacks
olk Nov 24, 2014
0c49994
Merge branch 'develop'
Nov 24, 2014
2ebf117
Merge branch 'develop'
Nov 24, 2014
1b31039
Merge branch 'develop'
Dec 14, 2014
15ebabf
Merge branch 'develop'
Dec 18, 2014
d0404ca
Merge branch 'develop'
Dec 28, 2014
69c614b
Merge branch 'develop'
Dec 30, 2014
717063c
Merge branch 'develop'
Jan 5, 2015
3c4cb3b
Merge branch 'develop'
Jan 7, 2015
28ee6ff
Merge branch 'develop'
Jan 15, 2015
7929860
Merge branch 'develop'
Jan 16, 2015
766ef28
Merge branch 'develop'
Jan 23, 2015
bcb359b
Merge branch 'develop'
Jan 29, 2015
b20b1e2
Merge branch 'develop'
Feb 7, 2015
f0b4c0c
Merge branch 'develop'
Feb 11, 2015
11c4bf0
Merge branch 'develop'
Feb 13, 2015
df25c6c
fix typo in execution_context.hpp
0x1997 Feb 18, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions doc/todo.qbk
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[/
Copyright Oliver Kowalke 2009.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt
]

[section:todo Todo]

* provide support for SPARC, SuperH (SH4), S/390
* support split-stack feature from gcc/gold linker

[endsect]
68 changes: 68 additions & 0 deletions include/boost/context/detail/fcontext_arm.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@

// Copyright Oliver Kowalke 2009.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)

#ifndef BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_H
#define BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_H

#include <cstddef>

#include <boost/config.hpp>
#include <boost/cstdint.hpp>

#include <boost/context/detail/config.hpp>

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif

namespace boost {
namespace context {

extern "C" {

#define BOOST_CONTEXT_CALLDECL

struct stack_t
{
void * sp;
std::size_t size;

stack_t() :
sp( 0), size( 0)
{}
};

struct fp_t
{
boost::uint32_t fc_freg[16];

fp_t() :
fc_freg()
{}
};

struct fcontext_t
{
boost::uint32_t fc_greg[11];
stack_t fc_stack;
fp_t fc_fp;

fcontext_t() :
fc_greg(),
fc_stack(),
fc_fp()
{}
};

}

}}

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif

#endif // BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_H
70 changes: 70 additions & 0 deletions include/boost/context/detail/fcontext_arm_mac.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@

// Copyright Oliver Kowalke 2009.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)

#ifndef BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_MAC_H
#define BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_MAC_H

#include <cstddef>

#include <boost/config.hpp>
#include <boost/cstdint.hpp>

#include <boost/context/detail/config.hpp>

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif

namespace boost {
namespace context {

extern "C" {

#define BOOST_CONTEXT_CALLDECL

struct stack_t
{
void * sp;
std::size_t size;

stack_t() :
sp( 0), size( 0)
{}
};

struct fp_t
{
boost::uint32_t fc_freg[16];

fp_t() :
fc_freg()
{}
};

struct fcontext_t
{
boost::uint32_t fc_greg[11];
stack_t fc_stack;
fp_t fc_fp;
void * fc_unwind_sjlj;

fcontext_t() :
fc_greg(),
fc_stack(),
fc_fp(),
fc_unwind_sjlj( 0)
{}
};

}

}}

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif

#endif // BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_MAC_H
71 changes: 71 additions & 0 deletions include/boost/context/detail/fcontext_arm_win.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@

// Copyright Oliver Kowalke 2009.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)

#ifndef BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_WIN_H
#define BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_WIN_H

#include <cstddef>

#include <boost/config.hpp>
#include <boost/cstdint.hpp>

#include <boost/context/detail/config.hpp>

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif

namespace boost {
namespace context {

extern "C" {

#define BOOST_CONTEXT_CALLDECL

struct stack_t
{
void * sp;
std::size_t size;
void * limit;

stack_t() :
sp( 0), size( 0), limit( 0)
{}
};

struct fp_t
{
boost::uint32_t fc_freg[16];

fp_t() :
fc_freg()
{}
};

struct fcontext_t
{
boost::uint32_t fc_greg[11];
stack_t fc_stack;
fp_t fc_fp;
boost::uint32_t fc_dealloc;

fcontext_t() :
fc_greg(),
fc_stack(),
fc_fp(),
fc_dealloc( 0)
{}
};

}

}}

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif

#endif // BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_WIN_H
59 changes: 59 additions & 0 deletions include/boost/context/detail/fcontext_i386.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@

// Copyright Oliver Kowalke 2009.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)

#ifndef BOOST_CONTEXT_DETAIL_FCONTEXT_I386H
#define BOOST_CONTEXT_DETAIL_FCONTEXT_I386H

#include <cstddef>

#include <boost/config.hpp>
#include <boost/cstdint.hpp>

#include <boost/context/detail/config.hpp>

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif

namespace boost {
namespace context {

extern "C" {

#define BOOST_CONTEXT_CALLDECL __attribute__((cdecl))

struct stack_t
{
void * sp;
std::size_t size;

stack_t() :
sp( 0), size( 0)
{}
};

struct fcontext_t
{
boost::uint32_t fc_greg[6];
stack_t fc_stack;
boost::uint32_t fc_freg[2];

fcontext_t() :
fc_greg(),
fc_stack(),
fc_freg()
{}
};

}

}}

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif

#endif // BOOST_CONTEXT_DETAIL_FCONTEXT_I386_H
88 changes: 88 additions & 0 deletions include/boost/context/detail/fcontext_i386_win.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@

// Copyright Oliver Kowalke 2009.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)

#ifndef BOOST_CONTEXT_DETAIL_FCONTEXT_I386H
#define BOOST_CONTEXT_DETAIL_FCONTEXT_I386H

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
# pragma once
#endif

#include <cstddef>

#include <boost/config.hpp>
#include <boost/cstdint.hpp>

#include <boost/context/detail/config.hpp>

#if defined(BOOST_MSVC)
#pragma warning(push)
#pragma warning(disable:4351)
#endif

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif

namespace boost {
namespace context {

extern "C" {

#define BOOST_CONTEXT_CALLDECL __cdecl

struct stack_t
{
void * sp;
std::size_t size;
void * limit;

stack_t() :
sp( 0), size( 0), limit( 0)
{}
};

struct fp_t
{
boost::uint32_t fc_freg[2];

fp_t() :
fc_freg()
{}
};

struct fcontext_t
{
boost::uint32_t fc_greg[6];
stack_t fc_stack;
void * fc_excpt_lst;
void * fc_local_storage;
fp_t fc_fp;
boost::uint32_t fc_dealloc;

fcontext_t() :
fc_greg(),
fc_stack(),
fc_excpt_lst( 0),
fc_local_storage( 0),
fc_fp(),
fc_dealloc( 0)
{}
};

}

}}

#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif

#if defined(BOOST_MSVC)
#pragma warning(pop)
#endif

#endif // BOOST_CONTEXT_DETAIL_FCONTEXT_I386_H
Loading