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