Przemyslaw Czerpak f184dc34f7 2009-04-16 17:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/garbage.c
    + added optional support for automatic GC activation.
      It's not enabled by default yet but by compilation with macro
      HB_GC_AUTO, f.e. after setting envvar:
         set HB_USER_CFLAGS=-DHB_GC_AUTO
      Automatic GC activation may be necessary for code which creates
      complex variables with cyclic references and does not execute
      any other code which may activate idle state GC call. It also
      makes unnecessary to explicitly call hb_gcAll() from user code,
      f.e. as some type of background task. If some of you were using
      code which needed such explicit GC activation then please remove
      it and make some tests with Harbour compiled with HB_GC_AUTO macro.

      This simple .prg code illustrates the problem. When linked with HVM
      without automatic GC it quite fast allocates all available memory
      and finished with out of memory error or is interrupted by OS.
      When automatic GC is enabled it can work unlimited time period
      with some fixed maximum memory usage.

            proc main()
               local a
               while .t.
                  a:={nil}
                  a[1]:=a
               enddo
            return
2009-04-16 15:48:13 +00:00
Description
Harbour Core — Reference source for Five development
172 MiB
Languages
C 80.3%
xBase 17.8%
Makefile 0.6%
C++ 0.4%
Harbour 0.4%
Other 0.3%