The RPC benchmark development has led me to introduce some changes in the trunk recently, so now is probably the right time for an update on those matters :
- The “addr_t” type, used in the past to provide an unsigned integer that has the same size as a pointer, has been renamed “size_t” in order to better fit traditional libC conventions.
- The kernel memory allocator now supports pooled memory allocation, in sense of allocating a big block of memory once and making further calls to kalloc() just parse that block. Of course, much care must be taken when determining the size of that block of memory…
- I now have functional versions of the new and delete operators and their array cousins, based on kalloc() and kfree(). A minor limitation is that these do not throw exceptions on allocation failure, but rather use NULL return values.
- And when I was at it, I made myself a simple string class too, called KString.