NativeContextBlock Class Reference

#include <ActivityManager.hpp>

Public Member Functions

 NativeContextBlock ()
 
 ~NativeContextBlock ()
 
RexxObjectprotect (RexxObject *o)
 

Public Attributes

RexxNativeActivationself
 
RexxActivityactivity
 
InterpreterInstanceinstance
 

Detailed Description

Definition at line 381 of file ActivityManager.hpp.

Constructor & Destructor Documentation

◆ NativeContextBlock()

NativeContextBlock::NativeContextBlock ( )

Enter a native context block. This will locate the appropriate activity for this callback and acquire kernel access on that activity. If this thread has never been used, then a new interpreter instance will be created and the thread attached to that instance.

Definition at line 871 of file ActivityManager.cpp.

References activity, Interpreter::createInterpreterInstance(), ActivityManager::getActivity(), InterpreterInstance::getRootActivity(), RexxActivity::getTopStackFrame(), instance, and OREF_NULL.

◆ ~NativeContextBlock()

NativeContextBlock::~NativeContextBlock ( )

Release the kernal access and cleanup when the context block goes out of scope.

Definition at line 895 of file ActivityManager.cpp.

References activity, RexxActivity::exitCurrentThread(), instance, OREF_NULL, and InterpreterInstance::terminate().

Member Function Documentation

◆ protect()

RexxObject * NativeContextBlock::protect ( RexxObject o)

Protect an object that associated with the current native context. This creates a local reference that will lock the object into memory until the native activation is popped off the stack.

Parameters
oThe object to protect (can be null).
Returns
The protected object.

Definition at line 916 of file ActivityManager.cpp.

Member Data Documentation

◆ activity

RexxActivity* NativeContextBlock::activity

Definition at line 389 of file ActivityManager.hpp.

Referenced by NativeContextBlock(), and ~NativeContextBlock().

◆ instance

InterpreterInstance* NativeContextBlock::instance

Definition at line 390 of file ActivityManager.hpp.

Referenced by NativeContextBlock(), and ~NativeContextBlock().

◆ self

RexxNativeActivation* NativeContextBlock::self

Definition at line 388 of file ActivityManager.hpp.

Referenced by RexxStemSort(), and RexxVariablePool().


The documentation for this class was generated from the following files: