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;
}