string_macros branch

Nick Wellnhofer wellnhofer at aevum.de
Wed Sep 22 14:07:19 UTC 2010


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


More information about the parrot-dev mailing list