harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Asaf Yaffe <asaf_ya...@yahoo.com>
Subject Re: [drlvm][verifier] Dead-code and Java 6 verification issues
Date Thu, 08 Nov 2007 10:22:00 GMT
Hi Mikhail,

As you point out, there is not quote on the spec about the verifier ignoring applicable exception
handlers. However, consider the following:

Assume the verifier needs to take applicable exception handlers into account when verifying
the code in a dead-block. Since a StackMap cannot be computed for this block (because it is
unreachable by the control and data flow algorithm) it means that the verification will always
fail if the exception handler block has local variables in its StackMap. The end result is
that a dead block will cause verification for the method to fail, which does not make any
sense.

Therefore, I suggest we will take the risk and assume that the behavior described by the ASM
Developer Guide is correct. If you like, we can try and prototype this with some test cases
and see if it really works.

Thanks,
Asaf


----- Original Message ----
From: Mikhail Loenko <mloenko@gmail.com>
To: dev@harmony.apache.org
Sent: Thursday, November 8, 2007 9:29:29 AM
Subject: Re: [drlvm][verifier] Dead-code and Java 6 verification issues

[snip...]

>
> That's what I missed! Could you please provide a link to the quote in
> the spec that nop and athrow are not checked against "applicable"
> exception handlers?

seems like the spec says that it must perform the check...

instructionIsTypeSafe(nop, _Environment, _Offset, StackFrame,
StackFrame, ExceptionStackFrame) :-
exceptionStackFrame(StackFrame, ExceptionStackFrame).

Thanks,
Mikhail





__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message