FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OMEoil2Interp.h
Go to the documentation of this file.
1 #ifndef _OME_OIL2_INTERP_H
2 #define _OME_OIL2_INTERP_H "$Id: OMEoil2Interp.h 452 2020-07-23 20:19:23Z geoff $"
4 
6 #include <OMEthread.h>
7 
16 extern OME_CORE_CALL void *OMEoil2StackCreate(const OMEinvocationData *mInfo);
17 
24 extern OME_CORE_CALL void OMEoil2StackDelete(const OMEinvocationData *mInfo, void *data);
25 
26 
28 
31 class OIL2interpreterStack {
32 public:
39  OIL2interpreterStack(const uint_fast32_t iSize, OMEtype &vars);
40 
41  ~OIL2interpreterStack() {}
42 };
43 
45 
51 extern OME_FAST_CALL int OMEoil2Interpreter(OMEthread *thread, const OMEtype &codeBody);
52 
53 
56 #endif
57 /* vim: set expandtab shiftwidth=4 tabstop=4: */
OMEoidStorageBase
Abstract interface for storage of OMEoid objects that hides the internal vs. external implementation.
Definition: OMEoid.h:48
OMEthread::threadContext
OMEtype threadContext
Definition: OMEthread.h:77
OMEoidStorageInternal::ownedBy
OMEoidStorage * ownedBy
Definition: OMEoid.h:335
OMEcallStack::threadStack
void * threadStack
Definition: OMEthread.h:41
OMEcallStack::thisMethod
OMEtype thisMethod
Definition: OMEthread.h:36
OMEoidStorageInternal::doDestructorImplementation
void doDestructorImplementation() OME_USED
Definition: OMEoidIntStub3.cpp:18
OMEdefOIL2func::findFunction
static const OME_FAST_CALL OMEdefOIL2func * findFunction(const OMEstring &fName)
Definition: copyIntrp.cpp:64
OME_FLOAT
@ OME_FLOAT
Definition: OMEmanifests.h:82
OMEoil2StackCreate
void * OMEoil2StackCreate(const OMEinvocationData *mInfo)
Creates a stack for an OIL2 method.
Definition: OMEoil2Interp.cpp:40
OMEtype::initializeAsType
void initializeAsType(const enum OMEtypes_t t)
The fundamental tagged data type used through the FARGOS/VISTA infrastructure.
Definition: OMEtype.cpp:95
OMEoidStorageBase::getObjectACL
const OMEassoc & getObjectACL() const
Definition: OMEoid.h:70
OMEoidStorage::storageRef
class OMEoidStorageBase * storageRef
Definition: OMEoid.h:128
OMEtype::typeName
const char * typeName() const NONNULL_RETURN
Definition: OMEbaseType.h:874
OME_CRITICAL_SECTION_OID_REFERENCE
@ OME_CRITICAL_SECTION_OID_REFERENCE
Definition: OMEmutex.h:42
OMEdebugFlag
SMV_StandaloneNumeric< uint32_t > OMEdebugFlag("debugFlag")
OMEokToAssignTypes
bool OMEokToAssignTypes(uint32_t srcType, uint32_t targetType, OMEthread *t)
Definition: OMEthread.cpp:1260
OME_POINTER
@ OME_POINTER
Definition: OMEmanifests.h:92
OMEstartCriticalSection
void OMEstartCriticalSection(eOMEcriticalSectionLabel regionID)
Definition: OMEmutex.cpp:217
OMEthread::returnReply
OME_FAST_CALL int returnReply(const OMEtype &result)
Definition: OMEthread.cpp:730
OMEthread::yieldSlice
void yieldSlice()
Definition: OMEthread.cpp:1112
OMEoid.h
OME object identifier implementation.
OMEoil2StackDelete
void OMEoil2StackDelete(const OMEinvocationData *mInfo, void *data)
Deletes a stack associated with an OIL2 method.
Definition: OMEoil2Interp.cpp:49
OMEthread::getThisObject
const OMEtype & getThisObject() const OME_ALWAYS_INLINE
Definition: OMEthread.h:152
oneFP
OME_CORE_CALL int(* oneFP)(OMEthread *, OMEtype &, const OMEtype &)
Definition: OMEthread.h:256
OMEthread::callMethodWithSetArgument
OME_FAST_CALL int callMethodWithSetArgument(const OMEtype &methodName, const uint32_t hashIndx, const OMEtype &argSet)
Definition: OMEthread.cpp:678
OMEassoc
Implements associative array of OMEtype elements.
Definition: OMEassoc.h:112
OMEoid::OMEoid
OMEoid(OMEoidStorage *s)
Definition: OMEoid.cpp:337
OMEoidStorage::getInstanceInMemory
const class OMEobject * getInstanceInMemory() const
Definition: OMEoid.h:169
OMEstring
Implements text and binary string storage.
Definition: OMEstring.h:305
OMEencode.h
OME type encoding routines.
OMEencodeBuffer
Buffer into which OMEtype data is encoded.
Definition: OMEencode.h:54
OMEoidStorageExternal::oidData
OMEoidID oidData
Definition: OMEoid.h:421
OILnextIterator
OMEtype & OILnextIterator(int *rc, OMEtype &setVar)
Definition: OMEthread.cpp:1243
OMEoidStorageInternal::~OMEoidStorageInternal
~OMEoidStorageInternal()
Definition: OMEoid.h:349
OMEreferenceToData< OMEoidStorage >::data
OMEoidStorage * data
Definition: OMErefCount.h:82
OMEtype::value
union OMEtype::@26 value
OMEoidStorage::OMEoidStorageInternal
friend class OMEoidStorageInternal
Definition: OMEoid.h:82
OMEtype
Fundamental ANY type for FARGOS/VISTA Object Management Environment.
Definition: OMEbaseType.h:250
OMEthread::noteLineNumber
void noteLineNumber(int line, const char *fileName=nullptr) OME_ALWAYS_INLINE
Definition: OMEthread.h:193
twoFP
OME_CORE_CALL int(* twoFP)(OMEthread *, OMEtype &, const OMEtype &, const OMEtype &)
Definition: OMEthread.h:258
OMEobject
Base class and abstract interface for an object within a FARGOS/VISTA Object Management Environment.
Definition: OMEobject.h:22
OME_DOUBLE
@ OME_DOUBLE
Definition: OMEmanifests.h:83
OMEoidStorage::external
@ external
Definition: OMEoid.h:90
OMEthread::getPC
uint32_t getPC() const OME_ALWAYS_INLINE
Definition: OMEthread.h:169
eightFP
OME_CORE_CALL int(* eightFP)(OMEthread *, OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &)
Definition: OMEthread.h:278
fourFP
OME_CORE_CALL int(* fourFP)(OMEthread *, OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &)
Definition: OMEthread.h:264
OMEoidStorage::OMEdecodeOID
static int OMEdecodeOID(uint_fast32_t version, const OMEstring *encodedData, size_t *offset, OMEoidID *resultOID, OMEassoc **resultACL)
Definition: OMEoid.cpp:282
LOG_COUT
#define LOG_COUT(lvl)
Convenience macro that uses LOG_INTO() to conditionally log a message to standard output.
Definition: logging_api.hpp:3007
OMEtype::s
class OMEstring * s
Definition: OMEbaseType.h:299
OMEobject::addOIDref
OME_FAST_CALL void addOIDref(OMEoidStorageInternal *ref)
Definition: OMEobject.cpp:123
OMEcallStack::argv
OMEtype argv
Definition: OMEthread.h:38
OMEoidStorageInternal::outputOnStream
STREAMTYPE & outputOnStream(STREAMTYPE &outputStream, int_fast16_t indent=0, bool fullInfo=false) const
Definition: OMEoidIntStub2.cpp:10
OMEcore.h
threeFP
OME_CORE_CALL int(* threeFP)(OMEthread *, OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &)
Definition: OMEthread.h:261
OMEtype::i
int32_t i
Definition: OMEbaseType.h:285
OMEthread::outputOnStream
void outputOnStream(std::ostream &o=std::cout) const
Definition: OMEthread.cpp:1172
OMEthread::sourceFileName
const char * sourceFileName
Definition: OMEthread.h:84
OMEthread::exitRoutine
void exitRoutine()
Definition: OMEthread.cpp:1004
OMEdebugOIL2instructions
#define OMEdebugOIL2instructions
Definition: OMEdebugInfo.h:26
OMEthread::suspendThread
void suspendThread()
Definition: OMEthread.cpp:1086
zeroFP
OME_CORE_CALL int(* zeroFP)(OMEthread *, OMEtype &)
Definition: OMEthread.h:254
OMEinvocationData::localGlobals
OMEarray localGlobals
Definition: OMEmethod.h:55
INSTRUCTION_TRACE
#define INSTRUCTION_TRACE
OMEthread::replyStillPending
bool replyStillPending() const OME_ALWAYS_INLINE
Definition: OMEthread.h:113
OMEcallStack::argc
OMEtype argc
Definition: OMEthread.h:37
OMEobject::setMetaObject
OME_FAST_CALL void setMetaObject(const OMEoid *obj)
Attach an meta object to the object.
Definition: OMEobject.h:59
OMEinvocationData::constantTable
OMEarray constantTable
Definition: OMEmethod.h:54
OMEoidStorage::convertInternalToExternalRef
void convertInternalToExternalRef(const OMEoidID *entity, const class OMEoidStorageInternal *checkPtr)
Definition: OMEoidInt.cpp:175
OMEobject.h
srcID
const char srcID[]
Definition: catSym.c:17
OMEoil2Interp.h
OME_STRING
@ OME_STRING
Definition: OMEmanifests.h:85
OMEthread::generateException
OME_FAST_CALL int generateException(uint_fast32_t argc, const OMEarray &argv) const
Definition: OMEthread.cpp:1197
OMEthread::sendMessageWithSetArgument
OME_FAST_CALL int sendMessageWithSetArgument(const OMEtype &methodName, const uint32_t hashIndx, const OMEtype &argSet, const OMEtype &destObj, const OMEtype &fromObj, const int32_t timeout)
Definition: OMEthread.cpp:593
OMEoidStorage
Reference-counted link to OMEoidStorageBase object.
Definition: OMEoid.h:79
OMEthread::sourceLineNumber
int sourceLineNumber
Definition: OMEthread.h:83
OMEinvocationData::stackSize
uint32_t stackSize
Definition: OMEmethod.h:46
OMEthread.h
OMEoidStorageBase::acl
OMEassoc acl
Definition: OMEoid.h:50
OMEtype::pointer
OMEtype * pointer
Definition: OMEbaseType.h:302
OMEoidStorage::convertExternalReferences
static int convertExternalReferences(const OMEoidID *id, class OMEobject *o)
Definition: OMEoidIntStub.cpp:108
OMEoidStorage::nextInChain
OMEoidStorage * nextInChain
Definition: OMEoid.h:110
OME_NIL
@ OME_NIL
Definition: OMEmanifests.h:78
OMEoidStorageInternal::getProxyObject
virtual const OMEoid * getProxyObject(const OMEstring **method) const override
Definition: OMEoidIntStub.cpp:28
OME_EXPECT_TRUE
#define OME_EXPECT_TRUE(expr)
Annotation macro for conditional expression expected to be true.
Definition: compiler_hints.h:541
OMEthread::getReplyOID
const OMEtype & getReplyOID()
Definition: OMEthread.h:125
OMEobject::getOIDdata
OME_FAST_CALL void getOIDdata(OMEoidID *idInfo) const
Definition: OMEobject.cpp:105
OMEtypes_t
OMEtypes_t
Definition: OMEmanifests.h:77
OMEobject::classInfo
const OMEclass * classInfo
Pointer to class description.
Definition: OMEobject.h:37
OMEthread::callStack
OMEcallStack * callStack
Definition: OMEthread.h:74
OMEthread::getReplyResult
const OMEtype & getReplyResult() const OME_ALWAYS_INLINE
Definition: OMEthread.h:177
OME_UINT64
@ OME_UINT64
Definition: OMEmanifests.h:97
OMEoidStorageInternal::setOwningRecord
void setOwningRecord(OMEoidStorage *rec) OME_ALWAYS_INLINE
Definition: OMEoid.h:337
OMEobject::metaObject
OMEoid * metaObject
Pointer to meta-object.
Definition: OMEobject.h:38
OMEoidStorageInternal
Interface to an internal OME object.
Definition: OMEoid.h:324
LogMessageRecord
Log message record used to remember output format and argument values, potentially deferring formatti...
Definition: logging_api.hpp:1022
OMEoidStorage::startOfChain
static OMEoidStorage * startOfChain
Definition: OMEoid.h:109
OMEtype::ui
uint32_t ui
Definition: OMEbaseType.h:286
OMEthread::fromObject
OMEtype fromObject
Definition: OMEthread.h:78
OME_USED
const char srcID[] OME_USED
Definition: tick_time.cpp:24
OMEoidStorageInternal::OMEoidStorageInternal
OMEoidStorageInternal(OMEobject *o, const OMEassoc &a)
Definition: OMEoidInt.cpp:34
sevenFP
OME_CORE_CALL int(* sevenFP)(OMEthread *, OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &)
Definition: OMEthread.h:274
OMEclass::className
OMEstring className
Definition: OMEclass.h:55
OMEoid::decodeOID
static OMEoid * decodeOID(uint32_t ver, const OMEstring *encodedData, size_t *offset)
Definition: OMEoidIntStub.cpp:48
OMEreferenceCount::addReadOnlyReference
void addReadOnlyReference()
Definition: OMErefCount.cpp:139
OMEreferenceCount::totalReferences
int_fast32_t totalReferences() const OME_ALWAYS_INLINE
Definition: OMErefCount.h:61
DECLARE_STANDARD_COMPONENT_VARS
DECLARE_STANDARD_COMPONENT_VARS(oil2)
AUTO_REGISTER_COMPONENT
AUTO_REGISTER_COMPONENT(oil2)
OMEoidStorageInternal::setProxyObject
virtual void setProxyObject(const OMEoid &proxy, const OMEstring &method) override
Definition: OMEoidIntStub.cpp:22
OMEoidStorageInternal::objectRecord
const class OMEobject * objectRecord
Definition: OMEoid.h:331
OMEdefOIL2func
Record to define the implementation of an OIL2 function.
Definition: OMEthread.h:287
OMEoidStorageInternal::encodeOID
virtual OMEstring * encodeOID(const class OMEencodeBuffer *bfr) const override
Definition: OMEoidIntStub.cpp:41
OMEoidStorage::internal
@ internal
Definition: OMEoid.h:89
OMEoidStorage::findReference
static OMEoidStorage * findReference(const OMEoidID *id, const OMEassoc *acl=nullptr, OMEoidStorage **sameEntity=nullptr, bool externalOnly=false)
Definition: OMEoidIntStub.cpp:76
OMEendCriticalSection
void OMEendCriticalSection(eOMEcriticalSectionLabel regionID)
Definition: OMEmutex.cpp:236
OMEobject::removeOIDref
OME_FAST_CALL void removeOIDref(OMEoidStorageInternal *ref)
Definition: OMEobject.cpp:131
OME_EXPECT_FALSE
#define OME_EXPECT_FALSE(expr)
Annotation macro for conditional expression expected to be false.
Definition: compiler_hints.h:540
OME_ALWAYS_INLINE
#define OME_ALWAYS_INLINE
Tell the compiler to alway inline a function, regardless of optimization level.
Definition: compiler_hints.h:364
OMEinvocationData
Record to describe the implementation of the method of an OME class.
Definition: OMEmethod.h:35
OMEoidStorage::OMEencodeOID
static OMEstring * OMEencodeOID(const OMEoidID &, const OMEassoc &, int encodingVersion)
Definition: OMEoid.cpp:242
OME_FAST_CALL
#define OME_FAST_CALL
Definition: compiler_hints.h:468
generateWeakDestructorForOID
void generateWeakDestructorForOID(OMEoidStorageInternal *obj)
Definition: OMEoidIntStub3.cpp:12
OMEencodeBuffer::getEncodeVersion
uint32_t getEncodeVersion() const
Get version Id of encoding version.
Definition: OMEencode.h:96
OMEdefOIL2func::argCount
int argCount
Definition: OMEthread.h:301
OMEoidStorageInternal::noteReferencedObjectDeleted
void noteReferencedObjectDeleted(OMEoidID *entity)
Definition: OMEoidInt.cpp:50
OMEthread::setResultPending
void setResultPending() OME_ALWAYS_INLINE
Definition: OMEthread.h:111
fiveFP
OME_CORE_CALL int(* fiveFP)(OMEthread *, OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &)
Definition: OMEthread.h:267
OMEarray
Implements sparse array of OMEtype elements.
Definition: OMEarray.h:75
DEFINE_STANDARD_COMPONENT_VARS
DEFINE_STANDARD_COMPONENT_VARS(oil2)
OMEthread
Public interface to an OME thread.
Definition: OMEthread.h:60
LOG_ENDLINE
#define LOG_ENDLINE
Closing clause for text line output using << operators.
Definition: logging_api.hpp:2956
OMEoid
Public interface to an OME Object Identifier.
Definition: OMEoid.h:196
OMEdefOIL2func::function
void * function
Definition: OMEthread.h:300
OMEthread::getInstanceData
OME_FAST_CALL void * getInstanceData() const
Definition: OMEthread.cpp:1036
OMEtype::type
uint32_t type
Definition: OMEbaseType.h:304
OMEobject::OMEoidStorageInternal
friend class OMEoidStorageInternal
Definition: OMEobject.h:23
OMEgetObjectCreatorOID
OMEtype & OMEgetObjectCreatorOID(const OMEtype &userInfo)
Definition: OMEcreate.cpp:117
OMEoidStorageExternal
Interface to an external OME object.
Definition: OMEoid.h:415
sixFP
OME_CORE_CALL int(* sixFP)(OMEthread *, OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &, const OMEtype &)
Definition: OMEthread.h:270
OME_CORE_CALL
#define OME_CORE_CALL
Definition: compiler_hints.h:472
OME_ARRAY
@ OME_ARRAY
Definition: OMEmanifests.h:86
OMEoidStorage::convertExternalToInternalRef
void convertExternalToInternalRef(OMEobject *b)
Definition: OMEoidInt.cpp:205
OMEarray::ARRAY_SUBSCRIPT_t
OMEarrayStorage::ARRAY_SUBSCRIPT_t ARRAY_SUBSCRIPT_t
Definition: OMEarray.h:90
OMEthread::setPC
OME_FAST_CALL void setPC(uint32_t pc) OME_ALWAYS_INLINE
Definition: OMEthread.h:165
OMEtype
#define OMEtype
Definition: tmp.o.cpp:396
OMEset::resetIterator
void resetIterator()
Reset the internal iterator to the beginning of the list.
Definition: OMEset.cpp:264
OMEtype::set
class OMEset * set
Definition: OMEbaseType.h:298
OMEoidStorageInternal::getObjectOID
virtual void getObjectOID(OMEoidID *) const override
Definition: OMEoidIntStub.cpp:34
OMEthread::threadErrorCode
OMEtype threadErrorCode
Definition: OMEthread.h:81
OMEthread::getUserID
const OMEtype & getUserID() const OME_ALWAYS_INLINE
Definition: OMEthread.h:146
OMEoidStorage::OMEoidStorageExternal
friend class OMEoidStorageExternal
Definition: OMEoid.h:83
OMEclass::metaObject
OMEoid * metaObject
Definition: OMEclass.h:59
OMEoidID
Fundamental elements of an OME object identifier.
Definition: OMEoid.h:27
OME_ASSOC
@ OME_ASSOC
Definition: OMEmanifests.h:87
OMEoidStorage::referenceType
OMErefType referenceType
Definition: OMEoid.h:134
OMEcallStack::methodBody
const OMEinvocationData * methodBody
Definition: OMEthread.h:34
OMEthread::noteObjectModified
void noteObjectModified() OME_ALWAYS_INLINE
Definition: OMEthread.h:191
END_TRACE
#define END_TRACE
OME_INT64
@ OME_INT64
Definition: OMEmanifests.h:81
LOG_CERR
#define LOG_CERR(lvl)
Convenience macro that uses LOG_INTO() to conditionally log a message to standard error.
Definition: logging_api.hpp:3014
OMEoil2Interpreter
int OMEoil2Interpreter(OMEthread *thread, const OMEtype &codeBody)
Entry point for the OIL2 Architecture Neutral Format interpreter.
Definition: OMEoil2Interp.cpp:281
logging_api.hpp
FARGOS Logging API.
Generated: Tue Jul 28 2020 16:03:25
Support Information