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

GitHub noreply at github.com
Sat Sep 15 16:54:21 UTC 2012


  Branch: refs/heads/native_pbc
  Home:   https://github.com/parrot/parrot
  Commit: 60b281e18c4b0a96803bdcc17ac1f3aad88ad560
      https://github.com/parrot/parrot/commit/60b281e18c4b0a96803bdcc17ac1f3aad88ad560
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-07 (Fri, 07 Sep 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
    M tools/dev/pbc_header.pl

  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: 1cb93a86ef74b1da710f7e97de230a6e5f6736f3
      https://github.com/parrot/parrot/commit/1cb93a86ef74b1da710f7e97de230a6e5f6736f3
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-08 (Sat, 08 Sep 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.


  Commit: 6c03889a68956df01d35547b3d58b0e6bc34b8d7
      https://github.com/parrot/parrot/commit/6c03889a68956df01d35547b3d58b0e6bc34b8d7
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-08 (Sat, 08 Sep 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: d8f0aaed0bfeb4b5d1824862c320697e9abdcff3
      https://github.com/parrot/parrot/commit/d8f0aaed0bfeb4b5d1824862c320697e9abdcff3
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-08 (Sat, 08 Sep 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


  Commit: 013d63ec8e812d4e8705d9a45581aa0e870b5adf
      https://github.com/parrot/parrot/commit/013d63ec8e812d4e8705d9a45581aa0e870b5adf
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-08 (Sat, 08 Sep 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 t/native_pbc/string_4_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


  Commit: 8f0a068171f0f0b598d4dc32e3c1ff534e949281
      https://github.com/parrot/parrot/commit/8f0a068171f0f0b598d4dc32e3c1ff534e949281
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-08 (Sat, 08 Sep 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: 0b16b48f1a0e1b7898c706f4daa028f0e07c9b32
      https://github.com/parrot/parrot/commit/0b16b48f1a0e1b7898c706f4daa028f0e07c9b32
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-08 (Sat, 08 Sep 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: a14698747109732b438c5fb1431f7e55d61d2bfd
      https://github.com/parrot/parrot/commit/a14698747109732b438c5fb1431f7e55d61d2bfd
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-08 (Sat, 08 Sep 2012)

  Changed paths:
    M tools/dev/mk_native_pbc

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


  Commit: a950453904f7c667edac4a0febe02e46c38d64fe
      https://github.com/parrot/parrot/commit/a950453904f7c667edac4a0febe02e46c38d64fe
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-08 (Sat, 08 Sep 2012)

  Changed paths:
    A t/native_pbc/number_4_4_le.pbc

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


  Commit: 347d87cc61705264d5fedba99a2b55bab7d7a9d5
      https://github.com/parrot/parrot/commit/347d87cc61705264d5fedba99a2b55bab7d7a9d5
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: f26b383efdd95b99354e9806a19f98c035d8897a
      https://github.com/parrot/parrot/commit/f26b383efdd95b99354e9806a19f98c035d8897a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: 775883a790b0b19ddcefaf596efe934882402c89
      https://github.com/parrot/parrot/commit/775883a790b0b19ddcefaf596efe934882402c89
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: b0ab7d20d709d77b6016eaa719d672b172286e1d
      https://github.com/parrot/parrot/commit/b0ab7d20d709d77b6016eaa719d672b172286e1d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: 58512139f0f68168c522e1a20a0551badb372070
      https://github.com/parrot/parrot/commit/58512139f0f68168c522e1a20a0551badb372070
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: 44b7e3d7f7da470c1363d7b40a4366bd1c1e3700
      https://github.com/parrot/parrot/commit/44b7e3d7f7da470c1363d7b40a4366bd1c1e3700
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: 2d302a7938ab119c1b3e17c50f22c9e8f9c3e9f9
      https://github.com/parrot/parrot/commit/2d302a7938ab119c1b3e17c50f22c9e8f9c3e9f9
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: 4232a13029268e09d3090e6e4b22bd2921892340
      https://github.com/parrot/parrot/commit/4232a13029268e09d3090e6e4b22bd2921892340
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 2012)

  Changed paths:
    A t/native_pbc/number_4_10_le.pbc

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


  Commit: 8e67b1baca4accfe9ffc3fbc0660eb8250d43ee0
      https://github.com/parrot/parrot/commit/8e67b1baca4accfe9ffc3fbc0660eb8250d43ee0
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: f4995a657cb9b423502406df0e3f2d439a5fc762
      https://github.com/parrot/parrot/commit/f4995a657cb9b423502406df0e3f2d439a5fc762
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 2012)

  Changed paths:
    M src/packfile/pf_items.c

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


  Commit: 9f28c5ee8a99a9dfab742f56727f2d973c5ae3a6
      https://github.com/parrot/parrot/commit/9f28c5ee8a99a9dfab742f56727f2d973c5ae3a6
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 2012)

  Changed paths:
    M frontend/pbc_dump/main.c

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


  Commit: 6dffb3c7ed3e7012bdd26cb4c0a494ac0a7b9f36
      https://github.com/parrot/parrot/commit/6dffb3c7ed3e7012bdd26cb4c0a494ac0a7b9f36
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: c7748e6837b267b0a3a29633475c04c3ffb4e111
      https://github.com/parrot/parrot/commit/c7748e6837b267b0a3a29633475c04c3ffb4e111
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: 2348ba1e6f8a659fbc2fd01a6f38e2268bbc3d8d
      https://github.com/parrot/parrot/commit/2348ba1e6f8a659fbc2fd01a6f38e2268bbc3d8d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: a7ff8f22b47dcf4ead7a0167965633cf15ee5697
      https://github.com/parrot/parrot/commit/a7ff8f22b47dcf4ead7a0167965633cf15ee5697
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 2012)

  Changed paths:
    M include/parrot/bswap.h

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


  Commit: c145afde988414950a4051b2cf155c25213f98eb
      https://github.com/parrot/parrot/commit/c145afde988414950a4051b2cf155c25213f98eb
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: 4536bd93546d3c529c252d32c8dd19c54ccb7520
      https://github.com/parrot/parrot/commit/4536bd93546d3c529c252d32c8dd19c54ccb7520
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 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: a39c92ce684373e9c9f27bd424b2092494a61ba2
      https://github.com/parrot/parrot/commit/a39c92ce684373e9c9f27bd424b2092494a61ba2
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-09 (Sun, 09 Sep 2012)

  Changed paths:
    M MANIFEST
    M compilers/imcc/optimizer.c
    M config/auto/format.pm

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


  Commit: 16600803e3e1fc23e3b8fcc5ecac53b57782f8fa
      https://github.com/parrot/parrot/commit/16600803e3e1fc23e3b8fcc5ecac53b57782f8fa
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 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: c7aac4230b30c0a1f1cd2eebc801babe52802824
      https://github.com/parrot/parrot/commit/c7aac4230b30c0a1f1cd2eebc801babe52802824
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 2012)

  Changed paths:
    M compilers/imcc/optimizer.c

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


  Commit: 6bdd9d0f0659727051ec0dae0570fe1f685bafce
      https://github.com/parrot/parrot/commit/6bdd9d0f0659727051ec0dae0570fe1f685bafce
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 2012)

  Changed paths:
    M src/packfile/pf_items.c

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


  Commit: a0c0e57b136ce0307537dbc3e0d3b289b87353f8
      https://github.com/parrot/parrot/commit/a0c0e57b136ce0307537dbc3e0d3b289b87353f8
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 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: 89dcb29bc4acfee0e337d2e04fef5e62d8ba4137
      https://github.com/parrot/parrot/commit/89dcb29bc4acfee0e337d2e04fef5e62d8ba4137
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 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: fafd854c5fe403491f3dc7db38242d6aee9f19c4
      https://github.com/parrot/parrot/commit/fafd854c5fe403491f3dc7db38242d6aee9f19c4
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 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: e690019c51eeddcb2bc60ee1c8b5e1076a4ea947
      https://github.com/parrot/parrot/commit/e690019c51eeddcb2bc60ee1c8b5e1076a4ea947
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 2012)

  Changed paths:
    M t/native_pbc/number.t

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


  Commit: e2811dfe3d21d6a3ab0f92dd6a8fa08f34369fd1
      https://github.com/parrot/parrot/commit/e2811dfe3d21d6a3ab0f92dd6a8fa08f34369fd1
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 2012)

  Changed paths:
    M t/native_pbc/header.t

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


  Commit: b3b7395159d84f9b4f9ee323290f43869a4ee0ae
      https://github.com/parrot/parrot/commit/b3b7395159d84f9b4f9ee323290f43869a4ee0ae
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 2012)

  Changed paths:
    M t/native_pbc/number.t

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


  Commit: 8f65204cfc2c4dd7fcdd5967d77e51a1901f829a
      https://github.com/parrot/parrot/commit/8f65204cfc2c4dd7fcdd5967d77e51a1901f829a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-10 (Mon, 10 Sep 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: b99bb676436aa4e930edea27b70898881777ad17
      https://github.com/parrot/parrot/commit/b99bb676436aa4e930edea27b70898881777ad17
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-11 (Tue, 11 Sep 2012)

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

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


  Commit: 4afbef500908bda23d04c2e2646325f2126b0adc
      https://github.com/parrot/parrot/commit/4afbef500908bda23d04c2e2646325f2126b0adc
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-11 (Tue, 11 Sep 2012)

  Changed paths:
    M src/packfile/pf_items.c

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


  Commit: d92e6919afcb5b778b07a0d76e58a2c8321dda50
      https://github.com/parrot/parrot/commit/d92e6919afcb5b778b07a0d76e58a2c8321dda50
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-11 (Tue, 11 Sep 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: eca83f5bc40f49ae4e6596edc1f57ac8a2c7f86a
      https://github.com/parrot/parrot/commit/eca83f5bc40f49ae4e6596edc1f57ac8a2c7f86a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-12 (Wed, 12 Sep 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: a38401ce532dc8517ad10ab0cc0ef57a1dffb498
      https://github.com/parrot/parrot/commit/a38401ce532dc8517ad10ab0cc0ef57a1dffb498
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-12 (Wed, 12 Sep 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: 6a80df4eb372d85a342d6af9c94a70bf2e457f38
      https://github.com/parrot/parrot/commit/6a80df4eb372d85a342d6af9c94a70bf2e457f38
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-12 (Wed, 12 Sep 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: e4efd865b43b33f1c42d5ea3e4d590036cdb4aec
      https://github.com/parrot/parrot/commit/e4efd865b43b33f1c42d5ea3e4d590036cdb4aec
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-12 (Wed, 12 Sep 2012)

  Changed paths:
    M src/packfile/pf_items.c

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


  Commit: 4aaf1cf5c3473922cac232dfa925b0fe86bba7b4
      https://github.com/parrot/parrot/commit/4aaf1cf5c3473922cac232dfa925b0fe86bba7b4
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-12 (Wed, 12 Sep 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: e697588d93883e78aeb7d8ec125de0958948e24d
      https://github.com/parrot/parrot/commit/e697588d93883e78aeb7d8ec125de0958948e24d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-14 (Fri, 14 Sep 2012)

  Changed paths:
    A t/native_pbc/number_4_4_be.pbc

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


  Commit: 5f4222ddff30fd7712b21c168569067e452a6390
      https://github.com/parrot/parrot/commit/5f4222ddff30fd7712b21c168569067e452a6390
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-14 (Fri, 14 Sep 2012)

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

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


  Commit: ecd4ef12d2f32bf3dee646bdfc183556407ccb45
      https://github.com/parrot/parrot/commit/ecd4ef12d2f32bf3dee646bdfc183556407ccb45
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-14 (Fri, 14 Sep 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: f98d38b202d138b29fbb92b666d5ff4f03d9dc0c
      https://github.com/parrot/parrot/commit/f98d38b202d138b29fbb92b666d5ff4f03d9dc0c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-14 (Fri, 14 Sep 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.


Compare: https://github.com/parrot/parrot/compare/99ed5349109f...f98d38b202d1


More information about the parrot-commits mailing list