Skip to content
Snippets Groups Projects
Commit 035d3d6c authored by Mick Jordan's avatar Mick Jordan
Browse files

additonal serialize .Internals

parent 2a2a9459
No related branches found
No related tags found
No related merge requests found
......@@ -37,13 +37,7 @@ import com.oracle.truffle.r.runtime.env.*;
public class SerializeFunctions {
@RBuiltin(name = "unserializeFromConn", kind = INTERNAL, parameterNames = {"conn", "refhook"})
public abstract static class UnserializeFromConn extends RInvisibleBuiltinNode {
@Specialization
protected Object doUnserializeFromConn(VirtualFrame frame, RConnection conn, @SuppressWarnings("unused") RNull refhook) {
return doUnserializeFromConn(conn, null, RArguments.getDepth(frame));
}
public abstract static class Adapter extends RInvisibleBuiltinNode {
@TruffleBoundary
protected Object doUnserializeFromConn(RConnection conn, @SuppressWarnings("unused") REnvironment refhook, int depth) {
controlVisibility();
......@@ -58,20 +52,6 @@ public class SerializeFunctions {
}
}
@Specialization
protected Object doUnserializeFromConn(VirtualFrame frame, RConnection conn, @SuppressWarnings("unused") REnvironment refhook) {
// TODO figure out what this really means?
return doUnserializeFromConn(frame, conn, RNull.instance);
}
}
@RBuiltin(name = "serializeToConn", kind = INTERNAL, parameterNames = {"object", "conn", "ascii", "version", "refhook"})
public abstract static class SerializeToConn extends RInvisibleBuiltinNode {
@Specialization
protected Object doSerializeToConn(VirtualFrame frame, Object object, RConnection conn, byte asciiLogical, RNull version, RNull refhook) {
return doSerializeToConn(object, conn, asciiLogical, version, refhook, RArguments.getDepth(frame));
}
@TruffleBoundary
protected Object doSerializeToConn(Object object, RConnection conn, byte asciiLogical, @SuppressWarnings("unused") RNull version, @SuppressWarnings("unused") RNull refhook, int depth) {
controlVisibility();
......@@ -91,4 +71,51 @@ public class SerializeFunctions {
}
}
@RBuiltin(name = "unserializeFromConn", kind = INTERNAL, parameterNames = {"conn", "refhook"})
public abstract static class UnserializeFromConn extends Adapter {
@Specialization
protected Object doUnserializeFromConn(VirtualFrame frame, RConnection conn, @SuppressWarnings("unused") RNull refhook) {
return doUnserializeFromConn(conn, null, RArguments.getDepth(frame));
}
@Specialization
protected Object doUnserializeFromConn(VirtualFrame frame, RConnection conn, @SuppressWarnings("unused") REnvironment refhook) {
// TODO figure out what this really means?
return doUnserializeFromConn(frame, conn, RNull.instance);
}
}
@RBuiltin(name = "serializeToConn", kind = INTERNAL, parameterNames = {"object", "conn", "ascii", "version", "refhook"})
public abstract static class SerializeToConn extends Adapter {
@Specialization
protected Object doSerializeToConn(VirtualFrame frame, Object object, RConnection conn, byte asciiLogical, RNull version, RNull refhook) {
return doSerializeToConn(object, conn, asciiLogical, version, refhook, RArguments.getDepth(frame));
}
}
@RBuiltin(name = "unserialize", kind = INTERNAL, parameterNames = {"conn", "refhook"})
public abstract static class Unserialize extends Adapter {
@SuppressWarnings("unused")
@Specialization
protected Object unSerialize(VirtualFrame frame, RConnection conn, RNull refhook) {
return doUnserializeFromConn(conn, null, RArguments.getDepth(frame));
}
}
@RBuiltin(name = "serialize", kind = INTERNAL, parameterNames = {"object", "conn", "ascii", "version", "refhook"})
public abstract static class Serialize extends Adapter {
@Specialization
protected Object serialize(VirtualFrame frame, Object object, RConnection conn, byte asciiLogical, RNull version, RNull refhook) {
return doSerializeToConn(object, conn, asciiLogical, version, refhook, RArguments.getDepth(frame));
}
}
@RBuiltin(name = "serializeb", kind = INTERNAL, parameterNames = {"object", "conn", "ascii", "version", "refhook"})
public abstract static class SerializeB extends Adapter {
@Specialization
protected Object serializeB(VirtualFrame frame, Object object, RConnection conn, byte asciiLogical, RNull version, RNull refhook) {
return doSerializeToConn(object, conn, asciiLogical, version, refhook, RArguments.getDepth(frame));
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment