[parrot/parrot] 330464: Merge branch 'master' into green_threads
GitHub
noreply at github.com
Tue Sep 11 02:58:10 UTC 2012
Branch: refs/heads/master
Home: https://github.com/parrot/parrot
Commit: 3304649e3d01942a8c50fb8d667627beb9d0d190
https://github.com/parrot/parrot/commit/3304649e3d01942a8c50fb8d667627beb9d0d190
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-27 (Thu, 27 Oct 2011)
Changed paths:
M src/pmc/bytebuffer.pmc
M t/op/stringu.t
Log Message:
-----------
Merge branch 'master' into green_threads
Commit: ef81591ab1f8b8250911614f436db0c96efb6f09
https://github.com/parrot/parrot/commit/ef81591ab1f8b8250911614f436db0c96efb6f09
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-27 (Thu, 27 Oct 2011)
Changed paths:
M src/gc/mark_sweep.c
M src/scheduler.c
Log Message:
-----------
Merge branch 'green_threads' of github.com:niner/parrot into green_threads
Commit: c42a812524e6ea654493c65ed1c514641a5dbd11
https://github.com/parrot/parrot/commit/c42a812524e6ea654493c65ed1c514641a5dbd11
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-28 (Fri, 28 Oct 2011)
Changed paths:
M include/parrot/interpreter.h
M include/parrot/scheduler_private.h
M src/extend.c
M src/interp/inter_cb.c
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/pmc/pmclist.pmc
M src/pmc/task.pmc
Log Message:
-----------
Merge branch 'green_threads' of git://github.com/parrot/parrot into green_threads
Commit: a781129633c1e13aba59970067aef683fa121dd1
https://github.com/parrot/parrot/commit/a781129633c1e13aba59970067aef683fa121dd1
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-28 (Fri, 28 Oct 2011)
Changed paths:
M config/gen/makefiles/root.in
Log Message:
-----------
Add a missing dependency to makefiles/root.in
Commit: 99c76810bc6adffc18b0a4e89ad10caa8aec5743
https://github.com/parrot/parrot/commit/99c76810bc6adffc18b0a4e89ad10caa8aec5743
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-28 (Fri, 28 Oct 2011)
Changed paths:
M src/pmc/task.pmc
Log Message:
-----------
Remove unused abort_jump from task.pmc
task.pmc contained a Parrot_jumb_buff that was used for setjmp in invoke
but never actually got longjumped to. Remove it to save some memory.
Commit: 59adfe51b0af5598590ea9c154ddbe84ca680b90
https://github.com/parrot/parrot/commit/59adfe51b0af5598590ea9c154ddbe84ca680b90
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-28 (Fri, 28 Oct 2011)
Log Message:
-----------
Merge branch 'green_threads' of git://github.com/parrot/parrot into green_threads
Conflicts:
config/gen/makefiles/root.in
Commit: 4cda54ab11c9034a2bd8da9e5e94e5707636a944
https://github.com/parrot/parrot/commit/4cda54ab11c9034a2bd8da9e5e94e5707636a944
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-28 (Fri, 28 Oct 2011)
Changed paths:
M include/parrot/scheduler.h
M src/scheduler.c
Log Message:
-----------
Merge branch 'green_threads' of git://github.com/parrot/parrot into green_threads
Commit: 9764c26631bccf522407f9d83a1277003cf7469c
https://github.com/parrot/parrot/commit/9764c26631bccf522407f9d83a1277003cf7469c
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-28 (Fri, 28 Oct 2011)
Changed paths:
M include/parrot/scheduler.h
M src/interp/inter_misc.c
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/pmc/scheduler.pmc
M src/pmc/task.pmc
M src/scheduler.c
Log Message:
-----------
Merge branch 'green_threads' of git://github.com/parrot/parrot into green_threads
Commit: cf956a71b738f0cd99d9598b4a4b93b3e5d9d1b2
https://github.com/parrot/parrot/commit/cf956a71b738f0cd99d9598b4a4b93b3e5d9d1b2
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-28 (Fri, 28 Oct 2011)
Changed paths:
M include/parrot/scheduler.h
M include/parrot/scheduler_private.h
M src/interp/inter_create.c
M src/scheduler.c
Log Message:
-----------
Remove obsolete Parrot_cx_runloop_end
Commit: ada4f4768f7869125e6ff5028cc18593f53bfc02
https://github.com/parrot/parrot/commit/ada4f4768f7869125e6ff5028cc18593f53bfc02
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-28 (Fri, 28 Oct 2011)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Fix POD in src/scheduler.c
Commit: 2dec391c495dfbf04f4e6a53741ee933bc2c0bb4
https://github.com/parrot/parrot/commit/2dec391c495dfbf04f4e6a53741ee933bc2c0bb4
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-29 (Sat, 29 Oct 2011)
Changed paths:
M MANIFEST
M config/gen/makefiles/root.in
A include/parrot/atomic.h
A include/parrot/atomic/fallback.h
A include/parrot/atomic/gcc_pcc.h
A include/parrot/atomic/gcc_x86.h
A include/parrot/atomic/sparc.h
M include/parrot/parrot.h
A include/parrot/thr_none.h
A include/parrot/thr_pthread.h
A include/parrot/thr_windows.h
A include/parrot/thread.h
A src/atomic/gcc_x86.c
A src/atomic/sparc_v9.s
A src/thread.c
Log Message:
-----------
Bring back the OS threading abstractions
Commit: ad7c0a690c4cf7dd011d86c21c8c19a4429e26b9
https://github.com/parrot/parrot/commit/ad7c0a690c4cf7dd011d86c21c8c19a4429e26b9
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-29 (Sat, 29 Oct 2011)
Changed paths:
M include/parrot/scheduler_private.h
M src/scheduler.c
Log Message:
-----------
Move preemption_enabled to a scheduler.pmc private flag
Commit: e05858ca4f37f72094979017e9faa4f33d756f13
https://github.com/parrot/parrot/commit/e05858ca4f37f72094979017e9faa4f33d756f13
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-30 (Sun, 30 Oct 2011)
Changed paths:
M include/parrot/runcore_api.h
M src/alarm.c
M src/ops/core.ops
M src/ops/core_ops.c
M src/pmc/parrotinterpreter.pmc
M src/pmc/scheduler.pmc
M src/pmc/task.pmc
M src/runcore/main.c
M src/scheduler.c
Log Message:
-----------
Merge branch 'green_threads' of git://github.com/parrot/parrot into green_threads
Commit: b6d2e1ad77dfd9f92484884880a1d724f862f6df
https://github.com/parrot/parrot/commit/b6d2e1ad77dfd9f92484884880a1d724f862f6df
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-30 (Sun, 30 Oct 2011)
Changed paths:
M include/parrot/scheduler_private.h
M src/pmc/scheduler.pmc
M src/pmc/task.pmc
M src/scheduler.c
Log Message:
-----------
Move preemption_enabled and scheduling_enabled to scheduler.pmc private flags
Conflicts:
src/scheduler.c
Commit: 0ee9c328c7b77ea02faf965779dc4f732ef32741
https://github.com/parrot/parrot/commit/0ee9c328c7b77ea02faf965779dc4f732ef32741
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-30 (Sun, 30 Oct 2011)
Changed paths:
M ChangeLog
R DEPRECATED-branch.pod
M MANIFEST
M compilers/imcc/pbc.c
M frontend/pbc_dump/packdump.c
M src/pmc/integer.pmc
Log Message:
-----------
Merge branch 'master' into green_threads
Commit: 97f9d9775a09eeee9095beb68284a48c4a8750e5
https://github.com/parrot/parrot/commit/97f9d9775a09eeee9095beb68284a48c4a8750e5
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-30 (Sun, 30 Oct 2011)
Changed paths:
M ChangeLog
R DEPRECATED-branch.pod
M MANIFEST
M compilers/imcc/pbc.c
M frontend/pbc_dump/packdump.c
M include/parrot/runcore_api.h
M include/parrot/scheduler_private.h
M src/alarm.c
M src/ops/core.ops
M src/ops/core_ops.c
M src/pmc/integer.pmc
M src/pmc/parrotinterpreter.pmc
M src/pmc/task.pmc
M src/runcore/main.c
M src/scheduler.c
Log Message:
-----------
Merge branch 'green_threads' into threads
Conflicts:
include/parrot/scheduler_private.h
src/scheduler.c
Commit: 7c08e97948894b49fe5b520e47097fd567e159f3
https://github.com/parrot/parrot/commit/7c08e97948894b49fe5b520e47097fd567e159f3
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-10-30 (Sun, 30 Oct 2011)
Changed paths:
M include/parrot/thread.h
M src/thread.c
Log Message:
-----------
Resurrect a couple of threading functions
Commit: ebce4aff8ab307af6344b68f67ff782fcc736bc4
https://github.com/parrot/parrot/commit/ebce4aff8ab307af6344b68f67ff782fcc736bc4
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-01 (Tue, 01 Nov 2011)
Changed paths:
M config/gen/makefiles/root.in
M include/parrot/interpreter.h
M include/parrot/thread.h
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Schedule tasks onto new threads
First test of threading code by hooking into Parrot_cx_schedule_task
Commit: 104b6a9ef5ceb713de2afe62988802b935158c31
https://github.com/parrot/parrot/commit/104b6a9ef5ceb713de2afe62988802b935158c31
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-06 (Sun, 06 Nov 2011)
Changed paths:
M include/parrot/thread.h
M src/pmc/parrotinterpreter.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Bring back Parrot_clone_code
Commit: 43ce938019aa34ed82d10639e8c47ea2fd841a07
https://github.com/parrot/parrot/commit/43ce938019aa34ed82d10639e8c47ea2fd841a07
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-06 (Sun, 06 Nov 2011)
Changed paths:
M src/gc/gc_gms.c
M src/gc/gc_ms2.c
M src/thread.c
Log Message:
-----------
Don't share GC between threads. Makes PMCs thread safe
Commit: e83c218b70a3b2a126ca58250669fe1ab0133ce1
https://github.com/parrot/parrot/commit/e83c218b70a3b2a126ca58250669fe1ab0133ce1
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-06 (Sun, 06 Nov 2011)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Clone everything when creating a new thread
Commit: dc9f77b4b70b31e7bd0e5e8126335517ad508db6
https://github.com/parrot/parrot/commit/dc9f77b4b70b31e7bd0e5e8126335517ad508db6
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-06 (Sun, 06 Nov 2011)
Changed paths:
M .gitignore
M ChangeLog
M MANIFEST
M MANIFEST.SKIP
M compilers/pct/src/PAST/Compiler.pir
M compilers/pct/src/PAST/Node.pir
M compilers/pge/PGE/Exp.pir
M config/gen/makefiles/root.in
M config/init/hints/msys.pm
M examples/io/post.pir
M include/parrot/platform_interface.h
M include/parrot/scheduler.h
M lib/Parrot/Harness/DefaultTests.pm
M lib/Parrot/Harness/Smoke.pm
A lib/Parrot/Harness/TestSets.pm
M lib/Parrot/Install.pm
M runtime/parrot/library/Test/More.pir
M src/alarm.c
M src/call/args.c
M src/dynpmc/Defines.in
M src/platform/darwin/hires_timer.c
M src/platform/generic/hires_timer.c
M src/platform/win32/hires_timer.c
M src/pmc/eval.pmc
M src/pointer_array.c
M src/scheduler.c
A t/archive/README
A t/fullharness
M t/harness
M t/harness.pir
M t/op/calling.t
M t/pmc/alarm.t
M t/pmc/hash.t
M tools/dev/resubmit_smolder.pl
Log Message:
-----------
Merge branch 'master' into threads
Conflicts:
include/parrot/scheduler.h
src/scheduler.c
Commit: 2026fa8a9f2f2e94ed8a22703e7556fbe7529d48
https://github.com/parrot/parrot/commit/2026fa8a9f2f2e94ed8a22703e7556fbe7529d48
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-06 (Sun, 06 Nov 2011)
Changed paths:
M include/parrot/scheduler.h
M src/scheduler.c
Log Message:
-----------
Kill Parrot_cx_runloop_end again (got resurrected by merge)
Commit: 69121334c48a468574f04d97f14be04eddc25c0c
https://github.com/parrot/parrot/commit/69121334c48a468574f04d97f14be04eddc25c0c
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-08 (Tue, 08 Nov 2011)
Changed paths:
M src/thread.c
Log Message:
-----------
Don't exit a thread if alarms are still active, fixing sleep
Currently does a busy wait till alarms expire. Full implementation will
sleep until notified by the main thread.
Commit: e034889aafb30e77ff7dbdf7a04f5b6461ee7fa4
https://github.com/parrot/parrot/commit/e034889aafb30e77ff7dbdf7a04f5b6461ee7fa4
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-08 (Tue, 08 Nov 2011)
Changed paths:
M include/parrot/thread.h
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Fix sleep in threads
Only up to 4 threads are now created. These threads are stored in a
threads array and get notified on alarms by the main thread writing a
byte to the notifier pipe of the thread.
TODO: implement on Windows
TODO: only write to the pipe if the thread is actually waiting for
alarms
Commit: 6b23e73dbea01e80f7f23f5fd53e16c8c664da29
https://github.com/parrot/parrot/commit/6b23e73dbea01e80f7f23f5fd53e16c8c664da29
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-08 (Tue, 08 Nov 2011)
Changed paths:
M t/fullharness
Log Message:
-----------
Merge branch 'master' into threads
Commit: 51f564d4a1c7ea5a508024cfcd70f703869228ac
https://github.com/parrot/parrot/commit/51f564d4a1c7ea5a508024cfcd70f703869228ac
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-11 (Fri, 11 Nov 2011)
Changed paths:
M include/parrot/thread.h
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Fix eternal sleep of threads if main thread slept as well
When the main thread goes to sleep as well, on wakeup it only checked
it's own alarms. Threads didn't get a chance to check theirs.
Moved thread notification code to Parrot_thread_notify_threads and
calling it now in both appropriate places.
Commit: afb9539c6c68ee523ccd6aef8f8513c3f61704d5
https://github.com/parrot/parrot/commit/afb9539c6c68ee523ccd6aef8f8513c3f61704d5
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-11 (Fri, 11 Nov 2011)
Changed paths:
M MANIFEST
A t/src/threads.t
Log Message:
-----------
Add some minimal testing for threading functionality
Commit: 49d2ff27b328f702eb3faf8b6602cf6732bfa42f
https://github.com/parrot/parrot/commit/49d2ff27b328f702eb3faf8b6602cf6732bfa42f
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-11 (Fri, 11 Nov 2011)
Changed paths:
M src/pmc/task.pmc
M t/src/threads.t
Log Message:
-----------
Store shared PMCs in the task's shared list
Commit: 04717aefd55bf0bb278ead1885eeb10f0912bc37
https://github.com/parrot/parrot/commit/04717aefd55bf0bb278ead1885eeb10f0912bc37
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-12 (Sat, 12 Nov 2011)
Changed paths:
M src/pmc/scheduler.pmc
M src/scheduler.c
M src/thread.c
M t/src/threads.t
Log Message:
-----------
Move all access to task_queue to scheduler.pmc and protect by a lock
Pushing tasks to other threads' interpreters should now be safe.
Commit: eb0125363daf83cc11ff4726b857093100247c69
https://github.com/parrot/parrot/commit/eb0125363daf83cc11ff4726b857093100247c69
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-13 (Sun, 13 Nov 2011)
Changed paths:
M src/pmc/parrotinterpreter.pmc
M src/pmc/task.pmc
M src/scheduler.c
M t/src/threads.t
Log Message:
-----------
Schedule updates of shared PMCs on the data owning thread.
Commit: 53d28d82424756a738f055e5dd6ab3175eba18a1
https://github.com/parrot/parrot/commit/53d28d82424756a738f055e5dd6ab3175eba18a1
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-13 (Sun, 13 Nov 2011)
Changed paths:
M src/pmc/task.pmc
Log Message:
-----------
Mark the array of shared PMCs alive
Commit: 45d8c8bbf1e4864eea4aa0612781c206eccafb4f
https://github.com/parrot/parrot/commit/45d8c8bbf1e4864eea4aa0612781c206eccafb4f
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-13 (Sun, 13 Nov 2011)
Changed paths:
M MANIFEST
A lib/Parrot/Pmc2c/PMC/Proxy.pm
M lib/Parrot/Pmc2c/Pmc2cMain.pm
A src/pmc/proxy.pmc
M src/pmc/task.pmc
M t/src/threads.t
Log Message:
-----------
Not yet functional implementation of proxy pmc
Commit: ddf25025eed0bb004a27bf5f4eb5b18abeec49bc
https://github.com/parrot/parrot/commit/ddf25025eed0bb004a27bf5f4eb5b18abeec49bc
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-14 (Mon, 14 Nov 2011)
Changed paths:
M src/pmc/parrotinterpreter.pmc
M src/pmc/proxy.pmc
M src/pmc/task.pmc
M t/src/threads.t
Log Message:
-----------
Fix scheduling updates on data owning interpreters
Storing references to foreign interpreters and probably other objects as
well screws up garbage collection and leads to all kinds of strange
errors.
Accessing attributes or methods of the proxy pmc itself leads to a whole
lot of confusion about for example which namespace to search.
Working solution is a new schedule_proxied method which keeps access to
the proxy's attributes and the foreign interp in C space where it's
safe.
Commit: afa1cd8fa3dfb34b12b14fd16ec62b88281e9148
https://github.com/parrot/parrot/commit/afa1cd8fa3dfb34b12b14fd16ec62b88281e9148
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-27 (Sun, 27 Nov 2011)
Changed paths:
M CREDITS
M ChangeLog
M MANIFEST.generated
M README
M VERSION
M api.yaml
M compilers/imcc/imc.h
M compilers/imcc/imcc.y
M compilers/imcc/imcparser.c
M compilers/imcc/pbc.c
M compilers/imcc/symreg.h
M compilers/opsc/src/Ops/Compiler/Actions.pm
M compilers/opsc/src/Ops/Compiler/Grammar.pm
M compilers/pct/src/PAST/Compiler.pir
M compilers/pct/src/PCT/Node.pir
M config/auto/warnings.pm
M config/gen/makefiles/root.in
M docs/embed.pod
M docs/parrothist.pod
M docs/project/release_manager_guide.pod
M ext/winxed/compiler.pir
M ext/winxed/driver.pir
M frontend/pbc_dump/packdump.c
M include/parrot/events.h
M include/parrot/exceptions.h
M include/parrot/extend.h
M include/parrot/interpreter.h
M include/parrot/oo.h
M include/parrot/oplib/core_ops.h
M include/parrot/oplib/ops.h
M include/parrot/opsenum.h
M include/parrot/pmc.h
M lib/Parrot/Pmc2c/PMC.pm
M lib/Parrot/Pmc2c/UtilFunctions.pm
M ports/debian/libparrot3.3.0.symbols
M runtime/parrot/library/Test/Builder.pir
M src/call/args.c
M src/call/pcc.c
M src/dynext.c
M src/dynpmc/select.pmc
M src/embed/bytecode.c
M src/events.c
M src/extend.c
M src/gc/gc_gms.c
M src/gc/mark_sweep.c
M src/hll.c
M src/key.c
M src/multidispatch.c
M src/oo.c
M src/ops/core.ops
M src/ops/core_ops.c
M src/ops/string.ops
M src/pmc.c
M src/pmc/callcontext.pmc
M src/pmc/coroutine.pmc
M src/pmc/default.pmc
M src/pmc/exception.pmc
M src/pmc/exceptionhandler.pmc
M src/pmc/fixedintegerarray.pmc
M src/pmc/key.pmc
M src/pmc/packfileannotation.pmc
M src/pmc/parrotinterpreter.pmc
M src/pmc/structview.pmc
M src/pmc/sub.pmc
M src/scheduler.c
M src/string/api.c
M t/compilers/opsc/06-opsfile.t
M t/fullharness
M t/op/calling.t
M t/pmc/alarm.t
M t/pmc/exceptionhandler.t
M t/pmc/nci.t
M t/pmc/task.t
M t/pmc/task_primes.t
M t/src/embed.t
M t/src/extend_vtable.t
M tools/release/release.json
Log Message:
-----------
Merge branch 'master' into threads
Conflicts:
src/pmc/task.pmc
Commit: c793705b2ec426f84976b4580b8f68c3b537d7e2
https://github.com/parrot/parrot/commit/c793705b2ec426f84976b4580b8f68c3b537d7e2
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-27 (Sun, 27 Nov 2011)
Changed paths:
M src/thread.c
Log Message:
-----------
s/\bpmc_new/Parrot_pmc_new/ in thread.c
Commit: 3cd1cba25335aa14a26b26d165525d62e4b9f221
https://github.com/parrot/parrot/commit/3cd1cba25335aa14a26b26d165525d62e4b9f221
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-27 (Sun, 27 Nov 2011)
Changed paths:
M frontend/parrot2/main.c
M frontend/parrot2/prt0.pir
M frontend/parrot2/prt0.winxed
M include/parrot/context.h
M src/call/context_accessors.c
M src/pmc/task.pmc
M t/op/gc.t
Log Message:
-----------
Merge branch 'master' into threads
Commit: b3181171111743e43ab872db69406e673e38f122
https://github.com/parrot/parrot/commit/b3181171111743e43ab872db69406e673e38f122
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-27 (Sun, 27 Nov 2011)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Since the interp is no PMC, we don't have to use GC_WRITE_BARRIER
Commit: ee8d1d89a0af227bb57ace23b9bad3a8bd7c2549
https://github.com/parrot/parrot/commit/ee8d1d89a0af227bb57ace23b9bad3a8bd7c2549
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-27 (Sun, 27 Nov 2011)
Changed paths:
M src/thread.c
Log Message:
-----------
Set a thread's interpreter's lo_var_ptr
lo_var_ptr is used by the GC as an anchor on the stack which it uses to
find the region it has to scan for objects only referenced by the C
stack.
Commit: 889ef48d7a30a7b349d04e6699ff85c6df80d982
https://github.com/parrot/parrot/commit/889ef48d7a30a7b349d04e6699ff85c6df80d982
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-11-27 (Sun, 27 Nov 2011)
Changed paths:
M src/thread.c
Log Message:
-----------
Don't set a thread interp's parent_interpreter (confuses GC)
The GC follows the parent_interpreter pointer when marking but a thread
interp's parent belongs to an other GC.
Commit: 984661b2f76f72bde8c62d3f0e53b22bba98d6c0
https://github.com/parrot/parrot/commit/984661b2f76f72bde8c62d3f0e53b22bba98d6c0
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-01 (Thu, 01 Dec 2011)
Changed paths:
M src/pmc/task.pmc
M src/thread.c
Log Message:
-----------
Make a thread local copy of the task to run
Of course the task itself that a thread runs should belong to the
thread's interp, lest it may be garbage collected before it's time.
Commit: cc44287cdf03cfb77d8aaf8142b6207dfcfda546
https://github.com/parrot/parrot/commit/cc44287cdf03cfb77d8aaf8142b6207dfcfda546
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-01 (Thu, 01 Dec 2011)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Remove a bunch of no longer used variables
Commit: 5e5d2cd62174d71cdf3d9b233c95e83fe2783167
https://github.com/parrot/parrot/commit/5e5d2cd62174d71cdf3d9b233c95e83fe2783167
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-06 (Tue, 06 Dec 2011)
Changed paths:
M src/pmc/task.pmc
M src/thread.c
Log Message:
-----------
Create proxies at thread creation to avoid GC madness
Commit: f6ae12e535b7a8f0e7616811792eccdda9c44c95
https://github.com/parrot/parrot/commit/f6ae12e535b7a8f0e7616811792eccdda9c44c95
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-06 (Tue, 06 Dec 2011)
Changed paths:
M compilers/imcc/main.c
A docs/binaries/parrot-nqp.pod
A docs/binaries/parrot-prove.pod
A docs/binaries/parrot_config.pod
A docs/binaries/parrotbug.pod
A docs/binaries/pbc_to_exe.pod
A docs/binaries/plumage.pod
A docs/binaries/winxed.pod
M docs/pdds/pdd22_io.pod
M docs/user/pir/pmcs.pod
M examples/embed/cotorra.c
M examples/languages/squaak/src/Squaak/Actions.pm
M examples/languages/squaak/src/Squaak/Grammar.pm
M examples/languages/squaak/src/Squaak/Runtime.pm
M examples/languages/squaak/t/00-sanity.t
M ext/winxed/compiler.pir
M frontend/parrot_debugger/main.c
M frontend/pbc_dump/main.c
M frontend/pbc_merge/main.c
M include/parrot/api.h
M include/parrot/datatypes.h
M include/parrot/extend.h
M include/parrot/interpreter.h
M include/parrot/misc.h
M include/parrot/namespace.h
M include/parrot/oplib/core_ops.h
M include/parrot/oplib/ops.h
M include/parrot/opsenum.h
M include/parrot/packfile.h
M include/parrot/pmc.h
M include/parrot/runcore_subprof.h
M src/embed/bytecode.c
M src/embed/pmc.c
M src/extend.c
M src/interp/inter_misc.c
M src/misc.c
M src/namespace.c
M src/nci/libffi.c
M src/ops/core.ops
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/ops/math.ops
M src/packfile/api.c
M src/pmc.c
M src/pmc/eval.pmc
M src/pmc/imccompiler.pmc
M src/pmc/packfile.pmc
M src/pmc/packfileview.pmc
M src/pmc/socket.pmc
M src/pmc/sub.pmc
M src/pmc/task.pmc
M src/runcore/subprof.c
M t/compilers/opsc/06-opsfile.t
M t/dynpmc/os.t
M t/op/inf_nan.t
M t/pmc/iterator.t
M t/pmc/mappedbytearray.t
M t/pmc/opcode.t
M t/src/embed/pmc.t
M t/src/extend.t
M t/src/extend_vtable.t
Log Message:
-----------
Merge branch 'master' into threads
Commit: 9ed2d22c90fa80443514a3931ee308d442137834
https://github.com/parrot/parrot/commit/9ed2d22c90fa80443514a3931ee308d442137834
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-08 (Thu, 08 Dec 2011)
Changed paths:
M include/parrot/thread.h
M src/thread.c
Log Message:
-----------
New function Parrot_thread_create_proxy
Commit: 0cb1f00e2020208bae403f984d483d2879a3a9b5
https://github.com/parrot/parrot/commit/0cb1f00e2020208bae403f984d483d2879a3a9b5
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-08 (Thu, 08 Dec 2011)
Changed paths:
M src/interp/inter_create.c
M src/pmc/parrotinterpreter.pmc
M src/scheduler.c
Log Message:
-----------
Remove obsolete check for parent_interpreter from Parrot_cx_init_scheduler
Every interp needs its own scheduler. So it makes no longer sense to not
create a scheduler in a child interp. This now makes it in theory
possible to run a completely independent interp in another thread by
making clone_interpreter no longer strictly neccessary.
Commit: 72907aee2869bb29a19d0a6a0b3b9f3a738c7e03
https://github.com/parrot/parrot/commit/72907aee2869bb29a19d0a6a0b3b9f3a738c7e03
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-08 (Thu, 08 Dec 2011)
Changed paths:
M include/parrot/thread.h
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Distribute scheduled tasks onto worker threads
The scheduler now tries to be a little smarter by finding the worker
thread with the lowest task count and scheduling the new task onto this
thread.
The downside is that scheduling a task needs to allocate new PMCs in the
thread interp. To not run into concurrency problems in the GC, the
scheduler locks a mutex while running a task, so the scheduling may have
to wait until the current task is preempted.
Commit: f356ba969a8ea2bb5910b3abf34e9ef56d6fc228
https://github.com/parrot/parrot/commit/f356ba969a8ea2bb5910b3abf34e9ef56d6fc228
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
A docs/binaries/ops2c.pod
A docs/binaries/parrot.pod
A docs/binaries/parrot_nci_thunk_gen.pod
M include/parrot/pointer_array.h
Log Message:
-----------
Merge branch 'master' into threads
Commit: 558749624f6907d68211dcfda9af3a4606a7ba78
https://github.com/parrot/parrot/commit/558749624f6907d68211dcfda9af3a4606a7ba78
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
M src/gc/gc_gms.c
Log Message:
-----------
Let only the GC in the main thread mark PMCNULL since it's shared between all threads.
Commit: a3afd65f99b16779baf40f781700a9cec36d8f2b
https://github.com/parrot/parrot/commit/a3afd65f99b16779baf40f781700a9cec36d8f2b
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
M src/gc/mark_sweep.c
Log Message:
-----------
Only mark code segments in the main thread
Commit: a95919ae3a4c42a3856157e392957b77e118fed2
https://github.com/parrot/parrot/commit/a95919ae3a4c42a3856157e392957b77e118fed2
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
M src/pmc/sub.pmc
Log Message:
-----------
Don't mark pack file views in secondary threads
Pack files (code) is considered read only and handled by the main
thread. No need to mark it in secondary threads.
Commit: fd880a8b5da2b2eb505a5f3f5f6903a3410cc66d
https://github.com/parrot/parrot/commit/fd880a8b5da2b2eb505a5f3f5f6903a3410cc66d
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
M src/pmc/parrotinterpreter.pmc
Log Message:
-----------
Create proxies for iglobals in clone_interpreter
Commit: 894d6e2bdb733057f890e1e59012017fe156f191
https://github.com/parrot/parrot/commit/894d6e2bdb733057f890e1e59012017fe156f191
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
M src/pmc/parrotinterpreter.pmc
Log Message:
-----------
Create a proxy for HLL_info in clone_interpreter
Commit: 39f333d72382bbb1c1dbaa92490c7aea49fbb32d
https://github.com/parrot/parrot/commit/39f333d72382bbb1c1dbaa92490c7aea49fbb32d
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
M src/pmc/parrotinterpreter.pmc
Log Message:
-----------
Create a proxy instead of cloning class_hash in clone_interpreter
Commit: f874fce3d7199ab94b43bda808103c0ca199cf28
https://github.com/parrot/parrot/commit/f874fce3d7199ab94b43bda808103c0ca199cf28
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
M src/pmc/parrotinterpreter.pmc
Log Message:
-----------
Remove some vtable/class_hash code thats hopefully covered by the proxy
Commit: 260ad575fbb790379aa703a4f96cb4d202b93321
https://github.com/parrot/parrot/commit/260ad575fbb790379aa703a4f96cb4d202b93321
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
M src/pmc/parrotinterpreter.pmc
Log Message:
-----------
Use a proxy for pbc_libs as well
Commit: 171e5fd90de6e7bde7da6bc11556c940c89620b4
https://github.com/parrot/parrot/commit/171e5fd90de6e7bde7da6bc11556c940c89620b4
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-09 (Fri, 09 Dec 2011)
Changed paths:
M src/pmc/parrotinterpreter.pmc
Log Message:
-----------
Create a new PMC to hold a thread's interpreter
The ParrotInterpreter PMC in a thread interp's iglobals was created by
another thread. Using a proxy still leads to memory corruption. Use
code suggested by NotFound++ to create a local PMC to refer to the
interpreter, so the getinterp op works as intended.
Commit: 7cc8dddbeeab1b357dc3d430ee262a4a3e9cc5f9
https://github.com/parrot/parrot/commit/7cc8dddbeeab1b357dc3d430ee262a4a3e9cc5f9
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-10 (Sat, 10 Dec 2011)
Changed paths:
M MANIFEST
M config/gen/makefiles/root.in
M src/pmc/proxy.pmc
M src/thread.c
Log Message:
-----------
Fix some codingstd errors
Commit: a610a08bedef0fe25dba666a0ae572569a48d683
https://github.com/parrot/parrot/commit/a610a08bedef0fe25dba666a0ae572569a48d683
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-10 (Sat, 10 Dec 2011)
Changed paths:
M src/pmc/task.pmc
Log Message:
-----------
Make invoke on a task without code an error
Commit: afe369cbc309e1a544a4729a58b14f95defedfa7
https://github.com/parrot/parrot/commit/afe369cbc309e1a544a4729a58b14f95defedfa7
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-10 (Sat, 10 Dec 2011)
Changed paths:
M include/parrot/thread.h
M src/pmc/parrotinterpreter.pmc
M src/thread.c
M t/src/threads.t
Log Message:
-----------
Unproxy tasks scheduled on the main_thread and their data
get_global of the sub didn't work anymore so the test now pushes the
updating sub as shared data and schedule_proxied unproxies everything.
Not really content with having to use such a workaround, but at least
it's working for now.
Commit: eca73c3dbc5758bede7a04c5e692c8c367699689
https://github.com/parrot/parrot/commit/eca73c3dbc5758bede7a04c5e692c8c367699689
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-11 (Sun, 11 Dec 2011)
Changed paths:
M docs/binaries/parrot.pod
M ext/winxed/compiler.pir
M tools/dev/install_files.pl
Log Message:
-----------
Merge branch 'master' into threads
Commit: 694346696c5e612cff858e58be03cb84ee1d7102
https://github.com/parrot/parrot/commit/694346696c5e612cff858e58be03cb84ee1d7102
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-11 (Sun, 11 Dec 2011)
Changed paths:
M MANIFEST.generated
Log Message:
-----------
Add missing files to MANIFEST.generated
Also adds a little note to avoid confusion about this file's name
Commit: 2166fdbc1e30df13ba7bd27bb8d8332171764f06
https://github.com/parrot/parrot/commit/2166fdbc1e30df13ba7bd27bb8d8332171764f06
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-11 (Sun, 11 Dec 2011)
Changed paths:
M t/pmc/pmc.t
Log Message:
-----------
Add new proxy type to list of exceptions in t/pmc/pmc.t
Proxy needs initialization to work and appears to have a different type.
No good for this test.
Commit: 8aa61aa691bc4c4039000f5e0b4ae510bd730b87
https://github.com/parrot/parrot/commit/8aa61aa691bc4c4039000f5e0b4ae510bd730b87
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-13 (Tue, 13 Dec 2011)
Changed paths:
M src/gc/mark_sweep.c
M src/pmc/parrotinterpreter.pmc
M src/pmc/proxy.pmc
M src/thread.c
M t/pmc/task.t
Log Message:
-----------
Proxy namespaces and classes as well
With this change, threads have read only access to their parent's
namespaces and classes. Though this avoids any problems with cloning
namespaces and allows task tests to use the imported ok function and
thread tests to pass, it's still not perfect.
Classes can be instantiated on a thread if they have been instantiated
before in the main thread.
Commit: 37b624a675e2a7c63c8cea8ab2077a17a400e68b
https://github.com/parrot/parrot/commit/37b624a675e2a7c63c8cea8ab2077a17a400e68b
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-16 (Fri, 16 Dec 2011)
Changed paths:
M include/parrot/thread.h
M src/pmc/parrotinterpreter.pmc
M src/thread.c
Log Message:
-----------
Unify implementations in Parrot_thread_schedule_task and schedule_proxied
Unified the implementations and moved them into
Parrot_thread_create_local_task
Commit: 03883e2d43fdc2cb0fdcc829e923030af5855d15
https://github.com/parrot/parrot/commit/03883e2d43fdc2cb0fdcc829e923030af5855d15
Author: Stefan Seifert <nine at detonation.org>
Date: 2011-12-16 (Fri, 16 Dec 2011)
Changed paths:
M src/pmc/task.pmc
M src/thread.c
Log Message:
-----------
Keep a reference to a partner task handy
When a task is scheduled on a different thread, a thread local copy is
created to simplify GC. To allow these two representations of the same
task to communicate after scheduling, we now link the two using the new
"partner" attribute.
Commit: eed8cac047f7a3a6ed4357cdfb778760ddf31121
https://github.com/parrot/parrot/commit/eed8cac047f7a3a6ed4357cdfb778760ddf31121
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-02-04 (Sat, 04 Feb 2012)
Changed paths:
M .gitignore
A .travis.yml
M CREDITS
M ChangeLog
M Configure.pl
M MANIFEST
M MANIFEST.SKIP
M MANIFEST.generated
M README
M RESPONSIBLE_PARTIES
M TODO
M VERSION
M api.yaml
M compilers/imcc/api.c
M compilers/opsc/src/Ops/Trans/C.pm
M config/gen/makefiles/docs.in
M config/gen/makefiles/root.in
M config/init/defaults.pm
M config/init/hints.pm
M config/init/hints/cygwin.pm
M docs/book/draft/appe_source_code.pod
M docs/book/draft/ch01_introduction.pod
M docs/book/pct/ch01_introduction.pod
M docs/book/pir/ch01_introduction.pod
M docs/book/pir/ch08_io.pod
M docs/deprecations/deprecations.pod
M docs/embed.pod
M docs/faq.pod
M docs/gettingstarted.pod
M docs/intro.pod
M docs/parrot.pod
M docs/parrothist.pod
M docs/pdds/draft/pdd06_pasm.pod
M docs/pdds/pdd03_calling_conventions.pod
M docs/project/cage_cleaners_guide.pod
M docs/project/committer_guide.pod
M docs/project/metacommitter_guide.pod
M docs/project/release_manager_guide.pod
M docs/project/ticket_triaging.pod
M docs/submissions.pod
M docs/tests.pod
M docs/translations/README.BGR
M docs/translations/README.deutsch
M docs/translations/README.espanol
M docs/translations/README.francais
M docs/translations/README.polski
M docs/translations/README.pt-BR
M examples/config/file/configcompiler
A examples/config/file/configverbose
M examples/languages/abc/setup.pir
M examples/languages/squaak/doc/tutorial_episode_1.pod
M examples/languages/squaak/doc/tutorial_episode_4.pod
M examples/languages/squaak/doc/tutorial_episode_5.pod
M examples/languages/squaak/doc/tutorial_episode_6.pod
M examples/pir/befunge/setup.pir
M examples/pir/make_hello_pbc.pir
M ext/winxed/compiler.pir
M ext/winxed/driver.pir
M frontend/parrot2/main.c
M frontend/parrot_debugger/main.c
M frontend/pbc_dump/main.c
M frontend/pbc_merge/main.c
M include/parrot/interpreter.h
M include/parrot/oplib/core_ops.h
M include/parrot/pointer_array.h
M include/parrot/runcore_profiling.h
M include/parrot/runcore_subprof.h
M lib/Parrot/Configure/Compiler.pm
M lib/Parrot/Configure/Options/Conf/File.pm
M lib/Parrot/Docs/File.pm
M lib/Parrot/Docs/HTMLPage.pm
M lib/Parrot/Manifest.pm
M lib/Parrot/Pmc2c/PMC.pm
M lib/Parrot/Pmc2c/PMC/RO.pm
M lib/Parrot/Test/Pod.pm
M parrotbug
M runtime/parrot/bin/prove.pir
M runtime/parrot/include/green_threads.pir
M runtime/parrot/include/hllmacros.pir
M runtime/parrot/library/Archive/Tar.pir
M runtime/parrot/library/Archive/Zip.pir
M runtime/parrot/library/Configure/genfile.pir
M runtime/parrot/library/ProfTest/PIRProfile.nqp
M runtime/parrot/library/Test/Builder/Output.pir
M runtime/parrot/library/distutils.pir
M runtime/parrot/library/osutils.pir
M src/debug.c
M src/dynoplibs/Rules.in
M src/dynpmc/Rules.in
M src/embed/api.c
M src/exceptions.c
M src/extend.c
A src/interp/api.c
R src/interp/inter_create.c
R src/interp/inter_misc.c
M src/namespace.c
M src/ops/core.ops
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/ops/io.ops
M src/ops/sys.ops
M src/packfile/api.c
M src/packfile/pf_items.c
M src/platform/generic/file.c
M src/platform/win32/dl.c
M src/pmc/arrayiterator.pmc
M src/pmc/filehandle.pmc
M src/pmc/hashiterator.pmc
M src/pmc/iterator.pmc
M src/pmc/orderedhashiterator.pmc
M src/pmc/parrotinterpreter.pmc
M src/pmc/stringiterator.pmc
M src/string/api.c
M t/codingstd/filenames.t
M t/compilers/data_json/to_parrot.t
M t/compilers/imcc/syn/clash.t
M t/compilers/imcc/syn/op.t
M t/compilers/imcc/syn/regressions.t
M t/compilers/pct/past.t
M t/compilers/tge/grammar.t
M t/configure/008-file_based_configuration.t
R t/configure/testlib/verbosefoobar
M t/dynoplibs/io.t
M t/dynpmc/gziphandle.t
M t/dynpmc/os.t
M t/fullharness
M t/harness.pir
M t/library/p6object.t
M t/native_pbc/header.t
M t/native_pbc/integer.t
M t/native_pbc/number.t
M t/native_pbc/string.t
M t/oo/metamodel.t
M t/op/arithmetics.t
M t/op/calling.t
M t/op/comp.t
M t/op/inf_nan.t
M t/op/lexicals.t
M t/op/number.t
M t/pmc/class.t
M t/pmc/complex.t
M t/pmc/exporter.t
M t/pmc/filehandle.t
M t/pmc/float.t
M t/pmc/io.t
M t/pmc/io_iterator.t
M t/pmc/multidispatch.t
M t/pmc/namespace-old.t
M t/pmc/nci.t
M t/pmc/packfile.t
M t/pmc/packfileview.t
M t/pmc/parrotio.t
M t/pmc/resizablepmcarray.t
M t/pmc/stringhandle.t
M t/pmc/sub.t
M t/pmc/timer.t
M t/run/options.t
M t/src/embed.t
M t/src/embed/strings.t
M t/src/exit.t
M t/src/extend.t
M t/src/extend_vtable.t
M t/src/misc.t
M t/src/pointer_array.t
M t/src/warnings.t
R t/steps/auto/sha1-01.t
M t/tools/install/testlib/README
M tools/dev/pbc_to_exe.pir
R tools/docs/make_html_docs.pl
A tools/docs/mk_html_docs.pl
M tools/release/release.json
Log Message:
-----------
Merge branch 'master' into threads
Conflicts:
src/interp/inter_create.c
Commit: 60efbf6f8c9b94d0044043d303acf0ac6d4d3513
https://github.com/parrot/parrot/commit/60efbf6f8c9b94d0044043d303acf0ac6d4d3513
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-02 (Fri, 02 Mar 2012)
Changed paths:
M src/pmc/parrotinterpreter.pmc
M src/thread.c
Log Message:
-----------
Block GC while scheduling a task on another thread
Scheduling may cause the garbage collector to kick in. If we schedule on
another thread, this would start the other interpreter's GC from the
wrong thread where it would find foreign PMCs on the stack. A situation
we really want to avoid.
Commit: f29b24193340e7e131a58758b2140a65a1a46d40
https://github.com/parrot/parrot/commit/f29b24193340e7e131a58758b2140a65a1a46d40
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-02 (Fri, 02 Mar 2012)
Changed paths:
M src/pmc/scheduler.pmc
Log Message:
-----------
Keep a list of foreign tasks
We don't know if the user keeps references to the tasks he starts. So we
have to assume he doesn't and do it ourselves.
Commit: 5165f6a8db1478666d2e3e35292dbdf1c9a26f7a
https://github.com/parrot/parrot/commit/5165f6a8db1478666d2e3e35292dbdf1c9a26f7a
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-04 (Sun, 04 Mar 2012)
Changed paths:
M lib/Parrot/Pmc2c/PMC/Proxy.pm
Log Message:
-----------
Don't create proxies for PMCNULL results lest PMC_IS_NULL no longer works
Commit: 97254da4ecd55723205bc52dac75d5c74a0acd15
https://github.com/parrot/parrot/commit/97254da4ecd55723205bc52dac75d5c74a0acd15
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-11 (Sun, 11 Mar 2012)
Changed paths:
M lib/Parrot/Pmc2c/PMC/Proxy.pm
Log Message:
-----------
Block the GC while executing a proxied method
Proxy runs methods on the target with the target's interp. If GC is
triggered during this run, the foreign interp's GC could find our PMCs
on the call stack. It would also not find any PMCs which are on the
foreign interp's callstack. And most of all it could be that the foreign
interp also starts collecting garbage at the same time...
So we block the foreign GC to prevent this from happening.
Commit: 2b11eacb94c5f554f77c66f30e35e679dbff11c8
https://github.com/parrot/parrot/commit/2b11eacb94c5f554f77c66f30e35e679dbff11c8
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-11 (Sun, 11 Mar 2012)
Changed paths:
M lib/Parrot/Pmc2c/PMC/Proxy.pm
Log Message:
-----------
Use Parrot_thread_create_proxy to create proxies
Proxy's methods create proxies for returned objects. Before this fix, it
did this by calling Parrot_pmc_new_init itself but using the wrong (the
proxied) interp, so all Proxy objects originating from proxied method
calls would be allocated on the wrong interp.
Use Parrot_thread_create_proxy which handles this correctly, reducing
the places in which proxies are created.
Commit: 7b7202e6a754f6ff931f15ce96c7a6ba0aaedf0a
https://github.com/parrot/parrot/commit/7b7202e6a754f6ff931f15ce96c7a6ba0aaedf0a
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-11 (Sun, 11 Mar 2012)
Changed paths:
M src/pmc/parrotinterpreter.pmc
Log Message:
-----------
Remove some dead code from clone_interpreter
Commit: da8e94e871ff79ead41958885a1e8bc2f2d3c72f
https://github.com/parrot/parrot/commit/da8e94e871ff79ead41958885a1e8bc2f2d3c72f
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-11 (Sun, 11 Mar 2012)
Changed paths:
M include/parrot/gc_api.h
M include/parrot/pobj.h
M lib/Parrot/Pmc2c/PMC/Proxy.pm
M src/gc/api.c
M src/gc/gc_gms.c
M src/oo.c
M src/pmc/proxy.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Lots of assertions for debugging memory separation violations
Commit: 460b9b5b899715f8681bd575ff9b245e8b364dac
https://github.com/parrot/parrot/commit/460b9b5b899715f8681bd575ff9b245e8b364dac
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-21 (Wed, 21 Mar 2012)
Changed paths:
M src/pmc/proxy.pmc
Log Message:
-----------
Proxy workaround for TT #1219, see Parrot_ns_find_namespace_global
Commit: 49e19be217d654a13f697639966581c39b203280
https://github.com/parrot/parrot/commit/49e19be217d654a13f697639966581c39b203280
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M src/oo.c
Log Message:
-----------
Remove debug output
Commit: 8fd28909747f5426d68e91924eb46bad11678cf4
https://github.com/parrot/parrot/commit/8fd28909747f5426d68e91924eb46bad11678cf4
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M include/parrot/interpreter.h
M src/pmc/parrotinterpreter.pmc
M src/thread.c
Log Message:
-----------
Avoid calling init_world_once again for each thread
Pulled in a lot of interpreter setup code into clone_interpreter. Not
exactly pretty, but this is the only way to avoid running all the stuff
which really should only run once for the main thread. At least without
a major refactor that is. Also starting from a clean slate makes it much
easier to find leaks of unproxied PMCs to other threads.
Commit: 6acce00495079a5b2234bf443212804f13985afc
https://github.com/parrot/parrot/commit/6acce00495079a5b2234bf443212804f13985afc
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Don't block on writing to the notifierfd.
If a threads notification pipe is full, we don't need to notify the
thread anyway since it will check all expired alarms with a single
notification.
Commit: 9ebf0d9e9a2cc401040c97649663cbb09a629331
https://github.com/parrot/parrot/commit/9ebf0d9e9a2cc401040c97649663cbb09a629331
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M include/parrot/pobj.h
Log Message:
-----------
s/Parrot_Interp */Parrot_Interp/
Parrot_Interp is already a pointer, no need for the asterisk for the
orig_interp declaration. Fixes a lot of compiler warnings (otherwise
harmless, since we only compare this pointer)
Commit: 5a9e01ea791f5dacf002fc22dc0372334d602749
https://github.com/parrot/parrot/commit/5a9e01ea791f5dacf002fc22dc0372334d602749
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M src/gc/gc_gms.c
M src/gc/mark_sweep.c
M src/pmc/sub.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Use PARROT_IS_THREAD flag instead of testing for interp->thread_data
Commit: a4b87884625d1642350617b2b4d3c3fa2d7840dc
https://github.com/parrot/parrot/commit/a4b87884625d1642350617b2b4d3c3fa2d7840dc
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M compilers/imcc/pbc.c
M include/parrot/gc_api.h
M src/packfile/api.c
M src/packfile/segments.c
Log Message:
-----------
Flag packfile constants as shared and GC them only on the main thread
Packfiles are no PMCs so we cannot simply create a proxy for them. But
they naturally belong to the main thread, so we use the "shared" PMC
flag to tell the GC that only the main thread should mark and sweep
them.
Commit: c41af2930a51ded2f3546f3b1abe8935c9e36cfd
https://github.com/parrot/parrot/commit/c41af2930a51ded2f3546f3b1abe8935c9e36cfd
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M include/parrot/thread.h
M src/thread.c
Log Message:
-----------
Don't create proxies for Subs but clone them
When executing a proxied Sub, the context belonging to the foreign
interp would be used. This context for example contains globals and
namespaces.
get_global in this Sub would therefore fetch a global from an unproxied
namespace and get an unproxied global in return without any chance for
us to catch this and create a proxy.
Better to clone the sub and create proxies for all its PMC attributes
(most of all namespaces)
Commit: 031e9683e9f1754e48f8b1dccf7d03408790b587
https://github.com/parrot/parrot/commit/031e9683e9f1754e48f8b1dccf7d03408790b587
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M lib/Parrot/Pmc2c/PMC/Proxy.pm
Log Message:
-----------
Run proxied VTABLE methods with the threads interp
Even read only methods can cause garbage collection (e.g. with parameter
passing). This would have catastrophic results, since a foreign thread
would be running this GC and it would find both threads' PMCs. Even
worse, the proxied interp could be running the GC at the same time.
Blocking the foreign GC is not possible without lots of locking since
even if we Parrot_block_GC_mark, the foreign interp could already be
running its GC.
Running the method with the thread's interp seems like the smaller
problem. The interps are closely related, so the data the method needs
should be available (and well suited to the caller). On the other hand
we no longer can unconditionally create proxies for all returned PMCs
since those could as well have been created by the call and would now
belong to the thread's interp. So we now check the PMC's orig_interp and
use it to decide if we need to create a proxy.
Since this enlarges every PMC by a pointer, this has some negative
impact on performance. A possible optimization could be to tell the GC
to set a flag on all newly created PMCs since we don't need to know
which interp exactly created the PMC, just if it was the current one.
We still have to block GC since during the call foreign PMCs might be on
the C stack which should not be handled by our GC.
Commit: d1852f86a4fe5da7a047bb0bbc7927e4eca53c0a
https://github.com/parrot/parrot/commit/d1852f86a4fe5da7a047bb0bbc7927e4eca53c0a
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M src/pmc/parrotinterpreter.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Lock the proxied interp while scheduling a task
Scheduling a task could cause garbage collection. To be able to savely
disable the GC the proxied interp must be in a known state, so we have
to lock it. Same mechanism is already used for thread interps. Just do
the same for the main thread.
Commit: e46e799645ff269904f05cfbb42e6883515f7f98
https://github.com/parrot/parrot/commit/e46e799645ff269904f05cfbb42e6883515f7f98
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Don't exit a thread if no tasks are running
Keep threads running even if no tasks are in the queue since the main
thread may schedule new tasks any time.
Commit: a63fd3f1efc8771c72e8b37b0a59d86510953779
https://github.com/parrot/parrot/commit/a63fd3f1efc8771c72e8b37b0a59d86510953779
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
A examples/threads/chameneos.pir
A examples/threads/moretasks.pir
A examples/threads/tasks.pir
Log Message:
-----------
Example programs using threads
Just some examples to show how Tasks and threads might be used.
Commit: 9037751cd1f7db2ebffe3faffc73ab240231e852
https://github.com/parrot/parrot/commit/9037751cd1f7db2ebffe3faffc73ab240231e852
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M include/parrot/gc_api.h
M include/parrot/thread.h
Log Message:
-----------
Fix unwrapped macro args
Commit: 0a9d8df89c96b2fc8b2280b3479c59aaa10c0e81
https://github.com/parrot/parrot/commit/0a9d8df89c96b2fc8b2280b3479c59aaa10c0e81
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M include/parrot/thread.h
Log Message:
-----------
Decrease readability to satisfy coding standards
Commit: f237aca9f5fc46502bf862ca032a315c8cfd8653
https://github.com/parrot/parrot/commit/f237aca9f5fc46502bf862ca032a315c8cfd8653
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M src/pmc/proxy.pmc
Log Message:
-----------
Remove trailing whitespace
Commit: 54965b22916b5cd280091c4bce739b2628abdce7
https://github.com/parrot/parrot/commit/54965b22916b5cd280091c4bce739b2628abdce7
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M MANIFEST
Log Message:
-----------
Add new example files to MANIFEST
Commit: 3b5ee3c4147b60d1072e045f629b66b530be541d
https://github.com/parrot/parrot/commit/3b5ee3c4147b60d1072e045f629b66b530be541d
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-23 (Fri, 23 Mar 2012)
Changed paths:
M .travis.yml
M CREDITS
M ChangeLog
M MANIFEST
M MANIFEST.generated
M README
M RESPONSIBLE_PARTIES
M VERSION
M compilers/imcc/cfg.c
M compilers/imcc/imcc.y
M compilers/imcc/imcparser.c
M compilers/imcc/imcparser.h
M compilers/imcc/main.c
M compilers/imcc/pbc.c
M compilers/imcc/pcc.c
M compilers/opsc/src/Ops/Emitter.pm
M compilers/opsc/src/Ops/Trans/C.pm
M compilers/pct/src/PAST/Compiler.pir
M compilers/pct/src/PCT/HLLCompiler.pir
M config/auto/byteorder.pm
M config/auto/gcc.pm
M config/auto/headers.pm
M config/auto/icu.pm
M config/auto/warnings.pm
M config/gen/makefiles/root.in
M config/init/hints/cygwin.pm
M config/init/hints/darwin.pm
M config/init/hints/mswin32.pm
M docs/book/draft/ch10_opcode_reference.pod
M docs/book/pir/ch04_variables.pod
M docs/configuration.pod
M docs/parrothist.pod
M docs/project/release_manager_guide.pod
A docs/project/release_parrot_github_guide.pod
M examples/sdl/tetris/block.pir
M examples/sdl/tetris/board.pir
M ext/nqp-rx/src/stage0/HLL-s0.pir
M ext/nqp-rx/src/stage0/Regex-s0.pir
M ext/winxed/compiler.pir
M ext/winxed/driver.pir
M frontend/parrot/main.c
M frontend/parrot2/build.pir
M frontend/parrot2/main.c
M frontend/parrot_debugger/main.c
M frontend/pbc_disassemble/main.c
M frontend/pbc_dump/main.c
M include/parrot/api.h
M include/parrot/call.h
M include/parrot/hash.h
M include/parrot/interpreter.h
M include/parrot/memory.h
M include/parrot/oplib/core_ops.h
M include/parrot/oplib/ops.h
M include/parrot/opsenum.h
M include/parrot/packfile.h
M include/parrot/parrot.h
M include/parrot/pmc.h
M include/parrot/pointer_array.h
M include/parrot/scheduler.h
M include/parrot/sub.h
M lib/Parrot/Docs/HTMLPage.pm
M lib/Parrot/Pmc2c/PMC.pm
M lib/Parrot/Pmc2c/PMC/default.pm
M runtime/parrot/library/P6object.pir
M runtime/parrot/library/SDL/Surface.pir
M runtime/parrot/library/Stream/Writer.pir
M runtime/parrot/library/osutils.pir
M runtime/parrot/library/parrotlib.pir
M src/alarm.c
M src/call/context.c
M src/call/ops.c
M src/debug.c
M src/dynext.c
M src/dynpmc/gziphandle.pmc
M src/dynpmc/os.pmc
M src/embed/api.c
M src/events.c
M src/gc/gc_gms.c
M src/gc/gc_ms2.c
M src/gc/mark_sweep.c
M src/gc/string_gc.c
M src/global_setup.c
M src/hash.c
M src/interp/api.c
M src/interp/inter_cb.c
M src/nci/libffi.c
M src/ops/core.ops
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/ops/object.ops
M src/ops/pmc.ops
M src/ops/set.ops
M src/ops/string.ops
M src/packfile/api.c
R src/packfile/byteorder.h
M src/packfile/output.c
M src/packfile/pf_items.c
M src/packfile/pf_private.h
M src/packfile/segments.c
M src/platform/generic/socket.c
M src/pmc.c
M src/pmc/callcontext.pmc
M src/pmc/class.pmc
M src/pmc/continuation.pmc
M src/pmc/coroutine.pmc
M src/pmc/default.pmc
M src/pmc/fixedbooleanarray.pmc
M src/pmc/fixedstringarray.pmc
M src/pmc/hashiterator.pmc
M src/pmc/imageiofreeze.pmc
M src/pmc/imccompiler.pmc
M src/pmc/nativepccmethod.pmc
M src/pmc/nci.pmc
M src/pmc/parrotinterpreter.pmc
M src/pmc/parrotlibrary.pmc
M src/pmc/resizablebooleanarray.pmc
M src/pmc/resizablefloatarray.pmc
M src/pmc/resizableintegerarray.pmc
M src/pmc/resizablepmcarray.pmc
M src/pmc/stringbuilder.pmc
M src/pmc/sub.pmc
M src/pmc/undef.pmc
M src/pmc/unmanagedstruct.pmc
M src/pointer_array.c
M src/runcore/cores.c
M src/runcore/profiling.c
M src/runcore/subprof.c
M src/scheduler.c
M src/spf_render.c
M src/string/api.c
M src/vtable.tbl
M t/codingstd/c_arg_assert.t
M t/compilers/imcc/syn/const.t
M t/compilers/imcc/syn/pcc.t
M t/dynpmc/foo-02.t
A t/native_pbc/annotations.pbc
M t/native_pbc/integer.pbc
M t/native_pbc/number.pbc
M t/native_pbc/number_4.pbc
M t/native_pbc/number_5.pbc
M t/native_pbc/string.pbc
M t/native_pbc/string_4.pbc
A t/native_pbc/string_5.pbc
M t/op/gc.t
M t/pmc/freeze.t
M t/pmc/namespace.t
M t/pmc/object-meths.t
M t/pmc/prop.t
M t/src/checkdepend.t
M t/src/extend_vtable.t
M t/steps/auto/icu-01.t
M tools/build/parrot_config_c.pl
M tools/dev/faces.pl
A tools/dev/new_changelog_skeleton.pl
M tools/dev/pbc_to_exe.pir
M tools/docs/mk_html_docs.pl
M tools/release/release.json
M tools/release/update_version.pl
Log Message:
-----------
Merge branch 'master' into threads
Conflicts:
src/gc/gc_ms2.c
src/scheduler.c
Commit: 87c6d52c32496dd63440e805c3bf7d657e7dcc88
https://github.com/parrot/parrot/commit/87c6d52c32496dd63440e805c3bf7d657e7dcc88
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-24 (Sat, 24 Mar 2012)
Changed paths:
M t/pmc/task.t
Log Message:
-----------
Parrot's Test::More is not ready for threads (writes to shared data)
Commit: cd053dcaa87aedb386cee6677b32b6c21be15931
https://github.com/parrot/parrot/commit/cd053dcaa87aedb386cee6677b32b6c21be15931
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-24 (Sat, 24 Mar 2012)
Changed paths:
M config/gen/makefiles/root.in
M src/pmc.c
Log Message:
-----------
Fix Parrot_pmc_get_type_str when the class hash is a Proxy
Commit: fdb60a5f50b4be890ca0607125951e6a9d9350f1
https://github.com/parrot/parrot/commit/fdb60a5f50b4be890ca0607125951e6a9d9350f1
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-24 (Sat, 24 Mar 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Don't create proxies for PMCNULL
Commit: 65e27042d9b5f7fe6ca1bfbb61a74065a993711e
https://github.com/parrot/parrot/commit/65e27042d9b5f7fe6ca1bfbb61a74065a993711e
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-25 (Sun, 25 Mar 2012)
Changed paths:
M examples/threads/chameneos.pir
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/pmc/scheduler.pmc
M src/pmc/task.pmc
M src/scheduler.c
M src/thread.c
M t/src/threads.t
Log Message:
-----------
Fix the wait op for threads
A task scheduled on another thread will get cloned to be local to this
thread. The two task objects are then linked by a "partner" pointer. To
wait for a task of another thread one now only has to add the current
task to the waiter list of the original task object.
A task will schedule its waiters when it is done and now will also see
if the partner task has any waiters and schedule them on the partner's
interp.
In addition the main thread will now no longer exit as long as tasks on
other threads are running (an explicit exit op does still work however).
The main thread's tasks could still be waiting for other tasks to
finish.
Commit: 7c2054ebcb8d8c8678583301f5363286aa9443b4
https://github.com/parrot/parrot/commit/7c2054ebcb8d8c8678583301f5363286aa9443b4
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-27 (Tue, 27 Mar 2012)
Changed paths:
M examples/threads/tasks.pir
Log Message:
-----------
The main thread now has to do an explicit exit to cancel threads
Commit: bcf4afb4cbf161508110b3982899b5a11d612607
https://github.com/parrot/parrot/commit/bcf4afb4cbf161508110b3982899b5a11d612607
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-28 (Wed, 28 Mar 2012)
Changed paths:
M examples/threads/moretasks.pir
M src/gc/gc_gms.c
M src/pmc/parrotinterpreter.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Move interp->thread_data_interp_lock down into the GC
Gives about a 3x performance increase on chameneos.pir but costs about
1.3% performance in single threaded workloads
Commit: a899a185f01f892135ef16720fa9b68327096c79
https://github.com/parrot/parrot/commit/a899a185f01f892135ef16720fa9b68327096c79
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-28 (Wed, 28 Mar 2012)
Changed paths:
M include/parrot/context.h
M lib/Parrot/Pmc2c/Attribute.pm
M src/call/context.c
M src/ops/core_ops.c
M src/ops/var.ops
M src/pmc/namespace.pmc
M src/pmc/proxy.pmc
M src/string/api.c
Log Message:
-----------
Many more orig_interp assertions
Commit: d5b70798c82ad5bdfc17566ee9e44e3d96775bf8
https://github.com/parrot/parrot/commit/d5b70798c82ad5bdfc17566ee9e44e3d96775bf8
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-28 (Wed, 28 Mar 2012)
Changed paths:
M include/parrot/interpreter.h
M include/parrot/pobj.h
M lib/Parrot/Pmc2c/PMC/Proxy.pm
M src/gc/gc_gms.c
M src/pmc.c
M src/pmc/proxy.pmc
Log Message:
-----------
Use a flag to determine the origins of a PMC in Proxy
Commit: 5f59f3f9c141f56226666e14d0bc17fd5c0830a6
https://github.com/parrot/parrot/commit/5f59f3f9c141f56226666e14d0bc17fd5c0830a6
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-28 (Wed, 28 Mar 2012)
Changed paths:
M include/parrot/gc_api.h
M include/parrot/pobj.h
M lib/Parrot/Pmc2c/Attribute.pm
M lib/Parrot/Pmc2c/PMC/Proxy.pm
M src/call/context.c
M src/gc/api.c
M src/gc/gc_gms.c
M src/oo.c
M src/ops/core_ops.c
M src/ops/var.ops
M src/pmc/namespace.pmc
M src/pmc/proxy.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Make orig_interp depend on a THREAD_DEBUG define
Since orig_interp is now only used for debug assertions, make it depend
on a #define to regain some lost performance ground
Commit: 1596021e87bcb0d573d26906e8c003fe6ace8659
https://github.com/parrot/parrot/commit/1596021e87bcb0d573d26906e8c003fe6ace8659
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-30 (Fri, 30 Mar 2012)
Changed paths:
M compilers/imcc/reg_alloc.c
M compilers/opsc/src/Ops/Trans/C.pm
M config/auto/warnings.pm
M config/gen/makefiles/root.in
M docs/project/cage_cleaners_guide.pod
M docs/project/hacking_tips.pod
M ext/winxed/compiler.pir
M include/parrot/api.h
M include/parrot/pointer_array.h
M src/call/context.c
M src/debug.c
M src/gc/alloc_resources.c
M src/gc/gc_gms.c
M src/gc/gc_ms2.c
M src/global_setup.c
M src/platform/generic/dl.c
M src/pmc/namespace.pmc
M src/pmc/null.pmc
M src/pmc/resizablepmcarray.pmc
M src/pointer_array.c
M src/string/api.c
M t/compilers/opsc/03-past.t
M t/compilers/opsc/08-emitter.t
Log Message:
-----------
Merge branch 'master' into threads
Commit: 7f0758107290ef89d3f47ede0f84394c9a765525
https://github.com/parrot/parrot/commit/7f0758107290ef89d3f47ede0f84394c9a765525
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-30 (Fri, 30 Mar 2012)
Changed paths:
M src/platform/generic/dl.c
Log Message:
-----------
Merge branch 'master' into threads
Commit: 79df6e11f7f227b1c9a9545a9e876997b40c6564
https://github.com/parrot/parrot/commit/79df6e11f7f227b1c9a9545a9e876997b40c6564
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-30 (Fri, 30 Mar 2012)
Changed paths:
M examples/threads/chameneos.pir
M examples/threads/moretasks.pir
M examples/threads/tasks.pir
M include/parrot/context.h
M include/parrot/gc_api.h
M include/parrot/pobj.h
M src/call/context.c
Log Message:
-----------
Fix codingstd violations in threads code
Commit: cb851e65fe6e4a10dad0c2a53cffead021ccbafa
https://github.com/parrot/parrot/commit/cb851e65fe6e4a10dad0c2a53cffead021ccbafa
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-30 (Fri, 30 Mar 2012)
Changed paths:
M src/ops/core_ops.c
Log Message:
-----------
Merge branch 'master' into threads
Commit: cb939b4b4fce0507b7660017ba1686009f5f45c8
https://github.com/parrot/parrot/commit/cb939b4b4fce0507b7660017ba1686009f5f45c8
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-30 (Fri, 30 Mar 2012)
Changed paths:
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/pmc/task.pmc
M t/pmc/task.t
Log Message:
-----------
Make task.'send' and receive work with threads
Commit: e32f39efcb8b615f4d326683063191e8eaf13d7f
https://github.com/parrot/parrot/commit/e32f39efcb8b615f4d326683063191e8eaf13d7f
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-30 (Fri, 30 Mar 2012)
Changed paths:
M src/scheduler.c
M t/pmc/task.t
Log Message:
-----------
Fix race condition in wait for the only extremely short task
With only one task on the main thread and one extra task, if the main
task waits immediately for the extra task, it gets suspended. If the
extra task is extremely short, it can be already finished when the main
scheduler checks the foreign tasks and removes the killed ones. Between
the main thread realizing that it has no tasks anymore and that all
foreign tasks are completed the waiting main task could be scheduled but
the scheduler would not check for this anymore and exit the program.
Fixed by rechecking for scheduled tasks after filtering killed foreign
tasks. Also needed is a lock when checking the killed flag of a task so
that either a task is still running or it is killed and the waiting task
scheduled but not killed and still having to schedule.
Commit: 65140d34460e3f0b913a21942fabfb743154a2b2
https://github.com/parrot/parrot/commit/65140d34460e3f0b913a21942fabfb743154a2b2
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-31 (Sat, 31 Mar 2012)
Changed paths:
M examples/threads/moretasks.pir
M src/pmc.c
M t/pmc/task_primes.t
Log Message:
-----------
Remove debug abort()
Commit: 7f1ef0e72db425a30490b6365522a0c283491ee0
https://github.com/parrot/parrot/commit/7f1ef0e72db425a30490b6365522a0c283491ee0
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-31 (Sat, 31 Mar 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Fix a wrong assertion
Commit: 8e2cc840cbfe35ed735e8c81259c7e3cef6dc081
https://github.com/parrot/parrot/commit/8e2cc840cbfe35ed735e8c81259c7e3cef6dc081
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-31 (Sat, 31 Mar 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Lock the thread's interp, not ourself
The lock should protect the block_GC_mark flag of the thread, not
ours.
Commit: 05965d9675f60a175b6f55f57fe60ad4d296fef7
https://github.com/parrot/parrot/commit/05965d9675f60a175b6f55f57fe60ad4d296fef7
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-01 (Sun, 01 Apr 2012)
Changed paths:
M lib/Parrot/Pmc2c/PMC/Proxy.pm
M src/pmc/proxy.pmc
Log Message:
-----------
Keep the GC blocked until the proxy for the result is created.
We were blocking the GC while the call on the proxied PMC was
running to prevent it from finding foreign PMCs on the stack. But even
after the call, there's still the result! When creating the proxy for
the result, the GC was already unblocked and every 100,000th proxied
call or so it would start marking at this exact moment and find the
result PMC.
Fixed by simply unblocking the GC only after the proxy is created and
the original being no longer on the stack.
Commit: bf28faf3f1ec76bc6414603b754cd1b841c702f9
https://github.com/parrot/parrot/commit/bf28faf3f1ec76bc6414603b754cd1b841c702f9
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-01 (Sun, 01 Apr 2012)
Changed paths:
M include/parrot/gc_api.h
M src/gc/api.c
M src/gc/gc_gms.c
M src/gc/gc_private.h
M src/ops/experimental.ops
M src/pmc/parrotinterpreter.pmc
M src/pmc/task.pmc
M src/thread.c
Log Message:
-----------
Use a new thread safe GC block_mark_locked for blocking GC
Parrot_block_GC_mark and Parrot_unblock_GC_mark are not thread safe.
They contain a classical race condition when incrementing or
decrementing the counter.
Though taking the interp_lock helped in most cases against setting the
block_mark while the accessed thread's GC was running, it did not
help against the race condition in (un)block_GC_mark itself. So in very,
very rare cases, the GC could still run from the wrong thread.
Making Parrot_(un)block_GC_mark itself thread safe would be a
performance problem since it's used in many places all over the code
base. Instead this patch adds a second thread save block_mark_locked
which is only used by threading code when accessing a foreign interp's
PMCs. The counter is only tested by gc_gms_mark_and_sweep which is
called comparatively rarely so it the test should not have any
measurable performance cost.
Commit: c2b90c022aa7068f2f866be61fcdf7956dfe3ab7
https://github.com/parrot/parrot/commit/c2b90c022aa7068f2f866be61fcdf7956dfe3ab7
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-01 (Sun, 01 Apr 2012)
Changed paths:
M src/gc/gc_gms.c
M src/pmc.c
M src/pmc/proxy.pmc
Log Message:
-----------
Move GC locking down from get_new_pmc_header into the GC
With this change all GC lock handling is done at the same layer (the GC
GMS implementation) which is the only way to keep the locking strategy
(and the poor programmer trying to understand it) sane.
While allocating new memory is a very straight forward operation,
freeing memory unfortunatley is much more complicated since it can be
done by a mark & sweep run (which naturally has to take the lock) but
also manually through API calls. Therefore I need to tell
gc_gms_free_pmc_attributes if it has to do the locking by itself or not
using a gc_gms_free_pmc_attributes_locked function and the new "locked"
GC variable.
Commit: 398d9745da7bf2563cac0914eab2cd088fe73c00
https://github.com/parrot/parrot/commit/398d9745da7bf2563cac0914eab2cd088fe73c00
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-02 (Mon, 02 Apr 2012)
Changed paths:
M lib/Parrot/Pmc2c/PMC/Proxy.pm
Log Message:
-----------
Remove abort() call left over from debugging
Commit: d8cf9fe1b672776afe2687d1c26885dca0aac213
https://github.com/parrot/parrot/commit/d8cf9fe1b672776afe2687d1c26885dca0aac213
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-02 (Mon, 02 Apr 2012)
Changed paths:
M src/gc/gc_gms.c
Log Message:
-----------
Fix gc_gms_unblock_GC_mark_locked testing the wrong counter
Commit: 49e9955c9d5484245edc148ee69810b5d22748b6
https://github.com/parrot/parrot/commit/49e9955c9d5484245edc148ee69810b5d22748b6
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-02 (Mon, 02 Apr 2012)
Changed paths:
M src/alarm.c
Log Message:
-----------
Fix race condition in Parrot_alarm_set
Parrot_alarm_set is used by all threads for sleep(). There was a race
condition between checking for an existing alarm and setting the new
one.
In addition with very short alarms it could happen that the target time
has already passed which lead to a negative value being passed to
posix_alarm_set. Catching this case makes sleeps reliable
Commit: 693ad628b1487aad8ef0cf3e5f59d7271aa0a508
https://github.com/parrot/parrot/commit/693ad628b1487aad8ef0cf3e5f59d7271aa0a508
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-02 (Mon, 02 Apr 2012)
Changed paths:
M examples/threads/chameneos.pir
M include/parrot/oplib/core_ops.h
M include/parrot/oplib/ops.h
M include/parrot/opsenum.h
M include/parrot/scheduler.h
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/scheduler.c
Log Message:
-----------
Implement disable_preemption and enable_preemption ops
These ops can be used to protect critical sections from interruption
Commit: 751555aff0a680fa61f6b6f41373ba52dd9d2d82
https://github.com/parrot/parrot/commit/751555aff0a680fa61f6b6f41373ba52dd9d2d82
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-02 (Mon, 02 Apr 2012)
Changed paths:
M src/ops/core_ops.c
Log Message:
-----------
Bring src/ops/core_ops.c back in sync
Commit: 905fe09132230214d0b212d4327df758953b3317
https://github.com/parrot/parrot/commit/905fe09132230214d0b212d4327df758953b3317
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-02 (Mon, 02 Apr 2012)
Changed paths:
M src/pmc/task.pmc
Log Message:
-----------
Add missing write barrier in Task.send()
Commit: ab1d2d44517b5f36ff12088adcf071be4f0039c4
https://github.com/parrot/parrot/commit/ab1d2d44517b5f36ff12088adcf071be4f0039c4
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M include/parrot/thread.h
M src/gc/gc_gms.c
M src/thread.c
Log Message:
-----------
Perform GC write barriers for shared PMCs only on the main interp
Performing write barriers on a different interp than the one owning a
PMC leads to corruption of the GC's objects and dirty lists since the
write barrier removes the PMC from the objects list of the generation
the PMC belongs to. This causes the next_free pointer of the main
thread's GC's objects list to point to a place in the child interp's
objects list.
Fixed by checking the shared flag and delegating the call to the
main_interp if the current interp is a child.
Commit: 145ba94e806983868a060bf723bca699f8b585fc
https://github.com/parrot/parrot/commit/145ba94e806983868a060bf723bca699f8b585fc
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
MUTEX_INIT the interp_lock
Commit: c6e891ec0c9169ff4e46d978a2e3c9a33df5e370
https://github.com/parrot/parrot/commit/c6e891ec0c9169ff4e46d978a2e3c9a33df5e370
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/ops/core_ops.c
M src/ops/experimental.ops
Log Message:
-----------
Fix receive op using wrong interp for write access to mailbox
VTABLE_shift_pmc is writing to the mailbox. This is ok, since it is
protected by the mailbox_lock, but of course we have to do this with the
partner's interp. Otherwise it would fail in the write barrier.
Commit: dca99bcac52cef1eb85b49fbb7076c2102e71dba
https://github.com/parrot/parrot/commit/dca99bcac52cef1eb85b49fbb7076c2102e71dba
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/call/context.c
Log Message:
-----------
Fix t/pmc/freeze.t failing because of a debug assertion
Commit: 46fa477aded5277db83e576454a6640115cc0b80
https://github.com/parrot/parrot/commit/46fa477aded5277db83e576454a6640115cc0b80
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/gc/gc_gms.c
Log Message:
-----------
Make interp assertions in GC more strict
Commit: 191fc35d6f1a388837c0b71f504042df17aff843
https://github.com/parrot/parrot/commit/191fc35d6f1a388837c0b71f504042df17aff843
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/pmc/parrotinterpreter.pmc
Log Message:
-----------
Initialize HLL_entries attribute of thread interps
Commit: fd8bed9b1aa6092616602f1c42de20728d2dc6a5
https://github.com/parrot/parrot/commit/fd8bed9b1aa6092616602f1c42de20728d2dc6a5
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/pmc/task.pmc
Log Message:
-----------
No need for costly communications if there are no waiters
If there are no waiters we don't have to block GC on our
partner's interp since we don't access it anyway.
Commit: a73bc76d179dcc24252973076dfd9cf8f00cec66
https://github.com/parrot/parrot/commit/a73bc76d179dcc24252973076dfd9cf8f00cec66
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Remove unneccessary write barrier
Proxy does not contain any attributes which would be followed by the GC
anyway.
Commit: b23250087185f17d2982effffe9cde82fe5da162
https://github.com/parrot/parrot/commit/b23250087185f17d2982effffe9cde82fe5da162
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-16 (Mon, 16 Apr 2012)
Changed paths:
M src/call/context.c
M src/gc/gc_gms.c
M src/pmc/task.pmc
Log Message:
-----------
Reduce some line lengths
Commit: 8ed221dadcf147b7de2b42782af03180c08c1fba
https://github.com/parrot/parrot/commit/8ed221dadcf147b7de2b42782af03180c08c1fba
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-16 (Mon, 16 Apr 2012)
Changed paths:
M t/pmc/task_primes.t
Log Message:
-----------
Disable task_primes.t for now - too much NYI
In task_primes.t tasks create other tasks and communicate heavily with
send/receive. The current threading implementation does not yet support
such a use case. It's limited to having a master task create the child
tasks which only communicate with their master. However, this is purely an
implementation detail and not an architectural restriction.
Commit: 5076f5f2a6031c4e168258441de278f7a5ae9f3d
https://github.com/parrot/parrot/commit/5076f5f2a6031c4e168258441de278f7a5ae9f3d
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-16 (Mon, 16 Apr 2012)
Changed paths:
M ChangeLog
M MANIFEST
M README
M compilers/imcc/imcc.l
M compilers/imcc/optimizer.c
M docs/project/release_manager_guide.pod
M docs/project/release_parrot_github_guide.pod
M frontend/pbc_dump/packdump.c
M frontend/pbc_merge/main.c
M include/parrot/packfile.h
M include/parrot/pointer_array.h
M include/parrot/sub.h
M lib/Parrot/Configure/Compiler.pm
M lib/Parrot/Distribution.pm
M lib/Parrot/Docs/File.pm
M lib/Parrot/Docs/POD2HTML.pm
M lib/Parrot/IO/File.pm
M lib/Parrot/IO/Path.pm
M lib/Parrot/Manifest.pm
M src/dynpmc/rational.pmc
M src/dynpmc/subproxy.pmc
M src/gc/gc_gms.c
M src/gc/gc_ms.c
M src/gc/gc_ms2.c
M src/gc/mark_sweep.c
M src/hash.c
M src/packfile/api.c
M src/packfile/segments.c
M src/platform/generic/dl.c
M src/pmc/lexpad.pmc
M src/pmc/managedstruct.pmc
M src/pmc/stringbuilder.pmc
M src/string/encoding/utf8.c
M src/sub.c
M t/codingstd/cuddled_else.t
M t/pmc/lexpad.t
M t/src/pointer_array.t
A tools/release/parrot_github_release.pl
Log Message:
-----------
Merge branch 'master' into threads
Conflicts:
src/gc/gc_gms.c
Commit: d89e4ed6bdcbefa04c139acbaa4c0a20a018f713
https://github.com/parrot/parrot/commit/d89e4ed6bdcbefa04c139acbaa4c0a20a018f713
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-16 (Mon, 16 Apr 2012)
Changed paths:
M MANIFEST
A examples/threads/matrix_part.winxed
Log Message:
-----------
New threading example: matrix multiplication
Commit: 7ef999011b3d15c47499c00ae660e1ccdf31c062
https://github.com/parrot/parrot/commit/7ef999011b3d15c47499c00ae660e1ccdf31c062
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-20 (Fri, 20 Apr 2012)
Changed paths:
M lib/Parrot/Pmc2c/PMC/Proxy.pm
M src/gc/gc_gms.c
Log Message:
-----------
Don't do return foo() in void functions
Fixes compliation on stricter compilers like on Solaris
Andy Dougherty++ for finding this and suggesting the patch
Commit: 015d416203cc4bcc38596200d9fcc6009fe572bf
https://github.com/parrot/parrot/commit/015d416203cc4bcc38596200d9fcc6009fe572bf
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-21 (Sat, 21 Apr 2012)
Changed paths:
M examples/threads/chameneos.pir
M include/parrot/oplib/core_ops.h
M include/parrot/oplib/ops.h
M include/parrot/opsenum.h
M src/ops/core.ops
M src/ops/core_ops.c
M src/ops/experimental.ops
Log Message:
-----------
Improve chamaneos by replacing polling with a waiters queue
Commit: 7c969bcdba1289e36d3dd3ea08ea7d78bc267987
https://github.com/parrot/parrot/commit/7c969bcdba1289e36d3dd3ea08ea7d78bc267987
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-24 (Tue, 24 Apr 2012)
Changed paths:
M include/parrot/interpreter.h
M include/parrot/thread.h
M src/pmc/parrotinterpreter.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Replace notifierfd pipe with a condition mutex
This improves cross platform compatability since Parrot_cond is also
available on Windows. This patch also abstracts away differences between
the main thread and the child threads into Parrot_thread_notify_thread
which should be used whenever scheduling a Task on a different thread to
wake it up in case it's waiting for new Tasks.
Commit: ef073feb943d2eac5b5388725e636a95e503d94a
https://github.com/parrot/parrot/commit/ef073feb943d2eac5b5388725e636a95e503d94a
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-24 (Tue, 24 Apr 2012)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Fix race condition between SIGALRM and pause()
Between the last Parrot_cx_check_alarms call and the pause() in the main
threads outer runlook, the ALRM signal that the pause() call should be
waiting for can be delivered. The pause() could then be waiting for the
next alarm to expire or worst case indefinitely.
Commit: 3dbf36fb8ed7511a79855286deb4e0d65e83fd61
https://github.com/parrot/parrot/commit/3dbf36fb8ed7511a79855286deb4e0d65e83fd61
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-24 (Tue, 24 Apr 2012)
Changed paths:
M examples/threads/chameneos.pir
Log Message:
-----------
Chameneos: get rid of the at_most_two semaphore
Slight restructuring of the algorithm makes it possible to go without
the at_most_two semaphore. We just use -1 to mark an unset field.
Commit: 3bf5389d1fd17c5cd5e8bd28876c128b06b6621e
https://github.com/parrot/parrot/commit/3bf5389d1fd17c5cd5e8bd28876c128b06b6621e
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-27 (Fri, 27 Apr 2012)
Changed paths:
A examples/threads/alloc_test.pir
M src/gc/gc_gms.c
Log Message:
-----------
Fix a concurrency issue in gc_gms_allocate_fixed_size_storage
gc_gms_allocate_fixed_size_storage has to take the GC lock as well to
avoid race conditions
Commit: d9a8158809ba44b28c7d8a38f03928d08428f285
https://github.com/parrot/parrot/commit/d9a8158809ba44b28c7d8a38f03928d08428f285
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-27 (Fri, 27 Apr 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Use Parrot_thread_maybe_create_proxy to avoid duplicated code
Commit: fb6b6d3e748845728e19d83f2dfbcdcf2dd5f129
https://github.com/parrot/parrot/commit/fb6b6d3e748845728e19d83f2dfbcdcf2dd5f129
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-27 (Fri, 27 Apr 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Clean up foreign tasks started by child threads
Child threads may start tasks on other threads as well so they should
clean up the list of foreign tasks and remove the finished ones to keep
the list from growing indefinitely.
Commit: 66a662e4d3b2663a154aac58a0244884b98ac6e6
https://github.com/parrot/parrot/commit/66a662e4d3b2663a154aac58a0244884b98ac6e6
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-28 (Sat, 28 Apr 2012)
Changed paths:
M MANIFEST
Log Message:
-----------
Update manifest for new alloc_test.pir
Commit: b40d5cb832446d36eece84c138a6417e954d87a4
https://github.com/parrot/parrot/commit/b40d5cb832446d36eece84c138a6417e954d87a4
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-28 (Sat, 28 Apr 2012)
Changed paths:
M include/parrot/alarm.h
M include/parrot/thread.h
M src/alarm.c
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Use a thread for alarm handling instead of POSIX alarms.
Use a thread and COND_TIMED_WAIT instead of POSIX ALRM signals for timer
handling. This makes green threads (and therefore threading) work on
Windows and gives a 40 % performance increase on chameneos.pir as a
bonus.
Commit: a0b21de0a375e177b8c95fa027671af231854ce6
https://github.com/parrot/parrot/commit/a0b21de0a375e177b8c95fa027671af231854ce6
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-04-28 (Sat, 28 Apr 2012)
Changed paths:
M include/parrot/thr_none.h
M include/parrot/thr_pthread.h
M include/parrot/thr_windows.h
M src/alarm.c
Log Message:
-----------
Fix COND_TIMED_WAIT so it behaves the same on all platforms
Commit: ca82a46fb4a44772b79e5056948d92ddf4a3f2c5
https://github.com/parrot/parrot/commit/ca82a46fb4a44772b79e5056948d92ddf4a3f2c5
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-04-28 (Sat, 28 Apr 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
rename a local variable to avoid shadowing a static global
Commit: 413a272d58292309fa67d95fe371711e7a602384
https://github.com/parrot/parrot/commit/413a272d58292309fa67d95fe371711e7a602384
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-04-28 (Sat, 28 Apr 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Use a macro instead of an ugly series of casts and derefs.
Commit: 9b29ffa19de61e0d8760adaf26bb99334e082be2
https://github.com/parrot/parrot/commit/9b29ffa19de61e0d8760adaf26bb99334e082be2
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-04-28 (Sat, 28 Apr 2012)
Changed paths:
M src/pmc/alarm.pmc
M src/pmc/task.pmc
Log Message:
-----------
Localize a variable, const a few others
Commit: 19ca1163156ebc3d9738f27dadfa9b76ad1d6597
https://github.com/parrot/parrot/commit/19ca1163156ebc3d9738f27dadfa9b76ad1d6597
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-04-28 (Sat, 28 Apr 2012)
Changed paths:
M include/parrot/thr_pthread.h
M include/parrot/thr_windows.h
Log Message:
-----------
Small nits in the .h files
Commit: 6ecb09f0ed341db4f9a48204c71e68b5ed0cd26e
https://github.com/parrot/parrot/commit/6ecb09f0ed341db4f9a48204c71e68b5ed0cd26e
Author: Jimmy Zhuo <zhuomingliang at yahoo.com.cn>
Date: 2012-04-29 (Sun, 29 Apr 2012)
Changed paths:
M include/parrot/thr_windows.h
M src/thread.c
Log Message:
-----------
fixed build on windows, but chameneos.pir is not stable, sometimes it only outputs "going to sleeps"
Commit: 534f0a46281ba48a15cc5c23228195c05c316efa
https://github.com/parrot/parrot/commit/534f0a46281ba48a15cc5c23228195c05c316efa
Author: Jimmy Zhuo <zhuomingliang at yahoo.com.cn>
Date: 2012-04-29 (Sun, 29 Apr 2012)
Changed paths:
M include/parrot/thr_windows.h
Log Message:
-----------
revert part of 6ecb09f0ed, it's not the right way
Commit: 1fd016275897d1e7996a272ea204c393a3771dec
https://github.com/parrot/parrot/commit/1fd016275897d1e7996a272ea204c393a3771dec
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-29 (Sun, 29 Apr 2012)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Make sleep op work --without-threads
fixes t/op/time.t when Parrot is configured --without-threads
Commit: 427b5f86caeda7def57e88d09da52d85e7e7d320
https://github.com/parrot/parrot/commit/427b5f86caeda7def57e88d09da52d85e7e7d320
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-29 (Sun, 29 Apr 2012)
Changed paths:
M config/gen/makefiles/root.in
M include/parrot/alarm.h
M src/alarm.c
M src/pmc/parrotinterpreter.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Replace timer thread with time checks and sleep for --without-threads
Fixes all tests when configured --without-threads
Instead of a timer thread incrementing an alarm serial, we check the
current time directly. Should be some performance hit, but without
threading support, there's only so much we can do.
When no tasks are active, use usleep or Sleep instead of a condition
variable for waiting. Green threads are used instead of real threads for
scheduling tasks.
Commit: 3fbeaa9f43762b259c96b38dc774334a749b7711
https://github.com/parrot/parrot/commit/3fbeaa9f43762b259c96b38dc774334a749b7711
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-29 (Sun, 29 Apr 2012)
Changed paths:
M src/alarm.c
M src/scheduler.c
Log Message:
-----------
Use Parrot_usleep instead of reinventing platform abstractions
Commit: 9ab186998c123a8ce20eafe4fcb69e5ac17c1830
https://github.com/parrot/parrot/commit/9ab186998c123a8ce20eafe4fcb69e5ac17c1830
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-05-11 (Fri, 11 May 2012)
Changed paths:
M src/alarm.c
M src/pmc/parrotinterpreter.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Check the correct define for threading.
s/HAS_THREADS/PARROT_HAS_THREADS/
Commit: 627974b16d08bf073e8360531ea419cb0eb7392b
https://github.com/parrot/parrot/commit/627974b16d08bf073e8360531ea419cb0eb7392b
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-05-11 (Fri, 11 May 2012)
Changed paths:
M t/src/threads_io.t
Log Message:
-----------
Activate t/src/threads_io.t on a threaded Parrot
Commit: fa8393de13eefe3e2b0395c678a47222ba9db3ae
https://github.com/parrot/parrot/commit/fa8393de13eefe3e2b0395c678a47222ba9db3ae
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-05-13 (Sun, 13 May 2012)
Changed paths:
M ChangeLog
M MANIFEST
M MANIFEST.generated
R README
A README.pod
M RESPONSIBLE_PARTIES
M VERSION
M api.yaml
A compilers/README.pod
M compilers/imcc/imc.h
M compilers/imcc/imcc.l
M compilers/imcc/imclexer.c
M compilers/imcc/imcparser.c
M compilers/imcc/imcparser.h
M compilers/imcc/main.c
M compilers/imcc/pbc.c
M compilers/imcc/symreg.c
M compilers/pct/src/PCT/HLLCompiler.pir
R compilers/tge/README
A compilers/tge/README.pod
A config/README.pod
M config/auto/icu.pm
M config/gen/makefiles/root.in
A docs/README.pod
A docs/binaries/README.pod
M docs/binaries/parrot.pod
R docs/book/draft/README
A docs/book/draft/README.pod
M docs/book/draft/appb_patch_submission.pod
M docs/compiler_faq.pod
M docs/embed.pod
M docs/gettingstarted.pod
M docs/glossary.pod
R docs/imcc/README
A docs/imcc/README.pod
A docs/index/book.json
M docs/index/developer.json
M docs/index/index.json
M docs/parrot.pod
M docs/parrothist.pod
M docs/pdds/draft/pdd11_extending.pod
R docs/pdds/draft/pdd31_hll.pod
M docs/pdds/pdd07_codingstd.pod
A docs/pdds/pdd31_hll.pod
M docs/project/debian_packaging_guide.pod
M docs/project/release_manager_guide.pod
M docs/project/release_parrot_github_guide.pod
R examples/README
A examples/README.pod
M examples/benchmarks/oo1.pir
M examples/benchmarks/oo2.pir
M examples/benchmarks/oo3.pir
R examples/benchmarks/oo4.pasm
R examples/benchmarks/oo4.pl
R examples/benchmarks/oo4.py
R examples/benchmarks/oo4.rb
M examples/embed/cotorra.c
R examples/mops/README
A examples/mops/README.pod
R examples/sdl/minesweeper/README
A examples/sdl/minesweeper/README.pod
R examples/sdl/tetris/README
A examples/sdl/tetris/README.pod
R examples/shootout/README
A examples/shootout/README.pod
R examples/tge/README
A examples/tge/README.pod
A ext/README.pod
R ext/winxed/README
A ext/winxed/README.pod
M ext/winxed/Rules.mak
M ext/winxed/compiler.pir
M ext/winxed/driver.pir
A frontend/README.pod
M frontend/parrot2/prt0.pir
M frontend/parrot_debugger/main.c
M frontend/pbc_disassemble/main.c
M frontend/pbc_merge/main.c
A include/README.pod
M include/parrot/compiler.h
M include/parrot/context.h
M include/parrot/datatypes.h
M include/parrot/exceptions.h
M include/parrot/exit.h
M include/parrot/extend.h
M include/parrot/gc_api.h
M include/parrot/hash.h
M include/parrot/interpreter.h
M include/parrot/key.h
M include/parrot/oplib/core_ops.h
M include/parrot/oplib/ops.h
M include/parrot/opsenum.h
M include/parrot/packfile.h
M include/parrot/pmc_freeze.h
M include/parrot/string_funcs.h
M lib/Parrot/Distribution.pm
M lib/Parrot/Docs/Section/Info.pm
M lib/Parrot/Headerizer.pm
M lib/Parrot/Manifest.pm
A lib/README.pod
R ports/ubuntu/README
A ports/ubuntu/README.pod
A runtime/README.pod
R runtime/parrot/dynext/README
A runtime/parrot/dynext/README.pod
R runtime/parrot/include/README
A runtime/parrot/include/README.pod
R runtime/parrot/library/PCT/README
A runtime/parrot/library/PCT/README.pod
M runtime/parrot/library/Stream/Writer.pir
M runtime/parrot/library/distutils.pir
A src/README.pod
M src/call/args.c
M src/call/context.c
M src/call/context_accessors.c
M src/call/ops.c
M src/datatypes.c
R src/dynoplibs/README
A src/dynoplibs/README.pod
M src/dynoplibs/bit.ops
M src/dynoplibs/math.ops
M src/dynoplibs/trans.ops
M src/dynpmc/README.pod
M src/embed/api.c
M src/embed/strings.c
M src/exceptions.c
M src/exit.c
M src/extend.c
M src/gc/alloc_memory.c
M src/gc/api.c
M src/gc/fixed_allocator.h
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/mark_sweep.c
M src/gc/string_gc.c
M src/gc/system.c
M src/hash.c
M src/interp/api.c
M src/interp/inter_cb.c
M src/io/api.c
M src/key.c
M src/namespace.c
M src/ops/bit.ops
M src/ops/cmp.ops
M src/ops/core.ops
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/ops/math.ops
M src/ops/object.ops
M src/ops/pmc.ops
M src/ops/set.ops
M src/ops/string.ops
M src/ops/var.ops
M src/packfile/api.c
M src/packfile/output.c
M src/packfile/pf_items.c
M src/platform/generic/exec.c
M src/platform/win32/env.c
M src/pmc/bigint.pmc
M src/pmc/callcontext.pmc
M src/pmc/class.pmc
M src/pmc/complex.pmc
M src/pmc/continuation.pmc
M src/pmc/coroutine.pmc
M src/pmc/eval.pmc
M src/pmc/exceptionhandler.pmc
M src/pmc/key.pmc
M src/pmc/lexpad.pmc
M src/pmc/namespace.pmc
M src/pmc/object.pmc
M src/pmc/orderedhashiterator.pmc
M src/pmc/pmclist.pmc
M src/pmc/scheduler.pmc
M src/pmc/string.pmc
M src/pmc/structview.pmc
M src/pmc/sub.pmc
M src/runcore/profiling.c
M src/scheduler.c
M src/string/api.c
M src/string/encoding.c
M src/string/encoding/shared.c
R t/archive/README
A t/archive/README.pod
M t/benchmark/benchmarks.t
A t/codingstd/case_sensitive_files.t
M t/codingstd/pmc_docs.t
M t/compilers/opsc/01-parse-body.t
M t/dynoplibs/io.t
M t/dynpmc/gziphandle.t
M t/dynpmc/select.t
M t/library/osutils.t
R t/manifest/README
A t/manifest/README.pod
R t/native_pbc/testdata/README
A t/native_pbc/testdata/README.pod
M t/oo/objects.t
M t/op/stringu.t
R t/perl/README
A t/perl/README.pod
M t/pmc/context.t
M t/pmc/filehandle.t
M t/pmc/lexpad.t
M t/pmc/object-meths.t
M t/pmc/parrotio.t
M t/pmc/string.t
M t/pmc/stringhandle.t
M t/pmc/timer.t
R t/run/README
A t/run/README.pod
R t/src/README
A t/src/README.pod
M t/src/basic.t
M t/src/extend.t
M t/steps/auto/icu-01.t
M t/tools/dev/search_ops/samples.pm
M t/tools/install/02-install_files.t
R t/tools/install/testlib/README
A t/tools/install/testlib/README.pod
R t/tools/pmc2cutils/README
A t/tools/pmc2cutils/README.pod
A tools/README.pod
R tools/build/README
A tools/build/README.pod
R tools/dev/README.md
A tools/dev/README.pod
M tools/dev/mk_language_shell.in
M tools/dev/pbc_to_exe.pir
R tools/release/README
A tools/release/README.pod
M tools/release/parrot_github_release.pl
M tools/release/release.json
M tools/release/update_version.pl
Log Message:
-----------
Merge from master, fixing a small code conflict. Parrot builds and passes make test still.
Commit: 1283a07d4f125e81f1e2b5893f42afd5ab3bd7bf
https://github.com/parrot/parrot/commit/1283a07d4f125e81f1e2b5893f42afd5ab3bd7bf
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-05-15 (Tue, 15 May 2012)
Changed paths:
M include/parrot/interpreter.h
M src/interp/api.c
Log Message:
-----------
Initialize interp->sleep_cond, interp->sleep_mutex and interp->wake_up when we create the initial non-thread interp
Commit: 8f480e33928925cfd214da906db534933fef1e0a
https://github.com/parrot/parrot/commit/8f480e33928925cfd214da906db534933fef1e0a
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-05-16 (Wed, 16 May 2012)
Changed paths:
M ChangeLog
M MANIFEST
M MANIFEST.generated
R README
A README.pod
M RESPONSIBLE_PARTIES
M VERSION
M api.yaml
A compilers/README.pod
M compilers/imcc/imc.h
M compilers/imcc/imcc.l
M compilers/imcc/imclexer.c
M compilers/imcc/imcparser.c
M compilers/imcc/imcparser.h
M compilers/imcc/main.c
M compilers/imcc/pbc.c
M compilers/imcc/symreg.c
M compilers/pct/src/PCT/HLLCompiler.pir
R compilers/tge/README
A compilers/tge/README.pod
A config/README.pod
M config/auto/icu.pm
M config/gen/makefiles/root.in
A docs/README.pod
A docs/binaries/README.pod
M docs/binaries/parrot.pod
R docs/book/draft/README
A docs/book/draft/README.pod
M docs/book/draft/appb_patch_submission.pod
M docs/compiler_faq.pod
M docs/embed.pod
M docs/gettingstarted.pod
M docs/glossary.pod
R docs/imcc/README
A docs/imcc/README.pod
A docs/index/book.json
M docs/index/developer.json
M docs/index/index.json
M docs/parrot.pod
M docs/parrothist.pod
M docs/pdds/draft/pdd11_extending.pod
R docs/pdds/draft/pdd31_hll.pod
M docs/pdds/pdd07_codingstd.pod
A docs/pdds/pdd31_hll.pod
M docs/project/debian_packaging_guide.pod
M docs/project/release_manager_guide.pod
M docs/project/release_parrot_github_guide.pod
R examples/README
A examples/README.pod
M examples/benchmarks/oo1.pir
M examples/benchmarks/oo2.pir
M examples/benchmarks/oo3.pir
R examples/benchmarks/oo4.pasm
R examples/benchmarks/oo4.pl
R examples/benchmarks/oo4.py
R examples/benchmarks/oo4.rb
M examples/embed/cotorra.c
R examples/mops/README
A examples/mops/README.pod
R examples/sdl/minesweeper/README
A examples/sdl/minesweeper/README.pod
R examples/sdl/tetris/README
A examples/sdl/tetris/README.pod
R examples/shootout/README
A examples/shootout/README.pod
R examples/tge/README
A examples/tge/README.pod
A ext/README.pod
R ext/winxed/README
A ext/winxed/README.pod
M ext/winxed/Rules.mak
M ext/winxed/compiler.pir
M ext/winxed/driver.pir
A frontend/README.pod
M frontend/parrot2/prt0.pir
M frontend/parrot_debugger/main.c
M frontend/pbc_disassemble/main.c
M frontend/pbc_merge/main.c
A include/README.pod
M include/parrot/compiler.h
M include/parrot/context.h
M include/parrot/datatypes.h
M include/parrot/exceptions.h
M include/parrot/exit.h
M include/parrot/extend.h
M include/parrot/gc_api.h
M include/parrot/hash.h
M include/parrot/interpreter.h
M include/parrot/key.h
M include/parrot/oplib/core_ops.h
M include/parrot/oplib/ops.h
M include/parrot/opsenum.h
M include/parrot/packfile.h
M include/parrot/pmc_freeze.h
M include/parrot/string_funcs.h
M lib/Parrot/Distribution.pm
M lib/Parrot/Docs/Section/Info.pm
M lib/Parrot/Headerizer.pm
M lib/Parrot/Manifest.pm
A lib/README.pod
R ports/ubuntu/README
A ports/ubuntu/README.pod
A runtime/README.pod
R runtime/parrot/dynext/README
A runtime/parrot/dynext/README.pod
R runtime/parrot/include/README
A runtime/parrot/include/README.pod
R runtime/parrot/library/PCT/README
A runtime/parrot/library/PCT/README.pod
M runtime/parrot/library/Stream/Writer.pir
M runtime/parrot/library/distutils.pir
A src/README.pod
M src/call/args.c
M src/call/context.c
M src/call/context_accessors.c
M src/call/ops.c
M src/datatypes.c
R src/dynoplibs/README
A src/dynoplibs/README.pod
M src/dynoplibs/bit.ops
M src/dynoplibs/math.ops
M src/dynoplibs/trans.ops
M src/dynpmc/README.pod
M src/embed/api.c
M src/embed/strings.c
M src/exceptions.c
M src/exit.c
M src/extend.c
M src/gc/alloc_memory.c
M src/gc/api.c
M src/gc/fixed_allocator.h
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/mark_sweep.c
M src/gc/string_gc.c
M src/gc/system.c
M src/hash.c
M src/interp/api.c
M src/interp/inter_cb.c
M src/io/api.c
M src/key.c
M src/namespace.c
M src/ops/bit.ops
M src/ops/cmp.ops
M src/ops/core.ops
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/ops/math.ops
M src/ops/object.ops
M src/ops/pmc.ops
M src/ops/set.ops
M src/ops/string.ops
M src/ops/var.ops
M src/packfile/api.c
M src/packfile/output.c
M src/packfile/pf_items.c
M src/platform/generic/exec.c
M src/platform/win32/env.c
M src/pmc/bigint.pmc
M src/pmc/callcontext.pmc
M src/pmc/class.pmc
M src/pmc/complex.pmc
M src/pmc/continuation.pmc
M src/pmc/coroutine.pmc
M src/pmc/eval.pmc
M src/pmc/exceptionhandler.pmc
M src/pmc/key.pmc
M src/pmc/lexpad.pmc
M src/pmc/namespace.pmc
M src/pmc/object.pmc
M src/pmc/orderedhashiterator.pmc
M src/pmc/pmclist.pmc
M src/pmc/scheduler.pmc
M src/pmc/string.pmc
M src/pmc/structview.pmc
M src/pmc/sub.pmc
M src/runcore/profiling.c
M src/scheduler.c
M src/string/api.c
M src/string/encoding.c
M src/string/encoding/shared.c
R t/archive/README
A t/archive/README.pod
M t/benchmark/benchmarks.t
A t/codingstd/case_sensitive_files.t
M t/codingstd/pmc_docs.t
M t/compilers/opsc/01-parse-body.t
M t/dynoplibs/io.t
M t/dynpmc/gziphandle.t
M t/dynpmc/select.t
M t/library/osutils.t
R t/manifest/README
A t/manifest/README.pod
R t/native_pbc/testdata/README
A t/native_pbc/testdata/README.pod
M t/oo/objects.t
M t/op/stringu.t
R t/perl/README
A t/perl/README.pod
M t/pmc/context.t
M t/pmc/filehandle.t
M t/pmc/lexpad.t
M t/pmc/object-meths.t
M t/pmc/parrotio.t
M t/pmc/string.t
M t/pmc/stringhandle.t
M t/pmc/timer.t
R t/run/README
A t/run/README.pod
R t/src/README
A t/src/README.pod
M t/src/basic.t
M t/src/extend.t
M t/steps/auto/icu-01.t
M t/tools/dev/search_ops/samples.pm
M t/tools/install/02-install_files.t
R t/tools/install/testlib/README
A t/tools/install/testlib/README.pod
R t/tools/pmc2cutils/README
A t/tools/pmc2cutils/README.pod
A tools/README.pod
R tools/build/README
A tools/build/README.pod
R tools/dev/README.md
A tools/dev/README.pod
M tools/dev/mk_language_shell.in
M tools/dev/pbc_to_exe.pir
R tools/release/README
A tools/release/README.pod
M tools/release/parrot_github_release.pl
M tools/release/release.json
M tools/release/update_version.pl
Log Message:
-----------
Merge branch 'threads' of github.com:parrot/parrot into threads
Commit: b4e9ae43554f555b50ed09fd7f397a34684b69e5
https://github.com/parrot/parrot/commit/b4e9ae43554f555b50ed09fd7f397a34684b69e5
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-05-16 (Wed, 16 May 2012)
Changed paths:
M t/src/threads_io.t
Log Message:
-----------
Fix threads_io.t not finding Parrot::Config
Commit: 03e14e310b33a9f88c7b253dfb4c2d5c1b732d2e
https://github.com/parrot/parrot/commit/03e14e310b33a9f88c7b253dfb4c2d5c1b732d2e
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-05-16 (Wed, 16 May 2012)
Changed paths:
M src/interp/api.c
Log Message:
-----------
Change HAS_THREADS to the correct PARROT_HAS_THREADS. this enables threaded parrot to build on win32
Commit: 58d737e7c4bc566c17fa7fa223ee5db39d502500
https://github.com/parrot/parrot/commit/58d737e7c4bc566c17fa7fa223ee5db39d502500
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-06-01 (Fri, 01 Jun 2012)
Changed paths:
M src/alarm.c
Log Message:
-----------
Reworked timer handling to fix a race
If after an alarm expires a new alarm was set to the exact same time (now)
Parrot_alarm_runloop would not notice and still wait for new alarms without
notifying any threads. This happened quite often on Windows because
Parrot_floatval_time() gives only millisecond precision there which is an
eternity for a processor.
This reworked version is no longer dependent on any precision.
Commit: 4f8359ff971265713c38935fe2b8edfd98084dc9
https://github.com/parrot/parrot/commit/4f8359ff971265713c38935fe2b8edfd98084dc9
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-06-01 (Fri, 01 Jun 2012)
Changed paths:
M include/parrot/thr_windows.h
Log Message:
-----------
Get Windows COND_TIMED_WAIT closer to POSIX semantics
The other part of the solution to the Windows timer problem
Commit: aad6ae6bc7b70772f0687dfc0135e5aa18dbedb6
https://github.com/parrot/parrot/commit/aad6ae6bc7b70772f0687dfc0135e5aa18dbedb6
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-06-01 (Fri, 01 Jun 2012)
Changed paths:
M t/pmc/task.t
Log Message:
-----------
Activate t/pmc/timer.t on Windows since it actually passes
Commit: cf32e8ab0bf60b8db3f0ed29e386549f329e93da
https://github.com/parrot/parrot/commit/cf32e8ab0bf60b8db3f0ed29e386549f329e93da
Author: Jimmy Zhuo <zhuomingliang at yahoo.com.cn>
Date: 2012-06-08 (Fri, 08 Jun 2012)
Changed paths:
M CREDITS
M ChangeLog
M DONORS.pod
M MANIFEST
M MANIFEST.generated
M README.pod
M README_cygwin.pod
M VERSION
M api.yaml
M compilers/data_json/JSON_README.pod
M compilers/data_json/data_json.pir
M compilers/imcc/imcc.l
M compilers/imcc/imcc.y
M compilers/imcc/imclexer.c
M compilers/imcc/imcparser.c
M compilers/imcc/imcparser.h
M compilers/opsc/src/Ops/File.pm
M compilers/opsc/src/Ops/Op.pm
M compilers/pct/README.pod
M compilers/pge/PGE.pir
M compilers/pge/PGE/Exp.pir
M compilers/pge/PGE/OPTable.pir
M compilers/pge/PGE/Perl6Regex.pir
M compilers/pge/README.pod
M compilers/tge/TGE/Compiler.pir
M compilers/tge/TGE/Grammar.pir
M compilers/tge/tgc.pir
M config/auto/llvm/hello.c
M config/auto/memalign.pm
M config/auto/sizes.pm
M config/auto/sizes/test_c.in
M config/auto/va_ptr.pm
M config/gen/config_h/config_h.in
M config/gen/makefiles/root.in
M docs/binaries/ops2c.pod
M docs/binaries/parrot-nqp.pod
M docs/binaries/parrot-prove.pod
M docs/binaries/parrot_nci_thunk_gen.pod
M docs/binaries/parrotbug.pod
M docs/binaries/pbc_to_exe.pod
M docs/binaries/plumage.pod
M docs/binaries/winxed.pod
M docs/compiler_faq.pod
M docs/debug.pod
M docs/deprecations/deprecations.pod
M docs/deprecations/deprecations_2_6.pod
M docs/deprecations/deprecations_2_9.pod
M docs/deprecations/deprecations_3_0.pod
M docs/deprecations/deprecations_3_3.pod
M docs/deprecations/deprecations_3_6.pod
M docs/deprecations/how_to_deprecate.pod
M docs/dev/byteorder.pod
M docs/dev/c_functions.pod
M docs/dev/coverage.pod
M docs/dev/debugging_with_msvc.pod
M docs/dev/headerizer.pod
M docs/dev/infant.pod
M docs/dev/longopt.pod
M docs/dev/parrot_api.pod
M docs/dev/pcc_methods.pod
M docs/dev/pcc_state.pod
M docs/dev/pmc_freeze.pod
M docs/dev/pmc_obj_design_meeting_notes.pod
M docs/embed_new.pod
M docs/extend.pod
M docs/faq.pod
M docs/gettingstarted.pod
M docs/glossary.pod
M docs/imcc/imcfaq.pod
M docs/intro.pod
M docs/memory_internals.pod
M docs/overview.pod
M docs/parrot.pod
M docs/parrotbyte.pod
M docs/parrothist.pod
M docs/pdds/pdd31_hll.pod
M docs/pmc.pod
M docs/pmc/array.pod
M docs/pmc/documentation.pod
M docs/pmc2c.pod
M docs/porting_intro.pod
M docs/project/cage_cleaners_guide.pod
M docs/project/committer_guide.pod
M docs/project/core_inclusion.pod
M docs/project/debian_packaging_guide.pod
M docs/project/metacommitter_guide.pod
M docs/project/release_manager_guide.pod
M docs/project/roles_responsibilities.pod
M docs/project/support_policy.pod
M docs/project/ubuntu_packaging_guide.pod
M docs/req/model_users.pod
M docs/running.pod
M docs/submissions.pod
M docs/tests.pod
M docs/user/pir/exceptions.pod
M docs/user/pir/intro.pod
M docs/user/pir/objects.pod
M docs/user/pir/pmcs.pod
M docs/vtables.pod
M editor/README.pod
M examples/README.pod
M examples/languages/abc/abc.pir
M examples/languages/abc/src/builtins/all.pir
M examples/languages/squaak/doc/tutorial_episode_1.pod
M examples/languages/squaak/doc/tutorial_episode_2.pod
M examples/languages/squaak/doc/tutorial_episode_3.pod
M examples/languages/squaak/doc/tutorial_episode_4.pod
M examples/languages/squaak/doc/tutorial_episode_5.pod
M examples/languages/squaak/doc/tutorial_episode_6.pod
M examples/languages/squaak/doc/tutorial_episode_7.pod
M examples/languages/squaak/doc/tutorial_episode_8.pod
M examples/languages/squaak/doc/tutorial_episode_9.pod
M examples/languages/squaak/squaak.pir
M examples/languages/squaak/src/squaak.pir
M examples/mops/mops.p6
M examples/mops/mops.rb
M examples/nci/Xlib.pir
M examples/nci/Xlibconstants.pir
M examples/nci/xlibtest.nqp
M examples/nci/xlibtest.p6
M examples/nci/xlibtest.pir
M examples/past/01-sub.pir
M examples/past/four_plus_one.pir
M examples/pir/coop_threads.pir
M examples/sdl/anim_image.pir
M examples/sdl/anim_image_dblbuf.pir
M examples/sdl/blue_font.pir
M examples/sdl/blue_rect.pir
M examples/sdl/blue_rect.pl
M examples/sdl/bounce_parrot_logo.pir
M examples/sdl/mandel.pir
M examples/sdl/minesweeper/eventhandler.pir
M examples/sdl/minesweeper/mines.pir
M examples/sdl/move_parrot_logo.pir
M examples/sdl/raw_pixels.pir
M examples/sdl/tetris/app.pir
M examples/sdl/tetris/block.pir
M examples/sdl/tetris/blockdata.pir
M examples/sdl/tetris/blocks.pir
M examples/sdl/tetris/board.pir
M examples/sdl/tetris/boarddata.pir
M examples/sdl/tetris/eventhandler.pir
M examples/sdl/tetris/tetris.pir
M examples/streams/Bytes.pir
M examples/streams/Combiner.pir
M examples/streams/Coroutine.pir
M examples/streams/FileLines.pir
M examples/streams/Filter.pir
M examples/streams/Include.pir
M examples/streams/Lines.pir
M examples/streams/ParrotIO.pir
M examples/streams/SubCounter.pir
M examples/streams/SubHello.pir
M examples/streams/Writer.pir
M examples/tge/branch/lib/Branch.pir
M examples/tge/branch/lib/Leaf.pir
M examples/tutorial/00_README.pod
M examples/tutorial/01_temp_var.pir
M examples/tutorial/02_local_var.pir
M examples/tutorial/03_temp_var_basic_pmcs.pir
M examples/tutorial/04_pod_comments.pir
M examples/tutorial/10_math_ops.pir
M examples/tutorial/11_math_ops_self_mod.pir
M examples/tutorial/12_math_ops_pasm.pir
M examples/tutorial/13_logical_ops.pir
M examples/tutorial/20_string_ops.pir
M examples/tutorial/21_string_ops_repeat.pir
M examples/tutorial/22_string_ops_length.pir
M examples/tutorial/23_string_ops_substr.pir
M examples/tutorial/24_string_ops_clone.pir
M examples/tutorial/30_arrays_basic.pir
M examples/tutorial/31_array_ops_split.pir
M examples/tutorial/32_array_ops_sprintf.pir
M examples/tutorial/33_hashes.pir
M examples/tutorial/34_multikey.pir
M examples/tutorial/40_file_ops.pir
M examples/tutorial/50_goto.pir
M examples/tutorial/51_if_unless.pir
M examples/tutorial/52_if_compare.pir
M examples/tutorial/53_loop.pir
M examples/tutorial/55_iterator.pir
M examples/tutorial/56_defined.pir
M examples/tutorial/57_exists.pir
M examples/tutorial/60_subroutines.pir
M examples/tutorial/61_namespaces.pir
M examples/tutorial/62_namespaces.pir
M examples/tutorial/70_class_object.pir
M examples/tutorial/81_continuation.pir
M examples/tutorial/82_coroutine.pir
M examples/tutorial/83_external_libraries.pir
M examples/tutorial/90_writing_tests.pir
M ext/winxed/compiler.pir
M ext/winxed/driver.pir
M frontend/parrot2/main.c
M frontend/parrot2/prt0.pir
M include/parrot/api.h
M include/parrot/call.h
M include/parrot/exit.h
M include/parrot/io.h
M include/parrot/misc.h
M include/parrot/oplib/core_ops.h
M include/parrot/pointer_array.h
M include/parrot/string_funcs.h
M lib/Parrot/Headerizer.pm
M lib/Parrot/Test/Pod.pm
M runtime/parrot/include/green_threads.pir
M runtime/parrot/include/hllmacros.pir
M runtime/parrot/include/test_more.pir
M runtime/parrot/languages/parrot/parrot.pir
M runtime/parrot/library/CGI/QueryHash.pir
M runtime/parrot/library/Config/JSON.pir
M runtime/parrot/library/HTTP/Daemon.pir
M runtime/parrot/library/HTTP/Message.pir
M runtime/parrot/library/JSON.pir
M runtime/parrot/library/LWP/Protocol.pir
M runtime/parrot/library/LWP/UserAgent.pir
M runtime/parrot/library/PGE/Dumper.pir
M runtime/parrot/library/Range.pir
M runtime/parrot/library/Stream/Writer.pir
M runtime/parrot/library/String/Utils.pir
M runtime/parrot/library/TAP/Formatter.pir
M runtime/parrot/library/TAP/Harness.pir
M runtime/parrot/library/TAP/Parser.pir
M runtime/parrot/library/Test/Builder/Test.pir
M runtime/parrot/library/URI.pir
M runtime/parrot/library/distutils.pir
M runtime/parrot/library/dumper.pir
M runtime/parrot/library/osutils.pir
M runtime/parrot/library/parrotlib.pir
M src/alarm.c
M src/call/args.c
M src/call/pcc.c
M src/dynext.c
M src/dynpmc/README.pod
M src/embed/api.c
M src/embed/pmc.c
M src/exit.c
M src/gc/fixed_allocator.c
M src/gc/gc_inf.c
M src/gc/gc_ms2.c
M src/gc/string_gc.c
M src/gc/system.c
M src/interp/inter_cb.c
M src/io/api.c
M src/io/socket_api.c
R src/misc.c
M src/ops/core.ops
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/ops/object.ops
M src/platform/generic/socket.c
M src/pmc/addrregistry.pmc
M src/pmc/alarm.pmc
M src/pmc/callback.pmc
M src/pmc/default.pmc
M src/pmc/filehandle.pmc
M src/pmc/handle.pmc
M src/pmc/hash.pmc
M src/pmc/key.pmc
M src/pmc/object.pmc
M src/pmc/resizablepmcarray.pmc
M src/pmc/stringbuilder.pmc
M src/pointer_array.c
M src/runcore/subprof.c
R src/spf_render.c
R src/spf_vtable.c
M src/string/api.c
M src/string/encoding/shared.c
A src/string/spf_private.h
A src/string/spf_render.c
A src/string/spf_vtable.c
A src/string/sprintf.c
M src/vtable.tbl
M t/TESTS_STATUS.pod
M t/codingstd/c_function_docs.t
M t/codingstd/pccmethod_deps.t
M t/codingstd/pod_description.t
M t/compilers/imcc/syn/clash.t
M t/compilers/imcc/syn/tail.t
M t/compilers/opsc/04-op.t
M t/dynoplibs/debug.t
M t/dynoplibs/time.t
M t/examples/streams.t
M t/harness
M t/library/osutils.t
M t/op/sprintf.t
M t/op/time.t
M t/pmc/bignum.t
M t/pmc/filehandle.t
M t/pmc/namespace.t
M t/pmc/opcode.t
M t/pmc/oplib.t
M t/pmc/task_primes.t
M t/run/options.t
M t/src/embed/pmc.t
M t/src/extend_vtable.t
M t/steps/auto/memalign-01.t
M t/steps/auto/sizes-01.t
M t/tools/dump_pbc.t
M tools/README.pod
M tools/dev/merge_pull_request.pl
M tools/dev/mk_inno_language.pl
R tools/dev/pbc_to_exe.pir
A tools/dev/pbc_to_exe.winxed
M tools/release/cut.pl
M tools/release/release.json
Log Message:
-----------
merge master into branch/threads
Commit: 56d4c735056c2549b70d0461fbcef5f3aa4ff740
https://github.com/parrot/parrot/commit/56d4c735056c2549b70d0461fbcef5f3aa4ff740
Author: Jimmy Zhuo <zhuomingliang at yahoo.com.cn>
Date: 2012-06-09 (Sat, 09 Jun 2012)
Changed paths:
M ext/winxed/compiler.pir
M ext/winxed/driver.pir
Log Message:
-----------
Merge branch 'master' into threads
Commit: 32fa9896d9f4a06dd62d0dc5c64c290d06d3fe56
https://github.com/parrot/parrot/commit/32fa9896d9f4a06dd62d0dc5c64c290d06d3fe56
Author: Alvis Yardley <ac.yardley at gmail.com>
Date: 2012-06-10 (Sun, 10 Jun 2012)
Changed paths:
M include/parrot/atomic/gcc_pcc.h
Log Message:
-----------
Make header pass 't/codingstd/pod_description.t'.
Commit: a97c56ad7e15b88c7922561485349470742d4592
https://github.com/parrot/parrot/commit/a97c56ad7e15b88c7922561485349470742d4592
Author: jkeenan <jkeenan at cpan.org>
Date: 2012-06-10 (Sun, 10 Jun 2012)
Changed paths:
M include/parrot/atomic/gcc_pcc.h
M t/codingstd/pod_description.t
Log Message:
-----------
[codingstd] No trailing whitespace. Remmove a TODO.
Commit: bb944b531d64abee1f06f2b9858c99ff1203dbd4
https://github.com/parrot/parrot/commit/bb944b531d64abee1f06f2b9858c99ff1203dbd4
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-07-07 (Sat, 07 Jul 2012)
Changed paths:
M .gitignore
M CREDITS
M ChangeLog
M MANIFEST
M MANIFEST.SKIP
M MANIFEST.generated
M README.pod
M VERSION
M config/auto/icu.pm
M config/auto/pmc.pm
M config/gen/makefiles/root.in
M docs/parrothist.pod
M docs/pdds/draft/pdd01_overview.pod
M docs/pdds/draft/pdd05_opfunc.pod
M docs/pdds/draft/pdd06_pasm.pod
M docs/pdds/draft/pdd08_keys.pod
M docs/pdds/draft/pdd13_bytecode.pod
M docs/pdds/draft/pdd14_numbers.pod
M docs/pdds/draft/pdd16_native_call.pod
M docs/pdds/draft/pdd29_compiler_tools.pod
M docs/pdds/pdd00_pdd.pod
M docs/pdds/pdd03_calling_conventions.pod
M docs/pdds/pdd07_codingstd.pod
M docs/pdds/pdd09_gc.pod
M docs/pdds/pdd10_embedding.pod
M docs/pdds/pdd15_objects.pod
M docs/pdds/pdd17_pmc.pod
M docs/pdds/pdd18_security.pod
M docs/pdds/pdd19_pir.pod
M docs/pdds/pdd20_lexical_vars.pod
M docs/pdds/pdd21_namespaces.pod
M docs/pdds/pdd22_io.pod
M docs/pdds/pdd23_exceptions.pod
M docs/pdds/pdd24_events.pod
M docs/pdds/pdd25_concurrency.pod
M docs/pdds/pdd26_ast.pod
M docs/pdds/pdd27_multiple_dispatch.pod
M docs/pdds/pdd28_strings.pod
M docs/pdds/pdd30_install.pod
M docs/pdds/pdd_template.pod
M docs/project/release_manager_guide.pod
M frontend/parrot2/prt0.pir
M frontend/parrot2/prt0.winxed
M include/parrot/exit.h
M include/parrot/gc_api.h
M include/parrot/interpreter.h
M include/parrot/oplib/core_ops.h
M include/parrot/parrot.h
M include/parrot/platform_interface.h
R lib/Parrot/Pmc2c/Attribute.pm
M lib/Parrot/Pmc2c/Emitter.pm
R lib/Parrot/Pmc2c/MULTI.pm
M lib/Parrot/Pmc2c/Method.pm
R lib/Parrot/Pmc2c/Object.pm
M lib/Parrot/Pmc2c/PCCMETHOD.pm
M lib/Parrot/Pmc2c/PMC.pm
M lib/Parrot/Pmc2c/Parser.pm
M lib/Parrot/Pmc2c/Pmc2cMain.pm
M src/dynoplibs/sys.ops
M src/interp/api.c
M src/ops/core.ops
M src/ops/core_ops.c
M src/platform/generic/misc.c
M src/platform/win32/misc.c
M src/runcore/subprof.c
M t/dynoplibs/sysinfo.t
M t/steps/auto/icu-01.t
M tools/release/parrot_github_release.pl
M tools/release/release.json
Log Message:
-----------
merge from master. There was one conflict in the now-missing lib/Parrot/Pmc2c/Attributes.pm file. I've copied over some relevant bits of that file to the new home, but it doesn't work so I commented it out.
Commit: e77c0bde8c08a6f3a8bc3460ec315a72445dec53
https://github.com/parrot/parrot/commit/e77c0bde8c08a6f3a8bc3460ec315a72445dec53
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-07-14 (Sat, 14 Jul 2012)
Changed paths:
M .gitignore
M CREDITS
M ChangeLog
M MANIFEST
M MANIFEST.SKIP
M MANIFEST.generated
M README.pod
M VERSION
M config/auto/icu.pm
M config/auto/pmc.pm
M config/gen/makefiles/root.in
M docs/parrothist.pod
M docs/pdds/draft/pdd01_overview.pod
M docs/pdds/draft/pdd05_opfunc.pod
M docs/pdds/draft/pdd06_pasm.pod
M docs/pdds/draft/pdd08_keys.pod
M docs/pdds/draft/pdd13_bytecode.pod
M docs/pdds/draft/pdd14_numbers.pod
M docs/pdds/draft/pdd16_native_call.pod
M docs/pdds/draft/pdd29_compiler_tools.pod
M docs/pdds/pdd00_pdd.pod
M docs/pdds/pdd03_calling_conventions.pod
M docs/pdds/pdd07_codingstd.pod
M docs/pdds/pdd09_gc.pod
M docs/pdds/pdd10_embedding.pod
M docs/pdds/pdd15_objects.pod
M docs/pdds/pdd17_pmc.pod
M docs/pdds/pdd18_security.pod
M docs/pdds/pdd19_pir.pod
M docs/pdds/pdd20_lexical_vars.pod
M docs/pdds/pdd21_namespaces.pod
M docs/pdds/pdd22_io.pod
M docs/pdds/pdd23_exceptions.pod
M docs/pdds/pdd24_events.pod
M docs/pdds/pdd25_concurrency.pod
M docs/pdds/pdd26_ast.pod
M docs/pdds/pdd27_multiple_dispatch.pod
M docs/pdds/pdd28_strings.pod
M docs/pdds/pdd30_install.pod
M docs/pdds/pdd_template.pod
M docs/project/release_manager_guide.pod
M frontend/parrot2/prt0.pir
M frontend/parrot2/prt0.winxed
M include/parrot/exit.h
M include/parrot/gc_api.h
M include/parrot/interpreter.h
M include/parrot/oplib/core_ops.h
M include/parrot/parrot.h
M include/parrot/platform_interface.h
R lib/Parrot/Pmc2c/Attribute.pm
M lib/Parrot/Pmc2c/Emitter.pm
R lib/Parrot/Pmc2c/MULTI.pm
M lib/Parrot/Pmc2c/Method.pm
R lib/Parrot/Pmc2c/Object.pm
M lib/Parrot/Pmc2c/PCCMETHOD.pm
M lib/Parrot/Pmc2c/PMC.pm
M lib/Parrot/Pmc2c/Parser.pm
M lib/Parrot/Pmc2c/Pmc2cMain.pm
M src/dynoplibs/sys.ops
M src/interp/api.c
M src/ops/core.ops
M src/ops/core_ops.c
M src/platform/generic/misc.c
M src/platform/win32/misc.c
M src/runcore/subprof.c
M t/dynoplibs/sysinfo.t
M t/steps/auto/icu-01.t
M tools/release/parrot_github_release.pl
M tools/release/release.json
Log Message:
-----------
merge from master. There was one conflict in the now-missing lib/Parrot/Pmc2c/Attributes.pm file. I've copied over some relevant bits of that file to the new home, but it doesn't work so I commented it out.
Commit: e567a21119e1453e694dc8d1e056c3743878b0c0
https://github.com/parrot/parrot/commit/e567a21119e1453e694dc8d1e056c3743878b0c0
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-07-14 (Sat, 14 Jul 2012)
Log Message:
-----------
Merge branch 'threads' of github.com:parrot/parrot into threads
Commit: d215d68d7ec6d6e5685fc7261dc110247af4a287
https://github.com/parrot/parrot/commit/d215d68d7ec6d6e5685fc7261dc110247af4a287
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-07-15 (Sun, 15 Jul 2012)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Move thrading initialization to Parrot_cx_init_scheduler
In embedding situations, control flow may bypass
Parrot_cx_begin_execution (using Parrot_api_pmc_invoke directly). Moving
threading init to Parrot_cx_init_scheduler makes sure it is run for the
first interp.
Commit: 5508c656ab322831ffd37973469fd359c28ad53d
https://github.com/parrot/parrot/commit/5508c656ab322831ffd37973469fd359c28ad53d
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-08-06 (Mon, 06 Aug 2012)
Changed paths:
M CREDITS
M ChangeLog
M MANIFEST
M MANIFEST.generated
M README.pod
M RESPONSIBLE_PARTIES
M VERSION
M config/auto/platform.pm
M config/gen/makefiles/root.in
R docs/index/book.json
M docs/index/index.json
M docs/parrothist.pod
M docs/project/release_manager_guide.pod
M docs/project/release_parrot_github_guide.pod
M include/parrot/compiler.h
M include/parrot/oplib/core_ops.h
M lib/Parrot/Install.pm
M src/nci/libffi.c
M src/ops/core_ops.c
A src/platform/generic/cpu_type.c
M src/platform/generic/misc.c
A src/platform/win32/cpu_type.c
M src/platform/win32/misc.c
M src/pmc/packfile.pmc
M src/pmc/structview.pmc
M t/dynpmc/os.t
M t/pmc/alarm.t
M tools/release/parrot_github_release.pl
M tools/release/release.json
Log Message:
-----------
merge master into threads, fix t/pmc/task.t
eb328cf439325 was wrong
Commit: 8eb84573fd9dca29b977499d6af6dd895163bdd6
https://github.com/parrot/parrot/commit/8eb84573fd9dca29b977499d6af6dd895163bdd6
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-08-09 (Thu, 09 Aug 2012)
Changed paths:
M t/pmc/nci.t
Log Message:
-----------
#808 t/pmc/nci_37.pasm: Avoid sleep deadlock with parrot threads
Commit: f185f0755ba46ce85436e847e25a4f1fbeaa4a48
https://github.com/parrot/parrot/commit/f185f0755ba46ce85436e847e25a4f1fbeaa4a48
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-08-09 (Thu, 09 Aug 2012)
Changed paths:
M compilers/imcc/pbc.c
M examples/sdl/anim_image.pir
M examples/sdl/anim_image_dblbuf.pir
M examples/sdl/blue_font.pir
M examples/sdl/blue_rect.pir
M examples/sdl/bounce_parrot_logo.pir
M examples/sdl/minesweeper/eventhandler.pir
M examples/sdl/minesweeper/mines.pir
M t/codingstd/copyright.t
Log Message:
-----------
Merge remote-tracking branch 'origin/master' into threads
Commit: f1eff708a9a8db82abc4d2e175c7f8b26244fc1c
https://github.com/parrot/parrot/commit/f1eff708a9a8db82abc4d2e175c7f8b26244fc1c
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-08-09 (Thu, 09 Aug 2012)
Changed paths:
M src/alarm.c
Log Message:
-----------
Several code cleanups, more comments, improved documentation for alarm.c. No functional change
Commit: d86d27adfdc83c4bc1b611d4d35e8f4e88c8b56c
https://github.com/parrot/parrot/commit/d86d27adfdc83c4bc1b611d4d35e8f4e88c8b56c
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-08-09 (Thu, 09 Aug 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Small cleanups to thread.c. No functional changes
Commit: 39d88fccb620fbdd52c7ecd504976bc2e5e7a07a
https://github.com/parrot/parrot/commit/39d88fccb620fbdd52c7ecd504976bc2e5e7a07a
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-08-09 (Thu, 09 Aug 2012)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Several small cleanups, comments and a few TODO notes in scheduler.c. No functional changes
Commit: 0a11e2562815ff1a7c6a9e1c068b7034ea49bde6
https://github.com/parrot/parrot/commit/0a11e2562815ff1a7c6a9e1c068b7034ea49bde6
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-08-09 (Thu, 09 Aug 2012)
Changed paths:
M include/parrot/interpreter.h
M src/call/ops.c
Log Message:
-----------
Unshare runloop_id_counter to fix races
runloop_id_counter should be local to the interp instead of global.
There's no reason to share it between threads. Leaving it global was an oversight.
Commit: 345166892af211b7e20973b43bde9be15e6d9ce6
https://github.com/parrot/parrot/commit/345166892af211b7e20973b43bde9be15e6d9ce6
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-08-09 (Thu, 09 Aug 2012)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Merge branch 'threads' of github.com:parrot/parrot into threads
Commit: 78cb4778c85e3c1c7f01aeb4fc5af583bf84b288
https://github.com/parrot/parrot/commit/78cb4778c85e3c1c7f01aeb4fc5af583bf84b288
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-08-09 (Thu, 09 Aug 2012)
Changed paths:
M src/pmc/alarm.pmc
Log Message:
-----------
Cleanup Alarm PMC. Add some comments/docs. Cleanup some code. Add the ability to get the alarm time as a PMC from get_pmc_keyed_int, in case anybody wants to try that.
Commit: 33a45e388f3ca9f329ac61d32d0970ea163a5947
https://github.com/parrot/parrot/commit/33a45e388f3ca9f329ac61d32d0970ea163a5947
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-08-09 (Thu, 09 Aug 2012)
Changed paths:
M src/pmc/scheduler.pmc
M src/pmc/schedulermessage.pmc
Log Message:
-----------
A few small cleanups to scheduler and schedulermessage PMCs. No functional changes
Commit: 5342d651969188f28ea450f560d9bb43c9182258
https://github.com/parrot/parrot/commit/5342d651969188f28ea450f560d9bb43c9182258
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-08-10 (Fri, 10 Aug 2012)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Several small cleanups, comments and a few TODO notes in scheduler.c. No functional changes
Commit: d752612c98239aab90442e0e2d08e149217ac93c
https://github.com/parrot/parrot/commit/d752612c98239aab90442e0e2d08e149217ac93c
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-08-10 (Fri, 10 Aug 2012)
Changed paths:
M include/parrot/interpreter.h
M src/call/ops.c
Log Message:
-----------
Unshare runloop_id_counter to fix races
runloop_id_counter should be local to the interp instead of global.
There's no reason to share it between threads. Leaving it global was an oversight.
Commit: ce49c6cd5559f964e005b40aa308b1fadf7df22f
https://github.com/parrot/parrot/commit/ce49c6cd5559f964e005b40aa308b1fadf7df22f
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-08-10 (Fri, 10 Aug 2012)
Changed paths:
M src/pmc/alarm.pmc
Log Message:
-----------
Cleanup Alarm PMC. Add some comments/docs. Cleanup some code. Add the ability to get the alarm time as a PMC from get_pmc_keyed_int, in case anybody wants to try that.
Commit: 57cee73e094c3ab564e865c3afa6dbcd280f359b
https://github.com/parrot/parrot/commit/57cee73e094c3ab564e865c3afa6dbcd280f359b
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-08-10 (Fri, 10 Aug 2012)
Changed paths:
M src/pmc/scheduler.pmc
M src/pmc/schedulermessage.pmc
Log Message:
-----------
A few small cleanups to scheduler and schedulermessage PMCs. No functional changes
Commit: 56c96dde2523f678ecb576b9617e110075361f91
https://github.com/parrot/parrot/commit/56c96dde2523f678ecb576b9617e110075361f91
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-08-10 (Fri, 10 Aug 2012)
Changed paths:
M t/pmc/nci.t
Log Message:
-----------
[GH #808] Remove sleep calls in nci.t, because of signal deadlocks with parrot threads
Even without sleep calls the tests succeed. But since it loops until the resuilt arrives, let
it busy loop a bit longer.
Note: This is a hack. sleep on threads should be fixed instead.
Commit: 9596588a2e730d67f5984c55a5a213cfdca9e0e2
https://github.com/parrot/parrot/commit/9596588a2e730d67f5984c55a5a213cfdca9e0e2
Author: Whiteknight <wknight8111 at gmail.com>
Date: 2012-08-11 (Sat, 11 Aug 2012)
Changed paths:
M t/pmc/nci.t
Log Message:
-----------
Merge branch 'threads' of github.com:parrot/parrot into threads
Commit: 6c765e196b66930112f090a2c7d9fba94381c1cf
https://github.com/parrot/parrot/commit/6c765e196b66930112f090a2c7d9fba94381c1cf
Author: jkeenan <jkeenan at cpan.org>
Date: 2012-08-11 (Sat, 11 Aug 2012)
Changed paths:
M compilers/imcc/pbc.c
Log Message:
-----------
[codingstd] Conform to line length standard.
Commit: 268567f3470a5fe1014870511001458101dfcfdb
https://github.com/parrot/parrot/commit/268567f3470a5fe1014870511001458101dfcfdb
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-08-14 (Tue, 14 Aug 2012)
Changed paths:
M MANIFEST
M config/gen/makefiles/root.in
M include/parrot/atomic.h
R include/parrot/atomic/gcc_pcc.h
A include/parrot/atomic/gcc_ppc.h
Log Message:
-----------
rename atomic/gcc_pcc.h to atomic/gcc_ppc.h
kid51++ for detecting this. We are referring to ppc the platform, not
pcc the compiler nor pcc the Parrot Calling Conventions.
See http://lists.parrot.org/pipermail/parrot-dev/2012-August/007116.html
Commit: 3f147eeccff2d5af80e3b2c639754be07a019475
https://github.com/parrot/parrot/commit/3f147eeccff2d5af80e3b2c639754be07a019475
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-08-15 (Wed, 15 Aug 2012)
Changed paths:
M lib/Parrot/Pmc2c/PMC/Proxy.pm
Log Message:
-----------
Add some description to Parrot::Pmc2c::PMC::Proxy
Commit: 276a2f836aae7952e232da34c33129fa0d512d71
https://github.com/parrot/parrot/commit/276a2f836aae7952e232da34c33129fa0d512d71
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-08-15 (Wed, 15 Aug 2012)
Changed paths:
M src/scheduler.c
Log Message:
-----------
Merge branch 'threads' of github.com:niner/parrot into threads
Conflicts:
src/scheduler.c
Commit: 25acd5aeba93935690e002a005c99ceb006afdfb
https://github.com/parrot/parrot/commit/25acd5aeba93935690e002a005c99ceb006afdfb
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-08-15 (Wed, 15 Aug 2012)
Changed paths:
M MANIFEST
M compilers/imcc/pbc.c
M config/gen/makefiles/root.in
M include/parrot/atomic.h
R include/parrot/atomic/gcc_pcc.h
A include/parrot/atomic/gcc_ppc.h
M src/pmc/alarm.pmc
M src/pmc/scheduler.pmc
M src/pmc/schedulermessage.pmc
M t/pmc/nci.t
Log Message:
-----------
Merge branch 'threads' of github.com:parrot/parrot into threads
Commit: 194fc35a26c10766d9cb925d9ce5b94742dc3aee
https://github.com/parrot/parrot/commit/194fc35a26c10766d9cb925d9ce5b94742dc3aee
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-08-28 (Tue, 28 Aug 2012)
Changed paths:
M CREDITS
M ChangeLog
M MANIFEST
M MANIFEST.generated
M README.pod
M VERSION
M compilers/imcc/debug.c
M compilers/imcc/imcc.l
M compilers/imcc/imclexer.c
M config/auto/warnings.pm
M config/gen/makefiles/root.in
M docs/dev/profiling.pod
M docs/parrothist.pod
M docs/project/release_manager_guide.pod
M ext/winxed/compiler.pir
M include/parrot/io.h
M include/parrot/oplib/core_ops.h
M include/parrot/packfile.h
M include/parrot/platform_interface.h
M lib/Parrot/Pmc2c/PMC/default.pm
M src/dynext.c
M src/dynoplibs/io.ops
M src/exceptions.c
M src/exit.c
M src/gc/mark_sweep.c
M src/interp/api.c
M src/io/api.c
M src/io/buffer.c
R src/io/core.c
M src/io/filehandle.c
M src/io/io_private.h
A src/io/pipe.c
A src/io/socket.c
R src/io/socket_api.c
A src/io/stringhandle.c
A src/io/userhandle.c
A src/io/utilities.c
M src/ops/core_ops.c
M src/packfile/api.c
M src/platform/generic/io.c
M src/platform/generic/socket.c
M src/platform/win32/io.c
M src/pmc/filehandle.pmc
M src/pmc/handle.pmc
M src/pmc/packfile.pmc
M src/pmc/packfileview.pmc
M src/pmc/sockaddr.pmc
M src/pmc/socket.pmc
M src/pmc/stringhandle.pmc
M src/runcore/cores.c
M t/codingstd/c_arg_assert.t
M t/dynpmc/select.t
M t/op/exceptions.t
M t/pmc/filehandle.t
M t/pmc/io.t
M t/pmc/socket.t
M t/pmc/stringhandle.t
M t/src/checkdepend.t
M t/src/embed/api.t
M tools/dev/mk_inno_language.pl
M tools/dev/pbc_to_exe.winxed
M tools/release/release.json
Log Message:
-----------
resolve io_cleanup1 merge conflict in Makefile
Commit: e1d4c06a417e332ba038cfc0d3e0ba23f5195fa6
https://github.com/parrot/parrot/commit/e1d4c06a417e332ba038cfc0d3e0ba23f5195fa6
Author: Andy Dougherty <doughera at lafayette.edu>
Date: 2012-08-29 (Wed, 29 Aug 2012)
Changed paths:
M src/alarm.c
Log Message:
-----------
Fix alarm.c racy sleep_cond with threads
I've never really done any threads programming, so I could be quite off
here, but it looks to me as if there's a race condition in src/alarm.c in
the threads branch. Specifically, Parrot_alarm_init() creates a thread
that checks sleep_cond before it initializes sleep_cond. (Similar remarks
hold for alarm_lock.)
rurban: This fixed the deadlock in the sleep Timer task, but there
are still race conditions.
See http://lists.parrot.org/pipermail/parrot-dev/2012-August/007163.html
Commit: 2206f235621c03bf553101309002120f3d412edb
https://github.com/parrot/parrot/commit/2206f235621c03bf553101309002120f3d412edb
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-08-30 (Thu, 30 Aug 2012)
Changed paths:
M include/parrot/thread.h
M src/alarm.c
M src/pmc/task.pmc
M src/scheduler.c
M src/thread.c
Log Message:
-----------
Fix two threads races, SHIM unused interp
threads_array when a thread is add is now protected via a global mutex.
tdata->mailbox also needs a lock.
Several interp arguments are gone.
Commit: 5709835825a49733fd5180aaf35462e230d486ed
https://github.com/parrot/parrot/commit/5709835825a49733fd5180aaf35462e230d486ed
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-09-02 (Sun, 02 Sep 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
threads: revert threads_mutex
This race case was very unlikely, and it causes problems on Windows.
Commit: 3afbe7de92e182d6deed10a77bdac6387168133f
https://github.com/parrot/parrot/commit/3afbe7de92e182d6deed10a77bdac6387168133f
Author: Tadeusz Sośnierz <tadzikes at gmail.com>
Date: 2012-09-03 (Mon, 03 Sep 2012)
Changed paths:
M lib/Parrot/Configure/Options.pm
Log Message:
-----------
Cry when Configure.pl is given a relative path. Probably works for Unixes only
Commit: c504a0a6c255cbe978018e8dc4a853e489a7eda6
https://github.com/parrot/parrot/commit/c504a0a6c255cbe978018e8dc4a853e489a7eda6
Author: jkeenan <jkeenan at cpan.org>
Date: 2012-09-03 (Mon, 03 Sep 2012)
Changed paths:
M lib/Parrot/Configure/Options.pm
M t/configure/001-options.t
Log Message:
-----------
Let's try using a File::Spec function for testing for absoluteness. Add a regression test for invalid value to '--prefix'.
Commit: a54a581d2392a885c70093349382b5da696ec4dd
https://github.com/parrot/parrot/commit/a54a581d2392a885c70093349382b5da696ec4dd
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-09-06 (Thu, 06 Sep 2012)
Changed paths:
M .gitignore
M ChangeLog
M Configure.pl
M MANIFEST
M MANIFEST.SKIP
M MANIFEST.generated
M PBC_COMPAT
M config/auto/arch.pm
M config/auto/pmc.pm
M config/auto/sizes.pm
M config/auto/warnings.pm
M config/gen/config_pm/config_pir.in
M config/gen/core_pmcs.pm
M config/gen/makefiles/root.in
M config/init/hints.pm
M config/init/hints/mswin32.pm
M config/init/hints/vms.pm
M config/init/manifest.pm
M examples/library/md5sum.pir
M examples/pir/io.pir
M examples/tutorial/40_file_ops.pir
M frontend/parrot/main.c
M frontend/pbc_dump/main.c
M lib/Parrot/Configure/Compiler.pm
M lib/Parrot/Configure/Messages.pm
M lib/Parrot/Configure/Utils.pm
M lib/Parrot/IO/File.pm
M lib/Parrot/Test.pm
M runtime/parrot/library/TAP/Parser.pir
M runtime/parrot/library/osutils.pir
M runtime/parrot/library/parrotlib.pir
M src/dynpmc/Defines.in
M src/dynpmc/Rules.in
M src/dynpmc/os.pmc
M src/io/utilities.c
M src/platform/win32/io.c
M src/pmc/float.pmc
M src/pmc/integer.pmc
A src/pmc/os.pmc
M t/codingstd/filenames.t
M t/codingstd/pccmethod_deps.t
M t/compilers/opsc/02-parse-all-ops.t
M t/dynoplibs/io.t
M t/dynpmc/file.t
M t/dynpmc/gziphandle.t
R t/dynpmc/os.t
R t/dynpmc/os_unicode.t
M t/library/nciutils.t
M t/native_pbc/integer_1.pbc
M t/native_pbc/integer_2.pbc
M t/native_pbc/integer_4.pbc
M t/native_pbc/number_1.pbc
M t/native_pbc/number_2.pbc
M t/native_pbc/number_4.pbc
M t/native_pbc/string_1.pbc
M t/native_pbc/string_2.pbc
M t/native_pbc/string_4.pbc
A t/native_pbc/testdata/integer.pasm
M t/oo/methods.t
M t/perl/Parrot_IO.t
M t/pmc/filehandle.t
M t/pmc/nci.t
A t/pmc/os.t
A t/pmc/os_unicode.t
M t/src/extend_vtable.t
M t/steps/gen/makefiles-01.t
M tools/dev/dedeprecator.nqp
M tools/dev/mk_native_pbc
M tools/dev/pbc_to_exe.winxed
M tools/release/update_version.pl
Log Message:
-----------
Merge remote-tracking branch 'origin/master' into threads
Compare: https://github.com/parrot/parrot/compare/a3f99d31110f...a54a581d2392
More information about the parrot-commits
mailing list