[m-rev.] for review: Add news about data representation and float boxing changes
Peter Wang
novalazy at gmail.com
Mon Apr 29 12:46:24 AEST 2013
Plus one more, which was disabled on 11.07:
On Mon, 29 Apr 2013 12:36:41 +1000, Peter Wang <novalazy at gmail.com> wrote:
> Add news about data representation and float boxing changes for 13.05.
>
> NEWS:
> As above.
>
> diff --git a/NEWS b/NEWS
> index c2a434a..9cf86f6 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -68,6 +68,21 @@ Changes to the Mercury compiler:
> - large numbers of higher order constructs and/or code that uses
> large hierarchies of type classes
+* We have implemented a type representation optimisation, where a functor
+ with exactly one argument can be represented by a tagged pointer to the
+ argument value, which itself does not require the tag bits.
+
>
> +* Consecutive enumeration arguments in discriminated union types can now
> + be packed into a single word to reduce cell sizes, on C back-ends.
> +
> +* Double-precision `float' constructor arguments are now stored in
> + unboxed form in high-level C grades.
> +
> +* Double-precision `float' constructor arguments are now stored in
> + unboxed form on 32-bit architectures in the low-level C grade.
> + This was previously so for 64-bit architectures.
> +
> +* Double-precision float arguments can now be passed via dedicated Mercury
> + abstract machine registers to avoid boxing, in low-level C grades on
> + 32-bit architectures. Float variables can occupy two words on the
> + Mercury stack to avoid boxing.
> +
> Changes to the Mercury debugger:
>
> * We have added new capabilities to the "level", "retry" and "finish" mdb
>
More information about the reviews
mailing list