comparison truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java @ 22180:5e5b38579bda

remove FieldOffsetProvider
author Andreas Woess <andreas.woess@oracle.com>
date Tue, 22 Sep 2015 14:56:59 +0200
parents dc83cc1f94f2
children 0d36601f233e
comparison
equal deleted inserted replaced
22179:ee9ae440f1eb 22180:5e5b38579bda
22 * or visit www.oracle.com if you need additional information or have any 22 * or visit www.oracle.com if you need additional information or have any
23 * questions. 23 * questions.
24 */ 24 */
25 package com.oracle.truffle.api.nodes; 25 package com.oracle.truffle.api.nodes;
26 26
27 import com.oracle.truffle.api.CompilerAsserts;
28 import com.oracle.truffle.api.TruffleOptions;
29 import com.oracle.truffle.api.instrument.Probe;
30 import com.oracle.truffle.api.instrument.ProbeNode.WrapperNode;
31 import com.oracle.truffle.api.instrument.StandardSyntaxTag;
32 import com.oracle.truffle.api.instrument.SyntaxTag;
33 import com.oracle.truffle.api.nodes.NodeFieldAccessor.NodeFieldKind;
34 import com.oracle.truffle.api.source.SourceSection;
35 import java.io.OutputStream; 27 import java.io.OutputStream;
36 import java.io.PrintStream; 28 import java.io.PrintStream;
37 import java.io.PrintWriter; 29 import java.io.PrintWriter;
38 import java.io.StringWriter; 30 import java.io.StringWriter;
39 import java.lang.annotation.Annotation; 31 import java.lang.annotation.Annotation;
44 import java.util.Collection; 36 import java.util.Collection;
45 import java.util.Iterator; 37 import java.util.Iterator;
46 import java.util.List; 38 import java.util.List;
47 import java.util.NoSuchElementException; 39 import java.util.NoSuchElementException;
48 import java.util.Objects; 40 import java.util.Objects;
49 import sun.misc.Unsafe; 41
42 import com.oracle.truffle.api.CompilerAsserts;
43 import com.oracle.truffle.api.TruffleOptions;
44 import com.oracle.truffle.api.instrument.Probe;
45 import com.oracle.truffle.api.instrument.ProbeNode.WrapperNode;
46 import com.oracle.truffle.api.instrument.StandardSyntaxTag;
47 import com.oracle.truffle.api.instrument.SyntaxTag;
48 import com.oracle.truffle.api.nodes.NodeFieldAccessor.NodeFieldKind;
49 import com.oracle.truffle.api.source.SourceSection;
50 50
51 /** 51 /**
52 * Utility class that manages the special access methods for node instances. 52 * Utility class that manages the special access methods for node instances.
53 */ 53 */
54 public final class NodeUtil { 54 public final class NodeUtil {
55
56 /**
57 * Interface that allows the customization of field offsets used for {@link Unsafe} field
58 * accesses.
59 */
60 public interface FieldOffsetProvider {
61
62 long objectFieldOffset(Field field);
63
64 int getTypeSize(Class<?> clazz);
65 }
66 55
67 static Iterator<Node> makeIterator(Node node) { 56 static Iterator<Node> makeIterator(Node node) {
68 return node.getNodeClass().makeIterator(node); 57 return node.getNodeClass().makeIterator(node);
69 } 58 }
70 59