use g_type_check_is_value_type() instead of g_type_value_table_peek().

Thu Nov 22 03:30:57 2001  Tim Janik  <timj@gtk.org>

        * gvalue.h (G_TYPE_IS_VALUE): use g_type_check_is_value_type()
        instead of g_type_value_table_peek().

        * gtype.[hc] (type_check_is_value_type_U): speed up check
        LOCK-less by caching lookups in node->mutatable_has_value_table.

        * gtype.[hc]: removed locks where possible. partly based on
        patches from owen and alex.
This commit is contained in:
Tim Janik 2001-11-22 03:20:07 +00:00 committed by Tim Janik
parent 0d14682569
commit aafb9e4ba9
15 changed files with 446 additions and 428 deletions

View File

@ -1,3 +1,7 @@
Thu Nov 22 02:50:18 2001 Tim Janik <timj@gtk.org>
* NEWS: merged with gobject/NEWS.
2001-11-21 Tor Lillqvist <tml@iki.fi> 2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in * glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in

View File

@ -1,3 +1,7 @@
Thu Nov 22 02:50:18 2001 Tim Janik <timj@gtk.org>
* NEWS: merged with gobject/NEWS.
2001-11-21 Tor Lillqvist <tml@iki.fi> 2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in * glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in

View File

@ -1,3 +1,7 @@
Thu Nov 22 02:50:18 2001 Tim Janik <timj@gtk.org>
* NEWS: merged with gobject/NEWS.
2001-11-21 Tor Lillqvist <tml@iki.fi> 2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in * glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in

View File

@ -1,3 +1,7 @@
Thu Nov 22 02:50:18 2001 Tim Janik <timj@gtk.org>
* NEWS: merged with gobject/NEWS.
2001-11-21 Tor Lillqvist <tml@iki.fi> 2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in * glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in

View File

@ -1,3 +1,7 @@
Thu Nov 22 02:50:18 2001 Tim Janik <timj@gtk.org>
* NEWS: merged with gobject/NEWS.
2001-11-21 Tor Lillqvist <tml@iki.fi> 2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in * glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in

View File

@ -1,3 +1,7 @@
Thu Nov 22 02:50:18 2001 Tim Janik <timj@gtk.org>
* NEWS: merged with gobject/NEWS.
2001-11-21 Tor Lillqvist <tml@iki.fi> 2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in * glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in

View File

@ -1,3 +1,7 @@
Thu Nov 22 02:50:18 2001 Tim Janik <timj@gtk.org>
* NEWS: merged with gobject/NEWS.
2001-11-21 Tor Lillqvist <tml@iki.fi> 2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in * glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in

View File

@ -1,3 +1,7 @@
Thu Nov 22 02:50:18 2001 Tim Janik <timj@gtk.org>
* NEWS: merged with gobject/NEWS.
2001-11-21 Tor Lillqvist <tml@iki.fi> 2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in * glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in

37
NEWS
View File

@ -17,6 +17,7 @@ Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi, Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
Jacob Berkman Jacob Berkman
Overview of Changes in GLib 1.3.9: Overview of Changes in GLib 1.3.9:
================================== ==================================
@ -28,6 +29,7 @@ Overview of Changes in GLib 1.3.9:
Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
Overview of Changes in GLib 1.3.8: Overview of Changes in GLib 1.3.8:
================================== ==================================
@ -39,6 +41,7 @@ Overview of Changes in GLib 1.3.8:
Other contributors: Other contributors:
Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
Overview of Changes in GLib 1.3.7: Overview of Changes in GLib 1.3.7:
================================== ==================================
@ -64,6 +67,7 @@ Other contributors:
Michael Meeks, Laszlo Peter, Martin Baulig, Kjartan Maraas, Andrew Lanoix, Michael Meeks, Laszlo Peter, Martin Baulig, Kjartan Maraas, Andrew Lanoix,
Peter Williams Peter Williams
Overview of Changes in GLib 1.3.6: Overview of Changes in GLib 1.3.6:
================================== ==================================
@ -79,6 +83,7 @@ Overview of Changes in GLib 1.3.6:
* Add length argument to g_utf8_strchr and g_utf8_strrchr. * Add length argument to g_utf8_strchr and g_utf8_strrchr.
* Misc bug fixes * Misc bug fixes
Overview of Changes in GLib 1.3.5: Overview of Changes in GLib 1.3.5:
================================== ==================================
@ -87,6 +92,7 @@ Overview of Changes in GLib 1.3.5:
* Mark some additional deprecated functions. * Mark some additional deprecated functions.
* Bug and Portability fixes * Bug and Portability fixes
Overview of Changes in GLib 1.3.4: Overview of Changes in GLib 1.3.4:
================================== ==================================
@ -95,9 +101,12 @@ Overview of Changes in GLib 1.3.4:
* Build fixes * Build fixes
* Documentation improvements * Documentation improvements
Overview of Changes in GLib 1.3.3: Overview of Changes in GLib 1.3.3:
================================== ==================================
GLib:
* More user_data support in various functions. * More user_data support in various functions.
* Main loop API revamps to support per-thread main loops. * Main loop API revamps to support per-thread main loops.
* Unicode handling improvements. * Unicode handling improvements.
@ -118,6 +127,33 @@ Overview of Changes in GLib 1.3.3:
* New GPatternSpec for shell-style pattern matching (from GtkPatternSpec). * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
* Optimizations, cleanups, bug fixes. * Optimizations, cleanups, bug fixes.
GObject:
* Added many convenience functions.
* GClosure and GParamSpec use float/sink ref-counting scheme now.
* Reworked property change notification.
* Binary searchable array cleanups, so it's widely usable now.
* Added static content keeping for some GValue types.
* Support for statically scoped signal parameters.
* Extinguished property trailer args in set/get interface.
* Added support for abstract types.
* G_CONST_RETURN specification all over the place.
* Split parameter exchange functionality into value transforms
and parameter conversions.
* Added signal emission hooks and signal accumulators.
* Added interface prerequisites to support is_a (interface, object)
relations.
* Implemented GValueArray.
* New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
* Varrags value collection improvements.
* Implemented debugging traps.
* Made things thread-safe.
* Many documentation improvements.
* Many cleanups, optimizations and bug fixes.
Overview of Changes in GLib 1.3.2: Overview of Changes in GLib 1.3.2:
================================== ==================================
@ -157,6 +193,7 @@ GObject:
* Added GTypeModule - a simple GTypePlugin instantiation [Owen] * Added GTypeModule - a simple GTypePlugin instantiation [Owen]
* Bug fixes. * Bug fixes.
What's new in GLib 1.3.1: What's new in GLib 1.3.1:
========================= =========================

View File

@ -1,3 +1,14 @@
Thu Nov 22 03:30:57 2001 Tim Janik <timj@gtk.org>
* gvalue.h (G_TYPE_IS_VALUE): use g_type_check_is_value_type()
instead of g_type_value_table_peek().
* gtype.[hc] (type_check_is_value_type_U): speed up check
LOCK-less by caching lookups in node->mutatable_has_value_table.
* gtype.[hc]: removed locks where possible. partly based on
patches from owen and alex.
Thu Nov 22 00:26:26 2001 Tim Janik <timj@gtk.org> Thu Nov 22 00:26:26 2001 Tim Janik <timj@gtk.org>
* gtype.[hc]: provide G_TYPE_FUNDAMENTAL_SHIFT and * gtype.[hc]: provide G_TYPE_FUNDAMENTAL_SHIFT and

View File

@ -1,34 +0,0 @@
Overview of Changes in GLib 1.3.3:
* Added many convenience functions.
* GClosure and GParamSpec use float/sink ref-counting scheme now.
* Reworked property change notification.
* Binary searchable array cleanups, so it's widely usable now.
* Added static content keeping for some GValue types.
* Support for statically scoped signal parameters.
* Extinguished property trailer args in set/get interface.
* Added support for abstract types.
* G_CONST_RETURN specification all over the place.
* Split parameter exchange functionality into value transforms
and parameter conversions.
* Added signal emission hooks and signal accumulators.
* Added interface prerequisites to support is_a (interface, object)
relations.
* Implemented GValueArray.
* New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
* Varrags value collection improvements.
* Implemented debugging traps.
* Made things thread-safe.
* Many documentation improvements.
* Many cleanups, optimizations and bug fixes.
Overview of Changes in GLib 1.3.2:
* Added boxed and pointer types. [Tim/Jonathan]
* Added callback abstraction (GClosure) [Tim]
* Added signal system (GSignal) [Tim]
* Make GTypePlugin an interface [Tim]
* Added GTypeModule - a simple GTypePlugin instantiation [Owen]
* Bug fixes.

View File

@ -110,7 +110,7 @@ help (gchar *arg)
fprintf (stderr, " -s specify line spacing\n"); fprintf (stderr, " -s specify line spacing\n");
fprintf (stderr, "qualifiers:\n"); fprintf (stderr, "qualifiers:\n");
fprintf (stderr, " froots iterate over fundamental roots\n"); fprintf (stderr, " froots iterate over fundamental roots\n");
fprintf (stderr, " tree print BSE type tree\n"); fprintf (stderr, " tree print type tree\n");
return arg != NULL; return arg != NULL;
} }

File diff suppressed because it is too large Load Diff

View File

@ -30,7 +30,7 @@
G_BEGIN_DECLS G_BEGIN_DECLS
/* --- type macros --- */ /* --- type macros --- */
#define G_TYPE_IS_VALUE(type) (g_type_value_table_peek (type) != NULL) #define G_TYPE_IS_VALUE(type) (g_type_check_is_value_type (type))
#define G_IS_VALUE(value) (G_TYPE_CHECK_VALUE (value)) #define G_IS_VALUE(value) (G_TYPE_CHECK_VALUE (value))
#define G_VALUE_TYPE(value) (((GValue*) (value))->g_type) #define G_VALUE_TYPE(value) (((GValue*) (value))->g_type)
#define G_VALUE_TYPE_NAME(value) (g_type_name (G_VALUE_TYPE (value))) #define G_VALUE_TYPE_NAME(value) (g_type_name (G_VALUE_TYPE (value)))