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
This commit is contained in:
Andrew Haley
2006-05-10 17:17:20 +00:00
committed by Andrew Haley
parent 05a79eb6bc
commit fdafd4613f
7 changed files with 119 additions and 21 deletions
@@ -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