Mercurial > hg > truffle
changeset 17410:c58171f94377
Truffle: fix potential null dereferences in call tree visitor.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Fri, 10 Oct 2014 10:54:34 +0200 |
parents | 4c0dcd164718 |
children | 6d82c240d83e |
files | graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java Fri Oct 10 10:54:11 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java Fri Oct 10 10:54:34 2014 +0200 @@ -173,9 +173,11 @@ static int getNodeDepth(List<TruffleInlining> decisionStack, Node node) { int depth = calculateNodeDepth(node); - for (int i = decisionStack.size() - 1; i > 0; i--) { - TruffleInliningDecision decision = (TruffleInliningDecision) decisionStack.get(i); - depth += calculateNodeDepth(decision.getProfile().getCallNode()); + if (decisionStack != null) { + for (int i = decisionStack.size() - 1; i > 0; i--) { + TruffleInliningDecision decision = (TruffleInliningDecision) decisionStack.get(i); + depth += calculateNodeDepth(decision.getProfile().getCallNode()); + } } return depth; } @@ -191,7 +193,7 @@ } static TruffleInliningDecision getCurrentInliningDecision(List<TruffleInlining> decisionStack) { - if (decisionStack.size() <= 1) { + if (decisionStack == null || decisionStack.size() <= 1) { return null; } return (TruffleInliningDecision) decisionStack.get(decisionStack.size() - 1);