Mercurial > urweb
comparison src/mono_inline.sml @ 2304:6fb9232ade99
Merge Sqlcache
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 20 Dec 2015 14:18:52 -0500 |
parents | edd634b889d0 |
children |
comparison
equal
deleted
inserted
replaced
2201:1091227f535a | 2304:6fb9232ade99 |
---|---|
1 structure MonoInline = struct | |
2 | |
3 fun inlineFull file = | |
4 let | |
5 val oldInline = Settings.getMonoInline () | |
6 val oldFull = !MonoReduce.fullMode | |
7 in | |
8 (Settings.setMonoInline (case Int.maxInt of | |
9 NONE => 1000000 | |
10 | SOME n => n); | |
11 MonoReduce.fullMode := true; | |
12 let | |
13 val file = MonoReduce.reduce file | |
14 val file = MonoOpt.optimize file | |
15 val file = Fuse.fuse file | |
16 val file = MonoOpt.optimize file | |
17 val file = MonoShake.shake file | |
18 in | |
19 file | |
20 end before | |
21 (MonoReduce.fullMode := oldFull; | |
22 Settings.setMonoInline oldInline)) | |
23 handle ex => (Settings.setMonoInline oldInline; | |
24 MonoReduce.fullMode := oldFull; | |
25 raise ex) | |
26 end | |
27 | |
28 end |