summaryrefslogtreecommitdiffstats
path: root/asmcomp
diff options
context:
space:
mode:
authorFabrice Le Fessant <Fabrice.Le_fessant@inria.fr>2012-11-06 17:03:34 +0000
committerFabrice Le Fessant <Fabrice.Le_fessant@inria.fr>2012-11-06 17:03:34 +0000
commit95c20bc6aece97adee9adc812fc8ac29a52552f3 (patch)
treef54f9d5b97a87a1ef400a1ada77d64c1f17248e1 /asmcomp
parentf1fb961192acd95eed1dd15580b1051e7be61b2c (diff)
PR#5762: Add primitives for fast access to bigarray dimensions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13069 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'asmcomp')
-rw-r--r--asmcomp/cmmgen.ml3
1 files changed, 3 insertions, 0 deletions
diff --git a/asmcomp/cmmgen.ml b/asmcomp/cmmgen.ml
index 45ddfd2b5..31272f69e 100644
--- a/asmcomp/cmmgen.ml
+++ b/asmcomp/cmmgen.ml
@@ -977,6 +977,9 @@ let rec transl = function
| Pbigarray_native_int -> transl_unbox_int Pnativeint argnewval
| _ -> untag_int (transl argnewval))
dbg)
+ | (Pbigarraydim(n), [b]) ->
+ let dim_ofs = 4 + n in
+ tag_int (Cop(Cload Word, [field_address (transl b) dim_ofs]))
| (p, [arg]) ->
transl_prim_1 p arg dbg
| (p, [arg1; arg2]) ->