-
- Downloads
Use a code generator to call functions from wire format
This change removes the dependency on libffi and the header-dependency on libwayland. (`wayland-xml` is still needed, of course.) A python script is used to generate a series of 'call_*' functions which parse the wire format and invoke matching `do_*` functions to be defined by the user. With lto the `call_*` and `do_*` parts can often be combined, reducing their effective cost to almost zero. The script also generates more optimized data to check sizes and generate new objects.
Showing
- autoformat.sh 2 additions, 1 deletionautoformat.sh
- handlers.c 367 additions, 454 deletionshandlers.c
- meson.build 1 addition, 8 deletionsmeson.build
- parsing.c 119 additions, 398 deletionsparsing.c
- protocols/function_list.txt 40 additions, 0 deletionsprotocols/function_list.txt
- protocols/meson.build 16 additions, 13 deletionsprotocols/meson.build
- protocols/symgen.py 361 additions, 0 deletionsprotocols/symgen.py
- protocols/symgen_types.h 28 additions, 0 deletionsprotocols/symgen_types.h
- test/wire_parse.c 11 additions, 0 deletionstest/wire_parse.c
- util.h 5 additions, 13 deletionsutil.h
Loading
Please register or sign in to comment