From 68f30f949d60b290a75bbd4d52956a412f01f91c Mon Sep 17 00:00:00 2001 From: Raffi Khatchadourian Date: Mon, 21 Aug 2017 12:59:15 -0400 Subject: [PATCH] Minor performance improvements to methods in TypeInference class (#230) * Only get the variable once. * Only get symbol table if it is needed. --- .../com/ibm/wala/analysis/typeInference/TypeInference.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/typeInference/TypeInference.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/typeInference/TypeInference.java index 2448b1b6b..1d2c51e1f 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/typeInference/TypeInference.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/typeInference/TypeInference.java @@ -727,8 +727,8 @@ public class TypeInference extends SSAInference implements FixedPo @Override public IVariable makeVariable(int valueNumber) { - SymbolTable st = ir.getSymbolTable(); if (doPrimitives) { + SymbolTable st = ir.getSymbolTable(); if (st.isConstant(valueNumber)) { if (st.isBooleanConstant(valueNumber)) { return new TypeVariable(language.getPrimitive(language.getConstantType(Boolean.TRUE))); @@ -752,8 +752,9 @@ public class TypeInference extends SSAInference implements FixedPo if (valueNumber < 0) { throw new IllegalArgumentException("bad value number " + valueNumber); } - assert getVariable(valueNumber) != null : "null variable for value number " + valueNumber; - return getVariable(valueNumber).getType(); + TypeVariable variable = getVariable(valueNumber); + assert variable != null : "null variable for value number " + valueNumber; + return variable.getType(); } public TypeAbstraction getConstantType(int valueNumber) {