Branch: refs/heads/rurban/gcdebug-gh1108
Home: https://github.com/parrot/parrot
Commit: 51cf174fbfff5fc3a42c4ac890d4117f28a6020d
https://github.com/parrot/parrot/commit/51cf174fbfff5fc3a42c4ac890d4117f28a6020d
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: 3ca66f9facad0ae0e7b8431d4861075c49758804
https://github.com/parrot/parrot/commit/3ca66f9facad0ae0e7b8431d4861075c49758804
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: c91dfdd3f61b8005f4e27947f8b9dfc9e99a7df9
https://github.com/parrot/parrot/commit/c91dfdd3f61b8005f4e27947f8b9dfc9e99a7df9
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: 53072103be1646b127e0804247efbfa442566042
https://github.com/parrot/parrot/commit/53072103be1646b127e0804247efbfa442566042
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: fb1d537a74f7b9660e3401ad485e4dbb292a33bb
https://github.com/parrot/parrot/commit/fb1d537a74f7b9660e3401ad485e4dbb292a33bb
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: 17e37879cc6ca084d3ad9b6b06c84d3f19355618
https://github.com/parrot/parrot/commit/17e37879cc6ca084d3ad9b6b06c84d3f19355618
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: d5c5af33a607c6e81d60be34e294d581050e231b
https://github.com/parrot/parrot/commit/d5c5af33a607c6e81d60be34e294d581050e231b
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: fb563643f8cb5812947591d4316b43d83a432f82
https://github.com/parrot/parrot/commit/fb563643f8cb5812947591d4316b43d83a432f82
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: 2dcfb3c5d6dfd6f420a42e5d9a44711c934e917a
https://github.com/parrot/parrot/commit/2dcfb3c5d6dfd6f420a42e5d9a44711c934e917a
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: 9c0cfbe3755439a8b3abbf55ab3b1acacb333e1f
https://github.com/parrot/parrot/commit/9c0cfbe3755439a8b3abbf55ab3b1acacb333e1f
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: cabc3fa436faae1e577720909b845f914c3746fd
https://github.com/parrot/parrot/commit/cabc3fa436faae1e577720909b845f914c3746fd
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: ec6532d13629e5c6417133266207cac63087839b
https://github.com/parrot/parrot/commit/ec6532d13629e5c6417133266207cac63087839b
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: 77bdb446d6c0091c2c1d3f76e03453b11a77187b
https://github.com/parrot/parrot/commit/77bdb446d6c0091c2c1d3f76e03453b11a77187b
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: 5e5d4fbf4bd52f729feb3987cbb5fbf4b69e86b8
https://github.com/parrot/parrot/commit/5e5d4fbf4bd52f729feb3987cbb5fbf4b69e86b8
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: 186686c7c11c26602450c41694dba9d0f7787107
https://github.com/parrot/parrot/commit/186686c7c11c26602450c41694dba9d0f7787107
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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: 7c0ba17791b2bf160b111f8d3cd53741cbc484b5
https://github.com/parrot/parrot/commit/7c0ba17791b2bf160b111f8d3cd53741cbc484b5
Author: Reini Urban <[email protected]>
Date: 2014-11-03 (Mon, 03 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
Compare: https://github.com/parrot/parrot/compare/e0e910b5e27d...7c0ba17791b2_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-commits