File tree 3 files changed +18
-9
lines changed
3 files changed +18
-9
lines changed Original file line number Diff line number Diff line change @@ -140,10 +140,13 @@ let caml_lazy_make (fn : _ -> _) =
140
140
whose tag is 0, we optimize that case
141
141
*)
142
142
let caml_update_dummy : _ -> _ -> unit = [% raw{| function (x, y) {
143
- var set = function (k) {
144
- x[k] = y[k]
143
+ if (Array. isArray(y)) {
144
+ for (var k = 0 ; k < y.length; k++ ) {
145
+ x[k] = y[k]
146
+ }
147
+ } else {
148
+ for (var k in y) { x[k] = y[k] }
145
149
}
146
- for_in(y, set)
147
150
}| }]
148
151
149
152
(* Caml_obj_extern.set_length x (Caml_obj_extern.length y) *)
Original file line number Diff line number Diff line change @@ -62,10 +62,13 @@ function caml_lazy_make(fn) {
62
62
}
63
63
64
64
var caml_update_dummy = ( function ( x , y ) {
65
- var set = function ( k ) {
66
- x [ k ] = y [ k ]
65
+ if ( Array . isArray ( y ) ) {
66
+ for ( var k = 0 ; k < y . length ; k ++ ) {
67
+ x [ k ] = y [ k ]
68
+ }
69
+ } else {
70
+ for ( var k in y ) { x [ k ] = y [ k ] }
67
71
}
68
- for_in ( y , set )
69
72
} ) ;
70
73
71
74
function caml_compare ( _a , _b ) {
Original file line number Diff line number Diff line change @@ -62,10 +62,13 @@ function caml_lazy_make(fn) {
62
62
}
63
63
64
64
var caml_update_dummy = ( function ( x , y ) {
65
- var set = function ( k ) {
66
- x [ k ] = y [ k ]
65
+ if ( Array . isArray ( y ) ) {
66
+ for ( var k = 0 ; k < y . length ; k ++ ) {
67
+ x [ k ] = y [ k ]
68
+ }
69
+ } else {
70
+ for ( var k in y ) { x [ k ] = y [ k ] }
67
71
}
68
- for_in ( y , set )
69
72
} ) ;
70
73
71
74
function caml_compare ( _a , _b ) {
You can’t perform that action at this time.
0 commit comments