summaryrefslogtreecommitdiff
path: root/src/mono_opt.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2014-12-04 19:54:04 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2014-12-04 19:54:04 -0500
commit514bde72c4a3f291221bbb362b9496c020042925 (patch)
treeeb34b6c894679fa04c517bfa2472fa135b085bb5 /src/mono_opt.sml
parentde8817f2e2e5cf49421cdcc08a754b8277f13866 (diff)
Optimizing writes of single characters
Diffstat (limited to 'src/mono_opt.sml')
-rw-r--r--src/mono_opt.sml2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mono_opt.sml b/src/mono_opt.sml
index 211b273e..2d40e0f0 100644
--- a/src/mono_opt.sml
+++ b/src/mono_opt.sml
@@ -626,6 +626,8 @@ fun exp e =
EFfiApp ("Basis", "attrifyChar", [e])
| EFfiApp ("Basis", "attrifyString_w", [((EFfiApp ("Basis", "str1", [e]), _), _)]) =>
EFfiApp ("Basis", "attrifyChar_w", [e])
+ | EWrite (EFfiApp ("Basis", "str1", [e]), _) =>
+ EFfiApp ("Basis", "writec", [e])
| EBinop (_, "+", (EPrim (Prim.Int n1), _), (EPrim (Prim.Int n2), _)) => EPrim (Prim.Int (Int64.+ (n1, n2)))