diff options
author | fitzsim <fitzsim@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-31 23:12:09 +0000 |
---|---|---|
committer | fitzsim <fitzsim@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-31 23:12:09 +0000 |
commit | b756fae74558bbe96c6a3ab94105639590acc0e1 (patch) | |
tree | d8f59d7c64714486fbf35bab84a09347819ed6b6 /gcc/java/gcj.texi | |
parent | c9e1b8d8e16c0c50fee1a4146f4d3ef6d3ea0b9a (diff) | |
download | ppe42-gcc-b756fae74558bbe96c6a3ab94105639590acc0e1.tar.gz ppe42-gcc-b756fae74558bbe96c6a3ab94105639590acc0e1.zip |
2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
* gcj.texi (Extensions): Document the new gcj-dbtool-based
classname-to-library resolution mechanism.
Declare the old gnu.gcj.runtime.VMClassLoader.library_control
mechanism deprecated.
(libgcj Runtime Properties): Document
gnu.gcj.runtime.VMClassLoader.library_control's new default.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114282 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/gcj.texi')
-rw-r--r-- | gcc/java/gcj.texi | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/gcc/java/gcj.texi b/gcc/java/gcj.texi index ae7bcb7532b..2f82d7f981b 100644 --- a/gcc/java/gcj.texi +++ b/gcc/java/gcj.texi @@ -670,16 +670,26 @@ added are to facilitate this functionality. @xref{About CNI}, for more info on how to use this in your programs. @item -When you compile your classes into a shared library they can be automatically -loaded by the @code{libgcj} system classloader. When trying to load a class -@code{gnu.pkg.SomeClass} the system classloader will first try to load the -shared library @file{lib-gnu-pkg-SomeClass.so}, if that fails to load the -class then it will try to load @file{lib-gnu-pkg.so} and finally when the -class is still not loaded it will try to load @file{lib-gnu.so}. Note that +When you compile your classes into a shared library using +@code{-findirect-dispatch} then add them to the system-wide +classmap.db file using @code{gcj-dbtool}, they will be automatically +loaded by the @code{libgcj} system classloader. This is the new, +preferred classname-to-library resolution mechanism. @xref{Invoking +gcj-dbtool}, for more information on using the classmap database. + +@item +The old classname-to-library lookup mechanism is still supported +through the @code{gnu.gcj.runtime.VMClassLoader.library_control} +property, but it is deprecated and will likely be removed in some +future release. When trying to load a class @code{gnu.pkg.SomeClass} +the system classloader will first try to load the shared library +@file{lib-gnu-pkg-SomeClass.so}, if that fails to load the class then +it will try to load @file{lib-gnu-pkg.so} and finally when the class +is still not loaded it will try to load @file{lib-gnu.so}. Note that all @samp{.}s will be transformed into @samp{-}s and that searching -for inner classes starts with their outermost outer class. If the class -cannot be found this way the system classloader tries to use -the @code{libgcj} bytecode interpreter to load the class from the standard +for inner classes starts with their outermost outer class. If the +class cannot be found this way the system classloader tries to use the +@code{libgcj} bytecode interpreter to load the class from the standard classpath. This process can be controlled to some degree via the @code{gnu.gcj.runtime.VMClassLoader.library_control} property; @xref{libgcj Runtime Properties}. @@ -2787,8 +2797,8 @@ frequently. This controls how shared libraries are automatically loaded by the built-in class loader. If this property is set to @samp{full}, a full search is done for each requested class. If this property is set to -@samp{cache} (the default), then any failed lookups are cached and not -tried again. If this property is set to @samp{never}, then lookups +@samp{cache}, then any failed lookups are cached and not tried again. +If this property is set to @samp{never} (the default), then lookups are never done. For more information, @xref{Extensions}. @item gnu.gcj.runtime.endorsed.dirs |