Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc37ef6e

Browse files
vasily-kirichenkoKevinRansom
authored andcommitted
do not inline CLIMutable record field getter in release (dotnet#2263)
1 parentad87edb commitc37ef6e

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

‎src/fsharp/Optimizer.fs‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1955,12 +1955,15 @@ and OptimizeConst cenv env expr (c,m,ty) =
19551955
// Optimize/analyze a record lookup.
19561956
//-------------------------------------------------------------------------
19571957

1958-
andTryOptimizeRecordFieldGet cenv _env(e1info,r:RecdFieldRef,_tinst,m)=
1958+
andTryOptimizeRecordFieldGet cenv _env(e1info,(RFRef(rtcref,_)as r),_tinst,m)=
19591959
match destRecdValue e1info.Infowith
19601960
| Some finfoswhen cenv.settings.EliminateRecdFieldGet()&&not e1info.HasEffect->
1961-
letn= r.Index
1962-
if n>= finfos.Lengththen errorR(InternalError("TryOptimizeRecordFieldGet: term argument out of range",m))
1963-
Some finfos.[n](* Uses INVARIANT on record ValInfos that exprs are in defn order*)
1961+
match TryFindFSharpAttribute cenv.g cenv.g.attrib_CLIMutableAttribute rtcref.Attribswith
1962+
| Some_-> None
1963+
| None->
1964+
letn= r.Index
1965+
if n>= finfos.Lengththen errorR(InternalError("TryOptimizeRecordFieldGet: term argument out of range",m))
1966+
Some finfos.[n](* Uses INVARIANT on record ValInfos that exprs are in defn order*)
19641967
|_-> None
19651968

19661969
andTryOptimizeTupleFieldGet cenv _env(_tupInfo,e1info,tys,n,m)=

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp