Version 1 (modified by cotto, 12 years ago)

initial version with a couple examples

Remove sizeof op


This op was used to determine the size of a PMC's C-level struct given a numerical PMC type id. This op was deprecated because numerical PMC id values should not be exposed to PIR-level code.


No replacement currently exists because no core, library or HLL code was found to rely on this op. If this functionality is needed, a string-based version could easily be implemented. See TT #633 for further discussion.

Replace STRING_is_null with Parrot_str_is_null


Make string null checks look like a Parrot API function.


Replace uses of the C function STRING_is_null with Parrot_str_is_null. Parrot_str_is_null is a drop-in replacement for STRING_is_null. See TT #1585 for (very sparse) further discussion.

Remove in-place substr op variants


Parrot moved to immutable strings for performance reasons. With immutable strings, a PIR-level string is never changed once it's been created. This means that ops that work on a string in-place no longer make sense.


PIR code should be changed as follows:

    #old version
    substr $S0, $I0, $I1, $S1

    #new version
    $S0 = replace $S0, $I0, $I1, $S1  

See also r46055 for more examples. See TT #1450 for further discussion.