[Pcre-svn] [1322] code/trunk: Try madvise first before posix…

トップ ページ
このメッセージを削除
著者: Subversion repository
日付:  
To: pcre-svn
題目: [Pcre-svn] [1322] code/trunk: Try madvise first before posix_madvise.
Revision: 1322
          http://vcs.pcre.org/viewvc?view=rev&revision=1322
Author:   zherczeg
Date:     2013-05-01 20:42:31 +0100 (Wed, 01 May 2013)


Log Message:
-----------
Try madvise first before posix_madvise.

Modified Paths:
--------------
    code/trunk/ChangeLog
    code/trunk/sljit/sljitUtils.c


Modified: code/trunk/ChangeLog
===================================================================
--- code/trunk/ChangeLog    2013-05-01 16:40:58 UTC (rev 1321)
+++ code/trunk/ChangeLog    2013-05-01 19:42:31 UTC (rev 1322)
@@ -145,7 +145,9 @@
     of the compiled pattern block, expand the flags field from 16 to 32 bits
     because it was almost full.


+39. Try madvise first before posix_madvise.

+
Version 8.32 30-November-2012
-----------------------------


Modified: code/trunk/sljit/sljitUtils.c
===================================================================
--- code/trunk/sljit/sljitUtils.c    2013-05-01 16:40:58 UTC (rev 1321)
+++ code/trunk/sljit/sljitUtils.c    2013-05-01 19:42:31 UTC (rev 1322)
@@ -315,12 +315,12 @@
     aligned_new_limit = (new_limit + sljit_page_align) & ~sljit_page_align;
     aligned_old_limit = (stack->limit + sljit_page_align) & ~sljit_page_align;
     /* If madvise is available, we release the unnecessary space. */
-#if defined(POSIX_MADV_DONTNEED)
+#if defined(MADV_DONTNEED)
     if (aligned_new_limit < aligned_old_limit)
+        madvise((void*)aligned_new_limit, aligned_old_limit - aligned_new_limit, MADV_DONTNEED);
+#elif defined(POSIX_MADV_DONTNEED)
+    if (aligned_new_limit < aligned_old_limit)
         posix_madvise((void*)aligned_new_limit, aligned_old_limit - aligned_new_limit, POSIX_MADV_DONTNEED);
-#elif defined(MADV_DONTNEED)
-    if (aligned_new_limit < aligned_old_limit)
-        madvise((void*)aligned_new_limit, aligned_old_limit - aligned_new_limit, MADV_DONTNEED);
 #endif
     stack->limit = new_limit;
     return 0;