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/10/08 08:39:02 UTC

svn commit: r582722 - in /harmony/enhanced/drlvm/trunk: src/test/regression/H2679/ src/test/regression/H2679/dupTest.j src/test/regression/H2679/run.test.xml vm/jitrino/src/jet/val.h

Author: varlax
Date: Sun Oct  7 23:39:00 2007
New Revision: 582722

URL: http://svn.apache.org/viewvc?rev=582722&view=rev
Log:
Fixed HARMONY-2679 [drlvm][jit][jet] Combination of ldc and dup instructions work incorrectly

Added:
    harmony/enhanced/drlvm/trunk/src/test/regression/H2679/
    harmony/enhanced/drlvm/trunk/src/test/regression/H2679/dupTest.j
    harmony/enhanced/drlvm/trunk/src/test/regression/H2679/run.test.xml
Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/val.h

Added: harmony/enhanced/drlvm/trunk/src/test/regression/H2679/dupTest.j
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/src/test/regression/H2679/dupTest.j?rev=582722&view=auto
==============================================================================
--- harmony/enhanced/drlvm/trunk/src/test/regression/H2679/dupTest.j (added)
+++ harmony/enhanced/drlvm/trunk/src/test/regression/H2679/dupTest.j Sun Oct  7 23:39:00 2007
@@ -0,0 +1,39 @@
+.class public org/apache/harmony/drlvm/tests/regression/h2679/DupTest
+.super junit/framework/TestCase
+
+.method public <init>()V
+    .limit stack 1
+    .limit locals 1
+    aload_0
+    invokespecial junit/framework/TestCase/<init>()V
+    return
+.end method
+
+.method public testFloat()V
+    .limit stack 4
+    .limit locals 1
+    fconst_1
+    ldc 1.0f
+    dup
+    getstatic java/lang/System/err Ljava/io/PrintStream;
+    swap
+    invokevirtual java/io/PrintStream/println(F)V
+    fconst_0
+    invokestatic junit/framework/Assert/assertEquals(FFF)V
+    return
+.end method
+
+.method public testDouble()V
+    .limit stack 8
+    .limit locals 1
+    dconst_1
+    dconst_1
+    dup2
+    getstatic java/lang/System/err Ljava/io/PrintStream;
+    dup_x2
+    pop
+    invokevirtual java/io/PrintStream/println(D)V
+    dconst_0
+    invokestatic junit/framework/Assert/assertEquals(DDD)V
+    return
+.end method

Added: harmony/enhanced/drlvm/trunk/src/test/regression/H2679/run.test.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/src/test/regression/H2679/run.test.xml?rev=582722&view=auto
==============================================================================
--- harmony/enhanced/drlvm/trunk/src/test/regression/H2679/run.test.xml (added)
+++ harmony/enhanced/drlvm/trunk/src/test/regression/H2679/run.test.xml Sun Oct  7 23:39:00 2007
@@ -0,0 +1,9 @@
+<project name="RUN HARMONY-2679 Regression Test">
+    <target name="run-test">
+        <run-junit-test 
+             test="org.apache.harmony.drlvm.tests.regression.h2679.DupTest"
+             vmarg="-Xem:jet">
+        </run-junit-test>
+    </target>
+</project>
+

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/val.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/val.h?rev=582722&r1=582721&r2=582722&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/val.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/val.h Sun Oct  7 23:39:00 2007
@@ -334,6 +334,7 @@
     */
     void    to_mem(AR base, int disp, AR index = ar_x, unsigned scale=0)
     {
+        m_surviveCalls = false;
         m_kind = opnd_mem;
         m_base = base; m_index = index;
         m_scale = scale; m_disp = disp;
@@ -343,6 +344,7 @@
      */
     void    to_reg(AR ar)
     {
+        m_surviveCalls = false;
         m_kind = opnd_reg;
         m_reg = ar;
     }