You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by va...@apache.org on 2006/12/05 13:48:36 UTC

svn commit: r482629 - in /harmony/enhanced/drlvm/trunk: build/make/ build/make/components/ build/make/components/vm/ vm/jitrino/src/codegenerator/ipf/ vm/jitrino/src/codegenerator/ipf/include/

Author: varlax
Date: Tue Dec  5 04:48:35 2006
New Revision: 482629

URL: http://svn.apache.org/viewvc?view=rev&rev=482629
Log:
Applied HARMONMY-2393 [drlvm][ipf] make jitrino compilable on ipf; ignoring white space changes in the patch.
Did not test.

Modified:
    harmony/enhanced/drlvm/trunk/build/make/components/vm.xml
    harmony/enhanced/drlvm/trunk/build/make/components/vm/jitrino.xml
    harmony/enhanced/drlvm/trunk/build/make/deploy.xml
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfCodeGenerator.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfEmitter.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfInstCodeSelector.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfRuntimeInterface.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeGenerator.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeSelector.h

Modified: harmony/enhanced/drlvm/trunk/build/make/components/vm.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/build/make/components/vm.xml?view=diff&rev=482629&r1=482628&r2=482629
==============================================================================
--- harmony/enhanced/drlvm/trunk/build/make/components/vm.xml (original)
+++ harmony/enhanced/drlvm/trunk/build/make/components/vm.xml Tue Dec  5 04:48:35 2006
@@ -48,6 +48,7 @@
                                                   vm.gc_cc,
                                                   vm.interpreter,
                                                   vm.hythr,
+                                                  vm.jitrino,
                                                   vm.kernel_classes" />
         </select>
         

Modified: harmony/enhanced/drlvm/trunk/build/make/components/vm/jitrino.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/build/make/components/vm/jitrino.xml?view=diff&rev=482629&r1=482628&r2=482629
==============================================================================
--- harmony/enhanced/drlvm/trunk/build/make/components/vm/jitrino.xml (original)
+++ harmony/enhanced/drlvm/trunk/build/make/components/vm/jitrino.xml Tue Dec  5 04:48:35 2006
@@ -25,7 +25,7 @@
   -->
 
 <project name="vm.jitrino">
-    <target name="init">
+    <target name="init" depends="common_vm">
         <property name="build.depends" value="extra.apr,vm.vmcore,vm.encoder,vm.hythr" />
         <property name="outtype" value="shared" />
         <property name="libname" value="jitrino" />
@@ -66,9 +66,9 @@
 
                 <select arch="ipf">
                     <include name="codegenerator/ipf/*.cpp" />
-                    <include name="codegenerator/ipf/msched/*.cpp" />
+                    <!-- <include name="codegenerator/ipf/msched/*.cpp" />
                     <include name="codegenerator/ipf/msched/MachineModel/common/*.cpp" />
-                    <include name="codegenerator/ipf/msched/MachineModel/mckinley/*.cpp" />
+                    <include name="codegenerator/ipf/msched/MachineModel/mckinley/*.cpp" /> -->
                 </select>
 
                 <select arch="ia32,em64t">
@@ -98,9 +98,10 @@
 
                     <select arch="ipf">
                         <include name="codegenerator/ipf" />
-                        <include name="codegenerator/ipf/msched" />
+                        <include name="codegenerator/ipf/include" />
+                        <!-- <include name="codegenerator/ipf/msched" />
                         <include name="codegenerator/ipf/msched/MachineModel/common" />
-                        <include name="codegenerator/ipf/msched/MachineModel/mckinley" />
+                        <include name="codegenerator/ipf/msched/MachineModel/mckinley" /> -->
                     </select>
                 </dirset>
             </includepath>

Modified: harmony/enhanced/drlvm/trunk/build/make/deploy.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/build/make/deploy.xml?view=diff&rev=482629&r1=482628&r2=482629
==============================================================================
--- harmony/enhanced/drlvm/trunk/build/make/deploy.xml (original)
+++ harmony/enhanced/drlvm/trunk/build/make/deploy.xml Tue Dec  5 04:48:35 2006
@@ -42,7 +42,7 @@
             <other>bin/default:*</other>
         </interpreter>
 
-        <select arch="ia32,em64t">
+        <select arch="ia32,em64t,ipf">
         <jitrino>
             <shared>bin/default:jitrino</shared>
             <other>bin/default:*</other>

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfCodeGenerator.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfCodeGenerator.cpp?view=diff&rev=482629&r1=482628&r2=482629
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfCodeGenerator.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfCodeGenerator.cpp Tue Dec  5 04:48:35 2006
@@ -52,24 +52,20 @@
 
 //----------------------------------------------------------------------------------------//
 
-bool CodeGenerator::genCode(MethodCodeSelector &methodCodeSelector) {
+void CodeGenerator::genCode(SessionAction *sa, MethodCodeSelector &methodCodeSelector) {
 
     MemoryManager  mm(0x1000, "IpfCodeGenerator");
     cfg = new(mm) Cfg(mm, compilationInterface);
-    IrPrinter irPrinter(*cfg, (char *)Log::getLogDirName());
+    IrPrinter irPrinter(*cfg, "LOG"); //(char *)Log::getLogDirName());
     methodDesc = compilationInterface.getMethodToCompile();
 
-    bool ipfLogIsOnSaved = ipfLogIsOn;
-    if (isIpfLogoutMethod(methodDesc)) {
-        ipfLogIsOn = true;
-    }
     if(LOG_ON) {
         const char *methodName     = methodDesc->getName();
         const char *methodTypeName = (methodDesc->getParentType()!=NULL
             ? methodDesc->getParentType()->getName()
             : "");
         const char * methodSignature = methodDesc->getSignatureString();
-
+    
         IPF_LOG << endl << methodTypeName << "." << methodName << methodSignature << endl;
     }
 
@@ -128,9 +124,6 @@
     
     if(ret) IPF_LOG << endl << "=========== Compilation Successful ===========================" << endl;
     else    IPF_LOG << endl << "=========== Compilation Failed ===============================" << endl;
-
-    ipfLogIsOn = ipfLogIsOnSaved;
-    return ret;
 }
 
 } // IPF

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfEmitter.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfEmitter.cpp?view=diff&rev=482629&r1=482628&r2=482629
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfEmitter.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfEmitter.cpp Tue Dec  5 04:48:35 2006
@@ -28,45 +28,6 @@
 #include "IpfVerifier.h"
 #include <iomanip>
 
-#define SIGILL_BREAK_ACTION_HANDLER
-
-#ifdef SIGILL_BREAK_ACTION_HANDLER
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-#define _REENTRANT
-#include <signal.h>
-#include <errno.h>
-#include <ucontext.h>
-
-void __stdcall sighandler(int sn, siginfo_t *si, void *_sc) {
-    struct sigaction signal_action;
-    struct ucontext * signal_ucontext;
-    int saved_errno = errno;
-
-    if (sn==SIGILL && si->si_code==ILL_BREAK && si->si_imm==INST_BREAKPOINT_IMM_VALUE) {
-        signal_ucontext = (struct ucontext *)_sc;
-
-        if ( (signal_ucontext->_u._mc.sc_ip & 0x03)==2 ) {
-            signal_ucontext->_u._mc.sc_ip = (signal_ucontext->_u._mc.sc_ip & ~0x03) + 0x10;
-        } else {
-            signal_ucontext->_u._mc.sc_ip++;
-        }
-        //printf("-- sighandler() for signal %d, si_code %d, si_imm %x\n", sn, si->si_code, si->si_imm);
-
-        signal_action.sa_flags = SA_SIGINFO;
-        signal_action.sa_sigaction = sighandler;
-        if (sigaction(SIGILL, &signal_action, NULL)) {
-            printf("Sigaction returned error = %d\n", errno);
-        }
-    }
-
-    errno = saved_errno;
-    return;
-}
-
-#endif
-
 namespace Jitrino {
 namespace IPF {
 
@@ -356,36 +317,12 @@
                 , new(mm) Inst(mm, INST_NOP, p0, IMM(INST_BREAKPOINT_IMM_VALUE)));
         }
     } else {
-#ifdef SIGILL_BREAK_ACTION_HANDLER
-        if (ipfEnableSigillBreakActionHandler) {
-            struct sigaction signal_action;
-
-            signal_action.sa_flags = SA_SIGINFO;
-            signal_action.sa_sigaction = sighandler;
-            if (sigaction(SIGILL, &signal_action, NULL)) {
-                printf("Sigaction returned error = %d\n", errno);
-            }
-
-            bundles->addBundle(0x01
-                , new(mm) Inst(mm, INST_NOP, p0, IMM(INST_BREAKPOINT_IMM_VALUE))
-                , new(mm) Inst(mm, INST_BREAK, p0, IMM(INST_BREAKPOINT_IMM_VALUE))
-                , new(mm) Inst(mm, INST_NOP, p0, IMM(INST_BREAKPOINT_IMM_VALUE)));
-        } else {
-            if (_nop4cafe) {
-                bundles->addBundle(0x01
-                    , new(mm) Inst(mm, INST_NOP, p0, IMM(INST_BREAKPOINT_IMM_VALUE))
-                    , new(mm) Inst(mm, INST_NOP, p0, IMM(INST_BREAKPOINT_IMM_VALUE))
-                    , new(mm) Inst(mm, INST_NOP, p0, IMM(INST_BREAKPOINT_IMM_VALUE)));
-            }
-        }
-#else
         if (_nop4cafe) {
             bundles->addBundle(0x01
                 , new(mm) Inst(mm, INST_NOP, p0, IMM(INST_BREAKPOINT_IMM_VALUE))
                 , new(mm) Inst(mm, INST_NOP, p0, IMM(INST_BREAKPOINT_IMM_VALUE))
                 , new(mm) Inst(mm, INST_NOP, p0, IMM(INST_BREAKPOINT_IMM_VALUE)));
         }
-#endif
     }
 
 };
@@ -405,22 +342,13 @@
     bbs = new(mm) vectorbb;
     BbNode  * node = (BbNode *)cfg.getEnterNode();
     EmitterBb * bbdesc;
-    bool break4cafe = ipfEnableSigillBreakActionHandler
-                && (ipfEnableAutoSigillBreak
-                    || isIpfBreakMethod(compilationinterface.getMethodToCompile()));
+    bool break4cafe = false;
     bool nop4cafe = false;
 
     do {
-        // for debugging
-        // tricking(node->getInsts(), mm, cfg);
-
-        if (isIpfBreakBb(node->getId())) {
-            bbdesc = new(mm) EmitterBb(cfg, compilationinterface, node, true, nop4cafe);
-        } else {
-            bbdesc = new(mm) EmitterBb(cfg, compilationinterface, node, break4cafe, nop4cafe);
-        }
+        bbdesc = new(mm) EmitterBb(cfg, compilationinterface, node, break4cafe, nop4cafe);
         bbs->push_back(bbdesc);
-        if (!ipfSigillBreakAllBB) break4cafe = false;
+        break4cafe = false;
         nop4cafe = false;
     } while( (node = node->getLayoutSucc()) != NULL );
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfInstCodeSelector.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfInstCodeSelector.cpp?view=diff&rev=482629&r1=482628&r2=482629
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfInstCodeSelector.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfInstCodeSelector.cpp Tue Dec  5 04:48:35 2006
@@ -1742,7 +1742,7 @@
     };
     
     RegOpnd *retOpnd = opndManager->newRegOpnd(OPND_G_REG, DATA_BASE);
-    CompilationInterface::RuntimeHelperId hId = CompilationInterface::Helper_LdString;
+    CompilationInterface::RuntimeHelperId hId = CompilationInterface::Helper_LdRef;
     uint64  address        = (uint64) compilationInterface.getRuntimeHelperAddress(hId);
     Opnd    *helperAddress = opndManager->newImm(address);
     
@@ -3406,52 +3406,6 @@
         default        : IPF_ERR << "unexpected dataKind " << dataKind << endl; 
     }
     return CMPLT_INVALID;
-}
-
-//----------------------------------------------------------------------------//
-
-void IpfInstCodeSelector::ipfBreakCounted(RegOpnd *truePred) {
-    addNewInst(INST_BREAK, truePred, opndManager->newImm(INST_BREAKPOINT_IMM_VALUE));
-}
-
-//----------------------------------------------------------------------------//
-
-void IpfInstCodeSelector::ipfBreakCounted(RegOpnd *r2, Completer cmp, int val) {
-    // cmp4.crel.ctype p1, p2 = r2, r3
-
-    RegOpnd *p1 = opndManager->newRegOpnd(OPND_P_REG, DATA_P);
-    RegOpnd *r3 = opndManager->newRegOpnd(OPND_G_REG, DATA_I64);
-    
-    addNewInst(INST_MOVL, p0, r3, opndManager->newImm(val));
-    addNewInst(INST_CMP, cmp, p0, p1, p0, r2, r3);
-    addNewInst(INST_BREAK, p1, opndManager->newImm(INST_BREAKPOINT_IMM_VALUE));
-}
-
-//----------------------------------------------------------------------------------------//
-
-void IpfInstCodeSelector::ipfBreakCounted(int cnt) {
-    if (cnt==-1) cnt = ipfSigillBreakCount;
-
-    if (cnt==0) {
-        addNewInst(INST_BREAK, p0, opndManager->newImm(INST_BREAKPOINT_IMM_VALUE));
-    } else {
-        RegOpnd       *r0       = opndManager->getR0();
-        Int64Constant *ic       = new(mm) Int64Constant(0);
-        ConstantRef   *constref = opndManager->newConstantRef(ic);
-        RegOpnd       *r3       = opndManager->newRegOpnd(OPND_G_REG, DATA_I64);
-        RegOpnd       *r1       = opndManager->newRegOpnd(OPND_G_REG, DATA_I64);
-        RegOpnd       *r2       = opndManager->newRegOpnd(OPND_G_REG, DATA_I64);
-        Completer     cmplt     = toCmpltSz(DATA_I64);
-        RegOpnd       *p1       = opndManager->newRegOpnd(OPND_P_REG, DATA_P);
-        
-        addNewInst(INST_MOVL, p0, r3, constref);
-        addNewInst(INST_LD,  cmplt, p0, r1, r3);
-        addNewInst(INST_ADD, p0, r1, r1, r0, opndManager->newImm(1));
-        addNewInst(INST_ST,  cmplt, p0, r3, r1);
-        addNewInst(INST_MOVL, p0, r2, opndManager->newImm(cnt));
-        addNewInst(INST_CMP, CMPLT_CMP_CREL_LE, p0, p1, p0, r2, r1);
-        addNewInst(INST_BREAK, p1, opndManager->newImm(INST_BREAKPOINT_IMM_VALUE));
-    }
 }
 
 } //namespace IPF

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfRuntimeInterface.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfRuntimeInterface.cpp?view=diff&rev=482629&r1=482628&r2=482629
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfRuntimeInterface.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/IpfRuntimeInterface.cpp Tue Dec  5 04:48:35 2006
@@ -296,16 +296,18 @@
     void **mptrPtr = getContextValue(mptr);
     void **basePtr = getContextValue(base);
 
-//    uint64 *u1 = (uint64 *)basePtr;
-//    uint64 *u2 = (uint64 *)mptrPtr;
+    uint64 *u1    = (uint64 *)basePtr;
+    uint64 *u2    = (uint64 *)mptrPtr;
+    int    offset = *u2 - *u1;
 //    cout << "  report mptr: " << - (mptr+1) << flush; 
 //    cout << " " << u2 << flush;
 //    cout << " " << hex << *u2 << dec << flush;
 //    cout << " base: " << base << flush;
 //    cout << " " << u1 << flush;
-//    cout << " " << hex << *u1  << dec << endl;
-
-    gcInterface->enumerateRootManagedReferenceWithBase(mptrPtr, basePtr);
+//    cout << " " << hex << *u1  << dec; // << endl;
+//    cout << " offset " << offset << endl;
+    
+    gcInterface->enumerateRootManagedReference(mptrPtr, offset);
 }
 
 //----------------------------------------------------------------------------------------//

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeGenerator.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeGenerator.h?view=diff&rev=482629&r1=482628&r2=482629
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeGenerator.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeGenerator.h Tue Dec  5 04:48:35 2006
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-                                                                                                            
+
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
  *
@@ -25,6 +25,7 @@
 
 #include "MemoryManager.h"
 #include "IpfCfg.h"
+#include "PMFAction.h"
 
 namespace Jitrino {
 namespace IPF {
@@ -36,17 +37,16 @@
 class CodeGenerator : public ::Jitrino::CodeGenerator {
 public:
                          CodeGenerator(MemoryManager&, CompilationInterface&);
-    bool                 genCode(MethodCodeSelector&);
-//    void                 genCode(SessionAction* s, MethodCodeSelector& m) {} // TODO
+    void                 genCode(SessionAction*, MethodCodeSelector&);
     virtual              ~CodeGenerator() {}
 
 protected:
-    MemoryManager        &memoryManager; 
+    MemoryManager        &memoryManager;
     CompilationInterface &compilationInterface;
     MethodDesc           *methodDesc;
 
     Cfg                  *cfg;
-}; 
+};
 
 } // IPF
 } // Jitrino

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeSelector.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeSelector.h?view=diff&rev=482629&r1=482628&r2=482629
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeSelector.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfCodeSelector.h Tue Dec  5 04:48:35 2006
@@ -46,7 +46,7 @@
     void                 genVars(uint32, VarCodeSelector&);
     void                 setMethodDesc(MethodDesc*);
     void                 genCFG(uint32, CFGCodeSelector&, bool);
-    void                 setProfileInfo(CodeProfiler*) {}
+//    void                 setProfileInfo(CodeProfiler*) {}
     virtual              ~IpfMethodCodeSelector() {}
 
 protected:
@@ -298,7 +298,24 @@
     void          tau_stField(CG_OpndHandle*, CG_OpndHandle*, Type::Tag, FieldDesc*, bool, CG_OpndHandle*, CG_OpndHandle*, CG_OpndHandle*) { NOT_IMPLEMENTED_V("tau_stField") }
     void          tau_stElem(CG_OpndHandle*, CG_OpndHandle*, CG_OpndHandle*, bool, CG_OpndHandle*, CG_OpndHandle*, CG_OpndHandle*) { NOT_IMPLEMENTED_V("tau_stElem") }
     void          optimisticBalancedMonitorExit(CG_OpndHandle*, CG_OpndHandle*, CG_OpndHandle*) { NOT_IMPLEMENTED_V("optimisticBalancedMonitorExit") }
-    CG_OpndHandle *callvmhelper(uint32, CG_OpndHandle**, Type *, VMHelperCallOp::Id) { NOT_IMPLEMENTED_C("callvmhelper") }
+
+    //---------------------------------------------------------------------------//
+    // TRANSITION
+    //---------------------------------------------------------------------------//
+
+    CG_OpndHandle* callvmhelper(uint32, CG_OpndHandle**, Type*, VMHelperCallOp::Id, InlineInfo*) { NOT_IMPLEMENTED_C("unbox") }
+
+    CG_OpndHandle* convUPtrToObject(ObjectType*, CG_OpndHandle*)              { NOT_IMPLEMENTED_C("convUPtrToObject") }
+    CG_OpndHandle* convToUPtr(PtrType*, CG_OpndHandle*)                       { NOT_IMPLEMENTED_C("convToUPtr") }
+    CG_OpndHandle* tau_ldIntfTableAddr(Type*, CG_OpndHandle*, NamedType*)     { NOT_IMPLEMENTED_C("tau_ldIntfTableAddr") }
+    CG_OpndHandle* arraycopyReverse(unsigned int, CG_OpndHandle**)            { NOT_IMPLEMENTED_C("arraycopyReverse") }
+    CG_OpndHandle* arraycopy(unsigned int, CG_OpndHandle**)                   { NOT_IMPLEMENTED_C("arraycopy") }
+    CG_OpndHandle* addElemIndexWithLEA(Type*, CG_OpndHandle*, CG_OpndHandle*) { NOT_IMPLEMENTED_C("addElemIndexWithLEA") }
+    CG_OpndHandle* ldRef(Type*, MethodDesc*, unsigned int, bool)              { NOT_IMPLEMENTED_C("ldRef") }
+    void           pseudoInst()                                               { NOT_IMPLEMENTED_V("pseudoInst") }
+    void           methodEntry(MethodDesc*)                                   { NOT_IMPLEMENTED_V("methodEntry") }
+    void           methodEnd(MethodDesc*, CG_OpndHandle*)                     { NOT_IMPLEMENTED_V("methodEnd") }
+    void           tau_stRef(CG_OpndHandle*, CG_OpndHandle*, CG_OpndHandle*, Type::Tag, bool, CG_OpndHandle*, CG_OpndHandle*, CG_OpndHandle*) { NOT_IMPLEMENTED_V("tau_stRef") }
 
     //---------------------------------------------------------------------------//
     // convertors from HLO to IPF::CG types