[parrot/parrot] f6ae12: Merge branch 'master' into threads
noreply at github.com
noreply at github.com
Thu Dec 8 12:58:22 UTC 2011
Branch: refs/heads/threads
Home: https://github.com/parrot/parrot
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.
Compare: https://github.com/parrot/parrot/compare/5e5d2cd...72907ae
More information about the parrot-commits
mailing list