Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/GraphPrintVisitor.java @ 20130:8dc73c226c63
Truffle: cache NodeClass lookup in Node.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Thu, 02 Apr 2015 01:26:31 +0200 |
parents | 5b7db8941fd7 |
children |
comparison
equal
deleted
inserted
replaced
20129:5b7db8941fd7 | 20130:8dc73c226c63 |
---|---|
260 setNodeProperty(node, property.getKey(), property.getValue()); | 260 setNodeProperty(node, property.getKey(), property.getValue()); |
261 } | 261 } |
262 } | 262 } |
263 | 263 |
264 private void readNodeProperties(Node node) { | 264 private void readNodeProperties(Node node) { |
265 NodeFieldAccessor[] fields = NodeClass.get(node.getClass()).getFields(); | 265 NodeFieldAccessor[] fields = node.getNodeClass().getFields(); |
266 for (NodeFieldAccessor field : fields) { | 266 for (NodeFieldAccessor field : fields) { |
267 if (field.getKind() == NodeFieldKind.DATA) { | 267 if (field.getKind() == NodeFieldKind.DATA) { |
268 String key = field.getName(); | 268 String key = field.getName(); |
269 if (getPropertyElement(node, key) == null) { | 269 if (getPropertyElement(node, key) == null) { |
270 Object value = field.loadValue(node); | 270 Object value = field.loadValue(node); |
337 return this; | 337 return this; |
338 } | 338 } |
339 | 339 |
340 private static LinkedHashMap<String, Node> findNamedNodeChildren(Node node) { | 340 private static LinkedHashMap<String, Node> findNamedNodeChildren(Node node) { |
341 LinkedHashMap<String, Node> nodes = new LinkedHashMap<>(); | 341 LinkedHashMap<String, Node> nodes = new LinkedHashMap<>(); |
342 NodeClass nodeClass = NodeClass.get(node.getClass()); | 342 NodeClass nodeClass = node.getNodeClass(); |
343 | 343 |
344 for (NodeFieldAccessor field : nodeClass.getFields()) { | 344 for (NodeFieldAccessor field : nodeClass.getFields()) { |
345 NodeFieldKind kind = field.getKind(); | 345 NodeFieldKind kind = field.getKind(); |
346 if (kind == NodeFieldKind.CHILD || kind == NodeFieldKind.CHILDREN) { | 346 if (kind == NodeFieldKind.CHILD || kind == NodeFieldKind.CHILDREN) { |
347 Object value = field.loadValue(node); | 347 Object value = field.loadValue(node); |