[Gc] libatomic_ops: patch improving VC++ WinCE ARM support
ivmai at mail.ru
Fri Aug 28 14:53:11 PDT 2009
This small patch (ivmai123.diff) improves msftc/arm.c (and adds support for pre-ARMv6).
The patch is against the CVS plus diff110 [Aug 6] applied.
libatomic_ops ChangeLog entries:
* src/atomic_ops/sysdeps/msftc/arm.h: Add FIXME for InterlockedOps
(regarding memory barrier).
* src/atomic_ops/sysdeps/msftc/arm.h: Don't recognize
AO_ASSUME_ARM_ARCH6 anymore; check for _M_ARM >= 6 instead.
* src/atomic_ops/sysdeps/msftc/arm.h (AO_nop_full,
AO_test_and_set): Replace FIXME with the comment saying it is
emulated (in generalize.h); include test_and_set_t_is_ao_t.h.
* src/atomic_ops/sysdeps/msftc/arm.h (AO_store_full): Implement
using InterlockedCompareExchange() (assuming the latter has a full
mbar) for ARMv6+.
* src/atomic_ops/sysdeps/msftc/arm.h: Include
all_atomic_load_store.h and test_and_set_t_is_ao_t.h for the case
of pre-ARMv6; add the comment.
Note 1: The inline asm is not used (since unsupported by VC++ for ARM).
Note 2: The main Q remains: Do _InterlockedOps really have a full memory barrier on WinCE?
Note 3: The code is used by GC only if PARALLEL_MARK (both pre-ARMv6 and ARMv6+ are supported).
Note 4: The code is untested on a real hardware (for now).
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 2413 bytes
Desc: not available
Url : https://napali.hpl.hp.com/pipermail/gc/attachments/20090829/d17c7352/ivmai123.obj
More information about the Gc