[vmkit-commits] [vmkit] r89338 - /vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Thu Nov 19 01:03:05 PST 2009


Author: geoffray
Date: Thu Nov 19 03:03:00 2009
New Revision: 89338

URL: http://llvm.org/viewvc/llvm-project?rev=89338&view=rev
Log:
Don't do a raw copy when the baseclass is an object class.


Modified:
    vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp

Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp?rev=89338&r1=89337&r2=89338&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp Thu Nov 19 03:03:00 2009
@@ -2299,7 +2299,6 @@
   
   BasicBlock* log_label_entry = createBasicBlock("log_entry");
   BasicBlock* log_label_bb = createBasicBlock("log_bb");
-  BasicBlock* log_label_bb2 = createBasicBlock("log_bb2");
     
   // Block entry (label_entry)
   CallInst* ptr_16 = CallInst::Create(module->GetVTFunction, ptr_src, "",
@@ -2370,8 +2369,6 @@
    
 
   
-  PHINode* node = PHINode::Create(Type::getInt32Ty(getGlobalContext()), "",
-                                  log_label_bb2);
   // Block entry (label_entry)
   currentBlock = log_label_entry;
   Value* ptr_10_indices[2] = { module->constantZero,
@@ -2396,8 +2393,7 @@
                                                     "", log_label_entry);
   ICmpInst* int1_16 = new ICmpInst(*log_label_entry, ICmpInst::ICMP_EQ,
                                    int32_15, zero, "");
-  BranchInst::Create(log_label_bb2, log_label_bb, int1_16, log_label_entry);
-  node->addIncoming(module->constantPtrLogSize, log_label_entry);
+  BranchInst::Create(label_bb2, log_label_bb, int1_16, log_label_entry);
     
   // Block bb (log_label_bb)
   currentBlock = log_label_bb;
@@ -2409,31 +2405,31 @@
                                                         ptr_11_indices + 2, "",
                                                         log_label_bb);
   LoadInst* int32_20 = new LoadInst(ptr_18, "", false, log_label_bb);
-  node->addIncoming(int32_20, log_label_bb);
-  
-  BranchInst::Create(log_label_bb2, log_label_bb);
    
-  int32_start = BinaryOperator::CreateShl(int32_start, node, "", log_label_bb2);
-  int32_start2 = BinaryOperator::CreateShl(int32_start2, node, "", log_label_bb2);
-  int32_length = BinaryOperator::CreateShl(int32_length, node, "", log_label_bb2);
+  int32_start = BinaryOperator::CreateShl(int32_start, int32_20, "",
+                                          log_label_bb);
+  int32_start2 = BinaryOperator::CreateShl(int32_start2, int32_20, "",
+                                           log_label_bb);
+  int32_length = BinaryOperator::CreateShl(int32_length, int32_20, "",
+                                           log_label_bb);
 
   ptr_src = new BitCastInst(ptr_src, module->JavaArrayUInt8Type, "",
-                            log_label_bb2);
+                            log_label_bb);
   
   ptr_dst = new BitCastInst(ptr_dst, module->JavaArrayUInt8Type, "",
-                            log_label_bb2);
+                            log_label_bb);
   
   Value* indexes[3] = { module->constantZero,
                         module->JavaArrayElementsOffsetConstant,
                         int32_start };
   Instruction* ptr_42 = GetElementPtrInst::Create(ptr_src, indexes, indexes + 3,
-                                                  "", log_label_bb2);
+                                                  "", log_label_bb);
   
   indexes[2] = int32_start2;
   Instruction* ptr_44 = GetElementPtrInst::Create(ptr_dst, indexes, indexes + 3,
-                                                  "", log_label_bb2);
+                                                  "", log_label_bb);
  
-  BranchInst::Create(label_bb11, log_label_bb2);
+  BranchInst::Create(label_bb11, log_label_bb);
 
 
   // Block bb11 (label_bb11)
@@ -2443,12 +2439,12 @@
                                          "i.016", label_bb11);
   int32_i_016->reserveOperandSpace(2);
   int32_i_016->addIncoming(fwdref_39, label_bb11);
-  int32_i_016->addIncoming(module->constantZero, log_label_bb2);
+  int32_i_016->addIncoming(module->constantZero, log_label_bb);
   
   PHINode* phi_dst_ptr = PHINode::Create(ptr_44->getType(), "", label_bb11);
   PHINode* phi_src_ptr = PHINode::Create(ptr_44->getType(), "", label_bb11);
-  phi_dst_ptr->addIncoming(ptr_44, log_label_bb2);
-  phi_src_ptr->addIncoming(ptr_42, log_label_bb2);
+  phi_dst_ptr->addIncoming(ptr_44, log_label_bb);
+  phi_src_ptr->addIncoming(ptr_42, log_label_bb);
     
   LoadInst* ptr_43 = new LoadInst(phi_src_ptr, "", false, label_bb11);
   new StoreInst(ptr_43, phi_dst_ptr, false, label_bb11);





More information about the vmkit-commits mailing list