diff options
author | ed <ed@FreeBSD.org> | 2011-11-08 15:38:21 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2011-11-08 15:38:21 +0000 |
commit | 85414e79bdef94068b56fcf8ff45df665f2cbfd7 (patch) | |
tree | fc5b9970d963124a81d318347c4ce8c458b60540 /sys/tools | |
parent | ae7b6414d5691d7d65c5b698558cb8a8f1e5b8de (diff) | |
download | FreeBSD-src-85414e79bdef94068b56fcf8ff45df665f2cbfd7.zip FreeBSD-src-85414e79bdef94068b56fcf8ff45df665f2cbfd7.tar.gz |
Make kobj_methods constant.
These structures hold no information that is modified during runtime. By
marking this constant, we see approximately 600 symbols become
read-only (amd64 GENERIC). While there, also mark the kobj_method
structures generated by makeobjops.awk static. They are only referenced
by the kobjop_desc structures within the same file.
Before:
$ ls -l kernel
-rwxr-xr-x 1 ed wheel 15937309 Nov 8 16:29 kernel*
$ size kernel
text data bss dec hex filename
12260854 1358468 2848832 16468154 fb48ba kernel
$ nm kernel | fgrep -c ' r '
8240
After:
$ ls -l kernel
-rwxr-xr-x 1 ed wheel 15922469 Nov 8 16:25 kernel*
$ size kernel
text data bss dec hex filename
12302869 1302660 2848704 16454233 fb1259 kernel
$ nm kernel | fgrep -c ' r '
8838
Diffstat (limited to 'sys/tools')
-rw-r--r-- | sys/tools/makeobjops.awk | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/tools/makeobjops.awk b/sys/tools/makeobjops.awk index 0406b85..4e3bd04 100644 --- a/sys/tools/makeobjops.awk +++ b/sys/tools/makeobjops.awk @@ -307,7 +307,7 @@ function handle_method (static, doc) line_width, length(prototype))); # Print out the method desc - printc("struct kobj_method " mname "_method_default = {"); + printc("static const struct kobj_method " mname "_method_default = {"); printc("\t&" mname "_desc, (kobjop_t) " default_function); printc("};\n"); |