[parrot/parrot] 277b0a: [gc] decruft -DMEMORY_DEBUG and DETAIL_MEMORY_DEBU...

GitHub noreply at github.com
Sun Nov 9 10:24:46 UTC 2014


  Branch: refs/heads/master
  Home:   https://github.com/parrot/parrot
  Commit: 277b0a1a27fcf9b08b0823acba3809693ecc5901
      https://github.com/parrot/parrot/commit/277b0a1a27fcf9b08b0823acba3809693ecc5901
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M include/parrot/interpreter.h
    M src/gc/alloc_memory.c
    M src/gc/gc_gms.c
    M src/gc/gc_inf.c
    M src/gc/gc_ms.c
    M src/gc/gc_ms2.c
    M src/gc/gc_private.h
    M src/platform/darwin/sysmem.c
    M src/platform/generic/sysmem.c

  Log Message:
  -----------
  [gc] decruft -DMEMORY_DEBUG and DETAIL_MEMORY_DEBUG, add -D100

Check -D100 instead of DETAIL_MEMORY_DEBUG when -DMEMORY_DEBUG is enabled.
This way we can run -D101 and -D1 to get verbose and non-verbose GC tracings.

Add new MEMORY_DEBUG_DETAIL_2 macro for fprintf helpers all over.
Move common panic_failed_allocation into gc_private.h, maybe the other
common gc memory funcs also to save space.
Print avail sysmem on startup with -D1.
GH #1108


  Commit: c983e15a8b8e07f1beefa069b4d0de82702aa531
      https://github.com/parrot/parrot/commit/c983e15a8b8e07f1beefa069b4d0de82702aa531
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M include/parrot/interpreter.h
    M src/call/context_accessors.c
    M src/gc/gc_private.h
    M src/platform/darwin/sysmem.c

  Log Message:
  -----------
  [core] enable Interp_debug_TEST and flags with flag combinations

Now you can check for multiple flags, e.g.
if (Interp_debug_TEST(interp,
       PARROT_MEM_STAT_DEBUG_FLAG | PARROT_GC_DETAIL_DEBUG_FLAG))
Was used only for single flags, so no changes for existing code.
Document the single flag limitation for the left-over trace_flags test.
There's no -t flag combination, like verbose yet.


  Commit: 9a75015e9e1463de2814123f7f5dab05490d716d
      https://github.com/parrot/parrot/commit/9a75015e9e1463de2814123f7f5dab05490d716d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M docs/binaries/parrot.pod
    M docs/running.pod
    M frontend/parrot/main.c
    M frontend/parrot2/main.c
    M include/parrot/api.h
    M include/parrot/gc_api.h
    M include/parrot/interpreter.h
    M src/embed/api.c
    M src/gc/api.c
    M src/gc/gc_gms.c
    M src/gc/gc_ms2.c
    M src/gc/gc_private.h
    M src/interp/api.c

  Log Message:
  -----------
  [gc] check -D1 in startup, add -D2xx MEM_DETAIL_DEBUG_FLAG

Print GS and Memory info on -D1.
Add seperate GC_DEBUG_DETAIL_2 tracer to seperate it from
MEM_DETAIL_DEBUG_FLAG tracing for every single alloc/free.
Document the two new -D100 and -D200 flags with --ccflags=-DMEMORY_DEBUG


  Commit: b61b2421c269b77c874dacaf9a595607225740c8
      https://github.com/parrot/parrot/commit/b61b2421c269b77c874dacaf9a595607225740c8
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M ChangeLog
    M src/gc/gc_gms.c

  Log Message:
  -----------
  [gc] Better -D1 printout. ChangeLog #1108

$ ulimit -Sv 640
$ ./parrot -D1
Free Memory: 8589934592
Memory via rlimit restricted to: 655360
GC nursery size: 2.0%
GMS GC threshold: 13107


  Commit: a45eaad2344227ca88885790847fb74915ac5cb1
      https://github.com/parrot/parrot/commit/a45eaad2344227ca88885790847fb74915ac5cb1
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M include/parrot/runcore_trace.h
    M src/call/context.c
    M src/gc/gc_gms.c
    M src/gc/gc_inf.c
    M src/gc/gc_ms.c
    M src/gc/gc_ms2.c
    M src/runcore/trace.c

  Log Message:
  -----------
  [gc] add trace_pmc_flags_dump

and use it within trace_pmc_dump and #1108, coro in wrong gen


  Commit: d072a011246ad60b0e83bda9f512bce6020a468a
      https://github.com/parrot/parrot/commit/d072a011246ad60b0e83bda9f512bce6020a468a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M config/gen/makefiles/root.in
    M t/dynoplibs/debug.t

  Log Message:
  -----------
  [cage] fixup 2 test errors with pmc flags


  Commit: cb85683c726e1fcf949cf95608f74e3212a6b608
      https://github.com/parrot/parrot/commit/cb85683c726e1fcf949cf95608f74e3212a6b608
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M src/gc/gc_gms.c
    M src/runcore/trace.c

  Log Message:
  -----------
  [gc] dont stress the GC when tracing the GC

printf directly to stderr in trace_pmc_flags_dump, when not in the debugger


  Commit: 27f7c42580ccf65eac62377b535c2b27de5b0b3a
      https://github.com/parrot/parrot/commit/27f7c42580ccf65eac62377b535c2b27de5b0b3a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M src/call/context.c

  Log Message:
  -----------
  [gc] protect pcc_reuse_continuation from empty data

check for uninitialized continuation->data and allocate fresh then also.
simplify code a bit.


  Commit: 08bb58b95abf8724dfa3e3f9ea1b67ff9de242a1
      https://github.com/parrot/parrot/commit/08bb58b95abf8724dfa3e3f9ea1b67ff9de242a1
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M src/gc/gc_gms.c

  Log Message:
  -----------
  [gc] check empty work_list, optimize gc_gms for -UMEMORY_DEBUG

do not call dummy functions in the common case during GC.

for -DMEMORY_DEBUG only:
protect from empty work_list in check_sanity, which can
occur after the GC was already unblocked.


  Commit: b20ff2bcde15fc316583992d8b246f94dd936c89
      https://github.com/parrot/parrot/commit/b20ff2bcde15fc316583992d8b246f94dd936c89
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M config/auto/format.pm
    M config/gen/config_h/config_h.in
    M src/platform/darwin/sysmem.c
    M src/platform/generic/sysmem.c

  Log Message:
  -----------
  [gc] new uintval_fmt for size_t printf

memsize is unsigned for >2GB, and we need to print it properly.
otherwise it will print a negative number >4GB in i386


  Commit: a7c402d64ed13717fbc6ccae73e241dca799d7c9
      https://github.com/parrot/parrot/commit/a7c402d64ed13717fbc6ccae73e241dca799d7c9
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M src/gc/gc_gms.c
    M src/gc/gc_private.h

  Log Message:
  -----------
  [gc] WIP more GC_DEBUG_DETAIL macros, allow wrong Coros

observe illegal Coros during the GC, Object from wrong generation.

Inline gc_gms_seal_object and gc_gms_unseal_object. They are hot.


  Commit: 0cf2b8f4bfc88985aa16e81b648c7eb3ea22c990
      https://github.com/parrot/parrot/commit/0cf2b8f4bfc88985aa16e81b648c7eb3ea22c990
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M compilers/imcc/imcc.l
    M compilers/imcc/imcc.y
    M src/runcore/trace.c
    M t/dynoplibs/debug.t
    M t/stress/threads.t

  Log Message:
  -----------
  trace: shorten the pmc flags and comma->space

fix t/dynoplibs/debug.t:
  %p on cygwin/newlib has no 0x


  Commit: 52a6406bf1b78e0c748cf4c0cc3831bfa1c5d5c9
      https://github.com/parrot/parrot/commit/52a6406bf1b78e0c748cf4c0cc3831bfa1c5d5c9
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M config/auto/format.pm
    M config/gen/config_h/config_h.in
    M include/parrot/pointer_array.h
    M src/gc/gc_gms.c
    M src/interp/api.c

  Log Message:
  -----------
  [config] add SIZE_FMT to headers

needed to print size_t args, which is different to INTVAL_FMT on 32-bit.
Probing for printf %zd would be better.


  Commit: 87a6afb3402aca7cf4eb3f7e62ab737d806a79c1
      https://github.com/parrot/parrot/commit/87a6afb3402aca7cf4eb3f7e62ab737d806a79c1
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M frontend/parrot/main.c
    M frontend/parrot2/main.c
    M include/parrot/interpreter.h
    M src/runcore/trace.c
    M t/dynoplibs/debug.t
    M t/stress/gc.t
    M t/stress/threads.t

  Log Message:
  -----------
  trace: add -t10 PARROT_TRACE_OPS_PMC_FLAG

To print the PMC flags with -t1 use now -t11.


  Commit: 222d6f109b5ceab299a11705a2789e245e61b39e
      https://github.com/parrot/parrot/commit/222d6f109b5ceab299a11705a2789e245e61b39e
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-08 (Sat, 08 Nov 2014)

  Changed paths:
    M src/runcore/trace.c

  Log Message:
  -----------
  trace: properly align PMCs with -t


  Commit: b72e772f23b329fa5f71d598eea9557346978200
      https://github.com/parrot/parrot/commit/b72e772f23b329fa5f71d598eea9557346978200
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M src/gc/gc_gms.c

  Log Message:
  -----------
  [gc] allow empty work_list


  Commit: b83e27233261198d844bd37a085cc34b4b0eed2e
      https://github.com/parrot/parrot/commit/b83e27233261198d844bd37a085cc34b4b0eed2e
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M src/gc/gc_gms.c

  Log Message:
  -----------
  [gc] prettier GC memory statistics for GMS with -D1


  Commit: f177f98522973ef03b8085b3cb176594d96477ef
      https://github.com/parrot/parrot/commit/f177f98522973ef03b8085b3cb176594d96477ef
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M tools/dev/pbc_to_exe.winxed

  Log Message:
  -----------
  pbc_to_exe: static char execname[1024]


  Commit: 44bdc53f72e3b0636912e76dd4582a7410dd7bba
      https://github.com/parrot/parrot/commit/44bdc53f72e3b0636912e76dd4582a7410dd7bba
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M src/pmc/coroutine.pmc

  Log Message:
  -----------
  [gc] fix the Coroutine GC bug #1108

 Coroutine.clone needs to reset the GC flags


  Commit: e5abd7d0f38df4907d3398a2142aebc03f862b6c
      https://github.com/parrot/parrot/commit/e5abd7d0f38df4907d3398a2142aebc03f862b6c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M src/pmc/coroutine.pmc

  Log Message:
  -----------
  [pmc] improve Coroutine.init

call SUPER


  Commit: 95560a6d92d7831b3ca2b1240c2a3cf076bcc25d
      https://github.com/parrot/parrot/commit/95560a6d92d7831b3ca2b1240c2a3cf076bcc25d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M src/pmc/stringbuilder.pmc
    M src/runcore/trace.c

  Log Message:
  -----------
  trace: protect from empty StringBuilder


  Commit: 7c429ecbcefb78b7ba9cba4c74e6606439f1822b
      https://github.com/parrot/parrot/commit/7c429ecbcefb78b7ba9cba4c74e6606439f1822b
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M ChangeLog

  Log Message:
  -----------
  ChangeLog for #1108, #1109 GC improvements


  Commit: 4b90157acf0d254b63f772c9f59a2716a5329dbd
      https://github.com/parrot/parrot/commit/4b90157acf0d254b63f772c9f59a2716a5329dbd
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M ChangeLog
    M compilers/imcc/imcc.l
    M compilers/imcc/imcc.y
    M config/auto/format.pm
    M config/gen/config_h/config_h.in
    M config/gen/makefiles/root.in
    M docs/binaries/parrot.pod
    M docs/running.pod
    M frontend/parrot/main.c
    M frontend/parrot2/main.c
    M include/parrot/api.h
    M include/parrot/gc_api.h
    M include/parrot/interpreter.h
    M include/parrot/pointer_array.h
    M include/parrot/runcore_trace.h
    M src/call/context.c
    M src/call/context_accessors.c
    M src/embed/api.c
    M src/gc/alloc_memory.c
    M src/gc/api.c
    M src/gc/gc_gms.c
    M src/gc/gc_inf.c
    M src/gc/gc_ms.c
    M src/gc/gc_ms2.c
    M src/gc/gc_private.h
    M src/interp/api.c
    M src/platform/darwin/sysmem.c
    M src/platform/generic/sysmem.c
    M src/pmc/coroutine.pmc
    M src/pmc/stringbuilder.pmc
    M src/runcore/trace.c
    M t/dynoplibs/debug.t
    M t/stress/gc.t
    M t/stress/threads.t
    M tools/dev/pbc_to_exe.winxed

  Log Message:
  -----------
  Merge branch 'smoke-me/gcdebug-gh1108'

all parrot and perl6 spectests pass.
see e.g. https://gist.github.com/rurban/f1a28dd98241a294e47c for rakudo

nom↑=acea0c1678c0fd74435a2abb15c0025354dae298
nqp version 2014.10-8-g92f6783 built on parrot 6.9.0 revision RELEASE_6_9_0-70-g95560a6

/spec/S04-statement-modifiers/for.rakudo.parrot              (Wstat: 0 Tests: 24 Failed: 0)
  TODO passed:   24
t/spec/S04-statement-modifiers/given.rakudo.parrot            (Wstat: 0 Tests: 7 Failed: 0)
  TODO passed:   7
t/spec/S05-mass/charsets.rakudo.parrot                        (Wstat: 0 Tests: 17 Failed: 0)
  TODO passed:   6, 10
t/spec/S05-mass/properties-general.rakudo.parrot              (Wstat: 0 Tests: 602 Failed: 0)
  TODO passed:   559-561, 599-601
t/spec/S05-metachars/newline.rakudo.parrot                    (Wstat: 0 Tests: 15 Failed: 0)
  TODO passed:   7, 14
t/spec/S19-command-line/dash-e.t                              (Wstat: 0 Tests: 4 Failed: 0)
  TODO passed:   2-3
Files=870, Tests=33089, 1000 wallclock secs (11.78 usr  3.94 sys + 3275.67 cusr 405.15 csys = 3696.54 CPU)
Result: PASS


Compare: https://github.com/parrot/parrot/compare/f7358e7a7f1a...4b90157acf0d


More information about the parrot-commits mailing list