Mercurial > hg > graal-jvmci-8
changeset 19018:52be1821f533
Merge
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Wed, 28 Jan 2015 19:56:03 -0800 |
parents | f7375de5eaa0 (diff) b7797e485eb8 (current diff) |
children | a11dcfb15695 |
files | |
diffstat | 2 files changed, 6 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Wed Jan 28 17:48:54 2015 -0800 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Wed Jan 28 19:56:03 2015 -0800 @@ -664,7 +664,7 @@ * Marks a method that it is considered as a boundary for Truffle partial evaluation. */ @Retention(RetentionPolicy.RUNTIME) - @Target({ElementType.METHOD}) + @Target({ElementType.METHOD, ElementType.CONSTRUCTOR}) public @interface TruffleBoundary { }
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java Wed Jan 28 17:48:54 2015 -0800 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java Wed Jan 28 19:56:03 2015 -0800 @@ -362,15 +362,6 @@ return childrenFields; } - public NodeField findField(long fieldOffset) { - for (NodeField field : getFields()) { - if (field.getOffset() == fieldOffset) { - return field; - } - } - return null; - } - @Override public int hashCode() { return clazz.hashCode(); @@ -665,20 +656,18 @@ NodeClass parentNodeClass = NodeClass.get(parent.getClass()); for (NodeField field : parentNodeClass.getChildFields()) { - final long fieldOffset = field.getOffset(); - if (unsafe.getObject(parent, fieldOffset) == child) { - return parentNodeClass.findField(fieldOffset); + if (field.getObject(parent) == child) { + return field; } } for (NodeField field : parentNodeClass.getChildrenFields()) { - final long fieldOffset = field.getOffset(); - Object arrayObject = unsafe.getObject(parent, fieldOffset); + Object arrayObject = field.getObject(parent); if (arrayObject != null) { Object[] array = (Object[]) arrayObject; for (int i = 0; i < array.length; i++) { if (array[i] == child) { - return parentNodeClass.findField(fieldOffset); + return field; } } } @@ -1091,6 +1080,7 @@ final StringBuilder sb = new StringBuilder(); sb.append("source:"); sb.append(" (" + section.getCharIndex() + "," + (section.getCharEndIndex() - 1) + ")"); + sb.append(" line=" + section.getLineLocation().getLineNumber()); sb.append(" len=" + srcText.length()); sb.append(" text=\"" + srcText + "\""); return sb.toString();