summaryrefslogtreecommitdiff
path: root/opcode.pl
Commit message (Collapse)AuthorAgeFilesLines
* Move regen scripts to regen/Steffen Mueller2010-10-101-1101/+0
| | | | | Moves the various scripts that are called by regen.pl to a subdirectory to reduce clutter.
* Remove MEMBER_TO_FPTR.Ben Morrow2010-10-061-3/+3
| | | | This is left over from PERL_OBJECT (see beeff2, 16c915, and so on).
* Move OP prototypes from pp_proto.h to proto.hNicholas Clark2010-09-271-21/+1
| | | | | | | | | | | | Make embed.pl fully responsible for generating prototypes and embedding macros for pp_* and ck_* functions, placing them in embed.h and proto.h opcode.pl no longer generates pp_proto.h Remove the (effectively) duplicate explicit entries for (all but 2) ck_* functions from embed.fnc We can't actually remove pp_proto.h from the distribution *yet*, as ExtUtils::MM_Unix and ExtUtils::MM_VMS have hardcoded lists of the installed headers. Once this is resolved, we can.
* Ensure regen.pl and the scripts that it calls can be run by older perls.Nicholas Clark2010-09-221-1/+3
| | | | | | | As the internal comments state, they may be all that is available, particularly if trying to port something to an obscure platform. There's not that much that needs changing to get back to 5.005, or from there to 5.004, but beyond there is hard work, and really not worth it.
* Remove OA_RETINTEGER, unused since 2002 (commit e7311069df54baa6)Nicholas Clark2010-08-281-4/+4
| | | | | | | | This returns us to 8 flag bits, and restores OCSHIFT and OASHIFT to 8 and 12 Previously these were 9 and 13, and effectively PL_opargs[] was using 33 of 32 bits, relying on the ugly hack that no 5 argument builtin had an optional 5th argument, hence the (13 + 5 * 4)th bit was always zero. is effectively 33 bits.
* Fix escaping in opcode.h generationDagfinn Ilmari Mannsåker (via RT)2010-08-251-1/+1
| | | | | | The op list has no escapes, so there's no need check for already-escaped characters, and the existing regex breaks any run of consecutive backslashes, escaped or not.
* srand: change to return its seedKarl Williamson2010-07-281-1/+1
| | | | | | | | | | | | | | This commit changes srand to to return the seed instead of always returning 1. The motivation behind this is to allow applications to not have to come up with their own pseudo-random generator if they want repeatable results. The previous return behavior has never been documented. Note that it is possible, but very unlikely, for the seed to end up being 0, which means that if someone were relying on the undocumented previous behavior of srand returning true, that in very rare instances it would return 0, failing, and the next time they ran it, it would succeed, possibly leading to puzzlement and very rare unexplained failures.
* Make eval {} compile directly to OP_ENTERTRYRafael Garcia-Suarez2009-12-201-1/+1
| | | | | This way, it's correctly caught and blocked by Safe, separately from eval "".
* Move the boolkeys op to the group of hash ops.Nicholas Clark2009-10-151-2/+1
| | | | This breaks binary compatibility.
* Optimise if (%foo) to be faster than if(keys %foo)demerphq2009-10-151-0/+2
| | | | | | | | | | | Thread was "[PATCH] Make if (%hash) {} act the same as if (keys %hash) {}" http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-11/msg00432.html but the implementation evolved from the approach described in the subject, to instead add a new opcode pp_boolkeys, to exactly preserve the existing behaviour. Various conflicts with the passage of time resolved, 'register' removed, and a $VERSION bump.
* Add some documentation to the heads of the various *.pl build scriptsDavid Mitchell2009-05-151-0/+15
|
* Update copyright year in opcode.pl to reflect change 33364.Nicholas Clark2008-10-251-1/+1
| | | p4raw-id: //depot/perl@34587
* Drag autodoc.pl and overload.pl into the age of safer_open().Nicholas Clark2008-03-171-4/+4
| | | | | | | | Thanks to the wisdom of london.pm, stuff the filename into the SCALAR slot of the typeglob created in safer_open(), so that ... Add safer_close(), that will die (with the filename) if the close fails. p4raw-id: //depot/perl@33539
* Rename safer_rename() to rename_if_different(), to accurately describeNicholas Clark2008-03-151-42/+38
| | | | | | | | | | | | | what it does. Use File::Compare rather than Digest::MD5, as the files are small enough to simply read in. (File::Compare dates from 5.004) Remove safer_rename_always(), which isn't used. DRY by replacing the cargo-culted "open or die" with a new function safer_open(), which uses Gensym (5.002) to create an anonymous file handle, and opens and binmodes the file, or dies. This necessitates replacing bareword file handles with lexicals in all the callers. Correct the names of files in close or die constructions. p4raw-id: //depot/perl@33538
* Re: [patch] refine make regen to be more selectiveJim Cromie2008-03-151-6/+0
| | | | | | Message-ID: <47D720CE.7060004@gmail.com> Date: Tue, 11 Mar 2008 18:16:14 -0600 p4raw-id: //depot/perl@33537
* Tidy up error messagesRafael Garcia-Suarez2008-02-261-9/+9
| | | p4raw-id: //depot/perl@33374
* Ensure that constant folding runs with IN_PERL_RUNTIME true, by copyingNicholas Clark2008-02-251-1/+1
| | | | | | the current compiling cop to a different address. This ensures that lexical hints are correctly honoured, and allows us to fold sprintf. p4raw-id: //depot/perl@33369
* Re: [patch] optimize OP_IS_(FILETEST|SOCKET) macrosJim Cromie2008-02-251-11/+17
| | | | | | From: "Jim Cromie" <jim.cromie@gmail.com> Message-ID: <cfe85dfa0802101152n4e1b9e07pc7fb7ad9241a9794@mail.gmail.com> p4raw-id: //depot/perl@33364
* Re: [PATCH] Splitting OP_CONST (Was: pp_const, not, that, hot?)Vincent Pit2008-02-231-0/+1
| | | | | | Message-ID: <47B60D72.50708@profvince.com> Date: Fri, 15 Feb 2008 23:08:50 +0100 p4raw-id: //depot/perl@33356
* Eliminate ck_lengthconst.Nicholas Clark2008-02-201-1/+1
| | | p4raw-id: //depot/perl@33338
* Setting the f flag on length causes the op to be constant folded.Nicholas Clark2008-02-201-1/+1
| | | p4raw-id: //depot/perl@33337
* [patch] optimize OP_IS_(FILETEST|SOCKET) macrosJim Cromie2008-02-101-21/+52
| | | | | | Message-ID: <47ADBF3B.2050108@gmail.com> Date: Sat, 09 Feb 2008 07:56:59 -0700 p4raw-id: //depot/perl@33267
* Eliminate the OP_SETSTATE, which had been disabled by change 4309.Nicholas Clark2008-01-261-1/+0
| | | p4raw-id: //depot/perl@33072
* refactor PL_opargs generation in opcode.pl and fix helemMarcus Holland-Moritz2008-01-091-24/+41
| | | | | Message-ID: <20080103012935.759bda90@r2d2> p4raw-id: //depot/perl@32921
* Implement each @array.Nicholas Clark2007-12-201-3/+8
| | | | | | Documentation needed, FIXME for proper 64 bit support of arrays longer than 2**32, re-order the new ops at the end if merging to 5.10.x. p4raw-id: //depot/perl@32680
* Make state $zok = slosh(); behave as the Perl 6 design with an implicitNicholas Clark2007-09-061-0/+4
| | | | | | | | | | | | | | | START block. First time through, call slosh() and assign to $zok. Subsequently neither call slosh() nor assign to $zok. Adds a new op ONCE to control the conditonal call and assign. No change to list context, so state ($zok) = slosh() and (state $zok) = ... etc will still repeatedly evaluate and assign. [Can't fix that before 5.10] Use as an RVALUE is as Larry's design - my $boff = state $zok = ...; will evaluate, assign and return first time, and subsequently act as if it were written my $boff = $zok; FIXME - state $zok = ...; won't deparse - I believe op->op_last isn't being correctly set on the sassign, but I don't know how to fix this. This change may be backed out before 5.10. p4raw-id: //depot/perl@31798
* Remove the never-used numeric and character switch ops.Nicholas Clark2007-03-301-3/+0
| | | p4raw-id: //depot/perl@30785
* A logical rearrangement of ops, to get the post 5.005 ops to theirNicholas Clark2007-03-301-18/+14
| | | | | logical groups. p4raw-id: //depot/perl@30784
* Oops. Failed to remove the now obsolete comment about custom ops.Nicholas Clark2007-03-301-2/+0
| | | p4raw-id: //depot/perl@30783
* Remove the restriction that op_custom has to be the last op.Nicholas Clark2007-03-301-3/+3
| | | | | This allows more ops to be added during the life of a stable release. p4raw-id: //depot/perl@30782
* Make readline() default to *ARGV.Rafael Garcia-Suarez2007-03-241-1/+1
| | | | | Plus MAD fixes. p4raw-id: //depot/perl@30750
* Now that readpipe defaults to $_, I should update the prototype tableRafael Garcia-Suarez2007-03-241-1/+1
| | | | | in opcode.pl too. p4raw-id: //depot/perl@30749
* blead (honestly :-) g++ with -DPERL_GLOBAL_STRUCT_PRIVATE needs tweakingJarkko Hietaniemi2007-02-191-1/+2
| | | | | | | | Message-Id: <20070219174107.63EEB43A67@anubis.hut.fi> Plus a regen picked up changes in pod/perlapi.pod related to change #30347. p4raw-id: //depot/perl@30362
* pp_rv2av and pp_rv2hv have a lot of common code, so it's certainly aNicholas Clark2007-01-151-0/+1
| | | | | space saving to merge them. Hopefully this will reduce L2 cache misses. p4raw-id: //depot/perl@29836
* Make opcode.pl strict and warnings clean.Nicholas Clark2007-01-091-22/+28
| | | p4raw-id: //depot/perl@29736
* Eliminate pp_threadsv, as it was only ever used by 5005 threads.Nicholas Clark2007-01-081-2/+1
| | | p4raw-id: //depot/perl@29727
* Update copyright years in .h files. Also, in .plRafael Garcia-Suarez2007-01-051-3/+3
| | | | | | files that generate .h files, so they'll be ready next time. p4raw-id: //depot/perl@29695
* Re-order ops to the implementation order in pp_sys.c - this makes aNicholas Clark2006-11-121-5/+5
| | | | | branch table corresponding to a switch statement slightly smaller. p4raw-id: //depot/perl@29251
* Re: $, and sayGisle Aas2006-11-021-1/+1
| | | | | | | | Message-ID: <lrek2t1e8n.fsf@caliper.activestate.com> with tweaks so "say;" continues to default to $_ plus a regression test p4raw-id: //depot/perl@29187
* Make readpipe() overridable (and also `` and qx//)Rafael Garcia-Suarez2006-10-311-1/+1
| | | p4raw-id: //depot/perl@29168
* C++: Solaris CC now compiles "perl"Jarkko Hietaniemi2006-09-111-2/+2
| | | | | Message-ID: <4502B398.6060505@iki.fi> p4raw-id: //depot/perl@28814
* Merging pp_bit_or and pp_bit_xor shrinks the object code by about .7K.Nicholas Clark2006-02-071-0/+1
| | | | | The overloading tests are not free. p4raw-id: //depot/perl@27126
* Allow bareword file handle as argument to chdir().Gisle Aas2006-02-071-1/+2
| | | | | | This copies the mechanism used by truncate(). Fixes bug #38457. p4raw-id: //depot/perl@27125
* All the trancendental unary operators can be merged into PP_sinNicholas Clark2006-02-071-0/+1
| | | | | (cos, exp, log, sqrt) p4raw-id: //depot/perl@27124
* pp_pop can be implemented by pp_shift.Nicholas Clark2006-02-071-0/+1
| | | p4raw-id: //depot/perl@27121
* pp_hex can be implemented trivially by pp_oct, making pp_hex a mathom.Nicholas Clark2006-02-071-0/+1
| | | p4raw-id: //depot/perl@27119
* Merge pp_index and pp_rindex - we have another mathom.Nicholas Clark2006-02-071-0/+1
| | | p4raw-id: //depot/perl@27118
* Update the copyright years in the generated files, and nostdio.hNicholas Clark2006-01-081-1/+2
| | | p4raw-id: //depot/perl@26736
* sprinkle dVARJarkko Hietaniemi2006-01-061-0/+10
| | | | | Message-ID: <43BE7C4D.1010302@gmail.com> p4raw-id: //depot/perl@26675
* Happy New Year. (It's not just embed.pl).Nicholas Clark2006-01-021-1/+1
| | | p4raw-id: //depot/perl@26572