public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgcj/17738] New: Binary Compatibility: _Jv_FindClassInCache
@ 2004-09-29 20:54 tromey at gcc dot gnu dot org
  2004-09-29 22:47 ` [Bug libgcj/17738] " pinskia at gcc dot gnu dot org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: tromey at gcc dot gnu dot org @ 2004-09-29 20:54 UTC (permalink / raw)
  To: java-prs

Right now I think interpreted classes and other things
loaded by the system class loader are stored in the
internal class cache.

First, this seems incorrect.  I think it would be better
to use this only for classes that are linked into the
application and thus registered before the VM has been
brought up.  Once the VM is up, new classes should be
registered with the system ClassLoader (via the loadedClasses
map).

Second, I believe we do multiple calls to _Jv_FindClassInCache
when trying to load a class.  With the change above we should
only need one, at the very lowest level of the search.

-- 
           Summary: Binary Compatibility: _Jv_FindClassInCache
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: libgcj
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tromey 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=17738


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

* [Bug libgcj/17738] Binary Compatibility: _Jv_FindClassInCache
  2004-09-29 20:54 [Bug libgcj/17738] New: Binary Compatibility: _Jv_FindClassInCache tromey at gcc dot gnu dot org
@ 2004-09-29 22:47 ` pinskia at gcc dot gnu dot org
  2005-01-07 23:52 ` tromey at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-29 22:47 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-29 22:47 -------
Confirmed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-09-29 22:47:03
               date|                            |


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


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

* [Bug libgcj/17738] Binary Compatibility: _Jv_FindClassInCache
  2004-09-29 20:54 [Bug libgcj/17738] New: Binary Compatibility: _Jv_FindClassInCache tromey at gcc dot gnu dot org
  2004-09-29 22:47 ` [Bug libgcj/17738] " pinskia at gcc dot gnu dot org
@ 2005-01-07 23:52 ` tromey at gcc dot gnu dot org
  2005-01-10 19:39 ` cvs-commit at gcc dot gnu dot org
  2005-01-10 19:41 ` tromey at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: tromey at gcc dot gnu dot org @ 2005-01-07 23:52 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From tromey at gcc dot gnu dot org  2005-01-07 23:52 -------
I'm testing a fix


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


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


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

* [Bug libgcj/17738] Binary Compatibility: _Jv_FindClassInCache
  2004-09-29 20:54 [Bug libgcj/17738] New: Binary Compatibility: _Jv_FindClassInCache tromey at gcc dot gnu dot org
  2004-09-29 22:47 ` [Bug libgcj/17738] " pinskia at gcc dot gnu dot org
  2005-01-07 23:52 ` tromey at gcc dot gnu dot org
@ 2005-01-10 19:39 ` cvs-commit at gcc dot gnu dot org
  2005-01-10 19:41 ` tromey at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-01-10 19:39 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-01-10 19:39 -------
Subject: Bug 17738

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	tromey@gcc.gnu.org	2005-01-10 19:39:26

Modified files:
	libjava        : ChangeLog defineclass.cc prims.cc 
	libjava/gnu/gcj/runtime: VMClassLoader.java natVMClassLoader.cc 
	libjava/include: jvm.h 
	libjava/java/lang: Class.h Package.java VMClassLoader.java 
	                   natClassLoader.cc natVMClassLoader.cc 

Log message:
	PR libgcj/12016, PR libgcj/18405, PR libgcj/17738:
	* java/lang/Package.java (getPackages): Use VMClassLoader when
	appropriate.
	(getPackage): Likewise.
	* prims.cc (_Jv_CreateJavaVM): Call
	_Jv_RegisterBootstrapPackages.
	* include/jvm.h (_Jv_RegisterBootstrapPackages): Declare.
	* java/lang/VMClassLoader.java (getPackage): Rewrote.
	(getPackages): Likewise.
	(definedPackages): New field.
	(definePackageForNative): New method.
	* java/lang/Class.h (_Jv_FindClassInCache): Updated.
	* java/lang/natVMClassLoader.cc (loadClass): Updated.
	* defineclass.cc (handleClassBegin): Use
	ClassLoader.findLoadedClass.
	* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
	Rewrote.
	(struct _Jv_LoaderInfo): Removed.
	(initiated_classes): Likewise.
	(_Jv_UnregisterClass): Don't use initiated_classes.
	(_Jv_FindClassInCache): Likewise.  Removed 'loader' argument.
	(_Jv_FindClass): Register classes found during boostrap.
	(BOOTSTRAP_CLASS_LIST_SIZE): New define.
	(bootstrap_class_list): New global.
	(bootstrap_index): Likewise.
	(_Jv_RegisterBootstrapPackages): New function.
	* gnu/gcj/runtime/natVMClassLoader.cc (findClass): Call
	definePackageForNative.
	(findClass): Updated.
	* gnu/gcj/runtime/VMClassLoader.java (definePackageForNative):
	New method.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.3280&r2=1.3281
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/defineclass.cc.diff?cvsroot=gcc&r1=1.42&r2=1.43
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/prims.cc.diff?cvsroot=gcc&r1=1.100&r2=1.101
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/runtime/VMClassLoader.java.diff?cvsroot=gcc&r1=1.16&r2=1.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/runtime/natVMClassLoader.cc.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/jvm.h.diff?cvsroot=gcc&r1=1.72&r2=1.73
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/Class.h.diff?cvsroot=gcc&r1=1.74&r2=1.75
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/Package.java.diff?cvsroot=gcc&r1=1.9&r2=1.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/VMClassLoader.java.diff?cvsroot=gcc&r1=1.11&r2=1.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/natClassLoader.cc.diff?cvsroot=gcc&r1=1.73&r2=1.74
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/natVMClassLoader.cc.diff?cvsroot=gcc&r1=1.3&r2=1.4



-- 


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


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

* [Bug libgcj/17738] Binary Compatibility: _Jv_FindClassInCache
  2004-09-29 20:54 [Bug libgcj/17738] New: Binary Compatibility: _Jv_FindClassInCache tromey at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2005-01-10 19:39 ` cvs-commit at gcc dot gnu dot org
@ 2005-01-10 19:41 ` tromey at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: tromey at gcc dot gnu dot org @ 2005-01-10 19:41 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From tromey at gcc dot gnu dot org  2005-01-10 19:40 -------
I've checked in the fix


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.0.0


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


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

end of thread, other threads:[~2005-01-10 19:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-29 20:54 [Bug libgcj/17738] New: Binary Compatibility: _Jv_FindClassInCache tromey at gcc dot gnu dot org
2004-09-29 22:47 ` [Bug libgcj/17738] " pinskia at gcc dot gnu dot org
2005-01-07 23:52 ` tromey at gcc dot gnu dot org
2005-01-10 19:39 ` cvs-commit at gcc dot gnu dot org
2005-01-10 19:41 ` tromey 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).