[parrot/parrot] 330464: Merge branch 'master' into green_threads

GitHub noreply at github.com
Mon Sep 24 23:47:51 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


  Commit: 3d2a484d3e57e9752110acab20409c24806a396d
      https://github.com/parrot/parrot/commit/3d2a484d3e57e9752110acab20409c24806a396d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-12 (Wed, 12 Sep 2012)

  Changed paths:
    M src/dynpmc/Defines.in
    M src/dynpmc/Rules.in

  Log Message:
  -----------
  dynpmc/os: actually build this dummy pmc for loadlib "os" backcompat


  Commit: 39f8f91234beb23a3b8ba39a87852bb1c6de42d0
      https://github.com/parrot/parrot/commit/39f8f91234beb23a3b8ba39a87852bb1c6de42d0
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-09-12 (Wed, 12 Sep 2012)

  Changed paths:
    M include/parrot/alarm.h
    M include/parrot/thread.h
    M src/alarm.c
    M src/thread.c

  Log Message:
  -----------
  Add ASSERT_ARGS() to two files; re-run 'make headerizer.'


  Commit: 80b05d7d0befd62a1c109cd70364790fd0cc73b4
      https://github.com/parrot/parrot/commit/80b05d7d0befd62a1c109cd70364790fd0cc73b4
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-09-13 (Thu, 13 Sep 2012)

  Changed paths:
    M MANIFEST.generated

  Log Message:
  -----------
  Merge branch 'master' of git at github.com:parrot/parrot


  Commit: a2f9ec690abbafb820e2738b0930f9f02bb522fd
      https://github.com/parrot/parrot/commit/a2f9ec690abbafb820e2738b0930f9f02bb522fd
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-09-16 (Sun, 16 Sep 2012)

  Changed paths:
    M MANIFEST
    M config/gen/makefiles/root.in
    M lib/Parrot/Test.pm
    M src/dynpmc/Rules.in
    R src/dynpmc/os.pmc
    A src/dynpmc/osdummy.pmc
    M t/src/checkdepend.t
    M t/src/extend.t

  Log Message:
  -----------
  Merge branch 'master' of git at github.com:parrot/parrot


  Commit: 759134394672f60e9d98cc1e75ea477269564417
      https://github.com/parrot/parrot/commit/759134394672f60e9d98cc1e75ea477269564417
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-09-17 (Mon, 17 Sep 2012)

  Changed paths:
    M .travis.yml
    M src/ops/core_ops.c
    M src/ops/experimental.ops
    M t/op/sprintf.t
    M t/op/string.t
    M t/perl/Parrot_IO.t

  Log Message:
  -----------
  Merge branch 'master' of git at github.com:parrot/parrot


  Commit: 2e51418faf089e25ad797e84751195c10cb27d26
      https://github.com/parrot/parrot/commit/2e51418faf089e25ad797e84751195c10cb27d26
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-09-18 (Tue, 18 Sep 2012)

  Changed paths:
    M CREDITS
    M ChangeLog
    M MANIFEST.generated
    M README.pod
    M RESPONSIBLE_PARTIES
    M VERSION
    M docs/parrothist.pod
    M docs/project/release_manager_guide.pod
    M include/parrot/oplib/core_ops.h
    M src/ops/core_ops.c
    M t/src/checkdepend.t
    M tools/release/release.json

  Log Message:
  -----------
  Merge branch 'master' of git at github.com:parrot/parrot


  Commit: a6856ac50395cdbc1a3f39b2e06698a69c49e424
      https://github.com/parrot/parrot/commit/a6856ac50395cdbc1a3f39b2e06698a69c49e424
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-09-22 (Sat, 22 Sep 2012)

  Changed paths:
    M ChangeLog
    M MANIFEST
    M compilers/imcc/optimizer.c
    M docs/project/release_manager_guide.pod
    A examples/benchmarks/stress_strings1.pir
    A examples/benchmarks/stress_stringsu.pir
    M src/pmc/bytebuffer.pmc
    M src/string/api.c
    M t/op/stringu.t
    M t/pmc/bytebuffer.t
    A t/pmc/bytebuffer2.t
    M tools/release/parrot_github_release.pl

  Log Message:
  -----------
  Merge branch 'master' of git at github.com:parrot/parrot


  Commit: f2d576e0e3bd3991e16bf9b04586b82d3094b7f6
      https://github.com/parrot/parrot/commit/f2d576e0e3bd3991e16bf9b04586b82d3094b7f6
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-09-22 (Sat, 22 Sep 2012)

  Changed paths:
    M src/pmc/bytebuffer.pmc

  Log Message:
  -----------
  Merge branch 'master' of git at github.com:parrot/parrot


  Commit: cf0daed934837387e4b4d1ac5f562d53cf9e325e
      https://github.com/parrot/parrot/commit/cf0daed934837387e4b4d1ac5f562d53cf9e325e
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-09-23 (Sun, 23 Sep 2012)

  Changed paths:
    M ChangeLog
    M Configure.pl
    M config/auto/libffi.pm
    M config/gen/config_pm.pm
    M config/gen/config_pm/config_lib_pir.in
    M src/platform/generic/cpu_type.c
    M src/pmc/bytebuffer.pmc
    M t/steps/auto/libffi-01.t

  Log Message:
  -----------
  Merge branch 'master' of git at github.com:parrot/parrot


  Commit: ebe1e7c61a046956d2d1e14ed519ab070a242882
      https://github.com/parrot/parrot/commit/ebe1e7c61a046956d2d1e14ed519ab070a242882
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-09-24 (Mon, 24 Sep 2012)

  Changed paths:
    M ChangeLog
    M Configure.pl
    M config/auto/warnings.pm
    M config/gen/makefiles/root.in
    M runtime/parrot/library/MIME/Base64.pir
    M t/library/mime_base64.t

  Log Message:
  -----------
  Had to resolve merge conflicts in root.in.


Compare: https://github.com/parrot/parrot/compare/20cb7e89d7df...ebe1e7c61a04


More information about the parrot-commits mailing list