A garbage collection is triggered any time an allocation request fails. At
that time, all of the unreferenced objects are swept up and repooled and
the allocation request is retried. The uninits on objects that have been
identified as unreferenced will get run at the next "safe" boundary, which
is usually method termination.

Rick

On Sun, Apr 24, 2022 at 1:51 PM Rony G. Flatscher <rony.flatsc...@wu.ac.at>
wrote:

> Trying to analyze runtime behaviours using a rexxtry.rex session in which
> BSF objects get created,
> some of which do not get assigned to Rexx variables (and hence turning to
> garbage after the
> respective statement got executed).
>
> Creating over and over BSF-ooRexx objects that do not get referenced and
> as such are immediately
> eligible to be destroyed by the garbage collector this seems to not be
> taken place while the
> rexxtry.rex program in which they got created executes. Ending the
> rexxtry.rex session after a while
> will cause the garbage collector to run (having debug statements in the
> uninit method) at that point
> in time.
>
> So when does the garbage collector get triggered? Or asked differently:
> what is needed to get the
> garbage collector to run the uninit methods of orphaned Rexx objects?
>
> ---rony
>
>
>
>
> _______________________________________________
> 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