[parrot/parrot] 0fc4be: [gc] fix SIGBUS in GC trace_mem_block on alignment...
GitHub
noreply at github.com
Sun Feb 8 11:09:13 UTC 2015
Branch: refs/heads/smoke-me/gc-ptrdiff-gh1200
Home: https://github.com/parrot/parrot
Commit: 0fc4befcf67fc23e64348bd10a7430b9c8562989
https://github.com/parrot/parrot/commit/0fc4befcf67fc23e64348bd10a7430b9c8562989
Author: Reini Urban <rurban at cpanel.net>
Date: 2015-02-08 (Sun, 08 Feb 2015)
Changed paths:
M ChangeLog
M src/gc/system.c
Log Message:
-----------
[gc] fix SIGBUS in GC trace_mem_block on alignment-strict CPUs (armv5)
We traced all mem and stack pointers +1 and not by +4 or +8. This is not
only a huge performance loss, it is also illegal on certain RISC
architectures. ptrdiff_t is not a pointer, it is an integer.
use size_t* instead.
Note that this is not repro in qemu, even not with echo 5>/proc/cpu/alignment
on armv5-linux.
Should fix GH #1200.
More information about the parrot-commits
mailing list