Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
runtime
提交
c5d16e0f
R
runtime
项目概览
dotNET Platform
/
runtime
11 个月 前同步成功
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
runtime
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
c5d16e0f
编写于
4月 12, 2021
作者:
B
Bruce Forstall
提交者:
GitHub
4月 12, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix EMITTER_STATS build (#51063)
上级
4e6a7193
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
64 addition
and
64 deletion
+64
-64
src/coreclr/jit/emit.cpp
src/coreclr/jit/emit.cpp
+62
-62
src/coreclr/jit/emit.h
src/coreclr/jit/emit.h
+2
-2
未找到文件。
src/coreclr/jit/emit.cpp
浏览文件 @
c5d16e0f
...
...
@@ -133,7 +133,7 @@ unsigned emitter::emitTotalIGptrs;
unsigned
emitter
::
emitTotalIGicnt
;
size_t
emitter
::
emitTotalIGsize
;
unsigned
emitter
::
emitTotalIGmcnt
;
unsigned
emitter
::
emitTotalIG
e
xtend
;
unsigned
emitter
::
emitTotalIG
E
xtend
;
unsigned
emitter
::
emitTotalIDescSmallCnt
;
unsigned
emitter
::
emitTotalIDescCnt
;
...
...
@@ -170,105 +170,105 @@ void emitterStaticStats(FILE* fout)
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"insGroup:
\n
"
);
fprintf
(
fout
,
"Offset / size of igNext
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igNext
),
fprintf
(
fout
,
"Offset / size of igNext
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igNext
),
sizeof
(
igDummy
->
igNext
));
#ifdef DEBUG
fprintf
(
fout
,
"Offset / size of igSelf
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igSelf
),
fprintf
(
fout
,
"Offset / size of igSelf
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igSelf
),
sizeof
(
igDummy
->
igSelf
));
#endif
fprintf
(
fout
,
"Offset / size of igNum
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igNum
),
fprintf
(
fout
,
"Offset / size of igNum
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igNum
),
sizeof
(
igDummy
->
igNum
));
fprintf
(
fout
,
"Offset / size of igOffs
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igOffs
),
fprintf
(
fout
,
"Offset / size of igOffs
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igOffs
),
sizeof
(
igDummy
->
igOffs
));
fprintf
(
fout
,
"Offset / size of igFuncIdx
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igFuncIdx
),
fprintf
(
fout
,
"Offset / size of igFuncIdx
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igFuncIdx
),
sizeof
(
igDummy
->
igFuncIdx
));
fprintf
(
fout
,
"Offset / size of igFlags
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igFlags
),
fprintf
(
fout
,
"Offset / size of igFlags
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igFlags
),
sizeof
(
igDummy
->
igFlags
));
fprintf
(
fout
,
"Offset / size of igSize
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igSize
),
fprintf
(
fout
,
"Offset / size of igSize
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igSize
),
sizeof
(
igDummy
->
igSize
));
fprintf
(
fout
,
"Offset / size of igData
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igData
),
fprintf
(
fout
,
"Offset / size of igData
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igData
),
sizeof
(
igDummy
->
igData
));
fprintf
(
fout
,
"Offset / size of igPhData
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igPhData
),
fprintf
(
fout
,
"Offset / size of igPhData
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igPhData
),
sizeof
(
igDummy
->
igPhData
));
#if EMIT_TRACK_STACK_DEPTH
fprintf
(
fout
,
"Offset / size of igStkLvl
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igStkLvl
),
fprintf
(
fout
,
"Offset / size of igStkLvl
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igStkLvl
),
sizeof
(
igDummy
->
igStkLvl
));
#endif
fprintf
(
fout
,
"Offset / size of igGCregs
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igGCregs
),
fprintf
(
fout
,
"Offset / size of igGCregs
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igGCregs
),
sizeof
(
igDummy
->
igGCregs
));
fprintf
(
fout
,
"Offset / size of igInsCnt
= %2u / %2
u
\n
"
,
offsetof
(
insGroup
,
igInsCnt
),
fprintf
(
fout
,
"Offset / size of igInsCnt
= %2zu / %2z
u
\n
"
,
offsetof
(
insGroup
,
igInsCnt
),
sizeof
(
igDummy
->
igInsCnt
));
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"Size of insGroup
= %
u
\n
"
,
sizeof
(
insGroup
));
fprintf
(
fout
,
"Size of insGroup
= %z
u
\n
"
,
sizeof
(
insGroup
));
// insPlaceholderGroupData members
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"insPlaceholderGroupData:
\n
"
);
fprintf
(
fout
,
"Offset of igPhNext = %2u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhNext
));
fprintf
(
fout
,
"Offset of igPhBB = %2u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhBB
));
fprintf
(
fout
,
"Offset of igPhInitGCrefVars = %2u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhInitGCrefVars
));
fprintf
(
fout
,
"Offset of igPhInitGCrefRegs = %2u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhInitGCrefRegs
));
fprintf
(
fout
,
"Offset of igPhInitByrefRegs = %2u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhInitByrefRegs
));
fprintf
(
fout
,
"Offset of igPhPrevGCrefVars = %2u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhPrevGCrefVars
));
fprintf
(
fout
,
"Offset of igPhPrevGCrefRegs = %2u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhPrevGCrefRegs
));
fprintf
(
fout
,
"Offset of igPhPrevByrefRegs = %2u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhPrevByrefRegs
));
fprintf
(
fout
,
"Offset of igPhType = %2u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhType
));
fprintf
(
fout
,
"Size of insPlaceholderGroupData = %u
\n
"
,
sizeof
(
insPlaceholderGroupData
));
fprintf
(
fout
,
"Offset of igPhNext = %2
z
u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhNext
));
fprintf
(
fout
,
"Offset of igPhBB = %2
z
u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhBB
));
fprintf
(
fout
,
"Offset of igPhInitGCrefVars = %2
z
u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhInitGCrefVars
));
fprintf
(
fout
,
"Offset of igPhInitGCrefRegs = %2
z
u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhInitGCrefRegs
));
fprintf
(
fout
,
"Offset of igPhInitByrefRegs = %2
z
u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhInitByrefRegs
));
fprintf
(
fout
,
"Offset of igPhPrevGCrefVars = %2
z
u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhPrevGCrefVars
));
fprintf
(
fout
,
"Offset of igPhPrevGCrefRegs = %2
z
u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhPrevGCrefRegs
));
fprintf
(
fout
,
"Offset of igPhPrevByrefRegs = %2
z
u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhPrevByrefRegs
));
fprintf
(
fout
,
"Offset of igPhType = %2
z
u
\n
"
,
offsetof
(
insPlaceholderGroupData
,
igPhType
));
fprintf
(
fout
,
"Size of insPlaceholderGroupData = %
z
u
\n
"
,
sizeof
(
insPlaceholderGroupData
));
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"SMALL_IDSC_SIZE = %2u
\n
"
,
SMALL_IDSC_SIZE
);
fprintf
(
fout
,
"Size of instrDesc = %2u
\n
"
,
sizeof
(
emitter
::
instrDesc
));
// fprintf(fout, "Offset of _idIns = %2u\n", offsetof(emitter::instrDesc, _idIns ));
// fprintf(fout, "Offset of _idInsFmt = %2u\n", offsetof(emitter::instrDesc, _idInsFmt ));
// fprintf(fout, "Offset of _idOpSize = %2u\n", offsetof(emitter::instrDesc, _idOpSize ));
// fprintf(fout, "Offset of idSmallCns = %2u\n", offsetof(emitter::instrDesc, idSmallCns ));
// fprintf(fout, "Offset of _idAddrUnion= %2u\n", offsetof(emitter::instrDesc, _idAddrUnion));
fprintf
(
fout
,
"Size of instrDesc = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDesc
));
// fprintf(fout, "Offset of _idIns = %2
z
u\n", offsetof(emitter::instrDesc, _idIns ));
// fprintf(fout, "Offset of _idInsFmt = %2
z
u\n", offsetof(emitter::instrDesc, _idInsFmt ));
// fprintf(fout, "Offset of _idOpSize = %2
z
u\n", offsetof(emitter::instrDesc, _idOpSize ));
// fprintf(fout, "Offset of idSmallCns = %2
z
u\n", offsetof(emitter::instrDesc, idSmallCns ));
// fprintf(fout, "Offset of _idAddrUnion= %2
z
u\n", offsetof(emitter::instrDesc, _idAddrUnion));
// fprintf(fout, "\n");
// fprintf(fout, "Size of _idAddrUnion= %2u\n", sizeof(((emitter::instrDesc*)0)->_idAddrUnion));
// fprintf(fout, "Size of _idAddrUnion= %2
z
u\n", sizeof(((emitter::instrDesc*)0)->_idAddrUnion));
fprintf
(
fout
,
"Size of instrDescJmp = %2u
\n
"
,
sizeof
(
emitter
::
instrDescJmp
));
fprintf
(
fout
,
"Size of instrDescJmp = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDescJmp
));
#if !defined(TARGET_ARM64)
fprintf
(
fout
,
"Size of instrDescLbl = %2u
\n
"
,
sizeof
(
emitter
::
instrDescLbl
));
fprintf
(
fout
,
"Size of instrDescLbl = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDescLbl
));
#endif // !defined(TARGET_ARM64)
fprintf
(
fout
,
"Size of instrDescCns = %2u
\n
"
,
sizeof
(
emitter
::
instrDescCns
));
fprintf
(
fout
,
"Size of instrDescDsp = %2u
\n
"
,
sizeof
(
emitter
::
instrDescDsp
));
fprintf
(
fout
,
"Size of instrDescCnsDsp = %2u
\n
"
,
sizeof
(
emitter
::
instrDescCnsDsp
));
fprintf
(
fout
,
"Size of instrDescCns = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDescCns
));
fprintf
(
fout
,
"Size of instrDescDsp = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDescDsp
));
fprintf
(
fout
,
"Size of instrDescCnsDsp = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDescCnsDsp
));
#ifdef TARGET_XARCH
fprintf
(
fout
,
"Size of instrDescAmd = %2u
\n
"
,
sizeof
(
emitter
::
instrDescAmd
));
fprintf
(
fout
,
"Size of instrDescCnsAmd = %2u
\n
"
,
sizeof
(
emitter
::
instrDescCnsAmd
));
fprintf
(
fout
,
"Size of instrDescAmd = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDescAmd
));
fprintf
(
fout
,
"Size of instrDescCnsAmd = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDescCnsAmd
));
#endif // TARGET_XARCH
fprintf
(
fout
,
"Size of instrDescCGCA = %2u
\n
"
,
sizeof
(
emitter
::
instrDescCGCA
));
fprintf
(
fout
,
"Size of instrDescCGCA = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDescCGCA
));
#ifdef TARGET_ARM
fprintf
(
fout
,
"Size of instrDescReloc = %2u
\n
"
,
sizeof
(
emitter
::
instrDescReloc
));
fprintf
(
fout
,
"Size of instrDescReloc = %2
z
u
\n
"
,
sizeof
(
emitter
::
instrDescReloc
));
#endif // TARGET_ARM
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"SC_IG_BUFFER_SIZE = %2u
\n
"
,
SC_IG_BUFFER_SIZE
);
fprintf
(
fout
,
"SMALL_IDSC_SIZE per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
SMALL_IDSC_SIZE
);
fprintf
(
fout
,
"instrDesc per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDesc
));
fprintf
(
fout
,
"instrDescJmp per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescJmp
));
fprintf
(
fout
,
"SC_IG_BUFFER_SIZE = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
);
fprintf
(
fout
,
"SMALL_IDSC_SIZE per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
SMALL_IDSC_SIZE
);
fprintf
(
fout
,
"instrDesc per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDesc
));
fprintf
(
fout
,
"instrDescJmp per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescJmp
));
#if !defined(TARGET_ARM64)
fprintf
(
fout
,
"instrDescLbl per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescLbl
));
fprintf
(
fout
,
"instrDescLbl per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescLbl
));
#endif // !defined(TARGET_ARM64)
fprintf
(
fout
,
"instrDescCns per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescCns
));
fprintf
(
fout
,
"instrDescDsp per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescDsp
));
fprintf
(
fout
,
"instrDescCnsDsp per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescCnsDsp
));
fprintf
(
fout
,
"instrDescCns per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescCns
));
fprintf
(
fout
,
"instrDescDsp per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescDsp
));
fprintf
(
fout
,
"instrDescCnsDsp per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescCnsDsp
));
#ifdef TARGET_XARCH
fprintf
(
fout
,
"instrDescAmd per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescAmd
));
fprintf
(
fout
,
"instrDescCnsAmd per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescCnsAmd
));
fprintf
(
fout
,
"instrDescAmd per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescAmd
));
fprintf
(
fout
,
"instrDescCnsAmd per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescCnsAmd
));
#endif // TARGET_XARCH
fprintf
(
fout
,
"instrDescCGCA per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescCGCA
));
fprintf
(
fout
,
"instrDescCGCA per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescCGCA
));
#ifdef TARGET_ARM
fprintf
(
fout
,
"instrDescReloc per IG buffer = %2u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescReloc
));
fprintf
(
fout
,
"instrDescReloc per IG buffer = %2
z
u
\n
"
,
SC_IG_BUFFER_SIZE
/
sizeof
(
emitter
::
instrDescReloc
));
#endif // TARGET_ARM
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"GCInfo::regPtrDsc:
\n
"
);
fprintf
(
fout
,
"Offset of rpdNext = %2u
\n
"
,
offsetof
(
GCInfo
::
regPtrDsc
,
rpdNext
));
fprintf
(
fout
,
"Offset of rpdOffs = %2u
\n
"
,
offsetof
(
GCInfo
::
regPtrDsc
,
rpdOffs
));
fprintf
(
fout
,
"Offset of <union> = %2u
\n
"
,
offsetof
(
GCInfo
::
regPtrDsc
,
rpdPtrArg
));
fprintf
(
fout
,
"Size of GCInfo::regPtrDsc = %2u
\n
"
,
sizeof
(
GCInfo
::
regPtrDsc
));
fprintf
(
fout
,
"Offset of rpdNext = %2
z
u
\n
"
,
offsetof
(
GCInfo
::
regPtrDsc
,
rpdNext
));
fprintf
(
fout
,
"Offset of rpdOffs = %2
z
u
\n
"
,
offsetof
(
GCInfo
::
regPtrDsc
,
rpdOffs
));
fprintf
(
fout
,
"Offset of <union> = %2
z
u
\n
"
,
offsetof
(
GCInfo
::
regPtrDsc
,
rpdPtrArg
));
fprintf
(
fout
,
"Size of GCInfo::regPtrDsc = %2
z
u
\n
"
,
sizeof
(
GCInfo
::
regPtrDsc
));
fprintf
(
fout
,
"
\n
"
);
}
...
...
@@ -324,19 +324,19 @@ void emitterStats(FILE* fout)
fprintf
(
fout
,
"Total of %8u methods
\n
"
,
emitter
::
emitTotalIGmcnt
);
fprintf
(
fout
,
"Total of %8u insGroup
\n
"
,
emitter
::
emitTotalIGcnt
);
fprintf
(
fout
,
"Total of %8u insPlaceholderGroupData
\n
"
,
emitter
::
emitTotalPhIGcnt
);
fprintf
(
fout
,
"Total of %8u extend insGroup
\n
"
,
emitter
::
emitTotalIG
e
xtend
);
fprintf
(
fout
,
"Total of %8u extend insGroup
\n
"
,
emitter
::
emitTotalIG
E
xtend
);
fprintf
(
fout
,
"Total of %8u instructions
\n
"
,
emitter
::
emitTotalIGicnt
);
fprintf
(
fout
,
"Total of %8u jumps
\n
"
,
emitter
::
emitTotalIGjmps
);
fprintf
(
fout
,
"Total of %8u GC livesets
\n
"
,
emitter
::
emitTotalIGptrs
);
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"Max prolog instrDesc count: %8u
\n
"
,
emitter
::
emitMaxPrologInsCnt
);
fprintf
(
fout
,
"Max prolog insGroup size : %8u
\n
"
,
emitter
::
emitMaxPrologIGSize
);
fprintf
(
fout
,
"Max prolog insGroup size : %8
z
u
\n
"
,
emitter
::
emitMaxPrologIGSize
);
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"Average of %8.1lf insGroup per method
\n
"
,
(
double
)
emitter
::
emitTotalIGcnt
/
emitter
::
emitTotalIGmcnt
);
fprintf
(
fout
,
"Average of %8.1lf insPhGroup per method
\n
"
,
(
double
)
emitter
::
emitTotalPhIGcnt
/
emitter
::
emitTotalIGmcnt
);
fprintf
(
fout
,
"Average of %8.1lf extend IG per method
\n
"
,
fprintf
(
fout
,
"Average of %8.1lf extend IG
per method
\n
"
,
(
double
)
emitter
::
emitTotalIGExtend
/
emitter
::
emitTotalIGmcnt
);
fprintf
(
fout
,
"Average of %8.1lf instructions per method
\n
"
,
(
double
)
emitter
::
emitTotalIGicnt
/
emitter
::
emitTotalIGmcnt
);
...
...
@@ -357,7 +357,7 @@ void emitterStats(FILE* fout)
fprintf
(
fout
,
"Average of %8.1lf bytes per instrDesc
\n
"
,
(
double
)
emitter
::
emitTotalIGsize
/
emitter
::
emitTotalIGicnt
);
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"A total of %8u desc. bytes
\n
"
,
emitter
::
emitTotalIGsize
);
fprintf
(
fout
,
"A total of %8
z
u desc. bytes
\n
"
,
emitter
::
emitTotalIGsize
);
fprintf
(
fout
,
"
\n
"
);
fprintf
(
fout
,
"Total instructions: %8u
\n
"
,
emitter
::
emitTotalInsCnt
);
...
...
@@ -389,7 +389,7 @@ void emitterStats(FILE* fout)
fprintf
(
fout
,
"Total instrDescReloc: %8u (%5.2f%%)
\n
"
,
emitter
::
emitTotalIDescRelocCnt
,
100.0
*
emitter
::
emitTotalIDescRelocCnt
/
emitter
::
emitTotalInsCnt
);
#endif // TARGET_ARM
fprintf
(
fout
,
"Total
emitTotalDescAlignCnt
: %8u (%5.2f%%)
\n
"
,
emitter
::
emitTotalDescAlignCnt
,
fprintf
(
fout
,
"Total
instrDescAlign
: %8u (%5.2f%%)
\n
"
,
emitter
::
emitTotalDescAlignCnt
,
100.0
*
emitter
::
emitTotalDescAlignCnt
/
emitter
::
emitTotalInsCnt
);
fprintf
(
fout
,
"
\n
"
);
...
...
@@ -439,7 +439,7 @@ void emitterStats(FILE* fout)
}
}
fprintf
(
fout
,
"%8u bytes allocated in the emitter
\n
"
,
emitter
::
emitTotMemAlloc
);
fprintf
(
fout
,
"%8
z
u bytes allocated in the emitter
\n
"
,
emitter
::
emitTotMemAlloc
);
}
#endif // EMITTER_STATS
...
...
src/coreclr/jit/emit.h
浏览文件 @
c5d16e0f
...
...
@@ -1944,7 +1944,7 @@ private:
instrDescJmp
*
emitAllocInstrJmp
()
{
#if EMITTER_STATS
emitTotal
DescAlign
Cnt
++
;
emitTotal
IDescJmp
Cnt
++
;
#endif // EMITTER_STATS
return
(
instrDescJmp
*
)
emitAllocAnyInstr
(
sizeof
(
instrDescJmp
),
EA_1BYTE
);
}
...
...
@@ -2023,7 +2023,7 @@ private:
instrDescAlign
*
emitAllocInstrAlign
()
{
#if EMITTER_STATS
emitTotal
IDescJmp
Cnt
++
;
emitTotal
DescAlign
Cnt
++
;
#endif // EMITTER_STATS
return
(
instrDescAlign
*
)
emitAllocAnyInstr
(
sizeof
(
instrDescAlign
),
EA_1BYTE
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录