summaryrefslogtreecommitdiff
path: root/src/mono_opt.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/mono_opt.sml')
-rw-r--r--src/mono_opt.sml8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mono_opt.sml b/src/mono_opt.sml
index bf39b311..7bfce88b 100644
--- a/src/mono_opt.sml
+++ b/src/mono_opt.sml
@@ -30,6 +30,8 @@ structure MonoOpt :> MONO_OPT = struct
open Mono
structure U = MonoUtil
+val removeServerCalls = ref false
+
fun typ t = t
fun decl d = d
@@ -480,6 +482,12 @@ fun exp e =
| [] => raise Fail "MonoOpt impossible nil")
| NONE => e
end
+
+ | EServerCall (_, _, _, _, ue) =>
+ if !removeServerCalls then
+ optExp ue
+ else
+ e
| _ => e