The grain size depends on whether it is 32-bit or 64-bit. 32-bit compiles
use an 8-byte grain size and the min size is also smaller.

Rick

On Sat, Nov 21, 2020 at 12:36 PM Erich Steinböck <erich.steinbo...@gmail.com>
wrote:

> When validateObject in MemorySegment.hpp is enabled and our tests are run,
> I'm seeing (only very few) invalid object size detections, and all of them
> seem to be related to running rexxc - compiled code.
>
> If the trivial Rexx program `return 99` is compiled with rexxc and the
> output is run, this is the result (22 is String, 36 is Buffer).
>
> ~~~
> GC detected invalid object size: type=36, bytes=172, min=48, grain=16
> GC detected invalid object size: type=22, bytes=116, min=48, grain=16
> GC detected invalid object size: type=-1153706960, bytes=1644, min=48,
> grain=16
> GC detected invalid object size: type=-1153705076, bytes=1300, min=48,
> grain=16
> GC detected invalid object size: type=299048656, bytes=1644, min=48,
> grain=16
> GC detected invalid object size: type=299048656, bytes=1300, min=48,
> grain=16
> ~~~
>
> Our usual suspect again - newly created objects collected too early by GC?
> Are all Rexx objects 48 + k * 16 in size?
> Shall we keep this check enabled in the DEBUG version of our code to make
> it easier catching any of these issues?
> _______________________________________________
> 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