if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
(void) exception;
- cache_view=(CacheView *) AcquireQuantumMemory(1,sizeof(*cache_view));
+ cache_view=(CacheView *) AcquireAlignedMemory(1,sizeof(*cache_view));
if (cache_view == (CacheView *) NULL)
ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
(void) ResetMagickMemory(cache_view,0,sizeof(*cache_view));
if (cache_view->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",
cache_view->image->filename);
- clone_view=(CacheView *) AcquireQuantumMemory(1,sizeof(*clone_view));
+ clone_view=(CacheView *) AcquireAlignedMemory(1,sizeof(*clone_view));
if (clone_view == (CacheView *) NULL)
ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
(void) ResetMagickMemory(clone_view,0,sizeof(*clone_view));
cache_view->number_threads);
cache_view->image=DestroyImage(cache_view->image);
cache_view->signature=(~MagickSignature);
- cache_view=(CacheView *) RelinquishMagickMemory(cache_view);
+ cache_view=(CacheView *) RelinquishAlignedMemory(cache_view);
return(cache_view);
}
\f
/* Define to prepend to default font search path. */
/* #undef MAGICK_FONT_PATH */
+/* Target Host CPU */
+#ifndef MAGICKCORE_MAGICK_TARGET_CPU
+#define MAGICKCORE_MAGICK_TARGET_CPU x86_64
+#endif
+
+/* Target Host OS */
+#ifndef MAGICKCORE_MAGICK_TARGET_OS
+#define MAGICKCORE_MAGICK_TARGET_OS linux-gnu
+#endif
+
+/* Target Host Vendor */
+#ifndef MAGICKCORE_MAGICK_TARGET_VENDOR
+#define MAGICKCORE_MAGICK_TARGET_VENDOR unknown
+#endif
+
/* Magick API method prefix */
/* #undef NAMESPACE_PREFIX */
*/
MagickExport void *AcquireAlignedMemory(const size_t count,const size_t quantum)
{
+#define AlignedExtent(size,alignment) \
+ (((size)+((alignment)-1)) & ~((alignment)-1))
+
size_t
alignment,
extent,
}
memory=NULL;
alignment=CACHE_LINE_SIZE;
- extent=(size+alignment-1)+sizeof(void *);
- if ((size == 0) || (alignment < sizeof(void *)) || (extent <= size))
+ extent=AlignedExtent(size,alignment);
+ if ((size == 0) || (alignment < sizeof(void *)) || (extent < size))
return((void *) NULL);
#if defined(MAGICKCORE_HAVE_POSIX_MEMALIGN)
- if (posix_memalign(&memory,alignment,size) != 0)
+ if (posix_memalign(&memory,alignment,extent) != 0)
memory=NULL;
#elif defined(MAGICKCORE_HAVE__ALIGNED_MALLOC)
memory=_aligned_malloc(size,alignment);
void
*p;
- p=malloc(extent);
- if (p != NULL)
+ extent=(size+alignment-1)+sizeof(void *);
+ if (extent > size)
{
- memory=(void *) (((size_t) p+sizeof(void *)+alignment-1) &
- ~(alignment-1));
- *((void **) memory-1)=p;
+ p=malloc(extent);
+ if (p != NULL)
+ {
+ memory=(void *) AlignedExtent((size_t) p+sizeof(void *),alignment);
+ *((void **) memory-1)=p;
+ }
}
}
#endif
static void *AcquireSemaphoreMemory(const size_t count,const size_t quantum)
{
+#define AlignedExtent(size,alignment) \
+ (((size)+((alignment)-1)) & ~((alignment)-1))
+
size_t
alignment,
extent,
}
memory=NULL;
alignment=CACHE_LINE_SIZE;
- extent=(size+alignment-1)+sizeof(void *);
- if ((size == 0) || (alignment < sizeof(void *)) || (extent <= size))
+ extent=AlignedExtent(size,alignment);
+ if ((size == 0) || (alignment < sizeof(void *)) || (extent < size))
return((void *) NULL);
#if defined(MAGICKCORE_HAVE_POSIX_MEMALIGN)
- if (posix_memalign(&memory,alignment,size) != 0)
+ if (posix_memalign(&memory,alignment,extent) != 0)
memory=NULL;
#elif defined(MAGICKCORE_HAVE__ALIGNED_MALLOC)
memory=_aligned_malloc(size,alignment);
void
*p;
- p=malloc(extent);
- if (p != NULL)
+ extent=(size+alignment-1)+sizeof(void *);
+ if (extent > size)
{
- memory=(void *) (((size_t) p+sizeof(void *)+alignment-1) &
- ~(alignment-1));
- *((void **) memory-1)=p;
+ p=malloc(extent);
+ if (p != NULL)
+ {
+ memory=(void *) AlignedExtent((size_t) p+sizeof(void *),alignment);
+ *((void **) memory-1)=p;
+ }
}
}
#endif
*/
#define MagickPackageName "ImageMagick"
#define MagickCopyright "Copyright (C) 1999-2012 ImageMagick Studio LLC"
-#define MagickSVNRevision "8726"
+#define MagickSVNRevision "8756"
#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-07-28"
+#define MagickReleaseDate "2012-07-29"
#define MagickChangeDate "20110801"
#define MagickAuthoritativeURL "http://www.imagemagick.org"
#if defined(MAGICKCORE_OPENMP_SUPPORT)
<name>ImageMagick</name>
<shortdesc xml:lang="en">ImageMagick: convert, edit, and compose images.</shortdesc>
<homepage rdf:resource="http://www.imagemagick.org/"/>
- <created>2012-07-28</created>
+ <created>2012-07-29</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.
<release>
<Version>
<name>stable</name>
- <created>2012-07-28</created>
+ <created>2012-07-29</created>
<revision>7.0.0</revision>
<patch-level>-0</patch-level>
</Version>
/* Define to prepend to default font search path. */
#undef MAGICK_FONT_PATH
+/* Target Host CPU */
+#undef MAGICK_TARGET_CPU
+
+/* Target Host OS */
+#undef MAGICK_TARGET_OS
+
+/* Target Host Vendor */
+#undef MAGICK_TARGET_VENDOR
+
/* Magick API method prefix */
#undef NAMESPACE_PREFIX
<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="8726" />
- <configure name="RELEASE_DATE" value="2012-07-28"/>
+ <configure name="SVN_REVISION" value="8756" />
+ <configure name="RELEASE_DATE" value="2012-07-29"/>
<configure name="CONFIGURE" value="./configure "/>
<configure name="PREFIX" value="/usr/local"/>
<configure name="EXEC-PREFIX" value="/usr/local"/>
MAGICK_TARGET_CPU=$host_cpu
+cat >>confdefs.h <<_ACEOF
+#define MAGICK_TARGET_CPU $MAGICK_TARGET_CPU
+_ACEOF
+
+
MAGICK_TARGET_VENDOR=$host_vendor
+cat >>confdefs.h <<_ACEOF
+#define MAGICK_TARGET_VENDOR $MAGICK_TARGET_VENDOR
+_ACEOF
+
+
MAGICK_TARGET_OS=$host_os
+cat >>confdefs.h <<_ACEOF
+#define MAGICK_TARGET_OS $MAGICK_TARGET_OS
+_ACEOF
+
+
# Substitute library versioning
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=8726
+MAGICK_SVN_REVISION=8756
MAGICK_TARGET_CPU=$host_cpu
AC_SUBST(MAGICK_TARGET_CPU)
+AC_DEFINE_UNQUOTED(MAGICK_TARGET_CPU,$MAGICK_TARGET_CPU,[Target Host CPU])
MAGICK_TARGET_VENDOR=$host_vendor
AC_SUBST(MAGICK_TARGET_VENDOR)
+AC_DEFINE_UNQUOTED(MAGICK_TARGET_VENDOR,$MAGICK_TARGET_VENDOR,[Target Host Vendor])
MAGICK_TARGET_OS=$host_os
AC_SUBST(MAGICK_TARGET_OS)
+AC_DEFINE_UNQUOTED(MAGICK_TARGET_OS,$MAGICK_TARGET_OS,[Target Host OS])
# Substitute library versioning
AC_SUBST(MAGICK_LIBRARY_CURRENT)dnl