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);