comparison src/mono_opt.sml @ 2085:fd6d362666c0

Optimizing writes of single characters
author Adam Chlipala <adam@chlipala.net>
date Thu, 04 Dec 2014 19:54:04 -0500
parents 9f65e2188d3c
children e3a79066380d 5709482a2afd
comparison
equal deleted inserted replaced
2084:0d48cfb59b29 2085:fd6d362666c0
624 EPrim (Prim.String (Prim.Normal, str ch)) 624 EPrim (Prim.String (Prim.Normal, str ch))
625 | EFfiApp ("Basis", "attrifyString", [((EFfiApp ("Basis", "str1", [e]), _), _)]) => 625 | EFfiApp ("Basis", "attrifyString", [((EFfiApp ("Basis", "str1", [e]), _), _)]) =>
626 EFfiApp ("Basis", "attrifyChar", [e]) 626 EFfiApp ("Basis", "attrifyChar", [e])
627 | EFfiApp ("Basis", "attrifyString_w", [((EFfiApp ("Basis", "str1", [e]), _), _)]) => 627 | EFfiApp ("Basis", "attrifyString_w", [((EFfiApp ("Basis", "str1", [e]), _), _)]) =>
628 EFfiApp ("Basis", "attrifyChar_w", [e]) 628 EFfiApp ("Basis", "attrifyChar_w", [e])
629 | EWrite (EFfiApp ("Basis", "str1", [e]), _) =>
630 EFfiApp ("Basis", "writec", [e])
629 631
630 | EBinop (_, "+", (EPrim (Prim.Int n1), _), (EPrim (Prim.Int n2), _)) => EPrim (Prim.Int (Int64.+ (n1, n2))) 632 | EBinop (_, "+", (EPrim (Prim.Int n1), _), (EPrim (Prim.Int n2), _)) => EPrim (Prim.Int (Int64.+ (n1, n2)))
631 633
632 | _ => e 634 | _ => e
633 635