summaryrefslogtreecommitdiff
path: root/libjava/defineclass.cc
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-10 01:18:30 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-10 01:18:30 +0000
commit91b931f99911a9111788d681600e0b9efa7f9c9e (patch)
tree45cc1d1d0e9f8a64a919f48430d377afbd8b126c /libjava/defineclass.cc
parent460ee42fcdab0bf053c4365bb2258d119c7d9de5 (diff)
downloadgcc-91b931f99911a9111788d681600e0b9efa7f9c9e.tar.gz
* resolve.cc (_Jv_PrepareClass): Verify method here...
* defineclass.cc (handleMethodsEnd): ... not here. * verify.cc (_Jv_BytecodeVerifier::initialize_stack): New method. (_Jv_BytecodeVerifier::verify_instructions_0) [op_return]: Ensure there are no uninitialized objects. (_Jv_BytecodeVerifier::state::this_type): New field. (_Jv_BytecodeVerifier::state::state): Initialize this_type. (_Jv_BytecodeVerifier::state::copy): Copy this_type. (_Jv_BytecodeVerifier::state::merge): Merge this_type. (_Jv_BytecodeVerifier::state::check_no_uninitialized_objects): Handle this_type. (_Jv_BytecodeVerifier::state::check_this_initialized): New method. (_Jv_BytecodeVerifier::state::set_initialized): Handle this_type. (_Jv_BytecodeVerifier::state::set_this_type): New method. (_Jv_BytecodeVerifier::verify_instructions_0) [op_putfield]: Allow assignment to fields of `this' before another initializer is run. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47826 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/defineclass.cc')
-rw-r--r--libjava/defineclass.cc11
1 files changed, 1 insertions, 10 deletions
diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc
index 290152713e2..df2da0968e7 100644
--- a/libjava/defineclass.cc
+++ b/libjava/defineclass.cc
@@ -940,7 +940,7 @@ _Jv_ClassReader::handleClassBegin
pool_data[super_class].clazz = the_super;
pool_tags[super_class] = JV_CONSTANT_ResolvedClass;
}
-
+
// now we've come past the circularity problem, we can
// now say that we're loading...
@@ -1315,15 +1315,6 @@ void _Jv_ClassReader::handleMethodsEnd ()
{
if (def->interpreted_methods[i] == 0)
throw_class_format_error ("method with no code");
-
- if (verify)
- {
- _Jv_InterpMethod *m;
- m = (reinterpret_cast<_Jv_InterpMethod *>
- (def->interpreted_methods[i]));
- // FIXME: enable once verifier is more fully tested.
- // _Jv_VerifyMethod (m);
- }
}
}
}