The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Same as "ENTER", but when debugging is enabled it also associates the given literal string with the new scope.

Same as "LEAVE", but when debugging is enabled it first checks that the scope has the given name. name must be a literal string.

These temporarily allocates data on the savestack, returning an SSize_t index into the savestack, because a pointer would get broken if the savestack is moved on reallocation. Use "SSPTR" to convert the returned index into a pointer.

The forms differ in that plain SSNEW allocates size bytes; SSNEWt and SSNEWat allocate size objects, each of which is type type; and <SSNEWa> and SSNEWat make sure to align the new data to an align boundary. The most useful value for the alignment is likely to be "MEM_ALIGNBYTES". The alignment will be preserved through savestack reallocation only if realloc returns data aligned to a size divisible by "align"!

These convert the index returned by L/<SSNEW> and kin into actual pointers.

The difference is that SSPTR casts the result to type, and SSPTRt casts it to a pointer of that type.

Implements SAVEOP.