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/03/02 12:40:45 UTC
svn commit: r513713 - in /harmony/enhanced/drlvm/trunk:
src/test/regression/H3285/ src/test/regression/H3285/Test.java
src/test/regression/H3285/run.test.xml
vm/jitrino/src/codegenerator/ia32/Ia32I8Lowerer.cpp
Author: varlax
Date: Fri Mar 2 03:40:44 2007
New Revision: 513713
URL: http://svn.apache.org/viewvc?view=rev&rev=513713
Log:
Fixed HARMONY-3285 [drlvm][jit][opt] segfault in i8l
Added:
harmony/enhanced/drlvm/trunk/src/test/regression/H3285/
harmony/enhanced/drlvm/trunk/src/test/regression/H3285/Test.java
harmony/enhanced/drlvm/trunk/src/test/regression/H3285/run.test.xml
Modified:
harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32I8Lowerer.cpp
Added: harmony/enhanced/drlvm/trunk/src/test/regression/H3285/Test.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/src/test/regression/H3285/Test.java?view=auto&rev=513713
==============================================================================
--- harmony/enhanced/drlvm/trunk/src/test/regression/H3285/Test.java (added)
+++ harmony/enhanced/drlvm/trunk/src/test/regression/H3285/Test.java Fri Mar 2 03:40:44 2007
@@ -0,0 +1,19 @@
+package org.apache.harmony.drlvm.tests.regression.h3285;
+
+import junit.framework.TestCase;
+
+public class Test extends TestCase {
+
+ public void test() throws Exception {
+ process(123L);
+ }
+
+ void process(long ll) {
+ boolean flag = false;
+
+ if(ll >= 0L && ll > 0L && ll > 10L)
+ {
+ flag = true;
+ }
+ }
+}
Added: harmony/enhanced/drlvm/trunk/src/test/regression/H3285/run.test.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/src/test/regression/H3285/run.test.xml?view=auto&rev=513713
==============================================================================
--- harmony/enhanced/drlvm/trunk/src/test/regression/H3285/run.test.xml (added)
+++ harmony/enhanced/drlvm/trunk/src/test/regression/H3285/run.test.xml Fri Mar 2 03:40:44 2007
@@ -0,0 +1,9 @@
+<project name="RUN HARMONY-3285 Regression Test">
+ <target name="run-test">
+ <run-junit-test
+ test="org.apache.harmony.drlvm.tests.regression.h3285.Test"
+ vmarg="-Xem:opt">
+ </run-junit-test>
+ </target>
+</project>
+
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32I8Lowerer.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32I8Lowerer.cpp?view=diff&rev=513713&r1=513712&r2=513713
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32I8Lowerer.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32I8Lowerer.cpp Fri Mar 2 03:40:44 2007
@@ -451,11 +451,10 @@
{
assert(src1 && src2);
Inst * condInst = inst->getNextInst();
- Mnemonic mnem = getBaseConditionMnemonic(condInst->getMnemonic());
- if (condInst->getMnemonic() == Mnemonic_MOV) {
+ while (condInst && condInst->getMnemonic() == Mnemonic_MOV) {
condInst = condInst->getNextInst();
- mnem = getBaseConditionMnemonic(condInst->getMnemonic());
}
+ Mnemonic mnem = condInst ? getBaseConditionMnemonic(condInst->getMnemonic()) : Mnemonic_NULL;
if (mnem != Mnemonic_NULL) {
if(condInst->hasKind(Inst::Kind_BranchInst)) {
buildJumpSubGraph(inst,src1_1,src1_2,src2_1,src2_2,condInst);