aboutsummaryrefslogtreecommitdiff
path: root/libjava/include/java-interp.h
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/include/java-interp.h')
-rw-r--r--libjava/include/java-interp.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h
index 204a49f..f0b77f9 100644
--- a/libjava/include/java-interp.h
+++ b/libjava/include/java-interp.h
@@ -138,17 +138,27 @@ struct _Jv_LineTableEntry
};
// This structure holds local variable information.
-// The pc value is the first pc where the variable must have a value and it
-// must continue to have a value until (start_pc + length).
-// The name is the variable name, and the descriptor contains type information.
-// The slot is the index in the local variable array of this method, long and
-// double occupy slot and slot+1.
+// Like _Jv_LineTableEntry above, it is remapped when the method is
+// compiled for direct threading.
struct _Jv_LocalVarTableEntry
{
- int bytecode_start_pc;
+ // First PC value at which variable is live
+ union
+ {
+ pc_t pc;
+ int bytecode_pc;
+ };
+
+ // length of visibility of variable
int length;
+
+ // variable name
char *name;
+
+ // type description
char *descriptor;
+
+ // stack slot number (long and double occupy slot and slot + 1)
int slot;
};