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:
parent
05a79eb6bc
commit
fdafd4613f
7 changed files with 119 additions and 21 deletions
|
@ -96,6 +96,7 @@ struct _Jv_ArrayVTable;
|
|||
class _Jv_Linker;
|
||||
class _Jv_ExecutionEngine;
|
||||
class _Jv_CompiledEngine;
|
||||
class _Jv_IndirectCompiledEngine;
|
||||
class _Jv_InterpreterEngine;
|
||||
|
||||
#ifdef INTERPRETER
|
||||
|
@ -538,6 +539,7 @@ private:
|
|||
friend class ::_Jv_Linker;
|
||||
friend class ::_Jv_ExecutionEngine;
|
||||
friend class ::_Jv_CompiledEngine;
|
||||
friend class ::_Jv_IndirectCompiledEngine;
|
||||
friend class ::_Jv_InterpreterEngine;
|
||||
|
||||
friend void ::_Jv_sharedlib_register_hook (jclass klass);
|
||||
|
|
|
@ -200,6 +200,8 @@ _Jv_NewClassFromInitializer (const jclass class_initializer)
|
|||
&java::lang::Class::class$);
|
||||
memcpy ((void*)new_class, (void*)class_initializer, sizeof *new_class);
|
||||
|
||||
new_class->engine = &_Jv_soleIndirectCompiledEngine;
|
||||
|
||||
if (_Jv_CheckABIVersion ((unsigned long) new_class->next_or_version))
|
||||
(*_Jv_RegisterClassHook) (new_class);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue