comparison graal/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/internal/SpecializationNode.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 986f1c0d6f55
comparison
equal deleted inserted replaced
20129:5b7db8941fd7 20130:8dc73c226c63
77 updateRootImpl(((SpecializedNode) node).getSpecializationNode(), node); 77 updateRootImpl(((SpecializedNode) node).getSpecializationNode(), node);
78 return node; 78 return node;
79 } 79 }
80 80
81 private static void updateRootImpl(SpecializationNode start, Node node) { 81 private static void updateRootImpl(SpecializationNode start, Node node) {
82 NodeFieldAccessor[] fields = NodeClass.get(start.getClass()).getFields(); 82 NodeFieldAccessor[] fields = NodeClass.get(start).getFields();
83 for (int i = fields.length - 1; i >= 0; i--) { 83 for (int i = fields.length - 1; i >= 0; i--) {
84 NodeFieldAccessor f = fields[i]; 84 NodeFieldAccessor f = fields[i];
85 if (f.getName().equals("root")) { 85 if (f.getName().equals("root")) {
86 f.putObject(start, node); 86 f.putObject(start, node);
87 break; 87 break;