[
https://issues.jboss.org/browse/JASSIST-186?page=com.atlassian.jira.plugi...
]
Grigori Goronzy commented on JASSIST-186:
-----------------------------------------
I bisected this issue. It is caused by commit 669, which added invokedynamic support.
Among other things, this reserves an element more stack space for invokevirtual calls. I
am not quite sure why. The issue with that is that later on the argument count for
invokeinterface calls is determined from the stack size.
The attached patch changes and simplifies this calculation so that it is based on the
actual argument count.
java.lang.VerifyError: Inconsistent args count operand in
invokeinterface in method
-----------------------------------------------------------------------------------
Key: JASSIST-186
URL:
https://issues.jboss.org/browse/JASSIST-186
Project: Javassist
Issue Type: Bug
Affects Versions: 3.17.0-GA, 3.17.1-GA
Reporter: Lauri Tulmin
Assignee: Shigeru Chiba
Attachments: JASSIST-186.patch, javassist-bug2.zip
Happens when the argument of interface method call comes from anoter method call, like
{code}
m.insertBefore(
"{" +
" java.util.List l = new java.util.ArrayList();" +
" l.add(this.toString());" +
"}"
);
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira