You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This has been suggested as a way to get an easy performance win. It does involve making NGC suffixed versions of a number of "Core" API functions to preserve ABI.
To do this better, an analogue of the pdl_error being used to return exceptions will be needed to separate warnings from the Perl specifics. This can be done with storing warnings using another pdl_error stored in the pdl_trans object.
Since that will be a single thing, it can be allocated when the pdl_trans is created, and the pointer to it stashed at the end of one of the blocks of pointers already allocated for the pdl_trans.
The RunFuncs will also need an additional parameter to return the warning data, since the pdl_trans is hidden inside them. Fortunately, they and their caller are compiled together, so there are no ABI implications.
Activity
make PDL.safe_indterm just return relevant value, not barf - #560
make PDL.pdl_{barf,warn}NGC - #560
pdl__remove_pdl_as_trans_input return error if child not found - #560
new PP intermediate RunFuncDecl - #560
extract PDL.any_inputs_bad - #560
extract PDL.any_inputs_bad - #560
multi-C generate .h declaring RunFunc and extern the vtable - #560
move badflag warning for non-handling to XS wrapper - #560
mohawk2 commentedon Aug 23, 2026
To do this better, an analogue of the
pdl_errorbeing used to return exceptions will be needed to separate warnings from the Perl specifics. This can be done with storing warnings using anotherpdl_errorstored in thepdl_transobject.Since that will be a single thing, it can be allocated when the
pdl_transis created, and the pointer to it stashed at the end of one of the blocks of pointers already allocated for thepdl_trans.mohawk2 commentedon Aug 23, 2026
The
RunFuncs will also need an additional parameter to return the warning data, since thepdl_transis hidden inside them. Fortunately, they and their caller are compiled together, so there are no ABI implications.