patch is ok for apply. JonY could take care? (thanks i  advance)

Thanks
Kai
Am 02.06.2013 23:26 schrieb "dw" <limegreenso...@yahoo.com>:

> I have found some problems with the InterlockedBitTestAndXXX functions.
>  For example:
>
> - Despite sezero's recent update, they still don't all have the "memory"
> clobber.
> - The constraints for the 64bit versions are incorrect (I vs J).
> - There is no library definition for interlockedbittestandcomplemen**t64.
>
> For these reasons (among others), I have created the attached patch.
>  Specifically it includes:
>
> Fixes for:
> InterlockedBitTestAndSet, InterlockedBitTestAndReset,
> InterlockedBitTestAndComplemen**t,
> InterlockedBitTestAndSet64, InterlockedBitTestAndReset64,
> InterlockedBitTestAndComplemen**t64
> _interlockedbittestandset, _interlockedbittestandreset, _**
> interlockedbittestandcomplemen**t
> _interlockedbittestandset64, _interlockedbittestandreset64, _**
> interlockedbittestandcomplemen**t64
>
> - While sezero recently added the (required) "memory" clobber to a number
> of the InterlockedBitTestXXX methods, he didn't get all of them.  Using the
> macro for defining these methods makes them all consistent.
> - The Bit parameter uses the "I" constraint on both 32bit and 64bit.
>  64bit should use "J".
> - Use symbolic names for asm statement for clarity.
> - Support both att and intel dialects of assembler in public headers.
> - InterlockedBitTestAndSet and _interlockedbittestandset were mapped to
> each other via #define.  However they should have different prototypes.
>  This patch declares InterlockedBitTestAndSet (and related) with p1 as
> volatile, which is consistent with the MSVC definition.  In the crt, these
> are implemented with 'alias.'  The inlines both use the same macro.
> - Adds declarations for all methods in intrin.h.
> - There was no library definition for interlockedbittestandcomplemen**t64.
>  This required a new file.
> - As with my other recent patches, this one uses macros so all
> implementations (winnt.h and crt) use the same code.
>
> Cleanup:
> - My previous patches have been using the cpp comment style (//).  I have
> replaced that with c style (/* */) to be consistent with the rest of the
> file.
> - I have renamed the file macro for intrin-mac.h from _INTRIN-MAC_ to
> _INTRIN_MAC_.  I'm not sure why this ever worked.
> - I have added comments to intrin-mac.h describing the parameters for the
> macros from previous patches.
>
> dw
>
>
> ------------------------------------------------------------------------------
> Get 100% visibility into Java/.NET code with AppDynamics Lite
> It's a free troubleshooting tool designed for production
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://p.sf.net/sfu/appdyn_d2d_ap2
> _______________________________________________
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
>
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to