Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
9a7061df
R
Rust
项目概览
int
/
Rust
11 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9a7061df
编写于
1月 07, 2012
作者:
M
Marijn Haverbeke
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix some bad code in the dict interner
Issue #1436
上级
e3afc78f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
5 addition
and
11 deletion
+5
-11
src/rt/rust_crate_cache.cpp
src/rt/rust_crate_cache.cpp
+5
-10
src/rt/rust_scheduler.h
src/rt/rust_scheduler.h
+0
-1
未找到文件。
src/rt/rust_crate_cache.cpp
浏览文件 @
9a7061df
...
...
@@ -48,21 +48,16 @@ rust_crate_cache::get_type_desc(size_t size,
void
**
rust_crate_cache
::
get_dict
(
size_t
n_fields
,
void
**
dict
)
{
rust_hashable_dict
*
found
=
NULL
;
uintptr_t
key
=
0
;
for
(
size_t
i
=
0
;
i
<
n_fields
;
++
i
)
key
^=
(
uintptr_t
)
dict
[
i
];
size_t
keysz
=
sizeof
(
uintptr_t
);
HASH_FIND
(
hh
,
this
->
dicts
,
&
key
,
keysz
,
found
);
if
(
found
)
{
printf
(
"found!
\n
"
);
return
&
(
found
->
fields
[
0
]);
}
printf
(
"not found
\n
"
);
size_t
dictsz
=
n_fields
*
sizeof
(
void
*
);
size_t
dictsz
=
sizeof
(
void
*
)
*
n_fields
;
HASH_FIND
(
hh
,
this
->
dicts
,
dict
,
dictsz
,
found
);
if
(
found
)
return
&
(
found
->
fields
[
0
]);
found
=
(
rust_hashable_dict
*
)
sched
->
kernel
->
malloc
(
keysz
+
sizeof
(
UT_hash_handle
)
+
dictsz
,
sched
->
kernel
->
malloc
(
sizeof
(
UT_hash_handle
)
+
dictsz
,
"crate cache dict"
);
if
(
!
found
)
return
NULL
;
found
->
key
=
key
;
void
**
retptr
=
&
(
found
->
fields
[
0
]);
memcpy
(
retptr
,
dict
,
dictsz
);
HASH_ADD
(
hh
,
this
->
dicts
,
key
,
key
sz
,
found
);
HASH_ADD
_KEYPTR
(
hh
,
this
->
dicts
,
retptr
,
dict
sz
,
found
);
return
retptr
;
}
...
...
src/rt/rust_scheduler.h
浏览文件 @
9a7061df
...
...
@@ -12,7 +12,6 @@
struct
rust_scheduler
;
struct
rust_hashable_dict
{
uintptr_t
key
;
UT_hash_handle
hh
;
void
*
fields
[
0
];
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录