Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007246OCamlback end (clambda to assembly)public2016-05-02 11:342018-11-12 15:29
Reporterfrisch 
Assigned To 
PrioritynormalSeverityfeatureReproducibilityhave not tried
StatusacknowledgedResolutionopen 
PlatformOSOS Version
Product Version 
Target Version4.07.0+dev/beta2/rc1/rc2Fixed in Version 
Summary0007246: Unboxed version of operations on 64-bit integers for 32-bit ports
DescriptionPrimitive operations on 64-bit integers are turned into calls to C functions when targeting 32-bit architectures. Cf Cmmgen.simplif_primitive_32bits. We should provide unboxed non-allocating versions of these functions for the native backend.
Tagspatch
Attached Filesdiff file icon patch-int64-unboxed.diff [^] (8,197 bytes) 2016-05-02 12:20 [Show Content]

- Relationships

-  Notes
(0015888)
dim (developer)
2016-05-02 12:20

I quickly looked at adding [@@unboxed] and [@@noalloc] for these C calls a while ago. I attached the patch I wrote, it handles +, -, * and /
(0015889)
frisch (developer)
2016-05-02 13:42

Did you have a reason not to apply the patch?
(0015890)
dim (developer)
2016-05-02 13:57

Nope, I just wanted to finish all the primitives properly but then I ended up working on some other stuff and forgot about this
(0017273)
xleroy (administrator)
2017-02-16 10:07

This is a good thing to do, but it has to be done consistently. Pushing for after 4.05.
(0019445)
frisch (developer)
2018-11-09 14:35

@dim: Do you think you'll be able to resume this work?

(Personally, I wouldn't be shocked to commit a version that only deal with some of the primitives, that's already a good incremental improvement.)
(0019452)
dim (developer)
2018-11-12 15:29
edited on: 2018-11-12 15:29

Sure, I updated the patch and added `bitand`, `bitor` and `bitxor` as optimised primitives: https://github.com/ocaml/ocaml/pull/2146 [^]


- Issue History
Date Modified Username Field Change
2016-05-02 11:34 frisch New Issue
2016-05-02 12:20 dim Note Added: 0015888
2016-05-02 12:20 dim File Added: patch-int64-unboxed.diff
2016-05-02 13:42 frisch Note Added: 0015889
2016-05-02 13:57 dim Note Added: 0015890
2016-05-03 11:30 doligez Tag Attached: patch
2016-05-03 11:30 doligez Status new => acknowledged
2016-05-03 11:30 doligez Target Version => 4.04.0 +dev / +beta1 / +beta2
2016-08-30 13:19 frisch Target Version 4.04.0 +dev / +beta1 / +beta2 => 4.05.0 +dev/beta1/beta2/beta3/rc1
2016-12-06 15:44 frisch Severity minor => feature
2017-02-16 10:07 xleroy Note Added: 0017273
2017-02-16 10:07 xleroy Target Version 4.05.0 +dev/beta1/beta2/beta3/rc1 => 4.06.0 +dev/beta1/beta2/rc1
2017-02-23 16:42 doligez Category Ocaml optimization => -Ocaml optimization
2017-02-27 16:35 doligez Category -Ocaml optimization => back end (clambda to assembly)
2017-10-10 11:27 frisch Target Version 4.06.0 +dev/beta1/beta2/rc1 => 4.07.0+dev/beta2/rc1/rc2
2018-11-09 14:35 frisch Note Added: 0019445
2018-11-12 15:29 dim Note Added: 0019452
2018-11-12 15:29 dim Note Edited: 0019452 View Revisions


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker