Change 27496 by [EMAIL PROTECTED] on 2006/03/14 15:21:54
SVphv_REHASH can use the same flag bit as SVf_FAKE. This allows
0x20000000 (SVf_AMAGIC) to be set on all 16 SV types, which seems to
be necessary to fix subtle bugs involving reblessing and overloading.
Affected files ...
... //depot/perl/sv.h#267 edit
Differences ...
==== //depot/perl/sv.h#267 (text) ====
Index: perl/sv.h
--- perl/sv.h#266~27380~ 2006-03-05 10:13:42.000000000 -0800
+++ perl/sv.h 2006-03-14 07:21:54.000000000 -0800
@@ -307,8 +307,9 @@
fact an offset [SvREPADTMP(sv)]
5: On a pad name SV, that slot in the
frame AV is a REFCNT'ed reference
- to a lexical from "outside".
- */
+ to a lexical from "outside". */
+#define SVphv_REHASH SVf_FAKE /* 6: On a PVHV, hash values are being
+ recalculated */
#define SVf_OOK 0x02000000 /* has valid offset value
For a PVHV this means that a
hv_aux struct is present after the
@@ -334,8 +335,6 @@
/* Some private flags. */
/* PVHV */
-#define SVphv_REHASH 0x10000000 /* PVHV is recalculating hash values */
-/* PVHV */
#define SVphv_SHAREKEYS 0x20000000 /* PVHV
keys live on shared string table */
/* PVNV, PVMG, PVGV, presumably only inside pads */
End of Patch.