Branch: refs/heads/rurban/gcdebug-gh1108
  Home:   https://github.com/parrot/parrot
  Commit: cfad69f6c6b85ce8779a6f22595d03bcb6641bde
      
https://github.com/parrot/parrot/commit/cfad69f6c6b85ce8779a6f22595d03bcb6641bde
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: 4bf3004a41391a4e5253a9befd0c7f5210e14968
      
https://github.com/parrot/parrot/commit/4bf3004a41391a4e5253a9befd0c7f5210e14968
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: 45f65d419188d5f406d71f1045f802ab98ae8b0f
      
https://github.com/parrot/parrot/commit/45f65d419188d5f406d71f1045f802ab98ae8b0f
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M src/io/api.c
    M src/io/io_private.h

  Log Message:
  -----------
  [cage] unconst IO_VTABLE * vtables, -Wcast-qual cannot be suppressed

see e.g. 
https://stackoverflow.com/questions/13249756/explicit-ignore-warning-from-wcast-qual-cast-discards-attribute-const#comment38552597_13253997

2 remaining -Wcast-qual warnings for legacy API.


  Commit: 0fee55e5474924faf9857b332820e0acdf8660e7
      
https://github.com/parrot/parrot/commit/0fee55e5474924faf9857b332820e0acdf8660e7
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: 362e05fc19af2235a4be758b08f5a8359a734a5b
      
https://github.com/parrot/parrot/commit/362e05fc19af2235a4be758b08f5a8359a734a5b
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M src/pmc/coroutine.pmc
    M src/pmc/sub.pmc

  Log Message:
  -----------
  [pmc] add Coroutine.mark with caller_seg

Coroutine.mark was just calling Sub.mark and missed to mark
the caller_seg. Do it now properly with inheritance.
Note that this does not fix GH #1109, which is a Coro in a wrong gen


  Commit: e97fd869ef08313e3add8e6acc38cd62bfca5088
      
https://github.com/parrot/parrot/commit/e97fd869ef08313e3add8e6acc38cd62bfca5088
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: a349e4cdbd4e19feede757fdda9dd6f5e54309e9
      
https://github.com/parrot/parrot/commit/a349e4cdbd4e19feede757fdda9dd6f5e54309e9
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: 9174f18a60a11b9ca6ef0816adecb0652fca9fc1
      
https://github.com/parrot/parrot/commit/9174f18a60a11b9ca6ef0816adecb0652fca9fc1
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: bbfa1cb928a05abd8088086711d1ce88faafcd9d
      
https://github.com/parrot/parrot/commit/bbfa1cb928a05abd8088086711d1ce88faafcd9d
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: a7c8781d59e1e72f612f4c187e7be4e0fbcb3473
      
https://github.com/parrot/parrot/commit/a7c8781d59e1e72f612f4c187e7be4e0fbcb3473
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M src/pmc/continuation.pmc

  Log Message:
  -----------
  [gc] add missing PackFileView to continuation.mark

also simplify the code a bit


  Commit: 88c3caa24891d746595655c68c5eea6f54ace77c
      
https://github.com/parrot/parrot/commit/88c3caa24891d746595655c68c5eea6f54ace77c
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: cddbd4debd647ee2e31af4245f2c3446f01f21dd
      
https://github.com/parrot/parrot/commit/cddbd4debd647ee2e31af4245f2c3446f01f21dd
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: 32885aa7f495f16213e4a0e1baf69b03a75724de
      
https://github.com/parrot/parrot/commit/32885aa7f495f16213e4a0e1baf69b03a75724de
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: f640fdf379b3426d732d24b58e57951baea7159a
      
https://github.com/parrot/parrot/commit/f640fdf379b3426d732d24b58e57951baea7159a
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 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: 3c526eb104fd5245d0387982ad687acde6ebdcb2
      
https://github.com/parrot/parrot/commit/3c526eb104fd5245d0387982ad687acde6ebdcb2
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M src/pmc/callcontext.pmc
    M src/pmc/nci.pmc
    M src/pmc/task.pmc

  Log Message:
  -----------
  [pmc] simplify more mark methods

get the data once, and access the fields directly.
shorter and more cache friendly


  Commit: c061241ba9244d0eca65c847f1893b49ed4360e8
      
https://github.com/parrot/parrot/commit/c061241ba9244d0eca65c847f1893b49ed4360e8
  Author: Reini Urban <[email protected]>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M lib/Parrot/Test.pm
    M t/harness
    M t/stress/gc.t

  Log Message:
  -----------
  [test gc] add real gc stress tests #1108

stress test all GCs, under tight memory --gc-nursery-size=0.0001
and additional --gc-debug runs, with additonal StringBuilder stress via -t
and check the exit codes.
Properly fix SIGNAL detection and error output in Parrot::Test for exit_code_is.
Fails 14/20 tests.

t/harness: add existing TEST_PROG_ARGS to tests single tests, e.g.
  ulimit -Sv 60000
  TEST_PROG_ARGS='--gc-nursery-size=0.05 ' perl t/harness --gc-debug t/pmc/*.t


  Commit: bdab76d58686e35afb4c1f20f0667a716bf8e3ee
      
https://github.com/parrot/parrot/commit/bdab76d58686e35afb4c1f20f0667a716bf8e3ee
  Author: Reini Urban <[email protected]>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M config/auto/inline.pm

  Log Message:
  -----------
  [config] improve auto::inline, uninitialized $test

and better --verbose return value


  Commit: 3a56e08a1789ae4236e5ababe25ac4a5bfc1d88c
      
https://github.com/parrot/parrot/commit/3a56e08a1789ae4236e5ababe25ac4a5bfc1d88c
  Author: Reini Urban <[email protected]>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M src/gc/fixed_allocator.c
    M src/gc/gc_gms.c
    M src/pmc.c
    M src/pmc/callcontext.pmc

  Log Message:
  -----------
  [gc] initialize more stack-allocated ptrs

see GH #1067.
initialize more values on the C-stack to help the GC.
also change some mem_internal_* to mem_sys_*
mem_internal_* are only macros to mem_sys now.

testcase:
  valgrind --track-origins=yes ./parrot_old examples/benchmarks/dispatch.pir

There's still a remaining stack-object scanned,
int offset from runops(src/call/ops.c),
which can only be fixed with a precise GC.


  Commit: ba40cc45b3e8a513a44d6920c7ae3bee9775617f
      
https://github.com/parrot/parrot/commit/ba40cc45b3e8a513a44d6920c7ae3bee9775617f
  Author: Reini Urban <[email protected]>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M src/runcore/trace.c

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


  Commit: db307086587b05847da6a0b498cee4eb9312760f
      
https://github.com/parrot/parrot/commit/db307086587b05847da6a0b498cee4eb9312760f
  Author: Reini Urban <[email protected]>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M config/auto/inline.pm

  Log Message:
  -----------
  fixup config/auto/inline.pm


  Commit: 36aa6bc5059408a11827d6dbcf3a5ecd61d07a05
      
https://github.com/parrot/parrot/commit/36aa6bc5059408a11827d6dbcf3a5ecd61d07a05
  Author: Reini Urban <[email protected]>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M src/runcore/trace.c
    M t/dynoplibs/debug.t

  Log Message:
  -----------
  fixup trace and fix t/dynoplibs/debug.t


  Commit: cfe01d4160adcfaf243ed7182bf9524c3823d3bd
      
https://github.com/parrot/parrot/commit/cfe01d4160adcfaf243ed7182bf9524c3823d3bd
  Author: Reini Urban <[email protected]>
  Date:   2014-11-05 (Wed, 05 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.
printf %z is not supported on my C89 system, use explicit FMT is easier.


Compare: https://github.com/parrot/parrot/compare/847df25d5f9a...cfe01d4160ad
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-commits

Reply via email to