[vmkit-commits] [vmkit] r139536 - /vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Mon Sep 12 13:27:42 PDT 2011


Author: geoffray
Date: Mon Sep 12 15:27:42 2011
New Revision: 139536

URL: http://llvm.org/viewvc/llvm-project?rev=139536&view=rev
Log:
Spec change: do the mash for ISHR and ISHL.


Modified:
    vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp

Modified: vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp?rev=139536&r1=139535&r2=139536&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp Mon Sep 12 15:27:42 2011
@@ -1176,6 +1176,8 @@
       case ISHL : {
         Value* val2 = popAsInt();
         Value* val1 = popAsInt();
+        Value* mask = ConstantInt::get(Type::getInt32Ty(*llvmContext), 0x1F);
+        val2 = BinaryOperator::CreateAnd(val2, mask, "", currentBlock);
         push(BinaryOperator::CreateShl(val1, val2, "", currentBlock),
              false);
         break;
@@ -1194,6 +1196,8 @@
       case ISHR : {
         Value* val2 = popAsInt();
         Value* val1 = popAsInt();
+        Value* mask = ConstantInt::get(Type::getInt32Ty(*llvmContext), 0x1F);
+        val2 = BinaryOperator::CreateAnd(val2, mask, "", currentBlock);
         push(BinaryOperator::CreateAShr(val1, val2, "", currentBlock),
              false);
         break;





More information about the vmkit-commits mailing list