diff options
author | Tom Tromey <tromey@redhat.com> | 2001-12-10 01:18:30 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-12-10 01:18:30 +0000 |
commit | 6d8b12448d9bbe96517f2145a93f4589e947edb5 (patch) | |
tree | 45cc1d1d0e9f8a64a919f48430d377afbd8b126c /libjava/defineclass.cc | |
parent | ec10f7c7036edcb58649048bef39ade57fc12594 (diff) | |
download | gcc-6d8b12448d9bbe96517f2145a93f4589e947edb5.zip gcc-6d8b12448d9bbe96517f2145a93f4589e947edb5.tar.gz gcc-6d8b12448d9bbe96517f2145a93f4589e947edb5.tar.bz2 |
resolve.cc (_Jv_PrepareClass): Verify method here...
* 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.
From-SVN: r47826
Diffstat (limited to 'libjava/defineclass.cc')
-rw-r--r-- | libjava/defineclass.cc | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc index 2901527..df2da09 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); - } } } } |