public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgcj/13439] New: gij VerifyError; works with JDK 1.4
@ 2003-12-19  7:28 bothner at gcc dot gnu dot org
  2003-12-19  7:29 ` [Bug libgcj/13439] " bothner at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: bothner at gcc dot gnu dot org @ 2003-12-19  7:28 UTC (permalink / raw)
  To: gcc-bugs

Grab kawa-1.7.90.jar from ftp://ftp.gnu.org/pub/gnu/kawa ,
(after building and installing CVS head gcc), do:
$ gij -jar kawa-1.7.90.jar --xquery --debug-dump-zip -e '(for $y in (5,4) return
<b>{10+$y}</b>)[2]'
We get:
java.lang.VerifyError: verification failed at PC 125 in
atInteractiveLevel:apply((Lgnu.mapping.CallContext;)V): incompatible type on stack
It works using Sun's JDK 1.4.2.
The --debug-dump-zip option above creates kawa-zip-dump-1.zip,
which can be examined using jcf-dump.
Method name:"apply" public final Signature: 143=(gnu.mapping.CallContext)void
Attribute "Code", length:226, max_stack:5, max_locals:12, code_length:138
 10: invokestatic #18=<Method gnu.mapping.Values.make ()gnu.mapping.Values>
 13: astore_3
 14: getstatic #24=<Field atInteractiveLevel.Lit0 gnu.math.IntNum>
 17: astore 4
 19: jsr 33
 22: getstatic #27=<Field atInteractiveLevel.Lit1 gnu.math.IntNum>
 25: astore 4
 27: jsr 33
 30: goto 124
 33: astore 5
 35: aload 4
 37: astore 4
 39: aload_3
 40: astore 6
...
 89: jsr 103
 92: goto 116
103: astore 11
105: aload 6
107: aload_3
108: invokestatic #74=<Method gnu.kawa.xml.NodeConstructor.popNodeConsumer (gnu.
lists.Consumer,gnu.lists.Consumer)void>
111: aload 6
113: astore_3
114: ret 11
116: aload 9
118: aload 8
120: aload 7
122: ret 5
124: aload_3
125: invokevirtual #78=<Method gnu.mapping.Values.canonicalize ()java.lang.Objec
t>
We get to 125 from 30.  The issue is presumably register 3,
which is set in 13.  The subroutine at 33 saved 3 in register 6,
trashes 3, and restores 3 from 6 at 113.  To complicate things,
there is a nested subroutine at 103, which actually restores 3.
(This rather convoluted code is generated by Kawa to deal with
XQuery sequences.  I don't claim it's optimal, but I believe
it is correct.)

-- 
           Summary: gij VerifyError; works with JDK 1.4
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: libgcj
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bothner at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13439


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libgcj/13439] gij VerifyError; works with JDK 1.4
  2003-12-19  7:28 [Bug libgcj/13439] New: gij VerifyError; works with JDK 1.4 bothner at gcc dot gnu dot org
@ 2003-12-19  7:29 ` bothner at gcc dot gnu dot org
  2003-12-19 17:51 ` tromey at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: bothner at gcc dot gnu dot org @ 2003-12-19  7:29 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |tromey at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13439


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libgcj/13439] gij VerifyError; works with JDK 1.4
  2003-12-19  7:28 [Bug libgcj/13439] New: gij VerifyError; works with JDK 1.4 bothner at gcc dot gnu dot org
  2003-12-19  7:29 ` [Bug libgcj/13439] " bothner at gcc dot gnu dot org
@ 2003-12-19 17:51 ` tromey at gcc dot gnu dot org
  2003-12-20  7:12 ` tromey at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: tromey at gcc dot gnu dot org @ 2003-12-19 17:51 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |3.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13439


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libgcj/13439] gij VerifyError; works with JDK 1.4
  2003-12-19  7:28 [Bug libgcj/13439] New: gij VerifyError; works with JDK 1.4 bothner at gcc dot gnu dot org
  2003-12-19  7:29 ` [Bug libgcj/13439] " bothner at gcc dot gnu dot org
  2003-12-19 17:51 ` tromey at gcc dot gnu dot org
@ 2003-12-20  7:12 ` tromey at gcc dot gnu dot org
  2004-01-08  5:27 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: tromey at gcc dot gnu dot org @ 2003-12-20  7:12 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From tromey at gcc dot gnu dot org  2003-12-20 06:25 -------
Initial patch is available:
http://gcc.gnu.org/ml/java-patches/2003-q4/msg00845.html
This needs to be subjected to heavier testing before it can
be committed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13439


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libgcj/13439] gij VerifyError; works with JDK 1.4
  2003-12-19  7:28 [Bug libgcj/13439] New: gij VerifyError; works with JDK 1.4 bothner at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2003-12-20  7:12 ` tromey at gcc dot gnu dot org
@ 2004-01-08  5:27 ` cvs-commit at gcc dot gnu dot org
  2004-01-08  5:28 ` tromey at gcc dot gnu dot org
  2004-11-11 16:40 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-01-08  5:27 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-01-08 05:27 -------
Subject: Bug 13439

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	tromey@gcc.gnu.org	2004-01-08 05:27:39

Modified files:
	libjava        : ChangeLog verify.cc 

Log message:
	PR libgcj/13439:
	* verify.cc (state::merge): Copy changed locals out of subroutine
	in NO_STACK case.
	(state::FLAG_CHANGED): New const.
	(state::FLAG_UNUSED): Likewise.
	(state::local_changed): Removed.  Updated all users.
	(state::flags): New field.
	(state::merge): Added jsr_semantics argument, more logic.
	(push_jump_merge): Added jsr_semantics argument.
	(handle_jsr_insn): Set jsr_semantics on push_jump_merge when
	merging through the jsr instruction.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.2530&r2=1.2531
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/verify.cc.diff?cvsroot=gcc&r1=1.58&r2=1.59



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13439


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libgcj/13439] gij VerifyError; works with JDK 1.4
  2003-12-19  7:28 [Bug libgcj/13439] New: gij VerifyError; works with JDK 1.4 bothner at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2004-01-08  5:27 ` cvs-commit at gcc dot gnu dot org
@ 2004-01-08  5:28 ` tromey at gcc dot gnu dot org
  2004-11-11 16:40 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: tromey at gcc dot gnu dot org @ 2004-01-08  5:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From tromey at gcc dot gnu dot org  2004-01-08 05:28 -------
I've checked in the fix.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13439


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libgcj/13439] gij VerifyError; works with JDK 1.4
  2003-12-19  7:28 [Bug libgcj/13439] New: gij VerifyError; works with JDK 1.4 bothner at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2004-01-08  5:28 ` tromey at gcc dot gnu dot org
@ 2004-11-11 16:40 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-11 16:40 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-11 16:40 -------
*** Bug 18430 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |brian_252 at yahoo dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13439


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-11-11 16:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-19  7:28 [Bug libgcj/13439] New: gij VerifyError; works with JDK 1.4 bothner at gcc dot gnu dot org
2003-12-19  7:29 ` [Bug libgcj/13439] " bothner at gcc dot gnu dot org
2003-12-19 17:51 ` tromey at gcc dot gnu dot org
2003-12-20  7:12 ` tromey at gcc dot gnu dot org
2004-01-08  5:27 ` cvs-commit at gcc dot gnu dot org
2004-01-08  5:28 ` tromey at gcc dot gnu dot org
2004-11-11 16:40 ` 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).