You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by mf...@apache.org on 2008/06/05 11:24:00 UTC

svn commit: r663509 - in /harmony/enhanced/drlvm/trunk/vm/jitrino/src: codegenerator/ codegenerator/ia32/ optimizer/

Author: mfursov
Date: Thu Jun  5 02:23:56 2008
New Revision: 663509

URL: http://svn.apache.org/viewvc?rev=663509&view=rev
Log:
Fix for HARMONY-5867 [drlvm][jit][opt] Removal of unused opcodes in Jitrino.OPT compiler
 

Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/CodeGenIntfc.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/CodeSelectors.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/codelowerer.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escanalyzer.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escapeanalyzer.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/hashvaluenumberer.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/lazyexceptionopt.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/memoryopt.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifytaus.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/CodeGenIntfc.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/CodeGenIntfc.h?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/CodeGenIntfc.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/CodeGenIntfc.h Thu Jun  5 02:23:56 2008
@@ -244,7 +244,6 @@
                                       Type* dstType, CG_OpndHandle* src) = 0;
     virtual CG_OpndHandle*  convToFp(ConvertToFpOp::Types, Type* dstType, CG_OpndHandle* src) = 0;
 
-    virtual void            endCatch() {}
     virtual CG_OpndHandle*  ldFunAddr(Type* dstType, MethodDesc *desc) = 0; 
     virtual CG_OpndHandle*  tau_ldVirtFunAddr(Type* dstType, CG_OpndHandle* vtableAddr, 
                                               MethodDesc *desc,
@@ -405,7 +404,6 @@
     virtual CG_OpndHandle*  newArray(ArrayType* arrayType, CG_OpndHandle* numElems) = 0;
     virtual CG_OpndHandle*  newMultiArray(ArrayType* arrayType, U_32 numDims, CG_OpndHandle** dims) = 0;
     virtual CG_OpndHandle*  ldRef(Type* type,MethodDesc* enclosingMethod,U_32 stringToken, bool autouncompress) = 0;
-    virtual CG_OpndHandle*  ldToken(Type *dstType,MethodDesc* enclosingMethod,U_32 token) = 0;
     virtual void            incCounter(Type *counterType,U_32 counter) = 0;
 
     virtual void            ret() = 0;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.cpp Thu Jun  5 02:23:56 2008
@@ -2443,15 +2443,6 @@
 }
 
 //_______________________________________________________________________________________________________________
-//  Load token
-
-CG_OpndHandle * InstCodeSelector::ldToken(Type *dstType,MethodDesc* enclosingMethod,U_32 token) 
-{
-    ICS_ASSERT(0);
-    return 0;
-}
-
-//_______________________________________________________________________________________________________________
 //  Increment counter for the program instrumentation
 
 void InstCodeSelector::incCounter(Type *counterType,U_32 key) 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.h?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InstCodeSelector.h Thu Jun  5 02:23:56 2008
@@ -192,8 +192,7 @@
     CG_OpndHandle* newArray(ArrayType* arrayType, CG_OpndHandle* numElems);
     CG_OpndHandle* newMultiArray(ArrayType* arrayType, U_32 numDims, CG_OpndHandle** dims);
     CG_OpndHandle* ldRef(Type *dstType, MethodDesc* enclosingMethod,U_32 stringToken, bool uncompress);
-    CG_OpndHandle* ldToken(Type *dstType,MethodDesc* enclosingMethod,U_32 token);
-
+    
     void           incCounter(Type *counterType,U_32 counter);
     void           ret();
     void           ret(CG_OpndHandle* returnValue);

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/CodeSelectors.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/CodeSelectors.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/CodeSelectors.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/CodeSelectors.cpp Thu Jun  5 02:23:56 2008
@@ -886,12 +886,6 @@
                 }
             }
             break;
-        case Op_Leave:
-            {
-                assert(0);
-                instructionCallback.jump(); 
-            }
-            break;
         case Op_Throw:
             {
                 instructionCallback.throwException(getCGInst(inst->getSrc(0)), inst->getThrowModifier() == Throw_CreateStackTrace);
@@ -921,15 +915,6 @@
         case Op_Catch:
             cgInst = instructionCallback.catchException(inst->getDst()->getType());
             break;
-        case Op_EndFinally:
-            assert(0); 
-            break;
-        case Op_EndFilter:
-            assert(0); 
-            break;
-        case Op_EndCatch:
-            instructionCallback.endCatch();
-            break;
         case Op_Copy:
             {
                 cgInst = instructionCallback.copy(getCGInst(inst->getSrc(0)));
@@ -1777,97 +1762,6 @@
                     ret_val);
             }
             break;      // nothing to do
-        case Op_SourceLineNumber: 
-            {
-                break;      // nothing to do
-            }
-        case Op_LdObj:
-            {
-                assert(inst->getNumSrcOperands() == 1);
-                cgInst = instructionCallback.ldValueObj(inst->getDst()->getType(),
-                    getCGInst(inst->getSrc(0)));
-            }
-            break;
-        case Op_StObj:
-            {
-                assert(inst->getNumSrcOperands() == 2);
-                instructionCallback.stValueObj(getCGInst(inst->getSrc(0)),
-                    getCGInst(inst->getSrc(1)));
-            }
-            break;
-        case Op_CopyObj:
-            {
-                assert(inst->getNumSrcOperands() == 2);
-                TypeInst *typeInst = (TypeInst *)inst;
-                instructionCallback.copyValueObj(typeInst->getTypeInfo(),
-                    getCGInst(inst->getSrc(0)),
-                    getCGInst(inst->getSrc(1)));
-            }
-            break;
-        case Op_InitObj:
-            {
-                assert(inst->getNumSrcOperands() == 1);
-                TypeInst * typeInst = (TypeInst *)inst;
-                instructionCallback.initValueObj(typeInst->getTypeInfo(),
-                    getCGInst(inst->getSrc(0)));
-            }
-            break;
-        case Op_Sizeof:
-            {
-                Type* type = inst->asTypeInst()->getTypeInfo();
-                assert(type->isValueType());
-                U_32 size = ((UserValueType*) type)->getUnboxedSize();
-                instructionCallback.ldc_i4(size);
-            }
-            break;
-        case Op_Box:
-            {
-                assert(inst->getNumSrcOperands() == 1);
-                Type * boxedType = inst->getDst()->getType();
-                assert(boxedType->isObject());
-                cgInst = instructionCallback.box((ObjectType *)boxedType,
-                    getCGInst(inst->getSrc(0))); 
-            }
-            break;
-        case Op_Unbox:
-            {
-                assert(inst->getNumSrcOperands() == 1);
-                cgInst = instructionCallback.unbox(inst->getDst()->getType(),
-                    getCGInst(inst->getSrc(0))); 
-            }
-            break;
-        case Op_LdToken:
-            {
-                assert(inst->getNumSrcOperands() == 0);
-                if (!genConsts) break;
-                TokenInst *tokenInst = (TokenInst *)inst;
-                U_32 token = tokenInst->getToken();
-                cgInst = instructionCallback.ldToken(inst->getDst()->getType(),
-                    tokenInst->getEnclosingMethod(), token);
-                isConstant = true;
-            }
-            break;
-        case Op_MkRefAny:
-            assert(0);
-            break;
-        case Op_RefAnyVal:
-            assert(0);
-            break;
-        case Op_RefAnyType:
-            assert(0);
-            break;
-        case Op_InitBlock:
-            assert(0);
-            break;
-        case Op_CopyBlock:
-            assert(0);
-            break;
-        case Op_Alloca:
-            assert(0);
-            break;
-        case Op_ArgList:
-            assert(0);
-            break;
         case Op_Phi:
             {
                 assert(0); // Phi nodes should be eliminated by deSSAing

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp Thu Jun  5 02:23:56 2008
@@ -751,20 +751,13 @@
         return;
     }
     node->setTraversalNum(fg.getTraversalNum());
-    Inst *last = (Inst*)node->getLastInst();
-    if (last->isEndFinally()) {
-        // remove the 'ret' instruction
-        last->unlink();
-        // add edge from the new node to the target
-        fg.addEdge(node,retTarget);
-    } else {
-        const Edges& outEdges = node->getOutEdges();
-        Edges::const_iterator eiter;
-        for(eiter = outEdges.begin(); eiter != outEdges.end(); ++eiter) {
-            Edge* edge = *eiter;
-            _fixFinally(fg, edge->getTargetNode(),retTarget);
-        }
+    const Edges& outEdges = node->getOutEdges();
+    Edges::const_iterator eiter;
+    for(eiter = outEdges.begin(); eiter != outEdges.end(); ++eiter) {
+        Edge* edge = *eiter;
+        _fixFinally(fg, edge->getTargetNode(),retTarget);
     }
+
 }
 
 
@@ -812,23 +805,14 @@
     newto = duplicateNode(irm, to, to, opndRenameTable);
     fg.addEdge(from,newto);
     nodeRenameTable->setMapping(to,newto);
-    if (((Inst*)to->getLastInst())->isEndFinally()) {
-        // remove the duplicate 'end finally'
-        Inst *endInst =(Inst*)newto->getLastInst();
-        endInst->unlink();
-        // add edge from the new node to the target
-        fg.addEdge(newto,retTarget);
-    } else {
-        Log::out() << "LONG FINALLY\n";
 
-        const Edges& outEdges = to->getOutEdges();
-        Edges::const_iterator eiter;
-        for(eiter = outEdges.begin(); eiter != outEdges.end(); ++eiter) {
-            Edge* edge = *eiter;
-            _inlineFinally(irm, newto,edge->getTargetNode(),retTarget,nodeRenameTable,opndRenameTable);
-        }
-        _fixBranchTargets((Inst*)newto->getLastInst(),nodeRenameTable);
+    const Edges& outEdges = to->getOutEdges();
+    Edges::const_iterator eiter;
+    for(eiter = outEdges.begin(); eiter != outEdges.end(); ++eiter) {
+        Edge* edge = *eiter;
+        _inlineFinally(irm, newto,edge->getTargetNode(),retTarget,nodeRenameTable,opndRenameTable);
     }
+    _fixBranchTargets((Inst*)newto->getLastInst(),nodeRenameTable);
     return true;
 }
 
@@ -935,10 +919,7 @@
             }
             Inst *last = (Inst*)node->getLastInst();
             if (last->isBranch()) {
-                if (last->isLeave()) {
-                    // Inline Finally - only necessary after translation
-                    inlineFinally(irm, node);
-                } else if (last->isConditionalBranch()) { // loop peeling for conditional branches
+                if (last->isConditionalBranch()) { // loop peeling for conditional branches
                     Node *target  = ((BranchInst*)last)->getTargetLabel()->getNode();
                     if (((LabelInst*)target->getFirstInst())->getLabelId() > ((LabelInst*)node->getFirstInst())->getLabelId()) 
                     {
@@ -1182,9 +1163,7 @@
     // The IR does not contain explicit GOTOs, so for IR printing purposes
     // we should print a GOTO if required, extracted from the CFG.
     inst = (Inst*)node->getLastInst();
-    if (!inst->isReturn() && !inst->isLeave() &&
-        !inst->isThrow()  &&
-        !inst->isEndFinally() && !inst->isRet()) {
+    if (!inst->isReturn() && !inst->isThrow()  && !inst->isRet()) {
             Node *target = NULL;
             if (inst->isConditionalBranch()) {
                 target = ((BranchInst*)inst)->getTakenEdge(false)->getTargetNode();

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.cpp Thu Jun  5 02:23:56 2008
@@ -1225,25 +1225,7 @@
     return dst;
 }
 
-void
-IRBuilder::genEndFinally() {
-    appendInst(instFactory->makeEndFinally());
-}
-
-void
-IRBuilder::genEndFilter() {
-    appendInst(instFactory->makeEndFilter());
-}
-
-void
-IRBuilder::genEndCatch() {
-    appendInst(instFactory->makeEndCatch());
-}
 
-void
-IRBuilder::genLeave(LabelInst* label) {
-    appendInst(instFactory->makeLeave(label));
-}
 
 void
 IRBuilder::genPrefetch(Opnd *addr) {
@@ -1729,13 +1711,6 @@
 }
 
 Opnd*
-IRBuilder::genLdToken(MethodDesc* enclosingMethod, U_32 metadataToken) {
-    Opnd* dst = createOpnd(typeManager->getSystemObjectType());
-    appendInst(instFactory->makeLdToken(dst, enclosingMethod, metadataToken));
-    return dst;
-}
-
-Opnd*
 IRBuilder::genLdVar(Type* dstType, VarOpnd* var) {
     if (!var->isAddrTaken()) {
         Opnd *dst = lookupHash(Op_LdVar, var);
@@ -3085,95 +3060,6 @@
 }
 
 
-Opnd*
-IRBuilder::genSizeOf(Type* type) {
-    Opnd* dst = createOpnd(typeManager->getUInt32Type());
-    appendInst(instFactory->makeSizeof(dst, type));
-    return dst;
-}
-
-Opnd*
-IRBuilder::genUnbox(Type* type, Opnd* obj) {
-    assert(type->isValue());
-    Opnd *src = propagateCopy(obj);
-    genTauCheckNull(obj);
-    Opnd *two = genCast(src, typeManager->getObjectType(((NamedType*)type)->getVMTypeHandle()));
-    Opnd* dst = createOpnd(typeManager->getManagedPtrType(type));
-    appendInst(instFactory->makeUnbox(dst, two, type));
-    return dst;
-}
-
-Opnd*
-IRBuilder::genBox(Type* type, Opnd* val) {
-    assert(type->isValue());
-    val = propagateCopy(val);
-    Opnd* dst = createOpnd(typeManager->getObjectType(((NamedType*)type)->getVMTypeHandle()));
-    appendInst(instFactory->makeBox(dst, val, type));
-    return dst;
-}
-
-void
-IRBuilder::genCopyObj(Type* type, Opnd* dstValPtr, Opnd* srcValPtr) {
-    appendInst(instFactory->makeCopyObj(dstValPtr, srcValPtr, type));
-}
-
-void
-IRBuilder::genInitObj(Type* type, Opnd* valPtr) {
-    appendInst(instFactory->makeInitObj(valPtr, type));
-}
-
-Opnd*
-IRBuilder::genLdObj(Type* type, Opnd* addrOfValObj) {
-    Opnd* dst = createOpnd(type);
-    appendInst(instFactory->makeLdObj(dst, addrOfValObj, type));
-    return dst;
-}
-
-void
-IRBuilder::genStObj(Opnd* addrOfDstVal, Opnd* srcVal, Type* type) {
-    appendInst(instFactory->makeStObj(addrOfDstVal, srcVal, type));
-}
-
-void
-IRBuilder::genCopyBlock(Opnd* dstAddr, Opnd* srcAddr, Opnd* size) {
-    assert(0);
-}
-
-void
-IRBuilder::genInitBlock(Opnd* dstAddr, Opnd* srcAddr, Opnd* size) {
-    assert(0);
-}
-
-Opnd*
-IRBuilder::genLocAlloc(Opnd* size) {
-    assert(0);
-    return NULL;;
-}
-
-Opnd*
-IRBuilder::genArgList() {
-    assert(0);
-    return NULL;
-}
-
-Opnd*
-IRBuilder::genMkRefAny(Type* type, Opnd* ptr) {
-    assert(0);
-    return NULL;
-}
-
-Opnd*
-IRBuilder::genRefAnyType(Opnd* typedRef) {
-    assert(0);
-    return NULL;
-}
-
-Opnd*
-IRBuilder::genRefAnyVal(Type* type, Opnd* typedRef) {
-    assert(0);
-    return NULL;
-}
-
 //-----------------------------------------------------------------------------
 //
 // Private helper methods for generating instructions

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.h?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/IRBuilder.h Thu Jun  5 02:23:56 2008
@@ -180,10 +180,6 @@
     void       genPseudoThrow();//TR
     void       genThrowSystemException(CompilationInterface::SystemExceptionId);//SI
     void       genThrowLinkingException(Class_Handle encClass, U_32 CPIndex, U_32 operation);//SI
-    void       genLeave(LabelInst* label);//TR
-    void       genEndFinally(); // TR
-    void       genEndFilter(); // TR
-    void       genEndCatch(); // TR
     void       genJSR(LabelInst* label); //TR
     void       genRet(Opnd *src);//TR
     Opnd*      genSaveRet();//TR
@@ -268,24 +264,7 @@
     void       genFallThroughLabel(LabelInst* labelInst); //TR
     // method entry/exit
     LabelInst* genMethodEntryLabel(MethodDesc* methodDesc);//TR
-    // value object instructions
-    Opnd*      genLdObj(Type* type, Opnd* addrOfValObj);//TR
-    void       genStObj(Opnd* addrOfDstVal, Opnd* srcVal, Type* type);//TR
-    void       genCopyObj(Type* type, Opnd* dstValPtr, Opnd* srcValPtr); // TR
-    void       genInitObj(Type* type, Opnd* valPtr); //TR
-    Opnd*      genSizeOf(Type* type);//TR
-    Opnd*      genMkRefAny(Type* type, Opnd* ptr);//TR
-    Opnd*      genRefAnyType(Opnd* typedRef);//TR
-    Opnd*      genRefAnyVal(Type* type, Opnd* typedRef);//TR
-    Opnd*      genUnbox(Type* type, Opnd* obj);//TR
-    Opnd*      genBox(Type* type, Opnd* val); // TR
-    Opnd*      genLdToken(MethodDesc* enclosingMethod, U_32 metadataToken);//TR
-    // block instructions
-    void       genCopyBlock(Opnd* dstAddr, Opnd* srcAddr, Opnd* size); // TR
-    void       genInitBlock(Opnd* dstAddr, Opnd* val, Opnd* size); //TR
-    Opnd*      genLocAlloc(Opnd* size);//TR
-    Opnd*      genArgList(); // TR
-
+    
     void       genTauTypeCompare(Opnd *arg0, MethodDesc* methodDesc, LabelInst *target,
                                  Opnd *tauNullChecked);//TR
 
@@ -389,9 +368,7 @@
     void       genOptimisticBalancedMonitorExit(Opnd* src, Opnd *lockAddr, Opnd *oldValue);
     void       genMonitorEnterFence(Opnd *src);
     void       genMonitorExitFence(Opnd *src);
-    // checks
-    void       genSourceLineNumber(U_32 fileId, U_32 lineNumber);
-
+    
 private:
 
     void readFlagsFromCommandLine(SessionAction* argSource, const char* argPrefix);

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.cpp Thu Jun  5 02:23:56 2008
@@ -1893,9 +1893,6 @@
     return makeInst(Op_Ret, Modifier(), src->getType()->tag, OpndManager::getNullOpnd(), src);
 }
 
-Inst* InstFactory::makeLeave(LabelInst* labelInst) {
-    return makeBranchInst(Op_Leave, labelInst);
-}
 
 Inst* InstFactory::makeThrow(ThrowModifier mod, Opnd* exceptionObj) {
     return makeInst(Op_Throw, Modifier(mod), Type::Void, OpndManager::getNullOpnd(), exceptionObj);
@@ -1916,18 +1913,7 @@
                               OpndManager::getNullOpnd(), encClass, CPIndex, operation);
 }
 
-Inst* InstFactory::makeEndFinally() {
-    return makeInst(Op_EndFinally, Modifier(), Type::Void, OpndManager::getNullOpnd());
-}
-
-Inst* InstFactory::makeEndFilter() {
-    assert(0);
-    return NULL;
-}
 
-Inst* InstFactory::makeEndCatch() {
-    return makeInst(Op_EndCatch, Modifier(), Type::Void, OpndManager::getNullOpnd());
-}
 Inst* InstFactory::makePrefetch(Opnd* addr) {
     return makeInst(Op_Prefetch, Modifier(), Type::Void, OpndManager::getNullOpnd(), addr);
 }
@@ -2438,10 +2424,6 @@
     return makeInst(Op_MonitorExitFence, Modifier(), Type::Void, OpndManager::getNullOpnd(), src);
 }
 
-Inst* InstFactory::makeLdToken(Opnd* dst, MethodDesc* enclosingMethod, U_32 metadataToken) {
-    return makeTokenInst(Op_LdToken, Modifier(), Type::Object, dst, metadataToken, enclosingMethod);
-}
-
 Inst* InstFactory::makeLdRef(Modifier mod, Opnd* dst, MethodDesc* enclosingMethod, U_32 token) {
     return makeTokenInst(Op_LdRef, mod, dst->getType()->tag, dst, token, enclosingMethod);
 }
@@ -2460,10 +2442,6 @@
                         dst->getType()->tag, dst, src, tauCheckedNull, type);
 }
 
-Inst* InstFactory::makeSizeof(Opnd* dst, Type* type) {
-    return makeTypeInst(Op_Sizeof, Modifier(), dst->getType()->tag, dst, type);
-}
-
 Inst* InstFactory::makeTauAsType(Opnd* dst, Opnd* src, Opnd *tauNullChecked, Type* type) {
     assert(tauNullChecked->getType()->tag == Type::Tau);
     return makeTypeInst(Op_TauAsType, Modifier(), dst->getType()->tag, dst, src, tauNullChecked, type);
@@ -2481,31 +2459,6 @@
                         Type::Void, OpndManager::getNullOpnd(), type);
 }
 
-// value type instructions
-Inst* InstFactory::makeLdObj(Opnd* dst, Opnd* addrOfSrcValObj, Type* type) {
-    return makeTypeInst(Op_LdObj, Modifier(), type->tag, dst, addrOfSrcValObj, type);
-}
-
-Inst* InstFactory::makeStObj(Opnd* addrOfDstVal, Opnd* srcVal, Type* type) {
-    return makeTypeInst(Op_StObj, Modifier(), type->tag, OpndManager::getNullOpnd(), addrOfDstVal, srcVal, type);
-}
-
-Inst* InstFactory::makeCopyObj(Opnd* dstValPtr, Opnd* srcValPtr, Type* type) {
-    return makeTypeInst(Op_CopyObj, Modifier(), type->tag, OpndManager::getNullOpnd(), dstValPtr, srcValPtr, type);
-}
-
-Inst* InstFactory::makeInitObj(Opnd* valPtr, Type* type) {
-    return makeTypeInst(Op_InitObj, Modifier(), type->tag, OpndManager::getNullOpnd(), valPtr, type);
-}
-
-Inst* InstFactory::makeBox(Opnd* dst, Opnd* val, Type* type) {
-    return makeTypeInst(Op_Box, Modifier(), dst->getType()->tag, dst, val, type);
-}
-
-Inst* InstFactory::makeUnbox(Opnd* dst, Opnd* obj, Type* type) {
-    return makeTypeInst(Op_Unbox, Modifier(), dst->getType()->tag, dst, obj, type);
-}
-
 // lowered instructions
 Inst* InstFactory::makeTauCheckBounds(Opnd *dst, Opnd* arrayLen, Opnd* index) {
     return makeInst(Op_TauCheckBounds, Modifier(Exception_Sometimes)|Modifier(Overflow_Unsigned), 
@@ -2682,10 +2635,6 @@
     case Op_PseudoThrow:        return casePseudoThrow(inst);
     case Op_ThrowSystemException: return caseThrowSystemException(inst);
     case Op_ThrowLinkingException: return caseThrowLinkingException(inst);
-    case Op_Leave:              return caseLeave(inst);
-    case Op_EndFinally:         return caseEndFinally(inst);
-    case Op_EndFilter:          return caseEndFilter(inst);
-    case Op_EndCatch:           return caseEndCatch(inst);
     case Op_JSR:                return caseJSR(inst);
     case Op_Ret:                return caseRet(inst);
     case Op_SaveRet:                return caseSaveRet(inst);
@@ -2750,22 +2699,6 @@
     case Op_Label:              return caseLabel(inst);
     case Op_MethodEntry:        return caseMethodEntry(inst);
     case Op_MethodEnd:          return caseMethodEnd(inst);
-    case Op_SourceLineNumber:   return caseSourceLineNumber(inst);
-    case Op_LdObj:              return caseLdObj(inst->asTypeInst());
-    case Op_StObj:              return caseStObj(inst->asTypeInst());
-    case Op_CopyObj:            return caseCopyObj(inst->asTypeInst());
-    case Op_InitObj:            return caseInitObj(inst->asTypeInst());
-    case Op_Sizeof:             return caseSizeof(inst->asTypeInst());
-    case Op_Box:                return caseBox(inst->asTypeInst());
-    case Op_Unbox:              return caseUnbox(inst->asTypeInst());
-    case Op_LdToken:            return caseLdToken(inst->asTokenInst());
-    case Op_MkRefAny:           return caseMkRefAny(inst);
-    case Op_RefAnyVal:          return caseRefAnyVal(inst);
-    case Op_RefAnyType:         return caseRefAnyType(inst);
-    case Op_InitBlock:          return caseInitBlock(inst);
-    case Op_CopyBlock:          return caseCopyBlock(inst);
-    case Op_Alloca:             return caseAlloca(inst);
-    case Op_ArgList:            return caseArgList(inst);
     case Op_Phi:                return casePhi(inst);
     case Op_TauPi:                 return caseTauPi(inst->asTauPiInst());
     case Op_IncCounter:         return caseIncCounter(inst);

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.h?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Inst.h Thu Jun  5 02:23:56 2008
@@ -265,8 +265,6 @@
     virtual bool isType() const { return false; };
     virtual bool isVarAccess() const { return false; };
 
-    bool isLeave() const      {return getOpcode() == Op_Leave;     }
-    bool isEndFinally() const {return getOpcode() == Op_EndFinally;}
     bool isThrow() const ;
     bool isReturn() const     {return getOpcode() == Op_Return;    }
     bool isLdVar() const      {return getOpcode() == Op_LdVar;     }
@@ -1110,9 +1108,6 @@
     Inst*    makeThrowSystemException(CompilationInterface::SystemExceptionId exceptionId);
     Inst*    makeThrowLinkingException(Class_Handle encClass, U_32 CPIndex, U_32 operation);
     Inst*    makeLeave(LabelInst* labelInst);
-    Inst*    makeEndFinally();
-    Inst*    makeEndFilter();
-    Inst*    makeEndCatch();
     Inst*    makeJSR(LabelInst* labelInst);
     Inst*    makeRet(Opnd *src);       // JSR-RET pair
     Inst*    makeSaveRet(Opnd *dst);   // JSR-RET pair
@@ -1217,17 +1212,6 @@
     Inst*    makeMethodMarker(MethodMarkerInst::Kind kind, MethodDesc* methodDesc);
 
 
-    // value type instructions
-    Inst*    makeLdObj(Opnd* dst, Opnd* addrOfSrcValObj, Type* type);
-    Inst*    makeStObj(Opnd* addrOfDstVal, Opnd* srcVal, Type* type);
-    Inst*    makeCopyObj(Opnd* dstValPtr, Opnd* srcValPtr, Type* type);
-    Inst*    makeInitObj(Opnd* valPtr, Type* type);
-    Inst*    makeSizeof(Opnd* dst, Type* type);
-    Inst*    makeBox(Opnd* dst, Opnd* val, Type* type);
-    Inst*    makeUnbox(Opnd* dst, Opnd* obj, Type* type);
-    Inst*    makeLdToken(Opnd* dst, MethodDesc* enclosingMethod, U_32 metadataToken);
-
-
     // SSA
     Inst*    makePhi(Opnd* dst, U_32 numOpnds, Opnd** opnds); // array is copied
     Inst*    makeTauPi(Opnd* dst, Opnd* src, Opnd *tau, PiCondition *cond);
@@ -1633,15 +1617,6 @@
     caseLeave(Inst* inst)=0;//              {return caseDefault(inst);}
 
     virtual Inst*
-    caseEndFinally(Inst* inst)=0;//         {return caseDefault(inst);}
-
-    virtual Inst*
-    caseEndFilter(Inst* inst)=0;//          {return caseDefault(inst);}
-
-    virtual Inst*
-    caseEndCatch(Inst* inst)=0;//          {return caseDefault(inst);}
-
-    virtual Inst*
     caseJSR(Inst* inst)=0;//          {return caseDefault(inst);}
 
     virtual Inst*
@@ -1856,58 +1831,10 @@
     virtual Inst*
     caseMethodEnd(Inst* inst)=0;//          {return caseDefault(inst);}
 
-    virtual Inst*
-    caseSourceLineNumber(Inst* inst)=0;//   {return caseDefault(inst);}
-
     // source markers
     virtual Inst*
     caseMethodMarker(Inst* inst)=0;//       {return caseDefault(inst);}
 
-    // value type instructions
-    virtual Inst*
-    caseLdObj(TypeInst* inst)=0;//          {return caseDefault(inst);}
-
-    virtual Inst*
-    caseStObj(TypeInst* inst)=0;//          {return caseDefault(inst);}
-
-    virtual Inst*
-    caseCopyObj(TypeInst* inst)=0;//        {return caseDefault(inst);}
-
-    virtual Inst*
-    caseInitObj(TypeInst* inst)=0;//        {return caseDefault(inst);}
-
-    virtual Inst*
-    caseBox(TypeInst* inst)=0;//            {return caseDefault(inst);}
-
-    virtual Inst*
-    caseUnbox(TypeInst* inst)=0;//          {return caseDefault(inst);}
-
-    // checks
-    virtual Inst*
-    caseLdToken(TokenInst* inst)=0;//            {return caseDefault(inst);}
-
-    virtual Inst*
-    caseMkRefAny(Inst* inst)=0;//        {return caseDefault(inst);}
-
-    virtual Inst*
-    caseRefAnyVal(Inst* inst)=0;//          {return caseDefault(inst);}
-
-    virtual Inst*
-    caseRefAnyType(Inst* inst)=0;//         {return caseDefault(inst);}
-
-    virtual Inst*
-    caseInitBlock(Inst* inst)=0;//          {return caseDefault(inst);}
-
-    virtual Inst*
-    caseCopyBlock(Inst* inst)=0;//          {return caseDefault(inst);}
-
-    virtual Inst*
-    caseAlloca(Inst* inst)=0;//             {return caseDefault(inst);}
-
-    // makeGetType is not used
-    virtual Inst*
-    caseArgList(Inst* inst)=0;//            {return caseDefault(inst);}
-
     virtual Inst*
     casePhi(Inst* inst)=0;//                {return caseDefault(inst);}
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.cpp Thu Jun  5 02:23:56 2008
@@ -114,10 +114,6 @@
     { Op_PseudoThrow,           true,  MB::Exception,     MK::Exception,                             "pseudoThrow ",  "pseudoThrow %b",                  },               
     { Op_ThrowSystemException,  true,  MB::Exception,     MK::None,                                  "throwsys ",     "throwsys %d %b",                  },
     { Op_ThrowLinkingException, true,  MB::Exception,     MK::None,                                  "throwLink ",    "throwLink",                    },
-    { Op_Leave,                 true,  MB::ControlFlow,   MK::None,                                  "leave ",        "leave %l",                     }, // CLI only -- DELETE
-    { Op_EndFinally,            true,  MB::ControlFlow,   MK::None,                                  "endfinally",    "endfinally",                   }, // CLI only -- DELETE
-    { Op_EndFilter,             true,  MB::ControlFlow,   MK::None,                                  "endfilter",     "endfilter",                    }, // CLI only -- DELETE
-    { Op_EndCatch,              true,  MB::Call,          MK::None,                                  "endcatch",      "endcatch",                     }, // CLI only -- DELETE
     { Op_JSR,                   true,  MB::Call,          MK::None,                                  "jsr",           "jsr %l",                       }, // Java only, JSR's -- DELETE
     { Op_Ret,                   true,  MB::ControlFlow,   MK::None,                                  "ret",           "ret       %s",                 }, // Java only, JSR's -- DELETE
     { Op_SaveRet,               true,  MB::ControlFlow,   MK::None,                                  "saveret",       "saveret      -) %l",           }, // Java only, JSR's -- DELETE
@@ -184,25 +180,8 @@
     { Op_Label,                 true,  MB::None,          MK::None,                                  "label ",        "%l: %b",                       }, // special label instructions for branch labels, finally, catch
     { Op_MethodEntry,           true,  MB::None,          MK::None,                                  "methodentry",   "--- MethodEntry(%d): (%s)  %b",}, // method entry label
     { Op_MethodEnd,             true,  MB::None,          MK::None,                                  "methodend",     "+++ MethodEnd(%d) (%s)",       }, // end of a method
-    { Op_SourceLineNumber,      true,  MB::None,          MK::None,                                  "lineno",        "???",                          }, // change to source position
-    { Op_LdObj,                 false, MB::Load,          MK::None,                                  "ldobj ",        "ldobj     [%0] -) %l",         }, // load a value type to the stack
-    { Op_StObj,                 true,  MB::StoreOrSync,   MK::None,                                  "stobj ",        "stobj     %1 -) [%0] -- %d",   }, // store a value type from the stack
-    { Op_CopyObj,               true,  MB::StoreOrSync,   MK::None,                                  "cpobj ",        "cpobj     [%1] -) [%0] -- %d", }, // copy a value type
-    { Op_InitObj,               true,  MB::StoreOrSync,   MK::None,                                  "initobj",       "initobj   [%0]",               }, // initialize a value type
-    { Op_Sizeof,                false, MB::Movable,       MK::None,                                  "sizeof",        "sizeof    %d -) %l",           }, // Pushes the size of a value type as a U4
-    { Op_Box,                   false, MB::Exception,     MK::None,                                  "box   ",        "box       %0,%d -) %l",        },
-    { Op_Unbox,                 false, MB::CSEable,       MK::None,                                  "unbox ",        "unbox     %0,%d -) %l",        },    
-    { Op_LdToken,               true , MB::None,          MK::None,                                  "ldtok ",        "ldtok        -) %l",           },   
-    { Op_MkRefAny,              false, MB::CSEable,       MK::None,                                  "mkrefany",      "mkrefany",                     }, // transforms a pointer to a typed reference
-    { Op_RefAnyVal,             false, MB::CSEable,       MK::None,                                  "refanyval",     "refanyval",                    }, // ??? Pushes a pointer to the typed reference ??? 
-    { Op_RefAnyType,            false, MB::CSEable,       MK::None,                                  "refanytype",    "refanytype",                   }, // Pushes the type token in a typed reference - same as obj.getClass()?
-                                                                                                                       
+    
     // Memory instructions                                                                                             
-    { Op_InitBlock,             true,  MB::StoreOrSync,   MK::None,                                  "initblk",       "initblk",                      }, // memset
-    { Op_CopyBlock,             true,  MB::StoreOrSync,   MK::None,                                  "cpblk ",        "cpblk ",                       }, // memcopy
-    { Op_Alloca,                true,  MB::StoreOrSync,   MK::None,                                  "alloca",        "alloca",                       }, // allocations memory from the stack,   },not verifiable
-    { Op_ArgList,               true,  MB::None,          MK::None,                                  "arglist",       "arglist",                      }, // for implementing varargs, use is private to CLI System.ArgIterator
-                                                                                                                       
     // Special SSA nodes                                                                                               
     { Op_Phi,                   false, MB::None,          MK::None,                                  "phi   ",        "phi(%s)      -) %l",           }, // merge point
     { Op_TauPi,                 false, MB::Movable,       MK::None,                                  "pi    ",        "pi(%0 : %d) ((%1)) -) %l",           }, // liverange split based on condition 
@@ -809,7 +788,6 @@
     case Op_LdArrayBaseOffsetPlusHeapbase:
     case Op_LdArrayLenOffset:
     case Op_LdArrayLenOffsetPlusHeapbase:
-    case Op_LdToken:
         return true;
     default:
         return false;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.h?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/Opcode.h Thu Jun  5 02:23:56 2008
@@ -330,11 +330,7 @@
     Op_PseudoThrow,                 // pseudo instruction to break infinte loops
     Op_ThrowSystemException,        // takes a CompilationInterface::SystemExceptionId parameter
     Op_ThrowLinkingException,       // generate a call to Helper_Throw_LinkingException
-    Op_Leave,                       
-    Op_EndFinally,                  
 
-    Op_EndFilter,                   
-    Op_EndCatch,                    
     Op_JSR,                         
 
     Op_Ret,                         
@@ -420,32 +416,7 @@
     Op_Label,                       // special label instructions for branch labels, finally, catch
     Op_MethodEntry,                 // method entry label
     Op_MethodEnd,                   // end of a method
-    Op_SourceLineNumber,            // change to source position
-                
-    // Instructions for manipulating value objects in CIL
-    Op_LdObj,                       // load a value type to the stack
-    Op_StObj,                       // store a value type from the stack
-    Op_CopyObj,                     // copy a value type
-    Op_InitObj,                     // initialize a value type
-    Op_Sizeof,                      // Pushes the size of a value type as a U4
-    Op_Box,
-    Op_Unbox,
-
-    // Pushes a RuntimeMethodHandle, RuntimeTypeHandle, or RuntimeFieldHandle for 
-    // passing to the Reflection methods in the system class library.
-    Op_LdToken,    
-
-    // Instruction for manipulating typed references
-    Op_MkRefAny,                 // transforms a pointer to a typed reference
-    Op_RefAnyVal,                   
-    Op_RefAnyType,                  
-
-    // Memory instructions
-    Op_InitBlock,                   // memset
-    Op_CopyBlock,                   // memcopy
-    Op_Alloca,                      // allocations memory from the stack, not verifiable
-    Op_ArgList,                     // for implementing varargs; use is private to CLI System.ArgIterator
-
+    
     // Special SSA nodes
     Op_Phi,                         // merge point
     Op_TauPi,                       // leverage split based on condition 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/codelowerer.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/codelowerer.h?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/codelowerer.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/codelowerer.h Thu Jun  5 02:23:56 2008
@@ -156,12 +156,6 @@
 
     Inst* caseLeave(Inst* inst) {return caseDefault(inst);}
 
-    Inst* caseEndFinally(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseEndFilter(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseEndCatch(Inst* inst) {return caseDefault(inst);}
-
     Inst* caseJSR(Inst* inst) {return caseDefault(inst);}
 
     Inst* caseRet(Inst* inst) {return caseDefault(inst);}
@@ -278,40 +272,9 @@
 
     Inst* caseMethodEnd(Inst* inst) {return caseDefault(inst);}
 
-    Inst* caseSourceLineNumber(Inst* inst) {return caseDefault(inst);}
-
     // source markers
     Inst* caseMethodMarker(Inst* inst) {return caseDefault(inst);}
 
-    // value type instructions
-    Inst* caseLdObj(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseStObj(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseCopyObj(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseInitObj(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseBox(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseUnbox(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseLdToken(TokenInst* inst) {return caseDefault(inst);}
-
-    Inst* caseMkRefAny(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseRefAnyVal(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseRefAnyType(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseInitBlock(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseCopyBlock(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseAlloca(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseArgList(Inst* inst) {return caseDefault(inst);}
-
     Inst* casePhi(Inst* inst) {return caseDefault(inst);}
 
     Inst* caseTauPi(TauPiInst* inst) {return caseDefault(inst);}

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escanalyzer.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escanalyzer.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escanalyzer.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escanalyzer.cpp Thu Jun  5 02:23:56 2008
@@ -613,7 +613,6 @@
             case Op_Prefetch:
             case Op_TauStStatic:
             case Op_Copy:       
-            case Op_Box:
                 break;
 
             default:
@@ -4648,12 +4647,6 @@
         Inst *headInst = (Inst*)node->getFirstInst();
         Opnd* opnd;
         for (Inst* inst=headInst->getNextInst();inst!=NULL;inst=inst->getNextInst()) {
-            if (inst->getOpcode() == Op_InitObj) {
-                if (verboseLog) {
-                    os_sc << " Op_InitObj: ";
-                    inst->print(os_sc); os_sc << std::endl;
-                }
-            }
             U_32 nsrc = inst->getNumSrcOperands();
             for (U_32 i=0; i<nsrc; i++) {
                 if (!(opnd=inst->getSrc(i))->isSsaOpnd())  // check ssa operands
@@ -4716,12 +4709,6 @@
         Inst *headInst = (Inst*)node->getFirstInst();
         Opnd* opnd;
         for (Inst* inst=headInst->getNextInst();inst!=NULL;inst=inst->getNextInst()) {
-            if (inst->getOpcode() == Op_InitObj) {
-                if (verboseLog) {
-                    os_sc << " Op_InitObj: ";
-                    inst->print(os_sc); os_sc << std::endl;
-                }
-            }
             U_32 nsrc = inst->getNumSrcOperands();
             for (U_32 i=0; i<nsrc; i++) {
                 if (!(opnd=inst->getSrc(i))->isSsaOpnd())  // check ssa operands

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escapeanalyzer.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escapeanalyzer.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escapeanalyzer.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/escapeanalyzer.cpp Thu Jun  5 02:23:56 2008
@@ -45,7 +45,6 @@
     case Op_LdRef:   case Op_NewObj: case Op_NewArray:
         return true;
     case Op_NewMultiArray:
-    case Op_Box:
         return true;
     case Op_LdConstant:
         //
@@ -171,7 +170,6 @@
         // no src operands to mark
         break;
     case Op_NewMultiArray:
-    case Op_Box:
         break;
         //
         // sources of loads do not escape further
@@ -196,7 +194,6 @@
         break;
     case Op_LdStaticAddr:   case Op_LdVarAddr:
         break;
-    case Op_Unbox:  case Op_LdObj:
     default:
         ::std::cerr << "ERROR: unknown escaping ref opcode: "
              << inst->getOperation().getOpcodeString()
@@ -281,7 +278,6 @@
     case Op_TauLdField:  case Op_TauLdElem: case Op_TauLdInd:
     case Op_LdArrayBaseAddr:    case Op_AddScaledIndex:
     case Op_LdFieldAddr:        case Op_LdElemAddr:
-    case Op_Unbox:  
     case Op_AddOffset:
         // create a def-use to base address computation
         defUseBuilder.addDefUse(inst->getSrc(0)->getInst(),inst,0);

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/hashvaluenumberer.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/hashvaluenumberer.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/hashvaluenumberer.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/hashvaluenumberer.cpp Thu Jun  5 02:23:56 2008
@@ -228,12 +228,6 @@
     
     Inst* caseLeave(Inst* inst) { return caseDefault(inst); }
     
-    Inst* caseEndFinally(Inst* inst) { return caseDefault(inst); }
-    
-    Inst* caseEndFilter(Inst* inst) { return caseDefault(inst); }
-    
-    Inst* caseEndCatch(Inst* inst) { return caseDefault(inst); }
-    
     Inst* caseJSR(Inst* inst) { return caseDefault(inst); }
     
     Inst* caseRet(Inst* inst) { return caseDefault(inst); }
@@ -860,55 +854,10 @@
     virtual Inst*
     caseMethodEnd(Inst* inst) { return caseDefault(inst); }
 
-    virtual Inst*
-    caseSourceLineNumber(Inst* inst) { return caseDefault(inst); }
-
     // source markers
     virtual Inst*
     caseMethodMarker(Inst* inst) { return caseDefault(inst); }
 
-    // value type instructions
-    virtual Inst*
-    caseLdObj(TypeInst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseStObj(TypeInst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseCopyObj(TypeInst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseInitObj(TypeInst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseBox(TypeInst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseUnbox(TypeInst* inst) { return caseDefault(inst); }
-
-    Inst* caseLdToken(TokenInst* inst)              { return hashInst(inst); }
-
-    virtual Inst*
-    caseMkRefAny(Inst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseRefAnyVal(Inst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseRefAnyType(Inst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseInitBlock(Inst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseCopyBlock(Inst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseAlloca(Inst* inst) { return caseDefault(inst); }
-
-    virtual Inst*
-    caseArgList(Inst* inst) { return caseDefault(inst); }
-
     virtual Inst*
     casePhi(Inst* inst) { return caseDefault(inst); }
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/lazyexceptionopt.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/lazyexceptionopt.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/lazyexceptionopt.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/lazyexceptionopt.cpp Thu Jun  5 02:23:56 2008
@@ -904,11 +904,6 @@
         case Op_ThrowSystemException:
         case Op_ThrowLinkingException:
             return true;
-        case Op_Leave:            // deleted
-        case Op_EndFinally:
-        case Op_EndFilter:
-        case Op_EndCatch:
-            return true;
         case Op_JSR:              // deleted
         case Op_Ret:
         case Op_SaveRet:
@@ -1051,24 +1046,7 @@
         case Op_Label:
         case Op_MethodEntry:
         case Op_MethodEnd:
-        case Op_SourceLineNumber:
             return false;                
-        case Op_LdObj:
-        case Op_StObj:
-        case Op_CopyObj:
-        case Op_InitObj:
-        case Op_Sizeof:
-        case Op_Box:
-        case Op_Unbox:
-        case Op_LdToken:
-        case Op_MkRefAny:
-        case Op_RefAnyVal:
-        case Op_RefAnyType:
-        case Op_InitBlock:
-        case Op_CopyBlock:
-        case Op_Alloca:
-        case Op_ArgList:
-            return true;
         case Op_Phi:
         case Op_TauPi:
             return false;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/memoryopt.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/memoryopt.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/memoryopt.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/memoryopt.cpp Thu Jun  5 02:23:56 2008
@@ -660,9 +660,6 @@
     case Op_Throw:
     case Op_ThrowSystemException:
     case Op_ThrowLinkingException:
-    case Op_Leave:
-    case Op_EndFinally:
-    case Op_EndFilter:
         thePass->effectExit(n, i);
         break;
     case Op_Catch:
@@ -872,22 +869,6 @@
         break;
 
 
-    case Op_LdObj:
-
-    case Op_StObj:
-    case Op_CopyObj:
-
-    case Op_InitObj:
-    case Op_Box:
-    case Op_Unbox:
-    case Op_LdToken:
-    case Op_InitBlock:
-    case Op_CopyBlock:
-    case Op_Alloca:
-        assert(0);
-        break;
-
-
         // loads vtable from object, depends on object initialization
     case Op_TauLdVTableAddr:
 
@@ -937,14 +918,7 @@
     case Op_TauCheckFinite: 
 
     case Op_TauStaticCast: // just a compile-time assertion
-    case Op_Label: case Op_SourceLineNumber:
-    case Op_Sizeof:
-
-    case Op_MkRefAny:   // these may allow pointers to escape or something
-    case Op_RefAnyVal:
-    case Op_RefAnyType:
-
-    case Op_ArgList:
+    case Op_Label:
     case Op_Phi:
     case Op_TauPi:
     case Op_TauPoint:
@@ -1385,7 +1359,6 @@
             }
         }
 
-    case Op_Alloca:
     case Op_LdVarAddr:
     case Op_Phi:
     case Op_DefArg: //magic as method param

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.cpp Thu Jun  5 02:23:56 2008
@@ -126,7 +126,7 @@
     Inst* inst = opnd->getInst();
     switch (inst->getOpcode()) {
     case Op_NewObj:    case Op_NewArray:    case Op_NewMultiArray:
-    case Op_Box:       case Op_LdRef:    case Op_Catch:
+    case Op_LdRef:    case Op_Catch:
         return true;
     default:
     return false;
@@ -156,7 +156,7 @@
     Inst* inst = opnd->getInst();
     switch (inst->getOpcode()) {
     case Op_NewObj:    case Op_NewArray:    case Op_NewMultiArray:
-    case Op_Box:       case Op_LdRef:
+    case Op_LdRef:
         return true;
     case Op_DefArg:
         return (inst->getDefArgModifier() == SpecializedToExactType);

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.h?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifier.h Thu Jun  5 02:23:56 2008
@@ -511,11 +511,6 @@
 
     Inst* caseLeave(Inst* inst) {return caseDefault(inst);}
 
-    Inst* caseEndFinally(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseEndFilter(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseEndCatch(Inst* inst) {return caseDefault(inst);}
 
     Inst* caseJSR(Inst* inst) {return caseDefault(inst);}
 
@@ -825,41 +820,10 @@
     Inst* caseMethodEntry(Inst* inst) {return caseDefault(inst);}
 
     Inst* caseMethodEnd(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseSourceLineNumber(Inst* inst) {return caseDefault(inst);}
-
+    
     // source markers
     Inst* caseMethodMarker(Inst* inst) {return caseDefault(inst);}
 
-    // value type instructions
-    Inst* caseLdObj(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseStObj(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseCopyObj(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseInitObj(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseBox(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseUnbox(TypeInst* inst) {return caseDefault(inst);}
-
-    Inst* caseLdToken(TokenInst* inst) {return caseDefault(inst);}
-
-    Inst* caseMkRefAny(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseRefAnyVal(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseRefAnyType(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseInitBlock(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseCopyBlock(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseAlloca(Inst* inst) {return caseDefault(inst);}
-
-    Inst* caseArgList(Inst* inst) {return caseDefault(inst);}
-
     Inst* casePhi(Inst* inst){return caseDefault(inst);}
 
     Inst* caseTauPi(TauPiInst* inst){return caseDefault(inst);}

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifytaus.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifytaus.cpp?rev=663509&r1=663508&r2=663509&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifytaus.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/simplifytaus.cpp Thu Jun  5 02:23:56 2008
@@ -496,10 +496,6 @@
         
     case Op_Throw:
     case Op_PseudoThrow:
-    case Op_Leave:
-    case Op_EndFinally:
-    case Op_EndFilter:
-    case Op_EndCatch:
         assert(0); 
         
     case Op_JSR:
@@ -647,27 +643,8 @@
     case Op_Label:
     case Op_MethodEntry:
     case Op_MethodEnd:
-    case Op_SourceLineNumber:
         assert(0); // no dstOpnd
         
-    case Op_LdObj:
-    case Op_StObj:
-    case Op_CopyObj:
-    case Op_InitObj:
-    case Op_Sizeof:
-    case Op_Box:
-    case Op_Unbox:
-    case Op_LdToken:
-    case Op_MkRefAny:
-    case Op_RefAnyVal:
-    case Op_RefAnyType:
-    case Op_InitBlock:
-    case Op_CopyBlock:
-    case Op_Alloca:
-    case Op_ArgList:
-        assert(0); // do not know what to do with these
-        break;
-        
     case Op_Phi:
         assert(0); // should be a ldvar instead
         break;