changeset 27486:adcd6740b2c7

eliminate --enable-atomic-refcount configure option and macros * configure.ac: Eliminate --enable-atomic-refcount macro and associated macros. * mk-octave-config-h.sh: Delete special case for OCTAVE_ENABLE_ATOMIC_REFCOUNT macro. * toplev.cc (F__octave_config_info__): Don't store ENABLE_ATOMIC_REFCOUNT in struct. * oct-conf-post.in.h: Delete special case for obsolete USE_ATOMIC_REFCOUNT macro.
author John W. Eaton <jwe@octave.org>
date Fri, 11 Oct 2019 16:49:27 -0400
parents 1bbeb8aeb1cd
children f19e621d7f2d
files build-aux/mk-octave-config-h.sh configure.ac libinterp/corefcn/toplev.cc oct-conf-post.in.h
diffstat 4 files changed, 0 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/build-aux/mk-octave-config-h.sh	Fri Oct 11 10:05:10 2019 -0700
+++ b/build-aux/mk-octave-config-h.sh	Fri Oct 11 16:49:27 2019 -0400
@@ -215,7 +215,6 @@
 echo ""
 
 $SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_64.*$\)/#  \1/p' $config_h_file
-$SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_ATOMIC_REFCOUNT.*$\)/#  \1/p' $config_h_file
 $SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_BOUNDS_CHECK.*$\)/#  \1/p' $config_h_file
 $SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_OPENMP.*$\)/#  \1/p' $config_h_file
 $SED -n 's/#\(\(undef\|define\) OCTAVE_HAVE_LONG_LONG_INT.*$\)/#  \1/p' $config_h_file
--- a/configure.ac	Fri Oct 11 10:05:10 2019 -0700
+++ b/configure.ac	Fri Oct 11 16:49:27 2019 -0400
@@ -543,21 +543,6 @@
   OCTAVE_CONFIGURE_WARNING([warn_bounds_check])
 fi
 
-### Use atomic operations for internal reference counting.
-### This is required for thread-safe behavior (Qt Handles) but incurs a
-### significant slowdown.  Enabled by default until a higher performing
-### solution can be found.
-
-ENABLE_ATOMIC_REFCOUNT=yes
-AC_ARG_ENABLE([atomic-refcount],
-  [AS_HELP_STRING([--disable-atomic-refcount],
-    [Do not use atomic operations for internal reference counting.  This option is required for thread-safe behavior as used in the GUI's Qt plotting toolkit.  Performance for CLI-only builds is improved by disabling this feature.])],
-  [if test "$enableval" = no; then ENABLE_ATOMIC_REFCOUNT=no; fi], [])
-if test $ENABLE_ATOMIC_REFCOUNT = yes; then
-  AC_DEFINE(OCTAVE_ENABLE_ATOMIC_REFCOUNT, 1,
-    [Define to 1 to use atomic operations for reference counting.])
-fi
-
 ### Check for pthread library
 
 AX_PTHREAD
@@ -3147,13 +3132,6 @@
   warn_msg_printed=true
 fi
 
-if test $ENABLE_ATOMIC_REFCOUNT = no; then
-  AC_MSG_WARN([])
-  AC_MSG_WARN([atomic reference counting disabled.])
-  AC_MSG_WARN([This feature allows safe access to Octave data from another thread,])
-  AC_MSG_WARN([and is required when using the GUI's Qt toolkit for plotting.])
-fi
-
 if $warn_msg_printed; then
   AC_MSG_NOTICE([])
   AC_MSG_NOTICE([NOTE: Libraries or auxiliary programs may be skipped if they are not found])
--- a/libinterp/corefcn/toplev.cc	Fri Oct 11 10:05:10 2019 -0700
+++ b/libinterp/corefcn/toplev.cc	Fri Oct 11 16:49:27 2019 -0400
@@ -364,12 +364,6 @@
            { "ENABLE_64", false },
 #endif
 
-#if defined (OCTAVE_ENABLE_ATOMIC_REFCOUNT)
-           { "ENABLE_ATOMIC_REFCOUNT", true },
-#else
-           { "ENABLE_ATOMIC_REFCOUNT", false },
-#endif
-
 #if defined (ENABLE_DOCS)
            { "ENABLE_DOCS", true },
 #else
--- a/oct-conf-post.in.h	Fri Oct 11 10:05:10 2019 -0700
+++ b/oct-conf-post.in.h	Fri Oct 11 16:49:27 2019 -0400
@@ -203,10 +203,6 @@
 
 /* Backward compatibility */
 
-#if defined (OCTAVE_ENABLE_ATOMIC_REFCOUNT)
-#  define USE_ATOMIC_REFCOUNT 1
-#endif
-
 #if defined (OCTAVE_ENABLE_64)
 #  define USE_64_BIT_IDX_T 1
 #endif