This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add filename handling to xs handshake
authorDaniel Dragan <bulk88@hotmail.com>
Thu, 13 Nov 2014 06:59:06 +0000 (01:59 -0500)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 13 Nov 2014 12:41:46 +0000 (04:41 -0800)
commit9a18979311347ab1c45e2ef16113bb5abe4cbd26
tree22590b8dffe9c4de5f1bf101111d04690033aea1
parented6401c5fdd50fe275e7ed0d9af99dff6ec7c1fb
add filename handling to xs handshake

- this improves the error message on ABI incompatibility, per
  [perl #123136]
- reduce the number of gv_fetchfile calls in newXS over registering many
  XSUBs
- "v" was not stripped from PERL_API_VERSION_STRING since string
  "vX.XX.X\0", a typical version number is 8 bytes long, and aligned to
  4/8 by most compilers in an image. A double digit maint release is
  extremely unlikely.
- newXS_deffile saves on machine code in bootstrap functions by not passing
  arg filename
- move newXS to where the rest of the newXS*()s live
- move the "no address" panic closer to the start to get it out of the way
  sooner flow wise (it nothing to do with var gv or cv)
- move CvANON_on to not check var name twice
- change die message to use %p, more efficient on 32 ptr/64 IV platforms
  see ML post "about commit "util.c: fix comiler warnings""
- vars cv/xs_spp (stack pointer pointer)/xs_interp exist for inspection by
  a C debugger in an unoptimized build
15 files changed:
XSUB.h
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
embed.fnc
embed.h
embedvar.h
ext/DynaLoader/dlutils.c
ext/re/re.xs
intrpvar.h
op.c
pod/perldiag.pod
proto.h
sv.c
util.c
util.h