Hello,

I'd like to explain the correct work of verifier with invokespecial
instruction.

There are 2 structural constraints in Java VM Specification which are
directly related with invokespecial instruction:
1. About methods that instruction must invoke.
2. About protected methods invocation.

These constraints apply restrictions on a type of object instance for
invokespecial instruction. If invokespecial instruction invokes an instance
initialization method, the type of the class instance being accessed must be
the direct super class of invoked method class. If instruction invokes
another method, the type of the class instance being accessed must be the
same as or a subclass of the current class. Verifier checks both these
cases.

Volunteers are welcome to fix the issue described in Harmony-919!

On 19/07/06, Pavel Rebriy (JIRA) <[EMAIL PROTECTED]> wrote:

[drlvm] Verifier: invokespecial instruction check fix
-----------------------------------------------------

                 Key: HARMONY-919
                 URL: http://issues.apache.org/jira/browse/HARMONY-919
             Project: Harmony
          Issue Type: Bug
          Components: VM
            Reporter: Pavel Rebriy


I've found a bug in DRLVM: verifier incorrectly checks invokes by
invokespecial instruction as requested by Java VM Specification.

Test tries to invoke public method of super class by invokespecial
instruction and type of object is the direct super class of current class.

To run the test use the following command:
<path to drl vm>/bin/ij Test


--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




--
Best regards,
Pavel Rebriy

Reply via email to