You can write such code with Jasmin only. Javac will generage finally sequence to release monitors. I do not sure if we need to fix this in both OPT and JET. May be a scenario when such methods are rejected by OPT and passed by EM to JET is better.
On 1/25/07, Shipilov, Alexander D <[EMAIL PROTECTED]> wrote:
Hello, folks, Could you, please clarify one issue. The problem has described in JIRA https://issues.apache.org/jira/browse/HARMONY-2504. Thread makes monitorenter, and throws exception (NPE) to the output. JASMIN code: .method public run()V .limit stack 3 .limit locals 3 getstatic Test/testField Ljava/lang/Object; monitorenter new java/lang/NullPointerException dup invokespecial java/lang/NullPointerException/<init>()V athrow getstatic Test/testField Ljava/lang/Object; monitorexit return .end method Then other thread tries to get a lock. Deadlock occurs on Harmony. Does this behavior is correct? Thanks, Alexander Shipilov
-- Mikhail Fursov
