Please apply, with same comment of adding the test to the tests/ directory. Thanks!<br><br><div class="gmail_quote">On Mon, Nov 7, 2011 at 9:16 PM, Will Dietz <span dir="ltr"><<a href="mailto:wdietz2@illinois.edu">wdietz2@illinois.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Same thing as previous LSHL patch, only for LSHR.<br>
<br>
~Will<br>
<br>
>From fc51294c2ddb78189092fd87ed4950ecdb6f43c0 Mon Sep 17 00:00:00 2001<br>
From: Will Dietz <<a href="mailto:w@wdtz.org">w@wdtz.org</a>><br>
Date: Mon, 7 Nov 2011 13:56:25 -0600<br>
Subject: [PATCH] Fix LSHR by masking the shift operand.<br>
<br>
Sample test case:<br>
<br>
class Test {<br>
    public static void main(String[] args) {<br>
      long l = 1;<br>
      System.out.println(l);<br>
      System.out.println(l >> 10);<br>
      System.out.println(l >> 32);<br>
      System.out.println(l >> 64);<br>
      System.out.println(l >> 128);<br>
      System.out.println(l >> -10);<br>
    }<br>
}<br>
<br>
java produces (Hotspot 1.6.0_27):<br>
1<br>
0<br>
0<br>
1<br>
1<br>
0<br>
<br>
j3 before this patch produces:<br>
1<br>
0<br>
0<br>
0<br>
0<br>
0<br>
---<br>
 lib/J3/Compiler/JavaJITOpcodes.cpp |    2 ++<br>
 1 files changed, 2 insertions(+), 0 deletions(-)<br>
<br>
diff --git a/lib/J3/Compiler/JavaJITOpcodes.cpp<br>
b/lib/J3/Compiler/JavaJITOpcodes.cpp<br>
index 93b9c3c..682e406 100644<br>
--- a/lib/J3/Compiler/JavaJITOpcodes.cpp<br>
+++ b/lib/J3/Compiler/JavaJITOpcodes.cpp<br>
@@ -1207,6 +1207,8 @@ void JavaJIT::compileOpcodes(Reader& reader,<br>
uint32 codeLength) {<br>
<br>
       case LSHR : {<br>
         Value* val2 = new ZExtInst(pop(),<br>
Type::getInt64Ty(*llvmContext), "", currentBlock);<br>
+        Value* mask = ConstantInt::get(Type::getInt64Ty(*llvmContext), 0x3F);<br>
+        val2 = BinaryOperator::CreateAnd(val2, mask, "", currentBlock);<br>
         pop(); // remove the 0 on the stack<br>
         Value* val1 = pop();<br>
         push(BinaryOperator::CreateAShr(val1, val2, "", currentBlock),<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.5.1<br>
_______________________________________________<br>
vmkit-commits mailing list<br>
<a href="mailto:vmkit-commits@cs.uiuc.edu">vmkit-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/vmkit-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/vmkit-commits</a><br>
</font></span></blockquote></div><br>