Mercurial > hg > truffle
changeset 17312:b1fc1ad0439e
removed value number cache
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 01 Oct 2014 23:20:10 +0200 |
parents | 8b4364df9bd3 |
children | d6e4c9031ff6 |
files | graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java |
diffstat | 1 files changed, 1 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java Wed Oct 01 22:02:52 2014 +0200 +++ b/graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java Wed Oct 01 23:20:10 2014 +0200 @@ -58,8 +58,6 @@ private final TypeElement NodeInputList; private final TypeElement NodeSuccessorList; private final TypeElement ValueNumberable; - private final TypeElement DebugMetric; - private final TypeElement Debug; private final List<VariableElement> inputFields = new ArrayList<>(); private final List<VariableElement> inputListFields = new ArrayList<>(); @@ -85,8 +83,6 @@ this.NodeInputList = getTypeElement("com.oracle.graal.graph.NodeInputList"); this.NodeSuccessorList = getTypeElement("com.oracle.graal.graph.NodeSuccessorList"); this.ValueNumberable = getTypeElement("com.oracle.graal.graph.Node.ValueNumberable"); - this.DebugMetric = getTypeElement("com.oracle.graal.debug.DebugMetric"); - this.Debug = getTypeElement("com.oracle.graal.debug.Debug"); } @SafeVarargs @@ -443,19 +439,8 @@ private void createValueNumberMethod(TypeElement node) { if (isAssignableWithErasure(node, ValueNumberable)) { - String simpleName = node.getSimpleName().toString(); - CodeVariableElement cacheHitMetric = new CodeVariableElement(modifiers(PRIVATE, STATIC, FINAL), DebugMetric.asType(), "ValueNumberableCache_" + simpleName + "_Hit"); - CodeVariableElement cacheMissMetric = new CodeVariableElement(modifiers(PRIVATE, STATIC, FINAL), DebugMetric.asType(), "ValueNumberableCache_" + simpleName + "_Miss"); - cacheHitMetric.createInitBuilder().type(Debug.asType()).string(".metric(\"", cacheHitMetric.getName().replace('_', '.') + "\")").end(); - cacheMissMetric.createInitBuilder().type(Debug.asType()).string(".metric(\"", cacheMissMetric.getName().replace('_', '.') + "\")").end(); - - genClass.add(new CodeVariableElement(modifiers(PRIVATE), getType(int.class), "valueNumber")); - genClass.add(cacheHitMetric); - genClass.add(cacheMissMetric); - CodeExecutableElement method = new CodeExecutableElement(modifiers(PUBLIC), getType(int.class), "getValueNumber"); CodeTreeBuilder b = method.createBuilder(); - b.startIf().string("valueNumber == 0").end().startBlock(); b.startStatement().string("int number = " + node.hashCode()).end(); for (VariableElement f : dataFields) { String fname = f.getSimpleName().toString(); @@ -495,11 +480,8 @@ break; } } - b.startStatement().string("valueNumber = number").end(); - b.startStatement().string("ValueNumberableCache_" + simpleName + "_Miss", ".increment()").end(); b.end(); - b.startElseBlock().startStatement().string("ValueNumberableCache_" + simpleName + "_Hit", ".increment()").end().end(); - b.startReturn().string("valueNumber").end(); + b.startReturn().string("number").end(); genClass.add(method); checkOnlyInGenNode(method); }