Skip to content

Commit cd9c2a1

Browse files
committed
calculate maybe depends as early as we can in case later optimizations remove effectful modules
remove global module inclusion alias as early as we can
1 parent 731b520 commit cd9c2a1

23 files changed

+5570
-5427
lines changed

jscomp/Makefile

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,11 +217,15 @@ SYNTAX_SRCS=ast_derive_constructor ast_derive_util ast_exp ast_external ast_lift
217217
SYNTAX_CMXS=$(addprefix syntax/, $(addsuffix .cmx, $(SYNTAX_SRCS)))
218218
DEPENDS_SRCS= depends_post_process bs_exception ast_extract binary_ast
219219
DEPENDS_CMXS=$(addprefix depends/, $(addsuffix .cmx, $(DEPENDS_SRCS)))
220-
CORE_SRCS= type_int_to_string type_util ocaml_stdlib_slots bs_conditional_initial ocaml_options ocaml_parse lam\
220+
CORE_SRCS= type_int_to_string type_util ocaml_stdlib_slots bs_conditional_initial ocaml_options ocaml_parse\
221+
js_op\
222+
lam_module_ident\
223+
lam\
221224
lam_print lam_beta_reduce_util lam_inline_util lam_analysis\
222225
lam_closure\
223-
js_cmj_format js_fun_env js_call_info js_closure js_op js_number js_cmj_datasets\
224-
lam_exit_code j lam_module_ident lam_compile_util lam_stats config_util lam_compile_defs js_map js_fold js_fold_basic js_pass_scope\
226+
js_cmj_format js_fun_env js_call_info js_closure js_number js_cmj_datasets\
227+
lam_exit_code j \
228+
lam_compile_util lam_stats config_util lam_compile_defs js_map js_fold js_fold_basic js_pass_scope\
225229
js_op_util js_analyzer js_shake js_exp_make js_long js_of_lam_exception js_of_lam_module js_of_lam_array js_of_lam_block js_of_lam_string\
226230
js_of_lam_tuple js_of_lam_record js_of_lam_float_record js_arr lam_compile_const \
227231
lam_inner lam_util \

jscomp/all.depend

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,9 @@ core/type_util.cmi :
234234
core/bs_conditional_initial.cmi :
235235
core/ocaml_options.cmi :
236236
core/ocaml_parse.cmi :
237-
core/lam.cmi : ext/ident_set.cmi
237+
core/lam_module_ident.cmi : core/js_op.cmx common/js_config.cmi core/j.cmx \
238+
ext/hashtbl_gen.cmx ext/hash_set_gen.cmx
239+
core/lam.cmi : core/lam_module_ident.cmi ext/ident_set.cmi
238240
core/lam_print.cmi : core/lam.cmi
239241
core/lam_beta_reduce_util.cmi : core/lam.cmi
240242
core/lam_inline_util.cmi : core/lam.cmi
@@ -248,11 +250,9 @@ core/js_closure.cmi : ext/ident_set.cmi
248250
core/js_number.cmi :
249251
core/js_cmj_datasets.cmi : ext/string_map.cmi core/js_cmj_format.cmi
250252
core/lam_exit_code.cmi : core/lam.cmi
251-
core/lam_module_ident.cmi : core/js_op.cmx common/js_config.cmi core/j.cmx \
252-
ext/hashtbl_gen.cmx ext/hash_set_gen.cmx
253253
core/lam_compile_util.cmi : core/js_op.cmx
254-
core/lam_stats.cmi : core/lam_module_ident.cmi core/lam.cmi \
255-
ext/int_hash_set.cmi ext/ident_set.cmi ext/ident_hashtbl.cmi
254+
core/lam_stats.cmi : core/lam.cmi ext/int_hash_set.cmi ext/ident_set.cmi \
255+
ext/ident_hashtbl.cmi
256256
core/config_util.cmi : core/js_cmj_format.cmi
257257
core/lam_compile_defs.cmi : core/lam_stats.cmi core/j.cmx ext/ident_map.cmi
258258
core/js_fold_basic.cmi : core/lam_module_ident.cmi core/j.cmx \
@@ -327,12 +327,16 @@ core/bs_conditional_initial.cmx : common/bs_version.cmx \
327327
core/ocaml_options.cmx : common/bs_version.cmx core/ocaml_options.cmi
328328
core/ocaml_parse.cmx : syntax/ppx_entry.cmx common/js_config.cmx \
329329
core/ocaml_parse.cmi
330+
core/js_op.cmx :
331+
core/lam_module_ident.cmx : core/js_op.cmx common/js_config.cmx core/j.cmx \
332+
ext/hashtbl_make.cmx ext/hash_set.cmx ext/ext_ident.cmx \
333+
stubs/bs_hash_stubs.cmx core/lam_module_ident.cmi
330334
core/lam.cmx : ext/ordered_hash_map_local_ident.cmx \
331-
core/ocaml_stdlib_slots.cmx ext/literals.cmx common/js_config.cmx \
332-
ext/int_vec_vec.cmx ext/int_vec_util.cmx ext/int_vec.cmx \
333-
ext/ident_set.cmx ext/ident_hashtbl.cmx ext/ident_hash_set.cmx \
334-
ext/hash_set_ident_mask.cmx ext/ext_string.cmx ext/ext_scc.cmx \
335-
core/lam.cmi
335+
core/ocaml_stdlib_slots.cmx ext/literals.cmx core/lam_module_ident.cmx \
336+
common/js_config.cmx ext/int_vec_vec.cmx ext/int_vec_util.cmx \
337+
ext/int_vec.cmx ext/ident_set.cmx ext/ident_hashtbl.cmx \
338+
ext/ident_hash_set.cmx ext/hash_set_ident_mask.cmx ext/ext_string.cmx \
339+
ext/ext_scc.cmx core/lam.cmi
336340
core/lam_print.cmx : core/lam.cmx core/lam_print.cmi
337341
core/lam_beta_reduce_util.cmx : core/lam.cmx ext/ident_hashtbl.cmx \
338342
core/lam_beta_reduce_util.cmi
@@ -345,20 +349,15 @@ core/js_cmj_format.cmx : ext/string_map.cmx core/lam.cmx \
345349
core/js_fun_env.cmx : ext/ident_set.cmx ext/ext_list.cmx core/js_fun_env.cmi
346350
core/js_call_info.cmx : core/js_call_info.cmi
347351
core/js_closure.cmx : ext/ident_set.cmx core/js_closure.cmi
348-
core/js_op.cmx :
349352
core/js_number.cmx : core/js_number.cmi
350353
core/js_cmj_datasets.cmx : ext/string_map.cmx core/js_cmj_format.cmx \
351354
core/js_cmj_datasets.cmi
352355
core/lam_exit_code.cmx : core/lam.cmx core/lam_exit_code.cmi
353356
core/j.cmx : core/js_op.cmx core/js_fun_env.cmx core/js_closure.cmx \
354357
core/js_call_info.cmx ext/ident_set.cmx
355-
core/lam_module_ident.cmx : core/js_op.cmx common/js_config.cmx core/j.cmx \
356-
ext/hashtbl_make.cmx ext/hash_set.cmx ext/ext_ident.cmx \
357-
stubs/bs_hash_stubs.cmx core/lam_module_ident.cmi
358358
core/lam_compile_util.cmx : core/js_op.cmx core/lam_compile_util.cmi
359-
core/lam_stats.cmx : core/lam_module_ident.cmx core/lam.cmx \
360-
ext/int_hash_set.cmx ext/ident_set.cmx ext/ident_hashtbl.cmx \
361-
core/lam_stats.cmi
359+
core/lam_stats.cmx : core/lam.cmx ext/int_hash_set.cmx ext/ident_set.cmx \
360+
ext/ident_hashtbl.cmx core/lam_stats.cmi
362361
core/config_util.cmx : core/js_cmj_format.cmx depends/bs_exception.cmx \
363362
core/config_util.cmi
364363
core/lam_compile_defs.cmx : core/lam_stats.cmx core/j.cmx ext/ident_map.cmx \
@@ -403,10 +402,9 @@ core/lam_compile_const.cmx : core/lam_compile_util.cmx \
403402
core/lam_compile_const.cmi
404403
core/lam_inner.cmx : core/lam.cmx core/lam_inner.cmi
405404
core/lam_util.cmx : ext/literals.cmx core/lam_stats.cmx core/lam_print.cmx \
406-
core/lam_module_ident.cmx core/lam_analysis.cmx core/lam.cmx \
407-
common/js_config.cmx ext/ident_set.cmx ext/ident_map.cmx \
408-
ext/ident_hashtbl.cmx ext/ext_list.cmx ext/ext_filename.cmx \
409-
ext/ext_array.cmx core/lam_util.cmi
405+
core/lam_analysis.cmx core/lam.cmx common/js_config.cmx ext/ident_set.cmx \
406+
ext/ident_map.cmx ext/ident_hashtbl.cmx ext/ext_list.cmx \
407+
ext/ext_filename.cmx ext/ext_array.cmx core/lam_util.cmi
410408
core/lam_group.cmx : core/lam_print.cmx core/lam.cmx core/lam_group.cmi
411409
core/lam_pass_deep_flatten.cmx : core/lam_util.cmx core/lam_group.cmx \
412410
core/lam.cmx core/js_number.cmx ext/ident_set.cmx \

jscomp/bin/whole_compiler.d

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,22 @@ bin/whole_compiler.ml : ext/ident_set.ml
163163
bin/whole_compiler.ml : ext/ident_set.mli
164164
bin/whole_compiler.ml : ext/int_vec_util.ml
165165
bin/whole_compiler.ml : ext/int_vec_util.mli
166+
bin/whole_compiler.ml : ext/hash_set.ml
167+
bin/whole_compiler.ml : ext/hash_set.mli
168+
bin/whole_compiler.ml : ext/hashtbl_make.ml
169+
bin/whole_compiler.ml : ext/hashtbl_make.mli
170+
bin/whole_compiler.ml : core/js_call_info.ml
171+
bin/whole_compiler.ml : core/js_call_info.mli
172+
bin/whole_compiler.ml : core/js_closure.ml
173+
bin/whole_compiler.ml : core/js_closure.mli
174+
bin/whole_compiler.ml : core/js_fun_env.ml
175+
bin/whole_compiler.ml : core/js_fun_env.mli
166176
bin/whole_compiler.ml : ../ocaml/bytecomp/lambda.ml
167177
bin/whole_compiler.ml : ../ocaml/bytecomp/lambda.mli
178+
bin/whole_compiler.ml : core/js_op.ml
179+
bin/whole_compiler.ml : core/j.ml
180+
bin/whole_compiler.ml : core/lam_module_ident.ml
181+
bin/whole_compiler.ml : core/lam_module_ident.mli
168182
bin/whole_compiler.ml : core/ocaml_stdlib_slots.ml
169183
bin/whole_compiler.ml : ext/ordered_hash_map_gen.ml
170184
bin/whole_compiler.ml : ext/ordered_hash_map_local_ident.ml
@@ -175,14 +189,6 @@ bin/whole_compiler.ml : core/js_cmj_format.ml
175189
bin/whole_compiler.ml : core/js_cmj_format.mli
176190
bin/whole_compiler.ml : core/config_util.ml
177191
bin/whole_compiler.ml : core/config_util.mli
178-
bin/whole_compiler.ml : core/js_call_info.ml
179-
bin/whole_compiler.ml : core/js_call_info.mli
180-
bin/whole_compiler.ml : core/js_closure.ml
181-
bin/whole_compiler.ml : core/js_closure.mli
182-
bin/whole_compiler.ml : core/js_fun_env.ml
183-
bin/whole_compiler.ml : core/js_fun_env.mli
184-
bin/whole_compiler.ml : core/js_op.ml
185-
bin/whole_compiler.ml : core/j.ml
186192
bin/whole_compiler.ml : core/js_fold.ml
187193
bin/whole_compiler.ml : core/js_analyzer.ml
188194
bin/whole_compiler.ml : core/js_analyzer.mli
@@ -196,12 +202,6 @@ bin/whole_compiler.ml : ext/ident_map.ml
196202
bin/whole_compiler.ml : ext/ident_map.mli
197203
bin/whole_compiler.ml : core/lam_analysis.ml
198204
bin/whole_compiler.ml : core/lam_analysis.mli
199-
bin/whole_compiler.ml : ext/hash_set.ml
200-
bin/whole_compiler.ml : ext/hash_set.mli
201-
bin/whole_compiler.ml : ext/hashtbl_make.ml
202-
bin/whole_compiler.ml : ext/hashtbl_make.mli
203-
bin/whole_compiler.ml : core/lam_module_ident.ml
204-
bin/whole_compiler.ml : core/lam_module_ident.mli
205205
bin/whole_compiler.ml : core/lam_print.ml
206206
bin/whole_compiler.ml : core/lam_print.mli
207207
bin/whole_compiler.ml : ext/ext_int.ml

0 commit comments

Comments
 (0)