diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java index cfd03f4094ea0d5aa04ca51bd8c949ac2d2bb0d0..6837ec9a35d7193ad1bb68ade5755c93c88eee71 100644 --- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java +++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java @@ -120,7 +120,7 @@ final class REngine implements Engine, Engine.Timings { /** * The accumulated time spent by child processes on behalf of this engine. */ - @CompilationFinal private long[] childTimes; + private long[] childTimes; /** * The {@link RContext} that this engine is associated with (1-1). */ diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RInteropScalarMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RInteropScalarMR.java index d904aa2171893fb5433e80805af01b2c8eff4291..0ae18bbe9de7a97cf20fc6b8b4e97198d3c8b119 100644 --- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RInteropScalarMR.java +++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RInteropScalarMR.java @@ -22,7 +22,6 @@ */ package com.oracle.truffle.r.engine.interop; -import com.oracle.truffle.api.dsl.Cached; import com.oracle.truffle.api.interop.CanResolve; import com.oracle.truffle.api.interop.MessageResolution; import com.oracle.truffle.api.interop.Resolve; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java index fab198672dd600476fc59d33672bfe909ac5b20b..42325e9757f5c0822e37f34d38c0c357e9efbdaa 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java @@ -32,7 +32,6 @@ import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.dsl.Cached; import com.oracle.truffle.api.dsl.Fallback; import com.oracle.truffle.api.dsl.Specialization; -import com.oracle.truffle.api.interop.TruffleObject; import com.oracle.truffle.api.object.DynamicObject; import com.oracle.truffle.api.profiles.ConditionProfile; import com.oracle.truffle.r.nodes.attributes.GetAttributeNode; @@ -49,7 +48,6 @@ import com.oracle.truffle.r.runtime.builtins.RBuiltin; import com.oracle.truffle.r.runtime.data.RAttributable; import com.oracle.truffle.r.runtime.data.RAttributesLayout; import com.oracle.truffle.r.runtime.data.RDataFactory; -import com.oracle.truffle.r.runtime.data.RList; import com.oracle.truffle.r.runtime.data.RMissing; import com.oracle.truffle.r.runtime.data.RNull; import com.oracle.truffle.r.runtime.data.model.RAbstractContainer; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BitwiseFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BitwiseFunctions.java index fd08cfc07a0c32c57c71217f1f8b1622b053167b..dc67759ab247512bf3874f8bb7d12c843877287b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BitwiseFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BitwiseFunctions.java @@ -11,14 +11,11 @@ package com.oracle.truffle.r.nodes.builtin.base; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.anyValue; import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.asIntegerVector; import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.asStringVector; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.chain; import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.doubleValue; import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.integerValue; import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.missingValue; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.shouldBe; import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.stringValue; import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.typeName; import static com.oracle.truffle.r.runtime.builtins.RBehavior.PURE; @@ -38,7 +35,6 @@ import com.oracle.truffle.r.runtime.data.RDataFactory; import com.oracle.truffle.r.runtime.data.RNull; import com.oracle.truffle.r.runtime.data.model.RAbstractIntVector; import com.oracle.truffle.r.runtime.data.model.RAbstractStringVector; -import com.oracle.truffle.r.runtime.data.model.RAbstractVector; import com.oracle.truffle.r.runtime.ops.na.NACheck; public class BitwiseFunctions { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LaFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LaFunctions.java index 0756c474f93e034c77905a1b5d3ce1de18cf3a39..e34c53f9cc48f0c2ea0a0498e84044607bd694ce 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LaFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/LaFunctions.java @@ -260,7 +260,7 @@ public class LaFunctions { @RBuiltin(name = "La_qr", kind = INTERNAL, parameterNames = {"in"}, behavior = PURE) public abstract static class Qr extends RBuiltinNode.Arg1 { - @CompilationFinal private static final String[] NAMES = new String[]{"qr", "rank", "qraux", "pivot"}; + @CompilationFinal(dimensions = 1) private static final String[] NAMES = new String[]{"qr", "rank", "qraux", "pivot"}; static { Casts casts = new Casts(Qr.class); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqFunctions.java index bc951e221bd5010a19ddf800a1ce22ed3663291c..b5303c48c00d30ff72135915d7318e26659be3ff 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SeqFunctions.java @@ -60,7 +60,6 @@ import com.oracle.truffle.r.runtime.data.RFunction; import com.oracle.truffle.r.runtime.data.RIntSequence; import com.oracle.truffle.r.runtime.data.RIntVector; import com.oracle.truffle.r.runtime.data.RMissing; -import com.oracle.truffle.r.runtime.data.RNull; import com.oracle.truffle.r.runtime.data.RSequence; import com.oracle.truffle.r.runtime.data.RStringVector; import com.oracle.truffle.r.runtime.data.RTypes; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java index 62eb8e262084a42cbc86ff7471bc9eafb87fdd00..ac25b54d6af35464384e56095b67c3eadead91ee 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java @@ -32,7 +32,6 @@ import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.PRIMITIVE; import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.dsl.Cached; -import com.oracle.truffle.api.dsl.Fallback; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.profiles.LoopConditionProfile; import com.oracle.truffle.r.nodes.builtin.RBuiltinNode; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java index 50fce23643fd2166344fa2b9128ea88834da9480..aca907a1efa5861e376db0f6cae68b19d0a37882 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java @@ -32,7 +32,6 @@ import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.dsl.Cached; import com.oracle.truffle.api.dsl.Fallback; import com.oracle.truffle.api.dsl.Specialization; -import com.oracle.truffle.api.interop.TruffleObject; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.r.nodes.attributes.RemoveAttributeNode; import com.oracle.truffle.r.nodes.attributes.SetAttributeNode; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastrDqrls.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastrDqrls.java index 043cfb754430f72f058c3e9b69e9990ea807fee0..47f7e66ea42b3325d297d573edf5171ddbeff747 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastrDqrls.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastrDqrls.java @@ -11,8 +11,6 @@ */ package com.oracle.truffle.r.nodes.builtin.fastr; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.missingValue; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.nullValue; import static com.oracle.truffle.r.runtime.RVisibility.OFF; import static com.oracle.truffle.r.runtime.builtins.RBehavior.PURE; import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.PRIMITIVE; diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/ExtractVectorNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/ExtractVectorNode.java index 0cf2cec1a7b4ff575a71ba46cabadb79aff66f8e..f0cccef4459b5b57ae5934c4c1d3fc8ad4951629 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/ExtractVectorNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/ExtractVectorNode.java @@ -23,7 +23,6 @@ package com.oracle.truffle.r.nodes.access.vector; import com.oracle.truffle.api.CompilerAsserts; -import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.dsl.Cached; import com.oracle.truffle.api.dsl.ImportStatic; @@ -32,7 +31,6 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.interop.ForeignAccess; import com.oracle.truffle.api.interop.InteropException; import com.oracle.truffle.api.interop.KeyInfo; -import com.oracle.truffle.api.interop.Message; import com.oracle.truffle.api.interop.TruffleObject; import com.oracle.truffle.api.interop.UnknownIdentifierException; import com.oracle.truffle.api.interop.UnsupportedMessageException; @@ -143,8 +141,7 @@ public abstract class ExtractVectorNode extends Node { if (ForeignAccess.sendIsNull(isNullNode, (TruffleObject) obj)) { return RNull.instance; } - Boolean isBoxed = (Boolean) ForeignAccess.sendIsBoxed(isBoxedNode, (TruffleObject) obj); - if (isBoxed) { + if (ForeignAccess.sendIsBoxed(isBoxedNode, (TruffleObject) obj)) { return RRuntime.java2R(ForeignAccess.sendUnbox(unboxNode, (TruffleObject) obj)); } } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/ClassHierarchyNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/ClassHierarchyNode.java index 3400150763e1a8d057b8f1d9b6ccda5526c2028c..dcaab1397e5254f321c47f018e8ef863c3b4a3dc 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/ClassHierarchyNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/ClassHierarchyNode.java @@ -166,7 +166,7 @@ public abstract class ClassHierarchyNode extends UnaryNode { } @Specialization - protected RStringVector getClassHr(@SuppressWarnings("unused") RInteropScalar arg) { + protected RStringVector getClassHr(RInteropScalar arg) { return withImplicitTypes ? ImplicitClassHierarchyNode.getImplicitClass(arg.getRType(), forDispatch) : null; } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java index 79d3635e48cbea9dd3adc96bb69d3959cf3a7bcc..4cd7f7ffc2041169795b2b0774b60aae2eb094b3 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java @@ -28,7 +28,6 @@ import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.r.nodes.helpers.InheritsCheckNode; import com.oracle.truffle.r.runtime.RRuntime; -import com.oracle.truffle.r.runtime.data.RArgsValuesAndNames; import com.oracle.truffle.r.runtime.data.RComplexVector; import com.oracle.truffle.r.runtime.data.RDataFactory; import com.oracle.truffle.r.runtime.data.RList; diff --git a/com.oracle.truffle.r.runtime.ffi/src/com/oracle/truffle/r/runtime/ffi/jni/JNI_PkgInit.java b/com.oracle.truffle.r.runtime.ffi/src/com/oracle/truffle/r/runtime/ffi/jni/JNI_PkgInit.java index 0cf12986f0869a1a7d5bf39ec1c75cc62332af46..2bd8a296eeb095541668b31897819c0036e5dc28 100644 --- a/com.oracle.truffle.r.runtime.ffi/src/com/oracle/truffle/r/runtime/ffi/jni/JNI_PkgInit.java +++ b/com.oracle.truffle.r.runtime.ffi/src/com/oracle/truffle/r/runtime/ffi/jni/JNI_PkgInit.java @@ -44,13 +44,11 @@ final class JNI_PkgInit { dllInfo.setNativeSymbols(nstOrd, array); } - @SuppressWarnings("unused") private static void registerCCallable(String pkgName, String functionName, long address) { DLLInfo lib = safeFindLibrary(pkgName); lib.registerCEntry(new CEntry(functionName, new SymbolHandle(address))); } - @SuppressWarnings("unused") public static long getCCallable(String pkgName, String functionName) { DLLInfo lib = safeFindLibrary(pkgName); CEntry result = lib.lookupCEntry(functionName); diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Arguments.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Arguments.java index e599ec89e528ac32c9dd43c0ecf40fde33771ea8..2936e7123714dd4570fb5065eb173590b7cc95d5 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Arguments.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Arguments.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -49,7 +49,7 @@ public class Arguments<T> { /** * Array of arguments; semantics have to be specified by child classes. */ - @CompilationFinal private final T[] values; + @CompilationFinal(dimensions = 1) private final T[] values; /** * Array of arguments; semantics have to be specified by child classes. diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ArgumentsSignature.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ArgumentsSignature.java index d5b2a0fd389ec17fdc974497bfbca268f42cf772..ca2ec69bbd8f5615607da8898b48296b20b6997d 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ArgumentsSignature.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ArgumentsSignature.java @@ -46,7 +46,7 @@ public final class ArgumentsSignature implements Iterable<String> { public static final String VARARG_NAME = "..."; public static final int NO_VARARG = -1; - @CompilationFinal private static final ArgumentsSignature[] EMPTY_SIGNATURES = new ArgumentsSignature[32]; + @CompilationFinal(dimensions = 1) private static final ArgumentsSignature[] EMPTY_SIGNATURES = new ArgumentsSignature[32]; public static final ArgumentsSignature INVALID_SIGNATURE = new ArgumentsSignature(new String[]{"<<invalid>>"}); static { @@ -73,9 +73,9 @@ public final class ArgumentsSignature implements Iterable<String> { return get(new String[length]); } - @CompilationFinal private final String[] names; - @CompilationFinal private final int[] varArgIndexes; - @CompilationFinal private final boolean[] isVarArg; + @CompilationFinal(dimensions = 1) private final String[] names; + @CompilationFinal(dimensions = 1) private final int[] varArgIndexes; + @CompilationFinal(dimensions = 1) private final boolean[] isVarArg; private final int varArgIndex; private final int nonNullCount; diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RError.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RError.java index 4b34f2b46d44749447c232785181bc6f170c3b1e..d5a95388201ad5c3bc91b398e87617eee8c36532 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RError.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RError.java @@ -60,7 +60,7 @@ public final class RError extends RuntimeException { private static final long serialVersionUID = 1L; private final RError.Message msg; - @CompilationFinal private final Object[] args; + @CompilationFinal(dimensions = 1) private final Object[] args; @TruffleBoundary protected RErrorException(RError.Message msg, Object[] args) { diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RRuntime.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RRuntime.java index d80fe43d1b3578985e0c98a8257f844cbd4db456..28425664c60a0e00e51f826fd6d7fed07ac1ec27 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RRuntime.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RRuntime.java @@ -192,7 +192,7 @@ public class RRuntime { public static final RSymbol PSEUDO_NULL = new RSymbol("\u0001NULL\u0001"); public static final String UNBOUND = "UNBOUND"; - @CompilationFinal private static final String[] numberStringCache = new String[4096]; + @CompilationFinal(dimensions = 1) private static final String[] numberStringCache = new String[4096]; private static final int MIN_CACHED_NUMBER = -numberStringCache.length / 2; private static final int MAX_CACHED_NUMBER = numberStringCache.length / 2 - 1; diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/builtins/RBuiltinDescriptor.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/builtins/RBuiltinDescriptor.java index 5ca12b5a0433fecc93d33bcee65e9fd0de6094b8..925e003fe787f28ce2f02cdcdd555db486ceb6ad 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/builtins/RBuiltinDescriptor.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/builtins/RBuiltinDescriptor.java @@ -49,7 +49,7 @@ public abstract class RBuiltinDescriptor { private final RSpecialFactory specialCall; private final int primitiveMethodIndex; - @CompilationFinal private final boolean[] evaluatesArgument; + @CompilationFinal(dimensions = 1) private final boolean[] evaluatesArgument; public RBuiltinDescriptor(String name, Class<?> builtinNodeClass, RVisibility visibility, String[] aliases, RBuiltinKind kind, ArgumentsSignature signature, int[] nonEvalArgs, boolean splitCaller, boolean alwaysSplit, RDispatch dispatch, String genericName, RBehavior behavior, RSpecialFactory specialCall) { diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/GammaFunctions.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/GammaFunctions.java index 8979aeef7d4f1bc349c82ddfd74733af7223f8c3..91284883c1941661610f19325708ae8ed9bde9c6 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/GammaFunctions.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/GammaFunctions.java @@ -62,7 +62,8 @@ public abstract class GammaFunctions { // lgammacor // - @CompilationFinal private static final double[] ALGMCS = new double[]{+.1666389480451863247205729650822e+0, -.1384948176067563840732986059135e-4, +.9810825646924729426157171547487e-8, + @CompilationFinal(dimensions = 1) private static final double[] ALGMCS = new double[]{+.1666389480451863247205729650822e+0, -.1384948176067563840732986059135e-4, + +.9810825646924729426157171547487e-8, -.1809129475572494194263306266719e-10, +.6221098041892605227126015543416e-13, -.3399615005417721944303330599666e-15, +.2683181998482698748957538846666e-17, -.2868042435334643284144622399999e-19, +.3962837061046434803679306666666e-21, -.6831888753985766870111999999999e-23, +.1429227355942498147573333333333e-24, -.3547598158101070547199999999999e-26, +.1025680058010470912000000000000e-27, -.3401102254316748799999999999999e-29, +.1276642195630062933333333333333e-30}; @@ -102,7 +103,8 @@ public abstract class GammaFunctions { // gammafn // - @CompilationFinal private static final double[] GAMCS = new double[]{+.8571195590989331421920062399942e-2, +.4415381324841006757191315771652e-2, +.5685043681599363378632664588789e-1, + @CompilationFinal(dimensions = 1) private static final double[] GAMCS = new double[]{+.8571195590989331421920062399942e-2, +.4415381324841006757191315771652e-2, + +.5685043681599363378632664588789e-1, -.4219835396418560501012500186624e-2, +.1326808181212460220584006796352e-2, -.1893024529798880432523947023886e-3, +.3606925327441245256578082217225e-4, -.6056761904460864218485548290365e-5, +.1055829546302283344731823509093e-5, -.1811967365542384048291855891166e-6, +.3117724964715322277790254593169e-7, -.5354219639019687140874081024347e-8, +.9193275519859588946887786825940e-9, -.1577941280288339761767423273953e-9, +.2707980622934954543266540433089e-10, @@ -693,7 +695,8 @@ public abstract class GammaFunctions { /* coeffs[i] holds (zeta(i+2)-1)/(i+2) , i = 0:(N-1), N = 40 : */ private static final int N = 40; - @CompilationFinal private static final double[] coeffs = new double[]{0.3224670334241132182362075833230126e-0, 0.6735230105319809513324605383715000e-1, 0.2058080842778454787900092413529198e-1, + @CompilationFinal(dimensions = 1) private static final double[] coeffs = new double[]{0.3224670334241132182362075833230126e-0, 0.6735230105319809513324605383715000e-1, + 0.2058080842778454787900092413529198e-1, 0.7385551028673985266273097291406834e-2, 0.2890510330741523285752988298486755e-2, 0.1192753911703260977113935692828109e-2, 0.5096695247430424223356548135815582e-3, 0.2231547584535793797614188036013401e-3, 0.9945751278180853371459589003190170e-4, 0.4492623673813314170020750240635786e-4, 0.2050721277567069155316650397830591e-4, 0.9439488275268395903987425104415055e-5, 0.4374866789907487804181793223952411e-5, 0.2039215753801366236781900709670839e-5, 0.9551412130407419832857179772951265e-6, @@ -987,14 +990,17 @@ public abstract class GammaFunctions { } } - @CompilationFinal private static final double[] coefs_a = new double[]{-1e99, /* - * placeholder - * used for - * 1-indexing - */ + @CompilationFinal(dimensions = 1) private static final double[] coefs_a = new double[]{-1e99, /* + * placeholder + * used + * for + * 1 + * - + * indexing + */ 2 / 3., -4 / 135., 8 / 2835., 16 / 8505., -8992 / 12629925., -334144 / 492567075., 698752 / 1477701225.}; - @CompilationFinal private static final double[] coefs_b = new double[]{-1e99, /* placeholder */ + @CompilationFinal(dimensions = 1) private static final double[] coefs_b = new double[]{-1e99, /* placeholder */ 1 / 12., 1 / 288., -139 / 51840., -571 / 2488320., 163879 / 209018880., 5246819 / 75246796800., -534703531 / 902961561600.}; /* diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/RMath.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/RMath.java index 81b7431c9f99b82c0006d6af8d9c629416124903..22dadebc92a20f82539d9fb72d3a4dd438ae4672 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/RMath.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/RMath.java @@ -241,7 +241,7 @@ public final class RMath { /* * error for 0, 0.5, 1.0, 1.5, ..., 14.5, 15.0. */ - @CompilationFinal private static final double[] sferr_halves = new double[]{ + @CompilationFinal(dimensions = 1) private static final double[] sferr_halves = new double[]{ 0.0, /* n=0 - wrong, place holder only */ 0.1534264097200273452913848, /* 0.5 */ 0.0810614667953272582196702, /* 1.0 */ diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nodes/RBaseNode.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nodes/RBaseNode.java index 6650047ef03bf63c405c19749b0c91b8680bbc91..daf76f959261c863f07ff7b965c87c8d9b4687e3 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nodes/RBaseNode.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nodes/RBaseNode.java @@ -81,8 +81,8 @@ import com.oracle.truffle.r.runtime.env.REnvironment; */ public abstract class RBaseNode extends Node { - @CompilationFinal public static final RNode[] EMTPY_RNODE_ARRAY = new RNode[0]; - @CompilationFinal protected static final Object[] EMPTY_OBJECT_ARRAY = new Object[0]; + @CompilationFinal(dimensions = 1) public static final RNode[] EMTPY_RNODE_ARRAY = new RNode[0]; + @CompilationFinal(dimensions = 1) protected static final Object[] EMPTY_OBJECT_ARRAY = new Object[0]; /** * Since {@link RSyntaxNode}s are sometimes used (for convenience) in non-syntax contexts, this diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/BinaryArithmetic.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/BinaryArithmetic.java index e3359b65efa0f40bcb1ab07bf55ccae4c7918308..094a55ae51703b3f4a25cb90fd857b078be8d3a4 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/BinaryArithmetic.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/BinaryArithmetic.java @@ -22,7 +22,6 @@ import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.PRIMITIVE; import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.CompilerDirectives.CompilationFinal; import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; -import com.oracle.truffle.api.ExactMath; import com.oracle.truffle.api.nodes.ExplodeLoop; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.profiles.BranchProfile; diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/rng/RRNG.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/rng/RRNG.java index db3f531e93a4643264ef25d0b473c6eb5a429035..e2e074001a610d9986a58019244841194b560ed8 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/rng/RRNG.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/rng/RRNG.java @@ -60,7 +60,7 @@ public class RRNG { KNUTH_TAOCP2(), LECUYER_CMRG(); - @CompilationFinal static final Kind[] VALUES = values(); + @CompilationFinal(dimensions = 1) static final Kind[] VALUES = values(); private final Supplier<RandomNumberGenerator> createFunction; @@ -92,8 +92,7 @@ public class RRNG { INVERSION, KINDERMAN_RAMAGE; - @CompilationFinal static final NormKind[] VALUES = values(); - + @CompilationFinal(dimensions = 1) static final NormKind[] VALUES = values(); } public static final int NO_KIND_CHANGE = -2; // internal value diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_prod.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_prod.java index 4adffd95dc83fe4267e26fefa57a2bc8b46a27e7..7d0b9d0fddf7dfbc8d302c572ab70c8403083aa1 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_prod.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_prod.java @@ -64,7 +64,7 @@ public class TestBuiltin_prod extends TestBase { @Test public void testprod10() { - assertEval(Ignored.Unknown, "prod( );"); + assertEval("prod( );"); } @Test diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_split.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_split.java index d551d2225e677fb93c52e60517b814c17b2d78ff..75d197910998b927b624bb978c5964475a5ab71a 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_split.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_split.java @@ -122,7 +122,7 @@ public class TestBuiltin_split extends TestBase { @Test public void testSplitWithNames() { - assertEval(Ignored.Unimplemented, "{ split(list(q=1, w=2L, e='x', r=T), as.factor(c('a', 'b', 'a')); }"); + assertEval("{ split(list(q=1, w=2L, e='x', r=T), as.factor(c('a', 'b', 'a')); }"); assertEval(Ignored.Unimplemented, "{ tmp <- c(1,2,3); names(tmp) <- c('x','y','z'); split(tmp, as.factor(c('a','b'))); }"); } } diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestMiscBuiltins.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestMiscBuiltins.java index 3d3616d3fbe7b3bf31d0b59c9b0867dd93c0a625..a298e3af601c7bf86a6088d86fa9236510b0457b 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestMiscBuiltins.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestMiscBuiltins.java @@ -4,7 +4,7 @@ * http://www.gnu.org/licenses/gpl-2.0.html * * Copyright (c) 2012-2014, Purdue University - * Copyright (c) 2013, 2016, Oracle and/or its affiliates + * Copyright (c) 2013, 2017, Oracle and/or its affiliates * * All rights reserved. */ @@ -214,7 +214,7 @@ public class TestMiscBuiltins extends TestBase { // non-symmetric real input, real output assertEval("{ r <- eigen(matrix(c(1,2,2,3), nrow=2), only.values=FALSE); round( r$vectors, digits=5 ) }"); assertEval("{ r <- eigen(matrix(c(1,2,2,3), nrow=2), only.values=FALSE); round( r$values, digits=5 ) }"); - assertEval(Ignored.Unknown, "{ r <- eigen(matrix(c(1,2,3,4), nrow=2), only.values=FALSE); round( r$vectors, digits=5 ) }"); + assertEval("{ r <- eigen(matrix(c(1,2,3,4), nrow=2), only.values=FALSE); round( r$vectors, digits=5 ) }"); assertEval("{ r <- eigen(matrix(c(1,2,3,4), nrow=2), only.values=FALSE); round( r$values, digits=5 ) }"); // non-symmetric real input, complex output diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestSplineFunctions.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestSplineFunctions.java index defaaa8812de51da17c89a5eda3e7778328c7f41..939e47095ac1c1c326519f7978d8d10bb1a24e2c 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestSplineFunctions.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestSplineFunctions.java @@ -51,10 +51,10 @@ public class TestSplineFunctions extends TestBase { assertEval(".Call(stats:::C_SplineCoef, c(), c(1:5), c(1:5))"); assertEval(".Call(stats:::C_SplineCoef, list(), c(1:5), c(1:5))"); assertEval(".Call(stats:::C_SplineCoef, c(list()), c(1:5), c(1:5))"); - assertEval(Ignored.WrongCaller, ".Call(stats:::C_SplineCoef, 'abc', c(1:5), c(1:5))"); + assertEval(".Call(stats:::C_SplineCoef, 'abc', c(1:5), c(1:5))"); assertEval(".Call(stats:::C_SplineCoef, c(1), c(1:5), c(1:5))"); assertEval(".Call(stats:::C_SplineCoef, c(1, 2, 3), c(1), c(1))"); - assertEval(Ignored.WrongCaller, ".Call(stats:::C_SplineCoef, c('a'), c(1), c(1))"); + assertEval(".Call(stats:::C_SplineCoef, c('a'), c(1), c(1))"); assertEval(Ignored.WrongCaller, ".Call(stats:::C_SplineCoef, list(1), c(1), c(1))"); assertEval(Ignored.WrongCaller, ".Call(stats:::C_SplineCoef, environment(), c(1:5), c(1:5))"); assertEval(Ignored.WrongCaller, ".Call(stats:::C_SplineCoef, function() {}, c(1:5), c(1:5))");