2015-09-02 16:11 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* include/hbdefs.h
    * changed reference 32-bit reference counters in Win64 builds to 64-bit
      ones. It resolves problems with data alignment in memory allocated
      by hb_xgrab().

  * src/vm/asort.c
    * removed hack for MinGW64 build from new array sort code,
      after switching to 64bit reference counters it should not
      be longer necessary because allocated that has 64bit alignment
This commit is contained in:
Przemysław Czerpak
2015-09-02 16:11:24 +02:00
parent 38af08e97d
commit 3fc5e437d9
3 changed files with 26 additions and 14 deletions

View File

@@ -281,13 +281,7 @@ static void hb_arraySortStart( PHB_BASEARRAY pBaseArray, PHB_ITEM pBlock,
pBuffer = ( HB_SIZE * ) hb_xgrab( sizeof( HB_SIZE ) * 2 * nCount );
for( nPos = 0; nPos < nCount; ++nPos )
{
#ifdef __MINGW64__
/* added dummy function call to disable buggy optimization in MinGW64 */
hb_gcDummyMark( NULL );
#endif
pBuffer[ nPos ] = nStart + nPos;
}
if( hb_arraySortDO( pBaseArray, pBlock, pBuffer, &pBuffer[ nCount ], nCount ) )
pPos = ( pDest = pBuffer ) + nCount;