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 2007/02/28 11:56:23 UTC

svn commit: r512698 [1/2] - in /harmony/enhanced/drlvm/trunk/vm/jitrino/src: codegenerator/ codegenerator/ia32/ dynopt/ jet/ main/ optimizer/ shared/ vm/ vm/drl/

Author: varlax
Date: Wed Feb 28 02:56:15 2007
New Revision: 512698

URL: http://svn.apache.org/viewvc?view=rev&rev=512698
Log:
Partial fix to HARMONY-3197 [drlvm][jit][winx64] Jitrino compilation fixed`.
Tested on SUSE10@ia32, SUSE9@x64, WinXP@ia32, Win2003@x64, SUSE9@ipf

Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/CodeGenIntfc.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BBPolling.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BCMap.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeLayoutBottomUp.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32ConstraintsResolver.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCSafePoints.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalProfiler.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalTrace.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Printer.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc2.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc3.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAllocCheck.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32WebMaker.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/EdgeProfiler.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/ValueProfiler.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/compiler.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jdefs.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/main/PMF.cpp
    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/escanalyzer.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/inliner.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/inliner.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/multiplybyconstant.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/InlineInfo.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/Interval.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/LoopTree.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/PlatformDependant.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.h

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?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/CodeGenIntfc.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/CodeGenIntfc.h Wed Feb 28 02:56:15 2007
@@ -600,6 +600,7 @@
 class InlineInfoMap {
     class OffsetPair {
     public:
+        OffsetPair() : offset(0), inline_info(NULL) {}
         OffsetPair(uint32 off, InlineInfo* ii) : offset(off), inline_info(ii) {}
         uint32 offset;
         InlineInfo* inline_info;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BBPolling.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BBPolling.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BBPolling.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BBPolling.cpp Wed Feb 28 02:56:15 2007
@@ -84,7 +84,7 @@
 #endif
     }
 
-    uint32  numberOfAffectedEdges()     { return eligibleEdges.size(); }
+    uint32  numberOfAffectedEdges()     { return (uint32)eligibleEdges.size(); }
     Edge*   getAffectedEdge(uint32 i)   { assert(i < eligibleEdges.size()); return eligibleEdges[i]; }
 
     Opnd*   getOrCreateTLSBaseReg(Edge* e);
@@ -280,10 +280,6 @@
          Opnd* tlsBase  = irManager.newOpnd(tlsBaseType);
          bbpFlagAddrBlock->appendInst(irManager.newCallInst(target, &CallingConvention_STDCALL, 0, NULL, tlsBase));
 #else // PLATFORM_POSIX
-#ifdef _EM64T_
-	// TODO: #error "BBP not implemented on windows/em64t"
-	assert(0);
-#endif
         // TLS base can be obtained from [fs:0x14]
         Opnd* tlsBase = irManager.newMemOpnd(tlsBaseType, MemOpndKind_Any, NULL, 0x14, RegName_FS);
 #endif // PLATFORM_POSIX
@@ -484,7 +480,7 @@
             if ( !toppestLoopHeader[id] ) {
                 toppestLoopHeader[id] = loopHeader;
                 // here we need to remember all otheredges and their start index for particular loopHeader
-                otherStartNdx[loopHeader->getId()] = otherEdges.size();
+                otherStartNdx[loopHeader->getId()] = (uint32)otherEdges.size();
                 const Edges& edges = loopHeader->getInEdges();
                 for (Edges::const_iterator ite = edges.begin(), ende = edges.end(); ite!=ende; ++ite) {
                     Edge* e = *ite;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BCMap.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BCMap.h?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BCMap.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BCMap.h Wed Feb 28 02:56:15 2007
@@ -47,7 +47,7 @@
     }
 
     POINTER_SIZE_INT getByteSize() {
-        POINTER_SIZE_INT mapSize = theMap->size();
+        POINTER_SIZE_INT mapSize = (POINTER_SIZE_INT)theMap->size();
 
         return  (mapSize * (byteCodeOffsetSize + wordSize) + wordSize);
     }
@@ -58,7 +58,7 @@
         POINTER_SIZE_INT mapSize;
         POINTER_SIZE_INT i = 0;
 
-        mapSize = theMap->size();
+        mapSize = (POINTER_SIZE_INT)theMap->size();
         data[0] = mapSize; //store map size
         data = data + 1;
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp Wed Feb 28 02:56:15 2007
@@ -221,7 +221,7 @@
 void CodeEmitter::ConstantAreaLayout::calculateItemOffsets()
 {
     POINTER_SIZE_INT offset=0;
-    for (uint32 i=0, n=items.size(); i<n; ++i){
+    for (size_t i=0, n=items.size(); i<n; ++i){
         ConstantAreaItem * item=items[i];
         POINTER_SIZE_INT size=item->getSize();
         POINTER_SIZE_INT alignment=size; 
@@ -250,7 +250,7 @@
     dataBlock=(dataBlock+blockAlignment-1)&~(blockAlignment-1);
     assert(dataBlock % blockAlignment == 0);
 
-    for (uint32 i=0, n=items.size(); i<n; ++i){
+    for (size_t i=0, n=items.size(); i<n; ++i){
         ConstantAreaItem * item=items[i];
         POINTER_SIZE_INT offset=(POINTER_SIZE_INT)item->getAddress();
         item->setAddress((void*)(dataBlock+offset));
@@ -265,7 +265,7 @@
 #ifdef _DEBUG
     const Nodes& nodes = irManager->getFlowGraph()->getNodes();
 #endif
-    for (uint32 i=0, n=items.size(); i<n; ++i){
+    for (size_t i=0, n=items.size(); i<n; ++i){
         ConstantAreaItem * item=items[i];
         if (item->hasKind(ConstantAreaItem::Kind_SwitchTableConstantAreaItem)){
             void ** table = (void **)item->getAddress();
@@ -323,7 +323,9 @@
                         Log::out() << "has inline info:" << std::endl;
                         callinst->getInlineInfo()->printLevels(Log::out());
                         // report offset 1 bundle forward
-                        inlineMap->registerOffset((POINTER_SIZE_INT)inst->getCodeStartAddr()+inst->getCodeSize() - (POINTER_SIZE_INT)irManager->getCodeStartAddr(), callinst->getInlineInfo());
+                        POINTER_SIZE_INT offset = (POINTER_SIZE_INT)inst->getCodeStartAddr() + inst->getCodeSize() - (POINTER_SIZE_INT)irManager->getCodeStartAddr();
+                        assert(fit32(offset));
+                        inlineMap->registerOffset((uint32)offset, callinst->getInlineInfo());
                     }
                     Log::out() << std::endl;
                 }
@@ -377,17 +379,18 @@
 
         
         if (alignment && lt->isLoopHeader(bb) && ((POINTER_SIZE_INT)ip & (alignment-1))) {
-            POINTER_SIZE_INT align = alignment - ((POINTER_SIZE_INT)ip & (alignment-1));
+            unsigned align = alignment - (unsigned)((POINTER_SIZE_INT)ip & (alignment-1));
             ip = (uint8*)EncoderBase::nops((char*)ip, align);
         }
 
         uint8 * blockStartIp = ip;
-        bb->setCodeOffset( blockStartIp-codeStreamStart );
+        assert(fit32(blockStartIp-codeStreamStart));
+        bb->setCodeOffset( (uint32)(blockStartIp-codeStreamStart) );
         for (Inst* inst = (Inst*)bb->getFirstInst(); inst!=NULL; inst = inst->getNextInst()) {
             if( inst->hasKind(Inst::Kind_PseudoInst)) {
                 
                 uint8 * instStartIp = ip;
-                inst->setCodeOffset( instStartIp-blockStartIp );
+                inst->setCodeOffset( (uint32)(instStartIp-blockStartIp) );
                 continue;
             }
 
@@ -398,23 +401,25 @@
             {
                 if ((POINTER_SIZE_INT)ip & 0xF) 
                 {
-                    uint64 align = 0x10 - ((POINTER_SIZE_INT)ip & 0xF);
+                    unsigned align = 0x10 - (unsigned)((POINTER_SIZE_INT)ip & 0xF);
                     ip = (uint8*)EncoderBase::nops((char*)ip, align);
                 }
                 uint8 * instStartIp = ip;
-                inst->setCodeOffset( instStartIp-blockStartIp );
+                assert(fit32(instStartIp-blockStartIp));
+                inst->setCodeOffset( (uint32)(instStartIp-blockStartIp) );
                 ip = inst->emit(ip);
                 ip = (uint8*)EncoderBase::nops((char*)ip, 0x10 - inst->getCodeSize());
             } else {
 #endif
             uint8 * instStartIp = ip;
-            inst->setCodeOffset( instStartIp-blockStartIp );
+            assert(fit32(instStartIp-blockStartIp));
+            inst->setCodeOffset( (uint32)(instStartIp-blockStartIp) );
             ip = inst->emit(ip);
 #ifdef _EM64T_
             }
 #endif
         }
-        bb->setCodeSize( ip-blockStartIp );
+        bb->setCodeSize( (uint32)(ip-blockStartIp) );
     }
     unsigned codeSize = (unsigned)(ip-codeStreamStart);
     assert( codeSize < maxMethodSize );
@@ -453,7 +458,7 @@
                     if (offset >= -128 && offset < 127 && inst->getOpnd(targetOpndIndex)->getSize() != OpndSize_8) {
                         inst->setOpnd(targetOpndIndex, irManager->newImmOpnd(irManager->getTypeFromTag(Type::Int8), offset));
                         uint8 * newInstCodeEndAddr = inst->emit(instCodeStartAddr);
-                        bb->setCodeSize(bb->getCodeSize() + (newInstCodeEndAddr - instCodeEndAddr));
+                        bb->setCodeSize(bb->getCodeSize() + (uint32)(newInstCodeEndAddr - instCodeEndAddr));
                         newOpndsCreated = true;
                     } 
                 }
@@ -510,8 +515,7 @@
                     int64 offset=targetCodeStartAddr-instCodeEndAddr;
 
 #ifdef _EM64T_
-#ifndef WIN32
-                    if (llabs(offset) > 0xFFFFFFFF) {
+                    if (!fit32(offset)) { // offset as a signed value does not fits into 32 bits
                         const RegName TMP_BASE = RegName_R14;
                         EncoderBase::Operands args;
                         args.clear();
@@ -522,10 +526,6 @@
                         args.add(TMP_BASE);
                         EncoderBase::encode(ip, Mnemonic_CALL, args);
                     } else {
-#else
-                    // TODO: 
-                    assert(0);
-#endif
 #endif
                     inst->getOpnd(targetOpndIndex)->assignImmValue((int64)offset);
                     // re-emit the instruction: 
@@ -535,10 +535,8 @@
                         registerDirectCall(inst);
                     }
 #ifdef _EM64T_
-#ifndef WIN32
                     }
 #endif
-#endif
                 }   
             // todo64
                     if (isBcRequired) {
@@ -581,7 +579,8 @@
     Byte ** indirectAddr = (Byte **)recompiledMethodDesc->getIndirectAddress();
     Byte * targetAddr = *indirectAddr;
     Byte * callAddr = (Byte*)data;
-    uint32 offset = targetAddr - callAddr-5;
+    assert(fit32(targetAddr - callAddr-5));
+    uint32 offset = (uint32)(targetAddr - callAddr-5);
 
     //FIXME
     //if (Log::cat_rt()->isDebugEnabled()) {
@@ -630,7 +629,7 @@
         registerExceptionRegion((void*)regionStart, (void*)regionEnd, regionDispatchNode);
     }
 
-    uint32 handlerInfoCount=exceptionHandlerInfos.size();
+    uint32 handlerInfoCount=(uint32)exceptionHandlerInfos.size();
     irManager->getCompilationInterface().setNumExceptionHandler(handlerInfoCount);
     for (uint32 i=0; i<handlerInfoCount; i++){
         const ExceptionHandlerInfo & info=exceptionHandlerInfos[i];
@@ -737,7 +736,7 @@
                 methInfo = new(memoryManager) CompiledMethodInfo(memoryManager,
                                                                  (POINTER_SIZE_INT)methMarkerInst->getCodeStartAddr(),
                                                                  oldMethodEntryInst,
-                                                                 inlineStack.size());
+                                                                 (uint32)inlineStack.size());
 
                 methodLocationMap[methMarkerInst] = methInfo;
             } else if (inst->getKind() == Inst::Kind_MethodEndPseudoInst) {

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeLayoutBottomUp.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeLayoutBottomUp.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeLayoutBottomUp.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeLayoutBottomUp.cpp Wed Feb 28 02:56:15 2007
@@ -207,7 +207,7 @@
     assert(*chains.begin() ==irManager->getFlowGraph()->getEntryNode());
 
     assert(*chains.begin() == irManager->getFlowGraph()->getEntryNode());
-    for (uint32 i = 0, n = chains.size()-1; i<n;i++) {
+    for (uint32 i = 0, n = (uint32)chains.size()-1; i<n;i++) {
         BasicBlock* firstChain = chains[i];
         BasicBlock* secondChain= chains[i+1];
         BasicBlock* lastInFirst = firstChain;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32ConstraintsResolver.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32ConstraintsResolver.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32ConstraintsResolver.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32ConstraintsResolver.cpp Wed Feb 28 02:56:15 2007
@@ -384,7 +384,7 @@
         if (node->isBlockNode()){
             double bbecv = getBasicBlockPriority(node);
             uint32 ibb=0;
-            for (uint32 nbb=basicBlocks.size(); ibb<nbb; ++ibb){
+            for (uint32 nbb=(uint32)basicBlocks.size(); ibb<nbb; ++ibb){
                 if (bbecv > getBasicBlockPriority(basicBlocks[ibb]))
                     break;
             }
@@ -671,7 +671,7 @@
 void ConstraintsResolverImpl::resolveConstraints()
 {   
     // for all basic blocks in the array
-    for (uint32 ibb=0, nbb=basicBlocks.size(); ibb<nbb; ++ibb){
+    for (uint32 ibb=0, nbb=(uint32)basicBlocks.size(); ibb<nbb; ++ibb){
         resolveConstraints(basicBlocks[ibb]);
     }
 }   

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp Wed Feb 28 02:56:15 2007
@@ -133,9 +133,10 @@
         } else if (opnd->getMemOpndKind() == MemOpndKind_StackAutoLayout) {
             const Opnd* displOpnd = opnd->getMemOpndSubOpnd(MemOpndSubOpndKind_Displacement);
             assert(displOpnd!=NULL);
+            assert(fit32(displOpnd->getImmValue()) && fit32(inst->getStackDepth()));
             int offset_from_esp0 =  (int)displOpnd->getImmValue(); //opnd saving offset from the esp on method call
             int inst_offset_from_esp0 = (int)inst->getStackDepth();
-            POINTER_SIZE_INT ptrToAddrOffset = inst_offset_from_esp0 + offset_from_esp0; //opnd saving offset from the esp on inst
+            int ptrToAddrOffset = inst_offset_from_esp0 + offset_from_esp0; //opnd saving offset from the esp on inst
             gcOpnd = new (mm) GCSafePointOpnd(isObject, false, ptrToAddrOffset, offset);
         } else {
             assert(opnd->getMemOpndKind() == MemOpndKind_Heap);
@@ -185,8 +186,8 @@
 POINTER_SIZE_INT GCMap::getByteSize() const {
     POINTER_SIZE_INT slotSize = sizeof(POINTER_SIZE_INT);
     POINTER_SIZE_INT size = slotSize/*byte number */ + slotSize/*number of safepoints*/ 
-            + slotSize*gcSafePoints.size()/*space to save safepoints sizes*/;
-    for (int i=0, n = gcSafePoints.size(); i<n;i++) {
+            + (POINTER_SIZE_INT)slotSize*gcSafePoints.size()/*space to save safepoints sizes*/;
+    for (int i=0, n = (int)gcSafePoints.size(); i<n;i++) {
         GCSafePoint* gcSite = gcSafePoints[i];
         size+= slotSize*gcSite->getUint32Size();
     }
@@ -216,7 +217,7 @@
 void GCMap::write(Byte* output)  {
     POINTER_SIZE_INT* data = (POINTER_SIZE_INT*)output;
     data[0] = getByteSize();
-    data[1] = gcSafePoints.size();
+    data[1] = (POINTER_SIZE_INT)gcSafePoints.size();
     POINTER_SIZE_INT offs = 2;
 
 #ifdef GCMAP_TRACK_IDS
@@ -226,7 +227,7 @@
     std::sort(gcSafePoints.begin(), gcSafePoints.end(), hwecompare());
 #endif
 
-    for (int i=0, n = gcSafePoints.size(); i<n;i++) {
+    for (int i=0, n = (int)gcSafePoints.size(); i<n;i++) {
         GCSafePoint* gcSite = gcSafePoints[i];
         POINTER_SIZE_INT siteUint32Size = gcSite->getUint32Size();
         data[offs++] = siteUint32Size;
@@ -261,9 +262,9 @@
     gcOpnds.reserve(nOpnds);
     POINTER_SIZE_INT offs = 2;
     for (uint32 i = 0; i< nOpnds; i++, offs+=3) {
-        GCSafePointOpnd* gcOpnd= new (mm) GCSafePointOpnd(image[offs], int(image[offs+1]), int32(image[offs+2]));
+        GCSafePointOpnd* gcOpnd= new (mm) GCSafePointOpnd(uint32(image[offs]), int(image[offs+1]), int32(image[offs+2]));
 #ifdef GCMAP_TRACK_IDS
-        gcOpnd->firstId = image[offs+3];
+        gcOpnd->firstId = uint32(image[offs+3]);
         offs++;
 #endif
         gcOpnds.push_back(gcOpnd);
@@ -275,7 +276,7 @@
 }
 
 POINTER_SIZE_INT GCSafePoint::getUint32Size() const {
-    POINTER_SIZE_INT size = 1/*ip*/+1/*nOpnds*/+GCSafePointOpnd::IMAGE_SIZE_UINT32 * gcOpnds.size()/*opnds images*/;
+    POINTER_SIZE_INT size = 1/*ip*/+1/*nOpnds*/+GCSafePointOpnd::IMAGE_SIZE_UINT32 * (POINTER_SIZE_INT)gcOpnds.size()/*opnds images*/;
 #ifdef GCMAP_TRACK_IDS
     size++; //instId
     size++; //hardwareExceptionPoint
@@ -286,8 +287,8 @@
 void GCSafePoint::write(POINTER_SIZE_INT* data) const {
     POINTER_SIZE_INT offs=0;
     data[offs++] = ip;
-    data[offs++] = gcOpnds.size();
-    for (uint32 i = 0, n = gcOpnds.size(); i<n; i++, offs+=3) {
+    data[offs++] = (POINTER_SIZE_INT)gcOpnds.size();
+    for (uint32 i = 0, n = (uint32)gcOpnds.size(); i<n; i++, offs+=3) {
         GCSafePointOpnd* gcOpnd = gcOpnds[i];
         data[offs] = gcOpnd->flags;
         data[offs+1] = gcOpnd->val;
@@ -312,17 +313,11 @@
 #ifdef GCMAP_TRACK_IDS
     assert(cond);
 #else
-#if defined(WIN32) && !defined(_EM64T_)
+#ifdef _WIN32 // any windows
     if (!cond) {
-        __asm {
-            int 3;
-        }
+        DebugBreak();
     }
 #endif
-#if defined (_EM64T_) && defined(_WIN64)
-    // TODO: add proper code
-    assert(0);
-#endif
 #endif    
 }
 
@@ -349,7 +344,7 @@
     //In this case it's impossible to derive valid base for mptr with unknown offset.
 
     //1. Derive all offsets. Use GCSafePointOpnd.mptrOffset to store the result.
-    for (uint32 i=0, n = gcOpnds.size(); i<n; i++) {
+    for (uint32 i=0, n = (uint32)gcOpnds.size(); i<n; i++) {
         GCSafePointOpnd* gcOpnd = gcOpnds[i];
         POINTER_SIZE_INT valPtrAddr = getOpndSaveAddr(context, stackInfo, gcOpnd);
         if (gcOpnd->isObject() || gcOpnd->getMPtrOffset()!=MPTR_OFFSET_UNKNOWN) {
@@ -389,7 +384,7 @@
     }
 
     //2. Report the results
-    for (uint32 i=0, n = gcOpnds.size(); i<n; i++) {
+    for (uint32 i=0, n = (uint32)gcOpnds.size(); i<n; i++) {
         GCSafePointOpnd* gcOpnd = gcOpnds[i];
         POINTER_SIZE_INT valPtrAddr = getOpndSaveAddr(context, stackInfo, gcOpnd);
         if (gcOpnd->isObject()) {
@@ -424,7 +419,7 @@
     } else { 
         assert(gcOpnd->isOnStack());
 #ifdef _EM64T_
-        addr = ctx->rsp + gcOpnd->getDistFromInstESP();
+        addr = ctx->rsp + (POINTER_SIZE_INT)gcOpnd->getDistFromInstESP();
 #else
         addr = ctx->esp + gcOpnd->getDistFromInstESP();
 #endif
@@ -464,7 +459,7 @@
 */
 
     // Compute stack information
-    uint32 stackInfoSize = StackInfo::getByteSize(methodDesc);
+    uint32 stackInfoSize = (uint32)StackInfo::getByteSize(methodDesc);
     Byte* infoBlock = methodDesc->getInfoBlock();
     Byte* gcBlock = infoBlock + stackInfoSize;
 #ifdef _EM64T_
@@ -516,10 +511,10 @@
         inlineInfo->write(compIntf.allocateJITDataBlock(inlineInfo->computeSize(), 8));
     }
 
-    uint32 stackInfoSize = stackInfo->getByteSize();
-    uint32 gcInfoSize = gcMap->getByteSize();
-    uint32 bcMapSize = bcMap->getByteSize(); // we should write at least the size of map  in the info block
-    assert(bcMapSize >= sizeof(POINTER_SIZE_INT));               // so  bcMapSize should be more than 4 for ia32
+    uint32 stackInfoSize = (uint32)stackInfo->getByteSize();
+    uint32 gcInfoSize = (uint32)gcMap->getByteSize();
+    uint32 bcMapSize = (uint32)bcMap->getByteSize(); // we should write at least the size of map  in the info block
+    assert(bcMapSize >= sizeof(POINTER_SIZE_INT));   // so  bcMapSize should be more than 4 for ia32
 
     Byte* infoBlock = compIntf.allocateInfoBlock(stackInfoSize + gcInfoSize + bcMapSize);
     stackInfo->write(infoBlock);

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.h?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.h Wed Feb 28 02:56:15 2007
@@ -85,7 +85,7 @@
 
         POINTER_SIZE_INT getUint32Size() const;
         void write(POINTER_SIZE_INT* image) const;
-        uint32 getNumOpnds() const {return gcOpnds.size();}
+        uint32 getNumOpnds() const {return (uint32)gcOpnds.size();}
         static POINTER_SIZE_INT getIP(const POINTER_SIZE_INT* image);
 
         void enumerate(GCInterface* gcInterface, const JitFrameContext* c, const StackInfo& stackInfo) const;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCSafePoints.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCSafePoints.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCSafePoints.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCSafePoints.cpp Wed Feb 28 02:56:15 2007
@@ -50,7 +50,7 @@
 // WARN: elements order could be changed!
 static void removeElementAt(GCSafePointPairs& pairs, uint32 idx) {
     assert(!pairs.empty());
-    uint32 newSize = pairs.size() - 1;
+    uint32 newSize = (uint32)pairs.size() - 1;
     assert(idx<=newSize);
     if (idx < newSize) {
         pairs[idx] = pairs[newSize];
@@ -63,7 +63,7 @@
 #ifdef _DEBUG_
     uint32 nPairs = 0;
 #endif 
-    for (int i = pairs.size(); --i>=0;) {
+    for (int i = (int)pairs.size(); --i>=0;) {
         MPtrPair& p = pairs[i];
         if (p.mptr == mptr) {
             removeElementAt(pairs, i);
@@ -341,7 +341,7 @@
     if (!pairs.empty()) {
         const BitSet* livenessFilter = findLivenessFilter(inst);
         if (livenessFilter!=NULL) {
-            for (int i = pairs.size(); --i>=0;) {
+            for (int i = (int)pairs.size(); --i>=0;) {
                 MPtrPair& p = pairs[i];
                 if (!livenessFilter->getBit(p.mptr->getId())) {
                     removeElementAt(pairs, i);
@@ -562,7 +562,7 @@
     bool needToFilterDeadPairs = false;
     uint32 instsAddedBefore = instsAdded;
     std::sort(res.begin(), res.end());
-    for (uint32 i=0, n = res.size(); i < n; i++) {
+    for (uint32 i=0, n = (uint32)res.size(); i < n; i++) {
         MPtrPair& p1 = res[i];
         Opnd* newBase = NULL; //new base opnd to merge ambiguos mptrs
         while (i+1 < n) {
@@ -660,7 +660,7 @@
                 GCSafePointPairs& pairs  = *pairsByGCSafePointInstId[inst->getId()];
                 if (!pairs.empty()) {
                     nSafePointsTmp--;
-                    for (int i =pairs.size(); --i>=0;) {
+                    for (int i = (int)pairs.size(); --i>=0;) {
                         MPtrPair& p = pairs[i];
                         if (!ls.getBit(p.mptr->getId())) {
                             removeElementAt(pairs, i);
@@ -702,7 +702,7 @@
                 Node * predNode2 =edge2->getSourceNode();
                 const GCSafePointPairs& pairs2 = *pairsByNode[predNode2->getDfNum()];
                 //now check that for every mptr in pairs1 there is a pair in pairs2 with the same mptr
-                for (uint32 i1 = 0, n1 = pairs1.size();i1<n1; i1++) {
+                for (uint32 i1 = 0, n1 = (uint32)pairs1.size();i1<n1; i1++) {
                     const MPtrPair& p1 = pairs1[i1];
                     if (ls->getBit(p1.mptr->getId())) {
                         for (uint32 i2 = 0; ; i2++) {
@@ -715,7 +715,7 @@
                     }
                 }
                 // and vice versa
-                for (uint32 i2 = 0, n2 = pairs2.size();i2<n2; i2++) {
+                for (uint32 i2 = 0, n2 = (uint32)pairs2.size();i2<n2; i2++) {
                     const MPtrPair& p2 = pairs2[i2];
                     if (ls->getBit(p2.mptr->getId())) {
                         for (uint32 i1 = 0; ; i1++) {

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp Wed Feb 28 02:56:15 2007
@@ -51,7 +51,7 @@
 {
     assert(str!=NULL);
     if (length==EmptyUint32)
-        length=strlen(str);
+        length=(uint32)strlen(str);
     char * psz=new(mm) char[length+1];
     strncpy(psz, str, length);
     psz[length]=0;
@@ -82,7 +82,7 @@
 { 
     assert(opnd->id>=opnds.size());
     opnds.push_back(opnd);
-    opnd->id=opnds.size()-1;
+    opnd->id=(uint32)opnds.size()-1;
 }
 
 //_____________________________________________________________________________________________
@@ -152,7 +152,7 @@
     if (str==NULL)
         str="";
     return new(memoryManager) ConstantAreaItem(
-        ConstantAreaItem::Kind_InternalStringConstantAreaItem, strlen(str)+1, 
+        ConstantAreaItem::Kind_InternalStringConstantAreaItem, (uint32)strlen(str)+1, 
         (void*)newInternalString(str)
     );
 }
@@ -638,15 +638,15 @@
         assert(opnd->getType()->isObject() || opnd->getType()->isManagedPtr());
     }
 #endif
-    GCInfoPseudoInst* inst = new(memoryManager, basesAndMptrs.size()) GCInfoPseudoInst(this, instId++);
+    GCInfoPseudoInst* inst = new(memoryManager, (uint32)basesAndMptrs.size()) GCInfoPseudoInst(this, instId++);
     Opnd ** opnds = inst->getOpnds();
     Constraint * constraints = inst->getConstraints();
-    for (uint32 i = 0, n = basesAndMptrs.size(); i < n; i++){
+    for (uint32 i = 0, n = (uint32)basesAndMptrs.size(); i < n; i++){
         Opnd * opnd = basesAndMptrs[i];
         opnds[i] = opnd;
         constraints[i] = Constraint(OpndKind_Any, opnd->getSize());
     }
-    inst->opndCount = basesAndMptrs.size();
+    inst->opndCount = (uint32)basesAndMptrs.size();
     inst->assignOpcodeGroup(this);
     return inst;
 }
@@ -1391,7 +1391,7 @@
 uint32 IRManager::calculateOpndStatistics(bool reindex)
 {
     POpnd * arr=&opnds.front();
-    for (uint32 i=0, n=opnds.size(); i<n; i++){
+    for (uint32 i=0, n=(uint32)opnds.size(); i<n; i++){
         Opnd * opnd=arr[i];
         if (opnd==NULL) {
             continue;
@@ -1443,7 +1443,7 @@
 
     uint32 maxIndex=calculateOpndStatistics(true);
 
-    uint32 opndsBefore=opnds.size();
+    uint32 opndsBefore=(uint32)opnds.size();
     opnds.resize(opnds.size()+maxIndex);
     POpnd * arr=&opnds.front();
     for (uint32 i=0; i<opndsBefore; i++){
@@ -1668,7 +1668,7 @@
                     Opnd * const * opnds = callInst->getOpnds();
 #ifdef _EM64T_
                     unsigned sz = 0;
-                    for (uint32 i=0, n=stackOpndInfos.size(); i<n; i++) {
+                    for (uint32 i=0, n=(uint32)stackOpndInfos.size(); i<n; i++) {
                         sz += sizeof(POINTER_SIZE_INT); 
                     }
                     if(sz&15) {
@@ -1678,7 +1678,7 @@
                     }
                     sz = 0;
 #endif
-                    for (uint32 i=0, n=stackOpndInfos.size(); i<n; i++) {
+                    for (uint32 i=0, n=(uint32)stackOpndInfos.size(); i<n; i++) {
 #ifdef _EM64T_
                         uint32 index = callInst->getCallingConventionClient().getCallingConvention()->pushLastToFirst()?i:n-1-i;
                         Inst * pushInst=newCopyPseudoInst(Mnemonic_PUSH, opnds[stackOpndInfos[index].opndIndex]);
@@ -1954,7 +1954,7 @@
             /** The value of the operand is the address where the interned version of the string is stored*/
             {
             MethodDesc*  mDesc = (MethodDesc*)info->getValue(0);
-            POINTER_SIZE_INT token = (POINTER_SIZE_INT)info->getValue(1);
+            uint32 token = (uint32)(POINTER_SIZE_INT)info->getValue(1);
             value = (POINTER_SIZE_INT) compilationInterface.loadStringObject(mDesc,token);
             }break;
         case Opnd::RuntimeInfo::Kind_StaticFieldAddress:

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.h?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.h Wed Feb 28 02:56:15 2007
@@ -400,7 +400,7 @@
         are no longer in the LIR.
     */
     uint32 getOpndCount()const
-    { return opnds.size(); }
+    { return (uint32)opnds.size(); }
 
     /** returns an operand from the internal array of all operands by its ID. */
     Opnd * getOpnd(uint32 id)const

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp Wed Feb 28 02:56:15 2007
@@ -418,7 +418,7 @@
         assert(form==Form_Native);
         instEnd = Encoder::emit(stream, this);
     }
-    setCodeSize(instEnd - stream);
+    setCodeSize((uint32)(instEnd - stream));
     return instEnd;
 }
 
@@ -799,12 +799,12 @@
 {
     assert(callingConvention!=NULL);
     StlVector<CallingConvention::OpndInfo> & infos = getInfos(role);
-    callingConvention->getOpndInfo(argKind, infos.size(), &infos.front());
+    callingConvention->getOpndInfo(argKind, (uint32)infos.size(), &infos.front());
     bool lastToFirst=callingConvention->pushLastToFirst();
     uint32 slotNumber=0;
     for (
-        uint32 i=lastToFirst?0:infos.size()-1, 
-        end=lastToFirst?infos.size():(uint32)-1, 
+        uint32 i=lastToFirst?0:(uint32)infos.size()-1, 
+        end=lastToFirst?(uint32)infos.size():(uint32)-1, 
         inc=lastToFirst?1:-1;
         i!=end;
         i+=inc
@@ -827,7 +827,7 @@
     uint32 regArgCount=0, stackArgCount=0;
     Inst::Opnds opnds(ownerInst, Inst::OpndRole_Auxilary|role);
     Inst::Opnds::iterator handledOpnds=opnds.begin();
-    for (uint32 i=0, n=infos.size(); i<n; i++){
+    for (uint32 i=0, n=(uint32)infos.size(); i<n; i++){
         const CallingConvention::OpndInfo& info=infos[i];
 #ifdef _DEBUG
         bool eachSlotRequiresOpnd=false;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalProfiler.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalProfiler.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalProfiler.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalProfiler.cpp Wed Feb 28 02:56:15 2007
@@ -279,10 +279,10 @@
                 } else if (line.find("Counter.") == 0) {
                     if(!opened) {
                         opened = true;
-                        num = config->counters.size();
+                        num = (int)config->counters.size();
                         config->counters.push_back(Counter());
-                        int pos1 = line.find(".");
-                        int pos2 = line.find_first_of(".=" , pos1+1);
+                        int pos1 = (int)line.find(".");
+                        int pos2 = (int)line.find_first_of(".=" , pos1+1);
 
                         config->counters[num].name =    line.substr(pos1+1, pos2-pos1-1);
                     }
@@ -623,7 +623,7 @@
     InternalProfilerAct& storage = *static_cast<InternalProfilerAct*>(getAction());
     storage.statistics->push_back(ms);
     //method external properties, no need to count
-    uint32 cSize = storage.config->counters.size();
+    uint32 cSize = (uint32)storage.config->counters.size();
     if (!cSize)
         return;
     ms->bbStats[-1].counters= new(mm) uint32[cSize];

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalTrace.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalTrace.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalTrace.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32InternalTrace.cpp Wed Feb 28 02:56:15 2007
@@ -41,18 +41,11 @@
 #ifdef _DEBUG
         assert(cond);
 #else
-#ifdef WIN32
-#ifndef _EM64T_
-        if (!cond) {
-            __asm {
-                int 3;
-            }
+    #ifdef _WIN32 // any windows
+        if(!cond) {
+            DebugBreak();
         }
-#else
-    // TODO: add proper code
-    assert(0);
-#endif
-#endif
+    #endif
 #endif    
     }
 
@@ -146,7 +139,7 @@
         EntryPointPseudoInst * entryPointPseudoInst = (EntryPointPseudoInst *)inst;
         entryPointPseudoInst->getCallingConventionClient().finalizeInfos(Inst::OpndRole_Def, CallingConvention::ArgKind_InArg);
         const StlVector<CallingConvention::OpndInfo> & infos=((const EntryPointPseudoInst *)entryPointPseudoInst)->getCallingConventionClient().getInfos(Inst::OpndRole_Def);
-        Opnd * argInfoOpnd=irManager->newBinaryConstantImmOpnd(infos.size()*sizeof(CallingConvention::OpndInfo), &infos.front());
+        Opnd * argInfoOpnd=irManager->newBinaryConstantImmOpnd((uint32)infos.size()*sizeof(CallingConvention::OpndInfo), &infos.front());
         Opnd * args[3]={ methodNameOpnd, 
             irManager->newImmOpnd(irManager->getTypeManager().getInt32Type(), infos.size()), 
             argInfoOpnd,

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Printer.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Printer.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Printer.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Printer.cpp Wed Feb 28 02:56:15 2007
@@ -24,6 +24,7 @@
 #include "../../vm/drl/DrlVMInterface.h"
 #include "../../shared/PlatformDependant.h"
 #include "CGSupport.h"
+#include "PlatformDependant.h"
 
 namespace Jitrino
 {
@@ -364,7 +365,7 @@
         os<<"[phase:"<<gcInst->desc<<"]";
         os<<"(";
         assert(!offsets.empty());
-        for (uint32 i = 0, n = offsets.size(); i<n; i++) {
+        for (uint32 i = 0, n = (uint32)offsets.size(); i<n; i++) {
                 int32 offset = offsets[i];
                 Opnd* opnd = uses[i];
                 if (i>0) {
@@ -1107,7 +1108,7 @@
 {
     char * retStr=NULL;
     uint32 si=0;
-    for (uint32 i=0, n=opnds.size(); i<n; i++){
+    for (uint32 i=0, n=(uint32)opnds.size(); i<n; i++){
         Opnd * o=opnds[i];
         if (o->isPlacedIn(c)){
             retStr=str;
@@ -1218,7 +1219,7 @@
             }
 
             out << "|\\" << std::endl;
-            for (uint32 i=0, n=opndsAll.size(); i<n; i++){
+            for (uint32 i=0, n=(uint32)opndsAll.size(); i<n; i++){
                 out<<opndsAll[i]->getFirstId()<<'_';
             }
             out << "\\l\\" << std::endl;
@@ -1228,7 +1229,7 @@
                     out << regStrings[i] << "\\l\\" << ::std::endl;
             }
 
-            uint32 idx=liveSets.size()-1;
+            uint32 idx=(uint32)liveSets.size()-1;
 
             for (Inst * inst = (Inst*)bb->getFirstInst(); inst != NULL; inst = inst->getNextInst(), idx--) {
                 printLivenessForInst(opndsAll, liveSets[idx], liveSets[idx-1]); // output at entry
@@ -1274,7 +1275,7 @@
 void IRLivenessDotPrinter::printLivenessForInst(const StlVector<Opnd*> opnds, const BitSet * ls0, const BitSet * ls1)
 {
     ::std::ostream& out=getStream();
-    for (uint32 i=0, n=opnds.size(); i<n; i++){
+    for (uint32 i=0, n=(uint32)opnds.size(); i<n; i++){
         Opnd * opnd=opnds[i];
         bool isLiveBefore=ls0!=NULL && ls0->getBit(opnd->getId());
         bool isLiveAfter=ls1!=NULL && ls1->getBit(opnd->getId());

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc2.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc2.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc2.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc2.cpp Wed Feb 28 02:56:15 2007
@@ -235,7 +235,7 @@
         beg = spans.front().beg,
         end = spans.back().end;
         length=0;
-        for (int i=0, n=spans.size(); i<n; i++){
+        for (int i=0, n=(int)spans.size(); i<n; i++){
             assert(pspans[i].beg != 0);
             length += pspans[i].end - pspans[i].beg; // no +1 as this is the number of instructions "hovered" by this opand
 #ifdef _DEBUG
@@ -281,13 +281,13 @@
     adj = 0;
 
     int d;
-    if ( (d = x->end - beg) < 0 ){
+    if ( (d = int(x->end - beg)) < 0 ){
         if (d==-1)
             adj=1;
         DBGOUT(" -free (below lower bound)!" << endl;)
         return true;
     }
-    if ( (d = x->beg - end) > 0 ){
+    if ( (d = int(x->beg - end)) > 0 ){
         if (d==1)
             adj=1;
         DBGOUT(" -free (above upper bound)!" << endl;)
@@ -533,7 +533,7 @@
 
     //irManager->indexInsts();
 
-    BitSet lives(mm, opandcount);
+    BitSet lives(mm, (uint32)opandcount);
 
     const Nodes& nodes = irManager->getFlowGraph()->getNodesPostOrder();
     for (Nodes::const_iterator it = nodes.begin(), end = nodes.end(); it!=end; ++it) {

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc3.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc3.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc3.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAlloc3.cpp Wed Feb 28 02:56:15 2007
@@ -395,7 +395,7 @@
         indexes[i] = -1;
 
     for (size_t i = 0; i != size(); ++i)
-        indexes[operator[](i).getKind()] = i;
+        indexes[operator[](i).getKind()] = (int)i;
 }
 
 
@@ -409,7 +409,7 @@
             if (r.getKind() == c.getKind())
             {
                 r.setMask(r.getMask() | c.getMask());
-                return i;
+                return (int)i;
             }
         }
 
@@ -588,7 +588,7 @@
 
     for (size_t i = 0; i != opandcount; ++i)
     {
-        Opnd* opnd  = getIRManager().getOpnd(i);
+        Opnd* opnd  = getIRManager().getOpnd((uint32)i);
         int mapto = -1;
 
         int ridx;
@@ -613,7 +613,7 @@
                 opndx.ridx  = ridx;
                 opndx.alloc = 0;
                 opndx.avail = loc.getMask() & registers[ridx].getMask();
-                opndx.nbavails = bitCount(opndx.avail);
+                opndx.nbavails = (int)bitCount(opndx.avail);
                 assert(opndx.nbavails != 0);
                 opndx.spillcost = 1;
                 opndx.spilled = false;
@@ -641,7 +641,7 @@
 
     BoolMatrix matrix(mm, graphsize);
 
-    BitSet lives(mm, opandcount);
+    BitSet lives(mm, (uint32)opandcount);
 
     const Nodes& nodes = irManager->getFlowGraph()->getNodesPostOrder();
     for (Nodes::const_iterator it = nodes.begin(), end = nodes.end(); it!=end; ++it) {
@@ -1007,7 +1007,7 @@
         opndx.alloc = findHighest(alloc);
         opndx.opnd->assignRegName(getRegName((OpndKind)registers[opndx.ridx].getKind(), 
                                              opndx.opnd->getSize(), 
-                                             bitNumber(opndx.alloc)));
+                                             (int)bitNumber(opndx.alloc)));
 
         ++count_assigned;
         DBGOUT("assigned (" << x << ") = <" << getRegNameString(opndx.opnd->getRegName()) << ">" << endl;)

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAllocCheck.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAllocCheck.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAllocCheck.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RegAllocCheck.cpp Wed Feb 28 02:56:15 2007
@@ -98,7 +98,7 @@
 
 static RegName regName (int x)
 {
-    size_t k = x / IRMaxRegNamesSameKind;
+    uint32 k = x / IRMaxRegNamesSameKind;
     return getRegName((OpndKind)k, Constraint::getDefaultSize(k), x % IRMaxRegNamesSameKind);
 }
 
@@ -122,7 +122,7 @@
 {
     lastbb = 0;
 
-    BitSet lives(mm, opandcount);
+    BitSet lives(mm, (uint32)opandcount);
     irm.getLiveAtExit(bblock, lives);
 
     Opnd* regdefs[MaxRegs],
@@ -148,7 +148,7 @@
             else
                 if (regnxts[ridx] != opnd)
                 {
-                    error() << "at end of block," << regName(ridx) 
+                    error() << "at end of block," << regName((int)ridx) 
                             << " assigned to " << *regnxts[ridx] << " and " << *opnd << endl;
                 }
         }
@@ -175,7 +175,7 @@
                     else
                         if (regdefs[ridx] != opnd)
                         {
-                            error() << "  Invalid definitions at " << *inst << " " << regName(ridx) 
+                            error() << "  Invalid definitions at " << *inst << " " << regName((int)ridx) 
                                     << " of " << *regdefs[ridx] << " or " << *opnd << endl;
                         }
                 }
@@ -187,7 +187,7 @@
                     else
                         if (reguses[ridx] != opnd)
                         {
-                            error() << "  Invalid usages at " << *inst << " " << regName(ridx) 
+                            error() << "  Invalid usages at " << *inst << " " << regName((int)ridx) 
                                     << " of " << *reguses[ridx] << " or " << *opnd << endl;
                         }
                 }
@@ -203,7 +203,7 @@
                     if (regdefs[ridx] != regnxts[ridx])
                         if (regnxts[ridx] != 0)
                         {
-                            error() << "  " << *inst << " " << regName(ridx) 
+                            error() << "  " << *inst << " " << regName((int)ridx) 
                                     << " invalid usage of " << *regnxts[ridx]
                                     << " instead of " << *regdefs[ridx] << endl;
                         }
@@ -220,7 +220,7 @@
             {
                 if (reguses[ridx] != regnxts[ridx] && regnxts[ridx] != 0)
                 {
-                    error() << "  " << *inst << " " << regName(ridx) 
+                    error() << "  " << *inst << " " << regName((int)ridx) 
                             << " invalid usage of " << *reguses[ridx]
                             << " or " << *regnxts[ridx] << endl;
                 }
@@ -240,7 +240,7 @@
 {
     for (size_t i = 0; i != opandcount; ++i)
     {
-        Opnd* opnd = irm.getOpnd(i);
+        Opnd* opnd = irm.getOpnd((uint32)i);
         if (!opnd->hasAssignedPhysicalLocation())
         {
             header() << "Not assigned opand " << *opnd << endl;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp Wed Feb 28 02:56:15 2007
@@ -75,8 +75,8 @@
     StackInfo stackInfo;
 
     Byte* infoBlock = method->getInfoBlock();
-    uint32 stackInfoSize = stackInfo.readByteSize(infoBlock);
-    uint32 gcMapSize = GCMap::readByteSize(infoBlock + stackInfoSize);
+    POINTER_SIZE_INT stackInfoSize = stackInfo.readByteSize(infoBlock);
+    POINTER_SIZE_INT gcMapSize = GCMap::readByteSize(infoBlock + stackInfoSize);
 
     const char* methName;
 
@@ -95,8 +95,8 @@
     StackInfo stackInfo;
 
     Byte* infoBlock = method->getInfoBlock();
-    uint32 stackInfoSize = stackInfo.readByteSize(infoBlock);
-    uint32 gcMapSize = GCMap::readByteSize(infoBlock + stackInfoSize);
+    POINTER_SIZE_INT stackInfoSize = stackInfo.readByteSize(infoBlock);
+    POINTER_SIZE_INT gcMapSize = GCMap::readByteSize(infoBlock + stackInfoSize);
 
     const char* methName;
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp Wed Feb 28 02:56:15 2007
@@ -410,7 +410,7 @@
         indexes[i] = -1;
 
     for (size_t i = 0; i != size(); ++i)
-        indexes[operator[](i).getKind()] = i;
+        indexes[operator[](i).getKind()] = (int)i;
 }
 
 
@@ -441,7 +441,7 @@
             if (r.getKind() == c.getKind())
             {
                 r.setMask(r.getMask() | c.getMask());
-                return i;
+                return (int)i;
             }
         }
 
@@ -585,7 +585,7 @@
     emitted = 0;
 
     opndcount = irManager->getOpndCount();
-    lives_exit = new (mm) BitSet(mm, opndcount); 
+    lives_exit = new (mm) BitSet(mm, (uint32)opndcount); 
 
     actsmap.resize(opndcount);
     for (size_t i = 0; i < opndcount; ++i)
@@ -602,7 +602,7 @@
             }
 
             lives_start = irManager->getLiveAtEntry(bblock);
-            lives_exit->resize(opndcount);
+            lives_exit->resize((uint32)opndcount);
             irManager->getLiveAtExit(bblock, *lives_exit);
 
             size_t bfails = 0;
@@ -635,7 +635,7 @@
                 {
                     size_t oldcount = opndcount;
                     opndcount = irManager->getOpndCount();
-                    lives_exit->resize(opndcount);
+                    lives_exit->resize((uint32)opndcount);
                     irManager->fixLivenessInfo();
 
                     actsmap.resize(opndcount);
@@ -888,7 +888,7 @@
         for (Oplines::iterator it = actives.begin(); it != actives.end(); ++it)
         {
             Opline& opline = *it;
-            opline.weight = bitCount(opline.initial.getMask());
+            opline.weight = (int)bitCount(opline.initial.getMask());
         }
         sort(actives.begin(), actives.end(), Opline::smaller);
     }
@@ -1632,7 +1632,7 @@
 
     return xbest == INT_MAX ? 
             RegName_Null : 
-            getRegName(static_cast<OpndKind>(c.getKind()), c.getSize(), xbest);
+            getRegName(static_cast<OpndKind>(c.getKind()), c.getSize(), (int)xbest);
 }
 
 
@@ -1805,7 +1805,7 @@
         for (ptrx = evict.endx+1; ptrx <  endx && isEvict(evict.opnd, ptrx); ++ptrx)
             evict.endx = ptrx;
 
-        evict.weight = evict.endx - evict.begx;
+        evict.weight = int(evict.endx - evict.begx);
 
         DBGOUT(" evict " << *evict.opnd << " [" << *evict.begx->inst 
                << " - " << *evict.endx->inst << "] w:" << evict.weight << endl;)

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.cpp Wed Feb 28 02:56:15 2007
@@ -361,7 +361,7 @@
             }
         }
     }
-    hashTableSize = stackDepthInfo->size();
+    hashTableSize = (uint32)stackDepthInfo->size();
 }
 
 void StackInfo::setMethodExitString(IRManager& irm)

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp Wed Feb 28 02:56:15 2007
@@ -239,7 +239,7 @@
         const StlVector<CallingConventionClient::StackOpndInfo>& stackOpndInfos = 
             ((const EntryPointPseudoInst*)entryPointInst)->getCallingConventionClient().getStackOpndInfos(Inst::OpndRole_Def);
 
-        for (uint32 i=0, n=stackOpndInfos.size(); i<n; i++) {//assign displacements for input operands
+        for (uint32 i=0, n=(uint32)stackOpndInfos.size(); i<n; i++) {//assign displacements for input operands
 
             uint64 argOffset = 
 #ifdef _EM64T_

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32WebMaker.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32WebMaker.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32WebMaker.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32WebMaker.cpp Wed Feb 28 02:56:15 2007
@@ -79,7 +79,7 @@
 
     struct Nodex
     {
-        Nodex (MemoryManager& mm, size_t s) :globentrys(mm,s), 
+        Nodex (MemoryManager& mm, size_t s) :globentrys(mm,(uint32)s), 
                                              globdefsp (0), 
                                              globkillsp(0),
                                              globexitsp(0) {}
@@ -212,12 +212,12 @@
     for (size_t i = 0; i != opandcount; ++i)
     {
         Opndx* opndxp = 0;
-        if (!irManager->getOpnd(i)->hasAssignedPhysicalLocation())
+        if (!irManager->getOpnd((uint32)i)->hasAssignedPhysicalLocation())
             opndxp = new Opndx(mm);
         opndxs[i] = opndxp;
     }
 
-    BitSet lives(mm, opandcount);
+    BitSet lives(mm, (uint32)opandcount);
     globcount = 0;
 
     const Nodes& postOrder = irManager->getFlowGraph()->getNodesPostOrder();
@@ -236,7 +236,7 @@
                     Opndx* opndxp = opndxs.at(opndp->getId());
                     if (opndxp != 0)
                     {
-                        const uint32 oprole = const_cast<const Inst*>(instp)->getOpndRoles(itx);
+                        const uint32 oprole = const_cast<const Inst*>(instp)->getOpndRoles((uint32)itx);
                         const bool isdef = ((oprole & Inst::OpndRole_UseDef) == Inst::OpndRole_Def)
                                         && ((iprops & Inst::Properties_Conditional) == 0 );
                         if (isdef)
@@ -264,7 +264,7 @@
                     OpDef& opdef = opndxp->opdefs.back();
                     if (opdef.defp->getNode() == nodep)
                     {
-                        opdef.globid = globcount++;
+                        opdef.globid = (int)globcount++;
                         bitsetp(opndxp->globdefsp)->setBit(opdef.globid, true);
                     }
                 }
@@ -327,7 +327,7 @@
 
     
     
-    BitSet wrkbs(mm, globcount);
+    BitSet wrkbs(mm, (uint32)globcount);
     bool   wrkbsvalid;
     size_t passnb = 0;
     const Nodes& postOrder = irManager->getFlowGraph()->getNodesPostOrder();
@@ -433,7 +433,7 @@
                     if (opndxp != 0)
                     {
                         OpDef* opdefp = 0;
-                        const uint32 oprole = const_cast<const Inst*>(instp)->getOpndRoles(itx);
+                        const uint32 oprole = const_cast<const Inst*>(instp)->getOpndRoles((uint32)itx);
                         const bool isdef = ((oprole & Inst::OpndRole_UseDef) == Inst::OpndRole_Def)
                                         && ((iprops & Inst::Properties_Conditional) == 0 );
                         DBGOUT(" O#" << opndp->getFirstId() << "(#" << opndp->getId() << ") def:" << isdef;)
@@ -527,7 +527,7 @@
     for (size_t i = 0; i != opandcount; ++i)
         if ((opndxp = opndxs[i]) != 0  && !opndxp->opdefs.empty())
         {
-            Opnd* opndp = irManager->getOpnd(i);
+            Opnd* opndp = irManager->getOpnd((uint32)i);
             Opndx::OpDefs& opdefs = opndxp->opdefs;
             DBGOUT(" O#" << opndp->getFirstId() << "(#" << i << ")" << endl;)
 
@@ -591,9 +591,9 @@
 BitSet* WebMaker::bitsetp (BitSet*& bsp)
 {
     if (bsp == 0)
-        bsp = new BitSet(mm, globcount);
+        bsp = new BitSet(mm, (uint32)globcount);
     else
-        bsp->resize(globcount);
+        bsp->resize((uint32)globcount);
     return bsp;
 }
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/EdgeProfiler.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/EdgeProfiler.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/EdgeProfiler.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/EdgeProfiler.cpp Wed Feb 28 02:56:15 2007
@@ -87,7 +87,7 @@
         //compute edge-ids before CFG modification: edge-ids are part of CFG consistency check.
         for (Edges::const_iterator it = edgesToInstrument.begin(), end = edgesToInstrument.end(); it!=end; ++it) {
             Edge* edge = *it;
-            uint32 key = genKey(counterKeys.size() + 1, edge, bcLevelProfiling, debug);
+            uint32 key = genKey((uint32)counterKeys.size() + 1, edge, bcLevelProfiling, debug);
             assert( key != 0 );
             counterKeys.push_back(key);
         }
@@ -110,7 +110,7 @@
     
     ProfilingInterface* pi = irm.getProfilingInterface();
     if (!pi->hasMethodProfile(ProfileType_Edge, md, JITProfilingRole_GEN)) {
-        pi->createEdgeMethodProfile(mm , md,  counterKeys.size(),  (uint32*)&counterKeys.front(), _checkSum);
+        pi->createEdgeMethodProfile(mm , md,  (uint32)counterKeys.size(),  (uint32*)&counterKeys.front(), _checkSum);
     }
 
     irm.getCompilationInterface().unlockMethodData();

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp Wed Feb 28 02:56:15 2007
@@ -315,7 +315,7 @@
     Edge* falseEdge = c->node->getFalseEdge();
     Edge* trueEdge = c->node->getTrueEdge();
     double probLeft = 1.0;
-    uint32 edgesLeft = edges.size();
+    uint32 edgesLeft = (uint32)edges.size();
     if (falseEdge == NULL || trueEdge == NULL) { // can't apply general heuristics.
         Edge* uncondEdge = c->node->getUnconditionalEdge();
         if (uncondEdge) {

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/ValueProfiler.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/ValueProfiler.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/ValueProfiler.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/ValueProfiler.cpp Wed Feb 28 02:56:15 2007
@@ -118,7 +118,7 @@
         }
     }
 
-    uint32 cc_size = counterKeys.size();
+    uint32 cc_size = (uint32)counterKeys.size();
     if (cc_size == 0) return;
 
     irm.getCompilationInterface().lockMethodData();

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp Wed Feb 28 02:56:15 2007
@@ -375,7 +375,7 @@
         if (is_set(DBG_TRACE_CG)) {dbg(";;>locals.gc_map\n");}
         Opnd reg(i32, valloc(i32));
         alu(alu_xor, reg, reg);
-        for (unsigned i=locals_map.size(); i<locals_gc_size; i++) {
+        for (unsigned i=(uint32)locals_map.size(); i<locals_gc_size; i++) {
             st4(reg.reg(), m_base, voff(m_stack.info_gc_locals()+i*sizeof(int)));
         }
     }

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/compiler.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/compiler.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/compiler.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/compiler.cpp Wed Feb 28 02:56:15 2007
@@ -224,7 +224,7 @@
                 while(NULL != fgets(buf, sizeof(buf)-1, f)) {
                     // Skip comments
                     if (buf[0] == '#') continue;
-                    int len = strlen(buf);
+                    int len = (int)strlen(buf);
                     // Trim CRLF
                     if (len>=1 && buf[len-1]<=' ') { buf[len-1] = 0; }
                     if (len>=2 && buf[len-2]<=' ') { buf[len-2] = 0; }
@@ -298,7 +298,7 @@
 
     m_max_native_stack_depth = 0;
     m_bc = (unsigned char*)method_get_byte_code_addr(m_method);
-    unsigned bc_size = method_get_byte_code_size(m_method);
+    unsigned bc_size = (unsigned)method_get_byte_code_size(m_method);
     unsigned num_locals = method_vars_get_number(m_method);
     unsigned max_stack = method_get_max_stack(m_method);
     
@@ -312,7 +312,7 @@
     m_ra.resize(num_locals, ar_x);
     //
     
-    m_codeStream.init((size_t)(bc_size*NATIVE_CODE_SIZE_2_BC_SIZE_RATIO));
+    m_codeStream.init((unsigned)(bc_size*NATIVE_CODE_SIZE_2_BC_SIZE_RATIO));
     m_stack.init(num_locals, max_stack, num_input_slots);
     // We need to report 'this' additionally for the following cases:
     // - non-static sync methods - to allow VM to call monitor_exit() for
@@ -369,7 +369,7 @@
     comp_parse_bytecode();
     comp_alloc_regs();
     // Statistics:: number of basic blocks
-    STATS_MEASURE_MIN_MAX_VALUE(bbs, m_bbs.size(), meth_fname());
+    STATS_MEASURE_MIN_MAX_VALUE(bbs, (unsigned)m_bbs.size(), meth_fname());
 
     if (is_set(DBG_DUMP_BBS)) {
         dbg_dump_bbs();
@@ -378,7 +378,7 @@
     // Phase 2 - code generation.
     //
     SmartPtr<BBState> allStates;
-    allStates.alloc(m_bbs.size());
+    allStates.alloc((unsigned)m_bbs.size());
     unsigned c = 0;
     for (BBMAP::iterator i=m_bbs.begin(); i != m_bbs.end(); i++, c++) {
         m_bbStates[i->first] = &allStates[c];
@@ -1130,7 +1130,7 @@
 void Compiler::comp_set_ehandlers(void)
 {
     unsigned real_num_handlers = 0;
-    for (unsigned i=0, n=m_handlers.size(); i<n; i++) {
+    for (unsigned i=0, n=(unsigned)m_handlers.size(); i<n; i++) {
         HandlerInfo& hi = m_handlers[i];
         if (comp_hi_to_native(hi)) {
             ++real_num_handlers;
@@ -1145,7 +1145,7 @@
 
     method_set_num_target_handlers(m_method, m_hjit, real_num_handlers);
     
-    for (unsigned i=0, handlerID=0, n=m_handlers.size(); i<n; i++) {
+    for (unsigned i=0, handlerID=0, n=(unsigned)m_handlers.size(); i<n; i++) {
         const HandlerInfo& hi = m_handlers[i];
         if (hi.handler_ip == NULL) {
             continue;

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.cpp Wed Feb 28 02:56:15 2007
@@ -38,7 +38,7 @@
     assert( !(m_cc&(CCONV_STACK_ALIGN16|CCONV_STACK_ALIGN_HALF16)) || 
             (m_cc&CCONV_CALLER_POPS));
     
-    unsigned num = m_args.size();
+    unsigned num = (unsigned)m_args.size();
     m_data.resize(num);
     unsigned fps = 0, gps = 0;
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.h?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/csig.h Wed Feb 28 02:56:15 2007
@@ -264,7 +264,7 @@
     unsigned count(void) const
     {
         assert(m_data.size() == m_args.size());
-        return m_args.size();
+        return (unsigned) m_args.size();
     }
     
     /**

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp Wed Feb 28 02:56:15 2007
@@ -53,13 +53,8 @@
 {
 #ifdef PLATFORM_POSIX
     raise(SIGTRAP);
-#elif !defined (_EM64T_)
-    __asm {
-        int 3
-    }
 #else
-    // TODO:
-    assert(0);
+    DebugBreak();
 #endif
 }
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h Wed Feb 28 02:56:15 2007
@@ -124,7 +124,8 @@
      */
     void    ip(char * _ip)
     {
-        m_size = _ip - m_buf;
+        assert((uint32)(_ip - m_buf) == (uint64)(_ip - m_buf));
+        m_size = (uint32)(_ip - m_buf);
         assert(m_size < total_size);
         // Need to be done here, and not in ip(void).
         // Otherwise, the following usage template:
@@ -1258,7 +1259,7 @@
      */
     unsigned patch_count(void) const
     {
-        return m_patches.size();
+        return (unsigned) m_patches.size();
     }
     /**
      * @brief Returns info about next patch record.

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jdefs.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jdefs.h?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jdefs.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jdefs.h Wed Feb 28 02:56:15 2007
@@ -76,7 +76,11 @@
     #define snprintf    _snprintf
     #define vsnprintf    _vsnprintf
     #ifndef strcasecmp
-        #define strcasecmp  stricmp
+        #ifdef _MSC_VER
+            #define strcasecmp  _stricmp
+        #else
+            #define strcasecmp  stricmp
+        #endif
     #endif
 #else
     // stdcall has no meaning on platforms other than Lin32

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp Wed Feb 28 02:56:15 2007
@@ -46,10 +46,10 @@
 }
 
 static JitFrameContext* dummyCTX = NULL;
-static unsigned sp_off = (char*)devirt(sp, dummyCTX) - (char*)dummyCTX;
-static unsigned ip_off = (char*)devirt(gr_x, dummyCTX) - (char*)dummyCTX;
+static POINTER_SIZE_INT sp_off = (char*)devirt(sp, dummyCTX) - (char*)dummyCTX;
+static POINTER_SIZE_INT ip_off = (char*)devirt(gr_x, dummyCTX) - (char*)dummyCTX;
 
-static const unsigned bp_off = (char*)devirt(bp, dummyCTX) - (char*)dummyCTX;
+static const POINTER_SIZE_INT bp_off = (char*)devirt(bp, dummyCTX) - (char*)dummyCTX;
 static const unsigned bp_idx = ar_idx(bp);
 static const unsigned bp_bytes = word_no(bp_idx)*WORD_SIZE/CHAR_BIT;
 static const unsigned bp_mask  = 1<<bit_no(bp_idx);
@@ -137,7 +137,7 @@
     // the JitFrameContext. The good news is that the callee-save registers 
     // are also untouched yet, so we only need to restore SP and IP
     char * meth_start = infoBlock.get_code_start();
-    unsigned whereLen = where - meth_start;
+    unsigned whereLen = (unsigned)(where - meth_start);
     if (whereLen<infoBlock.get_warmup_len()) {
         *psp = sp_val + sframe.size();
         // Now, [sp] = retIP
@@ -284,7 +284,7 @@
     void *** pip = (void***)((char*)context + ip_off);
     char * where = (char*)**pip;
     char * meth_start = infoBlock.get_code_start();
-    unsigned whereLen = where - meth_start;
+    unsigned whereLen = (unsigned)(where - meth_start);
     if (whereLen<infoBlock.get_warmup_len()) {
         return;
     }
@@ -391,7 +391,7 @@
     void *** pip = (void***)((char*)context + ip_off);
     char * where = (char*)**pip;
     char * meth_start = infoBlock.get_code_start();
-    unsigned whereLen = where - meth_start;
+    unsigned whereLen = (unsigned)(where - meth_start);
     if (whereLen<infoBlock.get_warmup_len()) {
         return;
     }
@@ -426,7 +426,7 @@
     void *** pip = (void***)((char*)context + ip_off);
     char * where = (char*)**pip;
     char * meth_start = infoBlock.get_code_start();
-    unsigned whereLen = where - meth_start;
+    unsigned whereLen = (unsigned)(where - meth_start);
     if (whereLen<infoBlock.get_warmup_len()) {
         return NULL;
     }

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/main/PMF.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/main/PMF.cpp?view=diff&rev=512698&r1=512697&r2=512698
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/main/PMF.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/main/PMF.cpp Wed Feb 28 02:56:15 2007
@@ -932,7 +932,7 @@
 
 static int cmd_strength (bool jit_known, bool filter_known, size_t path_size)
 {
-    return ((1 + (filter_known ? 2 : 0) + (jit_known ? 4 : 0)) << 16) + path_size;
+    return int( ((1 + (filter_known ? 2 : 0) + (jit_known ? 4 : 0)) << 16) + path_size );
 }
 
 
@@ -1758,10 +1758,10 @@
                 continue;
 
             cmdp->log = true;
-            cmdp->xlog = i - leftbeg;
+            cmdp->xlog = int(i - leftbeg);
 
             int xpath = cmdp->xkeyword + 1,
-                xlast = cmdp->left->size() - 1;
+                xlast = (int)cmdp->left->size() - 1;
 
             if (cmdp->xlog == xlast)
             {// stream enable command
@@ -1787,7 +1787,7 @@
                     continue;
 
                 int xpath  = cmdp->xkeyword + 1,
-                    xlast  = cmdp->left->size() - 1,
+                    xlast  = (int)cmdp->left->size() - 1,
                     pathsz = cmdp->xlog - xpath;
 
                 Str& key = cmdp->left->at(xlast);