In perl.git, the branch smoke-me/davem/cybers_methop_stuff2 has been created

<http://perl5.git.perl.org/perl.git/commitdiff/6eba13c8212ac47e860c34dec3463111fe2c2790?hp=0000000000000000000000000000000000000000>

        at  6eba13c8212ac47e860c34dec3463111fe2c2790 (commit)

- Log -----------------------------------------------------------------
commit 6eba13c8212ac47e860c34dec3463111fe2c2790
Author: David Mitchell <da...@iabyn.com>
Date:   Wed Sep 17 20:26:31 2014 +0100

    fix B::METHOP::first, B::METHOP::meth_sv
    
    for METHOPs, op_first and op_meth_sv are in a union, so only
    one can be valid a time. Decide which based on op type. Previously
    it was interpreting an SV pointer as an OP pointer and vice versa.
    
    Also, remove some vestigal code from Concise.pm that handled
    method_named, in a branch no longer called for method ops

M       ext/B/B.xs
M       ext/B/B/Concise.pm

commit 2ba663482ba002eee231e4acf94f56fbe09cf947
Author: David Mitchell <da...@iabyn.com>
Date:   Mon Sep 15 14:17:43 2014 +0100

    fixups to adding METHOP:
    
    * the new regen/op_private needed to be told about the new op;
    
    * an op.c assert needed to be told the METHOPs can have a child.
    
    * remove trailing whitespace in the new S_newMETHOP_internal() function
    
    * add a comment about alignment of methop.op_u.op_first and op_meth_sv

M       ext/B/B/Concise.pm
M       lib/B/Op_private.pm
M       op.c
M       op.h
M       opcode.h
M       regen/op_private

commit 759c90ecd64e768793caeb08d48dad07402844b8
Author: syber <sy...@crazypanda.ru>
Date:   Sat Sep 6 02:59:42 2014 +0400

    Add new METHOP class for OP_METHOD* ops
    
    Change op structure for OP_METHOD and OP_METHOD_NAMED from UNOP/SVOP
    to METHOP.
    
    METHOP is a new structure for method ops, which holds class/method
    related info needed at runtime to improve perfomance of
    class/object method calls.
    
    Nothing changed in functionality and/or perfomance by this commit.
    It just introduces new structure which will be extended with extra
    fields and used in next commits.
    
    Added METHOP constructors:
    - newMETHOP() for method ops with dynamic method names.
      The only optype for this op is OP_METHOD.
    - newMETHOP_named() for method ops with constant method names.
      Optypes for this op are: OP_METHOD_NAMED (currently) and (later)
      OP_METHOD_SUPER, OP_METHOD_REDIR, OP_METHOD_NEXT, OP_METHOD_NEXTCAN,
      OP_METHOD_MAYBENEXT
    
    Changed perly.y, op.c and others to use METHOP instead of UNOP/SVOP
    Changed opcodes, B.xs, B::Concise, B::Deparse, B::Deparse's tests, docs
    
    New op class character is '.'
    
    Conflicts:
        ext/B/t/optree_specials.t

M       dump.c
M       ext/B/B.pm
M       ext/B/B.xs
M       ext/B/B/Concise.pm
M       ext/B/t/optree_specials.t
M       lib/B/Deparse.pm
M       op.c
M       op.h
M       opcode.h
M       perl.c
M       regen/opcode.pl
M       regen/opcodes

commit ba1440a8cf62ff927a7c9c52724a2a4d56f089fa
Author: syber <sy...@crazypanda.ru>
Date:   Thu Sep 4 22:08:59 2014 +0400

    Change op structure for OP_METHOD and OP_METHOD_NAMED from UNOP/SVOP
    to METHOP.
    METHOP is a new structure for method ops, which holds class/method
    related info needed at runtime to improve perfomance of
    class/object method calls.
    
    Nothing changed in functionality and/or perfomance by this commit.
    It just introduces new structure which will be extended with extra
    fields and used in next commits.
    
    METHOP is binary compatible with both UNOP and SVOP, so that things
    like B::Deparse and so on remain working.
    
    Added METHOP constructors:
    - newMETHOP() for method ops with dynamic method names.
      The only optype for this op is OP_METHOD.
    - newMETHOP_named() for method ops with constant method names.
      Optypes for this op are: OP_METHOD_NAMED (currently) and (later)
      OP_METHOD_SUPER, OP_METHOD_REDIR, OP_METHOD_NEXT, OP_METHOD_NEXTCAN,
      OP_METHOD_MAYBENEXT
    
    Changed perly.y, op.c and others to use METHOP instead of UNOP/SVOP

M       embed.fnc
M       embed.h
M       op.c
M       op.h
M       perl.c
M       perl.h
M       perly.act
M       perly.h
M       perly.tab
M       perly.y
M       pp_hot.c
M       proto.h
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to