Mercurial > urweb
comparison src/reduce.sml @ 1019:68ba074e260f
Always inline records
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 25 Oct 2009 13:12:24 -0400 |
parents | 065ce3252090 |
children | dfe34fad749d |
comparison
equal
deleted
inserted
replaced
1018:9304474170ed | 1019:68ba074e260f |
---|---|
836 | 836 |
837 fun mayInline (polyC, n, t, e) = | 837 fun mayInline (polyC, n, t, e) = |
838 case IM.find (uses, n) of | 838 case IM.find (uses, n) of |
839 NONE => false | 839 NONE => false |
840 | SOME count => count <= 1 | 840 | SOME count => count <= 1 |
841 orelse (case #1 e of | |
842 ERecord _ => true | |
843 | _ => false) | |
841 orelse isPoly polyC t | 844 orelse isPoly polyC t |
842 orelse size e <= Settings.getCoreInline () | 845 orelse size e <= Settings.getCoreInline () |
843 | 846 |
844 fun doDecl (d as (_, loc), st as (polyC, namedC, namedE)) = | 847 fun doDecl (d as (_, loc), st as (polyC, namedC, namedE)) = |
845 case #1 d of | 848 case #1 d of |