public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
* [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] 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] [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).