diff options
author | Per Bothner <bothner@gcc.gnu.org> | 1999-02-02 04:20:39 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 1999-02-02 04:20:39 -0800 |
commit | 66b48140891b4daad044b83aa9d737b83acdd494 (patch) | |
tree | ba32d37954ab7c6209fa8dfc7d3a795875997324 /gcc/java/verify.c | |
parent | bb6e881c9a2f7b25b7881561de138afa6e44b59a (diff) | |
download | gcc-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.c | 2 |
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; } |