Yesterday, I created a new branch called string_macros that switches a lot of the Parrot code to use the string macros instead of the Parrot_str_* functions. To make that work, I had to move the argument checks from the Parrot_str functions into the string encoding (vtable) functions. This means a bit of code duplication but many of the checks could be simplified. I also created an own encoding for the null string.
The string macros don't check whether the string argument is NULL, so I discovered some places where Parrot doesn't use STRING_IS_NULL and STRINGNULL. I think Parrot should be pretty much STRINGNULL-safe now.
With the new branch, Rakudo starts up about 1% faster. Reviews and opinions are welcome. Nick _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
