mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-23 22:16:16 +01:00
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:
parent
0d14682569
commit
aafb9e4ba9
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
37
NEWS
@ -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:
|
||||
=========================
|
||||
|
||||
|
@ -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
|
||||
|
34
gobject/NEWS
34
gobject/NEWS
@ -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.
|
@ -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;
|
||||
}
|
||||
|
744
gobject/gtype.c
744
gobject/gtype.c
File diff suppressed because it is too large
Load Diff
@ -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;
|
||||
};
|
||||
|
@ -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)))
|
||||
|
Loading…
Reference in New Issue
Block a user