Skip to content

Commit

Permalink
add invoke dynamic to PCAIL
Browse files Browse the repository at this point in the history
  • Loading branch information
mebigfatguy committed Apr 26, 2017
1 parent 3ea4a90 commit 67f911e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
6 changes: 3 additions & 3 deletions .settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,12 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7
org.eclipse.jdt.core.compiler.source=1.8
Expand Up @@ -129,7 +129,7 @@ public void sawOpcode(int seen) {
case GOTO_W:
processBranch();
break;

case INVOKESPECIAL:
if (Values.CONSTRUCTOR.equals(getNameConstantOperand()) && SignatureBuilder.SIG_VOID_TO_VOID.equals(getSigConstantOperand())) {
String clsName = getClassConstantOperand();
Expand All @@ -144,6 +144,7 @@ public void sawOpcode(int seen) {
case INVOKEINTERFACE:
case INVOKEVIRTUAL:
case INVOKESTATIC:
case INVOKEDYNAMIC:
String signature = getSigConstantOperand();
int numParameters = SignatureUtils.getNumParameters(signature);
if (stack.getStackDepth() >= numParameters) {
Expand All @@ -154,7 +155,7 @@ public void sawOpcode(int seen) {
allocations.remove(allocation);
}
}
if (((seen == INVOKEINTERFACE) || (seen == INVOKEVIRTUAL) || (seen == INVOKESPECIAL))
if (((seen == INVOKEINTERFACE) || (seen == INVOKEVIRTUAL) || (seen == INVOKESPECIAL) || (seen == INVOKEDYNAMIC))
// ignore possible method chaining
&& (stack.getStackDepth() > numParameters)) {
OpcodeStack.Item item = stack.getStackItem(numParameters);
Expand Down

0 comments on commit 67f911e

Please sign in to comment.