diff --git a/com.oracle.truffle.r.native/fficall/src/common/rffi_variablesindex.h b/com.oracle.truffle.r.native/fficall/src/common/rffi_variablesindex.h index 6ff33e79e5d32294052d4e943af37760aecb8141..dc6cc94ac6ec57c25a2511f883e31342564135dc 100644 --- a/com.oracle.truffle.r.native/fficall/src/common/rffi_variablesindex.h +++ b/com.oracle.truffle.r.native/fficall/src/common/rffi_variablesindex.h @@ -74,16 +74,19 @@ #define R_NegInf_x 46 #define R_NaReal_x 47 #define R_NaInt_x 48 -#define R_BlankString_x 49 -#define R_BlankScalarString_x 50 -#define R_BaseSymbol_x 51 -#define R_NamespaceEnvSymbol_x 52 -#define R_RestartToken_x 53 -#define R_SortListSymbol_x 54 -#define R_SpecSymbol_x 55 -#define R_TripleColonSymbol_x 56 -#define R_PreviousSymbol_x 57 +#define R_TrueValue_x 49 +#define R_FalseValue_x 50 +#define R_LogicalNAValue_x 51 +#define R_BlankString_x 52 +#define R_BlankScalarString_x 53 +#define R_BaseSymbol_x 54 +#define R_NamespaceEnvSymbol_x 55 +#define R_RestartToken_x 56 +#define R_SortListSymbol_x 57 +#define R_SpecSymbol_x 58 +#define R_TripleColonSymbol_x 59 +#define R_PreviousSymbol_x 60 -#define VARIABLES_TABLE_SIZE 58 +#define VARIABLES_TABLE_SIZE 61 #endif // RFFI_VARIABLESINDEX_H diff --git a/com.oracle.truffle.r.native/fficall/src/truffle_common/variables_common.h b/com.oracle.truffle.r.native/fficall/src/truffle_common/variables_common.h index 66cfe800230eb27b13a28e9b561f309ce7a2194a..f30097de226e059964cedf9b7ffab3a7eb570ad8 100644 --- a/com.oracle.truffle.r.native/fficall/src/truffle_common/variables_common.h +++ b/com.oracle.truffle.r.native/fficall/src/truffle_common/variables_common.h @@ -102,6 +102,9 @@ double R_PosInf; double R_NegInf; double R_NaReal; int R_NaInt; +SEXP R_TrueValue; +SEXP R_FalseValue; +SEXP R_LogicalNAValue; SEXP R_BlankString; SEXP R_BlankScalarString; SEXP R_BaseSymbol; /* "base" */ @@ -187,6 +190,9 @@ void Call_initvar_obj_common(int index, void* value) { case R_SrcrefSymbol_x: R_SrcrefSymbol = value; break; case R_SrcfileSymbol_x: R_SrcfileSymbol = value; break; case R_NaString_x: R_NaString = value; break; + case R_TrueValue_x: R_TrueValue = value; break; + case R_FalseValue_x: R_FalseValue = value; break; + case R_LogicalNAValue_x: R_LogicalNAValue = value; break; case R_BlankString_x: R_BlankString = value; break; case R_BlankScalarString_x: R_BlankScalarString = value; break; case R_BaseSymbol_x: R_BaseSymbol = value; break; diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/RFFIVariables.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/RFFIVariables.java index ed972ee45090f95076518b30f1787e249388aabb..a3957e47cc6b71de034c780a19bcea943a42df31 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/RFFIVariables.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/RFFIVariables.java @@ -86,6 +86,9 @@ public enum RFFIVariables { R_NegInf(Double.NEGATIVE_INFINITY), R_NaReal(RRuntime.DOUBLE_NA), R_NaInt(RRuntime.INT_NA), + R_TrueValue(RDataFactory.getPermanent().createLogicalVectorFromScalar(RRuntime.LOGICAL_TRUE)), + R_FalseValue(RDataFactory.getPermanent().createLogicalVectorFromScalar(RRuntime.LOGICAL_FALSE)), + R_LogicalNAValue(RDataFactory.getPermanent().createLogicalVectorFromScalar(RRuntime.LOGICAL_NA)), R_BlankString(CharSXPWrapper.create("")), R_BlankScalarString(RDataFactory.createStringVectorFromScalar("")), R_BaseSymbol(RDataFactory.createSymbol("base")),