On Mon, Apr 8, 2024 at 8:14 AM Jean Louis Faucher <jfaucher...@gmail.com>
wrote:

> RexxMemory.cpp
>     IntegerZero   = new_integer(0);
>     IntegerOne    = new_integer(1);
>     ...
>
> Looking at RexxMemory::live, I don’t see what is marking IntegerZero.
>
> Other global static variables like TheTrueObject  or nullPointer are put
> in a collection.
>     addToEnvironment("TRUE", TheTrueObject);
>     addToSystem("NULLPOINTER", TheNullPointer);
> and protected:
>     memory_mark(environment);
>     memory_mark(system);
>
>
> Side question, out of curiosity:
>     // Create some special Rexx objects.
>     TheTrueObject  = new RexxInteger(1);
>     TheFalseObject = new RexxInteger(0);
> With these assignments, we have TheTrueObject <> IntegerOne, right?
> Why not assigning IntegerZero, IntegerOne?
>

There is one complication with trying to do that. The TRUE and FALSE
objects are part of the saved image, while the values in the integer
allocation class are not saved in the image and are recreated as part of
the image load time.

Rick



> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to