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

<http://perl5.git.perl.org/perl.git/commitdiff/4211760d07a548454a39edadb6da877e0de4be18?hp=0000000000000000000000000000000000000000>

        at  4211760d07a548454a39edadb6da877e0de4be18 (commit)

- Log -----------------------------------------------------------------
commit 4211760d07a548454a39edadb6da877e0de4be18
Author: David Mitchell <[email protected]>
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 d8c87cd1535d6d2f862063e9d68969aae71cdaad
Author: David Mitchell <[email protected]>
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       lib/B/Op_private.pm
M       op.c
M       op.h
M       opcode.h
M       regen/op_private

commit e167de6ca53db71a96e8e9e1487498963167ea61
Author: syber <[email protected]>
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 393b172e26a760f12cf9f5553f54786f78c1e69f
Author: syber <[email protected]>
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