glib/glib
Philip Withnall aec5785e7b
gthread: Move thread _impl functions to static inlines for speed
The changes made in commit bc59e28bf6
(issue #3399) fixed introspection of the GThread API. However, they
introduced a trampoline in every threading function. So with those
changes applied, the disassembly of `g_mutex_lock()` (for example) was:
```
0x7ffff7f038b0 <g_mutex_lock>    jmp 0x7ffff7f2f440 <g_mutex_lock_impl>
0x7ffff7f038b5                   data16 cs nopw 0x0(%rax,%rax,1)
```

i.e. It jumps straight to the `_impl` function, even with an optimised
build. Since `g_mutex_lock()` (and various other GThread functions) are
frequently run hot paths, this additional `jmp` to a function which has
ended up in a different code page is a slowdown which we’d rather avoid.

So, this commit reworks things to define all the `_impl` functions as
`G_ALWAYS_INLINE static inline` (which typically expands to
`__attribute__((__always_inline__)) static inline`), and to move them
into the same compilation unit as `gthread.c` so that they can be
inlined without the need for link-time optimisation to be enabled.

It makes the code a little less readable, but not much worse than what
commit bc59e28bf6 already did. And perhaps
the addition of the `inline` decorations to all the `_impl` functions
will make it a bit clearer what their intended purpose is
(platform-specific implementations).

After applying this commit, the disassembly of `g_mutex_lock()`
successfully contains the inlining for me:
```
=> 0x00007ffff7f03d80 <+0>:	xor    %eax,%eax
   0x00007ffff7f03d82 <+2>:	mov    $0x1,%edx
   0x00007ffff7f03d87 <+7>:	lock cmpxchg %edx,(%rdi)
   0x00007ffff7f03d8b <+11>:	jne    0x7ffff7f03d8e <g_mutex_lock+14>
   0x00007ffff7f03d8d <+13>:	ret
   0x00007ffff7f03d8e <+14>:	jmp    0x7ffff7f03610 <g_mutex_lock_slowpath>
```

I considered making a similar change to the other APIs touched in #3399
(GContentType, GAppInfo, GSpawn), but they are all much less performance
critical, so it’s probably not worth making their code more complex for
that sake.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Fixes: #3417
2024-08-25 21:56:14 +01:00
..
deprecated docs: Transition remaining DocBook XML to markdown/HTML 2024-08-13 15:19:14 -06:00
dirent dirent: Add trailing nul delimiter to FILENAME_MAX 2021-04-19 19:23:10 +01:00
glib-mirroring-tab glib: Port glib-mirroring-tab subdirectory to Meson 2019-01-15 15:11:43 +00:00
gnulib vsaprintf: Use proper size for mp_limb_t to please msys2-mingw32 CI 2024-05-11 01:25:12 +02:00
libcharset Fix symbol visibility macros on Windows 2022-10-13 20:53:56 -04:00
tests tests: Move alternate stack onto the heap rather than the main stack 2024-08-16 14:27:25 +01:00
docs.c Fix typo in GPOINTER_TO_SIZE documentation 2024-01-09 08:55:32 -08:00
galloca.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
garcbox.c docs: Move GRcBox/GArcBox and refcounting docs to Markdown 2023-10-11 14:01:28 +01:00
garray.c garray: Fix g_ptr_array_insert() with indices > G_MAXINT 2024-06-28 15:27:25 +01:00
garray.h Merge branch 'ptr-array-sort-values' into 'main' 2023-01-06 12:09:37 +00:00
gasyncqueue.c GAsyncQueue: Add copy-func and free-func annotations 2024-06-30 21:32:33 +02:00
gasyncqueue.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gasyncqueueprivate.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gatomic.c docs: Move the gatomic SECTION 2023-11-28 13:52:05 +00:00
gatomic.h gatomic: Use g(u)intptr where appropriate 2023-10-10 08:30:46 -07:00
gbacktrace.c glib-unix: Add O_NONBLOCK support to g_unix_open_pipe() 2023-03-23 14:11:36 +00:00
gbacktrace.h Revert "gio, glib: Use G_OS_DARWIN for code that is for such environments" 2022-11-07 11:30:32 +00:00
gbase64.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
gbase64.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gbitlock.c gobject: add code comment about unlock and toggle_refs_check_and_ref_or_deref() 2024-03-18 13:55:36 +00:00
gbitlock.h gbitlock: add g_pointer_bit_lock_and_get() 2024-01-16 12:50:31 +01:00
gbookmarkfile.c docs: Move bookmarkfile SECTION 2023-10-11 17:38:30 +01:00
gbookmarkfile.h gbookmarkfile: Fix link to the Desktop Bookmark Specification 2024-04-03 10:54:22 +01:00
gbsearcharray.h build: Remove the --disable-mem-pools build option and the DISABLE_MEM_POOLS macro 2018-06-02 09:45:55 +02:00
gbytes.c GBytes: Add copy-func and free-func annotations 2024-07-19 17:09:57 +02:00
gbytes.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gcharset.c Use g_once_init_{enter,leave}_pointer where appropriate 2023-10-04 13:57:16 +01:00
gcharset.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gcharsetprivate.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gchecksum.c docs: Move the GChecksum SECTION 2023-11-02 16:30:23 +00:00
gchecksum.h docs: Move the GChecksum SECTION 2023-11-02 16:30:23 +00:00
gconstructor.h Merge branch 'tls-callbacks' into 'main' 2023-10-03 10:00:44 +00:00
gconstructorprivate.h gconstructorprivate.h: Add seamless support for C++ 2023-10-03 10:26:10 +02:00
gconvert.c docs: spelling and grammar fixes 2024-04-01 11:01:06 +00:00
gconvert.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gconvertprivate.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gdataset.c gdataset: add code comment to g_datalist_get_data() 2024-02-05 16:49:10 +01:00
gdataset.h Add g_datalist_id_remove_multiple 2022-05-23 09:19:45 -04:00
gdatasetprivate.h glib: add internal g_datalist_id_update_atomic() function 2024-01-31 17:30:28 +01:00
gdate.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
gdate.h docs: Move the GDate SECTION 2023-10-11 17:38:31 +01:00
gdatetime-private.c gdatetime: Fix typo in comment 2023-11-28 23:14:40 +00:00
gdatetime-private.h gdatetime: Fix copyright/author information on recent GDateTime changes 2023-11-28 23:13:27 +00:00
gdatetime.c docs: Wrap things that gi-docgen mistakes as HTML tags in backticks 2024-08-13 15:19:21 -06:00
gdatetime.h GDateTime: Add usec precision API for unix time 2023-12-20 07:48:10 -05:00
gdir.c gdir: Add refcounting support and a boxed type 2023-11-23 12:34:39 +00:00
gdir.h gdir: Add refcounting support and a boxed type 2023-11-23 12:34:39 +00:00
gen-unicode-tables.pl gen-unicode-tables: Fix indentation at the start of the first row 2023-10-17 22:59:27 +01:00
genviron.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
genviron.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gerror.c gerror: Fix an old allow-none annotation 2023-12-14 01:26:42 +00:00
gerror.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gfileutils.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
gfileutils.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
ggettext.c docs: Move i18n documentation to Markdown 2023-10-11 14:01:29 +01:00
ggettext.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
ghash.c ghash: Fix the documentation of GHRFunc 2024-08-15 10:22:07 +00:00
ghash.h ghash: Add functions to steal all keys and values preserving ownership 2022-12-16 18:45:36 +01:00
ghmac.c docs: Move the GHmac SECTION 2023-11-15 11:09:39 +00:00
ghmac.h docs: Move the GHmac SECTION 2023-11-15 11:09:39 +00:00
ghook.c glib: Add (scope call) to a load of sort/equal callbacks 2023-11-29 11:59:47 +00:00
ghook.h Revert "Rename user data parameters to user_data" 2023-01-09 13:09:26 +01:00
ghostutils.c ghostutils: Add a missing precondition check to g_hostname_to_unicode() 2024-04-25 23:58:08 +01:00
ghostutils.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gi18n-lib.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gi18n.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
giochannel.c docs: Move the GIOChannel SECTION 2023-11-15 11:09:39 +00:00
giochannel.h docs: spelling and grammar fixes 2024-04-01 11:01:06 +00:00
giounix.c gmain: remove unnecessary initialization of *timeout in prepare() callbacks 2023-05-18 11:26:33 +02:00
giowin32.c glib/giowin32.c: Add G_GNUC_FALLTHROUGH annotation 2023-10-12 11:44:48 +02:00
gjournal-private.c gio-launch-desktop, gmessages: Fix journald support using __BIONIC__ to skip support on Android 2024-04-02 08:40:48 -03:00
gjournal-private.h gmessages: Factor out _g_fd_is_journal into its own translation unit 2022-07-25 01:00:54 +02:00
gkeyfile.c docs: Fix various invalid links 2023-10-23 10:25:31 +01:00
gkeyfile.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
glib_gdb.py gdb: Workaround optimized out quark_seq_id 2023-09-04 11:29:57 +00:00
glib_probes.d GVariant: add probes for SystemTap 2023-07-21 18:40:13 +01:00
glib_trace.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
glib-autocleanups.h Ignore autocleanups when generating introspection data 2023-10-23 10:25:30 +01:00
glib-init.c docs: Update toolchain requirement to C11 2024-06-14 12:35:21 +01:00
glib-init.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
glib-object.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
glib-private.c Merge branch 'th/weak-ref-lock-2' into 'main' 2024-01-31 16:51:50 +00:00
glib-private.h glib-private: fix build under Cygwin 2024-07-09 20:34:02 +02:00
glib-typeof.h glib: Use G_CXX_STD_VERSION to check how to behave with C++ compilers 2022-11-22 17:23:12 +01:00
glib-unix.c glib-init: Statically assert that types have appropriate signedness 2024-06-04 16:57:18 +01:00
glib-unix.h Merge branch 'unix-pipe-open-docs' into 'main' 2024-02-09 21:59:59 +00:00
glib-unixprivate.h glib-unix: Add O_NONBLOCK support to g_unix_open_pipe() 2023-03-23 14:11:36 +00:00
glib.h Add GPathBuf 2023-02-09 13:36:51 +00:00
glib.rc.in meson: build Windows resource files 2018-01-04 22:19:30 +01:00
glib.stp.in docs: spelling and grammar fixes 2024-04-01 11:01:06 +00:00
glibconfig.h.in girepository: Fix static build under Windows 2024-02-21 12:38:40 +01:00
glibintl.h various: add GLIB_AVAILABLE_IN_ALL everywhere else 2013-01-13 13:11:57 -05:00
glist.c glib: Add (scope call) to a load of sort/equal callbacks 2023-11-29 11:59:47 +00:00
glist.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gmacros.h gmacros: Define G_STATIC_ASSERT for GI Scanner 2024-07-23 12:25:35 +02:00
gmain-internal.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gmain.c docs: Don't reference Unix-only method GLib.Source.add_unix_fd 2024-08-23 15:57:13 +02:00
gmain.h gmain: Adapt to gi-docgen comments 2024-08-01 18:38:57 +02:00
gmappedfile.c glib/mappedfile: g_mapped_file_get_contents() does not transfer 2024-08-02 14:20:36 -07:00
gmappedfile.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gmarkup.c gmarkup: Add a missing (element-type) annotation 2023-11-29 12:03:15 +00:00
gmarkup.h Rename G_MARKUP_PARSE_FLAGS_NONE 2022-07-25 22:30:22 +01:00
gmem.c gmem.c: Update g_clear_pointer() documentation 2024-05-24 10:16:51 +00:00
gmem.h meson: Export HAVE_FREE_SIZED in glibconfig.h for use in g_free() 2023-05-30 13:45:05 +01:00
gmessages.c issue 3428: fix comment in escape_string 2024-08-20 18:24:33 -07:00
gmessages.h g_warn_if_fail: Document as always evaluating expr 2024-03-05 11:06:10 +00:00
gmirroringtable.h Update to Unicode 14 2021-09-21 09:41:29 +00:00
gnode.c docs(GNode): Traversal diagrams, color & dark-mode 2024-07-15 15:58:45 +00:00
gnode.h Revert "Rename user data parameters to user_data" 2023-01-09 13:09:26 +01:00
goption.c Merge branch 'ebassi/c99-boolean-constants' into 'main' 2024-05-16 12:50:08 +00:00
goption.h goption: Fix list formatting in documentation comment 2023-08-21 11:34:27 +01:00
gosxutils.m gosxutils: Add missing prototype 2021-11-18 14:32:09 +00:00
gpathbuf.c docs: Move the GPathBuf SECTION 2023-10-11 17:38:31 +01:00
gpathbuf.h docs: Move the GPathBuf SECTION 2023-10-11 17:38:31 +01:00
gpattern.c gpattern: Port the docs to gi-docgen syntax 2024-05-23 10:36:50 +01:00
gpattern.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gpoll.c glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gpoll.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gprimes.c glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gprimes.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gprintf.c gprintf: Port doc comments to gi-docgen 2024-01-25 11:19:23 +00:00
gprintf.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gprintfint.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gqsort.c gi: Add missing Since annotation 2024-07-09 20:16:20 +01:00
gqsort.h gqsort: Add g_sort_array() and deprecate g_qsort_with_data() 2024-06-28 15:27:18 +01:00
gquark.c docs: Move the datalist and dataset SECTIONs 2023-11-28 13:52:05 +00:00
gquark.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gqueue.c glib: Add (scope call) to a load of sort/equal callbacks 2023-11-29 11:59:47 +00:00
gqueue.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
grand.c docs: Move the grand SECTION 2023-11-28 13:52:05 +00:00
grand.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
grcbox.c docs: Move GRcBox/GArcBox and refcounting docs to Markdown 2023-10-11 14:01:28 +01:00
grcbox.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
grcboxprivate.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
grefcount.c docs: Move GRcBox/GArcBox and refcounting docs to Markdown 2023-10-11 14:01:28 +01:00
grefcount.h Add init macros for refcounting types 2023-04-24 12:48:32 +01:00
grefstring.c docs: Move the refstring SECTION 2023-10-11 17:38:30 +01:00
grefstring.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gregex.c docs: g_regex_match_all: Remove a stray ";" in an example regex 2024-08-13 15:19:21 -06:00
gregex.h docs: Move GRegex SECTION 2023-10-11 17:38:31 +01:00
gscanner.c glib: Add (scope call) to a load of sort/equal callbacks 2023-11-29 11:59:47 +00:00
gscanner.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gscripttable.h gunicode: Update to Unicode 15.1.0 2023-10-17 22:59:27 +01:00
gsequence.c gsequence: Squash a static analysis false positive 2024-04-25 23:16:04 +01:00
gsequence.h Revert "Rename user data parameters to user_data" 2023-01-09 13:09:26 +01:00
gshell.c docs: Move the shell SECTION 2023-11-28 13:52:05 +00:00
gshell.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gslice.c docs: Move the GSlice documentation to Markdown 2023-10-11 14:01:29 +01:00
gslice.h gslice: Hide g_slice_debug_tree_statistics from introspection 2024-02-09 10:08:00 +00:00
gslist.c glib: Add (scope call) to a load of sort/equal callbacks 2023-11-29 11:59:47 +00:00
gslist.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gspawn-posix.c gspawn: Add platform-independent top level API file 2024-07-15 16:40:55 +01:00
gspawn-private.h gspawn: Add platform-independent top level API file 2024-07-15 16:40:55 +01:00
gspawn-win32-helper.c glib: Port to the private invalid parameter handler APIs 2022-11-03 00:11:45 +08:00
gspawn-win32.c gspawn: Add platform-independent top level API file 2024-07-15 16:40:55 +01:00
gspawn.c gspawn: Add platform-independent top level API file 2024-07-15 16:40:55 +01:00
gspawn.h Do not name callback parameters "user_data" 2023-01-09 14:12:16 +01:00
gstdio-private.c glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gstdio.c gstdio: Improve documentation of g_clear_fd() as async-signal safe 2023-05-31 16:34:16 +01:00
gstdio.h gstdio: Ignore POSIX stdio wrappers under g-ir-scanner 2023-11-23 12:34:39 +00:00
gstdioprivate.h docs: spelling and grammar fixes 2024-04-01 11:01:06 +00:00
gstrfuncs.c strfuncs: Don't let get_C_locale() clobber errno 2024-07-26 13:08:27 +01:00
gstrfuncs.h gstrfuncs: Remove g_strescape docs from the header 2024-05-18 23:34:20 +02:00
gstring.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
gstring.h gstring: fix unused-result warning with g_string_free() in C++ 2024-08-07 15:57:20 +02:00
gstringchunk.c docs: Fix various invalid links 2023-10-23 10:25:31 +01:00
gstringchunk.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gstrvbuilder.c Add unref-to-strv to GStrvBuilder 2024-03-22 00:08:26 +00:00
gstrvbuilder.h Add unref-to-strv to GStrvBuilder 2024-03-22 00:08:26 +00:00
gtester-report.in Use the python found by meson as the interpreter for installed scripts 2024-03-25 15:17:59 -04:00
gtester.c glib: Pass O_CLOEXEC rather than FD_CLOEXEC to g_unix_open_pipe() 2023-08-16 14:31:40 +01:00
gtestutils.c gtestutils: Use TAP 14 syntax by default 2024-08-02 09:36:53 +02:00
gtestutils.h gtestutils: Add g_test_trap_subprocess_with_envp() for testing envs 2023-11-23 12:18:21 +00:00
gthread-posix.c gthread: Move thread _impl functions to static inlines for speed 2024-08-25 21:56:14 +01:00
gthread-win32.c gthread: Move thread _impl functions to static inlines for speed 2024-08-25 21:56:14 +01:00
gthread.c gthread: Move thread _impl functions to static inlines for speed 2024-08-25 21:56:14 +01:00
gthread.h Add G_*_AUTO_LOCK macros 2024-01-17 08:57:12 -05:00
gthreadpool.c docs: Fix various invalid links 2023-10-23 10:25:31 +01:00
gthreadpool.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gthreadprivate.h gthread: Move thread _impl functions to static inlines for speed 2024-08-25 21:56:14 +01:00
gtimer.c docs: Move the GTimer SECTION 2023-10-11 17:38:31 +01:00
gtimer.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gtimezone.c gtimezone: Add a missing precondition assertion 2024-04-25 23:58:18 +01:00
gtimezone.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gtrace-private.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gtrace.c docs: Drop the SECTION for tracing 2023-11-28 13:52:05 +00:00
gtranslit-data.h Add locale-sensitive ASCII transliteration API 2014-02-20 18:27:24 -05:00
gtranslit.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
gtrashstack.c docs: Move the GTrashStack SECTION 2023-11-28 13:52:05 +00:00
gtrashstack.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gtree.c glib: Add (scope call) to a load of sort/equal callbacks 2023-11-29 11:59:47 +00:00
gtree.h Revert "Rename all user datas in callbacks to user_data" 2023-01-09 13:23:32 +01:00
gtypes.h Rename GTK+ to GTK (mostly comments and documentation) 2023-05-10 10:56:44 +07:00
gunibreak.c glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gunibreak.h gunicode: Update to Unicode 15.1.0 2023-10-17 22:59:27 +01:00
gunichartables.h gunicode: Update to Unicode 15.1.0 2023-10-17 22:59:27 +01:00
gunicode.h gunicode.h: fix warning with -Wcast-qual for define g_utf8_next_char() 2024-04-21 09:42:01 +02:00
gunicodeprivate.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gunicollate.c collate: Don't segfault on bad input 2023-11-26 22:41:26 +00:00
gunicomp.h gunicode: Update to Unicode 15.1.0 2023-10-17 22:59:27 +01:00
gunidecomp.c gunidecomp: Fix a false positive from the static analyser 2024-04-25 23:16:26 +01:00
gunidecomp.h gunicode: Update to Unicode 15.1.0 2023-10-17 22:59:27 +01:00
guniprop.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
guri.c docs: spelling and grammar fixes 2024-04-01 11:01:06 +00:00
guri.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
guriprivate.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gutf8.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
gutils.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
gutils.h gmacros: Prioritize the usage of [[noreturn]] in C++11 2022-11-22 17:23:13 +01:00
gutilsprivate.h gutils: avoid race setting prgname from g_option_context_parse()/g_application_run() 2023-11-08 16:36:14 +01:00
guuid.c docs: Move the GUuid SECTION 2023-11-28 13:52:05 +00:00
guuid.h guuid: Add UUID helper functions to GLib 2017-02-06 14:40:38 +01:00
gvalgrind.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gvariant-core.c gvariant-core: Don’t call posix_memalign() with size==0 2024-01-16 11:04:44 +00:00
gvariant-core.h gvariant: Add internal g_variant_maybe_get_child_value() 2022-12-13 18:15:19 +00:00
gvariant-internal.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gvariant-parser.c glib: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:33 +01:00
gvariant-serialiser.c gvariant-serialiser: Add an assertion to help the static analyser 2024-04-25 23:16:13 +01:00
gvariant-serialiser.h gvariant: Track checked and ordered offsets independently 2022-12-13 18:15:19 +00:00
gvariant.c GVariant: Add copy-func and free-func annotations 2024-07-19 16:32:49 +02:00
gvariant.h GVariant: ensure GVariantIter alignment for CHERI systems 2023-02-10 18:22:20 +00:00
gvarianttype.c gvarianttype: Fix typos 2024-01-19 11:53:00 +00:00
gvarianttype.h gvarianttype: Add a missing argument name 2023-11-29 12:03:34 +00:00
gvarianttypeinfo.c GVariant: add probes for SystemTap 2023-07-21 18:40:13 +01:00
gvarianttypeinfo.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gversion.c docs: Move the version SECTION 2023-11-28 13:52:05 +00:00
gversion.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gversionmacros.h.in Fix symbol visibility macros on Windows 2022-10-13 20:53:56 -04:00
gwakeup.c docs: Mark all GWakeup docs as private 2023-10-11 17:38:31 +01:00
gwakeup.h glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gwin32-private.c glib: Add SPDX license headers automatically 2022-05-18 09:19:02 +01:00
gwin32.c docs: spelling and grammar fixes 2024-04-01 11:01:06 +00:00
gwin32.h Revert "gwin32: Un-hide symbols when building GIR" 2024-02-12 17:54:10 +00:00
libglib-gdb.py.in Rename gdb macros with _gdb suffix to avoid ns clashes 2016-05-23 10:52:10 -04:00
meson.build gthread: Move thread _impl functions to static inlines for speed 2024-08-25 21:56:14 +01:00
msvc_recommended_pragmas.h meson: Move msvc_recommended_pragmas.h to a subdirectory 2023-03-21 14:21:18 +00:00
update-gtranslit.py py: Various flake8 cleanups 2020-11-17 15:50:07 +00:00
valgrind.h docs: spelling and grammar fixes 2024-04-01 11:01:06 +00:00
win_iconv.c Fix typos 2023-08-01 15:33:21 -03:00