[parrot/parrot] e2648b: [pmc] rpa: fix custom_mark_destroy confusion
GitHub
noreply at github.com
Thu Jan 22 09:23:34 UTC 2015
Branch: refs/heads/smoke-me/thread-lock-gh1187
Home: https://github.com/parrot/parrot
Commit: e2648b6a3e3c7a3af64a30106bf4fa44a55c85fc
https://github.com/parrot/parrot/commit/e2648b6a3e3c7a3af64a30106bf4fa44a55c85fc
Author: Reini Urban <rurban at cpanel.net>
Date: 2015-01-22 (Thu, 22 Jan 2015)
Changed paths:
M include/parrot/pobj.h
M src/pmc/resizablepmcarray.pmc
Log Message:
-----------
[pmc] rpa: fix custom_mark_destroy confusion
custom_mark_destroy is only needed in the init method, which is fpa.set_integer_native.
optimize PObj_custom_mark_destroy_SETALL to use only one setter call.
Commit: 4d173dba22a0247ccdc26eab538541381b9844d2
https://github.com/parrot/parrot/commit/4d173dba22a0247ccdc26eab538541381b9844d2
Author: Reini Urban <rurban at cpanel.net>
Date: 2015-01-22 (Thu, 22 Jan 2015)
Changed paths:
M include/parrot/atomic/gcc_x86.h
M src/atomic/gcc_x86.c
Log Message:
-----------
[atomic] cannot mix PARROT_EXPORT + PARROT_INLINE
remove the INLINE
Commit: 966da7474ce0ee7958473fcd84472b48be47e6d3
https://github.com/parrot/parrot/commit/966da7474ce0ee7958473fcd84472b48be47e6d3
Author: Reini Urban <rurban at cpanel.net>
Date: 2015-01-22 (Thu, 22 Jan 2015)
Changed paths:
M include/parrot/packfile.h
M src/gc/mark_sweep.c
M src/packfile/api.c
Log Message:
-----------
[GC] fix GC segfault with --optimize
A wrong PARROT_CANNOT_RETURN_NULL in Parrot_pf_get_current_code_segment
(unchecked return of inter->code, which can be null) causes GC segfaults
when inter->code == NULL.
Fixes GH #1186.
This wrong PARROT_CANNOT_RETURN_NULL was added with 3.6.0
in 7dc0e2276d3612afd at Wed Jun 29 20:52:24 2011
but started being fatal after the new packfile refactor with 7.0,
when the cc optimizer started optimizing away the bc != NULL check
in mark_code_segment()
Commit: fe3b31127ddd8d2cdcb82a0a0865e1a5b4ee46a0
https://github.com/parrot/parrot/commit/fe3b31127ddd8d2cdcb82a0a0865e1a5b4ee46a0
Author: Reini Urban <rurban at cpanel.net>
Date: 2015-01-22 (Thu, 22 Jan 2015)
Changed paths:
M src/gc/mark_sweep.c
Log Message:
-----------
[GC] optimize away a Parrot_pf_get_current_code_segment call
This was the call with the wrong CANNOT_RETURN_NULL attribute, causing GH #1186.
We only need inter->code, and it can be const. The const_table also
Commit: bd482083f71fa8c7a0bd0ae80472739318a24241
https://github.com/parrot/parrot/commit/bd482083f71fa8c7a0bd0ae80472739318a24241
Author: Reini Urban <rurban at cpanel.net>
Date: 2015-01-22 (Thu, 22 Jan 2015)
Changed paths:
M src/gc/gc_gms.c
Log Message:
-----------
[threads] fix deadlock in gc_gms_mark_and_sweep
move the lock downwards to the guard. Fixes GH #1187
Commit: 2ef09ef408c93a54702a29b1e99f8501381c22a1
https://github.com/parrot/parrot/commit/2ef09ef408c93a54702a29b1e99f8501381c22a1
Author: Reini Urban <rurban at cpanel.net>
Date: 2015-01-22 (Thu, 22 Jan 2015)
Changed paths:
M src/gc/gc_gms.c
Log Message:
-----------
threads: refactor thread locks in the GC
Simplify GC locks to new macros:
- THREAD_COND_{UN,}LOCK only if locked/lockable (with the self->locked guard)
- THREAD_{UN,}LOCK unconditionally (race free).
Compare: https://github.com/parrot/parrot/compare/e2648b6a3e3c^...2ef09ef408c9
More information about the parrot-commits
mailing list