# HG changeset patch # User Christian Humer # Date 1396660728 -7200 # Node ID cceed4ebedb996fd743c5ffc9d9928c049d31d80 # Parent a5bebb69dc78ad982372e2a722a565ace4289651 Truffle: fixed NPE in the TruffleExpansionLogger. diff -r a5bebb69dc78 -r cceed4ebedb9 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleExpansionLogger.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleExpansionLogger.java Sat Apr 05 03:18:48 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleExpansionLogger.java Sat Apr 05 03:18:48 2014 +0200 @@ -48,15 +48,17 @@ int sourceMethodBci = callTarget.invoke().bci(); ResolvedJavaMethod targetMethod = callTarget.targetMethod(); Object targetReceiver = null; - if (!Modifier.isStatic(sourceMethod.getModifiers())) { - targetReceiver = callTarget.arguments().first().asConstant().asObject(); + if (!Modifier.isStatic(sourceMethod.getModifiers()) && callTarget.receiver().isConstant()) { + targetReceiver = callTarget.receiver().asConstant().asObject(); } - ExpansionTree parent = callToParentTree.get(callTarget); - assert parent != null; - callToParentTree.remove(callTarget); - ExpansionTree tree = new ExpansionTree(parent, targetReceiver, targetMethod, sourceMethodBci); - registerParentInCalls(tree, inliningGraph); + if (targetReceiver != null) { + ExpansionTree parent = callToParentTree.get(callTarget); + assert parent != null; + callToParentTree.remove(callTarget); + ExpansionTree tree = new ExpansionTree(parent, targetReceiver, targetMethod, sourceMethodBci); + registerParentInCalls(tree, inliningGraph); + } } @SuppressWarnings("unchecked")