]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 19 Apr 2012 13:46:33 +0000 (13:46 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 19 Apr 2012 13:46:33 +0000 (13:46 +0000)
MagickCore/Makefile.am
MagickCore/memory-private.h [new file with mode: 0644]
MagickCore/memory.c
MagickCore/semaphore.c
MagickCore/version.h
Makefile.in
config/ImageMagick.rdf
config/configure.xml
configure

index 87f3e23ea5e6bd2da200bd30f7653a7ba909c9e6..ddaa0dbeacd6383d8bd1fb8538feb0f83b7a5689 100644 (file)
@@ -163,6 +163,7 @@ MAGICKCORE_BASE_SRCS = \
        MagickCore/matrix-private.h \
        MagickCore/memory.c \
        MagickCore/memory_.h \
+       MagickCore/memory-private.h \
        MagickCore/method-attribute.h \
        MagickCore/methods.h \
        MagickCore/mime.c \
@@ -411,6 +412,7 @@ MAGICKCORE_NOINST_HDRS = \
        MagickCore/magick-private.h \
        MagickCore/magic-private.h \
        MagickCore/matrix-private.h \
+       MagickCore/memory-private.h \
        MagickCore/methods-private.h \
        MagickCore/mime-private.h \
        MagickCore/mime-private.h \
diff --git a/MagickCore/memory-private.h b/MagickCore/memory-private.h
new file mode 100644 (file)
index 0000000..d711a20
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+  Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization
+  dedicated to making software imaging solutions freely available.
+  
+  You may not use this file except in compliance with the License.
+  obtain a copy of the License at
+  
+    http://www.imagemagick.org/script/license.php
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  MagickCore private memory methods.
+*/
+#ifndef _MAGICKCORE_MEMORY_PRIVATE_H
+#define _MAGICKCORE_MEMORY_PRIVATE_H
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+#define CACHE_LINE_SIZE  (16*sizeof(void *))
+#define CacheAlign(size)  ((size) < CACHE_LINE_SIZE ? CACHE_LINE_SIZE : (size))
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#endif
index 05e674fc1bc499c3460db2d59ac1af90775a03fc..b29ea0f3565548befa813974dcaac977e94422d2 100644 (file)
@@ -59,6 +59,7 @@
 #include "MagickCore/exception.h"
 #include "MagickCore/exception-private.h"
 #include "MagickCore/memory_.h"
+#include "MagickCore/memory-private.h"
 #include "MagickCore/semaphore.h"
 #include "MagickCore/string_.h"
 \f
@@ -70,7 +71,6 @@
 #define BlockHeader(block)  ((size_t *) (block)-1)
 #define BlockSize  4096
 #define BlockThreshold  1024
-#define AlignedSize  (16*sizeof(void *))
 #define MaxBlockExponent  16
 #define MaxBlocks ((BlockThreshold/(4*sizeof(size_t)))+MaxBlockExponent+1)
 #define MaxSegments  1024
@@ -186,14 +186,6 @@ static MagickBooleanType
 %    o quantum: the number of bytes in each quantum.
 %
 */
-
-static inline size_t MagickMax(const size_t x,const size_t y)
-{
-  if (x > y)
-    return(x);
-  return(y);
-}
-
 MagickExport void *AcquireAlignedMemory(const size_t count,const size_t quantum)
 {
   size_t
@@ -210,11 +202,11 @@ MagickExport void *AcquireAlignedMemory(const size_t count,const size_t quantum)
     void
       *memory;
 
-    if (posix_memalign(&memory,AlignedSize,MagickMax(size,AlignedSize)) == 0)
+    if (posix_memalign(&memory,CACHE_LINE_SIZE,CacheAlign(size)) == 0)
       return(memory);
   }
 #endif
-  return(malloc(MagickMax(size,AlignedSize)));
+  return(malloc(CacheAlign(size)));
 }
 \f
 #if defined(MAGICKCORE_ZERO_CONFIGURATION_SUPPORT)
index 2707fbdd1f0155fa7ea418487afb783f79c10977..3b3b4befafaa33f940c394f66ccea16adfae056c 100644 (file)
@@ -45,6 +45,7 @@
 #include "MagickCore/exception.h"
 #include "MagickCore/exception-private.h"
 #include "MagickCore/memory_.h"
+#include "MagickCore/memory-private.h"
 #include "MagickCore/semaphore.h"
 #include "MagickCore/semaphore-private.h"
 #include "MagickCore/string_.h"
@@ -122,25 +123,30 @@ MagickExport void AcquireSemaphoreInfo(SemaphoreInfo **semaphore_info)
 %
 */
 
-static inline size_t MagickMax(const size_t x,const size_t y)
+static void *AcquireSemaphoreMemory(const size_t size)
 {
-  if (x > y)
-    return(x);
-  return(y);
+#if defined(MAGICKCORE_HAVE_POSIX_MEMALIGN)
+  {
+    void
+      *memory;
+
+    if (posix_memalign(&memory,CACHE_LINE_SIZE,CacheAlign(size)) == 0)
+      return(memory);
+  }
+#endif
+  return(malloc(CacheAlign(size)));
 }
 
 MagickExport SemaphoreInfo *AllocateSemaphoreInfo(void)
 {
-#define AlignedSize  (16*sizeof(void *))
-
   SemaphoreInfo
     *semaphore_info;
 
   /*
     Allocate semaphore.
   */
-  semaphore_info=(SemaphoreInfo *) malloc(MagickMax(sizeof(*semaphore_info),
-    AlignedSize));
+  semaphore_info=(SemaphoreInfo *) AcquireSemaphoreMemory(
+    sizeof(*semaphore_info));
   if (semaphore_info == (SemaphoreInfo *) NULL)
     ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
   (void) ResetMagickMemory(semaphore_info,0,sizeof(SemaphoreInfo));
index a25b84a3ab27c98d2fb389913f4c5b5c6d1dfa45..f9935e7e60b8811a8ce9aa63a126c6701edc14bd 100644 (file)
@@ -27,14 +27,14 @@ extern "C" {
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2012 ImageMagick Studio LLC"
-#define MagickSVNRevision  "7544"
+#define MagickSVNRevision  "7561"
 #define MagickLibVersion  0x700
 #define MagickLibVersionText  "7.0.0"
 #define MagickLibVersionNumber  7,0,0
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  7
 #define MagickLibMinInterface  7
-#define MagickReleaseDate  "2012-04-18"
+#define MagickReleaseDate  "2012-04-19"
 #define MagickChangeDate   "20110801"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
index 7a6bad30af50c7d23b953b427dcf4b00e912a834..850dd43b9ad90bc9c739784343b1f7fdfc318a8f 100644 (file)
@@ -431,16 +431,17 @@ am__MagickCore_libMagickCore_la_SOURCES_DIST =  \
        MagickCore/magick-type.h MagickCore/magick.h \
        MagickCore/matrix.c MagickCore/matrix.h \
        MagickCore/matrix-private.h MagickCore/memory.c \
-       MagickCore/memory_.h MagickCore/method-attribute.h \
-       MagickCore/methods.h MagickCore/mime.c MagickCore/mime.h \
-       MagickCore/module.c MagickCore/module.h MagickCore/monitor.c \
-       MagickCore/monitor.h MagickCore/monitor-private.h \
-       MagickCore/montage.c MagickCore/montage.h \
-       MagickCore/morphology.c MagickCore/morphology.h \
-       MagickCore/morphology-private.h MagickCore/nt-base.h \
-       MagickCore/nt-base-private.h MagickCore/nt-feature.h \
-       MagickCore/option.c MagickCore/option.h MagickCore/paint.c \
-       MagickCore/paint.h MagickCore/pixel.c MagickCore/pixel.h \
+       MagickCore/memory_.h MagickCore/memory-private.h \
+       MagickCore/method-attribute.h MagickCore/methods.h \
+       MagickCore/mime.c MagickCore/mime.h MagickCore/module.c \
+       MagickCore/module.h MagickCore/monitor.c MagickCore/monitor.h \
+       MagickCore/monitor-private.h MagickCore/montage.c \
+       MagickCore/montage.h MagickCore/morphology.c \
+       MagickCore/morphology.h MagickCore/morphology-private.h \
+       MagickCore/nt-base.h MagickCore/nt-base-private.h \
+       MagickCore/nt-feature.h MagickCore/option.c \
+       MagickCore/option.h MagickCore/paint.c MagickCore/paint.h \
+       MagickCore/pixel.c MagickCore/pixel.h \
        MagickCore/pixel-accessor.h MagickCore/policy.c \
        MagickCore/policy.h MagickCore/PreRvIcccm.c \
        MagickCore/PreRvIcccm.h MagickCore/prepress.c \
@@ -4082,6 +4083,7 @@ MAGICKCORE_BASE_SRCS = \
        MagickCore/matrix-private.h \
        MagickCore/memory.c \
        MagickCore/memory_.h \
+       MagickCore/memory-private.h \
        MagickCore/method-attribute.h \
        MagickCore/methods.h \
        MagickCore/mime.c \
@@ -4325,6 +4327,7 @@ MAGICKCORE_NOINST_HDRS = \
        MagickCore/magick-private.h \
        MagickCore/magic-private.h \
        MagickCore/matrix-private.h \
+       MagickCore/memory-private.h \
        MagickCore/methods-private.h \
        MagickCore/mime-private.h \
        MagickCore/mime-private.h \
index d54a2b18e068b946aede319ecd320d0afeac78ca..040415b154cad4aa52b0a604e4eebdbfdf1e2b68 100644 (file)
@@ -5,7 +5,7 @@
     <name>ImageMagick</name>
     <shortdesc xml:lang="en">ImageMagick: convert, edit, and compose images.</shortdesc>
     <homepage rdf:resource="http://www.imagemagick.org/"/>
-    <created>2012-04-18</created>
+    <created>2012-04-19</created>
 
     <description xml:lang="en">
 ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.
@@ -57,7 +57,7 @@ Examples of ImageMagick Usage shows how to use ImageMagick from the command-line
     <release>
       <Version>
           <name>stable</name>
-          <created>2012-04-18</created>
+          <created>2012-04-19</created>
           <revision>7.0.0</revision>
           <patch-level>-0</patch-level>
       </Version>
index 94778379b3e104d315491906d2a82859e009c9c0..d04e9a49d6fcc64f1cffec741c21be1a0ab15bcb 100644 (file)
@@ -10,8 +10,8 @@
   <configure name="VERSION" value="7.0.0"/>
   <configure name="LIB_VERSION" value="0x700"/>
   <configure name="LIB_VERSION_NUMBER" value="7,0,0,0"/>
-  <configure name="SVN_REVISION" value="7544" />
-  <configure name="RELEASE_DATE" value="2012-04-18"/>
+  <configure name="SVN_REVISION" value="7561" />
+  <configure name="RELEASE_DATE" value="2012-04-19"/>
   <configure name="CONFIGURE" value="./configure "/>
   <configure name="PREFIX" value="/usr/local"/>
   <configure name="EXEC-PREFIX" value="/usr/local"/>
index 43a67663a76740535088ccdef44882a6103f5e6e..d9af7edb60131e0475978829beb4b150c84d1af6 100755 (executable)
--- a/configure
+++ b/configure
@@ -3621,7 +3621,7 @@ MAGICK_LIBRARY_CURRENT_MIN=`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE`
 
 MAGICK_LIBRARY_VERSION_INFO=$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE
 
-MAGICK_SVN_REVISION=7544
+MAGICK_SVN_REVISION=7561