diff options
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/verify.cc | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index af02f3e..99a69b8 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2001-11-19 Tom Tromey <tromey@redhat.com> + + * verify.cc (_Jv_BytecodeVerifier::verify_instructions_0) + [op_lshl, op_lshr, op_lushr]: Shift argument is an int, not a + long. + 2001-11-18 Tom Tromey <tromey@redhat.com> * verify.cc (type::to_array): New method. diff --git a/libjava/verify.cc b/libjava/verify.cc index 8c290a3..2562d1af 100644 --- a/libjava/verify.cc +++ b/libjava/verify.cc @@ -2132,15 +2132,18 @@ private: case op_lmul: case op_ldiv: case op_lrem: - case op_lshl: - case op_lshr: - case op_lushr: case op_land: case op_lor: case op_lxor: pop_type (long_type); push_type (pop_type (long_type)); break; + case op_lshl: + case op_lshr: + case op_lushr: + pop_type (int_type); + push_type (pop_type (long_type)); + break; case op_fadd: case op_fsub: case op_fmul: |