]> git.vpit.fr Git - perl/modules/autovivification.git/log
perl/modules/autovivification.git
13 years agoUse the new CLONE_PARAMS API with perl 5.13.2
Vincent Pit [Sat, 26 Jun 2010 13:43:21 +0000 (15:43 +0200)]
Use the new CLONE_PARAMS API with perl 5.13.2

13 years agoMake a_map_fetch() a simple macro around ptable_fetch() in the non-threaded case
Vincent Pit [Mon, 21 Jun 2010 23:25:51 +0000 (01:25 +0200)]
Make a_map_fetch() a simple macro around ptable_fetch() in the non-threaded case

This removes a bit of the run-time performance penalty caused by the pragma.

13 years agoImprove the benchmark
Vincent Pit [Mon, 21 Jun 2010 22:50:03 +0000 (00:50 +0200)]
Improve the benchmark

13 years agoReplace !a_defined() by a_undef()
Vincent Pit [Sat, 19 Jun 2010 15:20:13 +0000 (17:20 +0200)]
Replace !a_defined() by a_undef()

13 years agoBench several levels of dereferenciation
Vincent Pit [Sat, 19 Jun 2010 14:58:10 +0000 (16:58 +0200)]
Bench several levels of dereferenciation

13 years agoAdd a sample benchmark
Vincent Pit [Sat, 19 Jun 2010 13:14:56 +0000 (15:14 +0200)]
Add a sample benchmark

13 years agoImprove the thread destructor trick
Vincent Pit [Tue, 1 Jun 2010 16:20:35 +0000 (18:20 +0200)]
Improve the thread destructor trick

It's currently only used before 5.10.1, so it wasn't really broken by the
recent changes to blead. But the new technique is cleaner and easier to
maintain.

13 years agoAdd a basic thread safety test in t/50-threads.t
Vincent Pit [Tue, 1 Jun 2010 16:08:12 +0000 (18:08 +0200)]
Add a basic thread safety test in t/50-threads.t

13 years agoUse a PPCODE: section in CLONE
Vincent Pit [Tue, 18 May 2010 21:34:50 +0000 (23:34 +0200)]
Use a PPCODE: section in CLONE

13 years agoRequire perl 5.8.1
Vincent Pit [Tue, 18 May 2010 21:33:31 +0000 (23:33 +0200)]
Require perl 5.8.1

14 years agoThis is 0.06 v0.06
Vincent Pit [Sat, 24 Apr 2010 17:40:36 +0000 (19:40 +0200)]
This is 0.06

14 years agoNote that A_THREADSAFE only has a meaning with a threaded perl
Vincent Pit [Sat, 24 Apr 2010 17:06:13 +0000 (19:06 +0200)]
Note that A_THREADSAFE only has a meaning with a threaded perl

14 years agoWhen a thread exits, teardown what we set up
Vincent Pit [Sat, 24 Apr 2010 15:07:23 +0000 (17:07 +0200)]
When a thread exits, teardown what we set up

14 years agoIntroduce A_THREADSAFE and A_FORKSAFE
Vincent Pit [Sat, 24 Apr 2010 14:27:22 +0000 (16:27 +0200)]
Introduce A_THREADSAFE and A_FORKSAFE

14 years agoFix cloning of hints object when the require propagation workaround is enabled
Vincent Pit [Sat, 24 Apr 2010 13:22:14 +0000 (15:22 +0200)]
Fix cloning of hints object when the require propagation workaround is enabled

Also, get rid of A_HINT_BITS().

14 years agoImprove the require propagation workaround
Vincent Pit [Sat, 24 Apr 2010 12:54:59 +0000 (14:54 +0200)]
Improve the require propagation workaround

Those changes were backported from indirect 0.20.

14 years agoMake sure a_defined() calls get magic before testing for definedness rt56870
Vincent Pit [Fri, 23 Apr 2010 23:23:20 +0000 (01:23 +0200)]
Make sure a_defined() calls get magic before testing for definedness

Before this lvalues never appeared as defined, which caused bugs with multiple
nested tied arrays and hashes.

This fixes RT #56870.

14 years agoThis is 0.05 v0.05
Vincent Pit [Fri, 5 Mar 2010 23:09:29 +0000 (00:09 +0100)]
This is 0.05

14 years agoThis module doesn't care bout MULTIPLICITY, so remove the relevant cruft from Makefile.PL
Vincent Pit [Thu, 4 Mar 2010 12:25:15 +0000 (13:25 +0100)]
This module doesn't care bout MULTIPLICITY, so remove the relevant cruft from Makefile.PL

Thus dynamic_config can now be set to 0.

14 years ago"leys" typo in POD rt53647
Vincent Pit [Thu, 4 Mar 2010 00:27:56 +0000 (01:27 +0100)]
"leys" typo in POD

This fixes RT #53647.

14 years agoHandle non-numeric hints rt55154
Vincent Pit [Thu, 4 Mar 2010 00:22:35 +0000 (01:22 +0100)]
Handle non-numeric hints

We only create our hints as UVs, but we may still be getting non-numeric SVs
if e.g. the autovivification introduction was generated from B::Deparse.

This fixes RT #55154.

14 years agoThis is 0.04 v0.04
Vincent Pit [Sun, 10 Jan 2010 00:25:58 +0000 (01:25 +0100)]
This is 0.04

14 years agoBump copyright year
Vincent Pit [Sun, 10 Jan 2010 00:19:20 +0000 (01:19 +0100)]
Bump copyright year

14 years agoAdd a caveat about dereferencing slices
Vincent Pit [Sun, 10 Jan 2010 00:18:58 +0000 (01:18 +0100)]
Add a caveat about dereferencing slices

14 years agos/specific/kv/ in the array test generator
Vincent Pit [Sat, 9 Jan 2010 15:01:13 +0000 (16:01 +0100)]
s/specific/kv/ in the array test generator

14 years agoTest keys/values @array
Vincent Pit [Sat, 9 Jan 2010 14:56:42 +0000 (15:56 +0100)]
Test keys/values @array

14 years agoRename t/21-hash-specific.t to t/22-hash-kv.t
Vincent Pit [Sat, 9 Jan 2010 14:02:05 +0000 (15:02 +0100)]
Rename t/21-hash-specific.t to t/22-hash-kv.t

14 years agoUpdate ptable.h
Vincent Pit [Tue, 29 Dec 2009 17:17:57 +0000 (18:17 +0100)]
Update ptable.h

14 years agoRe-indent WriteMakefile() arguments
Vincent Pit [Sun, 4 Oct 2009 09:18:03 +0000 (11:18 +0200)]
Re-indent WriteMakefile() arguments

14 years agoBuild the $name and the main $file from $dist
Vincent Pit [Sun, 4 Oct 2009 08:43:29 +0000 (10:43 +0200)]
Build the $name and the main $file from $dist

14 years agoPut prerequisites in their own separate hash
Vincent Pit [Sun, 4 Oct 2009 07:52:30 +0000 (09:52 +0200)]
Put prerequisites in their own separate hash

14 years agoGive an explicit value to dynamic_config
Vincent Pit [Sun, 4 Oct 2009 07:28:22 +0000 (09:28 +0200)]
Give an explicit value to dynamic_config

14 years agoOnly look up to the first require scope for the require propagation workaround
Vincent Pit [Wed, 30 Sep 2009 22:49:16 +0000 (00:49 +0200)]
Only look up to the first require scope for the require propagation workaround

14 years agoKwalitee test overhaul
Vincent Pit [Sat, 26 Sep 2009 09:53:10 +0000 (11:53 +0200)]
Kwalitee test overhaul

14 years agoHandle array and hash slices
Vincent Pit [Wed, 24 Jun 2009 16:50:42 +0000 (18:50 +0200)]
Handle array and hash slices

14 years agoFactor the rv2xv recheck logic
Vincent Pit [Wed, 24 Jun 2009 15:20:14 +0000 (17:20 +0200)]
Factor the rv2xv recheck logic

14 years agoThis is 0.03 v0.03
Vincent Pit [Tue, 23 Jun 2009 22:20:28 +0000 (00:20 +0200)]
This is 0.03

14 years agoEliminate a quadratic behaviour at compile time
Vincent Pit [Tue, 23 Jun 2009 20:42:37 +0000 (22:42 +0200)]
Eliminate a quadratic behaviour at compile time

14 years agoCover a_ck_padsv()
Vincent Pit [Fri, 19 Jun 2009 23:07:40 +0000 (01:07 +0200)]
Cover a_ck_padsv()

14 years agoAlso handle old-style dereferencing "$$hashref{key}"
Vincent Pit [Fri, 19 Jun 2009 22:09:02 +0000 (00:09 +0200)]
Also handle old-style dereferencing "$$hashref{key}"

14 years agoOnly generate the non-ref test once
Vincent Pit [Fri, 19 Jun 2009 15:59:20 +0000 (17:59 +0200)]
Only generate the non-ref test once

14 years agoThe hint in a_hint() need not to be const
Vincent Pit [Thu, 18 Jun 2009 23:28:27 +0000 (01:28 +0200)]
The hint in a_hint() need not to be const

14 years agoStore UVs more portably into the hint
Vincent Pit [Thu, 18 Jun 2009 23:27:58 +0000 (01:27 +0200)]
Store UVs more portably into the hint

14 years agoAlso test arrays without aelemfast optimization
Vincent Pit [Thu, 18 Jun 2009 22:47:45 +0000 (00:47 +0200)]
Also test arrays without aelemfast optimization

14 years agoRename tests
Vincent Pit [Thu, 18 Jun 2009 22:26:23 +0000 (00:26 +0200)]
Rename tests

14 years agoClassify aliasing constructs in the "store" category
Vincent Pit [Thu, 18 Jun 2009 17:54:35 +0000 (19:54 +0200)]
Classify aliasing constructs in the "store" category

There's no way to guess at compile time if the scalar will be modified, such as in "eval '$_ = 1' for $x->{key}". Practically, there's no way to distinguish the xelem op from the one you get for "$x->{key} = $val". I was going against the interpreter's will and this is my defeat.

This commit partially reverts ddbfd527f4c54458985145aae3a837a8f5868551.

14 years agoReset the original pp whenever possible in pp_rv2xv
Vincent Pit [Thu, 18 Jun 2009 15:41:20 +0000 (17:41 +0200)]
Reset the original pp whenever possible in pp_rv2xv

14 years agorv2xv introducing a gv don't need to be overridden
Vincent Pit [Thu, 18 Jun 2009 14:54:24 +0000 (16:54 +0200)]
rv2xv introducing a gv don't need to be overridden

14 years agoBetter test descriptions
Vincent Pit [Wed, 17 Jun 2009 22:12:56 +0000 (00:12 +0200)]
Better test descriptions

14 years agoReally test non-ref arrays and hashes
Vincent Pit [Wed, 17 Jun 2009 22:04:34 +0000 (00:04 +0200)]
Really test non-ref arrays and hashes

14 years agoThis is 0.02 v0.02
Vincent Pit [Wed, 17 Jun 2009 18:04:37 +0000 (20:04 +0200)]
This is 0.02

14 years agoTest "use autovivification"
Vincent Pit [Wed, 17 Jun 2009 14:22:48 +0000 (16:22 +0200)]
Test "use autovivification"

14 years agoA crude warning test
Vincent Pit [Wed, 17 Jun 2009 14:15:11 +0000 (16:15 +0200)]
A crude warning test

14 years agoTest keys/values on true references
Vincent Pit [Wed, 17 Jun 2009 14:12:56 +0000 (16:12 +0200)]
Test keys/values on true references

14 years agoIf we fetch from the pointer table, the entry must exist (or segfault in a more expli...
Vincent Pit [Wed, 17 Jun 2009 13:47:53 +0000 (15:47 +0200)]
If we fetch from the pointer table, the entry must exist (or segfault in a more explicit way)

14 years agoRun t/23-hash-specific.t under taint mode
Vincent Pit [Wed, 17 Jun 2009 13:34:15 +0000 (15:34 +0200)]
Run t/23-hash-specific.t under taint mode

14 years agoUpdate ck_root() comment
Vincent Pit [Wed, 17 Jun 2009 13:19:53 +0000 (15:19 +0200)]
Update ck_root() comment

14 years agoDon't autovivify in keys/values
Vincent Pit [Wed, 17 Jun 2009 13:06:24 +0000 (15:06 +0200)]
Don't autovivify in keys/values

14 years agoPlain dereferencing shouldn't have a different behaviour
Vincent Pit [Wed, 17 Jun 2009 10:24:41 +0000 (12:24 +0200)]
Plain dereferencing shouldn't have a different behaviour

14 years agoDelete exists/delete ops from the map when the pragma isn't in use
Vincent Pit [Tue, 16 Jun 2009 10:17:27 +0000 (12:17 +0200)]
Delete exists/delete ops from the map when the pragma isn't in use

14 years agoFix segfaults for "keys %$x"
Vincent Pit [Mon, 15 Jun 2009 21:59:02 +0000 (23:59 +0200)]
Fix segfaults for "keys %$x"

14 years agoFactor the common part of t/20-hash.t and t/21-array.t into a new t/lib/autovivificat...
Vincent Pit [Mon, 15 Jun 2009 21:22:43 +0000 (23:22 +0200)]
Factor the common part of t/20-hash.t and t/21-array.t into a new t/lib/autovivification/TestCases.pm

14 years agoRegenerate t/21-array.t without extraneous spaces at the end of each line
Vincent Pit [Mon, 15 Jun 2009 14:44:20 +0000 (16:44 +0200)]
Regenerate t/21-array.t without extraneous spaces at the end of each line

14 years agoDon't vivify when aliasing
Vincent Pit [Mon, 15 Jun 2009 14:41:17 +0000 (16:41 +0200)]
Don't vivify when aliasing

14 years agoHelp the compiler optimize the PL_op->op_private hack
Vincent Pit [Mon, 15 Jun 2009 13:44:06 +0000 (15:44 +0200)]
Help the compiler optimize the PL_op->op_private hack

14 years agoDelete obsolete entries whenever possible
Vincent Pit [Mon, 15 Jun 2009 13:41:13 +0000 (15:41 +0200)]
Delete obsolete entries whenever possible

14 years agoThis is 0.01 v0.01
Vincent Pit [Sun, 14 Jun 2009 20:08:03 +0000 (22:08 +0200)]
This is 0.01

14 years agoInitial import
Vincent Pit [Sun, 14 Jun 2009 20:04:07 +0000 (22:04 +0200)]
Initial import