summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1999-11-15 00:22:20 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1999-11-15 00:22:20 +0000
commit83bef53deaf995ad527b56384202a2141f4153e5 (patch)
tree84e7b6e95a62e27ea32e2eda510beafb5c6183a5
parent6eb5f6b9f48454b7ad64225a5bab0de7fdff695c (diff)
parent62fde6427850206f9043b1f1a24485f145ebce72 (diff)
downloadperl-83bef53deaf995ad527b56384202a2141f4153e5.tar.gz
Integrate with Sarathy.
p4raw-id: //depot/cfgperl@4587
-rw-r--r--Changes858
-rw-r--r--embed.h38
-rwxr-xr-xembed.pl25
-rw-r--r--embedvar.h6
-rw-r--r--global.sym10
-rw-r--r--intrpvar.h2
-rw-r--r--makedef.pl12
-rw-r--r--objXSUB.h40
-rw-r--r--op.c4
-rw-r--r--perl.h20
-rwxr-xr-xperlapi.c44
-rw-r--r--proto.h21
-rw-r--r--run.c3
-rw-r--r--sv.c213
-rw-r--r--win32/perllib.c2
15 files changed, 1145 insertions, 153 deletions
diff --git a/Changes b/Changes
index b1574c1b92..5b0dc067f6 100644
--- a/Changes
+++ b/Changes
@@ -79,6 +79,864 @@ Version 5.005_63 Development release working toward 5.6
----------------
____________________________________________________________________________
+[ 4582] By: jhi on 1999/11/14 17:10:01
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> cop.h dump.c ext/Opcode/Opcode.xs gv.c op.c perl.c perly.c
+ !> perly.y pp_ctl.c pp_sys.c sv.c t/op/misc.t toke.c util.c
+ !> vms/perly_c.vms win32/perllib.c
+____________________________________________________________________________
+[ 4581] By: jhi on 1999/11/14 17:08:23
+ Log: The separation of 64-bitness and largefileness continues
+ (with a setback, see hpux.sh).
+ Branch: cfgperl
+ ! Configure MANIFEST config_h.SH hints/aix.sh hints/hpux.sh
+ ! hints/solaris_2.sh
+ Branch: metaconfig
+ ! U/threads/archname.U U/typedefs/lseektype.U
+ Branch: metaconfig/U/perl
+ ! fpossize.U use64bits.U uselfs.U
+____________________________________________________________________________
+[ 4580] By: jhi on 1999/11/14 13:26:41
+ Log: Another Unicode update.
+ Branch: cfgperl
+ + lib/unicode/Jamo.txt lib/unicode/NamesList.html
+ + lib/unicode/UCD300.html lib/unicode/Unicode3.html
+ - lib/unicode/Jamo-2.txt lib/unicode/Unicode.html
+ ! (edit 189 files)
+____________________________________________________________________________
+[ 4579] By: gsar on 1999/11/14 10:21:49
+ Log: sundry cleanups for cloned interpreters (only known failure mode
+ is due to regexps keeping non-constant data in their compiled
+ structures)
+ Branch: perl
+ ! cop.h dump.c ext/Opcode/Opcode.xs gv.c op.c perl.c pp_ctl.c
+ ! pp_sys.c sv.c toke.c util.c win32/perllib.c
+____________________________________________________________________________
+[ 4578] By: gsar on 1999/11/14 03:37:37
+ Log: fix bug in change#4515 (STOP blocks now see @ARGV like the rest)
+ Branch: perl
+ ! perly.c perly.y t/op/misc.t vms/perly_c.vms
+____________________________________________________________________________
+[ 4577] By: jhi on 1999/11/13 19:50:24
+ Log: Change #4576 accidentally leaked also parts of
+ Ilya's patch that won't apply cleanly anymore.
+ Branch: cfgperl
+ ! regexec.c t/op/re_tests
+____________________________________________________________________________
+[ 4576] By: jhi on 1999/11/13 19:43:37
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ ! embed.h embed.pl embedvar.h proto.h regexec.c t/op/re_tests
+ !> ext/Errno/Errno_pm.PL ext/IO/lib/IO/Socket.pm t/lib/dumper.t
+ !> t/op/regexp.t t/pragma/overload.t
+____________________________________________________________________________
+[ 4575] By: gsar on 1999/11/13 19:41:46
+ Log: typos in change#4561 and change#4565
+ Branch: perl
+ ! ext/Errno/Errno_pm.PL ext/IO/lib/IO/Socket.pm
+____________________________________________________________________________
+[ 4574] By: gsar on 1999/11/13 19:31:19
+ Log: revert non-kosher parts of change#4562 (sort order problems
+ should be ignored (on ebcdic) by fixing dumper.t/T() to sort
+ result and expected lines; /[:ascii:]/ not working should be
+ fixed, not ignored in regexp.t; result from sort should be
+ fixed to be ascii portable on ebcdic, not ebcdic-specific)
+ Branch: perl
+ ! t/lib/dumper.t t/op/regexp.t t/pragma/overload.t
+____________________________________________________________________________
+[ 4573] By: gsar on 1999/11/13 19:13:04
+ Log: integrate cfgperl changes into mainline
+ Branch: perl
+ +> lib/unicode/Eq/Latin1.pl lib/unicode/Eq/Unicode.pl
+ +> lib/unicode/In/BopomofoExtended.pl
+ +> lib/unicode/In/BraillePatterns.pl
+ +> lib/unicode/In/CJKRadicalsSupplement.pl
+ +> lib/unicode/In/CJKUnifiedIdeographsExtensionA.pl
+ +> lib/unicode/In/Cherokee.pl
+ +> lib/unicode/In/IdeographicDescriptionCharacters.pl
+ +> lib/unicode/In/KangxiRadicals.pl lib/unicode/In/Khmer.pl
+ +> lib/unicode/In/Mongolian.pl lib/unicode/In/Myanmar.pl
+ +> lib/unicode/In/Ogham.pl lib/unicode/In/Runic.pl
+ +> lib/unicode/In/Sinhala.pl lib/unicode/In/Syriac.pl
+ +> lib/unicode/In/Thaana.pl
+ +> lib/unicode/In/UnifiedCanadianAboriginalSyllabics.pl
+ +> lib/unicode/In/YiRadicals.pl lib/unicode/In/YiSyllables.pl
+ - lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode
+ !> (integrate 213 files)
+____________________________________________________________________________
+[ 4572] By: jhi on 1999/11/13 18:44:50
+ Log: From: "Craig A. Berry" <craig.berry@metamor.com>
+ To: perl5-porters@perl.org, VMSPERL@perl.org
+ Subject: [PATCH 5.005_03 and 5.005_62] updates to README.vms
+ Date: Wed, 27 Oct 1999 11:02:54 -0500
+ Message-Id: <4.2.0.58.19991027105257.00addc10@mmtnt11.metamor.com>
+ Branch: cfgperl
+ ! README.vms
+____________________________________________________________________________
+[ 4571] By: jhi on 1999/11/13 18:33:39
+ Log: From: jand@activestate.com (Jan Dubois)
+ To: perl5-porters@perl.org, Perl-Win32-Porters@activestate.com
+ Cc: Douglas Lankshear <dougl@activestate.com>,
+ Gurusamy Sarathy <gsar@activestate.com>
+ Subject: [5.005_62 PATCH] support link() on WinNT and NTFS
+ Date: Tue, 09 Nov 1999 00:38:33 +0100
+ Message-ID: <382b5d24.10899522@smtprelay.t-online.de>
+ Branch: cfgperl
+ ! XSUB.h iperlsys.h pp_sys.c t/io/fs.t win32/config.bc
+ ! win32/config.gc win32/config.vc win32/config_H.bc
+ ! win32/config_H.gc win32/config_H.vc win32/perllib.c
+ ! win32/win32.c win32/win32iop.h
+____________________________________________________________________________
+[ 4570] By: jhi on 1999/11/13 18:30:37
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: perl5-porters@perl.org (Mailing list Perl5)
+ Subject: [PATCH 5.005_62] makedef.pl goof
+ Date: Mon, 8 Nov 1999 23:55:21 -0500 (EST)
+ Message-Id: <199911090455.XAA25627@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! makedef.pl
+____________________________________________________________________________
+[ 4569] By: jhi on 1999/11/13 18:06:54
+ Log: From: Michael G Schwern <schwern@pobox.com>
+ To: perl5-porters@perl.org, pod-people@perl.org
+ Cc: tchrist@mox.perl.com, gnat@frii.com
+ Subject: [DOCPATCH 5.005_62 perlfaq9.pod] Mention HTML::FormatText
+ Date: Wed, 10 Nov 1999 17:21:46 -0500
+ Message-ID: <19991110172146.A23527@athens.aocn.com>
+ Branch: cfgperl
+ ! pod/perlfaq9.pod
+____________________________________________________________________________
+[ 4568] By: jhi on 1999/11/13 18:05:33
+ Log: From: "Paul Moore" <gustav@morpheus.demon.co.uk>
+ To: <perl5-porters@perl.org>
+ Subject: DynaLoader_pm.PL patch (backslashes in strings)
+ Date: Wed, 10 Nov 1999 22:52:02 -0000
+ Message-ID: <LPBBIIMJKJMPNOGHGLLCMEBFCAAA.gustav@morpheus.demon.co.uk>
+ Branch: cfgperl
+ ! ext/DynaLoader/DynaLoader_pm.PL
+____________________________________________________________________________
+[ 4567] By: jhi on 1999/11/13 18:03:52
+ Log: From: JD Laub <jdl@access-health.com>
+ To: perl5-porters@perl.org
+ Subject: [ID 19991112.002] patch: Exporter.pm not reporting path
+ Date: Fri, 12 Nov 1999 08:58:28 -0700 (MST)
+ Message-Id: <199911121558.IAA08915@mocha.iasi.com>
+ Branch: cfgperl
+ ! lib/Exporter/Heavy.pm
+____________________________________________________________________________
+[ 4566] By: jhi on 1999/11/13 18:01:24
+ Log: From: Bernard Quatermass <bernard@quatermass.co.uk>
+ To: perl5-porters@perl.org
+ Subject: small patch for perldoc
+ Date: Fri, 12 Nov 1999 23:11:43 GMT
+ Message-Id: <VA.0000001c.00d1e05a@quatermass.co.uk>
+ Branch: cfgperl
+ ! utils/perldoc.PL
+____________________________________________________________________________
+[ 4565] By: jhi on 1999/11/13 17:58:54
+ Log: From: Scott Gifford <sgifford@tir.com>
+ To: perl5-porters@perl.org
+ Cc: gbarr@pobox.com
+ Subject: [ID 19991112.004] Bug in IO::Socket (patch included)
+ Date: 12 Nov 1999 18:55:30 -0500
+ Message-Id: <m3emdvw9hp.fsf@sgifford.tir.com>
+ Branch: cfgperl
+ ! ext/IO/lib/IO/Socket.pm
+____________________________________________________________________________
+[ 4564] By: jhi on 1999/11/13 17:45:39
+ Log: Applied manually:
+ From: "Craig A. Berry" <craig.berry@metamor.com>
+ To: perl5-porters@perl.org, VMSPERL@perl.org
+ Subject: [PATCH 5.005_62] patches required to build on VMS
+ Date: Tue, 09 Nov 1999 18:16:14 -0600
+ Message-Id: <4.2.2.19991109173839.00d12630@mmtnt11.metamor.com>
+ Branch: cfgperl
+ ! configure.com vms/descrip_mms.template vms/subconfigure.com
+ ! vms/vms.c vms/vmsish.h
+____________________________________________________________________________
+[ 4563] By: jhi on 1999/11/13 17:18:41
+ Log: Regen Unicode tables to include a warning:
+ Thou Shalt Not Edit Them By Hand; add missing
+ (Unicode 2.0 -introduced) tables to MANIFEST;
+ convert the equivalence tables to be valid Perl code.
+ Branch: cfgperl
+ + lib/unicode/Eq/Latin1.pl lib/unicode/Eq/Unicode.pl
+ + lib/unicode/In/BopomofoExtended.pl
+ + lib/unicode/In/BraillePatterns.pl
+ + lib/unicode/In/CJKRadicalsSupplement.pl
+ + lib/unicode/In/CJKUnifiedIdeographsExtensionA.pl
+ + lib/unicode/In/Cherokee.pl
+ + lib/unicode/In/IdeographicDescriptionCharacters.pl
+ + lib/unicode/In/KangxiRadicals.pl lib/unicode/In/Khmer.pl
+ + lib/unicode/In/Mongolian.pl lib/unicode/In/Myanmar.pl
+ + lib/unicode/In/Ogham.pl lib/unicode/In/Runic.pl
+ + lib/unicode/In/Sinhala.pl lib/unicode/In/Syriac.pl
+ + lib/unicode/In/Thaana.pl
+ + lib/unicode/In/UnifiedCanadianAboriginalSyllabics.pl
+ + lib/unicode/In/YiRadicals.pl lib/unicode/In/YiSyllables.pl
+ - lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode
+ ! (edit 169 files)
+____________________________________________________________________________
+[ 4562] By: jhi on 1999/11/13 16:53:00
+ Log: From: Peter Prymmer <pvhp@forte.com>
+ To: gsar@activestate.com, perl-mvs@perl.org, perlbug@perl.com
+ Subject: [PATCH: 5.005_62]was Re: [ID 19991102.003] perl on os390
+ Date: Wed, 10 Nov 1999 14:34:36 -0800 (PST)
+ Message-Id: <199911102234.OAA01018@brio.forte.com>
+ Branch: cfgperl
+ ! t/lib/dumper.t t/op/pack.t t/op/regexp.t t/pragma/locale.t
+ ! t/pragma/overload.t
+____________________________________________________________________________
+[ 4561] By: jhi on 1999/11/13 16:29:37
+ Log: $Config{myarchname} is not a good architecture identifier
+ because it may contain host/node identification like
+ CPU serial numbers.
+ Branch: cfgperl
+ ! ext/Errno/Errno_pm.PL
+____________________________________________________________________________
+[ 4560] By: jhi on 1999/11/13 16:26:13
+ Log: Continue largefileness separation from quadness;
+ move nv-preserving test out of perl.h into Configure;
+ use HAS_SETVBUF in IO.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH ext/IO/IO.xs hints/solaris_2.sh perl.h pp_sys.c
+ Branch: metaconfig
+ ! U/a_dvisory/quadtype.U
+ Branch: metaconfig/U/perl
+ + nvpresuv.U
+ ! d_fseeko.U d_ftello.U io64.U perlxv.U
+____________________________________________________________________________
+[ 4559] By: jhi on 1999/11/13 13:46:38
+ Log: Try to fix largefileness so that it "works" without a quad IV.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH perl.h pp_sys.c t/lib/syslfs.t t/op/lfs.t
+ Branch: metaconfig
+ ! U/a_dvisory/quadtype.U U/typedefs/lseektype.U
+ Branch: metaconfig/U/perl
+ ! io64.U
+____________________________________________________________________________
+[ 4558] By: jhi on 1999/11/13 11:36:19
+ Log: Undo drift from mainline.
+ Branch: cfgperl
+ ! regcomp.c util.c utils/h2xs.PL
+____________________________________________________________________________
+[ 4557] By: gsar on 1999/11/13 10:54:46
+ Log: typo
+ Branch: perl
+ ! util.c
+____________________________________________________________________________
+[ 4556] By: gsar on 1999/11/13 10:53:41
+ Log: integrate cfgperl contents (op.[ch] needed manual resolve)
+ Branch: perl
+ +> epoc/Config.pm epoc/autosplit.pl epoc/createpkg.pl
+ +> epoc/epoc_stubs.c
+ !> (integrate 48 files)
+____________________________________________________________________________
+[ 4555] By: jhi on 1999/11/13 10:05:54
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> dump.c ext/Devel/DProf/DProf.xs gv.c mg.c op.c perl.c pp.c
+ !> sv.c warnings.h warnings.pl win32/Makefile win32/perllib.c
+____________________________________________________________________________
+[ 4554] By: jhi on 1999/11/13 10:03:07
+ Log: s/_SIGN$/_sign/g;
+ Branch: metaconfig
+ ! U/typedefs/gidsign.U U/typedefs/pidsign.U U/typedefs/uidsign.U
+____________________________________________________________________________
+[ 4553] By: gsar on 1999/11/13 02:17:53
+ Log: cloned interpreters now actually run and pass all but 55/10386
+ subtests; various subtle bugs, new and old, observed when running
+ cloned interpreters have been fixed
+
+ still to do:
+ | * dup psig_ptr table
+ | * merge PADOP GVs support with "our" SVs (existing PADOPs are too
+ | simple-minded and grab one pad entry each, heavily bloating
+ | the pad by not avoiding dups)
+ | * overloaded constants are not really immutable--they need to
+ | be PADOPs
+ | * allocator for constants and OPs need to be spelled differently
+ | (shared vs interpreter-local allocations)
+ | * optree refcounting is still missing locking (macros are in place)
+ | * curstackinfo, {mark,scope,save,ret}stack need to be cloned so
+ | perl_clone() can be called from within runops*()
+ Branch: perl
+ ! dump.c ext/Devel/DProf/DProf.xs gv.c mg.c op.c perl.c pp.c
+ ! sv.c warnings.h warnings.pl win32/Makefile win32/perllib.c
+____________________________________________________________________________
+[ 4552] By: jhi on 1999/11/11 23:17:43
+ Log: Turn on largefileness always if available and
+ continue 64-bit fixes.
+ Branch: cfgperl
+ ! Configure config_h.SH handy.h hints/aix.sh hints/dec_osf.sh
+ ! hints/hpux.sh hints/irix_6.sh hints/solaris_2.sh perl.h pp.c
+ ! sv.c t/lib/syslfs.t t/op/lfs.t utf8.c
+____________________________________________________________________________
+[ 4551] By: jhi on 1999/11/11 23:16:15
+ Log: Split int64type from i_inttypes, rename quadcase into quadkind.
+ Branch: metaconfig
+ ! U/a_dvisory/quadtype.U
+ Branch: metaconfig/U/perl
+ + d_int64t.U
+ ! i_inttypes.U io64.U
+____________________________________________________________________________
+[ 4550] By: jhi on 1999/11/11 20:24:55
+ Log: Fix a thinko in 4548.
+ Branch: cfgperl
+ ! pp_sys.c
+____________________________________________________________________________
+[ 4549] By: jhi on 1999/11/11 19:48:21
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> (integrate 56 files)
+____________________________________________________________________________
+[ 4548] By: jhi on 1999/11/11 19:41:56
+ Log: Try to do something if st_size, st_uid, st_gid are too big for an IV;
+ regen Configure.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH pp_sys.c
+____________________________________________________________________________
+[ 4547] By: jhi on 1999/11/11 19:40:38
+ Log: s/_SIZE$/_size/g; add sizesize and ssizesize.
+ Branch: metaconfig
+ + U/typedefs/sizesize.U U/typedefs/ssizesize.U
+ ! U/typedefs/gidsize.U U/typedefs/pidsize.U U/typedefs/uidsize.U
+____________________________________________________________________________
+[ 4546] By: gsar on 1999/11/11 10:32:54
+ Log: avoid stash pointers in optree under USE_ITHREADS
+ Branch: perl
+ ! bytecode.pl cop.h ext/B/B.xs ext/B/B/Asmdata.pm
+ ! ext/B/B/Bytecode.pm ext/B/B/C.pm ext/B/B/Debug.pm
+ ! ext/B/B/Deparse.pm ext/ByteLoader/bytecode.h
+ ! ext/ByteLoader/byterun.c ext/ByteLoader/byterun.h
+ ! ext/Opcode/Opcode.xs gv.c op.c perl.c pp.c pp_ctl.c pp_hot.c
+ ! scope.h sv.c
+____________________________________________________________________________
+[ 4545] By: gsar on 1999/11/11 06:04:20
+ Log: another change towards a shareable optree: avoid pointer to filegv
+ in COP; revert parts of change#4485 and s/xcv_filegv/xcv_file/
+ (CvFILE() may yet come in handy somewhere); adjust compiler doodads
+ to suit
+ Branch: perl
+ ! bytecode.pl cop.h cv.h dump.c ext/B/B.pm ext/B/B.xs
+ ! ext/B/B/Asmdata.pm ext/B/B/Bytecode.pm ext/B/B/C.pm
+ ! ext/B/B/CC.pm ext/B/B/Debug.pm ext/B/B/Deparse.pm
+ ! ext/B/B/Lint.pm ext/B/B/Xref.pm ext/ByteLoader/bytecode.h
+ ! ext/ByteLoader/byterun.c ext/ByteLoader/byterun.h
+ ! ext/Devel/Peek/Peek.pm gv.c gv.h op.c perl.c pp.c pp_ctl.c
+ ! pp_sys.c scope.c scope.h sv.c sv.h toke.c util.c util.h
+ ! win32/perllib.c
+____________________________________________________________________________
+[ 4544] By: gsar on 1999/11/10 18:19:12
+ Log: more cleanups for change#4539
+ Branch: perl
+ ! gv.h op.c op.h pp_ctl.c pp_hot.c
+____________________________________________________________________________
+[ 4543] By: gsar on 1999/11/10 01:52:22
+ Log: remove dead branch/infinite looper in change#3612
+ Branch: perl
+ ! op.c
+____________________________________________________________________________
+[ 4542] By: gsar on 1999/11/09 20:05:47
+ Log: IoDIRP may be fake when used in source filters, mark as such
+ Branch: perl
+ ! sv.c sv.h toke.c
+____________________________________________________________________________
+[ 4541] By: gsar on 1999/11/09 05:47:53
+ Log: small nits in changes#4538,4539
+ Branch: perl
+ ! op.c sv.c
+____________________________________________________________________________
+[ 4540] By: gsar on 1999/11/08 20:30:58
+ Log: win32 symbol export tweak
+ Branch: perl
+ ! makedef.pl win32/win32.c win32/win32iop.h
+____________________________________________________________________________
+[ 4539] By: gsar on 1999/11/08 18:50:40
+ Log: preliminary support for GVOP indirection via pad
+ Branch: perl
+ ! doio.c dump.c embed.h embed.pl global.sym objXSUB.h op.c op.h
+ ! opcode.pl perlapi.c pp_hot.c pp_sys.c proto.h run.c
+____________________________________________________________________________
+[ 4538] By: gsar on 1999/11/08 11:25:49
+ Log: preliminary support for perl_clone() (still needs work in
+ the following areas: SVOPs must indirect via pad; context
+ stack, scope stack, and runlevels must be cloned; must
+ hook up the virtualized pseudo-process support provided by
+ "host"; ...)
+ Branch: perl
+ ! av.h embed.h embed.pl embedvar.h global.sym hv.c hv.h
+ ! intrpvar.h makedef.pl objXSUB.h perl.h perlapi.c proto.h sv.c
+ ! win32/perllib.c win32/win32.c
+____________________________________________________________________________
+[ 4537] By: gsar on 1999/11/08 11:19:18
+ Log: more thorough cleanup in perl_destroy()
+ Branch: perl
+ ! perl.c util.c
+____________________________________________________________________________
+[ 4536] By: gsar on 1999/11/08 07:16:10
+ Log: win32 internal data must be interpreter-local
+ Branch: perl
+ ! win32/win32.c win32/win32.h win32/win32sck.c
+____________________________________________________________________________
+[ 4535] By: gsar on 1999/11/08 04:17:28
+ Log: tweak change#4502
+ Branch: perl
+ ! doio.c perl.c
+____________________________________________________________________________
+[ 4534] By: jhi on 1999/11/07 13:17:03
+ Log: Four special class subs, not three.
+ Branch: cfgperl
+ ! pod/perlmod.pod
+____________________________________________________________________________
+[ 4533] By: jhi on 1999/11/07 13:13:15
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> mg.c t/io/print.t
+____________________________________________________________________________
+[ 4532] By: jhi on 1999/11/07 12:36:10
+ Log: More test program maintenance.
+ Branch: cfgperl
+ ! Configure config_h.SH
+ Branch: metaconfig
+ ! U/a_dvisory/intsize.U U/compline/alignbytes.U
+ ! U/compline/charsize.U U/compline/d_sigaction.U
+ ! U/compline/doublesize.U U/compline/floatsize.U
+ ! U/compline/nblock_io.U U/compline/ptrsize.U
+ ! U/modified/Signal.U U/typedefs/gidsize.U U/typedefs/pidsize.U
+ ! U/typedefs/uidsize.U
+ Branch: metaconfig/U/perl
+ ! fpossize.U
+____________________________________________________________________________
+[ 4531] By: jhi on 1999/11/07 00:34:09
+ Log: Tidy up the metaconfig test programs.
+ Branch: cfgperl
+ ! Configure config_h.SH
+ Branch: metaconfig
+ ! U/a_dvisory/intsize.U U/compline/alignbytes.U
+ ! U/compline/charsize.U U/compline/doublesize.U
+ ! U/compline/nblock_io.U U/compline/ptrsize.U
+ ! U/modified/d_longlong.U U/typedefs/gidsize.U
+ ! U/typedefs/lseektype.U U/typedefs/pidsize.U
+ ! U/typedefs/uidsize.U
+ Branch: metaconfig/U/perl
+ ! fpossize.U
+____________________________________________________________________________
+[ 4530] By: jhi on 1999/11/06 23:51:34
+ Log: So many printfs, so little time.
+ Branch: cfgperl
+ ! op.c perl.c regcomp.c scope.c util.c
+____________________________________________________________________________
+[ 4529] By: jhi on 1999/11/06 23:27:35
+ Log: Replace the explicit zeros with NOOPs.
+ Branch: cfgperl
+ ! perl.h
+____________________________________________________________________________
+[ 4528] By: jhi on 1999/11/06 23:10:54
+ Log: From: jand@activestate.com (Jan Dubois)
+ To: perl5-porters@perl.org
+ Cc: Mike Blazer <blazer@mail.nevalink.ru>,
+ Mark Borgerding <mborgerding@acm.org>
+ Subject: [5.005_62 PATCH] binmode and locale support for -T and -B filetest operators
+ Date: Sat, 06 Nov 1999 22:16:43 +0100
+ Message-ID: <38279207.46448719@smtprelay.t-online.de>
+ Branch: cfgperl
+ ! op.c op.h
+____________________________________________________________________________
+[ 4527] By: jhi on 1999/11/06 20:22:14
+ Log: ...and fewer.
+ Branch: cfgperl
+ ! dump.c
+____________________________________________________________________________
+[ 4526] By: jhi on 1999/11/06 20:19:04
+ Log: ...and they are getting fewer.
+ Branch: cfgperl
+ ! dump.c op.c util.c
+____________________________________________________________________________
+[ 4525] By: jhi on 1999/11/06 19:59:59
+ Log: More printf miscasts flushed out.
+ Branch: cfgperl
+ ! dump.c ext/B/B.xs ext/Data/Dumper/Dumper.xs regcomp.c
+ ! regexec.c
+____________________________________________________________________________
+[ 4524] By: jhi on 1999/11/06 15:39:05
+ Log: Crushing the remaining %ld guerillas.
+ Branch: cfgperl
+ ! ext/Devel/DProf/DProf.xs
+____________________________________________________________________________
+[ 4523] By: jhi on 1999/11/06 15:11:38
+ Log: Update CPAN sites list.
+ Branch: cfgperl
+ ! pod/perlmodlib.pod
+____________________________________________________________________________
+[ 4522] By: jhi on 1999/11/05 19:50:46
+ Log: The -n32 is normally part of $cc, not $ccflags.
+ Branch: cfgperl
+ ! hints/irix_6.sh
+____________________________________________________________________________
+[ 4521] By: gsar on 1999/11/05 04:35:30
+ Log: allow $\ to work right when set to a string with embedded nulls
+ Branch: perl
+ ! mg.c t/io/print.t
+____________________________________________________________________________
+[ 4520] By: jhi on 1999/11/04 23:30:09
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> embedvar.h ext/B/B/Bytecode.pm ext/B/B/Lint.pm
+ !> ext/B/B/Stash.pm ext/B/NOTES ext/B/O.pm ext/File/Glob/Glob.pm
+ !> ext/File/Glob/bsd_glob.c ext/File/Glob/bsd_glob.h intrpvar.h
+ !> keywords.h keywords.pl objXSUB.h op.c perl.c pod/perldelta.pod
+ !> pod/perldiag.pod pod/perlfunc.pod pod/perlmod.pod
+ !> pod/perlrun.pod pod/perlsub.pod pod/perltodo.pod toke.c
+____________________________________________________________________________
+[ 4519] By: jhi on 1999/11/04 23:09:25
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: perl5-porters@perl.org (Mailing list Perl5)
+ Subject: [PATCH 5.005_62] ref to non-lvalue method
+ Date: Wed, 3 Nov 1999 03:52:48 -0500 (EST)
+ Message-Id: <199911030852.DAA06563@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! op.c
+____________________________________________________________________________
+[ 4518] By: jhi on 1999/11/04 23:07:27
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: perl5-porters@perl.org (Mailing list Perl5)
+ Subject: [PATCH 5.005_62] xsubpp dependency
+ Date: Wed, 3 Nov 1999 02:57:23 -0500 (EST)
+ Message-Id: <199911030757.CAA06325@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! lib/ExtUtils/MM_Unix.pm
+____________________________________________________________________________
+[ 4517] By: jhi on 1999/11/04 23:05:59
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: perl5-porters@perl.org (Mailing list Perl5)
+ Subject: [PATCH 5.005_62] regexp.h
+ Date: Wed, 3 Nov 1999 02:55:21 -0500 (EST)
+ Message-Id: <199911030755.CAA06311@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! regexp.h
+____________________________________________________________________________
+[ 4516] By: gsar on 1999/11/04 18:25:45
+ Log: change#4485 didn't do the right thing for B::Bytecode
+ Branch: perl
+ ! ext/B/B/Bytecode.pm
+____________________________________________________________________________
+[ 4515] By: gsar on 1999/11/04 17:28:29
+ Log: implement STOP blocks and fix compiler to use them (minimally
+ tested)
+ Branch: perl
+ ! embedvar.h ext/B/B/Lint.pm ext/B/B/Stash.pm ext/B/NOTES
+ ! ext/B/O.pm intrpvar.h keywords.h keywords.pl objXSUB.h op.c
+ ! perl.c pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod
+ ! pod/perlmod.pod pod/perlrun.pod pod/perlsub.pod
+ ! pod/perltodo.pod toke.c
+____________________________________________________________________________
+[ 4514] By: gsar on 1999/11/04 15:59:46
+ Log: display BSD license in Glob.pm (for clause #2 conformity)
+ Branch: perl
+ ! ext/File/Glob/Glob.pm ext/File/Glob/bsd_glob.c
+ ! ext/File/Glob/bsd_glob.h
+____________________________________________________________________________
+[ 4513] By: jhi on 1999/11/04 08:26:19
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ +> t/io/nargv.t
+ !> (integrate 34 files)
+____________________________________________________________________________
+[ 4512] By: jhi on 1999/11/04 08:01:25
+ Log: Incremental Mac integration from Matthias.
+ Branch: cfgperl
+ ! perl.c perl.h pp_ctl.c pp_hot.c run.c sv.c t/pod/testpchk.pl
+ ! toke.c util.c
+____________________________________________________________________________
+[ 4511] By: gsar on 1999/11/04 02:53:37
+ Log: remove VIRTUAL tag, PERL_OBJECT doesn't need it anymore
+ Branch: perl
+ ! dosish.h embed.pl mg.c os2/os2ish.h perl.c perl.h perly.c
+ ! perly_c.diff pp_ctl.c proto.h regcomp.c regexec.c sv.c toke.c
+ ! universal.c vms/perly_c.vms vms/vmsish.h win32/win32.h
+ ! xsutils.c
+____________________________________________________________________________
+[ 4510] By: jhi on 1999/11/02 22:12:29
+ Log: S_init_interp is a better place to diddle with PL_opargs
+ than perl_construct.
+ Branch: cfgperl
+ ! perl.c
+____________________________________________________________________________
+[ 4509] By: jhi on 1999/11/02 21:30:02
+ Log: From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>
+ To: ben@mucus.advanced.org, perl5-porters@perl.org
+ Subject: Re: [ID 19991102.002] unpack('N', pack('N', -1)) not idempotent
+ Date: Tue, 02 Nov 1999 21:36:00 +0000
+ Message-Id: <E11ilay-00020o-00@taurus.cus.cam.ac.uk>
+ Branch: cfgperl
+ ! pod/perlfunc.pod
+____________________________________________________________________________
+[ 4508] By: jhi on 1999/11/02 20:46:27
+ Log: Initial integration of the MacPerl changes form Matthias.
+ Branch: cfgperl
+ ! doio.c ext/DynaLoader/DynaLoader_pm.PL ext/Fcntl/Fcntl.pm
+ ! ext/Fcntl/Fcntl.xs gv.c mg.c opcode.pl perl.c perl.h pp_ctl.c
+ ! pp_hot.c pp_sys.c run.c sv.c toke.c util.c
+____________________________________________________________________________
+[ 4507] By: jhi on 1999/11/01 23:05:07
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: lvirden@cas.org (Larry W. Virden)
+ Cc: perl5-porters@perl.org, lvirden@cas.org
+ Subject: Re: [ID 19991026.001] perl segmentation fault report
+ Date: Mon, 1 Nov 1999 18:14:16 -0500 (EST)
+ Message-Id: <199911012314.SAA22664@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! regexec.c t/op/pat.t
+____________________________________________________________________________
+[ 4506] By: jhi on 1999/11/01 19:56:28
+ Log: From: Olaf Flebbe <olaf@science-computing.de>
+ To: perl5-porters@perl.org
+ Subject: [PATCH: 5.005_62] Patch for EPOC Support
+ Date: Mon, 1 Nov 1999 20:46:54 +0100 (MET)
+ Message-ID: <Pine.LNX.4.10.9911012045190.411-100000@dragon.science-computing.de>
+ Branch: cfgperl
+ + epoc/Config.pm epoc/autosplit.pl epoc/createpkg.pl
+ + epoc/epoc_stubs.c
+ ! MANIFEST README.epoc epoc/epocish.h epoc/perl.mmp
+ ! epoc/perl.pkg
+____________________________________________________________________________
+[ 4505] By: gsar on 1999/11/01 17:09:44
+ Log: macros for COP.cop_filegv access
+ Branch: perl
+ ! cop.h deb.c gv.c op.c perl.c pp_ctl.c pp_sys.c scope.c toke.c
+ ! util.c
+____________________________________________________________________________
+[ 4504] By: gsar on 1999/11/01 17:08:28
+ Log: enable better Win32::DomainName() by demand loading netapi32.dll
+ (from Jan Dubois)
+ Branch: perl
+ ! pod/Win32.pod win32/win32.c
+____________________________________________________________________________
+[ 4503] By: gsar on 1999/10/31 20:56:06
+ Log: change#4502 was missing a file
+ Branch: perl
+ + t/io/nargv.t
+____________________________________________________________________________
+[ 4502] By: gsar on 1999/10/31 20:46:02
+ Log: make nested ARGV/$^I loops work correctly; fixes several bugs
+ in the way ARGV state was handled in readline(); writing a
+ subroutine to do inplace edits is now possible, provided *ARGV,
+ *ARGVOUT, $^I and $_ are localized where needed
+ Branch: perl
+ ! MANIFEST doio.c embedvar.h intrpvar.h objXSUB.h perl.c
+ ! pp_hot.c scope.c
+____________________________________________________________________________
+[ 4501] By: jhi on 1999/10/31 12:43:54
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> perl.h win32/config.bc win32/config.gc win32/config.vc
+ !> win32/config_H.bc win32/config_H.gc win32/config_H.vc
+____________________________________________________________________________
+[ 4500] By: gsar on 1999/10/31 10:01:17
+ Log: updated windows config* files
+ Branch: perl
+ ! win32/config.bc win32/config.gc win32/config.vc
+ ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
+____________________________________________________________________________
+[ 4499] By: gsar on 1999/10/31 09:15:17
+ Log: integrate cfgperl contents into mainline
+ Branch: perl
+ !> Configure Porting/Glossary Porting/config.sh Porting/config_H
+ !> config_h.SH perl.h
+____________________________________________________________________________
+[ 4498] By: gsar on 1999/10/31 09:13:41
+ Log: remove unused struct Outrec
+ Branch: perl
+ ! perl.h
+____________________________________________________________________________
+[ 4497] By: jhi on 1999/10/30 12:41:50
+ Log: Add HAS_QUAD ($Config{d_quad}); use it.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH perl.h
+ Branch: metaconfig
+ ! U/a_dvisory/quadtype.U U/compline/charsize.U U/typedefs/gidf.U
+ ! U/typedefs/uidf.U
+ Branch: metaconfig/U/perl
+ ! perlxv.U
+____________________________________________________________________________
+[ 4496] By: gsar on 1999/10/30 00:28:32
+ Log: integrate cfgperl contents into mainline
+ Branch: perl
+ !> Configure Policy_sh.SH Porting/Glossary Porting/config.sh
+ !> Porting/config_H README.hurd config_h.SH doop.c handy.h
+ !> hints/aix.sh hints/irix_6.sh hints/solaris_2.sh mg.c perl.c
+ !> perl.h pp.c pp.h regexec.c sv.c taint.c
+____________________________________________________________________________
+[ 4495] By: jhi on 1999/10/29 23:36:19
+ Log: Continue what #4494 started; introduce uid and gid formats.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH handy.h perl.h
+ Branch: metaconfig
+ + U/a_dvisory/quadtype.U U/typedefs/gidf.U U/typedefs/uidf.U
+ - U/typedefs/quadtype.U
+ Branch: metaconfig/U/perl
+ ! perlxv.U
+____________________________________________________________________________
+[ 4494] By: jhi on 1999/10/29 22:09:01
+ Log: Move the IV, UV, I8, U8, ..., and NV to metaconfig
+ from perl.h and handy.h.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH handy.h perl.h
+ Branch: metaconfig/U/perl
+ + perlxv.U perlxvf.U
+____________________________________________________________________________
+[ 4493] By: jhi on 1999/10/29 22:08:06
+ Log: Finetuning the output continues along the lines of #4490 and #4491.
+ Branch: metaconfig
+ ! U/modified/i_sysuio.U U/threads/d_pthreadj.U
+ ! U/typedefs/fpostype.U
+ Branch: metaconfig/U/perl
+ + fpossize.U
+ ! d_cmsghdr_s.U d_fs_data_s.U d_msghdr_s.U d_statfs3.U
+ ! d_statfs4.U d_statfs_f_flags.U d_statfs_s.U io64.U
+____________________________________________________________________________
+[ 4492] By: jhi on 1999/10/29 21:14:53
+ Log: Hurd update from Mark Kettenis.
+ Branch: cfgperl
+ ! README.hurd
+____________________________________________________________________________
+[ 4491] By: jhi on 1999/10/29 20:37:02
+ Log: A new try at what #4490 tried to accomplish.
+ Branch: metaconfig
+ ! U/modified/i_sysuio.U U/threads/d_pthreadj.U
+ Branch: metaconfig/U/perl
+ ! d_cmsghdr_s.U d_fs_data_s.U d_msghdr_s.U d_statfs3.U
+ ! d_statfs4.U d_statfs_f_flags.U d_statfs_s.U io64.U
+____________________________________________________________________________
+[ 4490] By: jhi on 1999/10/29 20:19:41
+ Log: metaconfig nits.
+ Branch: metaconfig
+ ! U/modified/i_sysuio.U U/threads/d_pthreadj.U
+ Branch: metaconfig/U/perl
+ + d_iovec_s.U
+ ! d_cmsghdr_s.U d_fs_data_s.U d_msghdr_s.U d_statfs3.U
+ ! d_statfs4.U d_statfs_f_flags.U d_statfs_s.U io64.U
+____________________________________________________________________________
+[ 4489] By: jhi on 1999/10/29 16:08:43
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> (integrate 31 files)
+____________________________________________________________________________
+[ 4488] By: jhi on 1999/10/29 15:30:30
+ Log: Regen Configure and Glossary.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH
+____________________________________________________________________________
+[ 4487] By: jhi on 1999/10/29 15:24:13
+ Log: Remove quad logic from perl.h; regen Configure;
+ add -DUSE_LONG_LONG to ccflags if not already there.
+ Branch: cfgperl
+ ! Configure config_h.SH doop.c hints/aix.sh hints/irix_6.sh
+ ! hints/solaris_2.sh perl.h pp.c pp.h regexec.c sv.c
+____________________________________________________________________________
+[ 4486] By: jhi on 1999/10/29 15:22:38
+ Log: metaconfig: moved quad logic from perl.h to Configure (quadtype.U);
+ fixed the use*.U to define their stuff only iff not already defined
+ (so that ccflags can have any -DUSE_* it wants);
+ uselonglong.U added; various small nits fixed.
+ Branch: metaconfig
+ + U/typedefs/quadtype.U
+ ! U/modified/d_longdbl.U U/modified/d_longlong.U
+ ! U/modified/d_statblks.U U/modified/usenm.U
+ ! U/threads/usethreads.U
+ Branch: metaconfig/U/perl
+ + uselonglong.U
+ ! d_cmsghdr_s.U d_fs_data_s.U d_msghdr_s.U d_statfs3.U
+ ! d_statfs4.U d_statfs_f_flags.U d_statfs_s.U i_inttypes.U
+ ! quadfio.U use64bits.U uselfs.U uselongdbl.U usemorebits.U
+ ! usemultiplicity.U useperlio.U usesocks.U
+____________________________________________________________________________
+[ 4485] By: gsar on 1999/10/29 06:08:50
+ Log: more cleanup: avoid unused knowledge of "file GV" notion in CV and GV
+ Branch: perl
+ ! bytecode.pl cv.h dump.c ext/B/B.pm ext/B/B.xs
+ ! ext/B/B/Asmdata.pm ext/B/B/Bytecode.pm ext/B/B/C.pm
+ ! ext/B/B/Debug.pm ext/B/B/Xref.pm ext/ByteLoader/byterun.c
+ ! ext/ByteLoader/byterun.h ext/Devel/Peek/Peek.pm gv.c gv.h op.c
+ ! sv.h
+____________________________________________________________________________
+[ 4484] By: gsar on 1999/10/29 03:00:21
+ Log: usurp GVOP slot for new PADOP (one small step to making optree
+ shareable across interpreters)
+ Branch: perl
+ ! bytecode.pl doio.c dump.c ext/B/B.pm ext/B/B.xs
+ ! ext/B/B/Asmdata.pm ext/B/B/Bytecode.pm ext/B/B/C.pm
+ ! ext/B/B/Debug.pm ext/B/B/Deparse.pm ext/B/B/Lint.pm
+ ! ext/B/B/Terse.pm ext/B/typemap ext/ByteLoader/byterun.c
+ ! ext/ByteLoader/byterun.h op.c op.h opcode.h opcode.pl perl.h
+ ! pp_hot.c pp_sys.c regexec.c run.c
+____________________________________________________________________________
+[ 4483] By: jhi on 1999/10/28 22:01:12
+ Log: Regen Configure.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH
+____________________________________________________________________________
+[ 4482] By: jhi on 1999/10/28 21:45:26
+ Log: Installdirs patches from Andy.
+ Branch: metaconfig
+ ! U/installdirs/sitearch.U U/installdirs/sitebin.U
+ ! U/installdirs/sitehtml1dir.U U/installdirs/sitehtml3dir.U
+ ! U/installdirs/sitelib.U U/installdirs/siteman1dir.U
+ ! U/installdirs/siteman3dir.U U/installdirs/siteprefix.U
+ ! U/installdirs/sitescriptdir.U U/installdirs/vendorarch.U
+ ! U/installdirs/vendorbin.U U/installdirs/vendorhtml1dir.U
+ ! U/installdirs/vendorhtml3dir.U U/installdirs/vendorlib.U
+ ! U/installdirs/vendorman1dir.U U/installdirs/vendorman3dir.U
+ ! U/installdirs/vendorprefix.U U/installdirs/vendorscriptdir.U
+____________________________________________________________________________
+[ 4481] By: gsar on 1999/10/28 17:33:49
+ Log: remove C<use Time::Local 'no_range_check'> misfeature (global
+ can still be directly set)
+ Branch: perl
+ ! lib/Time/Local.pm
+____________________________________________________________________________
+[ 4480] By: jhi on 1999/10/28 13:49:26
+ Log: Fix printing of uids and gids; regen Configure.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH mg.c perl.c perl.h taint.c
+____________________________________________________________________________
+[ 4479] By: jhi on 1999/10/28 11:53:57
+ Log: Fix typo.
+ Branch: metaconfig
+ ! U/typedefs/gidsize.U
+____________________________________________________________________________
+[ 4478] By: jhi on 1999/10/28 06:50:02
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> Changes iperlsys.h makedef.pl patchlevel.h perl.h
+ !> win32/Makefile win32/config.bc win32/config.gc win32/config.vc
+ !> win32/config_H.bc win32/config_H.gc win32/config_H.vc
+ !> win32/config_sh.PL win32/makefile.mk win32/win32.h
+____________________________________________________________________________
+[ 4477] By: jhi on 1999/10/28 06:40:54
+ Log: (Slightly) better comments for Policy_sh.SH from Andy.
+ Branch: cfgperl
+ ! Policy_sh.SH
+____________________________________________________________________________
+[ 4476] By: gsar on 1999/10/27 23:54:36
+ Log: regen config* stuff for windows
+ Branch: perl
+ ! Changes patchlevel.h win32/Makefile win32/config.bc
+ ! win32/config.gc win32/config.vc win32/config_H.bc
+ ! win32/config_H.gc win32/config_H.vc win32/config_sh.PL
+ ! win32/makefile.mk
+____________________________________________________________________________
[ 4475] By: gsar on 1999/10/27 21:32:30
Log: integrate cfgperl contents into mainline; merge conflicts
Branch: perl
diff --git a/embed.h b/embed.h
index 5242cecdb8..72aeae42cd 100644
--- a/embed.h
+++ b/embed.h
@@ -774,10 +774,10 @@
#if defined(HAVE_INTERP_INTERN)
#define sys_intern_dup Perl_sys_intern_dup
#endif
-#define sv_table_new Perl_sv_table_new
-#define sv_table_fetch Perl_sv_table_fetch
-#define sv_table_store Perl_sv_table_store
-#define sv_table_split Perl_sv_table_split
+#define ptr_table_new Perl_ptr_table_new
+#define ptr_table_fetch Perl_ptr_table_fetch
+#define ptr_table_store Perl_ptr_table_store
+#define ptr_table_split Perl_ptr_table_split
#endif
#if defined(PERL_OBJECT)
#endif
@@ -831,6 +831,7 @@
#define simplify_sort S_simplify_sort
#define is_handle_constructor S_is_handle_constructor
#define gv_ename S_gv_ename
+#define cv_dump S_cv_dump
#define cv_clone2 S_cv_clone2
#define scalar_mod_type S_scalar_mod_type
#define my_kid S_my_kid
@@ -2143,10 +2144,10 @@
#if defined(HAVE_INTERP_INTERN)
#define sys_intern_dup(a,b) Perl_sys_intern_dup(aTHX_ a,b)
#endif
-#define sv_table_new() Perl_sv_table_new(aTHX)
-#define sv_table_fetch(a,b) Perl_sv_table_fetch(aTHX_ a,b)
-#define sv_table_store(a,b,c) Perl_sv_table_store(aTHX_ a,b,c)
-#define sv_table_split(a) Perl_sv_table_split(aTHX_ a)
+#define ptr_table_new() Perl_ptr_table_new(aTHX)
+#define ptr_table_fetch(a,b) Perl_ptr_table_fetch(aTHX_ a,b)
+#define ptr_table_store(a,b,c) Perl_ptr_table_store(aTHX_ a,b,c)
+#define ptr_table_split(a) Perl_ptr_table_split(aTHX_ a)
#endif
#if defined(PERL_OBJECT)
#endif
@@ -2200,6 +2201,7 @@
#define simplify_sort(a) S_simplify_sort(aTHX_ a)
#define is_handle_constructor(a,b) S_is_handle_constructor(aTHX_ a,b)
#define gv_ename(a) S_gv_ename(aTHX_ a)
+#define cv_dump(a) S_cv_dump(aTHX_ a)
#define cv_clone2(a,b) S_cv_clone2(aTHX_ a,b)
#define scalar_mod_type(a,b) S_scalar_mod_type(aTHX_ a,b)
#define my_kid(a,b) S_my_kid(aTHX_ a,b)
@@ -4222,14 +4224,16 @@
#define Perl_sys_intern_dup CPerlObj::Perl_sys_intern_dup
#define sys_intern_dup Perl_sys_intern_dup
#endif
-#define Perl_sv_table_new CPerlObj::Perl_sv_table_new
-#define sv_table_new Perl_sv_table_new
-#define Perl_sv_table_fetch CPerlObj::Perl_sv_table_fetch
-#define sv_table_fetch Perl_sv_table_fetch
-#define Perl_sv_table_store CPerlObj::Perl_sv_table_store
-#define sv_table_store Perl_sv_table_store
-#define Perl_sv_table_split CPerlObj::Perl_sv_table_split
-#define sv_table_split Perl_sv_table_split
+#define Perl_ptr_table_new CPerlObj::Perl_ptr_table_new
+#define ptr_table_new Perl_ptr_table_new
+#define Perl_ptr_table_fetch CPerlObj::Perl_ptr_table_fetch
+#define ptr_table_fetch Perl_ptr_table_fetch
+#define Perl_ptr_table_store CPerlObj::Perl_ptr_table_store
+#define ptr_table_store Perl_ptr_table_store
+#define Perl_ptr_table_split CPerlObj::Perl_ptr_table_split
+#define ptr_table_split Perl_ptr_table_split
+#define perl_clone CPerlObj::perl_clone
+#define perl_clone_using CPerlObj::perl_clone_using
#endif
#if defined(PERL_OBJECT)
#endif
@@ -4322,6 +4326,8 @@
#define is_handle_constructor S_is_handle_constructor
#define S_gv_ename CPerlObj::S_gv_ename
#define gv_ename S_gv_ename
+#define S_cv_dump CPerlObj::S_cv_dump
+#define cv_dump S_cv_dump
#define S_cv_clone2 CPerlObj::S_cv_clone2
#define cv_clone2 S_cv_clone2
#define S_scalar_mod_type CPerlObj::S_scalar_mod_type
diff --git a/embed.pl b/embed.pl
index 78a071abca..39984b3181 100755
--- a/embed.pl
+++ b/embed.pl
@@ -1451,11 +1451,11 @@ no |int |perl_parse |XSINIT_t xsinit \
|int argc|char** argv|char** env
#else
no |PerlInterpreter* |perl_alloc
-no |void |perl_construct |PerlInterpreter* sv_interp
-no |void |perl_destruct |PerlInterpreter* sv_interp
-no |void |perl_free |PerlInterpreter* sv_interp
-no |int |perl_run |PerlInterpreter* sv_interp
-no |int |perl_parse |PerlInterpreter* sv_interp|XSINIT_t xsinit \
+no |void |perl_construct |PerlInterpreter* interp
+no |void |perl_destruct |PerlInterpreter* interp
+no |void |perl_free |PerlInterpreter* interp
+no |int |perl_run |PerlInterpreter* interp
+no |int |perl_parse |PerlInterpreter* interp|XSINIT_t xsinit \
|int argc|char** argv|char** env
#if defined(USE_THREADS)
p |struct perl_thread* |new_struct_thread|struct perl_thread *t
@@ -1784,10 +1784,16 @@ p |SV* |sv_dup |SV* sstr
p |void |sys_intern_dup |struct interp_intern* src \
|struct interp_intern* dst
#endif
-p |SVTBL* |sv_table_new
-p |SV* |sv_table_fetch |SVTBL *tbl|SV *sv
-p |void |sv_table_store |SVTBL *tbl|SV *oldsv|SV *newsv
-p |void |sv_table_split |SVTBL *tbl
+p |PTR_TBL_t*|ptr_table_new
+p |void* |ptr_table_fetch|PTR_TBL_t *tbl|void *sv
+p |void |ptr_table_store|PTR_TBL_t *tbl|void *oldsv|void *newsv
+p |void |ptr_table_split|PTR_TBL_t *tbl
+no |PerlInterpreter*|perl_clone|PerlInterpreter* interp, UV flags
+no |PerlInterpreter*|perl_clone_using|PerlInterpreter *interp|UV flags \
+ |struct IPerlMem* m|struct IPerlEnv* e \
+ |struct IPerlStdIO* io|struct IPerlLIO* lio \
+ |struct IPerlDir* d|struct IPerlSock* s \
+ |struct IPerlProc* p
#endif
#if defined(PERL_OBJECT)
@@ -1850,6 +1856,7 @@ s |OP* |new_logop |I32 type|I32 flags|OP **firstp|OP **otherp
s |void |simplify_sort |OP *o
s |bool |is_handle_constructor |OP *o|I32 argnum
s |char* |gv_ename |GV *gv
+s |void |cv_dump |CV *cv
s |CV* |cv_clone2 |CV *proto|CV *outside
s |bool |scalar_mod_type|OP *o|I32 type
s |OP * |my_kid |OP *o|OP *attrs
diff --git a/embedvar.h b/embedvar.h
index 566483b383..610f266db2 100644
--- a/embedvar.h
+++ b/embedvar.h
@@ -350,6 +350,7 @@
#define PL_preambled (PERL_GET_INTERP->Ipreambled)
#define PL_preprocess (PERL_GET_INTERP->Ipreprocess)
#define PL_profiledata (PERL_GET_INTERP->Iprofiledata)
+#define PL_ptr_table (PERL_GET_INTERP->Iptr_table)
#define PL_replgv (PERL_GET_INTERP->Ireplgv)
#define PL_rsfp (PERL_GET_INTERP->Irsfp)
#define PL_rsfp_filters (PERL_GET_INTERP->Irsfp_filters)
@@ -376,7 +377,6 @@
#define PL_sv_no (PERL_GET_INTERP->Isv_no)
#define PL_sv_objcount (PERL_GET_INTERP->Isv_objcount)
#define PL_sv_root (PERL_GET_INTERP->Isv_root)
-#define PL_sv_table (PERL_GET_INTERP->Isv_table)
#define PL_sv_undef (PERL_GET_INTERP->Isv_undef)
#define PL_sv_yes (PERL_GET_INTERP->Isv_yes)
#define PL_svref_mutex (PERL_GET_INTERP->Isvref_mutex)
@@ -611,6 +611,7 @@
#define PL_preambled (vTHX->Ipreambled)
#define PL_preprocess (vTHX->Ipreprocess)
#define PL_profiledata (vTHX->Iprofiledata)
+#define PL_ptr_table (vTHX->Iptr_table)
#define PL_replgv (vTHX->Ireplgv)
#define PL_rsfp (vTHX->Irsfp)
#define PL_rsfp_filters (vTHX->Irsfp_filters)
@@ -637,7 +638,6 @@
#define PL_sv_no (vTHX->Isv_no)
#define PL_sv_objcount (vTHX->Isv_objcount)
#define PL_sv_root (vTHX->Isv_root)
-#define PL_sv_table (vTHX->Isv_table)
#define PL_sv_undef (vTHX->Isv_undef)
#define PL_sv_yes (vTHX->Isv_yes)
#define PL_svref_mutex (vTHX->Isvref_mutex)
@@ -874,6 +874,7 @@
#define PL_Ipreambled PL_preambled
#define PL_Ipreprocess PL_preprocess
#define PL_Iprofiledata PL_profiledata
+#define PL_Iptr_table PL_ptr_table
#define PL_Ireplgv PL_replgv
#define PL_Irsfp PL_rsfp
#define PL_Irsfp_filters PL_rsfp_filters
@@ -900,7 +901,6 @@
#define PL_Isv_no PL_sv_no
#define PL_Isv_objcount PL_sv_objcount
#define PL_Isv_root PL_sv_root
-#define PL_Isv_table PL_sv_table
#define PL_Isv_undef PL_sv_undef
#define PL_Isv_yes PL_sv_yes
#define PL_Isvref_mutex PL_svref_mutex
diff --git a/global.sym b/global.sym
index b6596b6d79..d15142263d 100644
--- a/global.sym
+++ b/global.sym
@@ -683,7 +683,9 @@ Perl_gp_dup
Perl_mg_dup
Perl_sv_dup
Perl_sys_intern_dup
-Perl_sv_table_new
-Perl_sv_table_fetch
-Perl_sv_table_store
-Perl_sv_table_split
+Perl_ptr_table_new
+Perl_ptr_table_fetch
+Perl_ptr_table_store
+Perl_ptr_table_split
+perl_clone
+perl_clone_using
diff --git a/intrpvar.h b/intrpvar.h
index 0e2390504d..c772d797ec 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -380,5 +380,5 @@ PERLVAR(IProc, struct IPerlProc*)
#endif
#if defined(USE_ITHREADS)
-PERLVAR(Isv_table, SVTBL*)
+PERLVAR(Iptr_table, PTR_TBL_t*)
#endif
diff --git a/makedef.pl b/makedef.pl
index d9e369a2b3..428bfc38b4 100644
--- a/makedef.pl
+++ b/makedef.pl
@@ -367,7 +367,7 @@ Perl_magic_mutexfree
unless ($define{'USE_ITHREADS'})
{
skip_symbols [qw(
-PL_sv_table
+PL_ptr_table
Perl_dirp_dup
Perl_fp_dup
Perl_gp_dup
@@ -376,10 +376,12 @@ Perl_mg_dup
Perl_re_dup
Perl_sv_dup
Perl_sys_intern_dup
-Perl_sv_table_fetch
-Perl_sv_table_new
-Perl_sv_table_split
-Perl_sv_table_store
+Perl_ptr_table_fetch
+Perl_ptr_table_new
+Perl_ptr_table_split
+Perl_ptr_table_store
+perl_clone
+perl_clone_using
)];
}
diff --git a/objXSUB.h b/objXSUB.h
index c90b984262..8077c9dc26 100644
--- a/objXSUB.h
+++ b/objXSUB.h
@@ -366,6 +366,8 @@
#define PL_preprocess (*Perl_Ipreprocess_ptr(aTHXo))
#undef PL_profiledata
#define PL_profiledata (*Perl_Iprofiledata_ptr(aTHXo))
+#undef PL_ptr_table
+#define PL_ptr_table (*Perl_Iptr_table_ptr(aTHXo))
#undef PL_replgv
#define PL_replgv (*Perl_Ireplgv_ptr(aTHXo))
#undef PL_rsfp
@@ -418,8 +420,6 @@
#define PL_sv_objcount (*Perl_Isv_objcount_ptr(aTHXo))
#undef PL_sv_root
#define PL_sv_root (*Perl_Isv_root_ptr(aTHXo))
-#undef PL_sv_table
-#define PL_sv_table (*Perl_Isv_table_ptr(aTHXo))
#undef PL_sv_undef
#define PL_sv_undef (*Perl_Isv_undef_ptr(aTHXo))
#undef PL_sv_yes
@@ -3568,22 +3568,26 @@
#undef sys_intern_dup
#define sys_intern_dup Perl_sys_intern_dup
#endif
-#undef Perl_sv_table_new
-#define Perl_sv_table_new pPerl->Perl_sv_table_new
-#undef sv_table_new
-#define sv_table_new Perl_sv_table_new
-#undef Perl_sv_table_fetch
-#define Perl_sv_table_fetch pPerl->Perl_sv_table_fetch
-#undef sv_table_fetch
-#define sv_table_fetch Perl_sv_table_fetch
-#undef Perl_sv_table_store
-#define Perl_sv_table_store pPerl->Perl_sv_table_store
-#undef sv_table_store
-#define sv_table_store Perl_sv_table_store
-#undef Perl_sv_table_split
-#define Perl_sv_table_split pPerl->Perl_sv_table_split
-#undef sv_table_split
-#define sv_table_split Perl_sv_table_split
+#undef Perl_ptr_table_new
+#define Perl_ptr_table_new pPerl->Perl_ptr_table_new
+#undef ptr_table_new
+#define ptr_table_new Perl_ptr_table_new
+#undef Perl_ptr_table_fetch
+#define Perl_ptr_table_fetch pPerl->Perl_ptr_table_fetch
+#undef ptr_table_fetch
+#define ptr_table_fetch Perl_ptr_table_fetch
+#undef Perl_ptr_table_store
+#define Perl_ptr_table_store pPerl->Perl_ptr_table_store
+#undef ptr_table_store
+#define ptr_table_store Perl_ptr_table_store
+#undef Perl_ptr_table_split
+#define Perl_ptr_table_split pPerl->Perl_ptr_table_split
+#undef ptr_table_split
+#define ptr_table_split Perl_ptr_table_split
+#undef perl_clone
+#define perl_clone pPerl->perl_clone
+#undef perl_clone_using
+#define perl_clone_using pPerl->perl_clone_using
#endif
#if defined(PERL_OBJECT)
#endif
diff --git a/op.c b/op.c
index 775b03a3d0..73c963420c 100644
--- a/op.c
+++ b/op.c
@@ -3944,10 +3944,10 @@ Perl_cv_undef(pTHX_ CV *cv)
}
}
-#ifdef DEBUGGING
STATIC void
S_cv_dump(pTHX_ CV *cv)
{
+#ifdef DEBUGGING
CV *outside = CvOUTSIDE(cv);
AV* padlist = CvPADLIST(cv);
AV* pad_name;
@@ -3988,8 +3988,8 @@ S_cv_dump(pTHX_ CV *cv)
(IV)I_32(SvNVX(pname[ix])),
SvIVX(pname[ix]));
}
-}
#endif /* DEBUGGING */
+}
STATIC CV *
S_cv_clone2(pTHX_ CV *proto, CV *outside)
diff --git a/perl.h b/perl.h
index 3bcc032537..b3ea9fb8db 100644
--- a/perl.h
+++ b/perl.h
@@ -1322,8 +1322,8 @@ typedef struct xpvfm XPVFM;
typedef struct xpvio XPVIO;
typedef struct mgvtbl MGVTBL;
typedef union any ANY;
-typedef struct svtblent SVTBLENT;
-typedef struct svtbl SVTBL;
+typedef struct ptr_tbl_ent PTR_TBL_ENT_t;
+typedef struct ptr_tbl PTR_TBL_t;
#include "handy.h"
@@ -1754,16 +1754,16 @@ struct scan_data_t; /* Used in S_* functions in regcomp.c */
typedef I32 CHECKPOINT;
-struct svtblent {
- struct svtblent* next;
- SV* oldval;
- SV* newval;
+struct ptr_tbl_ent {
+ struct ptr_tbl_ent* next;
+ void* oldval;
+ void* newval;
};
-struct svtbl {
- struct svtblent** tbl_ary;
- UV tbl_max;
- UV tbl_items;
+struct ptr_tbl {
+ struct ptr_tbl_ent** tbl_ary;
+ UV tbl_max;
+ UV tbl_items;
};
#if defined(iAPX286) || defined(M_I286) || defined(I80286)
diff --git a/perlapi.c b/perlapi.c
index 6ea713ce16..2a7899cb37 100755
--- a/perlapi.c
+++ b/perlapi.c
@@ -4915,32 +4915,48 @@ Perl_sys_intern_dup(pTHXo_ struct interp_intern* src, struct interp_intern* dst)
}
#endif
-#undef Perl_sv_table_new
-SVTBL*
-Perl_sv_table_new(pTHXo)
+#undef Perl_ptr_table_new
+PTR_TBL_t*
+Perl_ptr_table_new(pTHXo)
{
- return ((CPerlObj*)pPerl)->Perl_sv_table_new();
+ return ((CPerlObj*)pPerl)->Perl_ptr_table_new();
}
-#undef Perl_sv_table_fetch
-SV*
-Perl_sv_table_fetch(pTHXo_ SVTBL *tbl, SV *sv)
+#undef Perl_ptr_table_fetch
+void*
+Perl_ptr_table_fetch(pTHXo_ PTR_TBL_t *tbl, void *sv)
{
- return ((CPerlObj*)pPerl)->Perl_sv_table_fetch(tbl, sv);
+ return ((CPerlObj*)pPerl)->Perl_ptr_table_fetch(tbl, sv);
}
-#undef Perl_sv_table_store
+#undef Perl_ptr_table_store
void
-Perl_sv_table_store(pTHXo_ SVTBL *tbl, SV *oldsv, SV *newsv)
+Perl_ptr_table_store(pTHXo_ PTR_TBL_t *tbl, void *oldsv, void *newsv)
{
- ((CPerlObj*)pPerl)->Perl_sv_table_store(tbl, oldsv, newsv);
+ ((CPerlObj*)pPerl)->Perl_ptr_table_store(tbl, oldsv, newsv);
}
-#undef Perl_sv_table_split
+#undef Perl_ptr_table_split
void
-Perl_sv_table_split(pTHXo_ SVTBL *tbl)
+Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl)
+{
+ ((CPerlObj*)pPerl)->Perl_ptr_table_split(tbl);
+}
+
+#undef perl_clone
+PerlInterpreter*
+perl_clone(PerlInterpreter* interp, UV flags)
{
- ((CPerlObj*)pPerl)->Perl_sv_table_split(tbl);
+ dTHXo;
+ return ((CPerlObj*)pPerl)->perl_clone(flags);
+}
+
+#undef perl_clone_using
+PerlInterpreter*
+perl_clone_using(PerlInterpreter *interp, UV flags, struct IPerlMem* m, struct IPerlEnv* e, struct IPerlStdIO* io, struct IPerlLIO* lio, struct IPerlDir* d, struct IPerlSock* s, struct IPerlProc* p)
+{
+ dTHXo;
+ return ((CPerlObj*)pPerl)->perl_clone_using(interp, flags, m, e, io, lio, d, s, p);
}
#endif
#if defined(PERL_OBJECT)
diff --git a/proto.h b/proto.h
index c5bfb92e9c..db5e85d9c2 100644
--- a/proto.h
+++ b/proto.h
@@ -440,11 +440,11 @@ PERL_CALLCONV int perl_run(void);
PERL_CALLCONV int perl_parse(XSINIT_t xsinit, int argc, char** argv, char** env);
#else
PERL_CALLCONV PerlInterpreter* perl_alloc(void);
-PERL_CALLCONV void perl_construct(PerlInterpreter* sv_interp);
-PERL_CALLCONV void perl_destruct(PerlInterpreter* sv_interp);
-PERL_CALLCONV void perl_free(PerlInterpreter* sv_interp);
-PERL_CALLCONV int perl_run(PerlInterpreter* sv_interp);
-PERL_CALLCONV int perl_parse(PerlInterpreter* sv_interp, XSINIT_t xsinit, int argc, char** argv, char** env);
+PERL_CALLCONV void perl_construct(PerlInterpreter* interp);
+PERL_CALLCONV void perl_destruct(PerlInterpreter* interp);
+PERL_CALLCONV void perl_free(PerlInterpreter* interp);
+PERL_CALLCONV int perl_run(PerlInterpreter* interp);
+PERL_CALLCONV int perl_parse(PerlInterpreter* interp, XSINIT_t xsinit, int argc, char** argv, char** env);
#if defined(USE_THREADS)
PERL_CALLCONV struct perl_thread* Perl_new_struct_thread(pTHX_ struct perl_thread *t);
#endif
@@ -749,10 +749,12 @@ PERL_CALLCONV SV* Perl_sv_dup(pTHX_ SV* sstr);
#if defined(HAVE_INTERP_INTERN)
PERL_CALLCONV void Perl_sys_intern_dup(pTHX_ struct interp_intern* src, struct interp_intern* dst);
#endif
-PERL_CALLCONV SVTBL* Perl_sv_table_new(pTHX);
-PERL_CALLCONV SV* Perl_sv_table_fetch(pTHX_ SVTBL *tbl, SV *sv);
-PERL_CALLCONV void Perl_sv_table_store(pTHX_ SVTBL *tbl, SV *oldsv, SV *newsv);
-PERL_CALLCONV void Perl_sv_table_split(pTHX_ SVTBL *tbl);
+PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX);
+PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, void *sv);
+PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, void *oldsv, void *newsv);
+PERL_CALLCONV void Perl_ptr_table_split(pTHX_ PTR_TBL_t *tbl);
+PERL_CALLCONV PerlInterpreter* perl_clone(PerlInterpreter* interp, UV flags);
+PERL_CALLCONV PerlInterpreter* perl_clone_using(PerlInterpreter *interp, UV flags, struct IPerlMem* m, struct IPerlEnv* e, struct IPerlStdIO* io, struct IPerlLIO* lio, struct IPerlDir* d, struct IPerlSock* s, struct IPerlProc* p);
#endif
#if defined(PERL_OBJECT)
protected:
@@ -807,6 +809,7 @@ STATIC OP* S_new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp);
STATIC void S_simplify_sort(pTHX_ OP *o);
STATIC bool S_is_handle_constructor(pTHX_ OP *o, I32 argnum);
STATIC char* S_gv_ename(pTHX_ GV *gv);
+STATIC void S_cv_dump(pTHX_ CV *cv);
STATIC CV* S_cv_clone2(pTHX_ CV *proto, CV *outside);
STATIC bool S_scalar_mod_type(pTHX_ OP *o, I32 type);
STATIC OP * S_my_kid(pTHX_ OP *o, OP *attrs);
diff --git a/run.c b/run.c
index 1c44f05f35..a5e63598dd 100644
--- a/run.c
+++ b/run.c
@@ -47,7 +47,8 @@ Perl_runops_debug(pTHX)
if (PL_watchaddr != 0 && *PL_watchaddr != PL_watchok)
PerlIO_printf(Perl_debug_log,
"WARNING: %"UVxf" changed from %"UVxf" to %"UVxf"\n",
- PTR2UV(PL_watchaddr), PTR2UV(PL_watchok), (UV)*PL_watchaddr);
+ PTR2UV(PL_watchaddr), PTR2UV(PL_watchok),
+ PTR2UV(*PL_watchaddr));
DEBUG_s(debstack());
DEBUG_t(debop(PL_op));
DEBUG_P(debprof(PL_op));
diff --git a/sv.c b/sv.c
index 475bd22548..ae22960afc 100644
--- a/sv.c
+++ b/sv.c
@@ -1704,7 +1704,7 @@ Perl_sv_2uv(pTHX_ register SV *sv)
}
DEBUG_c(PerlIO_printf(Perl_debug_log, "0x%"UVxf" 2uv(%"UVuf")\n",
- (UV)sv,SvUVX(sv)));
+ PTR2UV(sv),SvUVX(sv)));
return SvIsUV(sv) ? SvUVX(sv) : (UV)SvIVX(sv);
}
@@ -5665,13 +5665,13 @@ Perl_gp_dup(pTHX_ GP *gp)
if (!gp)
return (GP*)NULL;
/* look for it in the table first */
- ret = (GP*)sv_table_fetch(PL_sv_table, (SV*)gp);
+ ret = ptr_table_fetch(PL_ptr_table, gp);
if (ret)
return ret;
/* create anew and remember what it is */
Newz(0, ret, 1, GP);
- sv_table_store(PL_sv_table, (SV*)gp, (SV*)ret);
+ ptr_table_store(PL_ptr_table, gp, ret);
/* clone */
ret->gp_refcnt = 0; /* must be before any other dups! */
@@ -5739,21 +5739,21 @@ Perl_mg_dup(pTHX_ MAGIC *mg)
return mgret;
}
-SVTBL *
-Perl_sv_table_new(pTHX)
+PTR_TBL_t *
+Perl_ptr_table_new(pTHX)
{
- SVTBL *tbl;
- Newz(0, tbl, 1, SVTBL);
+ PTR_TBL_t *tbl;
+ Newz(0, tbl, 1, PTR_TBL_t);
tbl->tbl_max = 511;
tbl->tbl_items = 0;
- Newz(0, tbl->tbl_ary, tbl->tbl_max + 1, SVTBLENT*);
+ Newz(0, tbl->tbl_ary, tbl->tbl_max + 1, PTR_TBL_ENT_t*);
return tbl;
}
-SV *
-Perl_sv_table_fetch(pTHX_ SVTBL *tbl, SV *sv)
+void *
+Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, void *sv)
{
- SVTBLENT *tblent;
+ PTR_TBL_ENT_t *tblent;
UV hash = (UV)sv;
assert(tbl);
tblent = tbl->tbl_ary[hash & tbl->tbl_max];
@@ -5761,15 +5761,19 @@ Perl_sv_table_fetch(pTHX_ SVTBL *tbl, SV *sv)
if (tblent->oldval == sv)
return tblent->newval;
}
- return Nullsv;
+ return (void*)NULL;
}
void
-Perl_sv_table_store(pTHX_ SVTBL *tbl, SV *old, SV *new)
+Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, void *old, void *new)
{
- SVTBLENT *tblent, **otblent;
+ PTR_TBL_ENT_t *tblent, **otblent;
+ /* XXX this may be pessimal on platforms where pointers aren't good
+ * hash values e.g. if they grow faster in the most significant
+ * bits */
UV hash = (UV)old;
bool i = 1;
+
assert(tbl);
otblent = &tbl->tbl_ary[hash & tbl->tbl_max];
for (tblent = *otblent; tblent; i=0, tblent = tblent->next) {
@@ -5779,30 +5783,30 @@ Perl_sv_table_store(pTHX_ SVTBL *tbl, SV *old, SV *new)
return;
}
}
- Newz(0, tblent, 1, SVTBLENT);
+ Newz(0, tblent, 1, PTR_TBL_ENT_t);
tblent->oldval = old;
tblent->newval = new;
tblent->next = *otblent;
*otblent = tblent;
tbl->tbl_items++;
if (i && tbl->tbl_items > tbl->tbl_max)
- sv_table_split(tbl);
+ ptr_table_split(tbl);
}
void
-Perl_sv_table_split(pTHX_ SVTBL *tbl)
+Perl_ptr_table_split(pTHX_ PTR_TBL_t *tbl)
{
- SVTBLENT **ary = tbl->tbl_ary;
+ PTR_TBL_ENT_t **ary = tbl->tbl_ary;
UV oldsize = tbl->tbl_max + 1;
UV newsize = oldsize * 2;
UV i;
- Renew(ary, newsize, SVTBLENT*);
- Zero(&ary[oldsize], newsize-oldsize, SVTBLENT*);
+ Renew(ary, newsize, PTR_TBL_ENT_t*);
+ Zero(&ary[oldsize], newsize-oldsize, PTR_TBL_ENT_t*);
tbl->tbl_max = --newsize;
tbl->tbl_ary = ary;
for (i=0; i < oldsize; i++, ary++) {
- SVTBLENT **curentp, **entp, *ent;
+ PTR_TBL_ENT_t **curentp, **entp, *ent;
if (!*ary)
continue;
curentp = ary + oldsize;
@@ -5834,7 +5838,7 @@ Perl_sv_dup(pTHX_ SV *sstr)
if (!sstr || SvTYPE(sstr) == SVTYPEMASK)
return Nullsv;
/* look for it in the table first */
- dstr = sv_table_fetch(PL_sv_table, sstr);
+ dstr = ptr_table_fetch(PL_ptr_table, sstr);
if (dstr)
return dstr;
@@ -5842,7 +5846,7 @@ Perl_sv_dup(pTHX_ SV *sstr)
/* create anew and remember what it is */
new_SV(dstr);
- sv_table_store(PL_sv_table, sstr, dstr);
+ ptr_table_store(PL_ptr_table, sstr, dstr);
/* clone */
SvFLAGS(dstr) = SvFLAGS(sstr);
@@ -6148,7 +6152,7 @@ dup_pvcv:
}
PerlInterpreter *
-perl_clone_using(PerlInterpreter *proto_perl, IV flags,
+perl_clone_using(PerlInterpreter *proto_perl, UV flags,
struct IPerlMem* ipM, struct IPerlEnv* ipE,
struct IPerlStdIO* ipStd, struct IPerlLIO* ipLIO,
struct IPerlDir* ipD, struct IPerlSock* ipS,
@@ -6161,12 +6165,13 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PERL_SET_INTERP(my_perl);
#ifdef DEBUGGING
- memset(my_perl, 0x0, sizeof(PerlInterpreter));
+ memset(my_perl, 0xab, sizeof(PerlInterpreter));
PL_markstack = 0;
PL_scopestack = 0;
PL_savestack = 0;
PL_retstack = 0;
#else
+ Zero(my_perl, 1, PerlInterpreter);
# if 0
Copy(proto_perl, my_perl, 1, PerlInterpreter);
# endif
@@ -6210,13 +6215,13 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_debug = proto_perl->Idebug;
/* create SV map for pointer relocation */
- PL_sv_table = sv_table_new();
+ PL_ptr_table = ptr_table_new();
/* initialize these special pointers as early as possible */
SvANY(&PL_sv_undef) = NULL;
SvREFCNT(&PL_sv_undef) = (~(U32)0)/2;
SvFLAGS(&PL_sv_undef) = SVf_READONLY|SVt_NULL;
- sv_table_store(PL_sv_table, &proto_perl->Isv_undef, &PL_sv_undef);
+ ptr_table_store(PL_ptr_table, &proto_perl->Isv_undef, &PL_sv_undef);
SvANY(&PL_sv_no) = new_XPVNV();
SvREFCNT(&PL_sv_no) = (~(U32)0)/2;
@@ -6225,7 +6230,7 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
SvCUR(&PL_sv_no) = 0;
SvLEN(&PL_sv_no) = 1;
SvNVX(&PL_sv_no) = 0;
- sv_table_store(PL_sv_table, &proto_perl->Isv_no, &PL_sv_no);
+ ptr_table_store(PL_ptr_table, &proto_perl->Isv_no, &PL_sv_no);
SvANY(&PL_sv_yes) = new_XPVNV();
SvREFCNT(&PL_sv_yes) = (~(U32)0)/2;
@@ -6234,13 +6239,13 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
SvCUR(&PL_sv_yes) = 1;
SvLEN(&PL_sv_yes) = 2;
SvNVX(&PL_sv_yes) = 1;
- sv_table_store(PL_sv_table, &proto_perl->Isv_yes, &PL_sv_yes);
+ ptr_table_store(PL_ptr_table, &proto_perl->Isv_yes, &PL_sv_yes);
/* create shared string table */
PL_strtab = newHV();
HvSHAREKEYS_off(PL_strtab);
hv_ksplit(PL_strtab, 512);
- sv_table_store(PL_sv_table, (SV*)proto_perl->Istrtab, (SV*)PL_strtab);
+ ptr_table_store(PL_ptr_table, proto_perl->Istrtab, PL_strtab);
PL_compiling = proto_perl->Icompiling;
PL_compiling.cop_stashpv = SAVEPV(PL_compiling.cop_stashpv);
@@ -6289,7 +6294,7 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_perl_destruct_level = proto_perl->Iperl_destruct_level;
/* magical thingies */
- /* XXX time(&PL_basetime) instead? */
+ /* XXX time(&PL_basetime) when asked for? */
PL_basetime = proto_perl->Ibasetime;
PL_formfeed = sv_dup(proto_perl->Iformfeed);
@@ -6360,12 +6365,15 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_eval_start = proto_perl->Ieval_start;
/* runtime control stuff */
- PL_curcopdb = proto_perl->Icurcopdb;
+ if (proto_perl->Icurcopdb == &proto_perl->Icompiling)
+ PL_curcopdb = &PL_compiling;
+ else
+ PL_curcopdb = proto_perl->Icurcopdb;
PL_copline = proto_perl->Icopline;
PL_filemode = proto_perl->Ifilemode;
PL_lastfd = proto_perl->Ilastfd;
- PL_oldname = proto_perl->Ioldname; /* XXX */
+ PL_oldname = proto_perl->Ioldname; /* XXX not quite right */
PL_Argv = NULL;
PL_Cmd = Nullch;
PL_gensym = proto_perl->Igensym;
@@ -6389,9 +6397,9 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_exitlist = (PerlExitListEntry*)NULL;
PL_modglobal = hv_dup_inc(proto_perl->Imodglobal);
- PL_profiledata = NULL; /* XXX */
+ PL_profiledata = NULL;
PL_rsfp = fp_dup(proto_perl->Irsfp, '<');
- /* XXX PL_rsfp_filters entries have fake IoDIRP() */
+ /* PL_rsfp_filters entries have fake IoDIRP() */
PL_rsfp_filters = av_dup_inc(proto_perl->Irsfp_filters);
PL_compcv = cv_dup(proto_perl->Icompcv);
@@ -6422,9 +6430,9 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_cop_seqmax = proto_perl->Icop_seqmax;
PL_op_seqmax = proto_perl->Iop_seqmax;
PL_evalseq = proto_perl->Ievalseq;
- PL_origenviron = proto_perl->Iorigenviron; /* XXX */
+ PL_origenviron = proto_perl->Iorigenviron; /* XXX not quite right */
PL_origalen = proto_perl->Iorigalen;
- PL_pidstatus = newHV();
+ PL_pidstatus = newHV(); /* XXX flag for cloning? */
PL_osname = SAVEPV(proto_perl->Iosname);
PL_sh_path = SAVEPV(proto_perl->Ish_path);
PL_sighandlerp = proto_perl->Isighandlerp;
@@ -6432,7 +6440,7 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_runops = proto_perl->Irunops;
- Copy(proto_perl->Itokenbuf, PL_tokenbuf, 256, char); /* XXX */
+ Copy(proto_perl->Itokenbuf, PL_tokenbuf, 256, char);
#ifdef CSH
PL_cshlen = proto_perl->Icshlen;
@@ -6446,8 +6454,8 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_lex_fakebrack = proto_perl->Ilex_fakebrack;
PL_lex_dojoin = proto_perl->Ilex_dojoin;
PL_lex_starts = proto_perl->Ilex_starts;
- PL_lex_stuff = Nullsv; /* XXX */
- PL_lex_repl = Nullsv; /* XXX */
+ PL_lex_stuff = sv_dup_inc(proto_perl->Ilex_stuff);
+ PL_lex_repl = sv_dup_inc(proto_perl->Ilex_repl);
PL_lex_op = proto_perl->Ilex_op;
PL_lex_inpat = proto_perl->Ilex_inpat;
PL_lex_inwhat = proto_perl->Ilex_inwhat;
@@ -6473,7 +6481,7 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
i = proto_perl->Ilinestart - SvPVX(proto_perl->Ilinestr);
PL_linestart = SvPVX(PL_linestr) + (i < 0 ? 0 : i);
PL_pending_ident = proto_perl->Ipending_ident;
- PL_sublex_info = proto_perl->Isublex_info; /* XXX */
+ PL_sublex_info = proto_perl->Isublex_info; /* XXX not quite right */
PL_expect = proto_perl->Iexpect;
@@ -6542,7 +6550,7 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_utf8_tolower = sv_dup_inc(proto_perl->Iutf8_tolower);
/* swatch cache */
- PL_last_swash_hv = Nullhv; /* XXX recreate swatch cache? */
+ PL_last_swash_hv = Nullhv; /* reinits on demand */
PL_last_swash_klen = 0;
PL_last_swash_key[0]= '\0';
PL_last_swash_tmps = Nullch;
@@ -6558,8 +6566,8 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_glob_index = proto_perl->Iglob_index;
PL_srand_called = proto_perl->Isrand_called;
- PL_uudmap['M'] = 0; /* reinit on demand */
- PL_bitcount = Nullch; /* reinit on demand */
+ PL_uudmap['M'] = 0; /* reinits on demand */
+ PL_bitcount = Nullch; /* reinits on demand */
/* thrdvar.h stuff */
@@ -6567,10 +6575,44 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
/* PL_curstackinfo = clone_stackinfo(proto_perl->Tcurstackinfo);
clone_stacks();
PL_mainstack = av_dup(proto_perl->Tmainstack);
- PL_curstack = av_dup(proto_perl->Tcurstack);*/ /* XXXXXX */
+ PL_curstack = av_dup(proto_perl->Tcurstack);
+
+ PL_stack_max = (SV**)0;
+ PL_stack_base = (SV**)0;
+ PL_stack_sp = (SV**)0;
+
+ PL_scopestack = (I32*)0;
+ PL_scopestack_ix = (I32)0;
+ PL_scopestack_max = (I32)0;
+
+ PL_savestack = (ANY*)0;
+ PL_savestack_ix = (I32)0;
+ PL_savestack_max = (I32)0;
+
+ PL_tmps_stack = (SV**)0;
+ PL_tmps_ix = (I32)-1;
+ PL_tmps_floor = (I32)-1;
+ PL_tmps_max = (I32)0;
+
+ PL_markstack = (I32*)0;
+ PL_markstack_ptr = (I32*)0;
+ PL_markstack_max = (I32*)0;
+
+ PL_retstack = (OP**)0;
+ PL_retstack_ix = (I32)0;
+ PL_retstack_max = (I32)0;
+*/ /* XXXXXX */
init_stacks();
+ PL_start_env = proto_perl->Tstart_env; /* XXXXXX */
+ PL_top_env = &PL_start_env;
+
PL_op = proto_perl->Top;
+
+ PL_Sv = Nullsv;
+ PL_Xpv = (XPV*)NULL;
+ PL_na = proto_perl->Tna;
+
PL_statbuf = proto_perl->Tstatbuf;
PL_statcache = proto_perl->Tstatcache;
PL_statgv = gv_dup(proto_perl->Tstatgv);
@@ -6587,7 +6629,7 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_ofslen = proto_perl->Tofslen;
PL_ofs = SAVEPVN(proto_perl->Tofs, PL_ofslen);
PL_defoutgv = gv_dup_inc(proto_perl->Tdefoutgv);
- PL_chopset = proto_perl->Tchopset; /* XXX */
+ PL_chopset = proto_perl->Tchopset; /* XXX never deallocated */
PL_toptarget = sv_dup_inc(proto_perl->Ttoptarget);
PL_bodytarget = sv_dup_inc(proto_perl->Tbodytarget);
PL_formtarget = sv_dup(proto_perl->Tformtarget);
@@ -6598,8 +6640,6 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_dirty = proto_perl->Tdirty;
PL_localizing = proto_perl->Tlocalizing;
- PL_start_env = proto_perl->Tstart_env; /* XXXXXX */
- PL_top_env = &PL_start_env;
PL_protect = proto_perl->Tprotect;
PL_errors = sv_dup_inc(proto_perl->Terrors);
PL_av_fetch_sv = Nullsv;
@@ -6608,18 +6648,79 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_modcount = proto_perl->Tmodcount;
PL_lastgotoprobe = Nullop;
PL_dumpindent = proto_perl->Tdumpindent;
+
+ if (proto_perl->Tsortcop == (OP*)&proto_perl->Icompiling)
+ PL_sortcop = (OP*)&PL_compiling;
+ else
+ PL_sortcop = proto_perl->Tsortcop;
PL_sortstash = hv_dup(proto_perl->Tsortstash);
PL_firstgv = gv_dup(proto_perl->Tfirstgv);
PL_secondgv = gv_dup(proto_perl->Tsecondgv);
PL_sortcxix = proto_perl->Tsortcxix;
- PL_efloatbuf = Nullch;
- PL_efloatsize = 0;
+ PL_efloatbuf = Nullch; /* reinits on demand */
+ PL_efloatsize = 0; /* reinits on demand */
+
+ /* regex stuff */
PL_screamfirst = NULL;
PL_screamnext = NULL;
- PL_maxscream = -1;
+ PL_maxscream = -1; /* reinits on demand */
PL_lastscream = Nullsv;
+ PL_watchaddr = NULL;
+ PL_watchok = Nullch;
+
+ PL_regdummy = proto_perl->Tregdummy;
+ PL_regcomp_parse = Nullch;
+ PL_regxend = Nullch;
+ PL_regcode = (regnode*)NULL;
+ PL_regnaughty = 0;
+ PL_regsawback = 0;
+ PL_regprecomp = Nullch;
+ PL_regnpar = 0;
+ PL_regsize = 0;
+ PL_regflags = 0;
+ PL_regseen = 0;
+ PL_seen_zerolen = 0;
+ PL_seen_evals = 0;
+ PL_regcomp_rx = (regexp*)NULL;
+ PL_extralen = 0;
+ PL_colorset = 0; /* reinits PL_colors[] */
+ /*PL_colors[6] = {0,0,0,0,0,0};*/
+ PL_reg_whilem_seen = 0;
+ PL_reginput = Nullch;
+ PL_regbol = Nullch;
+ PL_regeol = Nullch;
+ PL_regstartp = (I32*)NULL;
+ PL_regendp = (I32*)NULL;
+ PL_reglastparen = (U32*)NULL;
+ PL_regtill = Nullch;
+ PL_regprev = '\n';
+ PL_reg_start_tmp = (char**)NULL;
+ PL_reg_start_tmpl = 0;
+ PL_regdata = (struct reg_data*)NULL;
+ PL_bostr = Nullch;
+ PL_reg_flags = 0;
+ PL_reg_eval_set = 0;
+ PL_regnarrate = 0;
+ PL_regprogram = (regnode*)NULL;
+ PL_regindent = 0;
+ PL_regcc = (CURCUR*)NULL;
+ PL_reg_call_cc = (struct re_cc_state*)NULL;
+ PL_reg_re = (regexp*)NULL;
+ PL_reg_ganch = Nullch;
+ PL_reg_sv = Nullsv;
+ PL_reg_magic = (MAGIC*)NULL;
+ PL_reg_oldpos = 0;
+ PL_reg_oldcurpm = (PMOP*)NULL;
+ PL_reg_curpm = (PMOP*)NULL;
+ PL_reg_oldsaved = Nullch;
+ PL_reg_oldsavedlen = 0;
+ PL_reg_maxiter = 0;
+ PL_reg_leftiter = 0;
+ PL_reg_poscache = Nullch;
+ PL_reg_poscache_size= 0;
+
/* RE engine - function pointers */
PL_regcompp = proto_perl->Tregcompp;
PL_regexecp = proto_perl->Tregexecp;
@@ -6627,20 +6728,14 @@ perl_clone_using(PerlInterpreter *proto_perl, IV flags,
PL_regint_string = proto_perl->Tregint_string;
PL_regfree = proto_perl->Tregfree;
- PL_regindent = 0;
PL_reginterp_cnt = 0;
- PL_reg_start_tmp = 0;
- PL_reg_start_tmpl = 0;
- PL_reg_poscache = Nullch;
-
- PL_watchaddr = NULL;
- PL_watchok = Nullch;
+ PL_reg_starttry = 0;
return my_perl;
}
PerlInterpreter *
-perl_clone(pTHXx_ IV flags)
+perl_clone(pTHXx_ UV flags)
{
return perl_clone_using(aTHXx_ flags, PL_Mem, PL_Env, PL_StdIO, PL_LIO,
PL_Dir, PL_Sock, PL_Proc);
diff --git a/win32/perllib.c b/win32/perllib.c
index 2b4d778914..9cd542b9df 100644
--- a/win32/perllib.c
+++ b/win32/perllib.c
@@ -1564,8 +1564,6 @@ RunPerl(int argc, char **argv, char **env)
exitstatus = perl_parse(my_perl, xs_init, argc, argv, env);
if (!exitstatus) {
#ifdef USE_ITHREADS /* XXXXXX testing */
- extern PerlInterpreter * perl_clone(pTHXx_ IV flags);
-
new_perl = perl_clone(my_perl, 0);
Perl_push_scope(new_perl); /* ENTER; (hack in lieu of perl_destruct()) */
exitstatus = perl_run( new_perl );