Skip to content
Snippets Groups Projects
Commit 705f1867 authored by paley's avatar paley
Browse files

More simple DSL config fixes.

parent c7f9b1f5
No related branches found
No related tags found
No related merge requests found
......@@ -25,17 +25,20 @@ import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.INTERNAL;
import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.dsl.Cached;
import com.oracle.truffle.api.dsl.Fallback;
import com.oracle.truffle.api.dsl.ImportStatic;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.nodes.Node;
import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
import com.oracle.truffle.r.nodes.builtin.base.IsListFactorNodeGen.IsListFactorInternalNodeGen;
import com.oracle.truffle.r.nodes.unary.IsFactorNode;
import com.oracle.truffle.r.runtime.DSLConfig;
import com.oracle.truffle.r.runtime.RRuntime;
import com.oracle.truffle.r.runtime.builtins.RBuiltin;
import com.oracle.truffle.r.runtime.data.model.RAbstractListVector;
// from apply.c
@ImportStatic({DSLConfig.class})
@RBuiltin(name = "islistfactor", kind = INTERNAL, parameterNames = {"x", "recursive"}, behavior = PURE)
public abstract class IsListFactor extends RBuiltinNode.Arg2 {
......@@ -87,7 +90,7 @@ public abstract class IsListFactor extends RBuiltinNode.Arg2 {
}
// Note: the limit should never be reached
@Specialization(guards = "recursive == node.recursive", limit = "2")
@Specialization(guards = "recursive == node.recursive", limit = "99")
protected byte isListFactor(Object value, @SuppressWarnings("unused") boolean recursive,
@Cached("createNode(recursive)") IsListFactorInternal node) {
return RRuntime.asLogical(node.execute(value));
......
......@@ -40,7 +40,7 @@ public class ProfiledSpecialsUtils {
@NodeChild(value = "index", type = ConvertIndex.class)
protected abstract static class ProfiledSubscriptSpecialBase extends RNode {
protected static final int CACHE_LIMIT = 3;
protected static final int CACHE_LIMIT = DSLConfig.getCacheSize(3);
protected final boolean inReplacement;
@Child protected SubscriptSpecialBase defaultAccessNode;
......@@ -158,7 +158,7 @@ public class ProfiledSpecialsUtils {
@NodeChild(value = "value", type = ConvertValue.class)
public abstract static class ProfiledUpdateSubscriptSpecialBase extends RNode {
protected static final int CACHE_LIMIT = 3;
protected static final int CACHE_LIMIT = DSLConfig.getCacheSize(3);
protected final boolean inReplacement;
public abstract Object execute(VirtualFrame frame, Object vector, Object index, Object value);
......@@ -196,7 +196,7 @@ public class ProfiledSpecialsUtils {
@NodeChild(value = "value", type = ConvertValue.class)
public abstract static class ProfiledUpdateSubscriptSpecial2 extends RNode {
protected static final int CACHE_LIMIT = 3;
protected static final int CACHE_LIMIT = DSLConfig.getCacheSize(3);
protected final boolean inReplacement;
public abstract Object execute(VirtualFrame frame, Object vector, Object index1, Object index2, Object value);
......
......@@ -37,6 +37,7 @@ import com.oracle.truffle.r.nodes.binary.BoxPrimitiveNode;
import com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef;
import com.oracle.truffle.r.nodes.objects.GetS4DataSlot;
import com.oracle.truffle.r.nodes.profile.TruffleBoundaryNode;
import com.oracle.truffle.r.runtime.DSLConfig;
import com.oracle.truffle.r.runtime.RError;
import com.oracle.truffle.r.runtime.RInternalError;
import com.oracle.truffle.r.runtime.RRuntime;
......@@ -61,7 +62,7 @@ import com.oracle.truffle.r.runtime.nodes.RBaseNode;
@ImportStatic({RRuntime.class, com.oracle.truffle.api.interop.Message.class})
public abstract class ReplaceVectorNode extends RBaseNode {
protected static final int CACHE_LIMIT = 5;
protected static final int CACHE_LIMIT = DSLConfig.getCacheSize(5);
protected final ElementAccessMode mode;
private final boolean recursive;
......
......@@ -124,7 +124,7 @@ public class TestS4 extends TestRBase {
assertEval("{ setGeneric(\"gen\", function(o) standardGeneric(\"gen\")); res<-print(setGeneric(\"gen\", function(o) standardGeneric(\"gen\"))); removeGeneric(\"gen\"); res }");
assertEval("{ setClass(\"foo\"); setMethod(\"diag<-\", \"foo\", function(x, value) 42); removeMethod(\"diag<-\", \"foo\"); removeGeneric(\"diag<-\"); removeClass(\"foo\") }");
assertEval(Output.IgnoreWarningMessage,"{ setClass(\"foo\"); setMethod(\"diag<-\", \"foo\", function(x, value) 42); removeMethod(\"diag<-\", \"foo\"); removeGeneric(\"diag<-\"); removeClass(\"foo\") }");
assertEval("{ setClass('A'); setClass('A1', contains = 'A'); setClass('A2', contains = 'A1'); setGeneric('foo', function(a, b) standardGeneric('foo')); setMethod('foo', signature('A1', 'A2'), function(a, b) '1-2'); setMethod('foo', signature('A2', 'A1'), function(a, b) '2-1'); foo(new('A2'), new('A2')) }");
......
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