Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationData.java @ 8592:a80bf36c6a1e
Refactor to shared template method signature comparison.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 01 Apr 2013 11:52:38 +0200 |
parents | 89006c76f737 |
children | 8a1115c92271 |
comparison
equal
deleted
inserted
replaced
8591:5c58da5b8233 | 8592:a80bf36c6a1e |
---|---|
26 | 26 |
27 import com.oracle.truffle.api.codegen.*; | 27 import com.oracle.truffle.api.codegen.*; |
28 import com.oracle.truffle.codegen.processor.*; | 28 import com.oracle.truffle.codegen.processor.*; |
29 import com.oracle.truffle.codegen.processor.node.NodeFieldData.*; | 29 import com.oracle.truffle.codegen.processor.node.NodeFieldData.*; |
30 import com.oracle.truffle.codegen.processor.template.*; | 30 import com.oracle.truffle.codegen.processor.template.*; |
31 import com.oracle.truffle.codegen.processor.typesystem.*; | |
31 | 32 |
32 public class SpecializationData extends TemplateMethod { | 33 public class SpecializationData extends TemplateMethod { |
33 | 34 |
34 private final int order; | 35 private final int order; |
35 private final boolean generic; | 36 private final boolean generic; |
36 private final boolean uninitialized; | 37 private final boolean uninitialized; |
37 private final List<SpecializationThrowsData> exceptions; | 38 private final List<SpecializationThrowsData> exceptions; |
38 private List<SpecializationGuardData> guards; | 39 private List<String> guardDefinitions = Collections.emptyList(); |
40 private List<GuardData> guards; | |
39 private List<ShortCircuitData> shortCircuits; | 41 private List<ShortCircuitData> shortCircuits; |
40 private boolean useSpecializationsForGeneric = true; | 42 private boolean useSpecializationsForGeneric = true; |
41 private NodeData node; | 43 private NodeData node; |
42 | 44 |
43 public SpecializationData(TemplateMethod template, int order, List<SpecializationThrowsData> exceptions) { | 45 public SpecializationData(TemplateMethod template, int order, List<SpecializationThrowsData> exceptions) { |
99 | 101 |
100 public void setNode(NodeData node) { | 102 public void setNode(NodeData node) { |
101 this.node = node; | 103 this.node = node; |
102 } | 104 } |
103 | 105 |
104 public void setGuards(List<SpecializationGuardData> guards) { | 106 public void setGuards(List<GuardData> guards) { |
105 this.guards = guards; | 107 this.guards = guards; |
108 } | |
109 | |
110 public void setGuardDefinitions(List<String> guardDefinitions) { | |
111 this.guardDefinitions = guardDefinitions; | |
106 } | 112 } |
107 | 113 |
108 public int getOrder() { | 114 public int getOrder() { |
109 return order; | 115 return order; |
110 } | 116 } |
119 | 125 |
120 public List<SpecializationThrowsData> getExceptions() { | 126 public List<SpecializationThrowsData> getExceptions() { |
121 return exceptions; | 127 return exceptions; |
122 } | 128 } |
123 | 129 |
124 public List<SpecializationGuardData> getGuards() { | 130 public List<String> getGuardDefinitions() { |
131 return guardDefinitions; | |
132 } | |
133 | |
134 public List<GuardData> getGuards() { | |
125 return guards; | 135 return guards; |
126 } | 136 } |
127 | 137 |
128 public void setShortCircuits(List<ShortCircuitData> shortCircuits) { | 138 public void setShortCircuits(List<ShortCircuitData> shortCircuits) { |
129 this.shortCircuits = shortCircuits; | 139 this.shortCircuits = shortCircuits; |
150 } | 160 } |
151 return null; | 161 return null; |
152 } | 162 } |
153 | 163 |
154 public boolean hasDynamicGuards() { | 164 public boolean hasDynamicGuards() { |
155 for (SpecializationGuardData guard : getGuards()) { | 165 return !getGuards().isEmpty(); |
156 if (guard.isOnExecution()) { | |
157 return true; | |
158 } | |
159 } | |
160 return false; | |
161 } | 166 } |
162 | 167 |
163 } | 168 } |