class thread_data_stackless

Declaration

class thread_data_stackless : public thread_data { /* full declaration omitted */ };

Description

//////////////////////////////////////////////////////////////////////// A \ais the representation of a ParalleX thread. It's a first class object in ParalleX. In our implementation this is a user level thread running on top of one of the OS threads spawned by the \a A \aencapsulates: - A thread status word (see the functions \aand\a- A function to execute (the thread function) - A frame (in this implementation this is a block of memory used as the threads stack) - A block of registers (not implemented yet) Generally, \aare not created or executed directly. All functionality related to the management of \ais implemented by the thread-manager.

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:46

Inherits from: thread_data

Member Variables

Inherited from thread_data_reference_counting:

public count_

Method Overview

  • public stackless_coroutine_type::result_type call()
  • public static inline pika::threads::thread_data * create(pika::threads::thread_init_data & data, void * queue, std::ptrdiff_t stacksize, pika::threads::thread_id_addref addref = thread_id_addref::yes)
  • public void destroy()
  • public std::size_t get_thread_data() const
  • public void init()
  • public void rebind(pika::threads::thread_init_data & init_data)
  • public std::size_t set_thread_data(std::size_t data)
  • public thread_data_stackless(pika::threads::thread_init_data & init_data, void * queue, std::ptrdiff_t stacksize, pika::threads::thread_id_addref addref)
  • public ~thread_data_stackless()

Inherited from thread_data:

Inherited from thread_data_reference_counting:

Methods

stackless_coroutine_type::result_type call()

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:59

static inline pika::threads::thread_data* create(
    pika::threads::thread_init_data& data,
    void* queue,
    std::ptrdiff_t stacksize,
    pika::threads::thread_id_addref addref =
        thread_id_addref::yes)

Description

/////////////////////////////////////////////////////////////////////////

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:146

Parameters

pika::threads::thread_init_data& data
void* queue
std::ptrdiff_t stacksize
pika::threads::thread_id_addref addref = thread_id_addref::yes

void destroy()

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:150

std::size_t get_thread_data() const

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:82

void init()

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:125

void rebind(
    pika::threads::thread_init_data& init_data)

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:127

Parameters

pika::threads::thread_init_data& init_data

std::size_t set_thread_data(std::size_t data)

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:87

Parameters

std::size_t data

thread_data_stackless(
    pika::threads::thread_init_data& init_data,
    void* queue,
    std::ptrdiff_t stacksize,
    pika::threads::thread_id_addref addref)

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:136

Parameters

pika::threads::thread_init_data& init_data
void* queue
std::ptrdiff_t stacksize
pika::threads::thread_id_addref addref

~thread_data_stackless()

Declared at: libs/pika/threading_base/include/pika/threading_base/thread_data_stackless.hpp:144