File tree Expand file tree Collapse file tree 3 files changed +18
-9
lines changed
Expand file tree Collapse file tree 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 : _ -> _) =
140140 whose tag is 0, we optimize that case
141141*)
142142let 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] }
145149 }
146- for_in(y, set)
147150}| }]
148151
149152(* 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) {
6262}
6363
6464var 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 ] }
6771 }
68- for_in ( y , set )
6972} ) ;
7073
7174function caml_compare ( _a , _b ) {
Original file line number Diff line number Diff line change @@ -62,10 +62,13 @@ function caml_lazy_make(fn) {
6262}
6363
6464var 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 ] }
6771 }
68- for_in ( y , set )
6972} ) ;
7073
7174function caml_compare ( _a , _b ) {
You can’t perform that action at this time.
0 commit comments