summaryrefslogtreecommitdiff
path: root/hv.c
Commit message (Collapse)AuthorAgeFilesLines
* hv_store was not passing hash onwards (spotted by Dave)Nicholas Clark2004-07-071-1/+1
| | | p4raw-id: //depot/perl@23061
* Stop ENV_IS_CASELESS hv.c picking up the wrong hash value from aNicholas Clark2004-07-061-0/+2
| | | | | shared string scalar. p4raw-id: //depot/perl@23058
* [patch] log the interpreter id in warningsStas Bekman2004-04-211-2/+3
| | | | | Message-ID: <40847869.1000906@stason.org> p4raw-id: //depot/perl@22721
* hv_delete_common was freeing the key, then passing the freed pointerNicholas Clark2004-03-231-3/+5
| | | | | to S_hv_notallowed. D'oh! p4raw-id: //depot/perl@22569
* Update copyright noticesRafael Garcia-Suarez2004-03-161-1/+1
| | | p4raw-id: //depot/perl@22509
* In hsplit, if a normal hash has placeholders then clear them beforeNicholas Clark2004-02-271-5/+11
| | | | | | | splitting. We can do this safely because Storable ensures hsplit is not called while it builds restricted hashes (actually any hashes) This change may not make things faster, but now we have the choice. p4raw-id: //depot/perl@22393
* My re-implementation of hv_clear_placeholders was buggy - not sure whyNicholas Clark2004-02-271-1/+4
| | | | | the tests still passed. Fixed. p4raw-id: //depot/perl@22391
* Comment to record why we can't clear placeholders in hsplitNicholas Clark2004-02-071-0/+5
| | | p4raw-id: //depot/perl@22282
* deleting keys in restricted hashes was leaking the entry. Yow!Nicholas Clark2004-02-071-0/+1
| | | p4raw-id: //depot/perl@22281
* Now hv_delete is able to ingore placeholders.Nicholas Clark2004-02-071-15/+0
| | | | | | (This is an XS visible change in the hash API. But not of documented behaviour) p4raw-id: //depot/perl@22280
* hv_clear_placeholders now manipulates the linked lists directly, ratherNicholas Clark2004-02-071-36/+39
| | | | | | | than using the iterator interface and calling hv_delete This will allow hv_delete to be simplified to remove most of the special casing related to placeholders. p4raw-id: //depot/perl@22278
* Refactor VOS patches for bleadperl and perl-5.8.xPaul Green2004-01-171-2/+2
| | | | | | From: "Green, Paul" <Paul.Green@stratus.com> Message-ID: <A2A34F15EE916148BC4C4748223E67A4069FBB15@exna4.stratus.com> p4raw-id: //depot/perl@22171
* remove duplicate PERL_HASH (as spotted by Enache Adrian inNicholas Clark2003-12-201-1/+0
| | | | | <20031220124854.GA1265@ratsnest.hole> ) p4raw-id: //depot/perl@21932
* S_save_hek_flags should honour the "free" flag.Nicholas Clark2003-12-141-2/+6
| | | | | Ought to mask the flag bits that shouldn't be stored. p4raw-id: //depot/perl@21907
* Some fool missed a letter n.Nicholas Clark2003-12-141-19/+22
| | | | | | | (and then "optimised" code based on its absense. D'oh) Restore the correct behaviour - fetch with uppercase key, then if still not found store with mixed/lowercase key. p4raw-id: //depot/perl@21906
* Re: Change 21862Adrian M. Enache2003-12-141-0/+4
| | | | | | | Message-ID: <20031210040558.GC1584@ratsnest.hole> (1st hunk), plus the equivalent for hv_delete_common p4raw-id: //depot/perl@21905
* Clean up a bug I introduced into caseless ENV hv_deleteNicholas Clark2003-12-141-15/+10
| | | | | (should be the proper fix for 21870 and 21872's band aid) p4raw-id: //depot/perl@21904
* temporary fix to avoid t/op/tie.t failures on Win32Adrian M. Enache2003-12-091-1/+1
| | | p4raw-id: //depot/perl@21872
* Integrate change #21862 from maint-5.8 :Rafael Garcia-Suarez2003-12-081-0/+3
| | | | | | | | | | | | Win32/MinGW tweaks A. ENV_IS_CASELESS has trys to free(keysave) when keysave isn't in scope yet. B. For default makefile.mk which build with perlhost.h stuff "live" need to link with g++ to find new/delete etc. p4raw-link: @21862 on //depot/maint-5.8/perl: 4db40f21e8071917ddf2daa52294e1413442660d p4raw-id: //depot/perl@21870 p4raw-integrated: from //depot/maint-5.8/perl@21869 'merge in' win32/makefile.mk (@21777..) hv.c (@21838..)
* iterator reset moved to hv.c (was: [PATCH] SCALAR/FIRSTKEY for tied hashes ↵Tassilo von Parseval2003-12-081-1/+3
| | | | | | | in scalar context) Message-id: <20031208071746.GA594@ethan> p4raw-id: //depot/perl@21869
* SCALAR/FIRSTKEY for tied hashes in scalar contextTassilo von Parseval2003-12-061-0/+29
| | | | | Message-id: <20031206105059.GA13989@ethan> p4raw-id: //depot/perl@21855
* Should fix the infinite loop on a dynamic %ENV fetchNicholas Clark2003-11-241-1/+2
| | | p4raw-id: //depot/perl@21782
* Tweak the order of initialisation of oentry in hv_fetch_common -Nicholas Clark2003-11-241-5/+5
| | | | | C source now cleaner, but optimised object file still the same size. p4raw-id: //depot/perl@21781
* D'oh. Mistake in the DYNAMIC_ENV_FETCH conditional codeNicholas Clark2003-11-221-1/+1
| | | | | reported by Craig Berry p4raw-id: //depot/perl@21779
* Reorder functions in hv.c so that callers of hv_fetch_common are allNicholas Clark2003-11-221-137/+137
| | | | | close to it. p4raw-id: //depot/perl@21772
* "Space Is a Province of Brazil"Nicholas Clark2003-11-221-263/+219
| | | | | | Farewell, hv_store_common. Store is now part of Fetch. All tests pass. hv.c 15% smaller than when I started all this p4raw-id: //depot/perl@21771
* Farewell hv_exists_common - exists is now a call to fetchNicholas Clark2003-11-221-219/+147
| | | | | (with the exists magic handling moved into fetch) p4raw-id: //depot/perl@21770
* Shift negative klen/flags games from hv_store_common out to hv_storeNicholas Clark2003-11-221-18/+26
| | | p4raw-id: //depot/perl@21769
* Shift negative klen/flags games from hv_exists_common out to hv_existsNicholas Clark2003-11-221-17/+33
| | | p4raw-id: //depot/perl@21768
* Move the negative key -> utf8 flag conversion out to hv_deleteNicholas Clark2003-11-211-17/+30
| | | p4raw-id: //depot/perl@21766
* Tweaks to S_hv_delete_common:Nicholas Clark2003-11-211-12/+13
| | | | | | | make the magic call hv_fetch_common rather than ent-or-not grab the hash from a shared hash key scalar if possible use masked flags rather than flags for the comparison p4raw-id: //depot/perl@21765
* Shift negative klen/flags games from hv_fetch_common out to hv_fetchNicholas Clark2003-11-201-14/+20
| | | p4raw-id: //depot/perl@21760
* Merge sv_store_flags and sv_store_ent into sv_store_commonNicholas Clark2003-11-201-183/+72
| | | p4raw-id: //depot/perl@21758
* promote hv_clear_placeholders to perl APIAlan Burlison2003-11-201-0/+55
| | | | | Message-ID: <3FBC98B6.6090909@sun.com> p4raw-id: //depot/perl@21756
* merge hv_fetch and hv_fetch_ent into hv_fetch_commonNicholas Clark2003-11-191-197/+94
| | | | | | remove S_hv_fetch_flags hv.c now 13% smaller than when I started. hv_store TODO p4raw-id: //depot/perl@21753
* integrate hv_delete and hv_delete_ent into hv_delete_commonNicholas Clark2003-11-191-166/+50
| | | p4raw-id: //depot/perl@21750
* clear of empty locked hash SEGVsAlan Burlison2003-11-191-1/+1
| | | | | Message-ID: <3FBB8087.20206@sun.com> p4raw-id: //depot/perl@21748
* merge hv_exists and hv_exists_ent into S_hv_exists_commonNicholas Clark2003-11-191-115/+46
| | | p4raw-id: //depot/perl@21747
* Ooops. left an XXX comment in, and worse still it's a // commentNicholas Clark2003-11-161-1/+0
| | | p4raw-id: //depot/perl@21737
* utf8 keys now work for tied hashes via hv_fetch, hv_store, hv_deleteNicholas Clark2003-11-161-8/+23
| | | | | | (pp functions use the _ent variants, and as the implementation is duplicated, these bugs aren't tested, and aren't noticed) p4raw-id: //depot/perl@21735
* Accessing unicode keys in tie hashes via hv_exists was broken.Nicholas Clark2003-11-161-0/+9
| | | | | | (pp_exists uses hv_exists_ent, which isn't broken) I expect an equivalent bug in hv_delete p4raw-id: //depot/perl@21734
* Re: Storable ErrorNicholas Clark2003-11-151-0/+73
| | | | | Message-ID: <20030809003535.C20130@plum.flirble.org> p4raw-id: //depot/perl@21729
* Stas would prefer not to have MOD_PERL defines in perl.Nicholas Clark2003-11-031-0/+1
| | | p4raw-id: //depot/perl@21639
* 14 is the chain length for attack. FromNicholas Clark2003-10-301-1/+1
| | | | | | | | | | | | | | | Message-ID: <20031030204117.16008.qmail@plover.com> Subject: Re: 5.8.2-RC1 and mp2 Date: Thu, 30 Oct 2003 15:41:17 -0500 From: Mark Jason Dominus <mjd@plover.com> and From: Scott A Crosby <scrosby@cs.rice.edu> Subject: Re: 5.8.2-RC1 and mp2 Date: 30 Oct 2003 14:08:06 -0600 Message-ID: <oydd6cea3q1.fsf@bert.cs.rice.edu> p4raw-id: //depot/perl@21580
* Return 21533 (with modifications) having found the problemNicholas Clark2003-10-251-16/+46
| | | p4raw-id: //depot/perl@21535
* Back out 21533 because it broke Encode's build in really weird waysNicholas Clark2003-10-251-35/+15
| | | p4raw-id: //depot/perl@21534
* Plan C rough edge smoothing. Criteria for a hash split is nowNicholas Clark2003-10-251-15/+35
| | | | | | | the earlier of "more keys than buckets" (the old test) or linked list too long. Rehash is triggered after a split if the longest linked list is too long. p4raw-id: //depot/perl@21533
* embedding perlRadu Greab2003-10-211-0/+1
| | | | | Message-Id: <20030805.205715.113441323.radu@yx.primIT.ro> p4raw-id: //depot/perl@21514
* Plan C rough edge smoothing - forgot to turn on the "has key flags"Nicholas Clark2003-10-171-0/+2
| | | | | | flag on the hash when rehashing. Can turn off the "rehasing" flag if the hash is cleared p4raw-id: //depot/perl@21474
* Plan C for foiling the algorithmic complexity attackNicholas Clark2003-10-161-10/+131
| | | | | | | | | | | (based on Chip's plan A (binary compatibility with 5.8.0 and 5.8.1), Chip's plan B (do something new inside the hv functions) and introspective sort) Provides infrastructure for hashes to change their hash function if necessary, and code in hsplit to detect pathalogical data and instigate a random rehashing. Needs refinement. Let's see how much smoke it creates. p4raw-id: //depot/perl@21471