X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FOpcode%2FOpcode.pm;h=6c4e8e575a5a09290c9546810008d1c34d5d68fe;hb=bd5cf8491554ab1313db72afbf9e7bc1debe967c;hp=533e6af3e4d2a78108f05393538e63135b285ee3;hpb=4369b1735f5aa251358acad5be8ee26dfbfb02ef;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/Opcode/Opcode.pm b/ext/Opcode/Opcode.pm index 533e6af..6c4e8e5 100644 --- a/ext/Opcode/Opcode.pm +++ b/ext/Opcode/Opcode.pm @@ -1,19 +1,20 @@ package Opcode; -require 5.002; +use 5.006_001; -use vars qw($VERSION $XS_VERSION @ISA @EXPORT_OK); +use strict; + +our($VERSION, $XS_VERSION, @ISA, @EXPORT_OK); -$VERSION = "1.04"; +$VERSION = "1.05"; $XS_VERSION = "1.03"; -use strict; use Carp; use Exporter (); -use DynaLoader (); -@ISA = qw(Exporter DynaLoader); +use XSLoader (); BEGIN { + @ISA = qw(Exporter); @EXPORT_OK = qw( opset ops_to_opset opset_to_ops opset_to_hex invert_opset @@ -28,7 +29,7 @@ sub opset_to_hex ($); sub opdump (;$); use subs @EXPORT_OK; -bootstrap Opcode $XS_VERSION; +XSLoader::load 'Opcode', $XS_VERSION; _init_optags(); @@ -163,7 +164,7 @@ accumulated set of ops at that point. =item an operator set (opset) -An I as a binary string of approximately 43 bytes which holds a +An I as a binary string of approximately 44 bytes which holds a set or zero or more operators. The opset and opset_to_ops functions can be used to convert from @@ -185,7 +186,7 @@ tags and sets. All are available for export by the package. =item opcodes In a scalar context opcodes returns the number of opcodes in this -version of perl (around 340 for perl5.002). +version of perl (around 350 for perl-5.7.0). In a list context it returns a list of all the operator names. (Not yet implemented, use @names = opset_to_ops(full_opset).) @@ -330,13 +331,13 @@ invert_opset function. list lslice splice push pop shift unshift reverse - cond_expr flip flop andassign orassign and or xor + cond_expr flip flop andassign orassign dorassign and or dor xor - warn die lineseq nextstate unstack scope enter leave + warn die lineseq nextstate scope enter leave setstate rv2cv anoncode prototype - entersub leavesub return method -- XXX loops via recursion? + entersub leavesub leavesublv return method method_named -- XXX loops via recursion? leaveeval -- needed for Safe to operate, is safe without entereval @@ -365,7 +366,7 @@ used to implement a resource attack (e.g., consume all available CPU time). grepstart grepwhile mapstart mapwhile enteriter iter - enterloop leaveloop + enterloop leaveloop unstack last next redo goto @@ -414,6 +415,8 @@ These are a hotchpotch of opcodes still waiting to be considered entertry leavetry -- can be used to 'hide' fatal errors + custom -- where should this go + =item :base_math These ops are not included in :base_core because of the risk of them being