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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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,
Jacob Berkman
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
Overview of Changes in GLib 1.3.8:
==================================
@ -39,6 +41,7 @@ Overview of Changes in GLib 1.3.8:
Other contributors:
Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
Overview of Changes in GLib 1.3.7:
==================================
@ -64,6 +67,7 @@ Other contributors:
Michael Meeks, Laszlo Peter, Martin Baulig, Kjartan Maraas, Andrew Lanoix,
Peter Williams
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.
* Misc bug fixes
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.
* Bug and Portability fixes
Overview of Changes in GLib 1.3.4:
==================================
@ -95,9 +101,12 @@ Overview of Changes in GLib 1.3.4:
* Build fixes
* Documentation improvements
Overview of Changes in GLib 1.3.3:
==================================
GLib:
* More user_data support in various functions.
* Main loop API revamps to support per-thread main loops.
* Unicode handling improvements.
@ -118,6 +127,33 @@ Overview of Changes in GLib 1.3.3:
* New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
* 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:
==================================
@ -157,6 +193,7 @@ GObject:
* Added GTypeModule - a simple GTypePlugin instantiation [Owen]
* Bug fixes.
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>
* 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, "qualifiers:\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;
}

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@ typedef enum /*< skip >*/
G_TYPE_INVALID = 0 << G_TYPE_FUNDAMENTAL_SHIFT,
G_TYPE_NONE = 1 << G_TYPE_FUNDAMENTAL_SHIFT,
G_TYPE_INTERFACE = 2 << G_TYPE_FUNDAMENTAL_SHIFT,
/* GLib type IDs */
G_TYPE_CHAR = 3 << G_TYPE_FUNDAMENTAL_SHIFT,
G_TYPE_UCHAR = 4 << G_TYPE_FUNDAMENTAL_SHIFT,
@ -62,7 +62,7 @@ typedef enum /*< skip >*/
G_TYPE_BOXED = 18 << G_TYPE_FUNDAMENTAL_SHIFT,
G_TYPE_PARAM = 19 << G_TYPE_FUNDAMENTAL_SHIFT,
G_TYPE_OBJECT = 20 << G_TYPE_FUNDAMENTAL_SHIFT,
/* reserved fundamental type ids,
* mail gtk-devel-list@redhat.com for reservations
*/
@ -227,20 +227,20 @@ struct _GTypeInfo
{
/* interface types, classed types, instantiated types */
guint16 class_size;
GBaseInitFunc base_init;
GBaseFinalizeFunc base_finalize;
/* classed types, instantiated types */
GClassInitFunc class_init;
GClassFinalizeFunc class_finalize;
gconstpointer class_data;
/* instantiated types */
guint16 instance_size;
guint16 n_preallocs;
GInstanceInitFunc instance_init;
/* value handling */
const GTypeValueTable *value_table;
};

View File

@ -30,7 +30,7 @@
G_BEGIN_DECLS
/* --- 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_VALUE_TYPE(value) (((GValue*) (value))->g_type)
#define G_VALUE_TYPE_NAME(value) (g_type_name (G_VALUE_TYPE (value)))