Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
f83e992c
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
接近 2 年 前同步成功
通知
1
Star
18
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Harfbuzz
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f83e992c
编写于
5月 24, 2018
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Mark CrapPool thread_local
Not sure if I like to keep it. For now, aim for correctness.
上级
5d801298
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
18 addition
and
6 deletion
+18
-6
src/dump-emoji.cc
src/dump-emoji.cc
+1
-1
src/dump-fon.cc
src/dump-fon.cc
+1
-1
src/hb-ot-layout.cc
src/hb-ot-layout.cc
+1
-1
src/hb-private.hh
src/hb-private.hh
+13
-1
src/hb-subset.cc
src/hb-subset.cc
+1
-1
src/main.cc
src/main.cc
+1
-1
未找到文件。
src/dump-emoji.cc
浏览文件 @
f83e992c
...
...
@@ -48,7 +48,7 @@
#ifndef HB_NO_VISIBILITY
const
void
*
const
_hb_NullPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
thread_local
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
#endif
void
cbdt_callback
(
const
uint8_t
*
data
,
unsigned
int
length
,
...
...
src/dump-fon.cc
浏览文件 @
f83e992c
...
...
@@ -28,7 +28,7 @@
#ifndef HB_NO_VISIBILITY
const
void
*
const
_hb_NullPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
thread_local
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
#endif
template
<
typename
Type
,
int
Bytes
>
struct
LEInt
;
...
...
src/hb-ot-layout.cc
浏览文件 @
f83e992c
...
...
@@ -48,7 +48,7 @@
#ifndef HB_NO_VISIBILITY
const
void
*
const
_hb_NullPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
thread_local
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
#endif
...
...
src/hb-private.hh
浏览文件 @
f83e992c
...
...
@@ -90,6 +90,14 @@ extern "C" void hb_free_impl(void *ptr);
HB_UNUSED typedef int HB_PASTE(static_assertion_failed_at_line_, __LINE__) [(e) ? 1 : -1]
#endif // static_assert
#ifdef __GNUC__
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8))
#define thread_local __thread
#endif
#else
#define thread_local
#endif
#endif // __cplusplus < 201103L
#if (defined(__GNUC__) || defined(__clang__)) && defined(__OPTIMIZE__)
...
...
@@ -570,12 +578,16 @@ static_assert (Namespace::Type::min_size + 1 <= sizeof (_Null##Type), "Null pool
/* Global writable pool. Enlarge as necessary. */
/* To be fully correct, CrapPool must be thread_local. However, we do not rely on CrapPool
* for correct operation. It only exist to catch and divert program logic bugs instead of
* causing bad memory access. So, races there are not actually introducing incorrectness
* in the code. So maybe disable? Has ~12kb binary size overhead to have it. */
#ifdef HB_NO_VISIBILITY
static
#else
extern
HB_INTERNAL
#endif
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
thread_local
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
#ifdef HB_NO_VISIBILITY
=
{}
#endif
...
...
src/hb-subset.cc
浏览文件 @
f83e992c
...
...
@@ -46,7 +46,7 @@
#if !defined(HB_NO_VISIBILITY) && !defined(HB_SUBSET_BUILTIN)
const
void
*
const
_hb_NullPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
thread_local
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
#endif
...
...
src/main.cc
浏览文件 @
f83e992c
...
...
@@ -39,7 +39,7 @@ using namespace OT;
#ifndef HB_NO_VISIBILITY
const
void
*
const
_hb_NullPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
thread_local
void
*
_hb_CrapPool
[
HB_NULL_POOL_SIZE
/
sizeof
(
void
*
)]
=
{};
#endif
int
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录