[llvm-commits] CVS: llvm-java/include/llvm/Java/BytecodeParser.h

Alkis Evlogimenos alkis at cs.uiuc.edu
Fri Feb 4 11:53:02 PST 2005



Changes in directory llvm-java/include/llvm/Java:

BytecodeParser.h updated: 1.14 -> 1.15
---
Log message:

Pass the return address to the do_jsr call when parsing the
bytecode.

Modify the basic block builder to build basic blocks for jsr/rets as
well.

On a jsr push a dummy value on the operand stack so that we have a
valid operand stack.


---
Diffs of the changes:  (+9 -5)

 BytecodeParser.h |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)


Index: llvm-java/include/llvm/Java/BytecodeParser.h
diff -u llvm-java/include/llvm/Java/BytecodeParser.h:1.14 llvm-java/include/llvm/Java/BytecodeParser.h:1.15
--- llvm-java/include/llvm/Java/BytecodeParser.h:1.14	Fri Dec  3 19:44:05 2004
+++ llvm-java/include/llvm/Java/BytecodeParser.h	Fri Feb  4 13:52:50 2005
@@ -500,9 +500,11 @@
         case GOTO:
           THIS->do_goto(curBC + readSShort(code, i));
           break;
-        case JSR:
-          THIS->do_jsr(curBC + readSShort(code, i));
+        case JSR: {
+          unsigned t = curBC + readSShort(code, i);
+          THIS->do_jsr(t, i + 1);
           break;
+        }
         case RET:
           THIS->do_ret(readUByte(code, i));
           break;
@@ -630,9 +632,11 @@
         case GOTO_W:
           THIS->do_goto(curBC + readSInt(code, i));
           break;
-        case JSR_W:
-          THIS->do_jsr(curBC + readSInt(code, i));
+        case JSR_W: {
+          unsigned t = curBC + readSInt(code, i);
+          THIS->do_jsr(t, i + 1);
           break;
+        }
         case BREAKPOINT:
         case IMPDEP1:
         case IMPDEP2:
@@ -878,7 +882,7 @@
     /// @brief called on GOTO and GOTO_W
     void do_goto(unsigned target) { }
     /// @brief called on JSR and JSR_W
-    void do_jsr(unsigned target) { }
+    void do_jsr(unsigned target, unsigned retAddress) { }
     /// @brief called on RET
     void do_ret(unsigned index) { }
     /// @brief called on TABLESWITCH and LOOKUPSWITCH






More information about the llvm-commits mailing list