[parrot/parrot] b469c4: Rewrite native_pbc number converters and fix forma...

GitHub noreply at github.com
Sat Jan 12 16:27:41 UTC 2013


  Branch: refs/heads/native_pbc2
  Home:   https://github.com/parrot/parrot
  Commit: b469c46d642dc03e1c93941157061666156768f6
      https://github.com/parrot/parrot/commit/b469c46d642dc03e1c93941157061666156768f6
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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/number.t
    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: dbeb7037d7a07c0c4d443bf006734e744942712f
      https://github.com/parrot/parrot/commit/dbeb7037d7a07c0c4d443bf006734e744942712f
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 652b9119dd05f6a1c554df71317e6ba45c8c6021
      https://github.com/parrot/parrot/commit/652b9119dd05f6a1c554df71317e6ba45c8c6021
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: e6570014a53ffe17f09b7416ef859ed252bea068
      https://github.com/parrot/parrot/commit/e6570014a53ffe17f09b7416ef859ed252bea068
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 58d10f635e2fd53d41b2ba7211a7755def65422a
      https://github.com/parrot/parrot/commit/58d10f635e2fd53d41b2ba7211a7755def65422a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/packfile/pf_items.c
    R t/native_pbc/number_4_12_le.pbc
    R t/native_pbc/number_4_16_be.pbc
    M t/native_pbc/number_8_16_le.pbc
    M t/native_pbc/number_8_8_le.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: 722404ae957e49e658a62d8fe8596e4cc08be429
      https://github.com/parrot/parrot/commit/722404ae957e49e658a62d8fe8596e4cc08be429
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: b1e308b28e5188c8eb27ebbefc97b4c9365e56df
      https://github.com/parrot/parrot/commit/b1e308b28e5188c8eb27ebbefc97b4c9365e56df
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: f702104e1b4a8a753a03a22a5b4d757f9705138a
      https://github.com/parrot/parrot/commit/f702104e1b4a8a753a03a22a5b4d757f9705138a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M tools/dev/mk_native_pbc

  Log Message:
  -----------
  fix mk_native_pbc syntax error


  Commit: bc69816d2174e37e7ef84ad9dfc52b8490095f37
      https://github.com/parrot/parrot/commit/bc69816d2174e37e7ef84ad9dfc52b8490095f37
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    A t/native_pbc/number_4_4_le.pbc

  Log Message:
  -----------
  t/native_pbc/number_4_4_le.pbc added


  Commit: 83d8d2d5c6fec37037c7212d6f320a40357ba04d
      https://github.com/parrot/parrot/commit/83d8d2d5c6fec37037c7212d6f320a40357ba04d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: a2f039ae998900aac8c443e5cfe262c1ee6ff59f
      https://github.com/parrot/parrot/commit/a2f039ae998900aac8c443e5cfe262c1ee6ff59f
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 6673b4af79cffa97ba08ec5aa320c6db802f0bb2
      https://github.com/parrot/parrot/commit/6673b4af79cffa97ba08ec5aa320c6db802f0bb2
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: a86f2a7a291fd3ecfba62faeba228a83019e5b42
      https://github.com/parrot/parrot/commit/a86f2a7a291fd3ecfba62faeba228a83019e5b42
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 2e87a0b2e35d56e4012ee8f647b16d75d64ca754
      https://github.com/parrot/parrot/commit/2e87a0b2e35d56e4012ee8f647b16d75d64ca754
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 0d1c3c7ddcafeae108aae9a6143793e92fda0c7c
      https://github.com/parrot/parrot/commit/0d1c3c7ddcafeae108aae9a6143793e92fda0c7c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M config/auto/format.pm
    M t/native_pbc/integer_4_be.pbc
    A t/native_pbc/number_4_16PPC_be.pbc
    M 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: fe9c511470e8773e7f7286ff020b7b3786fc024a
      https://github.com/parrot/parrot/commit/fe9c511470e8773e7f7286ff020b7b3786fc024a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: cb38d23c4a54cc3c2b361fa401fa4da58c0d01fc
      https://github.com/parrot/parrot/commit/cb38d23c4a54cc3c2b361fa401fa4da58c0d01fc
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    A t/native_pbc/number_4_10_le.pbc

  Log Message:
  -----------
  t/native_pbc/number_4_10_le.pbc added


  Commit: 5ee007282b8c19328cadd3f19fc6be1de8508ce9
      https://github.com/parrot/parrot/commit/5ee007282b8c19328cadd3f19fc6be1de8508ce9
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 5e3de331349e1f8cc6cfa205c6237b113192e2e2
      https://github.com/parrot/parrot/commit/5e3de331349e1f8cc6cfa205c6237b113192e2e2
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/packfile/pf_items.c

  Log Message:
  -----------
  no unneeded numval transforms


  Commit: e0e4c5c3f7bee6cbd3448410c00532c9920fb6cc
      https://github.com/parrot/parrot/commit/e0e4c5c3f7bee6cbd3448410c00532c9920fb6cc
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M frontend/pbc_dump/main.c

  Log Message:
  -----------
  pbc_dump -h: print floattype and floatsize


  Commit: c8825583584b0562bab479a6db81d000e36f5211
      https://github.com/parrot/parrot/commit/c8825583584b0562bab479a6db81d000e36f5211
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 39047d8b683b3cf8721532875a54e634e8d8ea22
      https://github.com/parrot/parrot/commit/39047d8b683b3cf8721532875a54e634e8d8ea22
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: b65dc098d9682243259b9748e951c634fd65fb35
      https://github.com/parrot/parrot/commit/b65dc098d9682243259b9748e951c634fd65fb35
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 20c4ca2602e6d547b8ad3950d68f5a8e6b0f7ba2
      https://github.com/parrot/parrot/commit/20c4ca2602e6d547b8ad3950d68f5a8e6b0f7ba2
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M include/parrot/bswap.h

  Log Message:
  -----------
  fix bswap.h syntax error from prev commit


  Commit: 4a6a5d2de90aa7f92b3b9b0cc6aba87fce5922fe
      https://github.com/parrot/parrot/commit/4a6a5d2de90aa7f92b3b9b0cc6aba87fce5922fe
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M t/native_pbc/integer_4_be.pbc
    M t/native_pbc/number.t
    M t/native_pbc/number_4_8_be.pbc
    M t/native_pbc/string_4_be.pbc

  Log Message:
  -----------
  ppc native pbc updates


  Commit: 84e8a307152d77f6a91f02b9f58dee2caca108dc
      https://github.com/parrot/parrot/commit/84e8a307152d77f6a91f02b9f58dee2caca108dc
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: ead64f23da12379551a0d7e6e6d793d8d153c0aa
      https://github.com/parrot/parrot/commit/ead64f23da12379551a0d7e6e6d793d8d153c0aa
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M MANIFEST
    M config/auto/format.pm

  Log Message:
  -----------
  set auto::format back to prev imcc FLOATVAL_FMT values


  Commit: 98e642de074771614f54481518846a4714dd3ce5
      https://github.com/parrot/parrot/commit/98e642de074771614f54481518846a4714dd3ce5
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: fa9d8cb177620ab40301e202d3e521021a682c1c
      https://github.com/parrot/parrot/commit/fa9d8cb177620ab40301e202d3e521021a682c1c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M compilers/imcc/optimizer.c

  Log Message:
  -----------
  minor imcc initialization improvement


  Commit: 0bae692bdc0acd0df867c526e0d70cad48ed7cb8
      https://github.com/parrot/parrot/commit/0bae692bdc0acd0df867c526e0d70cad48ed7cb8
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/packfile/pf_items.c

  Log Message:
  -----------
  stabilize the number of compiled converters


  Commit: 2ec173087386cf3d6cf9a816b2e7581eda55f547
      https://github.com/parrot/parrot/commit/2ec173087386cf3d6cf9a816b2e7581eda55f547
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 51d5a17dd5bd21cf58387d686eff70bdc78aab77
      https://github.com/parrot/parrot/commit/51d5a17dd5bd21cf58387d686eff70bdc78aab77
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 19bebe944bf46e2a01f9af9cb80e664698b6e658
      https://github.com/parrot/parrot/commit/19bebe944bf46e2a01f9af9cb80e664698b6e658
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 4841295b97aa0923eed82abcbffb5f9d59e843b9
      https://github.com/parrot/parrot/commit/4841295b97aa0923eed82abcbffb5f9d59e843b9
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M t/native_pbc/number.t

  Log Message:
  -----------
  update testmatrix for 16PPC, precision tests still not good


  Commit: 9a2e3130467cfaed8dc0418252a333d513c20576
      https://github.com/parrot/parrot/commit/9a2e3130467cfaed8dc0418252a333d513c20576
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M t/native_pbc/header.t

  Log Message:
  -----------
  native_pbc/header.t: FLOATTYPE_MAX is now 4 (16PPC)


  Commit: 504316faf5a49ed9e5852ac588a2919ce36dd818
      https://github.com/parrot/parrot/commit/504316faf5a49ed9e5852ac588a2919ce36dd818
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M t/native_pbc/number.t

  Log Message:
  -----------
  improve precision tests, looks quite sane now


  Commit: 67dcbc77cdc5a4c84a3c033c554da11aa52c8f22
      https://github.com/parrot/parrot/commit/67dcbc77cdc5a4c84a3c033c554da11aa52c8f22
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 3f39715f92008c10fae6d17d5cfba7feac678e3a
      https://github.com/parrot/parrot/commit/3f39715f92008c10fae6d17d5cfba7feac678e3a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/packfile/pf_items.c
    M t/native_pbc/number.t

  Log Message:
  -----------
  native numbers: document intel bit63


  Commit: 7304da7c7d49cb8163bb12bf3a2f42513ef5182e
      https://github.com/parrot/parrot/commit/7304da7c7d49cb8163bb12bf3a2f42513ef5182e
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/packfile/pf_items.c

  Log Message:
  -----------
  pf_items: keep const qualifiers


  Commit: 300bc2156b5bb04f48a08bde62964e079487196a
      https://github.com/parrot/parrot/commit/300bc2156b5bb04f48a08bde62964e079487196a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 4763fd8ff48fce989c0dfab1d812568740f88693
      https://github.com/parrot/parrot/commit/4763fd8ff48fce989c0dfab1d812568740f88693
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 83e748291930b5479f3b30e4c795901cf3a4c719
      https://github.com/parrot/parrot/commit/83e748291930b5479f3b30e4c795901cf3a4c719
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 06e8edcf4ca8bd6b221ce4c3c02b2bebbb2bbe3d
      https://github.com/parrot/parrot/commit/06e8edcf4ca8bd6b221ce4c3c02b2bebbb2bbe3d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: db85b426d061853193bfaa603c870ea2b5394a2a
      https://github.com/parrot/parrot/commit/db85b426d061853193bfaa603c870ea2b5394a2a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/packfile/pf_items.c

  Log Message:
  -----------
  fix cvt_num8_num4


  Commit: 03ed96441ed9df9ea61bd0a662334cfff0690bcf
      https://github.com/parrot/parrot/commit/03ed96441ed9df9ea61bd0a662334cfff0690bcf
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: b6f608baf877625e6d63eef2749f01a512fec608
      https://github.com/parrot/parrot/commit/b6f608baf877625e6d63eef2749f01a512fec608
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    A t/native_pbc/number_4_4_be.pbc

  Log Message:
  -----------
  native_pbc/number_4_4_be.pbc added


  Commit: f4bcfccfdec56cfd19f58ab4507a3892ac0b0e90
      https://github.com/parrot/parrot/commit/f4bcfccfdec56cfd19f58ab4507a3892ac0b0e90
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M config/gen/config_pm/myconfig.in

  Log Message:
  -----------
  display FLOATTYPE_? in myconfig


  Commit: ea71b07bc78f747c71ff3659768fd9bfb528e94e
      https://github.com/parrot/parrot/commit/ea71b07bc78f747c71ff3659768fd9bfb528e94e
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 989411d05574e016b6ea4ca41aae5416d952c282
      https://github.com/parrot/parrot/commit/989411d05574e016b6ea4ca41aae5416d952c282
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 33f1e198502ea925d381d03d227db01aa41c8e30
      https://github.com/parrot/parrot/commit/33f1e198502ea925d381d03d227db01aa41c8e30
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: d690e40a192da153910caa34ab82d1591ae22d7d
      https://github.com/parrot/parrot/commit/d690e40a192da153910caa34ab82d1591ae22d7d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M lib/Parrot/Test.pm
    M t/native_pbc/number.t

  Log Message:
  -----------
  Improve number.t output (print desc)

Update testmatrix.


  Commit: 9a3c665d7c9a04ff325150cc76f3f83ab076ff26
      https://github.com/parrot/parrot/commit/9a3c665d7c9a04ff325150cc76f3f83ab076ff26
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: e012664620372c3e6f6b18af4db2c5ad96192aeb
      https://github.com/parrot/parrot/commit/e012664620372c3e6f6b18af4db2c5ad96192aeb
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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

  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

Fix src/dynoplibs/sys.ops doublesize to numvalsize. This only works for double.


  Commit: 2183265600038e5ff8b32062102f2300ebe2fcca
      https://github.com/parrot/parrot/commit/2183265600038e5ff8b32062102f2300ebe2fcca
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: afccf444f45ec6bef8e60b652bd8122047f6a80b
      https://github.com/parrot/parrot/commit/afccf444f45ec6bef8e60b652bd8122047f6a80b
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/packfile/pf_items.c

  Log Message:
  -----------
  PF_fetch_number: revert union back to cast


  Commit: 0e5b46aa71f6f2ab17dd7bdb979e50ed5df06b80
      https://github.com/parrot/parrot/commit/0e5b46aa71f6f2ab17dd7bdb979e50ed5df06b80
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/packfile/pf_items.c

  Log Message:
  -----------
  typo in cvt_num16ppc_num10 (d1 uninitialized)


  Commit: 43c27ce6c80c129bea8a832011ed0ec02b784fff
      https://github.com/parrot/parrot/commit/43c27ce6c80c129bea8a832011ed0ec02b784fff
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M lib/Parrot/Test.pm

  Log Message:
  -----------
  Test::Builder::_normalize handle inf/nan


  Commit: c6b78278aab3b0c1cf85d69b4bf5f3da45a93e98
      https://github.com/parrot/parrot/commit/c6b78278aab3b0c1cf85d69b4bf5f3da45a93e98
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 85bd5557653be54969fa0d952226a602ec8c8a3e
      https://github.com/parrot/parrot/commit/85bd5557653be54969fa0d952226a602ec8c8a3e
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 479810869c0d6f8eea4cf3d492e1645cc412ca01
      https://github.com/parrot/parrot/commit/479810869c0d6f8eea4cf3d492e1645cc412ca01
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  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: 81203f4760aed3df945431f45b14cadc83fb41a6
      https://github.com/parrot/parrot/commit/81203f4760aed3df945431f45b14cadc83fb41a6
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M MANIFEST
    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: 6e752fd5e226439125d1213ed0fcee68df39786c
      https://github.com/parrot/parrot/commit/6e752fd5e226439125d1213ed0fcee68df39786c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M tools/dev/mk_native_pbc

  Log Message:
  -----------
  tools/dev/mk_native_pbc: reconfig if no parrot_config is found


  Commit: 2ed879de657f88089764d3372a1876b17c9e2148
      https://github.com/parrot/parrot/commit/2ed879de657f88089764d3372a1876b17c9e2148
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  add new generated files tools/dev/testnumbers to .gitignore


  Commit: 63b9fb4eb5041632f949a96989b5b03ef3ef7e9d
      https://github.com/parrot/parrot/commit/63b9fb4eb5041632f949a96989b5b03ef3ef7e9d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M config/gen/makefiles/root.in

  Log Message:
  -----------
  fix Makefile to call tools/dev/mk_testnumbers.pl


  Commit: 6b2191a8407784d95a8a5b2372c12a610a99ed10
      https://github.com/parrot/parrot/commit/6b2191a8407784d95a8a5b2372c12a610a99ed10
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M config/auto/byteorder/bswap_c.in

  Log Message:
  -----------
  fix auto::byteorder probe on sys/byteorder.h

Silences probe on darwin and fixes probe on Solaris.


  Commit: b89aaa6cbae3fd7f5b3e49684d066b9192718243
      https://github.com/parrot/parrot/commit/b89aaa6cbae3fd7f5b3e49684d066b9192718243
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M tools/dev/mk_native_pbc

  Log Message:
  -----------
  {tools] Improve mk_native_pbc

Various minor improvements: add default args properly with --noconf
export *LD_LIBRARY_PATH if there is an already installed shared libparrot
do not conf if only make parrot_config is needed


  Commit: eef4ce31ff38079e2117f2696e69d8e0dd5a9d4b
      https://github.com/parrot/parrot/commit/eef4ce31ff38079e2117f2696e69d8e0dd5a9d4b
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M t/native_pbc/integer_4_be.pbc
    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_16PPC_be.pbc
    M t/native_pbc/number_4_4_be.pbc
    M t/native_pbc/number_4_4_le.pbc
    M t/native_pbc/number_4_8_be.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_be.pbc
    M t/native_pbc/string_4_le.pbc
    M t/native_pbc/string_8_le.pbc

  Log Message:
  -----------
  Update native_pbc testfiles: PBC 13.0


  Commit: 3d14c49bdd9cf55497bb9b0d55fc7ddfc4e74a5f
      https://github.com/parrot/parrot/commit/3d14c49bdd9cf55497bb9b0d55fc7ddfc4e74a5f
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/ops/core_ops.c
    M src/ops/io.ops

  Log Message:
  -----------
  [GH #828] Fix print_n/i and say_n/i void return warnings


  Commit: a2435aa3f594035916e43a366d0bcb5c2a3c3c5c
      https://github.com/parrot/parrot/commit/a2435aa3f594035916e43a366d0bcb5c2a3c3c5c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M ChangeLog

  Log Message:
  -----------
  fixme ChangeLog for packfile_fetch_nv_t


  Commit: 43f493ed46c878c6c7f620df9ec689612bb783b3
      https://github.com/parrot/parrot/commit/43f493ed46c878c6c7f620df9ec689612bb783b3
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M src/packfile/pf_items.c

  Log Message:
  -----------
  fix 8_10_le=>8_8_le converter

Do not memcpy 16 to 10.


  Commit: a00f45b57662c6a2c6b5a7c05e72deee582862c5
      https://github.com/parrot/parrot/commit/a00f45b57662c6a2c6b5a7c05e72deee582862c5
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2013-01-12 (Sat, 12 Jan 2013)

  Changed paths:
    M MANIFEST

  Log Message:
  -----------
  merge with native_pbc2


Compare: https://github.com/parrot/parrot/compare/e5c179cd9f1c...a00f45b57662


More information about the parrot-commits mailing list