Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 28 additions & 19 deletions compiler/.depend
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ driver.cmo : varPrinter.cmi util.cmi tailcall.cmi specialize_js.cmi \
specialize.cmi reserved.cmi pretty_print.cmi phisimpl.cmi \
parse_bytecode.cmi option.cmi linker.cmi jsoo_primitive.cmi \
jsoo_deadcode.cmi js_traverse.cmi js_output.cmi js_assign.cmi \
javascript.cmi inline.cmi generate.cmi flow.cmi eval.cmi \
compiler_version.cmi code.cmi driver.cmi
javascript.cmi inline.cmi generate_closure.cmi generate.cmi flow.cmi \
eval.cmi compiler_version.cmi code.cmi driver.cmi
driver.cmx : varPrinter.cmx util.cmx tailcall.cmx specialize_js.cmx \
specialize.cmx reserved.cmx pretty_print.cmx phisimpl.cmx \
parse_bytecode.cmx option.cmx linker.cmx jsoo_primitive.cmx \
jsoo_deadcode.cmx js_traverse.cmx js_output.cmx js_assign.cmx \
javascript.cmx inline.cmx generate.cmx flow.cmx eval.cmx \
compiler_version.cmx code.cmx driver.cmi
javascript.cmx inline.cmx generate_closure.cmx generate.cmx flow.cmx \
eval.cmx compiler_version.cmx code.cmx driver.cmi
driver.cmi : source_map.cmi pretty_print.cmi parse_bytecode.cmi code.cmi
eval.cmo : jsoo_primitive.cmi flow.cmi code.cmi eval.cmi
eval.cmx : jsoo_primitive.cmx flow.cmx code.cmx eval.cmi
Expand All @@ -44,12 +44,19 @@ flow.cmi : code.cmi
freevars.cmo : util.cmi option.cmi code.cmi freevars.cmi
freevars.cmx : util.cmx option.cmx code.cmx freevars.cmi
freevars.cmi : util.cmi code.cmi
generate_closure.cmo : util.cmi option.cmi jsoo_subst.cmi \
jsoo_strongly_connected_components.cmi freevars.cmi code.cmi \
generate_closure.cmi
generate_closure.cmx : util.cmx option.cmx jsoo_subst.cmx \
jsoo_strongly_connected_components.cmx freevars.cmx code.cmx \
generate_closure.cmi
generate_closure.cmi : code.cmi
generate.cmo : util.cmi parse_js.cmi parse_info.cmi parse_bytecode.cmi \
option.cmi jsoo_subst.cmi jsoo_primitive.cmi js_tailcall.cmi js_simpl.cmi \
javascript.cmi freevars.cmi code.cmi generate.cmi
option.cmi jsoo_subst.cmi jsoo_primitive.cmi js_simpl.cmi javascript.cmi \
code.cmi generate.cmi
generate.cmx : util.cmx parse_js.cmx parse_info.cmx parse_bytecode.cmx \
option.cmx jsoo_subst.cmx jsoo_primitive.cmx js_tailcall.cmx js_simpl.cmx \
javascript.cmx freevars.cmx code.cmx generate.cmi
option.cmx jsoo_subst.cmx jsoo_primitive.cmx js_simpl.cmx javascript.cmx \
code.cmx generate.cmi
generate.cmi : parse_bytecode.cmi javascript.cmi code.cmi
inline.cmo : util.cmi option.cmi jsoo_primitive.cmi code.cmi inline.cmi
inline.cmx : util.cmx option.cmx jsoo_primitive.cmx code.cmx inline.cmi
Expand All @@ -62,10 +69,10 @@ javascript.cmo : varPrinter.cmi util.cmi reserved.cmi parse_info.cmi \
javascript.cmx : varPrinter.cmx util.cmx reserved.cmx parse_info.cmx \
code.cmx javascript.cmi
javascript.cmi : parse_info.cmi code.cmi
js_assign.cmo : util.cmi option.cmi js_traverse.cmi javascript.cmi code.cmi \
js_assign.cmi
js_assign.cmx : util.cmx option.cmx js_traverse.cmx javascript.cmx code.cmx \
js_assign.cmi
js_assign.cmo : util.cmi reserved.cmi option.cmi js_traverse.cmi \
javascript.cmi code.cmi js_assign.cmi
js_assign.cmx : util.cmx reserved.cmx option.cmx js_traverse.cmx \
javascript.cmx code.cmx js_assign.cmi
js_assign.cmi : javascript.cmi
js_lexer.cmo : parse_info.cmi js_token.cmi js_lexer.cmi
js_lexer.cmx : parse_info.cmx js_token.cmx js_lexer.cmi
Expand All @@ -87,6 +94,11 @@ jsoo_findlib_support_internal.cmx : util.cmx
jsoo_primitive.cmo : util.cmi parse_info.cmi jsoo_primitive.cmi
jsoo_primitive.cmx : util.cmx parse_info.cmx jsoo_primitive.cmi
jsoo_primitive.cmi : util.cmi parse_info.cmi
jsoo_strongly_connected_components.cmo : \
jsoo_strongly_connected_components.cmi
jsoo_strongly_connected_components.cmx : \
jsoo_strongly_connected_components.cmi
jsoo_strongly_connected_components.cmi :
jsoo_subst.cmo : util.cmi code.cmi jsoo_subst.cmi
jsoo_subst.cmx : util.cmx code.cmx jsoo_subst.cmi
jsoo_subst.cmi : code.cmi
Expand All @@ -101,16 +113,13 @@ js_parser.cmi : js_token.cmi javascript.cmi
js_simpl.cmo : javascript.cmi code.cmi js_simpl.cmi
js_simpl.cmx : javascript.cmx code.cmx js_simpl.cmi
js_simpl.cmi : javascript.cmi code.cmi
js_tailcall.cmo : option.cmi js_traverse.cmi javascript.cmi code.cmi \
js_tailcall.cmi
js_tailcall.cmx : option.cmx js_traverse.cmx javascript.cmx code.cmx \
js_tailcall.cmi
js_tailcall.cmi : js_traverse.cmi javascript.cmi code.cmi
js_token.cmo : parse_info.cmi js_token.cmi
js_token.cmx : parse_info.cmx js_token.cmi
js_token.cmi : parse_info.cmi
js_traverse.cmo : util.cmi javascript.cmi code.cmi js_traverse.cmi
js_traverse.cmx : util.cmx javascript.cmx code.cmx js_traverse.cmi
js_traverse.cmo : util.cmi option.cmi javascript.cmi code.cmi \
js_traverse.cmi
js_traverse.cmx : util.cmx option.cmx javascript.cmx code.cmx \
js_traverse.cmi
js_traverse.cmi : util.cmi javascript.cmi code.cmi
linker.cmo : util.cmi reserved.cmi parse_js.cmi parse_info.cmi option.cmi \
jsoo_primitive.cmi js_traverse.cmi js_token.cmi javascript.cmi \
Expand Down
6 changes: 6 additions & 0 deletions compiler/.merlin
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
B ./**
S ./**
PKG cmdliner
PKG menhirLib

EXT js
5 changes: 3 additions & 2 deletions compiler/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ OBJS=compiler_version.cmx \
instr.cmx jsoo_subst.cmx pure_fun.cmx jsoo_deadcode.cmx \
flow.cmx specialize.cmx specialize_js.cmx eval.cmx inline.cmx \
tailcall.cmx freevars.cmx phisimpl.cmx \
js_traverse.cmx js_assign.cmx js_tailcall.cmx \
linker.cmx parse_bytecode.cmx generate.cmx driver.cmx \
js_traverse.cmx js_assign.cmx \
linker.cmx parse_bytecode.cmx jsoo_strongly_connected_components.cmx \
generate_closure.cmx generate.cmx driver.cmx \
pseudoFs.cmx

COMPOBJS=$(OBJS) $(FINDLIB_SUPPORT_OBJ) commonArg.cmx compileArg.cmx jsoo_compile.cmx
Expand Down
13 changes: 11 additions & 2 deletions compiler/code.ml
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,15 @@ module Var : sig
val to_string : ?origin:t -> t -> string

val fresh : unit -> t
val fresh_n : string -> t
val fork : t -> t

val count : unit -> int

val compare : t -> t -> int

val name : t -> string -> unit
val get_name : t -> string option
val propagate_name : t -> t -> unit

val reset : unit -> unit
Expand All @@ -70,9 +72,15 @@ end = struct
let to_string ?origin i = VarPrinter.to_string printer ?origin i

let print f x = Format.fprintf f "v%d" x
(* Format.fprintf f "%s" (to_string x) *)
(* Format.fprintf f "%s" (to_string x) *)

let name i nm = VarPrinter.name printer i nm

let fresh () = incr last_var; !last_var
let fresh_n nm =
incr last_var;
name !last_var nm;
!last_var

let count () = !last_var + 1

Expand All @@ -82,7 +90,8 @@ end = struct

let compare v1 v2 = v1 - v2

let name i nm = VarPrinter.name printer i nm
let get_name i = VarPrinter.get_name printer i

let propagate_name i j = VarPrinter.propagate_name printer i j
let set_pretty b = VarPrinter.set_pretty printer b
let set_stable b = VarPrinter.set_stable printer b
Expand Down
2 changes: 2 additions & 0 deletions compiler/code.mli
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,14 @@ module Var : sig
val to_string : ?origin:t -> t -> string

val fresh : unit -> t
val fresh_n : string -> t
val fork : t -> t

val count : unit -> int

val compare : t -> t -> int

val get_name : t -> string option
val name : t -> string -> unit
val propagate_name : t -> t -> unit
val reset : unit -> unit
Expand Down
3 changes: 2 additions & 1 deletion compiler/driver.ml
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ let pack ~wrap_with_fun ?(toplevel=false) js =
let configure formatter p =
let pretty = Option.Optim.pretty () in
Pretty_print.set_compact formatter (not pretty);
Code.Var.set_pretty pretty;
Code.Var.set_pretty (pretty && not (Option.Optim.shortvar ()));
Code.Var.set_stable (Option.Optim.stable_var ());
p

Expand All @@ -434,6 +434,7 @@ let f ?(standalone=true) ?(wrap_with_fun=false) ?(profile=o1)
?toplevel ?linkall ?source_map ?custom_header formatter d =
configure formatter >>
profile >>
Generate_closure.f >>
deadcode' >>
generate d ?toplevel >>

Expand Down
Loading