diff options
author | zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2013-05-01 19:42:31 +0000 |
---|---|---|
committer | zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2013-05-01 19:42:31 +0000 |
commit | 3664d442e9e4d00efd8e0b8efcf78df9dd42a619 (patch) | |
tree | f476cf8fe8ec6e0758fcefcaa70717b375f01fa6 | |
parent | 86168ea23eff24f52afc7be8998212611e214bac (diff) | |
download | pcre-3664d442e9e4d00efd8e0b8efcf78df9dd42a619.tar.gz |
Try madvise first before posix_madvise.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1322 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | sljit/sljitUtils.c | 8 |
2 files changed, 6 insertions, 4 deletions
@@ -145,6 +145,8 @@ Version 8.33 28-April-2013 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 ----------------------------- diff --git a/sljit/sljitUtils.c b/sljit/sljitUtils.c index 1f023fa..b29b403 100644 --- a/sljit/sljitUtils.c +++ b/sljit/sljitUtils.c @@ -315,12 +315,12 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_sw SLJIT_CALL sljit_stack_resize(struct sljit_sta 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 (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 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); #endif stack->limit = new_limit; return 0; |