]>
git.vpit.fr Git - perl/modules/autovivification.git/log
Vincent Pit [Sat, 4 Nov 2017 15:27:57 +0000 (16:27 +0100)]
This is 0.18
Vincent Pit [Sat, 4 Nov 2017 15:13:47 +0000 (16:13 +0100)]
Clarify how 'strict' and 'warn' currently work
This fixes [RT #122956].
Vincent Pit [Sat, 4 Nov 2017 14:57:21 +0000 (15:57 +0100)]
Update VPIT::TestHelpers to
15e8aee3
Vincent Pit [Mon, 31 Jul 2017 17:15:20 +0000 (19:15 +0200)]
This is 0.17
Vincent Pit [Mon, 31 Jul 2017 15:58:07 +0000 (17:58 +0200)]
Update VPIT::XSHelpers to
18554226
Vincent Pit [Mon, 21 Dec 2015 14:58:25 +0000 (15:58 +0100)]
Protect against d_cplusplus perls
It's only a matter of time before someone uses this in the wild.
Vincent Pit [Mon, 31 Jul 2017 15:47:18 +0000 (17:47 +0200)]
Bump copyright year
Vincent Pit [Mon, 31 Jul 2017 15:45:52 +0000 (17:45 +0200)]
Revamp a_map_update_flags_topdown()
Make it take a mask so that it seems less magical. Also get rid of
a_map_cancel().
Vincent Pit [Mon, 31 Jul 2017 14:46:17 +0000 (16:46 +0200)]
Fix autovivification for scalar(keys(%)) in perl 5.27.3
Vincent Pit [Mon, 31 Jul 2017 11:30:26 +0000 (13:30 +0200)]
Add separate hint values for keys/values
Vincent Pit [Mon, 31 Jul 2017 10:31:35 +0000 (12:31 +0200)]
Remove the only use of bool
Vincent Pit [Wed, 4 Nov 2015 13:37:21 +0000 (11:37 -0200)]
The Big Boilerplate Factorization
Vincent Pit [Fri, 31 Jul 2015 18:56:56 +0000 (15:56 -0300)]
Remove the code coverage link
It's outdated and now covered by cpancover.
Vincent Pit [Fri, 31 Jul 2015 17:25:47 +0000 (14:25 -0300)]
Make sure asserts are only checked on DEBUGGING builds
Vincent Pit [Fri, 31 Jul 2015 17:17:58 +0000 (14:17 -0300)]
Correct a copypasted comment
Vincent Pit [Fri, 31 Jul 2015 15:53:38 +0000 (12:53 -0300)]
Harden t/50-threads.t against stray exits
Vincent Pit [Fri, 31 Jul 2015 15:51:28 +0000 (12:51 -0300)]
Harden t/09-load-threads.t against stray exits
Vincent Pit [Fri, 31 Jul 2015 15:50:28 +0000 (12:50 -0300)]
Update VPIT::TestHelpers to
ba865c42
Vincent Pit [Wed, 1 Jul 2015 14:30:47 +0000 (11:30 -0300)]
This is 0.16
Vincent Pit [Wed, 1 Jul 2015 02:18:19 +0000 (23:18 -0300)]
Update VPIT::TestHelpers to
3ba261a5
Vincent Pit [Wed, 1 Jul 2015 02:08:49 +0000 (23:08 -0300)]
No tabs please
Vincent Pit [Wed, 1 Jul 2015 02:08:19 +0000 (23:08 -0300)]
Bundle vivify_ref()
It is not exported by perl, so the module did not build on Windows (where
export lists are explicit).
Vincent Pit [Thu, 14 May 2015 20:35:22 +0000 (22:35 +0200)]
This is 0.15
Vincent Pit [Thu, 14 May 2015 20:07:27 +0000 (22:07 +0200)]
Destroy the op map mutex at end time
Vincent Pit [Thu, 14 May 2015 19:59:57 +0000 (21:59 +0200)]
Add a missing aTHX for Win32 builds
Vincent Pit [Thu, 14 May 2015 15:38:01 +0000 (17:38 +0200)]
Make sure gv ops seen by multideref are cleaned from the global table
Since they are created in the peephole optimizer, multideref ops have to
rely on getting the lexical scope hints from their first kid. It might have
happened that the kid of one such op was a gv op compiled in the scope of
the pragma, and was then reused outside of the scope of the pragma again
as the first kid of another multideref op. In that case, the multideref op
was wrongly replaced. This is solved by always clearing gv ops entries in
ck_rv2xv() from the global op map.
This solves random failures of test 12 from t/40-scope.t.
Vincent Pit [Thu, 14 May 2015 15:07:44 +0000 (17:07 +0200)]
Bump copyright year
Vincent Pit [Thu, 14 May 2015 15:07:23 +0000 (17:07 +0200)]
Update ptable.h
Vincent Pit [Thu, 14 May 2015 14:25:45 +0000 (16:25 +0200)]
Revamp module setup/teardown
This fixes crashes and bugs when loading the pragma in several threads run
in parallel.
Vincent Pit [Tue, 12 May 2015 10:05:05 +0000 (12:05 +0200)]
Rename A_CHECK_MUTEX_* to A_CHECK_*
Vincent Pit [Tue, 12 May 2015 09:56:00 +0000 (11:56 +0200)]
Update VPIT::TestHelpers to
2a6ac0f1
And port the tests to the new interfaces.
Vincent Pit [Tue, 12 May 2015 09:54:07 +0000 (11:54 +0200)]
Document that the multideref implementation is only used for exists/delete
Vincent Pit [Tue, 12 May 2015 09:38:47 +0000 (11:38 +0200)]
Sanitize the return value of a_do_multideref()
Vincent Pit [Wed, 29 Apr 2015 14:15:52 +0000 (11:15 -0300)]
Specify the lists in the iterator object
Vincent Pit [Wed, 29 Apr 2015 14:07:07 +0000 (11:07 -0300)]
Also test stores in t/44-multideref.t
Vincent Pit [Wed, 29 Apr 2015 12:53:57 +0000 (09:53 -0300)]
Silence a couple of compiler warnings
Vincent Pit [Wed, 29 Apr 2015 12:52:23 +0000 (09:52 -0300)]
Make multideref work with stores
Vincent Pit [Mon, 27 Apr 2015 15:41:28 +0000 (12:41 -0300)]
Also check for definedness for MDEREF_[AH]V_vivify_rv2[ah]v_[ah]elem
Vincent Pit [Mon, 27 Apr 2015 15:40:37 +0000 (12:40 -0300)]
Add a couple of missing break; statements in pp_multideref()
Vincent Pit [Mon, 27 Apr 2015 14:14:07 +0000 (11:14 -0300)]
Test multideref support
Vincent Pit [Sat, 25 Apr 2015 01:39:53 +0000 (22:39 -0300)]
Add support for OP_MULTIDEREF
Vincent Pit [Sat, 25 Apr 2015 01:39:13 +0000 (22:39 -0300)]
Make sure MULTIPLICITY builds set PERL_IMPLICIT_CONTEXT
Vincent Pit [Sat, 25 Apr 2015 01:37:03 +0000 (22:37 -0300)]
Factor the error messages in a separate helper function
Vincent Pit [Tue, 24 Mar 2015 19:54:30 +0000 (16:54 -0300)]
Update the ActivePerl/gcc-3.4 hack for EUMM 7.04
Starting from this version, PERL_ARCHIVE is quoted so we can no longer set
it to the empty string. Instead, we remove all occurrences of PERL_ARCHIVE
in the linking step section of the Makefile, which is OK since we specify
the perl DLL in other variables. This new technique is still valid for
older versions of EUMM.
Vincent Pit [Thu, 2 Apr 2015 01:35:46 +0000 (22:35 -0300)]
Replace STATIC by static
Vincent Pit [Thu, 12 Mar 2015 13:03:57 +0000 (10:03 -0300)]
Update VPIT::TestHelpers to
3c878c7c
Vincent Pit [Fri, 6 Feb 2015 12:17:37 +0000 (13:17 +0100)]
Really be compatible with the OP_PARENT feature
OP_SIBLING() has been renamed to OpSIBLING() in perl 5.21.7.
Vincent Pit [Sat, 1 Nov 2014 22:25:34 +0000 (20:25 -0200)]
This is 0.14
Vincent Pit [Sat, 1 Nov 2014 21:39:16 +0000 (19:39 -0200)]
Also mark the unstack ops in our peephole optimizer
This prevents infinite recursion at compile time for ... while 1
constructs, where the body may not contain neither nextstates nor
stubs.
This fixes RT #99458 and RT #99904.
Vincent Pit [Mon, 13 Oct 2014 13:05:15 +0000 (10:05 -0300)]
Test that infinite loops don't crash
Vincent Pit [Sat, 4 Oct 2014 17:07:14 +0000 (19:07 +0200)]
This is 0.13
Vincent Pit [Sat, 4 Oct 2014 16:49:23 +0000 (18:49 +0200)]
Bump copyright year
Vincent Pit [Sat, 4 Oct 2014 16:37:31 +0000 (18:37 +0200)]
Warn about the global slowdown
Vincent Pit [Sat, 4 Oct 2014 16:12:42 +0000 (18:12 +0200)]
Silence an "unused variable" compiler warnings on threaded perls
Vincent Pit [Sat, 4 Oct 2014 16:11:47 +0000 (18:11 +0200)]
Add support for PERL_OP_PARENT
This was introduced in perl 5.21.2.
Vincent Pit [Sat, 4 Oct 2014 16:08:16 +0000 (18:08 +0200)]
Do nothing after that the thread local storage has been freed
This de facto disables the pragma for code eval'd during global
destruction of a thread or a pseudo-fork.
Vincent Pit [Sat, 4 Oct 2014 15:39:24 +0000 (17:39 +0200)]
Nullify thread local storage entries when they are freed
This makes possible problems easier to reproduce.
Vincent Pit [Sat, 4 Oct 2014 15:37:25 +0000 (17:37 +0200)]
Don't cleanup thread local storage before END blocks are executed
reap.h is no longer necessary.
Vincent Pit [Sat, 12 Jul 2014 16:53:52 +0000 (18:53 +0200)]
In the rpeep replacement, don't check every op for recursion
When the rpeep is available (i.e. starting from perl 5.13.4), recursion in
the peephole optimizer replacement seemingly only happens for static
infinite loops (think for (;;) { }), even though the 'seen' pointer table
is checked for every op. This may cause slowdowns even outside of the scope
of the pragma. To mitigate this problem, only check for recursion on
nextstate, dbstate, and stub ops, since one of those three kind of ops must
occur in any loop/block (respectively for non-empty, non-empty debugging
and empty loops).
Vincent Pit [Sat, 12 Jul 2014 16:52:31 +0000 (18:52 +0200)]
Add a testdeb target to Makefiles
Vincent Pit [Mon, 1 Sep 2014 13:23:23 +0000 (15:23 +0200)]
Use run_perl() from VPIT::TestHelpers
This updates VPIT::TestHelpers to
4fb18792 .
This fixes RT #97703.
Vincent Pit [Thu, 5 Sep 2013 17:21:20 +0000 (19:21 +0200)]
This is 0.12
Vincent Pit [Sat, 24 Aug 2013 19:26:12 +0000 (16:26 -0300)]
Update bundled Test::Leaner to 0.05
Vincent Pit [Sat, 24 Aug 2013 18:04:04 +0000 (15:04 -0300)]
Make Perl version numbers more readable
Vincent Pit [Sat, 24 Aug 2013 16:41:23 +0000 (13:41 -0300)]
Remove obsolete kwalitee workarounds
Vincent Pit [Fri, 23 Aug 2013 19:38:22 +0000 (16:38 -0300)]
No tabs please
Vincent Pit [Fri, 23 Aug 2013 14:03:24 +0000 (11:03 -0300)]
Remove trailing whitespace
Vincent Pit [Thu, 22 Aug 2013 21:10:42 +0000 (18:10 -0300)]
Replace check functions in a thread-safe way
Vincent Pit [Tue, 20 Aug 2013 21:17:40 +0000 (18:17 -0300)]
Stop bundling author tests
Vincent Pit [Wed, 7 Aug 2013 14:37:23 +0000 (11:37 -0300)]
Update the bug tracker URL in META after the rt.perl.org upgrade
Vincent Pit [Tue, 6 Aug 2013 03:26:38 +0000 (00:26 -0300)]
Get rid of t/99-kwalitee.t
New versions started to throw warnings if specific environment variables
are not set. This may be appropriate for dist manager users, but not really
for the rest of the world.
Since kwalitee metrics are either obvious or useless, there's no big loss
in removing this test anyway.
Vincent Pit [Fri, 8 Feb 2013 19:23:02 +0000 (17:23 -0200)]
This is 0.11
Vincent Pit [Fri, 8 Feb 2013 19:08:42 +0000 (17:08 -0200)]
Bump copyright year
Vincent Pit [Wed, 30 Jan 2013 16:36:58 +0000 (14:36 -0200)]
Update VPIT::TestHelpers to
e8344578
Vincent Pit [Fri, 2 Nov 2012 00:27:25 +0000 (22:27 -0200)]
Don't run the POD spelling test in taint mode
This causes the test to crash on perl 5.12 and below with sensitive
architectures like FreeBSD. Ultimately the root of the issue seems to have
been https://rt.perl.org/rt3/Public/Bug/Display.html?id=60378.
Thanks Slaven Rezic for debugging this.
Vincent Pit [Mon, 29 Oct 2012 12:56:57 +0000 (10:56 -0200)]
Add BUILD_REQUIRES to WriteMakefile()
Also add Config and Exporter to BUILD_REQUIRES.
Vincent Pit [Mon, 29 Oct 2012 12:46:34 +0000 (10:46 -0200)]
Port module loading in tests to VPIT::TestHelpers
Vincent Pit [Mon, 29 Oct 2012 12:38:29 +0000 (10:38 -0200)]
Update author tests, and add a POD spelling test
Also make sure that the kwalitee test unlinks its byproducts.
Vincent Pit [Mon, 29 Oct 2012 12:30:43 +0000 (10:30 -0200)]
Kill Debian_CPANTS.txt suffixes as well
Vincent Pit [Mon, 29 Oct 2012 12:21:44 +0000 (10:21 -0200)]
Silence "unused return values" for POPs calls
Vincent Pit [Mon, 29 Oct 2012 12:19:38 +0000 (10:19 -0200)]
More POD and wording tweaks
Vincent Pit [Sat, 16 Jun 2012 08:38:54 +0000 (10:38 +0200)]
Bump copyright year
Vincent Pit [Sat, 16 Jun 2012 08:38:34 +0000 (10:38 +0200)]
Quote version numbers in Makefile.PL
Vincent Pit [Sun, 19 Feb 2012 13:09:03 +0000 (14:09 +0100)]
Require Module::ExtractUse 0.24 for the Kwalitee test
Vincent Pit [Fri, 11 Nov 2011 18:44:47 +0000 (19:44 +0100)]
Preserve the PATH environment variable when running a sub-perl on cygwin
Vincent Pit [Fri, 11 Nov 2011 18:41:17 +0000 (19:41 +0100)]
Threads tests may not be able to spawn all the threads
To work around this :
- move all the threads boilerplate to a new helper test module ;
- capture the warnings/errors that threads->create may throw and reprint
them properly as diagnostics ;
- use Test::Leaner instead of Test::More, as older Test::More sometimes
cause out of sequence bugs ;
- last but not least, do not hardcode the plan and use done_testing with
the actual number of spawned threads instead.
Vincent Pit [Fri, 11 Nov 2011 18:18:18 +0000 (19:18 +0100)]
Make sure the POD headings are linkable
Vincent Pit [Fri, 11 Nov 2011 17:58:32 +0000 (18:58 +0100)]
Reorder the members of the a_op_info struct a bit
Vincent Pit [Mon, 17 Oct 2011 23:31:01 +0000 (01:31 +0200)]
Minor POD tweaks
Vincent Pit [Wed, 24 Aug 2011 14:58:40 +0000 (16:58 +0200)]
This is 0.10
Vincent Pit [Wed, 24 Aug 2011 14:35:32 +0000 (16:35 +0200)]
Replace $] by "$]"
An old bug could cause $] to be initialized to a wrong decimal value.
Since its stringified value was always right, we use it instead.
Occurences of $^V were also replaced by $].
Vincent Pit [Wed, 24 Aug 2011 14:29:42 +0000 (16:29 +0200)]
Add META.json
Vincent Pit [Wed, 24 Aug 2011 14:24:13 +0000 (16:24 +0200)]
Update bundled Test::Leaner to 0.04
Vincent Pit [Wed, 24 Aug 2011 12:53:55 +0000 (14:53 +0200)]
Ignore MYMETA.json
Vincent Pit [Wed, 24 Aug 2011 12:53:06 +0000 (14:53 +0200)]
Encode the README file in UTF-8
Vincent Pit [Mon, 18 Jul 2011 09:40:23 +0000 (11:40 +0200)]
The last argument to hv_fetch is the lvalue flag, not the hash
This could have caused entry vivifications in %^H on 5.8.
Vincent Pit [Wed, 5 Jan 2011 18:40:45 +0000 (19:40 +0100)]
This is 0.09
Vincent Pit [Tue, 4 Jan 2011 18:22:12 +0000 (19:22 +0100)]
Only declare dMY_CXT when really needed
Vincent Pit [Tue, 4 Jan 2011 18:10:07 +0000 (19:10 +0100)]
Always skip seen ops in our peep replacement
Sometimes, there are loops in the next chain as e.g. with infinite loops
like "for (;;) { ... }". We can't reuse the op_opt member because it's
almost always set after the first pass.
This fixes RT #64435.
Vincent Pit [Mon, 3 Jan 2011 20:53:49 +0000 (21:53 +0100)]
This is 0.08