From 728bce52cea3422318c150bae42b4ea6260f8fc7 Mon Sep 17 00:00:00 2001 From: Tomas Stupka <tomas.stupka@oracle.com> Date: Thu, 12 Oct 2017 17:42:47 +0200 Subject: [PATCH] fixed incorrect return in CopyMostAttrib, LockBinding and UnlockBinding nodes --- .../r/ffi/impl/nodes/AttributesAccessNodes.java | 4 ++-- .../oracle/truffle/r/ffi/impl/nodes/EnvNodes.java | 13 ++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/AttributesAccessNodes.java b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/AttributesAccessNodes.java index 1ce91a921d..7bcfe69ff7 100644 --- a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/AttributesAccessNodes.java +++ b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/AttributesAccessNodes.java @@ -124,13 +124,13 @@ public final class AttributesAccessNodes { @Child protected CopyOfRegAttributesNode copyRegAttributes; @Specialization - public Object doList(RAttributeStorage x, RAttributeStorage y) { + public int doRAttributeStorage(RAttributeStorage x, RAttributeStorage y) { if (copyRegAttributes == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); copyRegAttributes = CopyOfRegAttributesNode.create(); } copyRegAttributes.execute(x, y); - return RNull.instance; + return 0; } @Fallback diff --git a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/EnvNodes.java b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/EnvNodes.java index 57441100e9..4dc716fc42 100644 --- a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/EnvNodes.java +++ b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/EnvNodes.java @@ -27,7 +27,6 @@ import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.dsl.TypeSystemReference; import static com.oracle.truffle.r.ffi.impl.common.RFFIUtils.guaranteeInstanceOf; import com.oracle.truffle.r.runtime.RInternalError; -import com.oracle.truffle.r.runtime.data.RNull; import com.oracle.truffle.r.runtime.data.RSymbol; import com.oracle.truffle.r.runtime.data.RTypes; import com.oracle.truffle.r.runtime.env.REnvironment; @@ -38,14 +37,14 @@ public class EnvNodes { public abstract static class LockBindingNode extends FFIUpCallNode.Arg2 { @Specialization - Object lock(RSymbol sym, REnvironment env) { + int lock(RSymbol sym, REnvironment env) { // TODO copied from EnvFunctions.LockBinding env.lockBinding(sym.getName()); - return RNull.instance; + return 0; } @Fallback - Object lock(Object sym, Object env) { + int lock(Object sym, Object env) { guaranteeInstanceOf(sym, RSymbol.class); guaranteeInstanceOf(env, REnvironment.class); throw RInternalError.shouldNotReachHere(); @@ -60,14 +59,14 @@ public class EnvNodes { public abstract static class UnlockBindingNode extends FFIUpCallNode.Arg2 { @Specialization - Object unlock(RSymbol sym, REnvironment env) { + int unlock(RSymbol sym, REnvironment env) { // TODO copied from EnvFunctions.LockBinding env.unlockBinding(sym.getName()); - return RNull.instance; + return 0; } @Fallback - Object unlock(Object sym, Object env) { + int unlock(Object sym, Object env) { guaranteeInstanceOf(sym, RSymbol.class); guaranteeInstanceOf(env, REnvironment.class); throw RInternalError.shouldNotReachHere(); -- GitLab