Mercurial > hg > truffle
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; |