64-bit portable bytecode done

Reini Urban rurban at x-ray.at
Thu Feb 26 22:57:50 UTC 2009


Good news, not for 1.0, it's rather huge, but for later:

I found the last bugs on 32-bit reading 64-bit pbc, and would
appreciate countertests on 64-bit machines.
It's a rather big patch, because I also const'ed pmc_freeze, added
ptr_alignment checks, more #ifdef'd tracings
and added random documentation.

But the two essential problems where wrong ALIGN_16 which I replaced
with a simplier and more general approach,
by calculating the padding in bytes and setting the cursor absolute,
not relative.
All pbc cursor padding uses now the same macros and approach, in
pf_items.c and in packfile.c.

And: fetch_iv was not set for thaw_pmc, it was forgotten in a new
switch/if codepath of mine.

I think I understand that code now pretty well.

An unrelated bugfix: Parrot_compile_string missed to set interp->initial_pf = pf

What is missing: Finish some floatval transformers and a test matrix for these.
cvt_num16_num8 is ok now.
I've marked the tested status in the code, since our smoke tests don't
catch these cross-platform regressions.

-- 
Reini Urban
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tt254-64bit-pbc.tar.gz
Type: application/x-gzip
Size: 15815 bytes
Desc: not available
URL: <http://lists.parrot.org/pipermail/parrot-dev/attachments/20090226/ea071d0d/attachment.bin>


More information about the parrot-dev mailing list