lp://staging/~mgiuca/mars/double-unbox

Created by Matt Giuca and last modified
Get this branch:
bzr branch lp://staging/~mgiuca/mars/double-unbox
Only Matt Giuca can upload to this branch. If you are Matt Giuca please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Matt Giuca
Project:
Mars
Status:
Merged

Recent revisions

1344. By Matt Giuca

Merge from trunk. Fixes LP: #1159320.

1343. By Matt Giuca

runtime.ll: Change Num representation from double* to double.
Doubles are now unboxed.
Note that passing Num to a closure template is currently broken due to LP: #1159320.

1342. By Matt Giuca

runtime.ll: Changed type of %Any from i8* to i64.
This forces it to be 64-bits whereas previously it was based on the machine word size.
The goal is to support unboxed 64-bit doubles, which was previously impossible on 32-bit platforms.
(See LP: #1159318.)

1341. By Matt Giuca

backend_llvm: Extended bitcast_if_required to perform the correct bitcast given the source and dest type.
Previously, it would always make a bitcast instruction, which is only valid for pointer-to-pointer casts.
Now it can make trunc, zext, inttoptr, ptrtoint or bitcast instructions.
It cannot yet do floating point bitcasts.

1340. By Matt Giuca

llvm: Added build_trunc, build_zext and build_sext, as well as the constant versions.

1339. By Matt Giuca

llvm: Added reversible predicates for all of the LLVM types.
Retained all of the original functions, as helper functions around the more general predicates.

1338. By Matt Giuca

runtime: Renamed float_ascii_width to double_ascii_width (which it actually is).

1337. By Matt Giuca

backend_llvm: Refactor init_ll_types_builtins to make it easier to add more built-in types.

1336. By Matt Giuca

unittest: assert_eq now prints the values of x and y instead of the supplied message.
This is generally more helpful.

1335. By Matt Giuca

pretty: Fixed long lines.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp://staging/mars
This branch contains Public information 
Everyone can see this information.

Subscribers