summaryrefslogtreecommitdiff
path: root/ext/B/typemap
Commit message (Collapse)AuthorAgeFilesLines
* Add a few helpers to B for INVLISTNicolas R2020-11-101-0/+1
| | | | | | | | | | | | | This commit provide some basic method to access to internal fields from one INVLIST: SVt_INVLIST - prev_index - is_offset - array_len - get_invlist_array This allows B::C to be walk and save invlists.
* Prepare B typemap for upcoming pad name changesFather Chrysostomos2014-11-301-0/+13
|
* Make PADNAMELIST a separate typeFather Chrysostomos2014-11-301-0/+13
| | | | This is in preparation for making PADNAME a separate type.
* make ext/B work with 5.16.xDavid Mitchell2012-10-261-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The modules and tests under ext/B are notionally supposed to be portable to older perl versions; in practice, extensive bit-rot has occurred; often attempts have been made to add version-specific code, which haven't actually been tested against older perl versions. This commit does the minimum necessary to get the tests under ext/B working with 5.16.0 and 5.16.1, threaded and unthreaded. It makes no assertions as to whether it will work with the rest of the 5.16.x test suite. The side effects of this fix-up are: * a facility has been added to OptreeCheck.pm (the test module that checks the Concise output of various constructs) that allows version-specific matching, e.g.: # 4 <$> const(PV "junk") s* < 5.017002 # 4 <$> const(PV "junk") s*/FOLD >=5.017002 * OptreeCheck.pm's skip mechanism was found to be broken: checkOptree() allows you to specify skipping, but only skipped one test, even though a single call to checkOptree() could generate multiple lines of test output.
* Stop padlists from being AVsFather Chrysostomos2012-08-211-0/+17
| | | | | | | | | | | | | | | | | | | | | In order to fix a bug, I need to add new fields to padlists. But I cannot easily do that as long as they are AVs. So I have created a new padlist struct. This not only allows me to extend the padlist struct with new members as necessary, but also saves memory, as we now have a three-pointer struct where before we had a whole SV head (3-4 pointers) + XPVAV (5 pointers). This will unfortunately break half of CPAN, but the pad API docs clearly say this: NOTE: this function is experimental and may change or be removed without notice. This would have broken B::Debug, but a patch sent upstream has already been integrated into blead with commit 9d2d23d981.
* In B.xs, use PPCODE rather than a typemap for output of T_SV_OBJNicholas Clark2010-11-081-4/+0
| | | | | This actually reduces both source code size and object code size (the latter by almost 1K on this platform).
* In B.xs refactor cc_opclassname() to make_op_object().Nicholas Clark2010-11-081-3/+0
| | | | | | | | | | | | | | All bar one of the callers to cc_opclassname() were using it in the same way - to pass as the second argument of newSVrv(), whose first argument was a new mortal, and return value was used with sv_setiv() and PTR2IV(). So clearly *that* is the common code needed. Inline the existing code (all 1 line of it) in the other location that called cc_opclassname(). As the typemap was using cc_opclassname(), replace the 4 implicit uses of it with explicit PPCODE sections. Curiously, removing the use of this typemap actually reduces the line count of B.xs On this platform, this reduces the object code size by almost .5K.
* First class regexps.Nicholas Clark2007-12-281-0/+1
| | | p4raw-id: //depot/perl@32751
* User pragmas now accessible from BJoshua ben Jore2006-12-061-0/+25
| | | | | | From: "Joshua ben Jore" <twists@gmail.com> Message-ID: <dc5c751d0612051318n2e2f08bfh185fab6323a980b@mail.gmail.com> p4raw-id: //depot/perl@29475
* Re: [perl #22984] perl-5.8.1-RC2: TEST -bytecompile won't work at allAdrian M. Enache2003-07-271-0/+1
| | | | | Message-ID: <20030718201537.GA1574@ratsnest.hole> p4raw-id: //depot/perl@20220
* B:: fixes + 'When were CVOPs gone ?'Adrian M. Enache2003-07-011-1/+0
| | | | | Message-ID: <20030701165125.GA1521@ratsnest.hole> p4raw-id: //depot/perl@19916
* [patch ext/B/typemap] STRLEN T_UVStas Bekman2003-03-141-1/+1
| | | | | Message-ID: <3E717A75.2060300@stason.org> p4raw-id: //depot/perl@18984
* usurp GVOP slot for new PADOP (one small step to making optreeGurusamy Sarathy1999-10-291-1/+2
| | | | | shareable across interpreters) p4raw-id: //depot/perl@4484
* Replace change #4100 withRobin Barker1999-09-131-5/+5
| | | | | | | | | | To: gsar@activestate.com Cc: perl5-porters@perl.org Subject: Re: [ID 19990907.004] [PATCH perl5.005_61] compiler warnings with -Duse64bits Message-Id: <199909131315.OAA24012@tempest.npl.co.uk> p4raw-link: @4100 on //depot/cfgperl: 427181846486e3aa5034a647dc1922377185f4c0 p4raw-id: //depot/cfgperl@4136
* Fix pointer casts.Robin Barker1999-09-071-5/+5
| | | | | | | | To: perl5-porters@perl.org Subject: [ID 19990907.004] [PATCH perl5.005_61] compiler warnings with -Duse64bits Message-Id: <199909071130.MAA11435@tempest.npl.co.uk> p4raw-id: //depot/cfgperl@4100
* Eliminate CONDOPsStephen McCamant1999-07-071-1/+0
| | | | | Message-ID: <14193.25034.113373.245377@alias-2.pr.mcs.net> p4raw-id: //depot/perl@3637
* more complete support for implicit thread/interpreter pointer,Gurusamy Sarathy1999-06-091-2/+2
| | | | | | | | | | | | | | | | | | | | | enabled via -DPERL_IMPLICIT_CONTEXT (all changes are noops without that enabled): - USE_THREADS now enables PERL_IMPLICIT_CONTEXT, so dTHR is a noop; tests pass on Solaris; should be faster now! - MULTIPLICITY has been tested with and without PERL_IMPLICIT_CONTEXT on Solaris - improved function database now merged with embed.pl - everything except the varargs functions have foo(a,b,c) macros to provide compatibility - varargs functions default to compatibility variants that get the context pointer using dTHX - there should be almost no source compatibility issues as a result of all this - dl_foo.xs changes other than dl_dlopen.xs untested - still needs documentation, fixups for win32 etc Next step: migrate most non-mutex variables from perlvars.h to intrpvar.h p4raw-id: //depot/perl@3524
* Merge perlext/Compiler/... into mainline. Some files move toMalcolm Beattie1998-02-201-0/+69
ext/B/..., some to lib/B/..., O.pm and B.pm go in lib and some move to the base perl directory (e.g. headers). Will need some cleaning up before it builds properly, I would guess. p4raw-id: //depot/perl@562