freebsd-nq/sys/tools
Poul-Henning Kamp 63f89abf4a Change the generated VOP_ macro implementations to improve type checking
and KASSERT coverage.

After this check there is only one "nasty" cast in this code but there
is a KASSERT to protect against the wrong argument structure behind
that cast.

Un-inlining the meat of VOP_FOO() saves 35kB of text segment on a typical
kernel with no change in performance.

We also now run the checking and tracing on VOP's which have been layered
by nullfs, umapfs, deadfs or unionfs.

    Add new (non-inline) VOP_FOO_AP() functions which take a "struct
    foo_args" argument and does everything the VOP_FOO() macros
    used to do with checks and debugging code.

    Add KASSERT to VOP_FOO_AP() check for argument type being
    correct.

    Slim down VOP_FOO() inline functions to just stuff arguments
    into the struct foo_args and call VOP_FOO_AP().

    Put function pointer to VOP_FOO_AP() into vop_foo_desc structure
    and make VCALL() use it instead of the current offsetoff() hack.

    Retire vcall() which implemented the offsetoff()

    Make deadfs and unionfs use VOP_FOO_AP() calls instead of
    VCALL(), we know which specific call we want already.

    Remove unneeded arguments to VCALL() in nullfs and umapfs bypass
    functions.

    Remove unused vdesc_offset and VOFFSET().

    Generally improve style/readability of the generated code.
2005-01-13 07:53:01 +00:00
..
acpi_quirks2h.awk /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
emu10k1-mkalsa.sh Attempt to clean up the emu10k1-alsa.h stuff so that config doesn't 2004-02-05 22:51:16 +00:00
makeobjops.awk /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
miidevs2h.awk /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
pccarddevs2h.awk /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
usbdevs2h.awk /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
vnode_if.awk Change the generated VOP_ macro implementations to improve type checking 2005-01-13 07:53:01 +00:00