[parrot/parrot] da6ba9: Rewrite native_pbc number converters and fix forma...
GitHub
noreply at github.com
Fri Dec 7 22:10:11 UTC 2012
Branch: refs/heads/native_pbc2
Home: https://github.com/parrot/parrot
Commit: da6ba931689ace4ef65d86d8aae5249a4811dedb
https://github.com/parrot/parrot/commit/da6ba931689ace4ef65d86d8aae5249a4811dedb
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M compilers/imcc/optimizer.c
M config/auto/format.pm
M config/auto/sizes.pm
M include/parrot/packfile.h
M src/packfile/api.c
M src/packfile/pf_items.c
M t/native_pbc/integer_4_le.pbc
M t/native_pbc/number.t
M t/native_pbc/number_4_8_le.pbc
M t/native_pbc/testdata/number.pasm
Log Message:
-----------
Rewrite native_pbc number converters and fix format errors
Fix wrong layout of intel 80-bit long double, it is 10-byte + 2/6 byte padding
in i386 resp. x86_64/itanium. Renamed to FLOATTYPE_10.
Older pbc contain a wrong floattype=2 for this format.
It only depends on the word size: on 32bit padded to 12 byte, on 64 to 16byte.
Fixed the header writer logic accordingly.
Add single float support FLOATTYPE_4.
Add detection of yet unsupported special ppc, mips and aix variants
and the official IEEE-754 __float128 (quad double) format, which only
Sparc64 supports.
Simplify endianizers on number converters to reduce complexity.
Use native byteswap.h if detected (not yet).
New and better number.pasm values.
Commit: a03de2a327339ab310f2c085e10832d9f0213f77
https://github.com/parrot/parrot/commit/a03de2a327339ab310f2c085e10832d9f0213f77
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/format.pm
M config/auto/sizes.pm
M config/gen/config_h/config_h.in
M src/packfile/api.c
M t/native_pbc/number.t
M t/native_pbc/number_4_12_le.pbc
M t/native_pbc/number_8_16_le.pbc
M t/native_pbc/number_8_8_le.pbc
Log Message:
-----------
pre-calculate FLOATTYPE
FLOATTYPE is cpu dependent for long double. Better do that
in a config step, not at run-time.
Improve __float128 support.
Conflicts:
t/native_pbc/number_4_12_le.pbc
t/native_pbc/number_8_16_le.pbc
t/native_pbc/number_8_8_le.pbc
Commit: e4b5ba7a65e216f9459212fe28572e406c2438e2
https://github.com/parrot/parrot/commit/e4b5ba7a65e216f9459212fe28572e406c2438e2
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M t/native_pbc/number.t
M t/native_pbc/testdata/number.pasm
Log Message:
-----------
remove instable number
on 32-bit the highest number is printed differently
Commit: 67bb07588877dedde5661513b24b264605ad8969
https://github.com/parrot/parrot/commit/67bb07588877dedde5661513b24b264605ad8969
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M tools/dev/mk_native_pbc
Log Message:
-----------
rewrite tools/dev/mk_native_pbc
Support all possible floattypes, simplify logic
Remove bashism
Conflicts:
tools/dev/mk_native_pbc
Commit: 05b2398d38f2bd44e808d4d28aed02e6863357bf
https://github.com/parrot/parrot/commit/05b2398d38f2bd44e808d4d28aed02e6863357bf
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
R t/native_pbc/integer_4_be.pbc
M t/native_pbc/integer_4_le.pbc
R t/native_pbc/number_4_12_le.pbc
R t/native_pbc/number_4_16_be.pbc
R t/native_pbc/number_4_8_be.pbc
M t/native_pbc/number_4_8_le.pbc
M t/native_pbc/number_8_16_le.pbc
M t/native_pbc/number_8_8_le.pbc
R t/native_pbc/string_4_be.pbc
M tools/dev/mk_native_pbc
Log Message:
-----------
native_pbc: float 4 fixes, mk_native_pbc
floattype_4 needs some prev. undefined helpers
improve mk_native_pbc
regenerate 32-bit le pbc's
Conflicts:
t/native_pbc/integer_4_be.pbc
t/native_pbc/number_4_16_be.pbc
t/native_pbc/number_4_8_be.pbc
t/native_pbc/string_4_be.pbc
t/native_pbc/string_4_le.pbc
tools/dev/mk_native_pbc
Commit: 595b72cdb242ba99c1f739647c8be86d14172ed9
https://github.com/parrot/parrot/commit/595b72cdb242ba99c1f739647c8be86d14172ed9
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/format.pm
M t/native_pbc/number.t
M tools/dev/mk_native_pbc
Log Message:
-----------
adjust number.t to new floattypes, do not use %Qg
Commit: fce04ff1f5d409ba7ef84361b3cc43ad5ab0d58e
https://github.com/parrot/parrot/commit/fce04ff1f5d409ba7ef84361b3cc43ad5ab0d58e
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
A t/native_pbc/number_8_10_le.pbc
A t/native_pbc/number_8_4_le.pbc
Log Message:
-----------
native_pbc: update 8_le
Commit: 8646143b0289ab82ff6170c680806aea3d225f9b
https://github.com/parrot/parrot/commit/8646143b0289ab82ff6170c680806aea3d225f9b
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M tools/dev/mk_native_pbc
Log Message:
-----------
fix mk_native_pbc syntax error
Commit: 220656062d97012b3250b8728b0e277f6b394f4e
https://github.com/parrot/parrot/commit/220656062d97012b3250b8728b0e277f6b394f4e
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
A t/native_pbc/number_4_4_le.pbc
Log Message:
-----------
t/native_pbc/number_4_4_le.pbc added
Commit: e254db4abb13eba8635527e411afff0443696bd4
https://github.com/parrot/parrot/commit/e254db4abb13eba8635527e411afff0443696bd4
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M MANIFEST
M config/auto/byteorder.pm
A config/auto/byteorder/bswap_c.in
A include/parrot/bswap.h
Log Message:
-----------
add native include/parrot/bswap.h and probe
probe for endian.h, byteswap.h or OSX header for
native bswap inline functions/macros.
Commit: e595f1d8f6955bae10faa2521366cd997c953a87
https://github.com/parrot/parrot/commit/e595f1d8f6955bae10faa2521366cd997c953a87
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/sizes.pm
Log Message:
-----------
add HAS_FLOAT128 in config hash
__float128 is binary compatible to 16-bit big-endian sparc/s390
long double formats. Available since gcc 4.6
Commit: 2982cefa002457bf2b48d7899e61199ce36d569e
https://github.com/parrot/parrot/commit/2982cefa002457bf2b48d7899e61199ce36d569e
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/byteorder.pm
M config/auto/byteorder/bswap_c.in
M config/gen/makefiles/root.in
M include/parrot/bswap.h
M src/packfile/pf_items.c
Log Message:
-----------
Fix and improve bswap.h
Add missing libkern/OSByteOrder.h
Abstract macros into static inline functions
Use fast replacement macros
Use bswap in pf_items.c
Commit: e2b85cb0d5639492ef11ca3844277b6bbd3d3a6b
https://github.com/parrot/parrot/commit/e2b85cb0d5639492ef11ca3844277b6bbd3d3a6b
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M include/parrot/bswap.h
Log Message:
-----------
Fix byteswap.h and 64bit fallback macro
Forgot to define bswap macros with GNU byteswap.h
Fixed bswap_64 fallback.
Commit: 57a74ab4b2687b3c62a12cedc663b7539001a176
https://github.com/parrot/parrot/commit/57a74ab4b2687b3c62a12cedc663b7539001a176
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M include/parrot/bswap.h
M include/parrot/packfile.h
M src/packfile/pf_items.c
Log Message:
-----------
fix and optimize bswap
Also allow FLOATTYPE_16PPC, but this format seems to be double-double, not __float128
Commit: 8c0612eacd3b94a066d26fce59242d875d9ca641
https://github.com/parrot/parrot/commit/8c0612eacd3b94a066d26fce59242d875d9ca641
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/format.pm
A t/native_pbc/integer_4_be.pbc
A t/native_pbc/number_4_16PPC_be.pbc
A t/native_pbc/string_4_be.pbc
Log Message:
-----------
Fix nvsize in config/auto/format.pm, number_4*_be pbcs
nvsize should be the same as numvalsize, probed in auto::sizes,
but not one of floatvalsize, doublevalsize or hugefloatvalsize.
E.g. with long double used and __float128 possible hugefloatvalsize
is 16
Add generated ppc pbcs
Commit: c7342357809443238df41468ee05b1f7c6c1db29
https://github.com/parrot/parrot/commit/c7342357809443238df41468ee05b1f7c6c1db29
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M include/parrot/bswap.h
M include/parrot/packfile.h
M src/packfile/pf_items.c
M t/native_pbc/integer_4_le.pbc
M t/native_pbc/number.t
M t/native_pbc/string_4_le.pbc
Log Message:
-----------
Add ppc converters, add PF_floattype_names
Added and document converters, ppc needs intermediate helpers.
The ppc long double is the sum of two doubles stored one
after the other: double-double.
Commit: dcbfee8606c5603f637ef091c61dfd9a416587de
https://github.com/parrot/parrot/commit/dcbfee8606c5603f637ef091c61dfd9a416587de
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
A t/native_pbc/number_4_10_le.pbc
Log Message:
-----------
t/native_pbc/number_4_10_le.pbc added
Commit: afb746e516abe9c6617c374208a4752ad342b9d3
https://github.com/parrot/parrot/commit/afb746e516abe9c6617c374208a4752ad342b9d3
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
M t/native_pbc/integer_4_le.pbc
M t/native_pbc/integer_8_le.pbc
M t/native_pbc/string_4_le.pbc
Log Message:
-----------
More converter fixes
Some ptr and logical errors.
such as use __float128 FLOATVAL for 16-byte nums, not long double.
Update some non-numeric pbcs
TODO: rounding
Commit: fda37d17f462155cf047963470fe5d58f7794004
https://github.com/parrot/parrot/commit/fda37d17f462155cf047963470fe5d58f7794004
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
Log Message:
-----------
no unneeded numval transforms
Commit: cf778afd76a5f9e8af412dedec02ea5b37d8133a
https://github.com/parrot/parrot/commit/cf778afd76a5f9e8af412dedec02ea5b37d8133a
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M frontend/pbc_dump/main.c
Log Message:
-----------
pbc_dump -h: print floattype and floatsize
Commit: 5ca295505569058692140e60d7acae6a69b5db80
https://github.com/parrot/parrot/commit/5ca295505569058692140e60d7acae6a69b5db80
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
M t/native_pbc/number.t
R t/native_pbc/number_8_4_le.pbc
Log Message:
-----------
fix 16ppc readers, rounding not yet
Commit: f3d0c8d6af2588276bf2e8c8ea3023ac6a26ac31
https://github.com/parrot/parrot/commit/f3d0c8d6af2588276bf2e8c8ea3023ac6a26ac31
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/byteorder.pm
M config/auto/byteorder/bswap_c.in
M include/parrot/bswap.h
Log Message:
-----------
Harmonize byteorder/bswap_c.in with bswap.h
Add ppc/darwin login (machine/endian.h)
Commit: e66e4821eb1382b86e8ded05e78d7afa080911bc
https://github.com/parrot/parrot/commit/e66e4821eb1382b86e8ded05e78d7afa080911bc
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M t/native_pbc/Test.pm
M t/native_pbc/number.t
Log Message:
-----------
dabble with native_pbc number rounding on tests
Commit: c64b443d08e0ffb47c6e7715b04ffed33a1f8fdf
https://github.com/parrot/parrot/commit/c64b443d08e0ffb47c6e7715b04ffed33a1f8fdf
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M include/parrot/bswap.h
Log Message:
-----------
fix bswap.h syntax error from prev commit
Commit: 01f6a9336bab434e74e27680d9baaf13fee07584
https://github.com/parrot/parrot/commit/01f6a9336bab434e74e27680d9baaf13fee07584
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M t/native_pbc/integer_4_be.pbc
M t/native_pbc/number.t
A t/native_pbc/number_4_8_be.pbc
M t/native_pbc/string_4_be.pbc
Log Message:
-----------
ppc native pbc updates
Commit: 3a0ce97eaf1bd65226a0f976f0c95d47988eb750
https://github.com/parrot/parrot/commit/3a0ce97eaf1bd65226a0f976f0c95d47988eb750
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
M t/native_pbc/Test.pm
M t/native_pbc/integer_4_be.pbc
M t/native_pbc/number.t
M t/native_pbc/string_4_be.pbc
Log Message:
-----------
fix size 4+8 bswap, fix dest arch in tests, fix 16PPC converters
Commit: 4b65d34340a9ab15816512131eacc0de80011631
https://github.com/parrot/parrot/commit/4b65d34340a9ab15816512131eacc0de80011631
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M MANIFEST
M config/auto/format.pm
Log Message:
-----------
set auto::format back to prev imcc FLOATVAL_FMT values
Commit: a2ee2e868942ea4aebd4aa4a430db8f3ba6ad386
https://github.com/parrot/parrot/commit/a2ee2e868942ea4aebd4aa4a430db8f3ba6ad386
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/format.pm
A config/auto/format/test_c.in
Log Message:
-----------
probe for numeric sprintf formats
auto::format now tests stable round-strips for numbers
and decreases precision (does more rounding) until 5 digits.
Die if you only got 5 digits precision
Commit: 8607083afba43fac3ce8813385e198f7d822deaf
https://github.com/parrot/parrot/commit/8607083afba43fac3ce8813385e198f7d822deaf
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M compilers/imcc/optimizer.c
Log Message:
-----------
minor imcc initialization improvement
Commit: 4f611becaca91bc2bc25a80069de350417efe23a
https://github.com/parrot/parrot/commit/4f611becaca91bc2bc25a80069de350417efe23a
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
Log Message:
-----------
stabilize the number of compiled converters
Commit: 1455cc1830d28369cd480da73a33acaa60a2ef60
https://github.com/parrot/parrot/commit/1455cc1830d28369cd480da73a33acaa60a2ef60
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
Log Message:
-----------
forgot about cvt_num16ppc_num8
Check some other converters with the more stable FLOATTYPE also.
Commit: 6cea1fd9db38401ec7befdb78a62488c9c2b920e
https://github.com/parrot/parrot/commit/6cea1fd9db38401ec7befdb78a62488c9c2b920e
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/format.pm
M t/native_pbc/integer_8_le.pbc
M t/native_pbc/number.t
M t/native_pbc/number_8_10_le.pbc
M t/native_pbc/string_8_le.pbc
Log Message:
-----------
More work on numeric precision probing and testing
Commit: 738c5970f33c31eab514472ad7d238837b1ae8c4
https://github.com/parrot/parrot/commit/738c5970f33c31eab514472ad7d238837b1ae8c4
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
M t/native_pbc/Test.pm
M t/native_pbc/number.t
M t/native_pbc/number_8_16_le.pbc
Log Message:
-----------
improve precision tests, improve cvt_num16_num8 precision
cvt_num16_num8 still gets only 3 digits right with 4.398046511104: 4.39217962522095
Commit: 9c98071e0fdb8915e9a392027e29f32370515a7b
https://github.com/parrot/parrot/commit/9c98071e0fdb8915e9a392027e29f32370515a7b
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M t/native_pbc/number.t
Log Message:
-----------
update testmatrix for 16PPC, precision tests still not good
Commit: 7c513d19664ad2e987ff36af29f119b1bfeacd7d
https://github.com/parrot/parrot/commit/7c513d19664ad2e987ff36af29f119b1bfeacd7d
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M t/native_pbc/header.t
Log Message:
-----------
native_pbc/header.t: FLOATTYPE_MAX is now 4 (16PPC)
Commit: dba85ddb09392c6b27507ddb5bf1e712ac4d6e2f
https://github.com/parrot/parrot/commit/dba85ddb09392c6b27507ddb5bf1e712ac4d6e2f
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M t/native_pbc/number.t
Log Message:
-----------
improve precision tests, looks quite sane now
Commit: fa1df26dbb7bff27f4be5c2c7d9815858ca99892
https://github.com/parrot/parrot/commit/fa1df26dbb7bff27f4be5c2c7d9815858ca99892
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
M t/native_pbc/number.t
M t/native_pbc/number_8_10_le.pbc
Log Message:
-----------
Better bitfiddling with the intel 63 normalize bit
cvt_num16_num10 clears now bit 63
cvt_num10_num16 tries to shift-copy the mantissa ignoring this bit
Test precision regex seems to be stable now.
Commit: 6aeb050eef442ac5059d5f2c72f31f55aca53a75
https://github.com/parrot/parrot/commit/6aeb050eef442ac5059d5f2c72f31f55aca53a75
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
M t/native_pbc/number.t
Log Message:
-----------
native numbers: document intel bit63
Commit: 6248e012707099b8af6d6cdb3aa6c89be530d583
https://github.com/parrot/parrot/commit/6248e012707099b8af6d6cdb3aa6c89be530d583
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
Log Message:
-----------
pf_items: keep const qualifiers
Commit: 70c3f6a606be0f4dd99559e2808e37fccee5643d
https://github.com/parrot/parrot/commit/70c3f6a606be0f4dd99559e2808e37fccee5643d
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/format.pm
M config/auto/format/test_c.in
M config/auto/sizes.pm
M config/auto/sizes/test_c.in
M src/packfile/pf_items.c
Log Message:
-----------
Configure probes for format, sizes, ranges and digits
Probe FLOATVAL_FMT/floatvalfmt with float round-trip precision tests.
Found that long double and __float128 on intel are
stable only with %17Lg. I.e. 17 digits precision in number-string round
trips. Do the precision test for all float types.
Also test for the cpp defines of ranges and DBL|FLT_DIG
(precision digits).
New config hash value for floatvaldig, the number of compiler
precision digits, which be different to the tested floatvalfmt.
Improved HAS_FLOAT128 detection.
Use HAS_INT64 instead of HAS_LONGLONG for bswap64.
Commit: 1a8ede3643966e0a4a00436744e6c8b7e19ed9a1
https://github.com/parrot/parrot/commit/1a8ede3643966e0a4a00436744e6c8b7e19ed9a1
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
Log Message:
-----------
check for HAS_LONGLONG with Parrot_UInt8 cast, fix syntax error in temp. code
Commit: 018cb010f5c480c04fefac13baad8b548fea1487
https://github.com/parrot/parrot/commit/018cb010f5c480c04fefac13baad8b548fea1487
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M compilers/imcc/optimizer.c
M src/call/context.c
M src/io/api.c
Log Message:
-----------
fix various typos, use FLOATVAL_FMT directly in imcc
Commit: 4335164affc62e5e09c8a359dc97578a9b93a14b
https://github.com/parrot/parrot/commit/4335164affc62e5e09c8a359dc97578a9b93a14b
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/call/args.c
M src/string/spf_vtable.c
M t/native_pbc/number_8_8_le.pbc
Log Message:
-----------
promote float to double va va_arg()...
intel and pcc does not support va_arg float arguments. Sounds weird but
so it is.
float still has problems
Commit: ac469dd337a1dd6803c623253547cd263273d4bf
https://github.com/parrot/parrot/commit/ac469dd337a1dd6803c623253547cd263273d4bf
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
Log Message:
-----------
fix cvt_num8_num4
Commit: 1d2a297cfd00f51ee9f01c0807ee140410170e28
https://github.com/parrot/parrot/commit/1d2a297cfd00f51ee9f01c0807ee140410170e28
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M lib/Parrot/Test.pm
M src/packfile/pf_items.c
M t/native_pbc/Test.pm
M t/native_pbc/number.t
Log Message:
-----------
test with precision (numcmp)
All tests pass now, just __float128 has problems printing certain numbers
properly. E.g. __float128 is probed for %.17Lg fmt, which prints 3.8
as 3.7999999999999998
Commit: 60c2d800708739edce97c1629d6613a57071640b
https://github.com/parrot/parrot/commit/60c2d800708739edce97c1629d6613a57071640b
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
A t/native_pbc/number_4_4_be.pbc
Log Message:
-----------
native_pbc/number_4_4_be.pbc added
Commit: 95089ba959c570c9277510822140b44ac487c2fc
https://github.com/parrot/parrot/commit/95089ba959c570c9277510822140b44ac487c2fc
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/gen/config_pm/myconfig.in
Log Message:
-----------
display FLOATTYPE_? in myconfig
Commit: fdbe8dfbaebd953c09c40e876b2fddc153f6527f
https://github.com/parrot/parrot/commit/fdbe8dfbaebd953c09c40e876b2fddc153f6527f
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/sizes.pm
M config/gen/config_h/config_h.in
Log Message:
-----------
use PARROT_FLOATVAL_DIG for rounding, set i_quadmath
Commit: 0b4182c63be2d3dea6e385b495e3e3721004b931
https://github.com/parrot/parrot/commit/0b4182c63be2d3dea6e385b495e3e3721004b931
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M include/parrot/bswap.h
M include/parrot/packfile.h
M src/packfile/pf_items.c
M t/native_pbc/number.t
Log Message:
-----------
[GH #807] Refactor native_pbc endianness, bswap64. Add header argument to converters
Convert endianness upfront does not work.
Some converters work on native floats, to do compiler casts. They
need to know the packfile byteorder.
Other bitfiddling converters work only on little-endian, so we also need
to know the packfile byteorder, and they also need to convert endianness
back to to the target format.
Refactor bswap64, as it only works with 64bit registers. Tested with HAS_INT64.
So there are two bswap64 API's, one for fast native conversion via a register
and one with two unsigned char * args, which might point to the same buffer,
for easier in-place conversion.
Added dummy ROUND_NUM_TO macro, which needs to round a long number down to the given
precision (when converting upwards). Can be done with sprintf, but need to find a
better way.
Simplify converter casts with unions.
Replace SWAB_12 with SWAB_10. TODO: Need to check the last two bytes.
Commit: f9689cbb6d603c1eaf9dc7ebc025c20f87b0d77a
https://github.com/parrot/parrot/commit/f9689cbb6d603c1eaf9dc7ebc025c20f87b0d77a
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
A t/native_pbc/number_8_4_le.pbc
Log Message:
-----------
add t/native_pbc/number_8_4_le.pbc (it crashes on different ptrsizes)
Commit: 528a93ce133d0dda49bf271981ba946dc5c92ed6
https://github.com/parrot/parrot/commit/528a93ce133d0dda49bf271981ba946dc5c92ed6
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M lib/Parrot/Test.pm
M t/native_pbc/number.t
Log Message:
-----------
Improve number.t output (print desc)
Update testmatrix.
Commit: ec3851915ac30926a887827d1a83969a56fd63c7
https://github.com/parrot/parrot/commit/ec3851915ac30926a887827d1a83969a56fd63c7
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/pmc/float.pmc
M t/src/embed/pmc.t
M t/src/extend_vtable.t
Log Message:
-----------
[GH# 828] Avoid passsing non-double through va_list
va_list does not support float, long double nor __float128 on most systems.
Promote FLOATVAL to double to avoid that.
Commit: 3594f82404175a6d3a075db216c3c35b06baac7a
https://github.com/parrot/parrot/commit/3594f82404175a6d3a075db216c3c35b06baac7a
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M runtime/parrot/library/Test/More.pir
M src/dynoplibs/sys.ops
M t/dynoplibs/sysinfo.t
M t/dynpmc/rational.t
M t/library/test_more.t
M t/pmc/integer.t
M t/pmc/testlib/packfile_common.pir
Log Message:
-----------
[GH #828] Fix most tests for non-double floatval
Add more needed precisions to numeric tests, tested with intel long double.
Change a magic number in t/library/test_more.t 888.81<=>888.82 1e-2
was not stable enough for intel long double
Use t/pmc/testlib/annotations.pbc for binary comparisons of packfiles since
stringifying non-double numbers is not stable enough.
Fix src/dynoplibs/sys.ops doublesize to numvalsize. This only works for double.
Commit: f39eac8be7cbfcd1a0a053932b647f13f232724a
https://github.com/parrot/parrot/commit/f39eac8be7cbfcd1a0a053932b647f13f232724a
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/ops/core_ops.c
M src/ops/io.ops
Log Message:
-----------
[GH #828] Optimize print_n/i and say_n/i
print_n/nc/i/ic and the say variants go through a full Parrot_io_printf with
3 va_start/va_end scenarios and a custom format string parser,
and through char* -> STRING->char* conversion until the fixed
FLOATVAL_FMT or INTVAL_FMT printf is done.
Just to print a single int or number.
This also lost precision for non-double floatval's - if cast to (double).
Now avoided.
Commit: adaf1bc93b1bf7204063b9af42a4be5607507a17
https://github.com/parrot/parrot/commit/adaf1bc93b1bf7204063b9af42a4be5607507a17
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
Log Message:
-----------
PF_fetch_number: revert union back to cast
Commit: ecc7fcb9388920e0db75a9c4c268b04c49e6abe8
https://github.com/parrot/parrot/commit/ecc7fcb9388920e0db75a9c4c268b04c49e6abe8
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
Log Message:
-----------
typo in cvt_num16ppc_num10 (d1 uninitialized)
Commit: 71f5fffae6497ab998a4ad062e2ad5c16fabf828
https://github.com/parrot/parrot/commit/71f5fffae6497ab998a4ad062e2ad5c16fabf828
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M lib/Parrot/Test.pm
Log Message:
-----------
Test::Builder::_normalize handle inf/nan
Commit: 8b43dd6a853e6cd5c76dc9dbde3ad4c36b90faa9
https://github.com/parrot/parrot/commit/8b43dd6a853e6cd5c76dc9dbde3ad4c36b90faa9
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M config/auto/sizes.pm
M config/gen/config_h/config_h.in
M config/gen/makefiles/root.in
M config/inter/progs.pm
M src/packfile/pf_items.c
Log Message:
-----------
Add _DIG defines to config.h, fix cvt_num8_num16, add -lquadmath
The __float128 cast does not work, so use snprintf and strtoflt128.
Add -lquadmath to gcc when i_quadmath succeeds.
Fixed ROUND_NUM_TO 3rd arguments with the new _DIG defines
Commit: 6db34cef09d0c0509c3afa0d19cef75e8727c41a
https://github.com/parrot/parrot/commit/6db34cef09d0c0509c3afa0d19cef75e8727c41a
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/packfile/pf_items.c
Log Message:
-----------
Add new 3arg fetch_buf_nn() converters, fix constness
The old fetch_buf_?e_nn() converters took only 2 args, but the
nv converters take now 3. So add intermediate inlined special versions.
Fixed a couple of remaining const'ness issues and bswap64 lines.
Hardcode "%.16g" for the strtoflt128 buf. Still does not work yet though.
Commit: 26d86cd214a3f70d612cac395a7cf69b8f744309
https://github.com/parrot/parrot/commit/26d86cd214a3f70d612cac395a7cf69b8f744309
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M src/nci/libffi.c
Log Message:
-----------
nci/libffi.c: check FLOATTYPE, not NUMVAL_SIZE
NUMVAL_SIZE is not good enough, esp. wrong for x86_64
Commit: 19d5d0119dd02d8a23493977fb32e2f5a1319b1d
https://github.com/parrot/parrot/commit/19d5d0119dd02d8a23493977fb32e2f5a1319b1d
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M MANIFEST
M MANIFEST.generated
M config/gen/makefiles/root.in
A tools/dev/mk_testnumbers.pl
Log Message:
-----------
tools/dev/mk_testnumbers.pl: create script for make number_tests
Commit: 1df9652fe64bed27bf299040422785a0fc0470bc
https://github.com/parrot/parrot/commit/1df9652fe64bed27bf299040422785a0fc0470bc
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M tools/dev/mk_native_pbc
Log Message:
-----------
tools/dev/mk_native_pbc: reconfig if no parrot_config is found
Commit: 65fd1e682bf2b6d496d5fe10ef14742fd54e54ea
https://github.com/parrot/parrot/commit/65fd1e682bf2b6d496d5fe10ef14742fd54e54ea
Author: Reini Urban <rurban at cpanel.net>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M PBC_COMPAT
M t/native_pbc/integer_4_le.pbc
M t/native_pbc/integer_8_le.pbc
M t/native_pbc/number_4_10_le.pbc
M t/native_pbc/number_4_4_le.pbc
M t/native_pbc/number_4_8_le.pbc
M t/native_pbc/number_8_10_le.pbc
M t/native_pbc/number_8_16_le.pbc
M t/native_pbc/number_8_4_le.pbc
M t/native_pbc/number_8_8_le.pbc
M t/native_pbc/string_4_le.pbc
M t/native_pbc/string_8_le.pbc
Log Message:
-----------
PBC_COMPAT: bump to 14.0
replaced floatsize by floattype in pbc header
Regenerate intel native_pbc test pbcs
Compare: https://github.com/parrot/parrot/compare/da6ba931689a^...65fd1e682bf2
More information about the parrot-commits
mailing list