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