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 4373f8998f8fef0ff157cd11c6216670170b8371..9e7702e4e7e87601e15c2179fdf493bbceda6ffc 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 @@ -37,42 +37,43 @@ #define R_Bracket2Symbol_x 11 #define R_BracketSymbol_x 12 #define R_BraceSymbol_x 13 -#define R_ClassSymbol_x 14 -#define R_DeviceSymbol_x 15 -#define R_DevicesSymbol_x 16 -#define R_DimNamesSymbol_x 17 -#define R_DimSymbol_x 18 -#define R_DollarSymbol_x 19 -#define R_DotsSymbol_x 20 -#define R_DropSymbol_x 21 -#define R_LastvalueSymbol_x 22 -#define R_LevelsSymbol_x 23 -#define R_ModeSymbol_x 24 -#define R_NameSymbol_x 25 -#define R_NamesSymbol_x 26 -#define R_NaRmSymbol_x 27 -#define R_PackageSymbol_x 28 -#define R_QuoteSymbol_x 29 -#define R_RowNamesSymbol_x 30 -#define R_SeedsSymbol_x 31 -#define R_SourceSymbol_x 32 -#define R_TspSymbol_x 33 -#define R_dot_defined_x 34 -#define R_dot_Method_x 35 -#define R_dot_target_x 36 -#define R_SrcrefSymbol_x 37 -#define R_SrcfileSymbol_x 38 -#define R_NaString_x 39 -#define R_NaN_x 40 -#define R_PosInf_x 41 -#define R_NegInf_x 42 -#define R_NaReal_x 43 -#define R_NaInt_x 44 -#define R_BlankString_x 45 -#define R_BlankScalarString_x 46 -#define R_BaseSymbol_x 47 -#define R_NamespaceEnvSymbol_x 48 -#define R_RestartToken_x 49 +#define R_DoubleColonSymbol_x 14 +#define R_ClassSymbol_x 15 +#define R_DeviceSymbol_x 16 +#define R_DevicesSymbol_x 17 +#define R_DimNamesSymbol_x 18 +#define R_DimSymbol_x 19 +#define R_DollarSymbol_x 20 +#define R_DotsSymbol_x 21 +#define R_DropSymbol_x 22 +#define R_LastvalueSymbol_x 23 +#define R_LevelsSymbol_x 24 +#define R_ModeSymbol_x 25 +#define R_NameSymbol_x 26 +#define R_NamesSymbol_x 27 +#define R_NaRmSymbol_x 28 +#define R_PackageSymbol_x 29 +#define R_QuoteSymbol_x 30 +#define R_RowNamesSymbol_x 31 +#define R_SeedsSymbol_x 32 +#define R_SourceSymbol_x 33 +#define R_TspSymbol_x 34 +#define R_dot_defined_x 35 +#define R_dot_Method_x 36 +#define R_dot_target_x 37 +#define R_SrcrefSymbol_x 38 +#define R_SrcfileSymbol_x 39 +#define R_NaString_x 40 +#define R_NaN_x 41 +#define R_PosInf_x 42 +#define R_NegInf_x 43 +#define R_NaReal_x 44 +#define R_NaInt_x 45 +#define R_BlankString_x 46 +#define R_BlankScalarString_x 47 +#define R_BaseSymbol_x 48 +#define R_NamespaceEnvSymbol_x 49 +#define R_RestartToken_x 50 #define VARIABLES_TABLE_SIZE 50 diff --git a/com.oracle.truffle.r.native/fficall/src/jni/variables.c b/com.oracle.truffle.r.native/fficall/src/jni/variables.c index c66739f886fa1eb5d9f4820d5b4666255645367e..1af98efddf3776ed4fe0d4f17f04a39cfcaf9615 100644 --- a/com.oracle.truffle.r.native/fficall/src/jni/variables.c +++ b/com.oracle.truffle.r.native/fficall/src/jni/variables.c @@ -50,6 +50,7 @@ static SEXP R_BaseSymbol_static; static SEXP R_Bracket2Symbol_static; /* "[[" */ static SEXP R_BracketSymbol_static; /* "[" */ static SEXP R_BraceSymbol_static; /* "{" */ +static SEXP R_DoubleColonSymbol_static; /* "::" */ static SEXP R_ClassSymbol_static; /* "class" */ static SEXP R_DeviceSymbol_static; /* ".Device" */ static SEXP R_DevicesSymbol_static; /* ".Devices" */ @@ -182,6 +183,10 @@ SEXP FASTR_R_BraceSymbol() { return R_BraceSymbol_static; } +SEXP FASTR_R_DoubleColonSymbol() { + return R_DoubleColonSymbol_static; +} + SEXP FASTR_R_Bracket2Symbol() { return R_Bracket2Symbol_static; } @@ -371,6 +376,8 @@ void init_variables(JNIEnv *env, jobjectArray initialValues) { R_BracketSymbol_static = ref; } else if (strcmp(nameChars, "R_BraceSymbol") == 0) { R_BraceSymbol_static = ref; + } else if (strcmp(nameChars, "R_DoubleColonSymbol") == 0) { + R_DoubleColonSymbol_static = ref; } else if (strcmp(nameChars, "R_ClassSymbol") == 0) { R_ClassSymbol_static = ref; } else if (strcmp(nameChars, "R_DeviceSymbol") == 0) { diff --git a/com.oracle.truffle.r.native/fficall/src/truffle_nfi/variables.c b/com.oracle.truffle.r.native/fficall/src/truffle_nfi/variables.c index 57518bfd870b59973a916e856fc61526e5241e5b..00fd6647fd50160d255aff8d55a4d1cd589e3997 100644 --- a/com.oracle.truffle.r.native/fficall/src/truffle_nfi/variables.c +++ b/com.oracle.truffle.r.native/fficall/src/truffle_nfi/variables.c @@ -39,6 +39,7 @@ static SEXP R_BaseSymbol_static; static SEXP R_Bracket2Symbol_static; /* "[[" */ static SEXP R_BracketSymbol_static; /* "[" */ static SEXP R_BraceSymbol_static; /* "{" */ +static SEXP R_DoubleColonSymbol_static;/* "::" */ static SEXP R_ClassSymbol_static; /* "class" */ static SEXP R_DeviceSymbol_static; /* ".Device" */ static SEXP R_DevicesSymbol_static; /* ".Devices" */ @@ -136,6 +137,10 @@ SEXP FASTR_R_BraceSymbol() { return R_BraceSymbol_static; } +SEXP FASTR_R_DoubleColonSymbol() { + return R_DoubleColonSymbol_static; +} + SEXP FASTR_R_Bracket2Symbol() { return R_Bracket2Symbol_static; } @@ -306,6 +311,7 @@ void Call_initvar_obj(int index, void* value) { case R_Bracket2Symbol_x: R_Bracket2Symbol_static = createGlobalRef(value, 1); break; case R_BracketSymbol_x: R_BracketSymbol_static = createGlobalRef(value, 1); break; case R_BraceSymbol_x: R_BraceSymbol_static = createGlobalRef(value, 1); break; + case R_DoubleColonSymbol_x: R_DoubleColonSymbol_static = createGlobalRef(value, 1); break; case R_ClassSymbol_x: R_ClassSymbol_static = createGlobalRef(value, 1); break; case R_DeviceSymbol_x: R_DeviceSymbol_static = createGlobalRef(value, 1); break; case R_DevicesSymbol_x: R_DevicesSymbol_static = createGlobalRef(value, 1); break; @@ -343,4 +349,3 @@ void Call_initvar_obj(int index, void* value) { } // printf("set index %d, value %p\n", index, value); } - 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 fa1fc65f0c24c5f145674686aba1597df8767f58..83dbd06f652fc392cbffe67925100887b6071adb 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 @@ -46,6 +46,7 @@ public enum RFFIVariables { R_Bracket2Symbol(RDataFactory.createSymbol("[[")), R_BracketSymbol(RDataFactory.createSymbol("[")), R_BraceSymbol(RDataFactory.createSymbol("{")), + R_DoubleColonSymbol(RDataFactory.createSymbol("::")), R_ClassSymbol(RDataFactory.createSymbol("class")), R_DeviceSymbol(RDataFactory.createSymbol(".Device")), R_DevicesSymbol(RDataFactory.createSymbol(".Devices")), diff --git a/mx.fastr/mx_fastr_edinclude.py b/mx.fastr/mx_fastr_edinclude.py index dce5109799b948d7dec404ff2724f92ef4f31235..bed40f5912044d02c67819cfd80e0c41f4fd87bc 100644 --- a/mx.fastr/mx_fastr_edinclude.py +++ b/mx.fastr/mx_fastr_edinclude.py @@ -34,7 +34,7 @@ r_internals_vars = ['R_NilValue', 'R_UnboundValue', 'R_MissingArg', 'R_GlobalEnv 'R_LevelsSymbol', 'R_ModeSymbol', 'R_NameSymbol', 'R_NamesSymbol', 'R_NaRmSymbol', 'R_PackageSymbol', 'R_QuoteSymbol', 'R_RowNamesSymbol', 'R_SeedsSymbol', 'R_SourceSymbol', 'R_TspSymbol', 'R_dot_defined', 'R_dot_Method', 'R_dot_target', 'R_SrcrefSymbol', 'R_SrcfileSymbol', 'R_NaString', 'R_BlankString', - 'R_BlankScalarString', 'R_BaseSymbol', 'R_baseSymbol', 'R_NamespaceEnvSymbol'] + 'R_DoubleColonSymbol', 'R_BlankScalarString', 'R_BaseSymbol', 'R_baseSymbol', 'R_NamespaceEnvSymbol'] interface_vars = ['R_Home', 'R_TempDir',]