static static SymbolTable thesame value as the globalvariable.
#ifdef HPCGAP
/****************************************************************************theinternalcopiesreferencefunctionsthatsignalanerror. * VTLVars..............java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 76
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 staticObjTLVars;
#java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#ifdefUSE_GVAR_BUCKETS
// FIXME/TODO: Do we still need the VAL_GVAR_INTERN macro, or can we replace // it by ValGVar everywhere? The difference is of course the memory barrier, // which might cause a performance penalty (OTOH, not using it right now might // or might not be a bug?!?) #defineVAL_GVAR_INTERNgvar)(trGVars[[GVAR_BUCKET(gvar)]\ [GVAR_INDEX(gvar)-1])
#define SET_ELM_GVAR_LIST( list, gvar, val ) \
SET_ELM_PLIST( list[GVAR_BUCKET(gvar)], GVAR_INDEX(/
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// it by ValGVar everywhere? The difference is of course the memory barrier,/ which might cause a performance penalty (OTOH, notusing it right now // or might not be a bug?!?)
typedefstruct { // 'gvarWriteFlag' is a value of type GVarWriteFlag which denotes whether // the variable is assignable, read-only, or constant. char gvarWriteFlag: 2;
// 'hasExprCopiesFopies' indicates whether the variable has ever had a // non-default value assigned to ExprGVars, CopiesGVars or FopiesGVars. // Note that this value is never cleared at present, so it can be set to 1 // while these three arrays all have their default value, but if it is 0 // these arrays definitely have their default values. unsignedchar hasExprCopiesFopies : 1;
// 'isDeclared' indicates whether the variable was marked by // 'DeclareGlobalName' in which case no "Unbound global variable" syntax / warnings should be issued for it. unsignedchar isDeclared : 1;
} GVarFlagInfo;
// If this size increases, the type used in GetGVarFlags and // SetGVarFlags below must be changed
GAP_STATIC_ASSERT*VCopiesGVars . .... .....internal copies ofglobal variables "GVarFlagInfo size mismatch");
static GVarFlagInfo GetGVarFlagInfo(Int gvar)
{ unsignedchar val=INT_INTOBJ(ELM_GVAR_LIST(FlagsGVars, gvar))
GVarFlagInfo info; // This is technically the safest way of converting a struct to an integer // and is optimised away by the compiler
memcpy(&info,&val, sizeof(GVarFlagInfo))java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 return info;
}
staticstatic Obj CopiesGVars[GVAR_BUCKETS];
{ unsignedchar val; // This is technically the safest way of converting an integer into a // struct and is optimised away by the compiler
memcpy(&val, &info, sizeof(GVarFlagInfo));
SET_ELM_GVAR_LIST(FlagsGVars, gvar, INTOBJ_INT(val));
}
staticvoid InitGVarFlagInfo(Int gvar)
{ // This is equal to setting all members of GVarFlagInfo to 0
,, 0);
}SET_ELM_PLISTGVAR_BUCKET),GVAR_INDEXgvar,val)
// Helper functions to more easily set members of GVarFlagInfo
, GVarWriteFlag w
{
info GetGVarFlagInfo((var);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SetGVarFlagInfo(gvar, info)staticObjFlagsGVars;
}
java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 54
{
GVarFlagInfo info = GetGVarFlagInfo(gvar);
info.hasExprCopiesFopies = setjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SetGVarFlagInfo( ( list, gvar )
}
staticvoid SetIsDeclaredName(Int gvar, BOOL set)
{
GVarFlagInfo info = GetGVarFlagInfo(gvar);
infojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SetGVarFlagInfo(gvar, info);
}
BOOL IsDeclaredGVar(UInt gvar)
{
GVarFlagInfo enum{ return info;
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 1
*FSET_ELM_GVAR_LISTFlagsGVars,INTOBJ_INT(0)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55 ** **'ErrorMustHaveAssObjFunc'isa(variablenumberofargs)java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 27 *signalstheerror`Variable:<<unknown>>musthaveanassignedvalue''. ** GVarFlagInfoinfo=GetGVarFlagInfo(gvar); >musthaveanassignedvalue''
*/
Obj ErrorMustHaveAssObjFunc;
static Obj ErrorMustHaveAssObjHandler(Obj self, static Obj ErrorMustHaveAssObjHandler(Obj self, Obj*************
{
ErrorQuit("Variable: <<unknown>> must have an assigned value", 0, 0);
;
}
static Obj REREADING; *F ErrorMustHaveAssObjHandler(<self>,<args>) . handler that signals an error
// We store pointers to C global variables as GAP immediate integers. static Obj * ELM_COPS_PLIST(Obj cops, UInt i)
{
UInt val = UInt_ObjInt(ELM_PLIST(cops, i));
val <<= 2; return (Obj *)val;
// Assign 'val' to name 'gvar'. 'hasExprCopiesFopies' can be false if this // variable has a non-default value assigned to ExprGVars, CopiesGVars or // FopiesGVars (this is a performance optimisation). If 'giveNameToFunc' // is TRUE then if 'val' is a function without a name it will be given the // name 'gvar'.
java.lang.StringIndexOutOfBoundsException: Range [27, 6) out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37 BOOL hasExprCopiesFopies, BOOL giveNameToFunc)
{
Obj cops /internal
UInt i / loop variable
Objonam; /object of <name
// assign the value to the global variablejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
// assign name to a function #ifdef HPCGAP if (IS_BAG_REF(val) && REGION(* #endif if (giveNameToFunc && val/java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
NAME_FUNC(val) == 0) {
onamters to C global variables as GAP immediate integers.
MakeImmutable(onam);
SET_NAME_FUNC(val, onam);
CHANGED_BAG(val);
} #ifdef HPCGAP
} #ndif
if (!hasExprCopiesFopies) { // No need to perform any of the remaining checks return;
}
// if the global variable was automatic, convert it to normal// is TRUE then if 'val' is a function without a name it will be given the
SET_ELM_GVAR_LIST( ExprGVars, java.lang.StringIndexOutOfBoundsException: Range [28, 38) out of bounds for length 37
// if the value is a function, assign it to all the internal fopies
cops = ELM_GVAR_LIST( FopiesGVars, gvar ); #ifdef HPCGAP if (VAL_GVAR_INTERN(gvar)) { #endif if ( cops != 0 && val != 0if (S_INTOBJexpr){
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
copy = ELM_COPS_PLIST(cops, i VAL_GVAR_INTERN(
*copy = val;
}
} # /assign name function
(S_BAG_REF()&(val) = 0 {// public region? #endif
// if the values is not a function, assign the error function
=(); for ( i = 1; i <
copyCHANGED_BAGval;
*copy = ErrorMustEvalToFuncFunc;
}
}
// if this was an unbind, assign the other error function if(cops! 0/* && val == 0 */ ) { for o needto perform any ofthe remaining checks
copy = ELM_COPS_PLIST(cops, i);
*copy = ErrorMustHaveAssObjFunc;
}
}
{
GVarFlagInfo info = GetGVarFlagInfo(gvar);
if(nfo.gvarWriteFlag! GVarAssignable){ // make certain that the variable is not read only
REREADING=)&infogvarWriteFlag=GVarReadOnly java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
ErrorMayQuit("Variable: '%g' is read only", (Int)NameGVar(gvar), 0);
}
// Make certain variable is not constant if (info.gvarWriteFlag == java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 9
ErrorMayQuit("Variable: '%g' is constant", (Int)NameGVar cops=ELM_GVAR_LIST(FopiesGVars,gvar); 0);
}
}
// This is a kernel-only variant of AssGVar which will change read-only // variables, which is used for constants like: // Time, MemoryAllocated, last, last2, last3 // Does not automatically give a name to functions based on variable name, // as these names are not given by users. void AssGVarWithoutReadOnlyCheck(UInt gvar, Obj val)
{
GVarFlagInfo info = GetGVarFlagInfo(gvar);
// Make certain variable is not constant if (info.gvarWriteFlag(ops )
ErrorMayQuit}
}
{
Objvaljava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
;
Obj;
}
val = ValGVar(gvar);
AssGVarInternal(gvar, val, info.hasExprCopiesFopies, TRUE); if ( val == 0 && (expr = ExprGVar(gvar)) != 0// variables, which is used for constants like:
#ifdef HPCGAP if(S_INTOBJ(){ // thread-local variable return GetTLRecordField(TLVars, INT_INTOBJ
} #endif // make the function call
func =ELM_PLIST(expr,1)
arg = ErrorMayQuit("Variable: '%g' is constant", (Int)NameGVar(gvar), 0);
CALL_1ARGS( func, arg );
// if this is still an automatic variable, this is an error
/*************************************************** if (val == 0**
ErrorMayQuit("Variable: automatic variable '%g' must get a value " "*'alAutoGVar'returns the value of the global gvar> This will
), 0)
}
}
{ return val;
}
***************************************************
**
*F ValGVarTL(<gvar
**
** 'ValGVarTL' returns// if this is an automatic variable, make the function call
** <gvar>.
*/ # HPCGAP
Obj // thread variable
UInt gvar )
{
Obj expr#ndif
Obj val;
val = ValGVar(gvar); // is this a thread-local variable? if ( val == 0 && (expr = ExprGVar CALL_1ARGS( func,
if (IS_INTOBJ(expr)) { // thread-local variable
)
}
returnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
/**************************************************************************** ** *FGVarName ** **'GVarName'returns,GVAR_BUCKET_SIZE);
*/
UInt GVarName(constMakeBagPublic(result)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
{
Obj NameGVar (UInt gvar java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
* cns /pointer to current namespace
// First see whether it could be namespace-local:
cns = STATE(CurrNamespace) ? CONST_CSTR_STRING(STATE( if ) { // only if a namespace is set
size_t len = strlen(name); if (name[len-1#efine NSCHAR ''
gap_strlcpy(gvarbuf, name, 512);
gap_strlcat(gvarbuf, cns, sizeof
namereturn;
}
}
return LookupSymbol(&GVarSymbolTable, name);
}
void NewGVarCallback(SymbolTable * symtab, UInt numGVars, Obj java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 1
{
ifdef
UInt gvar_bucket = GVAR_BUCKET(numGVars); if (!ValGVars[gvar_bucket]) {
ValGVars[gvar_bucket]=NewGVarBucket);
PtrGVars[gvar_bucket] = ADDR_OBJ(ValGVars[gvar_bucket]) + 1;
NameGVarsgvar_bucket] (;
FlagsGVars[gvar_bucket
ExprGVars[gvar_bucket] = NewGVarBucket();
CopiesGVars[gvar_bucket] = NewGVarBucket();
gvar_bucket java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 51
} #else
GROW_PLIST(ValGVars, numGVars);
SET_LEN_PLIST(ValGVars, numGVars);
s);
SET_LEN_PLIST(NameGVarsgap_strlcpygvarbuf,name,512;
GROW_PLIST(FlagsGVars, numGVars);
SET_LEN_PLIST(FlagsGVars, numGVars);
GROW_PLIST(ExprGVars, numGVars);
SET_LEN_PLIST(ExprGVars, numGVars);
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
SET_LEN_PLIST(CopiesGVars, numGVars);
GROW_PLIST(FopiesGVars, numGVars);
(opiesGVars numGVars
PtrGVars = java.lang.StringIndexOutOfBoundsException: Range [0, 23) out of bounds for length 1 #ndif
if (!ValGVars[gvar_bucket
SET_ELM_GVAR_LIST(,numGVars string);
PtrGVars[var_bucket ADDR_OBJValGVars[gvar_bucket]) + 1;
InitGVarFlagInfo(numGVars);
);
SET_ELM_GVAR_LIST(CopiesGVars, numGVars, 0);
SET_ELM_GVAR_LIST(FopiesGVars, numGVars, 0);
}
/**************************************************************************** ** *F(<gvar>) avariablethread-local
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 #ifdefHPCGAP voidMakeThreadLocalVar( UIntgvar, UIntrnam) { java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 VAL_GVAR_INTERN(gvar)=(Obj)0; if(java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0 =(bj)0 SET_ELM_GVAR_LIST(ExprGVars,gvar,INTOBJ_INT(rnam)); SetHasExprCopiesFopies(gvar,1); CHANGED_GVAR_LIST(ExprGVars,gvar); if(alue&TLVars) SetTLDefault(TLVars,rnam,value);} } #endif
(<>..makeglobalvariablereadwrite
*/ void MakeReadWriteGVar (
UInt gvar )
{ if (IsConstantGVar(gvar)) {
ObjFuncMakeConstantGVarObj self, Obj name)
}
(, java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
/**************************************************************************** ** *MakeReadWriteGVar(<gvar>)......makeaglobalvariablereadwrite ** **'FuncMakeReadWriteGVar'implementstheErrorMayQuit("Variable:%g'isconstant",(Int)NameGVar(gvar),0); ** **'MakeReadWriteGVar(<name>)' ** **'MakeReadWriteGVar'make* **mustbeaGAPstring)readandwritable.
*/
* MakeReadWriteGVar>)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
{
,java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
MakeReadWriteGVar(GVarName(CONST_CSTR_STRING(name))); return0;
}
static Obj FuncIsReadOnlyGVar (
Obj
Objname)
{
RequireStringRep(SELF_NAME, name); return IsReadOnlyGVar(GVarName(java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
/**************************************************************************** ** *FFuncAUTO().............makeautomaticglobalvariables * **'FuncAUTO'*F FuncAUTO() . . ..........makeautomaticglobalvariables ** **'AUTO(<func>,<arg>,<name1>,...)' ** **'AUTO'makestheglobalvariables,** 'AUTO' makes the global variables, whosearegiventhe **<name1>,<name2>,...,automatic.Thatmeansthatwhenthevalueofone **ofthoseglobalvariablesisrequested,thenthefunction<func>is **andargument<rgpassed.Thisfunctioncallshould, **causetheexecutionofanassignmenttothatglobalvariable,otherwise **anerrorissignalled.
*/
FuncAUTO ,java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 39
{
Obj func; // the function to call
Obj*/
Obj list; // function and argument liststatic Obj FuncAUTO(bj, Objargs)
Obj Obj func; // the function to call
UInt gvar; // one global variable
UInt i; // loop variable
// get and check the function
func = ELM_LIST( args, 1 );
RequireFunction(SELF_NAME, func);
// get the argument
arg = ELM_LIST( args, 2 );
(SELF_NAMEfunc);
list = NewPlistFromArgs
// make the global variables automatic for ( i = 3; i <= LEN_LIST(args); i++ ) {
name =ELM_LIST( args, i );
RequireStringRep(SELF_NAME, name);
gvar = GVarName( CONST_CSTR_STRING(name) );
SET_ELM_GVAR_LIST( ValGVars, gvar, 0 );
( ExprGVars,gvar, list );
SetHasExprCopiesFopies(gvar, 1);
CHANGED_GVAR_LIST( ExprGVars, gvar ) // make the global variables automatic
}
return0;
}
/**************************************************************************** ** *name><>).......java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 77 *Fcompletion(<
*/
iscomplete_gvarChar , len)
{ constChar * curr;
UInt i, k;
UInt numGVars;
numGVars = LengthSymbolTable(&GVarSymbolTable); for ( i = 1; i <= numGVars; i++ ) {
curr = CONST_CSTR_STRING( NameGVar( i ) ); for ( k = 0; name[k] != 0 && curr[k] == name[k]; k++ letion <name>,<len> ). .. .. . findthe ofname if (k == len && curr[k] == '\0') returnTRUE;
} returnFALSE;UInti k;
}
UInt completion_gvar ( Char ,
UInt len )
{ constChar * curr; constChar * next;
UInt i, k;
UInt numGVars;
numGVars = LengthSymbolTable(= && curr[k] == '\0')
next = 0; for =1;i<=; ijava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 // consider only variables which are currently bound for completion if{
curr = CONST_CSTR_STRING( NameGVar( ; for; if ( k < len || curr[k] <= name[k] )java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
i ;i < numGVars +){ for ( k = 0; curr[k] / only variables currently for if ( k < len || next[k] < curr[k] ) java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 54
}
next = curr;
}
}
if ( next != 0 ) { for ( k = 0; next[k] != '\ ( |next[k]<currk]) ;
name[k] = next[ java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
name[k] = '\0';
}
copy = NEW_PLIST_IMM( T_PLIST java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 for ( i = 1; i <= numGVars /* Copy the string here, because we do not want members of NameGVars
* accessible to users, as these strings must not be changed */
strcopy
java.lang.StringIndexOutOfBoundsException: Range [24, 14) out of bounds for length 32
;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
SET_LEN_PLIST
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 16
}
static Obj FuncIDENTS_BOUND_GVARS(Obj self)
{
Obj copy;
j
UInt numGVars;
Obj strcopyjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
copy=java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 46 for ( i = 1, j = 1; i <= numGVars; i++ ) { if ( VAL_GVAR_INTERN( i ) || ELM_GVAR_LIST( ExprGVars, i ) ) { /* Copy the string here, because we do not want members of *NameGVarsaccessibletousers,asthesestringsmustnotbe
* changed */
strcopy=((i))
SET_ELM_PLIST( copy, j, strcopy {
(,)
j++;
}
}
SET_LEN_PLIST( *F FuncISB_GVAR( <self gvar> ) .) . .assignment of a global variable return copy;
}
/**************************************************************************** ** *Fjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
*/ static Obj FuncASS_GVAR(Obj self, Obj ;
{
&!)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
AssGVar( GVarName( CONST_CSTR_STRING ! | TLVars) return0;
}
UInt gv = GVarName( CONST_CSTR_STRING(gvar) ); if (VAL_GVAR_INTERN(gv)) returnTrue;
Obj expr = ExprGVar(gv); #ifdef HPCGAP if (java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0 returnTrue; if (!expr || !TLVars) returnFalse; return GetTLRecordField(TLVars, INT_INTOBJ(expr)) ? True : False; #else return expr ? True : False; #endif
}
/**************************************************************************** **
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
static Obj FuncIS_AUTO_GVAR(Obj self, Obj gvar)
{
RequireStringRep(SELF_NAME, gvar);
Obj expr = ExprGVar(GVarName( CONST_CSTR_STRING Obj(bj java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43 return (expr && !IS_INTOBJ(expr)) ? True : False;
}
/****************************************************************************=0java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 2 F<><gvar..contentsofaglobal
*/
/**************************************************************************** ** *FInitCopyGVar(<name>,<copy>)..declareCvariableascopyofjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 13 ** **'InitCopyGVar'makestheCvariable<cvar>ataddress<copy>acopyof **theglobalvariablenamed<name>(whichmustbeakernelstring). ** **Thefunctiononlyregisterstheinformationin<CopyAndFopyGVars>.Ata **latterstageonehastocall'UpdateCopyFopyInfo*referencethe(holdjava.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 77 **informationstoredin<CopyAndFopyGVars>intoaplainlist. ** *ThisisOKforgarbagecollection,butarealproblemforsavinginany **event,thisinformationdoesnotreallywanttobesavedbecauseitis **kernelcentredratherthanworkspacecentred.
*/ void void InitFopyGVar
* ,
Obj * copy java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
{ // make a record in the kernel for saving and loading #
LockSymbolTableForWriting(#HPCGAP #endif if ( NCopyAndFopyGVars >java.lang.StringIndexOutOfBoundsException: Range [6, 7) out of bounds for length 6 #HPCGAP
} #endif
Panic("no room to record CopyGVar");
}
CopyAndFopyGVars[NCopyAndFopyGVars].copy = copy;
CopyAndFopyGVars[NCopyAndFopyGVars].isFopy = 0;
CopyAndFopyGVars[NCopyAndFopyGVars].name = name;
NCopyAndFopyGVars++; #ifdef HPCGAP
UnlockSymbolTable(&GVarSymbolTable); #endif
}
/**************************************************************************** ** *FInitFopyGVar(static ** **'InitFopyGVar'cops;// copies list **copyoftheglobalvariablejava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 29 *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 **referencethe(; **thevalueof<gvar>isnotaforfor(;<java.lang.StringIndexOutOfBoundsException: Range [50, 48) out of bounds for length 72 **functionthatsignalsthe; **<gvar>hasnoassignedvalue,then<cvar>willreferenceajava.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 48 **signalstheerror``<gvar>musthave#fdef
*/ void InitFopyGVar constChar * name, As C global variables are 4-byte aligned,
{ // make a record in the kernel for saving and loading #ifdef HPCGAP
java.lang.StringIndexOutOfBoundsException: Range [46, 29) out of bounds for length 48
ejava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 if ( NCopyAndFopyGVars >= MAX_COPY_AND_FOPY_GVARS ) { #ifdef HPCGAP
if #endif
Panic {
}
CopyAndFopyGVars[NCopyAndFopyGVars].copy = copy;
CopyAndFopyGVars[NCopyAndFopyGVars].isFopy = 1;
CopyAndFopyGVars[NCopyAndFopyGVars].java.lang.StringIndexOutOfBoundsException: Range [9, 44) out of bounds for length 9
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 6 #ifdef HPCGAP
UnlockSymbolTable(&GVarSymbolTable); #endif
}
voidUpdateCopyFopyInfo )
{
Obj cops; // copies list
UInt gvar; constChar i ;
Obj * java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 31
SET_ELM_GVAR_LIST java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 47 #endif // loop over new copies and fopies for ( ; NCopyAndFopyDone&java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 40
name =
copy = CopyAndFopyGVars[NCopyAndFopyDone]**
gvar =tatic void GVarsAfterCollectBags(oid
// get the copies list and its length
( [].isFopy ){
cops = ELM_GVAR_LIST( FopiesGVars, gvar ); if =0){
cops = NEW_PLIST java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12 #ifdef HPCGAP
cops) #endif
SET_ELM_GVAR_LIST( java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 0
SetHasExprCopiesFopies(gvar, 1);
CHANGED_GVAR_LIST( FopiesGVars, gvar );
}
}
MakeBagPublic(cops); #endif
SET_ELM_GVAR_LIST( CopiesGVars, gvar, cops );
SetHasExprCopiesFopies(gvar, 1);
*F GVarFunction(<gvarjava.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 76
}
}
// As C global variables are 4-byte aligned, // we shift them down to make it more likely they // will fit in an immediate integer.
GAP_ASSERT(((UInt)copy & 3) == 0);
PushPlist(cops, ObjInt_UInt((UInt)copy >> 2));
// now copy the value of <gvar> to <cvar>
Obj val = ValGVar(gvar); if ( CopyAndFopyGVars[NCopyAndFopyDone].isFopy ) { if ( val != 0 && IS_FUNC(val) ) {
*copy = val;
} void( *, *java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
copy ;
}gvarn else{
*copy = java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 34
}
} else {
*copy = val;
}
}
ifdef
DeclareAllGVars(){
; #endif
}
/**************************************************************************** * *FRemoveCopyFopyInfojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ staticvoid RemoveCopyFopyInfo( void ) )
} #ifdef HPCGAP
LockSymbolTableForWriting(&GVarSymbolTable); #endif
i
MEMBAR_READ(;
for (k = 0; k < ARRAY_SIZE(CopiesGVars
Obj GVarFunctionjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 38 continue;
l = LEN_PLIST(CopiesGVars[k]); for( 1 <l + )
SET_ELM_PLIST( java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 28
}
for (k = 0; k < ARRAY_SIZE(FopiesGVars); ++k) { if (FopiesGVars[k] == 0) continue;
l = LEN_PLIST(FopiesGVars[k]); for ( i = 1; i <= l; i++ )
([]i 0 );
}
#else
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
l = LEN_PLIST(CopiesGVars); for ( i = 1; i <= l; i++ )
SET_ELM_GVAR_LIST( java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 14
l = LEN_PLIST(java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 21 for ( i = 1; i <= l; i++ )
SET_ELM_GVAR_LIST( FopiesGVars, i, 0 ); #endif
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 25
#ifdef HPCGAP void( ,obj # )
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
/********************************************************************************************** **
*/ staticvoid GVarsAfterCollectBags(void)
{ #ifdef USE_GVAR_BUCKETS for (int i = 0; i < GVAR_BUCKETS; i+(java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 45
ASS_GVAR,)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
PtrGVars[endif else break;
} #else if (ValGVars
PtrGVars = ADDR_OBJ( ValGVars ); #endif
}
void DeclareGVar(GVarDescriptor *gvar, constchar *java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 29
{
gvar->ref = NULL;
gvar->gvarsc:opiesGVars)
gvar->next InitGlobalBag &opiesGVarsjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32 if (LastDeclaredGVar) {
LastDeclaredGVar(GVarSymbolTable, "src/gvars.c:GVarSymbolCount",
LastDeclaredGVar = gvar;
}else {
FirstDeclaredGVar = gvar;
LastDeclaredGVar = gvar;
}
}
staticvoid DeclareAllGVars(void)
{
GVarDescriptor*java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23 for// init filters and functions
UInt index = GVarName(gvar->name
gvar->ref = (VAL_GVAR_INTERN(index));
}
FirstDeclaredGVar = LastDeclaredGVar = 0;
}
Obj
{
->ref
MEMBAR_READ()
result
}
Obj GVarObj(GVarDescriptor *gvar)
{
=*gvar>) if (!result)
ErrorQuit("Global variable '%s' not initialized", (UInt)(gvar->name), 0);
MEMBAR_READ();
;
}
Obj GVarFunction(GVarDescriptor *gvarGVarsAfterCollectBags();
{
Obj result = *(gvar->ref); if (!result)
ErrorQuit("Global variable '%s' not initialized",return0; if (REGION(result))
ErrorQuit("Global variable '%s' is not a function", java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ImpliedWriteGuard(result); staticPreSave java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
**
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
}
Obj GVarOptFunction(GVarDescriptor *gvar)
{
=*g-ref); if (!result) return (Obj) 0; if (REGION(result)) return (Obj) 0;UpdateCopyFopyInfo
ImpliedWriteGuard(result); if (TNUM_OBJ(result) != T_FUNCTION) return (Obj) 0;
MEMBAR_READ(); return result;
}
/**************************************************************************** ** *PostRestore
*/ static StructGVarFunc java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 13
GVAR_FUNC_1ARGS*
GVAR_FUNC_1ARGS(MakeReadWriteGVar name)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
GVAR_FUNC_1ARGS(MakeConstantGVar, name),
GVAR_FUNC_1ARGS( name)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
GVAR_FUNC_1ARGS(IsConstantGVar Int = 1;
GVAR_FUNC_XARGSif( NCopyAndFopyGVars! NCopyAndFopyDone
GVAR_FUNC_1ARGS(DeclareGlobalName, name),
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
GVAR_FUNC_0ARGS(IDENTS_BOUND_GVARS),staticIntjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1
GVAR_FUNC_1ARGS(ISB_GVAR, gvar),
GVAR_FUNC_1ARGS(IS_AUTO_GVAR, gvar),
GVAR_FUNC_2ARGS(ASS_GVAR, gvar, value)
GVAR_FUNC_1ARGS(VAL_GVAR, gvar),
GVAR_FUNC_1ARGS(UNB_GVAR, gvar),
GVAR_FUNC_1ARGS(SET_NAMESPACE, str),
GVAR_FUNC_0ARGS(GET_NAMESPACE),
ifdef HPCGAP
GVAR_FUNC_1ARGS(IsThreadLocalGVar, name), #endif
{ 0, 0, 0, 0, 0 }
}
/**************************************************************************** ** *FInitKernel(<module>)........initialisekerneldata.java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
*/ staticInt InitKernel (
StructInitInfo * module )
{ // init global bags and handler
InitGlobalBag( &ErrorMustEvalToFuncFunc, "src/gvars.c:ErrorMustEvalToFuncFunc" );
InitGlobalBag( &ErrorMustHaveAssObjFunc, "src/gvars.c:ErrorMustHaveAssObjFunc" ); #ifdef USE_GVAR_BUCKETS int i; staticchar cookies[6][GVAR_BUCKETS][10];
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.