diff options
author | Tom Tromey <tromey@redhat.com> | 2005-09-15 22:02:13 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2005-09-15 22:02:13 +0000 |
commit | a022cd596984f7eb8e6189fdabab09243a217dae (patch) | |
tree | 9f425c2996ae0b146771dcc668979c48675ee708 /libjava/include/java-interp.h | |
parent | 9026e8d4d52b13de3adcb6a165145a30f366decb (diff) | |
download | gcc-a022cd596984f7eb8e6189fdabab09243a217dae.zip gcc-a022cd596984f7eb8e6189fdabab09243a217dae.tar.gz gcc-a022cd596984f7eb8e6189fdabab09243a217dae.tar.bz2 |
re PR libgcj/16032 (libgcj should reject class files with incorrect version numbers)
PR libgcj/16032:
* interpret.cc (AVAL1U): Resolve pool entry when not direct
threaded.
(AVAL2U): Likewise.
(compile): Handle 'ldc class' specially.
(_Jv_InterpMethod::run): Added special 'ldc class' instruction.
* verify.cc (check_constant): Handle 'ldc class' for 1.5 classes.
* defineclass.cc (handleCodeAttribute): Set new field.
(MAJOR_1_1, MINOR_1_1, MAJOR_1_2, MINOR_1_2, MAJOR_1_3, MINOR_1_3,
MAJOR_1_4, MINOR_1_4, MAJOR_1_5, MINOR_1_5): New defines.
(parse): Check version numbers.
(_Jv_ClassReader::is_15): New field.
(_Jv_ClassReader): Initialize it.
* include/java-interp.h (_Jv_InterpMethod::is_15): New field.
From-SVN: r104325
Diffstat (limited to 'libjava/include/java-interp.h')
-rw-r--r-- | libjava/include/java-interp.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index 5155557c..269e39c 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -137,6 +137,7 @@ class _Jv_InterpMethod : public _Jv_MethodBase int code_length; _Jv_ushort exc_count; + bool is_15; // Length of the line_table - when this is zero then line_table is NULL. int line_table_len; @@ -218,7 +219,8 @@ _Jv_GetFirstMethod (_Jv_InterpClass *klass) return klass->interpreted_methods; } -struct _Jv_ResolvedMethod { +struct _Jv_ResolvedMethod +{ jint stack_item_count; jint vtable_index; jclass klass; |