diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-01-25 09:27:56 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2010-05-21 07:03:51 +0100 |
commit | 6e1287864cd02fb6f429f12a995e1c08e03572b9 (patch) | |
tree | 26a68af882fe54347da6600cc410256b1d6cc625 /sv.c | |
parent | 601dfd0af0604fa7ed2cabe7f33a232b9b3908c0 (diff) | |
download | perl-6e1287864cd02fb6f429f12a995e1c08e03572b9.tar.gz |
In the SV body, exchange the positions of the NV and stash/magic.
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -915,8 +915,9 @@ static const struct body_details bodies_by_type[] = { }, /* 8 bytes on most ILP32 with IEEE doubles */ - { sizeof(NV), sizeof(NV), 0, SVt_NV, FALSE, HADNV, HASARENA, - FIT_ARENA(0, sizeof(NV)) }, + { sizeof(NV), sizeof(NV), + STRUCT_OFFSET(XPVNV, xnv_u), + SVt_NV, FALSE, HADNV, HASARENA, FIT_ARENA(0, sizeof(NV)) }, /* 8 bytes on most ILP32 with IEEE doubles */ { sizeof(XPV), @@ -933,11 +934,11 @@ static const struct body_details bodies_by_type[] = { FIT_ARENA(0, sizeof(XPV)) }, /* 20 */ - { sizeof(XPVNV), copy_length(XPVNV, xiv_u), 0, SVt_PVNV, FALSE, HADNV, + { sizeof(XPVNV), copy_length(XPVNV, xnv_u), 0, SVt_PVNV, FALSE, HADNV, HASARENA, FIT_ARENA(0, sizeof(XPVNV)) }, /* 28 */ - { sizeof(XPVMG), copy_length(XPVMG, xmg_stash), 0, SVt_PVMG, FALSE, HADNV, + { sizeof(XPVMG), copy_length(XPVMG, xnv_u), 0, SVt_PVMG, FALSE, HADNV, HASARENA, FIT_ARENA(0, sizeof(XPVMG)) }, /* something big */ @@ -957,13 +958,13 @@ static const struct body_details bodies_by_type[] = { HASARENA, FIT_ARENA(0, sizeof(XPVLV)) }, { sizeof(XPVAV), - copy_length(XPVAV, xmg_stash), + copy_length(XPVAV, xiv_u), 0, SVt_PVAV, TRUE, NONV, HASARENA, FIT_ARENA(0, sizeof(XPVAV)) }, { sizeof(XPVHV), - copy_length(XPVHV, xmg_stash), + copy_length(XPVHV, xiv_u), 0, SVt_PVHV, TRUE, NONV, HASARENA, FIT_ARENA(0, sizeof(XPVHV)) }, |