File tree Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -132,9 +132,13 @@ let not_found key = {name = key; arity = single_na; persistent_closed_lambda =
132132
133133
134134let get_result midVal =
135- if midVal.persistent_closed_lambda = None ||
136- Js_config. get_cross_module_inline () then midVal
137- else {midVal with persistent_closed_lambda = None }
135+ match midVal.persistent_closed_lambda with
136+ | Some (Lconst (Const_js_null | Const_js_undefined | Const_js_true | Const_js_false ))
137+ | None ->
138+ midVal
139+ | Some _ ->
140+ if Js_config. get_cross_module_inline () then midVal
141+ else {midVal with persistent_closed_lambda = None }
138142
139143let rec binarySearchAux arr lo hi (key : string ) =
140144 let mid = (lo + hi)/ 2 in
Original file line number Diff line number Diff line change @@ -64,9 +64,11 @@ let values_of_export
6464 end
6565 in
6666 let persistent_closed_lambda =
67+ match Map_ident. find_opt export_map x with
68+ | Some Lconst (Const_js_null | Const_js_undefined | Const_js_true | Const_js_false ) | None as optlam -> optlam
69+ | Some lambda as optlam ->
6770 if not ! Js_config. cross_module_inline then None
68- else match Map_ident. find_opt export_map x with
69- | Some lambda ->
71+ else
7072 if Lam_analysis. safe_to_inline lambda
7173 (* when inlning a non function, we have to be very careful,
7274 only truly immutable values can be inlined
@@ -90,12 +92,12 @@ let values_of_export
9092 then
9193 begin
9294 Ext_log. dwarn ~__POS__ " %s recorded for inlining @." x.name ;
93- Some lambda
95+ optlam
9496 end
9597 else None
9698 else
9799 None
98- | None -> None in
100+ in
99101 match arity, persistent_closed_lambda with
100102 | Single Arity_na ,
101103 (None | Some (Lconst (Const_pointer (_ , Pt_module_alias)))) -> acc
You can’t perform that action at this time.
0 commit comments