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