aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/verify.c
diff options
context:
space:
mode:
authorPer Bothner <bothner@gcc.gnu.org>1999-02-02 04:20:39 -0800
committerPer Bothner <bothner@gcc.gnu.org>1999-02-02 04:20:39 -0800
commit66b48140891b4daad044b83aa9d737b83acdd494 (patch)
treeba32d37954ab7c6209fa8dfc7d3a795875997324 /gcc/java/verify.c
parentbb6e881c9a2f7b25b7881561de138afa6e44b59a (diff)
downloadgcc-66b48140891b4daad044b83aa9d737b83acdd494.zip
gcc-66b48140891b4daad044b83aa9d737b83acdd494.tar.gz
gcc-66b48140891b4daad044b83aa9d737b83acdd494.tar.bz2
Optimize: `return (a ? b : c)' as: `if (a) return b; else return c;'.
Optimize: `return (a ? b : c)' as: `if (a) return b; else return c;'. * jcf-write.c (generate_bytecode_return): New function. (generate_bytecode_insns): Use it, for RETURN_EXPR. * jcf-write.c (generate_bytecode_insns): For REAL_CST that is 0 or 1, generate special [fd]const_[01] instructions. * jcf-parse.c (yyparse): Don't emit_register_classes if -fsyntax-only. * verify.c (verify_jvm_instructions): Do INVALIDATE_PC after handling OPCODE_lookupswitch or OPCODE_tableswitch. From-SVN: r24972
Diffstat (limited to 'gcc/java/verify.c')
-rw-r--r--gcc/java/verify.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/java/verify.c b/gcc/java/verify.c
index 8cd3c66..a6771db 100644
--- a/gcc/java/verify.c
+++ b/gcc/java/verify.c
@@ -979,6 +979,7 @@ verify_jvm_instructions (jcf, byte_ops, length)
while (low++ <= high)
PUSH_PENDING (lookup_label (oldpc + IMMEDIATE_s4));
+ INVALIDATE_PC;
break;
}
@@ -1010,6 +1011,7 @@ verify_jvm_instructions (jcf, byte_ops, length)
last = match;
PUSH_PENDING (lookup_label (oldpc + IMMEDIATE_s4));
}
+ INVALIDATE_PC;
break;
}