From fdafd4613f5e867d6065b9951803279a6d40fa56 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Wed, 10 May 2006 17:17:20 +0000 Subject: prims.cc (_Jv_soleIndirectCompiledEngine): New. 2006-05-09 Andrew Haley * 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 --- libjava/link.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libjava/link.cc') diff --git a/libjava/link.cc b/libjava/link.cc index 6c28151..4f01cb5 100644 --- a/libjava/link.cc +++ b/libjava/link.cc @@ -1527,6 +1527,8 @@ _Jv_Linker::ensure_fields_laid_out (jclass klass) else instance_size = java::lang::Object::class$.size(); + klass->engine->allocate_field_initializers (klass); + for (int i = 0; i < klass->field_count; i++) { int field_size; @@ -1539,7 +1541,6 @@ _Jv_Linker::ensure_fields_laid_out (jclass klass) // It is safe to resolve the field here, since it's a // primitive class, which does not cause loading to happen. resolve_field (field, klass->loader); - field_size = field->type->size (); field_align = get_alignment_from_class (field->type); } -- cgit v1.1