[vmkit-commits] [vmkit] r89757 - /vmkit/trunk/lib/JnJVM/Compiler/JavaJITOpcodes.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Nov 24 03:42:11 PST 2009


Author: geoffray
Date: Tue Nov 24 05:42:10 2009
New Revision: 89757

URL: http://llvm.org/viewvc/llvm-project?rev=89757&view=rev
Log:
Bugfix when branchint to a handler.


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

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaJITOpcodes.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaJITOpcodes.cpp Tue Nov 24 05:42:10 2009
@@ -138,6 +138,14 @@
     
     if (opinfo->newBlock) {
       if (currentBlock->getTerminator() == 0) {
+        // Load the exception object if we have branched to a handler.
+        if (opinfo->handler) {
+          Instruction* I = opinfo->newBlock->begin();
+          PHINode * node = dyn_cast<PHINode>(I);
+          assert(node && "Handler marlformed");
+          Value* obj = pop();
+          node->addIncoming(obj, currentBlock);
+        }
         branch(*opinfo, currentBlock);
       }
       





More information about the vmkit-commits mailing list