VirtualFunctionTable.cpp
Go to the documentation of this file.
1 
2 
3 /*----------------------------------------------------------------------------*/
4 /* */
5 /* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved. */
6 /* Copyright (c) 2005-2009 Rexx Language Association. All rights reserved. */
7 /* */
8 /* This program and the accompanying materials are made available under */
9 /* the terms of the Common Public License v1.0 which accompanies this */
10 /* distribution. A copy is also available at the following address: */
11 /* http://www.ibm.com/developerworks/oss/CPLv1.0.htm */
12 /* */
13 /* Redistribution and use in source and binary forms, with or */
14 /* without modification, are permitted provided that the following */
15 /* conditions are met: */
16 /* */
17 /* Redistributions of source code must retain the above copyright */
18 /* notice, this list of conditions and the following disclaimer. */
19 /* Redistributions in binary form must reproduce the above copyright */
20 /* notice, this list of conditions and the following disclaimer in */
21 /* the documentation and/or other materials provided with the distribution. */
22 /* */
23 /* Neither the name of Rexx Language Association nor the names */
24 /* of its contributors may be used to endorse or promote products */
25 /* derived from this software without specific prior written permission. */
26 /* */
27 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
28 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
29 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
30 /* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
31 /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
32 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
33 /* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
34 /* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */
35 /* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
36 /* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
37 /* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
38 /* */
39 /*----------------------------------------------------------------------------*/
40 /******************************************************************************/
41 /* REXX Kernel */
42 /* */
43 /* Build the table of virtual functions assigned to Rexx class instances */
44 /* */
45 /******************************************************************************/
46 
47 /* -------------------------------------------------------------------------- */
48 /* -- ================================================== -- */
49 /* -- DO NOT CHANGE THIS FILE, ALL CHANGES WILL BE LOST! -- */
50 /* -- ================================================== -- */
51 /* -------------------------------------------------------------------------- */
52 
53 #include "RexxCore.h"
54 
55 
56 #include "ObjectClass.hpp"
57 #include "ClassClass.hpp"
58 #include "ArrayClass.hpp"
59 #include "DirectoryClass.hpp"
60 #include "IntegerClass.hpp"
61 #include "ListClass.hpp"
62 #include "MessageClass.hpp"
63 #include "MethodClass.hpp"
64 #include "NumberStringClass.hpp"
65 #include "QueueClass.hpp"
66 #include "StemClass.hpp"
67 #include "StringClass.hpp"
68 #include "SupplierClass.hpp"
69 #include "TableClass.hpp"
70 #include "RelationClass.hpp"
71 #include "MutableBufferClass.hpp"
72 #include "PointerClass.hpp"
73 #include "BufferClass.hpp"
74 #include "WeakReferenceClass.hpp"
75 #include "RoutineClass.hpp"
76 #include "PackageClass.hpp"
77 #include "ContextClass.hpp"
78 #include "IdentityTableClass.hpp"
79 #include "StackFrameClass.hpp"
80 #include "BlockClass.hpp"
81 #include "TextClass.hpp"
82 #include "RexxBehaviour.hpp"
83 #include "SourceFile.hpp"
84 #include "LibraryPackage.hpp"
85 #include "RexxCode.hpp"
86 #include "RexxNativeCode.hpp"
87 #include "CPPCode.hpp"
88 #include "RexxHashTable.hpp"
89 #include "RexxListTable.hpp"
90 #include "RexxSmartBuffer.hpp"
91 #include "RexxVariable.hpp"
93 #include "ExpressionVariable.hpp"
95 #include "ExpressionStem.hpp"
98 #include "ExpressionFunction.hpp"
99 #include "ExpressionMessage.hpp"
100 #include "ExpressionOperator.hpp"
101 #include "ExpressionLogical.hpp"
102 #include "ExpressionList.hpp"
103 #include "RexxInstruction.hpp"
104 #include "AddressInstruction.hpp"
105 #include "AssignmentInstruction.hpp"
106 #include "CallInstruction.hpp"
107 #include "CommandInstruction.hpp"
108 #include "DoInstruction.hpp"
109 #include "DropInstruction.hpp"
110 #include "ElseInstruction.hpp"
111 #include "EndInstruction.hpp"
112 #include "EndIf.hpp"
113 #include "ExitInstruction.hpp"
114 #include "ExposeInstruction.hpp"
115 #include "ForwardInstruction.hpp"
116 #include "GuardInstruction.hpp"
117 #include "IfInstruction.hpp"
118 #include "InterpretInstruction.hpp"
119 #include "LabelInstruction.hpp"
120 #include "LeaveInstruction.hpp"
121 #include "MessageInstruction.hpp"
122 #include "NopInstruction.hpp"
123 #include "NumericInstruction.hpp"
124 #include "OptionsInstruction.hpp"
125 #include "OtherwiseInstruction.hpp"
126 #include "ParseInstruction.hpp"
127 #include "ProcedureInstruction.hpp"
128 #include "QueueInstruction.hpp"
129 #include "RaiseInstruction.hpp"
130 #include "ReplyInstruction.hpp"
131 #include "ReturnInstruction.hpp"
132 #include "SayInstruction.hpp"
133 #include "SelectInstruction.hpp"
134 #include "SignalInstruction.hpp"
135 #include "ThenInstruction.hpp"
136 #include "TraceInstruction.hpp"
137 #include "UpperInstruction.hpp"
138 #include "UseStrictInstruction.hpp"
139 #include "ClassDirective.hpp"
140 #include "ExtensionDirective.hpp"
141 #include "LibraryDirective.hpp"
142 #include "RequiresDirective.hpp"
143 #include "RexxCompoundElement.hpp"
144 #include "ParseTrigger.hpp"
145 #include "RexxMemory.hpp"
146 #include "RexxInternalStack.hpp"
147 #include "StackClass.hpp"
148 #include "RexxActivity.hpp"
149 #include "RexxActivation.hpp"
150 #include "RexxNativeActivation.hpp"
151 #include "RexxActivationStack.hpp"
152 #include "RexxEnvelope.hpp"
153 #include "Clause.hpp"
154 #include "Token.hpp"
155 #include "DoBlock.hpp"
156 #include "InterpreterInstance.hpp"
157 #include "SecurityManager.hpp"
158 #include "CommandHandler.hpp"
159 
160 
162 
163 /******************************************************************************/
164 /* Function: This small function is necessary to void optimizer problems on */
165 /* some versions of GCC. The optimizer appears to keep storing */
166 /* the same value in the VFT rather than picking up the new VFT */
167 /* for each class. Making this a separate routine avoids this. */
168 /******************************************************************************/
169 void *getVftPointer(void *loc)
170 {
171  return *((void **)loc);
172 }
173 
175 /******************************************************************************/
176 /* Function: This routine will build an array of the virtualFunctions */
177 /* There will be one for each Class. */
178 /******************************************************************************/
179 {
180  uintptr_t objectBuffer[256]; /* buffer for each object */
181  volatile void *objectPtr;
182 
183  void *objectLoc = objectBuffer;
184  // instantiate an instance of each class into the buffer and
185  // grab the resulting virtual function table
186 
187  objectPtr = new (objectLoc) RexxObject(RESTOREIMAGE);
189 
190  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
192 
193  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
195 
196  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
198 
199  objectPtr = new (objectLoc) RexxArray(RESTOREIMAGE);
201 
202  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
204 
205  objectPtr = new (objectLoc) RexxDirectory(RESTOREIMAGE);
207 
208  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
210 
211  objectPtr = new (objectLoc) RexxInteger(RESTOREIMAGE);
213 
214  objectPtr = new (objectLoc) RexxIntegerClass(RESTOREIMAGE);
216 
217  objectPtr = new (objectLoc) RexxList(RESTOREIMAGE);
219 
220  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
222 
223  objectPtr = new (objectLoc) RexxMessage(RESTOREIMAGE);
225 
226  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
228 
229  objectPtr = new (objectLoc) RexxMethod(RESTOREIMAGE);
231 
232  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
234 
235  objectPtr = new (objectLoc) RexxNumberString(RESTOREIMAGE);
237 
238  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
240 
241  objectPtr = new (objectLoc) RexxQueue(RESTOREIMAGE);
243 
244  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
246 
247  objectPtr = new (objectLoc) RexxStem(RESTOREIMAGE);
249 
250  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
252 
253  objectPtr = new (objectLoc) RexxString(RESTOREIMAGE);
255 
256  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
258 
259  objectPtr = new (objectLoc) RexxSupplier(RESTOREIMAGE);
261 
262  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
264 
265  objectPtr = new (objectLoc) RexxTable(RESTOREIMAGE);
267 
268  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
270 
271  objectPtr = new (objectLoc) RexxRelation(RESTOREIMAGE);
273 
274  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
276 
277  objectPtr = new (objectLoc) RexxMutableBuffer(RESTOREIMAGE);
279 
280  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
282 
283  objectPtr = new (objectLoc) RexxPointer(RESTOREIMAGE);
285 
286  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
288 
289  objectPtr = new (objectLoc) RexxBuffer(RESTOREIMAGE);
291 
292  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
294 
295  objectPtr = new (objectLoc) WeakReference(RESTOREIMAGE);
297 
298  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
300 
301  objectPtr = new (objectLoc) RoutineClass(RESTOREIMAGE);
303 
304  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
306 
307  objectPtr = new (objectLoc) PackageClass(RESTOREIMAGE);
309 
310  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
312 
313  objectPtr = new (objectLoc) RexxContext(RESTOREIMAGE);
315 
316  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
318 
319  objectPtr = new (objectLoc) RexxIdentityTable(RESTOREIMAGE);
321 
322  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
324 
325  objectPtr = new (objectLoc) StackFrameClass(RESTOREIMAGE);
327 
328  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
330 
331  objectPtr = new (objectLoc) RexxBlock(RESTOREIMAGE);
333 
334  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
336 
337  objectPtr = new (objectLoc) RexxText(RESTOREIMAGE);
339 
340  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
342 
343  objectPtr = new (objectLoc) Unicode(RESTOREIMAGE);
345 
346  objectPtr = new (objectLoc) RexxClass(RESTOREIMAGE);
348 
349  objectPtr = new (objectLoc) RexxNilObject(RESTOREIMAGE);
351 
352  objectPtr = new (objectLoc) RexxBehaviour(RESTOREIMAGE);
354 
355  objectPtr = new (objectLoc) RexxSource(RESTOREIMAGE);
357 
358  objectPtr = new (objectLoc) LibraryPackage(RESTOREIMAGE);
360 
361  objectPtr = new (objectLoc) RexxCode(RESTOREIMAGE);
363 
364  objectPtr = new (objectLoc) RexxNativeMethod(RESTOREIMAGE);
366 
367  objectPtr = new (objectLoc) RexxNativeRoutine(RESTOREIMAGE);
369 
370  objectPtr = new (objectLoc) RegisteredRoutine(RESTOREIMAGE);
372 
373  objectPtr = new (objectLoc) CPPCode(RESTOREIMAGE);
375 
376  objectPtr = new (objectLoc) AttributeGetterCode(RESTOREIMAGE);
378 
379  objectPtr = new (objectLoc) AttributeSetterCode(RESTOREIMAGE);
381 
382  objectPtr = new (objectLoc) ConstantGetterCode(RESTOREIMAGE);
384 
385  objectPtr = new (objectLoc) AbstractCode(RESTOREIMAGE);
387 
388  objectPtr = new (objectLoc) RexxHashTable(RESTOREIMAGE);
390 
391  objectPtr = new (objectLoc) RexxListTable(RESTOREIMAGE);
393 
394  objectPtr = new (objectLoc) RexxSmartBuffer(RESTOREIMAGE);
396 
397  objectPtr = new (objectLoc) RexxVariable(RESTOREIMAGE);
399 
400  objectPtr = new (objectLoc) RexxVariableDictionary(RESTOREIMAGE);
402 
403  objectPtr = new (objectLoc) RexxParseVariable(RESTOREIMAGE);
405 
406  objectPtr = new (objectLoc) RexxCompoundVariable(RESTOREIMAGE);
408 
409  objectPtr = new (objectLoc) RexxStemVariable(RESTOREIMAGE);
411 
412  objectPtr = new (objectLoc) RexxDotVariable(RESTOREIMAGE);
414 
415  objectPtr = new (objectLoc) RexxVariableReference(RESTOREIMAGE);
417 
418  objectPtr = new (objectLoc) RexxExpressionFunction(RESTOREIMAGE);
420 
421  objectPtr = new (objectLoc) RexxExpressionMessage(RESTOREIMAGE);
423 
424  objectPtr = new (objectLoc) RexxUnaryOperator(RESTOREIMAGE);
426 
427  objectPtr = new (objectLoc) RexxBinaryOperator(RESTOREIMAGE);
429 
430  objectPtr = new (objectLoc) RexxExpressionLogical(RESTOREIMAGE);
432 
433  objectPtr = new (objectLoc) RexxExpressionList(RESTOREIMAGE);
435 
436  objectPtr = new (objectLoc) RexxInstruction(RESTOREIMAGE);
438 
439  objectPtr = new (objectLoc) RexxInstructionAddress(RESTOREIMAGE);
441 
442  objectPtr = new (objectLoc) RexxInstructionAssignment(RESTOREIMAGE);
444 
445  objectPtr = new (objectLoc) RexxInstructionCall(RESTOREIMAGE);
447 
448  objectPtr = new (objectLoc) RexxInstructionCommand(RESTOREIMAGE);
450 
451  objectPtr = new (objectLoc) RexxInstructionDo(RESTOREIMAGE);
453 
454  objectPtr = new (objectLoc) RexxInstructionDrop(RESTOREIMAGE);
456 
457  objectPtr = new (objectLoc) RexxInstructionElse(RESTOREIMAGE);
459 
460  objectPtr = new (objectLoc) RexxInstructionEnd(RESTOREIMAGE);
462 
463  objectPtr = new (objectLoc) RexxInstructionEndIf(RESTOREIMAGE);
465 
466  objectPtr = new (objectLoc) RexxInstructionExit(RESTOREIMAGE);
468 
469  objectPtr = new (objectLoc) RexxInstructionExpose(RESTOREIMAGE);
471 
472  objectPtr = new (objectLoc) RexxInstructionForward(RESTOREIMAGE);
474 
475  objectPtr = new (objectLoc) RexxInstructionGuard(RESTOREIMAGE);
477 
478  objectPtr = new (objectLoc) RexxInstructionIf(RESTOREIMAGE);
480 
481  objectPtr = new (objectLoc) RexxInstructionInterpret(RESTOREIMAGE);
483 
484  objectPtr = new (objectLoc) RexxInstructionLabel(RESTOREIMAGE);
486 
487  objectPtr = new (objectLoc) RexxInstructionLeave(RESTOREIMAGE);
489 
490  objectPtr = new (objectLoc) RexxInstructionMessage(RESTOREIMAGE);
492 
493  objectPtr = new (objectLoc) RexxInstructionNop(RESTOREIMAGE);
495 
496  objectPtr = new (objectLoc) RexxInstructionNumeric(RESTOREIMAGE);
498 
499  objectPtr = new (objectLoc) RexxInstructionOptions(RESTOREIMAGE);
501 
502  objectPtr = new (objectLoc) RexxInstructionOtherwise(RESTOREIMAGE);
504 
505  objectPtr = new (objectLoc) RexxInstructionParse(RESTOREIMAGE);
507 
508  objectPtr = new (objectLoc) RexxInstructionProcedure(RESTOREIMAGE);
510 
511  objectPtr = new (objectLoc) RexxInstructionQueue(RESTOREIMAGE);
513 
514  objectPtr = new (objectLoc) RexxInstructionRaise(RESTOREIMAGE);
516 
517  objectPtr = new (objectLoc) RexxInstructionReply(RESTOREIMAGE);
519 
520  objectPtr = new (objectLoc) RexxInstructionReturn(RESTOREIMAGE);
522 
523  objectPtr = new (objectLoc) RexxInstructionSay(RESTOREIMAGE);
525 
526  objectPtr = new (objectLoc) RexxInstructionSelect(RESTOREIMAGE);
528 
529  objectPtr = new (objectLoc) RexxInstructionSignal(RESTOREIMAGE);
531 
532  objectPtr = new (objectLoc) RexxInstructionThen(RESTOREIMAGE);
534 
535  objectPtr = new (objectLoc) RexxInstructionTrace(RESTOREIMAGE);
537 
538  objectPtr = new (objectLoc) RexxInstructionUpper(RESTOREIMAGE);
540 
541  objectPtr = new (objectLoc) RexxInstructionUseStrict(RESTOREIMAGE);
543 
544  objectPtr = new (objectLoc) ClassDirective(RESTOREIMAGE);
546 
547  objectPtr = new (objectLoc) ExtensionDirective(RESTOREIMAGE);
549 
550  objectPtr = new (objectLoc) LibraryDirective(RESTOREIMAGE);
552 
553  objectPtr = new (objectLoc) RequiresDirective(RESTOREIMAGE);
555 
556  objectPtr = new (objectLoc) RexxCompoundElement(RESTOREIMAGE);
558 
559  objectPtr = new (objectLoc) RexxTrigger(RESTOREIMAGE);
561 
562  objectPtr = new (objectLoc) RexxSourceLiteral(RESTOREIMAGE);
564 
565  objectPtr = new (objectLoc) RexxObject(RESTOREIMAGE);
567 
568  objectPtr = new (objectLoc) RexxInternalStack(RESTOREIMAGE);
570 
571  objectPtr = new (objectLoc) RexxStack(RESTOREIMAGE);
573 
574  objectPtr = new (objectLoc) RexxActivity(RESTOREIMAGE);
576 
577  objectPtr = new (objectLoc) RexxActivation(RESTOREIMAGE);
579 
580  objectPtr = new (objectLoc) RexxNativeActivation(RESTOREIMAGE);
582 
583  objectPtr = new (objectLoc) RexxActivationFrameBuffer(RESTOREIMAGE);
585 
586  objectPtr = new (objectLoc) RexxEnvelope(RESTOREIMAGE);
588 
589  objectPtr = new (objectLoc) RexxClause(RESTOREIMAGE);
591 
592  objectPtr = new (objectLoc) RexxToken(RESTOREIMAGE);
594 
595  objectPtr = new (objectLoc) RexxDoBlock(RESTOREIMAGE);
597 
598  objectPtr = new (objectLoc) InterpreterInstance(RESTOREIMAGE);
600 
601  objectPtr = new (objectLoc) SecurityManager(RESTOREIMAGE);
603 
604  objectPtr = new (objectLoc) CommandHandler(RESTOREIMAGE);
606 
607 };
608 
609 
610 /* -- ================================================== -- */
611 /* -- DO NOT CHANGE THIS FILE, ALL CHANGES WILL BE LOST! -- */
612 /* -- ================================================== -- */
613 /* -------------------------------------------------------------------------- */
614 
@ T_MutableBufferClass
@ T_NativeRoutine
@ T_InterpretInstruction
@ T_ElseInstruction
@ T_Routine
@ T_RoutineClass
@ T_RexxBlockClass
@ T_RexxText
@ T_VariableTerm
@ T_ParseInstruction
@ T_SelectInstruction
@ T_List
@ T_InternalStack
@ T_GuardInstruction
@ T_Class
@ T_HashTable
@ T_OptionsInstruction
@ T_DoBlock
@ T_Stem
@ T_ClassClass
@ T_MutableBuffer
@ T_CallInstruction
@ T_QueueInstruction
@ T_ListTerm
@ T_Last_Class_Type
@ T_AssignmentInstruction
@ T_UnaryOperatorTerm
@ T_RexxCode
@ T_SignalInstruction
@ T_MessageInstruction
@ T_UnicodeClass
@ T_IndirectVariableTerm
@ T_IntegerClass
@ T_UseInstruction
@ T_CPPCode
@ T_SourceLiteral
@ T_StemClass
@ T_ParseTrigger
@ T_ExtensionDirective
@ T_QueueClass
@ T_AttributeSetterCode
@ T_Directory
@ T_Variable
@ T_NumericInstruction
@ T_Buffer
@ T_NativeMethod
@ T_DropInstruction
@ T_Behaviour
@ T_StringClass
@ T_SayInstruction
@ T_VariableDictionary
@ T_UpperInstruction
@ T_IfInstruction
@ T_Pointer
@ T_BufferClass
@ T_Stack
@ T_LibraryDirective
@ T_ReplyInstruction
@ T_RelationClass
@ T_LibraryPackage
@ T_ActivationFrameBuffer
@ T_RegisteredRoutine
@ T_ProcedureInstruction
@ T_PointerClass
@ T_FunctionCallTerm
@ T_NopInstruction
@ T_Token
@ T_String
@ T_DoInstruction
@ T_EndInstruction
@ T_Unicode
@ T_AddressInstruction
@ T_PackageClass
@ T_MessageSendTerm
@ T_RexxContext
@ T_ForwardInstruction
@ T_ListClass
@ T_ObjectClass
@ T_RexxBlock
@ T_AttributeGetterCode
@ T_Method
@ T_Activity
@ T_MessageClass
@ T_NativeActivation
@ T_BinaryOperatorTerm
@ T_Envelope
@ T_Integer
@ T_DirectoryClass
@ T_RexxTextClass
@ T_LogicalTerm
@ T_ExitInstruction
@ T_Relation
@ T_SmartBuffer
@ T_CommandHandler
@ T_AbstractCode
@ T_Instruction
@ T_CompoundVariableTerm
@ T_Package
@ T_ClassDirective
@ T_IdentityTableClass
@ T_NumberStringClass
@ T_Clause
@ T_Queue
@ T_RaiseInstruction
@ T_CompoundElement
@ T_SupplierClass
@ T_LeaveInstruction
@ T_StackFrameClass
@ T_ThenInstruction
@ T_SecurityManager
@ T_OtherwiseInstruction
@ T_RexxContextClass
@ T_ConstantGetterCode
@ T_TraceInstruction
@ T_LabelInstruction
@ T_InterpreterInstance
@ T_CommandInstruction
@ T_WeakReference
@ T_IdentityTable
@ T_ExposeInstruction
@ T_DotVariableTerm
@ T_MethodClass
@ T_StemVariableTerm
@ T_Table
@ T_NilObject
@ T_ArrayClass
@ T_RequiresDirective
@ T_StackFrame
@ T_Supplier
@ T_WeakReferenceClass
@ T_RexxSource
@ T_Activation
@ T_Array
@ T_TableClass
@ T_ReturnInstruction
@ T_Message
@ T_NumberString
@ T_EndIfInstruction
@ T_Object
@ T_ListTable
@ T_Memory
@ RESTOREIMAGE
Definition: ObjectClass.hpp:82
void * getVftPointer(void *loc)
static void * virtualFunctionTable[]
Definition: RexxMemory.hpp:301
static void buildVirtualFunctionTable()
UINT_PTR uintptr_t