Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
bingbingbingbing
mono
提交
b8f5732f
M
mono
项目概览
bingbingbingbing
/
mono
与 Fork 源项目一致
从无法访问的项目Fork
通知
35
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mono
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b8f5732f
编写于
6月 14, 2013
作者:
A
Adriano Carlos Verona
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/unity-staging' into scripting/boo-call-ast-ctors
上级
67318e80
f20e6d9c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
10 deletion
+7
-10
mono/mini/mini-exceptions.c
mono/mini/mini-exceptions.c
+7
-10
未找到文件。
mono/mini/mini-exceptions.c
浏览文件 @
b8f5732f
...
...
@@ -405,7 +405,6 @@ get_generic_info_from_stack_frame (MonoJitInfo *ji, MonoContext *ctx)
if
(
!
gi
->
has_this
)
return
NULL
;
if
(
gi
->
this_in_reg
)
info
=
mono_arch_context_get_int_reg
(
ctx
,
gi
->
this_reg
);
else
...
...
@@ -413,13 +412,13 @@ get_generic_info_from_stack_frame (MonoJitInfo *ji, MonoContext *ctx)
gi
->
this_offset
);
if
(
mono_method_get_context
(
ji
->
method
)
->
method_inst
)
{
return
info
;
}
else
if
((
ji
->
method
->
flags
&
METHOD_ATTRIBUTE_STATIC
)
||
ji
->
method
->
klass
->
valuetype
||
!
info
)
{
}
else
if
((
ji
->
method
->
flags
&
METHOD_ATTRIBUTE_STATIC
)
||
ji
->
method
->
klass
->
valuetype
)
{
return
info
;
}
else
{
/* Avoid returning a managed object */
MonoObject
*
this_obj
=
info
;
return
this_obj
->
vtable
->
klass
;
return
this_obj
?
this_obj
->
vtable
->
klass
:
NULL
;
}
}
...
...
@@ -429,7 +428,8 @@ get_generic_context_from_stack_frame (MonoJitInfo *ji, gpointer generic_info)
MonoGenericContext
context
=
{
NULL
,
NULL
};
MonoClass
*
class
,
*
method_container_class
;
g_assert
(
generic_info
);
if
(
!
generic_info
)
return
context
;
g_assert
(
ji
->
method
->
is_inflated
);
if
(
mono_method_get_context
(
ji
->
method
)
->
method_inst
)
{
...
...
@@ -1252,12 +1252,9 @@ mono_handle_exception_internal (MonoContext *ctx, gpointer obj, gpointer origina
* overflow.
*/
if
(
!
initial_trace_ips
&&
(
frame_count
<
1000
))
{
gpointer
info
=
get_generic_info_from_stack_frame
(
ji
,
ctx
);
if
(
info
)
{
trace_ips
=
g_list_prepend
(
trace_ips
,
MONO_CONTEXT_GET_IP
(
ctx
));
trace_ips
=
g_list_prepend
(
trace_ips
,
info
);
}
trace_ips
=
g_list_prepend
(
trace_ips
,
MONO_CONTEXT_GET_IP
(
ctx
));
trace_ips
=
g_list_prepend
(
trace_ips
,
get_generic_info_from_stack_frame
(
ji
,
ctx
));
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录