[parrot/parrot] 5165f6: Don't create proxies for PMCNULL results lest PMC_...
GitHub
noreply at github.com
Sun Mar 11 12:17:16 UTC 2012
Branch: refs/heads/threads
Home: https://github.com/parrot/parrot
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
Compare: https://github.com/parrot/parrot/compare/f29b241...7b7202e
More information about the parrot-commits
mailing list