Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • That reminds me a little bit of Parrot RT #51652 [perl.org]. I'm not sure it's the same problem, but that part of Parrot can be a little fragile.

    • Good call. The ticket number is right even though the link is wrong.

      I added in a few statements to test for the basic isomorphisms that I've been relying on:

              PARROT_ASSERT(offsetof(Buffer, flags) == offsetof(PObj, flags));
              PARROT_ASSERT(offsetof(Buffer, flags) == offsetof(PMC, flags));
              PARROT_ASSERT(offsetof(Buffer, flags) == offsetof(STRING, flags));
              PARROT_ASSERT(offsetof(Buffer, flags) == offsetof(Stack_Chunk_t, flags));

      All these assertions appear to be passing. I'll dig through src/headers.c and some of my allocators again, and make sure that I am not relying on any other relationships besides these.

      I do know that I could probably do better in aligning data in memory. I currently pack things together tightly in the arenas, and this throws off object alignment. On the off-chance that poor alignment could cause a segfault, I'll go back and redo this.

      --
      Andrew Whitworth