Index: working_vm/vm/port/src/thread/win/apr_thread_ext.c =================================================================== --- working_vm/vm/port/src/thread/win/apr_thread_ext.c (revision 549750) +++ working_vm/vm/port/src/thread/win/apr_thread_ext.c (working copy) @@ -103,7 +103,13 @@ */ __asm {lock add [esp], 0 } #endif + +#ifdef __INTEL_COMPILER + __memory_barrier(); +#else _ReadWriteBarrier(); +#endif + } APR_DECLARE(apr_status_t) apr_thread_times(apr_thread_t *thread, Index: working_vm/vm/vmcore/src/class_support/Class_File_Loader.cpp =================================================================== --- working_vm/vm/vmcore/src/class_support/Class_File_Loader.cpp (revision 549750) +++ working_vm/vm/vmcore/src/class_support/Class_File_Loader.cpp (working copy) @@ -597,12 +597,14 @@ } else { //skip other symbols, they are not in exception list assert(name[i] & 0x40); if(name[i] & 0x20) { - if(len - i - 3 < 0) //check array bound + if(len < i + 3) { //check array bound return false; + } i += 2; - } else { - if(len - i - 2 < 0) + } else { + if(len < i + 2) { return false; + } i++; } } Index: working_vm/vm/vmcore/src/thread/win/atomics.cpp =================================================================== --- working_vm/vm/vmcore/src/thread/win/atomics.cpp (revision 549750) +++ working_vm/vm/vmcore/src/thread/win/atomics.cpp (working copy) @@ -43,11 +43,19 @@ */ __asm {lock add [esp], 0 } #endif +#ifdef __INTEL_COMPILER + __memory_barrier(); +#else _ReadWriteBarrier(); +#endif } void MemoryWriteBarrier() { _mm_sfence(); +#ifdef __INTEL_COMPILER + __memory_barrier(); +#else _WriteBarrier(); +#endif } Index: working_vm/vm/vmcore/src/verifier/Graph.cpp =================================================================== --- working_vm/vm/vmcore/src/verifier/Graph.cpp (revision 549750) +++ working_vm/vm/vmcore/src/verifier/Graph.cpp (working copy) @@ -556,7 +556,7 @@ } stack_depth += instr->m_stack; depth += instr->m_stack; - assert(depth >= 0); + // assert(depth >= 0); always true since depth is unsigned if (depth > ctx->m_maxstack) { VF_REPORT(ctx, "Instruction stack overflow"); return VF_ErrorStackOverflow; Index: working_vm/vm/jitrino/src/optimizer/abcd/classic_abcd.cpp =================================================================== --- working_vm/vm/jitrino/src/optimizer/abcd/classic_abcd.cpp (revision 549750) +++ working_vm/vm/jitrino/src/optimizer/abcd/classic_abcd.cpp (working copy) @@ -120,7 +120,7 @@ IOpnd(0, false /* is_phi */, true /* is_constant */), _opnd(NULL) { - setID(min_const_opnd + id); + setID((uint32)min_const_opnd + id); setConstant(c); } Index: working_vm/vm/jitrino/src/optimizer/memoryopt.cpp =================================================================== --- working_vm/vm/jitrino/src/optimizer/memoryopt.cpp (revision 549750) +++ working_vm/vm/jitrino/src/optimizer/memoryopt.cpp (working copy) @@ -1418,7 +1418,7 @@ Opnd* cpIdx = callInst->getSrc(1); return findOrInsertAlias(getUnresolvedObjectField(0, enclClass, cpIdx)); } - break; + // break; unreachable because of the return above default: assert(0); break; Index: working_vm/vm/jitrino/src/shared/Type.cpp =================================================================== --- working_vm/vm/jitrino/src/shared/Type.cpp (revision 549750) +++ working_vm/vm/jitrino/src/shared/Type.cpp (working copy) @@ -1316,8 +1316,8 @@ const char * Type::tag2str(Tag t) { checkArray(); - assert( t >= 0 && t= 0 && t= 0 && t < NumTypeTags ); + return type_tag_names[t].name; } Index: working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp =================================================================== --- working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp (revision 549750) +++ working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp (working copy) @@ -755,10 +755,10 @@ case Type::Boolean: constVal=irBuilder.genLdConstant(*(bool*)fieldAddr);break; case Type::UnmanagedPtr: assert(fieldIsMagic); #ifdef _IA32_ - constVal=irBuilder.genLdConstant(*(int32*)fieldAddr);break; + constVal=irBuilder.genLdConstant(*(int32*)fieldAddr); #else assert(sizeof(void*)==8); - constVal=irBuilder.genLdConstant(*(int64*)fieldAddr);break; + constVal=irBuilder.genLdConstant(*(int64*)fieldAddr); #endif break; default: assert(0); //??