develooper Front page | perl.perl5.porters | Postings from November 2016

Re: hv.h hek definition

Thread Previous | Thread Next
From:
demerphq
Date:
November 3, 2016 07:53
Subject:
Re: hv.h hek definition
Message ID:
CANgJU+U0Ze1NZ4wp3QXq7UZQaqJqLmhLRqzsZ9f-gnBEbeFg4A@mail.gmail.com
On 3 November 2016 at 08:39, demerphq <demerphq@gmail.com> wrote:
> On 3 November 2016 at 08:38, demerphq <demerphq@gmail.com> wrote:
>> On 3 November 2016 at 01:21, Tony Cook <tony@develop-help.com> wrote:
>>> On Mon, Oct 24, 2016 at 05:45:22PM +0200, demerphq wrote:
>>>> Well I have pushed the patch. I dont think it should matter, and if we
>>>> find it does then we can tweak it further, or revert if necessary.
>>>
>>> Unfortunately this broke the build on HP-UX.
>>>
>>> SV keys are stored as pointers in hek_key:
>>>
>>> #define HeKEY_sv(he)            (*(SV**)HeKEY(he))
>>>
>>> #define HeKEY(he)               HEK_KEY(HeKEY_hek(he))
>>>
>>> #define HEK_KEY(hek)            (hek)->hek_key
>>>
>>> So setting/fetching a SV key produced a bus error early in the build
>>> (when running configpm) since PA-RISC requires aligned access.
>>>
>>> Reverting d3148f758506efd28325dfd8e1b698385133f0cd fixed the problem,
>>> which I've pushed to blead for now.
>>
>> Er, reverting under this type of situation is not that helpful, even
>> if gets things building again. If we want to try another iteration of
>> this issue then we will just have to do another "shot in the dark" and
>> hope it doesnt break HP-UX.
>>
>> Better I think would be if you could please try unreverting and change
>> the hek_flags field to U32, so we at least know if that fixes the
>> alignment problem you have just revealed.
>
> Specifically what alignment is required. Does it have to be an 8 byte
> line, or is a 4 byte line ok?

BTW, I do apologise for the breakage and trouble caused. But this
patch is in the interests of sanity and other long term improvements.
So I am keen to understand the issues and options better so in the
long run we can have better HEK and COW structures.

So if you could help me to understand the exact requirements for your
platform I would be grateful.

cheers,
Yves


-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About