Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
fsharp
提交
cc2c9bb9
F
fsharp
项目概览
dotNET Platform
/
fsharp
12 个月 前同步成功
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fsharp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cc2c9bb9
编写于
8月 02, 2016
作者:
O
Omar Tawfik
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added jitTracking option to the compiler to enable debugging without warnings
上级
4bfc36df
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
18 addition
and
10 deletion
+18
-10
src/absil/il.fs
src/absil/il.fs
+3
-2
src/absil/il.fsi
src/absil/il.fsi
+1
-1
src/fsharp/CompileOps.fs
src/fsharp/CompileOps.fs
+3
-0
src/fsharp/CompileOps.fsi
src/fsharp/CompileOps.fsi
+2
-0
src/fsharp/CompileOptions.fs
src/fsharp/CompileOptions.fs
+7
-6
src/fsharp/fsc.fs
src/fsharp/fsc.fs
+2
-1
未找到文件。
src/absil/il.fs
浏览文件 @
cc2c9bb9
...
@@ -3692,12 +3692,13 @@ type ILGlobals with
...
@@ -3692,12 +3692,13 @@ type ILGlobals with
mkILCustomAttribute
this
(
mkSystemDiagnosticsDebuggableTypeRef
this
,
[
this
.
typ_Bool
;
this
.
typ_Bool
],
[
ILAttribElem
.
Bool
false
;
ILAttribElem
.
Bool
jitOptimizerDisabled
],
[]
)
mkILCustomAttribute
this
(
mkSystemDiagnosticsDebuggableTypeRef
this
,
[
this
.
typ_Bool
;
this
.
typ_Bool
],
[
ILAttribElem
.
Bool
false
;
ILAttribElem
.
Bool
jitOptimizerDisabled
],
[]
)
member
this
.
mkDebuggableAttributeV2
(
ignoreSymbolStoreSequencePoints
,
jitOptimizerDisabled
,
enableEnC
)
=
member
this
.
mkDebuggableAttributeV2
(
jitTracking
,
ignoreSymbolStoreSequencePoints
,
jitOptimizerDisabled
,
enableEnC
)
=
let
tref
=
mkSystemDiagnosticsDebuggableTypeRef
this
let
tref
=
mkSystemDiagnosticsDebuggableTypeRef
this
mkILCustomAttribute
this
mkILCustomAttribute
this
(
tref
,[
mkILNonGenericValueTy
(
tref_DebuggableAttribute_DebuggingModes
this
)],
(
tref
,[
mkILNonGenericValueTy
(
tref_DebuggableAttribute_DebuggingModes
this
)],
(* See System.Diagnostics.DebuggableAttribute.DebuggingModes *)
(* See System.Diagnostics.DebuggableAttribute.DebuggingModes *)
[
ILAttribElem
.
Int32
(
(
if
jitOptimizerDisabled
then
256
else
0
)
|||
[
ILAttribElem
.
Int32
(
(
if
jitTracking
then
1
else
0
)
|||
(
if
jitOptimizerDisabled
then
256
else
0
)
|||
(
if
ignoreSymbolStoreSequencePoints
then
2
else
0
)
|||
(
if
ignoreSymbolStoreSequencePoints
then
2
else
0
)
|||
(
if
enableEnC
then
4
else
0
))],[])
(
if
enableEnC
then
4
else
0
))],[])
...
...
src/absil/il.fsi
浏览文件 @
cc2c9bb9
...
@@ -1624,7 +1624,7 @@ type ILGlobals =
...
@@ -1624,7 +1624,7 @@ type ILGlobals =
with
with
member
mkDebuggableAttribute
:
bool
(* disable JIT optimizations *)
->
ILAttribute
member
mkDebuggableAttribute
:
bool
(* disable JIT optimizations *)
->
ILAttribute
/// Some commonly used custom attibutes
/// Some commonly used custom attibutes
member
mkDebuggableAttributeV2
:
bool
(* ignoreSymbolStoreSequencePoints *)
*
bool
(* disable JIT optimizations *)
*
bool
(* enable EnC *)
->
ILAttribute
member
mkDebuggableAttributeV2
:
bool
(*
jitTracking *)
*
bool
(*
ignoreSymbolStoreSequencePoints *)
*
bool
(* disable JIT optimizations *)
*
bool
(* enable EnC *)
->
ILAttribute
member
mkCompilerGeneratedAttribute
:
unit
->
ILAttribute
member
mkCompilerGeneratedAttribute
:
unit
->
ILAttribute
member
mkDebuggerNonUserCodeAttribute
:
unit
->
ILAttribute
member
mkDebuggerNonUserCodeAttribute
:
unit
->
ILAttribute
member
mkDebuggerStepThroughAttribute
:
unit
->
ILAttribute
member
mkDebuggerStepThroughAttribute
:
unit
->
ILAttribute
...
...
src/fsharp/CompileOps.fs
浏览文件 @
cc2c9bb9
...
@@ -2063,6 +2063,7 @@ type TcConfigBuilder =
...
@@ -2063,6 +2063,7 @@ type TcConfigBuilder =
mutable
onlyEssentialOptimizationData
:
bool
mutable
onlyEssentialOptimizationData
:
bool
mutable
useOptimizationDataFile
:
bool
mutable
useOptimizationDataFile
:
bool
mutable
useSignatureDataFile
:
bool
mutable
useSignatureDataFile
:
bool
mutable
jitTracking
:
bool
mutable
portablePDB
:
bool
mutable
portablePDB
:
bool
mutable
ignoreSymbolStoreSequencePoints
:
bool
mutable
ignoreSymbolStoreSequencePoints
:
bool
mutable
internConstantStrings
:
bool
mutable
internConstantStrings
:
bool
...
@@ -2232,6 +2233,7 @@ type TcConfigBuilder =
...
@@ -2232,6 +2233,7 @@ type TcConfigBuilder =
onlyEssentialOptimizationData
=
false
onlyEssentialOptimizationData
=
false
useOptimizationDataFile
=
false
useOptimizationDataFile
=
false
useSignatureDataFile
=
false
useSignatureDataFile
=
false
jitTracking
=
true
portablePDB
=
true
portablePDB
=
true
ignoreSymbolStoreSequencePoints
=
false
ignoreSymbolStoreSequencePoints
=
false
internConstantStrings
=
true
internConstantStrings
=
true
...
@@ -2713,6 +2715,7 @@ type TcConfig private (data : TcConfigBuilder,validate:bool) =
...
@@ -2713,6 +2715,7 @@ type TcConfig private (data : TcConfigBuilder,validate:bool) =
member
x
.
onlyEssentialOptimizationData
=
data
.
onlyEssentialOptimizationData
member
x
.
onlyEssentialOptimizationData
=
data
.
onlyEssentialOptimizationData
member
x
.
useOptimizationDataFile
=
data
.
useOptimizationDataFile
member
x
.
useOptimizationDataFile
=
data
.
useOptimizationDataFile
member
x
.
useSignatureDataFile
=
data
.
useSignatureDataFile
member
x
.
useSignatureDataFile
=
data
.
useSignatureDataFile
member
x
.
jitTracking
=
data
.
jitTracking
member
x
.
portablePDB
=
data
.
portablePDB
member
x
.
portablePDB
=
data
.
portablePDB
member
x
.
ignoreSymbolStoreSequencePoints
=
data
.
ignoreSymbolStoreSequencePoints
member
x
.
ignoreSymbolStoreSequencePoints
=
data
.
ignoreSymbolStoreSequencePoints
member
x
.
internConstantStrings
=
data
.
internConstantStrings
member
x
.
internConstantStrings
=
data
.
internConstantStrings
...
...
src/fsharp/CompileOps.fsi
浏览文件 @
cc2c9bb9
...
@@ -304,6 +304,7 @@ type TcConfigBuilder =
...
@@ -304,6 +304,7 @@ type TcConfigBuilder =
mutable
onlyEssentialOptimizationData
:
bool
mutable
onlyEssentialOptimizationData
:
bool
mutable
useOptimizationDataFile
:
bool
mutable
useOptimizationDataFile
:
bool
mutable
useSignatureDataFile
:
bool
mutable
useSignatureDataFile
:
bool
mutable
jitTracking
:
bool
mutable
portablePDB
:
bool
mutable
portablePDB
:
bool
mutable
ignoreSymbolStoreSequencePoints
:
bool
mutable
ignoreSymbolStoreSequencePoints
:
bool
mutable
internConstantStrings
:
bool
mutable
internConstantStrings
:
bool
...
@@ -456,6 +457,7 @@ type TcConfig =
...
@@ -456,6 +457,7 @@ type TcConfig =
member
onlyEssentialOptimizationData
:
bool
member
onlyEssentialOptimizationData
:
bool
member
useOptimizationDataFile
:
bool
member
useOptimizationDataFile
:
bool
member
useSignatureDataFile
:
bool
member
useSignatureDataFile
:
bool
member
jitTracking
:
bool
member
portablePDB
:
bool
member
portablePDB
:
bool
member
ignoreSymbolStoreSequencePoints
:
bool
member
ignoreSymbolStoreSequencePoints
:
bool
member
internConstantStrings
:
bool
member
internConstantStrings
:
bool
...
...
src/fsharp/CompileOptions.fs
浏览文件 @
cc2c9bb9
...
@@ -474,11 +474,11 @@ let SetDebugSwitch (tcConfigB : TcConfigBuilder) (dtype : string option) (s : Op
...
@@ -474,11 +474,11 @@ let SetDebugSwitch (tcConfigB : TcConfigBuilder) (dtype : string option) (s : Op
match
dtype
with
match
dtype
with
|
Some
(
s
)
->
|
Some
(
s
)
->
match
s
with
match
s
with
|
"portable"
->
tcConfigB
.
portablePDB
<-
true
|
"portable"
->
tcConfigB
.
portablePDB
<-
true
;
tcConfigB
.
jitTracking
<-
false
|
"pdbonly"
->
tcConfigB
.
portablePDB
<-
false
|
"pdbonly"
->
tcConfigB
.
portablePDB
<-
false
;
tcConfigB
.
jitTracking
<-
false
|
"full"
->
tcConfigB
.
portablePDB
<-
false
|
"full"
->
tcConfigB
.
portablePDB
<-
false
;
tcConfigB
.
jitTracking
<-
true
|
_
->
error
(
Error
(
FSComp
.
SR
.
optsUnrecognizedDebugType
(
s
),
rangeCmdArgs
))
|
_
->
error
(
Error
(
FSComp
.
SR
.
optsUnrecognizedDebugType
(
s
),
rangeCmdArgs
))
|
None
->
tcConfigB
.
portablePDB
<-
false
|
None
->
tcConfigB
.
portablePDB
<-
false
;
tcConfigB
.
jitTracking
<-
s
=
OptionSwitch
.
On
;
tcConfigB
.
debuginfo
<-
s
=
OptionSwitch
.
On
tcConfigB
.
debuginfo
<-
s
=
OptionSwitch
.
On
let
setOutFileName
tcConfigB
s
=
let
setOutFileName
tcConfigB
s
=
...
@@ -520,6 +520,7 @@ let PrintOptionInfo (tcConfigB:TcConfigBuilder) =
...
@@ -520,6 +520,7 @@ let PrintOptionInfo (tcConfigB:TcConfigBuilder) =
printfn
" doDetuple . . . . . . : %+A"
tcConfigB
.
doDetuple
printfn
" doDetuple . . . . . . : %+A"
tcConfigB
.
doDetuple
printfn
" doTLR . . . . . . . . : %+A"
tcConfigB
.
doTLR
printfn
" doTLR . . . . . . . . : %+A"
tcConfigB
.
doTLR
printfn
" doFinalSimplify. . . . : %+A"
tcConfigB
.
doFinalSimplify
printfn
" doFinalSimplify. . . . : %+A"
tcConfigB
.
doFinalSimplify
printfn
" jitTracking . . . . . : %+A"
tcConfigB
.
jitTracking
printfn
" portablePDB. . . . . . : %+A"
tcConfigB
.
portablePDB
printfn
" portablePDB. . . . . . : %+A"
tcConfigB
.
portablePDB
printfn
" debuginfo . . . . . . : %+A"
tcConfigB
.
debuginfo
printfn
" debuginfo . . . . . . : %+A"
tcConfigB
.
debuginfo
printfn
" resolutionEnvironment : %+A"
tcConfigB
.
resolutionEnvironment
printfn
" resolutionEnvironment : %+A"
tcConfigB
.
resolutionEnvironment
...
@@ -910,8 +911,8 @@ let deprecatedFlagsFsc tcConfigB =
...
@@ -910,8 +911,8 @@ let deprecatedFlagsFsc tcConfigB =
cliRootFlag
tcConfigB
cliRootFlag
tcConfigB
CompilerOption
(
"jit-optimize"
,
tagNone
,
OptionUnit
(
fun
_
->
tcConfigB
.
optSettings
<-
{
tcConfigB
.
optSettings
with
jitOptUser
=
Some
true
}),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--jit-optimize"
,
rangeCmdArgs
)),
None
)
CompilerOption
(
"jit-optimize"
,
tagNone
,
OptionUnit
(
fun
_
->
tcConfigB
.
optSettings
<-
{
tcConfigB
.
optSettings
with
jitOptUser
=
Some
true
}),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--jit-optimize"
,
rangeCmdArgs
)),
None
)
CompilerOption
(
"no-jit-optimize"
,
tagNone
,
OptionUnit
(
fun
_
->
tcConfigB
.
optSettings
<-
{
tcConfigB
.
optSettings
with
jitOptUser
=
Some
false
}),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--no-jit-optimize"
,
rangeCmdArgs
)),
None
)
CompilerOption
(
"no-jit-optimize"
,
tagNone
,
OptionUnit
(
fun
_
->
tcConfigB
.
optSettings
<-
{
tcConfigB
.
optSettings
with
jitOptUser
=
Some
false
}),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--no-jit-optimize"
,
rangeCmdArgs
)),
None
)
CompilerOption
(
"jit-tracking"
,
tagNone
,
OptionUnit
(
fun
_
->
()
),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--jit-tracking"
,
rangeCmdArgs
)),
None
)
CompilerOption
(
"jit-tracking"
,
tagNone
,
OptionUnit
(
fun
_
->
(
tcConfigB
.
jitTracking
<-
true
)
),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--jit-tracking"
,
rangeCmdArgs
)),
None
)
CompilerOption
(
"no-jit-tracking"
,
tagNone
,
OptionUnit
(
fun
_
->
()
),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--no-jit-tracking"
,
rangeCmdArgs
)),
None
)
CompilerOption
(
"no-jit-tracking"
,
tagNone
,
OptionUnit
(
fun
_
->
(
tcConfigB
.
jitTracking
<-
false
)
),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--no-jit-tracking"
,
rangeCmdArgs
)),
None
)
CompilerOption
(
"progress"
,
tagNone
,
OptionUnit
(
fun
()
->
progress
:=
true
),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--progress"
,
rangeCmdArgs
)),
None
)
CompilerOption
(
"progress"
,
tagNone
,
OptionUnit
(
fun
()
->
progress
:=
true
),
Some
(
DeprecatedCommandLineOptionNoDescription
(
"--progress"
,
rangeCmdArgs
)),
None
)
(
compilingFsLibFlag
tcConfigB
)
(
compilingFsLibFlag
tcConfigB
)
(
compilingFsLib20Flag
tcConfigB
)
(
compilingFsLib20Flag
tcConfigB
)
...
...
src/fsharp/fsc.fs
浏览文件 @
cc2c9bb9
...
@@ -1054,7 +1054,7 @@ module MainModuleBuilder =
...
@@ -1054,7 +1054,7 @@ module MainModuleBuilder =
yield
!
iattrs
yield
!
iattrs
yield
!
codegenResults
.
ilAssemAttrs
yield
!
codegenResults
.
ilAssemAttrs
if
Option
.
isSome
pdbfile
then
if
Option
.
isSome
pdbfile
then
yield
(
tcGlobals
.
ilg
.
mkDebuggableAttributeV2
(
tcConfig
.
ignoreSymbolStoreSequencePoints
,
disableJitOptimizations
,
false
(* enableEnC *)
))
yield
(
tcGlobals
.
ilg
.
mkDebuggableAttributeV2
(
tcConfig
.
jitTracking
,
tcConfig
.
ignoreSymbolStoreSequencePoints
,
disableJitOptimizations
,
false
(* enableEnC *)
))
yield
!
reflectedDefinitionAttrs
]
yield
!
reflectedDefinitionAttrs
]
// Make the manifest of the assembly
// Make the manifest of the assembly
...
@@ -1068,6 +1068,7 @@ module MainModuleBuilder =
...
@@ -1068,6 +1068,7 @@ module MainModuleBuilder =
Some
{
man
with
Version
=
Some
ver
Some
{
man
with
Version
=
Some
ver
CustomAttrs
=
manifestAttrs
CustomAttrs
=
manifestAttrs
DisableJitOptimizations
=
disableJitOptimizations
DisableJitOptimizations
=
disableJitOptimizations
JitTracking
=
tcConfig
.
jitTracking
SecurityDecls
=
secDecls
}
SecurityDecls
=
secDecls
}
let
resources
=
let
resources
=
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录