diff options
author | Andrew Haley <aph@redhat.com> | 2006-05-10 17:17:20 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2006-05-10 17:17:20 +0000 |
commit | fdafd4613f5e867d6065b9951803279a6d40fa56 (patch) | |
tree | 3d05e19771942fcb867ce8da5bf1c3330d200872 /libjava/gnu | |
parent | 05a79eb6bce1cb36c961e6d5421a960395a7a0a1 (diff) | |
download | gcc-fdafd4613f5e867d6065b9951803279a6d40fa56.zip gcc-fdafd4613f5e867d6065b9951803279a6d40fa56.tar.gz gcc-fdafd4613f5e867d6065b9951803279a6d40fa56.tar.bz2 |
prims.cc (_Jv_soleIndirectCompiledEngine): New.
2006-05-09 Andrew Haley <aph@redhat.com>
* prims.cc (_Jv_soleIndirectCompiledEngine): New.
* include/execution.h (Jv_CompiledEngine::do_allocate_static_fields):
Remove body.
(_Jv_CompiledEngine::allocate_field_initializers): New.
(_Jv_CompiledEngine::_Jv_CompiledEngine): Initialize
allocate_field_initializers.
(class _Jv_IndirectCompiledClass): New.
(struct _Jv_IndirectCompiledEngine): New.
* java/lang/Class.h: (IndirectCompiledEngine): New.
* java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Set
engine to _Jv_soleIndirectCompiledEngine
* link.cc (ensure_fields_laid_out): Call
engine->allocate_field_initializers().
From-SVN: r113674
Diffstat (limited to 'libjava/gnu')
-rw-r--r-- | libjava/gnu/gcj/runtime/natSharedLibLoader.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libjava/gnu/gcj/runtime/natSharedLibLoader.cc b/libjava/gnu/gcj/runtime/natSharedLibLoader.cc index fcff8f2..19d136c 100644 --- a/libjava/gnu/gcj/runtime/natSharedLibLoader.cc +++ b/libjava/gnu/gcj/runtime/natSharedLibLoader.cc @@ -44,7 +44,8 @@ _Jv_sharedlib_register_hook (jclass cls) { cls->protectionDomain = curHelper->domain; cls->loader = curLoader; - cls->engine = &_Jv_soleCompiledEngine; + if (! cls->engine) + cls->engine = &_Jv_soleCompiledEngine; curHelper->registerClass(cls->getName(), cls); } @@ -95,6 +96,7 @@ gnu::gcj::runtime::SharedLibHelper::init(void) { const char *msg = dlerror(); throw new java::lang::UnknownError(JvNewStringLatin1(msg)); + fprintf (stderr, "failed loading %s: %s\n", lname, msg); } handler = (gnu::gcj::RawData*) h; #else |