public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgcj/25265]  New: linking BC-compiled classes with incompatible changes
@ 2005-12-05 14:00 thebohemian at gmx dot net
  2005-12-05 14:03 ` [Bug libgcj/25265] " thebohemian at gmx dot net
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: thebohemian at gmx dot net @ 2005-12-05 14:00 UTC (permalink / raw)
  To: java-prs

Imagine the following situation:

class T {
  void test(){
       M.staticMethod(); // a
       new M().method(); // b
       M.staticField = "FOO"; // c
       new M().field = "FOO"; // d
  }
}

class M{
   static void staticMethod(){}
   void method(){}
   static String staticField;
   String field;
}

Compile this and then replace the class file of M with the compiled code of
this class: class M{}

The JDK has no problems loading the T class and when running each the statement
*on its own* it would throw a NoSuchMethodError (case a & b) or a
NoSuchFieldError (case c & d).

GIJ should do the same.


-- 
           Summary: linking BC-compiled classes with incompatible changes
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcj
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: thebohemian at gmx dot net


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


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

* [Bug libgcj/25265] linking BC-compiled classes with incompatible changes
  2005-12-05 14:00 [Bug libgcj/25265] New: linking BC-compiled classes with incompatible changes thebohemian at gmx dot net
@ 2005-12-05 14:03 ` thebohemian at gmx dot net
  2005-12-05 14:37 ` thebohemian at gmx dot net
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: thebohemian at gmx dot net @ 2005-12-05 14:03 UTC (permalink / raw)
  To: java-prs



------- Comment #1 from thebohemian at gmx dot net  2005-12-05 14:03 -------
Created an attachment (id=10408)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10408&action=view)
test setup

A test setup for the above mentioned 4 cases. There are three scripts which
runs different interpreters:

nf-run.sh: Runs java - usually an proprietary runtime.
gij-run.sh: Runs gij in interpreted mode
bc-run.sh: Run gij with BC compiled classes.

The output describes what was done and what was expected.


-- 


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


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

* [Bug libgcj/25265] linking BC-compiled classes with incompatible changes
  2005-12-05 14:00 [Bug libgcj/25265] New: linking BC-compiled classes with incompatible changes thebohemian at gmx dot net
  2005-12-05 14:03 ` [Bug libgcj/25265] " thebohemian at gmx dot net
@ 2005-12-05 14:37 ` thebohemian at gmx dot net
  2005-12-05 21:53 ` thebohemian at gmx dot net
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: thebohemian at gmx dot net @ 2005-12-05 14:37 UTC (permalink / raw)
  To: java-prs



------- Comment #2 from thebohemian at gmx dot net  2005-12-05 14:37 -------
Created an attachment (id=10409)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10409&action=view)
test setup

Same as above but fixed the messages about expected and unexpected Throwables.


-- 

thebohemian at gmx dot net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #10408|0                           |1
        is obsolete|                            |


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


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

* [Bug libgcj/25265] linking BC-compiled classes with incompatible changes
  2005-12-05 14:00 [Bug libgcj/25265] New: linking BC-compiled classes with incompatible changes thebohemian at gmx dot net
  2005-12-05 14:03 ` [Bug libgcj/25265] " thebohemian at gmx dot net
  2005-12-05 14:37 ` thebohemian at gmx dot net
@ 2005-12-05 21:53 ` thebohemian at gmx dot net
  2005-12-06 20:19 ` aph at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: thebohemian at gmx dot net @ 2005-12-05 21:53 UTC (permalink / raw)
  To: java-prs



------- Comment #3 from thebohemian at gmx dot net  2005-12-05 21:53 -------
The version of gcj in SVN cannot handle loading classes of case d ( = accessing
a nonstatic field which is removed) when BC-compiled classes are used
(interpreted mode is fine in all cases).


-- 


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


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

* [Bug libgcj/25265] linking BC-compiled classes with incompatible changes
  2005-12-05 14:00 [Bug libgcj/25265] New: linking BC-compiled classes with incompatible changes thebohemian at gmx dot net
                   ` (2 preceding siblings ...)
  2005-12-05 21:53 ` thebohemian at gmx dot net
@ 2005-12-06 20:19 ` aph at gcc dot gnu dot org
  2005-12-08 14:40 ` aph at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: aph at gcc dot gnu dot org @ 2005-12-06 20:19 UTC (permalink / raw)
  To: java-prs



-- 

aph at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |aph at gcc dot gnu dot org
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-12-06 20:19:28
               date|                            |


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


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

* [Bug libgcj/25265] linking BC-compiled classes with incompatible changes
  2005-12-05 14:00 [Bug libgcj/25265] New: linking BC-compiled classes with incompatible changes thebohemian at gmx dot net
                   ` (3 preceding siblings ...)
  2005-12-06 20:19 ` aph at gcc dot gnu dot org
@ 2005-12-08 14:40 ` aph at gcc dot gnu dot org
  2005-12-08 14:44 ` aph at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: aph at gcc dot gnu dot org @ 2005-12-08 14:40 UTC (permalink / raw)
  To: java-prs



------- Comment #4 from aph at gcc dot gnu dot org  2005-12-08 14:40 -------
Subject: Bug 25265

Author: aph
Date: Thu Dec  8 14:40:48 2005
New Revision: 108232

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=108232
Log:
2005-12-08  Andrew Haley  <aph@redhat.com>

        PR libgcj/25265
        * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
        (soft_abstractmethod_node): New.
        * expr.c (build_field_ref): Add in-line check for missing field.
        * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.


Modified:
    branches/gcc-4_1-branch/gcc/java/ChangeLog
    branches/gcc-4_1-branch/gcc/java/decl.c
    branches/gcc-4_1-branch/gcc/java/expr.c
    branches/gcc-4_1-branch/gcc/java/java-tree.h


-- 


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


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

* [Bug libgcj/25265] linking BC-compiled classes with incompatible changes
  2005-12-05 14:00 [Bug libgcj/25265] New: linking BC-compiled classes with incompatible changes thebohemian at gmx dot net
                   ` (4 preceding siblings ...)
  2005-12-08 14:40 ` aph at gcc dot gnu dot org
@ 2005-12-08 14:44 ` aph at gcc dot gnu dot org
  2005-12-08 15:32 ` aph at gcc dot gnu dot org
  2006-05-25  9:56 ` aph at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: aph at gcc dot gnu dot org @ 2005-12-08 14:44 UTC (permalink / raw)
  To: java-prs



------- Comment #5 from aph at gcc dot gnu dot org  2005-12-08 14:44 -------
Subject: Bug 25265

Author: aph
Date: Thu Dec  8 14:44:29 2005
New Revision: 108233

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=108233
Log:
2005-12-08  Andrew Haley  <aph@redhat.com>

        PR libgcj/25265
        * java/lang/Object.h (throwNoSuchMethodError): New method.
        * java/lang/Object.java (throwNoSuchMethodError): New method.
        * include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
        * link.cc (_Jv_ThrowNoSuchFieldError): New.
        (link_symbol_table): Don't throw a NoSuchFieldError if a field is
        missing.  Instead, set the otable entry to zero.
        (link_symbol_table): If we don't find a nonstatic method, insert
        the vtable offset of Object.throwNoSuchMethodError() into the
        otable.


Modified:
    branches/gcc-4_1-branch/libjava/ChangeLog


-- 


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


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

* [Bug libgcj/25265] linking BC-compiled classes with incompatible changes
  2005-12-05 14:00 [Bug libgcj/25265] New: linking BC-compiled classes with incompatible changes thebohemian at gmx dot net
                   ` (5 preceding siblings ...)
  2005-12-08 14:44 ` aph at gcc dot gnu dot org
@ 2005-12-08 15:32 ` aph at gcc dot gnu dot org
  2006-05-25  9:56 ` aph at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: aph at gcc dot gnu dot org @ 2005-12-08 15:32 UTC (permalink / raw)
  To: java-prs



------- Comment #6 from aph at gcc dot gnu dot org  2005-12-08 15:32 -------
Subject: Bug 25265

Author: aph
Date: Thu Dec  8 15:32:44 2005
New Revision: 108235

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=108235
Log:
2005-12-08  Andrew Haley  <aph@redhat.com>

        PR libgcj/25265
        * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
        (soft_abstractmethod_node): New.
        * expr.c (build_field_ref): Add in-line check for missing field.
        * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.

2005-12-08  Andrew Haley  <aph@redhat.com>

        PR libgcj/25265
        * java/lang/Object.h (throwNoSuchMethodError): New method.
        * java/lang/Object.java (throwNoSuchMethodError): New method.
        * include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
        * link.cc (_Jv_ThrowNoSuchFieldError): New.
        (link_symbol_table): Don't throw a NoSuchFieldError if a field is
        missing.  Instead, set the otable entry to zero.
        (link_symbol_table): If we don't find a nonstatic method, insert
        the vtable offset of Object.throwNoSuchMethodError() into the
        otable.


Modified:
    trunk/gcc/java/ChangeLog
    trunk/libjava/ChangeLog


-- 


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


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

* [Bug libgcj/25265] linking BC-compiled classes with incompatible changes
  2005-12-05 14:00 [Bug libgcj/25265] New: linking BC-compiled classes with incompatible changes thebohemian at gmx dot net
                   ` (6 preceding siblings ...)
  2005-12-08 15:32 ` aph at gcc dot gnu dot org
@ 2006-05-25  9:56 ` aph at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: aph at gcc dot gnu dot org @ 2006-05-25  9:56 UTC (permalink / raw)
  To: java-prs



------- Comment #7 from aph at gcc dot gnu dot org  2006-05-25 09:56 -------
.


-- 

aph at gcc dot gnu dot org changed:

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


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


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

end of thread, other threads:[~2006-05-25  9:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-05 14:00 [Bug libgcj/25265] New: linking BC-compiled classes with incompatible changes thebohemian at gmx dot net
2005-12-05 14:03 ` [Bug libgcj/25265] " thebohemian at gmx dot net
2005-12-05 14:37 ` thebohemian at gmx dot net
2005-12-05 21:53 ` thebohemian at gmx dot net
2005-12-06 20:19 ` aph at gcc dot gnu dot org
2005-12-08 14:40 ` aph at gcc dot gnu dot org
2005-12-08 14:44 ` aph at gcc dot gnu dot org
2005-12-08 15:32 ` aph at gcc dot gnu dot org
2006-05-25  9:56 ` aph 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).