summaryrefslogtreecommitdiff
path: root/hv.h
Commit message (Collapse)AuthorAgeFilesLines
* Add a new hash key flag HVhek_UNSHARED, to mark all unshared hash keys.Nicholas Clark2006-05-021-2/+4
| | | | | | Otherwise Perl_newSVhek(), called by Perl_hv_iterkeysv(), naively assumes that it can share any hash key directly. p4raw-id: //depot/perl@28069
* Store cop_hints as a shared structure without using any SVs (onNicholas Clark2006-04-121-4/+20
| | | | | ithreads). p4raw-id: //depot/perl@27776
* First stab at using the pad to store the serialised hints data.Nicholas Clark2006-04-111-0/+6
| | | | | | This approach is almost certainly not only wrong, but also doomed. But it's needed to build a correct solution. p4raw-id: //depot/perl@27768
* Need to migrate the refcounted_he structure to be properly shared.Nicholas Clark2006-04-111-5/+32
| | | | | | Add a mutex for manipulated their reference counts. Unwrap the structure, so that for ithreads it can store SVs in pads. p4raw-id: //depot/perl@27764
* Serialise changes to %^H onto the current COP. Return the compile timeNicholas Clark2006-03-311-0/+5
| | | | | | state of %^H as an eleventh value from caller. This allows users to write pragmas. p4raw-id: //depot/perl@27643
* Expunge references to HV_AMAGIC, HV_AMAGICbad and HV_AMAGICmb whichNicholas Clark2006-03-151-13/+0
| | | | | have been unused since revision 1. p4raw-id: //depot/perl@27507
* Move the GvNAME HEK into the IV union - every GV is now 1 pointerNicholas Clark2006-03-051-0/+4
| | | | | smaller. p4raw-id: //depot/perl@27380
* xgv_stash can be stored as a union with the NV, reducing the size ofNicholas Clark2006-02-251-1/+4
| | | | | PVGVs by another pointer. p4raw-id: //depot/perl@27326
* Store the stash for our in the magic slot. This will allow us to useNicholas Clark2006-02-241-2/+8
| | | | | | PVMGs in pad names where previously PVGVs were used. In turn, this gives much greater flexibility for the layout of PVGVs. p4raw-id: //depot/perl@27312
* Re: [PATCH] s/Null(gv|hv|sv)/NULL/gSteven Schubiger2006-02-031-2/+2
| | | | | | Message-ID: <20060203152449.GI12591@accognoscere.homeunix.org> Date: Fri, 3 Feb 2006 16:24:49 +0100 p4raw-id: //depot/perl@27065
* Re: [PATCH] s/Null(av|ch)/NULL/gSteven Schubiger2006-02-021-2/+2
| | | | | Message-ID: <20060202093849.GD12591@accognoscere.homeunix.org> p4raw-id: //depot/perl@27054
* Use a union for storing the shared hash key reference count, ratherNicholas Clark2006-01-301-3/+6
| | | | | than messy pointer hacks. p4raw-id: //depot/perl@27000
* RMAGIC on symbol tables is bad, m'kay.Nicholas Clark2005-12-301-0/+1
| | | | | | | | Allow hashes (and therefore all symbol tables) to store the backreference array in the hv_aux structure, and thereby undo the performance damage of 24966, which resulted in 60% of all hash lookups trying to mg_find tiehash magic. p4raw-id: //depot/perl@26530
* More consting, and putting stuff in embed.fncAndy Lester2005-12-061-2/+2
| | | | | Message-ID: <20051205194613.GB7791@petdance.com> p4raw-id: //depot/perl@26281
* Replace hv_magic() with a macro to call sv_magic() directly. Move theNicholas Clark2005-10-301-0/+1
| | | | | old body to mathoms.c p4raw-id: //depot/perl@25897
* Replace hv_iternext() with a macro that calls hv_iternext_flags withNicholas Clark2005-10-301-0/+2
| | | | | an extra 0 argument. Move the old body to mathoms.c p4raw-id: //depot/perl@25895
* Minor comment fixRafael Garcia-Suarez2005-09-091-1/+1
| | | p4raw-id: //depot/perl@25366
* Given that we now have a union, there's no need for all the HvARRAY()Nicholas Clark2005-08-171-5/+1
| | | | | casting games. p4raw-id: //depot/perl@25297
* [patch hv.h doc] HvNAMESteve Hay2005-07-111-1/+2
| | | | | | | | | | | | From: Stas Bekman <stas@stason.org> Date: Fri, 08 Jul 2005 13:52:13 +0300 Message-ID: <42CE5ADD.3020003@stason.org> Subject: Re: [patch hv.h doc] HvNAME From: Nicholas Clark <nick@ccl4.org> Date: Sat, 9 Jul 2005 15:23:51 +0100 Message-ID: <20050709142351.GT15833@plum.flirble.org> p4raw-id: //depot/perl@25111
* Squeeze a little more savings by moving pte and he arenas into theNicholas Clark2005-06-181-0/+3
| | | | | common arena free code. p4raw-id: //depot/perl@24895
* Provide share_hek_hek, and use it for fast copying of shared stringNicholas Clark2005-06-121-0/+7
| | | | | scalars. p4raw-id: //depot/perl@24811
* In the shared string table, store the HE and HEK next to each otherNicholas Clark2005-06-121-0/+4
| | | | | in one malloc()ed block. p4raw-id: //depot/perl@24808
* hash key code cleanupNicholas Clark2005-06-111-2/+0
| | | p4raw-id: //depot/perl@24803
* Store the xhv_aux structure after the main array.Nicholas Clark2005-06-011-11/+12
| | | | | | | This reduces the size of HV bodies from 24 to 20 bytes on a 32 bit build. It has the side effect of defined %symbol_table:: now always being true. defined %hash is already deprecated. p4raw-id: //depot/perl@24660
* Attempt 2 at a diet memory layout can go live.Nicholas Clark2005-05-311-1/+1
| | | p4raw-id: //depot/perl@24649
* Change the IV to a union.Nicholas Clark2005-05-291-22/+12
| | | | | | | | Revert the NV union back to a plain NV Transpose the positions of IV and NV (NV is now first) Don't allocate the NV for PV,PVIV,PVAV and PVHV (last 2 non-allocations currently disabled by default) p4raw-id: //depot/perl@24617
* Get the HEK once only in the hot code (class method calls)Nicholas Clark2005-05-271-0/+2
| | | p4raw-id: //depot/perl@24594
* Rename the members of the SV head union to avoid pre-processorNicholas Clark2005-05-261-1/+1
| | | | | arguments with embed.h p4raw-id: //depot/perl@24590
* Store the package name as a shared HEK.Nicholas Clark2005-05-261-3/+5
| | | | | | | | Abolish HvNAME() - as the stored pointer is not a char* you can't set it directly now. Storing a pointer to a HEK tracks the length too, and seems to be faster. p4raw-id: //depot/perl@24584
* I think for now these have to be disabled by default.Nicholas Clark2005-05-251-1/+1
| | | p4raw-id: //depot/perl@24572
* Reorder the union to cause Win32 compilers to use void * alignment forNicholas Clark2005-05-241-1/+1
| | | | | it. p4raw-id: //depot/perl@24569
* Don't allocate an IV slot where the type doesn't use the IV slot.Nicholas Clark2005-05-231-0/+19
| | | p4raw-id: //depot/perl@24557
* create an "allocated" structure for PVs, PVAVs and PVHVsNicholas Clark2005-05-231-0/+1
| | | p4raw-id: //depot/perl@24544
* Re-order IVX slot in SV bodiesNicholas Clark2005-05-221-1/+1
| | | p4raw-id: //depot/perl@24542
* Add a union in place of xnv_nv, which allows AVs and HVs to re-useNicholas Clark2005-05-211-4/+15
| | | | | | | the memory to store pointers and integers. (Part 1 - will be reworked to be more efficient when IV or void* is 64 bit soon) p4raw-id: //depot/perl@24538
* Move the xpv_pv/xrv_rv member into the SV head, in a union withNicholas Clark2005-05-211-2/+1
| | | | | IV and UV. Avoid allocating a body for IVs and RVs. p4raw-id: //depot/perl@24531
* Move hv_name, hv_eiter and hv_riter into a new aux structure.Nicholas Clark2005-05-211-6/+34
| | | | | | Provide (more efficient) _get and _set macros. Adjust the core to use them. p4raw-id: //depot/perl@24526
* Move placeholders into a new rhash magic type.Nicholas Clark2005-05-211-10/+5
| | | p4raw-id: //depot/perl@24525
* Remove PMROOT and replace it with a small shell script. Er, magic.Nicholas Clark2005-05-201-2/+1
| | | | | | (PMROOT being needed to implement bare C<reset> - how often do you use that?) p4raw-id: //depot/perl@24522
* Fix a typoNicholas Clark2005-05-201-1/+1
| | | p4raw-id: //depot/perl@24516
* Default to allocating the correct size for the array in the HV.Nicholas Clark2005-05-181-1/+4
| | | | | Override this with -DPERL_USE_LARGE_HV_ALLOC p4raw-id: //depot/perl@24497
* Update copyrights.Rafael Garcia-Suarez2005-03-301-1/+1
| | | p4raw-id: //depot/perl@24106
* Revert change 23843.Rafael Garcia-Suarez2005-01-241-3/+0
| | | | | (See discussion for bug [perl #31924]) p4raw-id: //depot/perl@23873
* Re: [perl #31924] %INC caching failure-case problemRick Delaney2005-01-211-0/+3
| | | | | Message-ID: <20041013164018.GA32174@biff.bort.ca> p4raw-id: //depot/perl@23843
* Stas would prefer not to have MOD_PERL defines in perl.Nicholas Clark2003-11-031-1/+2
| | | p4raw-id: //depot/perl@21639
* s/new_hash/rehash/g (Stas suggested a better name)Nicholas Clark2003-11-031-1/+1
| | | p4raw-id: //depot/perl@21638
* mod_perl2 will require access to the Plan C hashing function.Nicholas Clark2003-11-011-1/+1
| | | p4raw-id: //depot/perl@21607
* Return 21533 (with modifications) having found the problemNicholas Clark2003-10-251-0/+11
| | | p4raw-id: //depot/perl@21535
* Back out 21533 because it broke Encode's build in really weird waysNicholas Clark2003-10-251-11/+0
| | | p4raw-id: //depot/perl@21534
* Plan C rough edge smoothing. Criteria for a hash split is nowNicholas Clark2003-10-251-0/+11
| | | | | | | 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