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
This commit is contained in:
parent
bb6e881c9a
commit
66b4814089
2 changed files with 3 additions and 1 deletions
|
@ -841,7 +841,7 @@ yyparse ()
|
|||
}
|
||||
|
||||
java_expand_classes ();
|
||||
if (!java_report_errors () && !flag_emit_class_files)
|
||||
if (!java_report_errors () && !flag_syntax_only)
|
||||
emit_register_classes ();
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue