X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FOpcode%2FOpcode.pm;h=9dbbce0b5de63f07e7ac4f04761745ea53965b1d;hb=352e1c09cf09498d4917c120c2055943a4301c0a;hp=179da045579b9473d1f4414bf305e490dfab1b8b;hpb=e866b74b8651a8d5e0458756533f958fc66fd305;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/Opcode/Opcode.pm b/ext/Opcode/Opcode.pm index 179da04..9dbbce0 100644 --- a/ext/Opcode/Opcode.pm +++ b/ext/Opcode/Opcode.pm @@ -4,10 +4,9 @@ use 5.006_001; use strict; -our($VERSION, $XS_VERSION, @ISA, @EXPORT_OK); +our($VERSION, @ISA, @EXPORT_OK); -$VERSION = "1.07"; -$XS_VERSION = "1.03"; +$VERSION = "1.15"; use Carp; use Exporter (); @@ -29,7 +28,7 @@ sub opset_to_hex ($); sub opdump (;$); use subs @EXPORT_OK; -XSLoader::load 'Opcode', $XS_VERSION; +XSLoader::load 'Opcode', $VERSION; _init_optags(); @@ -311,7 +310,8 @@ invert_opset function. rv2av aassign aelem aelemfast aslice av2arylen - rv2hv helem hslice each values keys exists delete + rv2hv helem hslice each values keys exists delete aeach akeys avalues + boolkeys preinc i_preinc predec i_predec postinc i_postinc postdec i_postdec int hex oct abs pow multiply i_multiply divide i_divide @@ -333,7 +333,7 @@ invert_opset function. cond_expr flip flop andassign orassign dorassign and or dor xor - warn die lineseq nextstate scope enter leave setstate + warn die lineseq nextstate scope enter leave rv2cv anoncode prototype @@ -351,7 +351,7 @@ available memory). anonlist anonhash -Note that despite the existance of this optag a memory resource attack +Note that despite the existence of this optag a memory resource attack may still be possible using only :base_core ops. Disabling these ops is a I heavy handed way to attempt to prevent @@ -382,7 +382,7 @@ account the magical open of ARGV. formline enterwrite leavewrite - print sysread syswrite send recv + print say sysread syswrite send recv eof tell seek sysseek @@ -396,6 +396,8 @@ These are a hotchpotch of opcodes still waiting to be considered padsv padav padhv padany + once + rv2gv refgen srefgen ref bless -- could be used to change ownership of objects (reblessing) @@ -416,6 +418,11 @@ These are a hotchpotch of opcodes still waiting to be considered entertry leavetry -- can be used to 'hide' fatal errors + entergiven leavegiven + enterwhen leavewhen + break continue + smartmatch + custom -- where should this go =item :base_math @@ -435,7 +442,7 @@ beyond the scope of the compartment. These ops are related to multi-threading. - lock threadsv + lock =item :default @@ -530,6 +537,14 @@ SystemV Interprocess Communications: shmctl shmget shmread shmwrite +=item :load + +This tag holds opcodes related to loading modules and getting information +about calling environment and args. + + require dofile + caller + =item :still_to_be_decided chdir @@ -543,10 +558,9 @@ SystemV Interprocess Communications: tied -- can be used to access object implementing a tie pack unpack -- can be used to create/use memory pointers - entereval -- can be used to hide code from initial compile - require dofile + hintseval -- constant op holding eval hints - caller -- get info about calling environment and args + entereval -- can be used to hide code from initial compile reset @@ -555,18 +569,17 @@ SystemV Interprocess Communications: =item :dangerous This tag is simply a bucket for opcodes that are unlikely to be used via -a tag name but need to be tagged for completness and documentation. +a tag name but need to be tagged for completeness and documentation. syscall dump chroot - =back =head1 SEE ALSO -ops(3) -- perl pragma interface to Opcode module. +L -- perl pragma interface to Opcode module. -Safe(3) -- Opcode and namespace limited execution compartments +L -- Opcode and namespace limited execution compartments =head1 AUTHORS