public inbox for java-prs@sourceware.org help / color / mirror / Atom feed
* [Bug java/16431] New: Bytecode compiler silently generates incorrect code @ 2004-07-08 10:19 aph at gcc dot gnu dot org 2004-07-08 10:19 ` [Bug java/16431] " aph at gcc dot gnu dot org ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: aph at gcc dot gnu dot org @ 2004-07-08 10:19 UTC (permalink / raw) To: java-prs With some oddly formed class files, the bytecode compiler can spuriously generate additional DECLs for local variable slots, and these DECLs have undefined initial values. This is a regression caused by the tree-SSA merge. The problem arises when there are two different types put onto the stack at different points in the execution. This generates two DECLs, one for each type. Later code that refers to that stack item can do so with a type that is a common superclass of the two types, but we have generated two separate DECLs. The only way properly to fix this is to change the way that stack items are mapped on to DECLs. -- Summary: Bytecode compiler silently generates incorrect code Product: gcc Version: 3.5.0 Status: UNCONFIRMED Severity: critical Priority: P1 Component: java AssignedTo: aph at gcc dot gnu dot org ReportedBy: aph at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16431 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug java/16431] Bytecode compiler silently generates incorrect code 2004-07-08 10:19 [Bug java/16431] New: Bytecode compiler silently generates incorrect code aph at gcc dot gnu dot org @ 2004-07-08 10:19 ` aph at gcc dot gnu dot org 2004-07-08 10:25 ` [Bug java/16431] [3.5 Regression] " pinskia at gcc dot gnu dot org ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: aph at gcc dot gnu dot org @ 2004-07-08 10:19 UTC (permalink / raw) To: java-prs -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2004-07-08 10:19:41 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16431 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug java/16431] [3.5 Regression] Bytecode compiler silently generates incorrect code 2004-07-08 10:19 [Bug java/16431] New: Bytecode compiler silently generates incorrect code aph at gcc dot gnu dot org 2004-07-08 10:19 ` [Bug java/16431] " aph at gcc dot gnu dot org @ 2004-07-08 10:25 ` pinskia at gcc dot gnu dot org 2004-07-21 16:12 ` cvs-commit at gcc dot gnu dot org ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: pinskia at gcc dot gnu dot org @ 2004-07-08 10:25 UTC (permalink / raw) To: java-prs ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-07-08 10:25 ------- I think there was a message to gcc@ about this. -- What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Last reconfirmed|2004-07-08 10:19:41 |2004-07-08 10:25:20 date| | Summary|Bytecode compiler silently |[3.5 Regression] Bytecode |generates incorrect code |compiler silently generates | |incorrect code Target Milestone|--- |3.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16431 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug java/16431] [3.5 Regression] Bytecode compiler silently generates incorrect code 2004-07-08 10:19 [Bug java/16431] New: Bytecode compiler silently generates incorrect code aph at gcc dot gnu dot org 2004-07-08 10:19 ` [Bug java/16431] " aph at gcc dot gnu dot org 2004-07-08 10:25 ` [Bug java/16431] [3.5 Regression] " pinskia at gcc dot gnu dot org @ 2004-07-21 16:12 ` cvs-commit at gcc dot gnu dot org 2004-07-21 16:13 ` aph at gcc dot gnu dot org 2004-08-09 0:36 ` pinskia at gcc dot gnu dot org 4 siblings, 0 replies; 6+ messages in thread From: cvs-commit at gcc dot gnu dot org @ 2004-07-21 16:12 UTC (permalink / raw) To: java-prs ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-07-21 16:12 ------- Subject: Bug 16431 CVSROOT: /cvs/gcc Module name: gcc Changes by: aph@gcc.gnu.org 2004-07-21 16:12:33 Modified files: gcc/java : ChangeLog Log message: PR java/16431. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&r1=1.1420&r2=1.1421 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16431 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug java/16431] [3.5 Regression] Bytecode compiler silently generates incorrect code 2004-07-08 10:19 [Bug java/16431] New: Bytecode compiler silently generates incorrect code aph at gcc dot gnu dot org ` (2 preceding siblings ...) 2004-07-21 16:12 ` cvs-commit at gcc dot gnu dot org @ 2004-07-21 16:13 ` aph at gcc dot gnu dot org 2004-08-09 0:36 ` pinskia at gcc dot gnu dot org 4 siblings, 0 replies; 6+ messages in thread From: aph at gcc dot gnu dot org @ 2004-07-21 16:13 UTC (permalink / raw) To: java-prs ------- Additional Comments From aph at gcc dot gnu dot org 2004-07-21 16:13 ------- 2004-07-20 Andrew Haley <aph@redhat.com> PR java/16431. * verify.c (verify_jvm_instructions): Comment change only. * typeck.c (build_java_array_type): Add size field to array name. * java-tree.h (LOCAL_SLOT_P): New. (update_aliases): Add PC argument. (pushdecl_function_level): New function. * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL, MODIFY_EXPR, and SAVE_EXPR. (java_gimplify_modify_expr): New function. * expr.c (push_type_0): Call find_stack_slot() to create temporary. (expand_iinc): Pass PC to update_aliases(). (STORE_INTERNAL): Likewise. (process_jvm_instruction): Likewise. * decl.c (base_decl_map): New variable. (uniq): New variable. (update_aliases): Rewrite with more thorough checking. (debug_variable_p): New function. (push_jvm_slot): Don't initialize local variable. Don't pushdecl. (check_local_named_variable): Delete whole function. (initialize_local_variable): New function. (check_local_unnamed_variable): Add checks and comments. (find_local_variable): Rewrite. (java_replace_reference): New function. (function_binding_level): New variable. (pushdecl_function_level): New function. (maybe_pushlevels): Set DECL_LOCAL_END_PC. (maybe_pushlevels): Call pushdecl() on each of the new decls. (start_java_method): Reset uniq. Create base_decl_map. Set function_binding_level. (end_java_method): Null unused fields to save memory. -- What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16431 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug java/16431] [3.5 Regression] Bytecode compiler silently generates incorrect code 2004-07-08 10:19 [Bug java/16431] New: Bytecode compiler silently generates incorrect code aph at gcc dot gnu dot org ` (3 preceding siblings ...) 2004-07-21 16:13 ` aph at gcc dot gnu dot org @ 2004-08-09 0:36 ` pinskia at gcc dot gnu dot org 4 siblings, 0 replies; 6+ messages in thread From: pinskia at gcc dot gnu dot org @ 2004-08-09 0:36 UTC (permalink / raw) To: java-prs ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-09 00:36 ------- *** Bug 16188 has been marked as a duplicate of this bug. *** -- What |Removed |Added ---------------------------------------------------------------------------- CC| |bonniot at users dot sf dot | |net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16431 ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-08-09 0:36 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-07-08 10:19 [Bug java/16431] New: Bytecode compiler silently generates incorrect code aph at gcc dot gnu dot org 2004-07-08 10:19 ` [Bug java/16431] " aph at gcc dot gnu dot org 2004-07-08 10:25 ` [Bug java/16431] [3.5 Regression] " pinskia at gcc dot gnu dot org 2004-07-21 16:12 ` cvs-commit at gcc dot gnu dot org 2004-07-21 16:13 ` aph at gcc dot gnu dot org 2004-08-09 0:36 ` pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).