File tree 3 files changed +6
-6
lines changed
3 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -375,15 +375,15 @@ function caml_js_wrap_meth_callback_unsafe(f) {
375
375
//Provides: caml_js_function_arity
376
376
//If: !effects
377
377
function caml_js_function_arity ( f ) {
378
- return f . length
378
+ return ( f . l >= 0 ) ? f . l : ( f . l = f . length )
379
379
}
380
380
381
381
//Provides: caml_js_function_arity
382
382
//If: effects
383
383
function caml_js_function_arity ( f ) {
384
384
// Functions have an additional continuation parameter. This should
385
385
// not be visible when calling them from JavaScript
386
- return f . length - 1
386
+ return ( ( f . l >= 0 ) ? f . l : ( f . l = f . length ) ) - 1
387
387
}
388
388
389
389
//Provides: caml_js_equals mutable (const, const)
Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ function caml_call_gen(f, args) {
25
25
return caml_call_gen ( f . fun , args ) ;
26
26
//FIXME, can happen with too many arguments
27
27
if ( typeof f !== "function" ) return f ;
28
- var n = f . length | 0 ;
28
+ var n = ( f . l >= 0 ) ? f . l : ( f . l = f . length ) ;
29
29
if ( n === 0 ) return f . apply ( null , args ) ;
30
30
var argsLen = args . length | 0 ;
31
31
var d = n - argsLen | 0 ;
@@ -76,7 +76,7 @@ function caml_call_gen(f, args) {
76
76
if ( f . fun )
77
77
return caml_call_gen ( f . fun , args ) ;
78
78
if ( typeof f !== "function" ) return args [ args . length - 1 ] ( f ) ;
79
- var n = f . length | 0 ;
79
+ var n = ( f . l >= 0 ) ? f . l : ( f . l = f . length ) ;
80
80
if ( n === 0 ) return f . apply ( null , args ) ;
81
81
var argsLen = args . length | 0 ;
82
82
var d = n - argsLen | 0 ;
Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ function caml_call_gen(f, args) {
23
23
return caml_call_gen ( f . fun , args ) ;
24
24
//FIXME, can happen with too many arguments
25
25
if ( typeof f !== "function" ) return f ;
26
- var n = f . length | 0 ;
26
+ var n = ( f . l >= 0 ) ? f . l : ( f . l = f . length ) ;
27
27
if ( n === 0 ) return f ( ...args ) ;
28
28
var argsLen = args . length | 0 ;
29
29
var d = n - argsLen | 0 ;
@@ -74,7 +74,7 @@ function caml_call_gen(f, args) {
74
74
return caml_call_gen ( f . fun , args ) ;
75
75
//FIXME, can happen with too many arguments
76
76
if ( typeof f !== "function" ) return args [ args . length - 1 ] ( f ) ;
77
- var n = f . length | 0 ;
77
+ var n = ( f . l >= 0 ) ? f . l : ( f . l = f . length ) ;
78
78
if ( n === 0 ) return f ( ...args ) ;
79
79
var argsLen = args . length | 0 ;
80
80
var d = n - argsLen | 0 ;
You can’t perform that action at this time.
0 commit comments