summaryrefslogtreecommitdiff
path: root/builtin.c
Commit message (Collapse)AuthorAgeFilesLines
* Add builtin::blessed, refaddr and reftypePaul "LeoNerd" Evans2021-12-081-0/+15
|
* Add builtin:: funcs for handling weakrefsPaul "LeoNerd" Evans2021-12-041-15/+38
| | | | | Also, ensure that B::Deparse understands the OA_TARGMY optimisation of OP_ISBOOL
* Improvements to OP_ISBOOLPaul "LeoNerd" Evans2021-12-031-2/+2
| | | | | * Apply OA_RETSCALAR, OA_TARGLEX and OA_FOLDCONST flags * Handle both 'get' and 'set' magic
* Direct optree implementations of builtin:: functionsPaul "LeoNerd" Evans2021-12-011-11/+122
| | | | | | Turn builtin::true/false into OP_CONSTs Add a dedicated OP_ISBOOL, make an efficient op version of builtin::isbool()
* builtin.c: Fix C++ compilation errorsDagfinn Ilmari Mannsåker2021-11-301-7/+6
| | | | | | | | | C++ does not allow `goto` across initalisations of variables that are in scope at the label, so just get rid of the `goto`. An alternative would be to start a new scope after the first `goto`, so that the variables aren't in scope any more at the label, but I think this is neater.
* Add a builtin:: namespace, with true/false/isboolPaul "LeoNerd" Evans2021-11-291-0/+103
This finishes the perl-visible API required for RFC 0008 https://github.com/Perl/RFCs/blob/master/rfcs/rfc0008.md It also begins the "builtin::" namespace of RFC 0009 https://github.com/Perl/RFCs/blob/master/rfcs/rfc0009.md