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

<http://perl5.git.perl.org/perl.git/commitdiff/452cca5ccbee507639e1f443a4b39eb052a1015b?hp=0000000000000000000000000000000000000000>

        at  452cca5ccbee507639e1f443a4b39eb052a1015b (commit)

- Log -----------------------------------------------------------------
commit 452cca5ccbee507639e1f443a4b39eb052a1015b
Author: Nicholas Clark <n...@ccl4.org>
Date:   Sat May 14 12:26:37 2011 +0100

    Provide the names of the magic vtables in PL_magic_vtable_names[].
    
    As it's a 1 to 1 mapping with the vtables in PL_magic_vtables[], refactor
    Perl_do_magic_dump() to index into it directly to find the name for an
    arbitrary mg_virtual, avoiding a long switch statement.

M       dump.c
M       globvar.sym
M       mg_vtable.h
M       regen/mg_vtable.pl

commit ca430b8239db752744774060f8c3d43434a13be6
Author: Nicholas Clark <n...@ccl4.org>
Date:   Sat May 14 09:41:18 2011 +0100

    Replace references to PL_vtbl_{bm,fm} in the code with PL_vtbl_regexp.
    
    Also, in Perl_sv_magic() merge the case for PERL_MAGIC_dbfile with the 
others
    that return a NULL vtable.

M       dump.c
M       regen/mg_vtable.pl
M       sv.c

commit d4fb0d483bc449a1cf8d9225108c068b80701a22
Author: Nicholas Clark <n...@ccl4.org>
Date:   Sat May 14 09:16:30 2011 +0100

    PL_vtbl_{bm,fm} can be aliases to PL_vtbl_regexp, instead of copies.
    
    They became copies in 488344d27a84a21a, which merged Perl_magic_setbm() and
    Perl_magic_setfm() into Perl_magic_setregexp().

M       mg_vtable.h
M       regen/mg_vtable.pl

commit b76b4f66d7bf31e6056088ff895790c111c4a3de
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 21:21:49 2011 +0100

    Refactor Perl_get_vtbl() to a small array lookup from a large switch 
statement.
    
    Provide magic_vtable_max, the number of elements in PL_magic_vtables[].

M       mg_vtable.h
M       regen/mg_vtable.pl
M       util.c

commit 5d921ddd528ed32f61bec8cfc4db9fa06e0fee32
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 21:06:29 2011 +0100

    Tests for Perl_get_vtbl()

M       ext/XS-APItest/APItest.xs
M       ext/XS-APItest/t/magic.t

commit ca0e3a1eeb7e7baa9e18247f6ae1e7a5832568f1
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 20:24:34 2011 +0100

    Replace PL_vtbl_* with an array PL_magic_vtables.
    
    Define each PL_vtbl_* name as a macro which expands to the correct array
    element. Using a single array instead of multiple named variables will allow
    the simplification of various pieces of code.

M       globvar.sym
M       makedef.pl
M       mg_vtable.h
M       regen/mg_vtable.pl

commit 061ef57164a5ae91e05d4e0eea3a7c719e99e703
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 18:02:08 2011 +0100

    Generate the enum for want_vtbl_* with regen/mg_vtable.pl

M       mg_vtable.h
M       perl.h
M       regen/mg_vtable.pl

commit c150c9a8cac41c10c4c35b032babe670f8cc41c1
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 17:29:09 2011 +0100

    Remove want_vtbl_{glob,symtab}, which aren't used and don't do anything 
useful.
    
    Nothing visible on CPAN uses either. Passing either to Perl_get_vtbl() will
    currently return NULL (as a runtime error, rather than a compile time 
error).
    
    The case for want_vtbl_glob was removed from the switch in Perl_get_vtbl() 
in
    c0c446747ad6c5bd (which eliminated the need for magic on typeglobs).
    want_vtbl_symtab was added to the enum in perl.h with 8d2f45362e368d7d, but
    no code was added to Perl_get_vtbl() as there is no corresponding vtable.

M       perl.h

commit 4a801ec095ef8775db04930f7d6ff42c35a4357c
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 16:50:51 2011 +0100

    Move the work of MGVTBL_SET() from the C pre-processor to mg_vtable.pl
    
    Generating mg_vtable.h with MGVTBL_SET() effectively pre-expanded makes 
things
    clearer. This eliminates use of the macro MGVTBL_SET(), which can be deleted
    as nothing outside the core is relying on it.

M       mg_vtable.h
M       perl.h
M       regen/mg_vtable.pl

commit 7b7d177b196a524ae306a1106ff2c13946680767
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 16:35:59 2011 +0100

    Move the cast for a magic vtable with const get into mg_vtable.h
    
    Putting the cast inside the initialiser (the only initialiser using it)
    eliminates use of the macro MGVTBL_SET_CONST_MAGIC_GET(), which can be 
deleted
    as nothing outside the core is relying on it.

M       mg_vtable.h
M       perl.h
M       regen/mg_vtable.pl

commit 63a3c8bbc3f66f64d35b5f7646011b5521e8ab3f
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 14:17:22 2011 +0100

    Generate the definitions for magic vtables from data in a regen script.
    
    Previously perl.h contained a long section of MGVTBL_SET() macros declaring
    the core's various magic vtables. Convert the information into data 
structures
    in a new script regen/mg_table.pl, and use this to generate a new file
    mg_vtable.h, included by perl.h
    
    This is the first step in reducing the number of places that data relating 
to
    magic vtables is declared (and has to be kept in sync), and will allow more
    flexibility in parts of the core's implementation.

M       MANIFEST
M       Porting/makerel
A       mg_vtable.h
M       perl.h
M       regen.pl
A       regen/mg_vtable.pl
M       t/porting/regen.t
M       vms/descrip_mms.template

commit 288c3571b31d60e6908f2c274296f5aadd62ee27
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 12:36:44 2011 +0100

    Abolish PL_vtbl_sig. It's been all 0s since it was added in 5.0 alpha 2.
    
    Magic with a NULL vtable is equivalent to magic with a vtable of all 0s.
    On CPAN, only Apache::Peek's code for 5.005 is referencing it.

M       XSUB.h
M       dump.c
M       globvar.sym
M       perl.h
M       pod/perlguts.pod
M       sv.c
M       util.c

commit 95a2213ebc185a9a83b38a87cfdf78f1ac4f59e4
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 11:39:18 2011 +0100

    Don't even declare PL_vtbl_sigelem under -DPERL_MICRO
    
    This turns out to be a simpler solution than 9ba75e3cf905a6e6.

M       dump.c
M       perl.h
M       sv.c
M       util.c

commit ef39e78bc2cecc42a041e111563501275414b172
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri May 13 10:48:07 2011 +0100

    Remove PERL_UNUSED_ARG() from Perl_magic_clearsig(), missed by 
179c85a2d774d3be

M       mg.c
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to