Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
548fd30c
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
548fd30c
编写于
8月 03, 2015
作者:
A
asaha
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
453195e7
dce8312a
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
198 addition
and
26 deletion
+198
-26
.hgtags
.hgtags
+1
-0
src/share/native/sun/font/layout/IndicRearrangementProcessor.cpp
...re/native/sun/font/layout/IndicRearrangementProcessor.cpp
+80
-8
src/share/native/sun/font/layout/IndicRearrangementProcessor.h
...hare/native/sun/font/layout/IndicRearrangementProcessor.h
+3
-3
src/share/native/sun/font/layout/IndicRearrangementProcessor2.cpp
...e/native/sun/font/layout/IndicRearrangementProcessor2.cpp
+80
-8
src/share/native/sun/font/layout/IndicRearrangementProcessor2.h
...are/native/sun/font/layout/IndicRearrangementProcessor2.h
+3
-3
src/share/native/sun/font/layout/MorphTables.cpp
src/share/native/sun/font/layout/MorphTables.cpp
+3
-0
src/share/native/sun/font/layout/MorphTables2.cpp
src/share/native/sun/font/layout/MorphTables2.cpp
+3
-0
src/share/native/sun/font/layout/SegmentArrayProcessor.cpp
src/share/native/sun/font/layout/SegmentArrayProcessor.cpp
+2
-0
src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp
src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp
+2
-0
src/share/native/sun/font/layout/SegmentSingleProcessor2.cpp
src/share/native/sun/font/layout/SegmentSingleProcessor2.cpp
+2
-0
src/share/native/sun/font/layout/SimpleArrayProcessor2.cpp
src/share/native/sun/font/layout/SimpleArrayProcessor2.cpp
+2
-1
src/share/native/sun/font/layout/SingleTableProcessor.cpp
src/share/native/sun/font/layout/SingleTableProcessor.cpp
+2
-0
test/java/rmi/testlibrary/TestLibrary.java
test/java/rmi/testlibrary/TestLibrary.java
+10
-0
test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java
...nsport/pinClientSocketFactory/PinClientSocketFactory.java
+5
-3
未找到文件。
.hgtags
浏览文件 @
548fd30c
...
...
@@ -464,6 +464,7 @@ c8cfbe57bcd5042d2fef42dcef14d73dd4bdc416 jdk8u60-b25
fe1c420a8982e58f6d49c50b729732d93f9682dd jdk8u65-b05
3ee40ba7525d6d5ee201a475b967ca2e5c3c9ab3 jdk8u65-b06
bd2ad7acb217391747dae8263c090483af454313 jdk8u65-b07
d215cd281678e4b89a4155755cd6e03e37b7e9b1 jdk8u65-b08
e9f82302d5fdef8a0976640e09363895e9dcde3c jdk8u66-b00
64d7bd4e98150447916f210e3bfd6875a4c2728a jdk8u66-b01
d8210091911b14930192abd3138ee37c281fb632 jdk8u66-b02
...
...
src/share/native/sun/font/layout/IndicRearrangementProcessor.cpp
浏览文件 @
548fd30c
...
...
@@ -76,14 +76,14 @@ ByteOffset IndicRearrangementProcessor::processStateEntry(LEGlyphStorage &glyphS
}
if
(
flags
&
irfMarkFirst
)
{
firstGlyph
=
currGlyph
;
firstGlyph
=
(
le_uint32
)
currGlyph
;
}
if
(
flags
&
irfMarkLast
)
{
lastGlyph
=
currGlyph
;
lastGlyph
=
(
le_uint32
)
currGlyph
;
}
doRearrangementAction
(
glyphStorage
,
(
IndicRearrangementVerb
)
(
flags
&
irfVerbMask
));
doRearrangementAction
(
glyphStorage
,
(
IndicRearrangementVerb
)
(
flags
&
irfVerbMask
)
,
success
);
if
(
!
(
flags
&
irfDontAdvance
))
{
// XXX: Should handle reverse too...
...
...
@@ -97,18 +97,29 @@ void IndicRearrangementProcessor::endStateTable()
{
}
void
IndicRearrangementProcessor
::
doRearrangementAction
(
LEGlyphStorage
&
glyphStorage
,
IndicRearrangementVerb
verb
)
const
void
IndicRearrangementProcessor
::
doRearrangementAction
(
LEGlyphStorage
&
glyphStorage
,
IndicRearrangementVerb
verb
,
LEErrorCode
&
success
)
const
{
LEGlyphID
a
,
b
,
c
,
d
;
le_int32
ia
,
ib
,
ic
,
id
,
ix
,
x
;
LEErrorCode
success
=
LE_NO_ERROR
;
if
(
LE_FAILURE
(
success
))
return
;
if
(
verb
==
irvNoAction
)
{
return
;
}
if
(
firstGlyph
>
lastGlyph
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
return
;
}
switch
(
verb
)
{
case
irvNoAction
:
break
;
case
irvxA
:
if
(
firstGlyph
==
lastGlyph
)
break
;
if
(
firstGlyph
+
1
<
firstGlyph
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
ia
=
glyphStorage
.
getCharIndex
(
firstGlyph
,
success
);
x
=
firstGlyph
+
1
;
...
...
@@ -125,6 +136,11 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvDx
:
if
(
firstGlyph
==
lastGlyph
)
break
;
if
(
lastGlyph
-
1
>
lastGlyph
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
d
=
glyphStorage
[
lastGlyph
];
id
=
glyphStorage
.
getCharIndex
(
lastGlyph
,
success
);
x
=
lastGlyph
-
1
;
...
...
@@ -153,6 +169,11 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvxAB
:
if
((
firstGlyph
+
2
<
firstGlyph
)
||
(
lastGlyph
-
firstGlyph
<
1
))
{
// difference == 1 is a no-op, < 1 is an error.
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
ia
=
glyphStorage
.
getCharIndex
(
firstGlyph
,
success
);
...
...
@@ -174,6 +195,11 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvxBA
:
if
((
firstGlyph
+
2
<
firstGlyph
)
||
(
lastGlyph
-
firstGlyph
<
1
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
ia
=
glyphStorage
.
getCharIndex
(
firstGlyph
,
success
);
...
...
@@ -195,6 +221,11 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvCDx
:
if
((
lastGlyph
-
2
>
lastGlyph
)
||
(
lastGlyph
-
firstGlyph
<
1
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
c
=
glyphStorage
[
lastGlyph
-
1
];
d
=
glyphStorage
[
lastGlyph
];
ic
=
glyphStorage
.
getCharIndex
(
lastGlyph
-
1
,
success
);
...
...
@@ -216,6 +247,11 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvDCx
:
if
((
lastGlyph
-
2
>
lastGlyph
)
||
(
lastGlyph
-
firstGlyph
<
1
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
c
=
glyphStorage
[
lastGlyph
-
1
];
d
=
glyphStorage
[
lastGlyph
];
ic
=
glyphStorage
.
getCharIndex
(
lastGlyph
-
1
,
success
);
...
...
@@ -237,6 +273,11 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvCDxA
:
if
((
lastGlyph
-
2
>
lastGlyph
)
||
(
lastGlyph
-
firstGlyph
<
2
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
c
=
glyphStorage
[
lastGlyph
-
1
];
d
=
glyphStorage
[
lastGlyph
];
...
...
@@ -262,6 +303,11 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvDCxA
:
if
((
lastGlyph
-
2
>
lastGlyph
)
||
(
lastGlyph
-
firstGlyph
<
2
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
c
=
glyphStorage
[
lastGlyph
-
1
];
d
=
glyphStorage
[
lastGlyph
];
...
...
@@ -287,6 +333,11 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvDxAB
:
if
((
firstGlyph
+
2
<
firstGlyph
)
||
(
lastGlyph
-
firstGlyph
<
2
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
d
=
glyphStorage
[
lastGlyph
];
...
...
@@ -312,6 +363,11 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvDxBA
:
if
((
firstGlyph
+
2
<
firstGlyph
)
||
(
lastGlyph
-
firstGlyph
<
2
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
d
=
glyphStorage
[
lastGlyph
];
...
...
@@ -337,6 +393,10 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvCDxAB
:
if
(
lastGlyph
-
firstGlyph
<
3
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
...
...
@@ -359,6 +419,10 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvCDxBA
:
if
(
lastGlyph
-
firstGlyph
<
3
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
...
...
@@ -381,6 +445,10 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvDCxAB
:
if
(
lastGlyph
-
firstGlyph
<
3
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
...
...
@@ -403,6 +471,10 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
break
;
case
irvDCxBA
:
if
(
lastGlyph
-
firstGlyph
<
3
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
...
...
src/share/native/sun/font/layout/IndicRearrangementProcessor.h
浏览文件 @
548fd30c
...
...
@@ -56,7 +56,7 @@ public:
virtual
void
endStateTable
();
void
doRearrangementAction
(
LEGlyphStorage
&
glyphStorage
,
IndicRearrangementVerb
verb
)
const
;
void
doRearrangementAction
(
LEGlyphStorage
&
glyphStorage
,
IndicRearrangementVerb
verb
,
LEErrorCode
&
success
)
const
;
IndicRearrangementProcessor
(
const
LEReferenceTo
<
MorphSubtableHeader
>
&
morphSubtableHeader
,
LEErrorCode
&
success
);
virtual
~
IndicRearrangementProcessor
();
...
...
@@ -76,8 +76,8 @@ public:
static
UClassID
getStaticClassID
();
protected:
le_int32
firstGlyph
;
le_int32
lastGlyph
;
le_
u
int32
firstGlyph
;
le_
u
int32
lastGlyph
;
LEReferenceTo
<
IndicRearrangementSubtableHeader
>
indicRearrangementSubtableHeader
;
LEReferenceToArrayOf
<
IndicRearrangementStateEntry
>
entryTable
;
...
...
src/share/native/sun/font/layout/IndicRearrangementProcessor2.cpp
浏览文件 @
548fd30c
...
...
@@ -74,14 +74,14 @@ le_uint16 IndicRearrangementProcessor2::processStateEntry(LEGlyphStorage &glyphS
}
if
(
flags
&
irfMarkFirst
)
{
firstGlyph
=
currGlyph
;
firstGlyph
=
(
le_uint32
)
currGlyph
;
}
if
(
flags
&
irfMarkLast
)
{
lastGlyph
=
currGlyph
;
lastGlyph
=
(
le_uint32
)
currGlyph
;
}
doRearrangementAction
(
glyphStorage
,
(
IndicRearrangementVerb
)
(
flags
&
irfVerbMask
));
doRearrangementAction
(
glyphStorage
,
(
IndicRearrangementVerb
)
(
flags
&
irfVerbMask
)
,
success
);
if
(
!
(
flags
&
irfDontAdvance
))
{
currGlyph
+=
dir
;
...
...
@@ -94,18 +94,29 @@ void IndicRearrangementProcessor2::endStateTable()
{
}
void
IndicRearrangementProcessor2
::
doRearrangementAction
(
LEGlyphStorage
&
glyphStorage
,
IndicRearrangementVerb
verb
)
const
void
IndicRearrangementProcessor2
::
doRearrangementAction
(
LEGlyphStorage
&
glyphStorage
,
IndicRearrangementVerb
verb
,
LEErrorCode
&
success
)
const
{
LEGlyphID
a
,
b
,
c
,
d
;
le_int32
ia
,
ib
,
ic
,
id
,
ix
,
x
;
LEErrorCode
success
=
LE_NO_ERROR
;
if
(
LE_FAILURE
(
success
))
return
;
if
(
verb
==
irvNoAction
)
{
return
;
}
if
(
firstGlyph
>
lastGlyph
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
return
;
}
switch
(
verb
)
{
case
irvNoAction
:
break
;
case
irvxA
:
if
(
firstGlyph
==
lastGlyph
)
break
;
if
(
firstGlyph
+
1
<
firstGlyph
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
ia
=
glyphStorage
.
getCharIndex
(
firstGlyph
,
success
);
x
=
firstGlyph
+
1
;
...
...
@@ -122,6 +133,11 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvDx
:
if
(
firstGlyph
==
lastGlyph
)
break
;
if
(
lastGlyph
-
1
>
lastGlyph
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
d
=
glyphStorage
[
lastGlyph
];
id
=
glyphStorage
.
getCharIndex
(
lastGlyph
,
success
);
x
=
lastGlyph
-
1
;
...
...
@@ -150,6 +166,11 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvxAB
:
if
((
firstGlyph
+
2
<
firstGlyph
)
||
(
lastGlyph
-
firstGlyph
<
1
))
{
// difference == 1 is a no-op, < 1 is an error.
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
ia
=
glyphStorage
.
getCharIndex
(
firstGlyph
,
success
);
...
...
@@ -171,6 +192,11 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvxBA
:
if
((
firstGlyph
+
2
<
firstGlyph
)
||
(
lastGlyph
-
firstGlyph
<
1
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
ia
=
glyphStorage
.
getCharIndex
(
firstGlyph
,
success
);
...
...
@@ -192,6 +218,11 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvCDx
:
if
((
lastGlyph
-
2
>
lastGlyph
)
||
(
lastGlyph
-
firstGlyph
<
1
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
c
=
glyphStorage
[
lastGlyph
-
1
];
d
=
glyphStorage
[
lastGlyph
];
ic
=
glyphStorage
.
getCharIndex
(
lastGlyph
-
1
,
success
);
...
...
@@ -213,6 +244,11 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvDCx
:
if
((
lastGlyph
-
2
>
lastGlyph
)
||
(
lastGlyph
-
firstGlyph
<
1
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
c
=
glyphStorage
[
lastGlyph
-
1
];
d
=
glyphStorage
[
lastGlyph
];
ic
=
glyphStorage
.
getCharIndex
(
lastGlyph
-
1
,
success
);
...
...
@@ -234,6 +270,11 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvCDxA
:
if
((
lastGlyph
-
2
>
lastGlyph
)
||
(
lastGlyph
-
firstGlyph
<
2
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
c
=
glyphStorage
[
lastGlyph
-
1
];
d
=
glyphStorage
[
lastGlyph
];
...
...
@@ -259,6 +300,11 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvDCxA
:
if
((
lastGlyph
-
2
>
lastGlyph
)
||
(
lastGlyph
-
firstGlyph
<
2
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
c
=
glyphStorage
[
lastGlyph
-
1
];
d
=
glyphStorage
[
lastGlyph
];
...
...
@@ -284,6 +330,11 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvDxAB
:
if
((
firstGlyph
+
2
<
firstGlyph
)
||
(
lastGlyph
-
firstGlyph
<
2
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
d
=
glyphStorage
[
lastGlyph
];
...
...
@@ -309,6 +360,11 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvDxBA
:
if
((
firstGlyph
+
2
<
firstGlyph
)
||
(
lastGlyph
-
firstGlyph
<
2
))
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
d
=
glyphStorage
[
lastGlyph
];
...
...
@@ -334,6 +390,10 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvCDxAB
:
if
(
lastGlyph
-
firstGlyph
<
3
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
...
...
@@ -356,6 +416,10 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvCDxBA
:
if
(
lastGlyph
-
firstGlyph
<
3
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
...
...
@@ -378,6 +442,10 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvDCxAB
:
if
(
lastGlyph
-
firstGlyph
<
3
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
...
...
@@ -400,6 +468,10 @@ void IndicRearrangementProcessor2::doRearrangementAction(LEGlyphStorage &glyphSt
break
;
case
irvDCxBA
:
if
(
lastGlyph
-
firstGlyph
<
3
)
{
success
=
LE_INDEX_OUT_OF_BOUNDS_ERROR
;
break
;
}
a
=
glyphStorage
[
firstGlyph
];
b
=
glyphStorage
[
firstGlyph
+
1
];
...
...
src/share/native/sun/font/layout/IndicRearrangementProcessor2.h
浏览文件 @
548fd30c
...
...
@@ -56,7 +56,7 @@ public:
virtual
void
endStateTable
();
void
doRearrangementAction
(
LEGlyphStorage
&
glyphStorage
,
IndicRearrangementVerb
verb
)
const
;
void
doRearrangementAction
(
LEGlyphStorage
&
glyphStorage
,
IndicRearrangementVerb
verb
,
LEErrorCode
&
success
)
const
;
IndicRearrangementProcessor2
(
const
LEReferenceTo
<
MorphSubtableHeader2
>
&
morphSubtableHeader
,
LEErrorCode
&
success
);
virtual
~
IndicRearrangementProcessor2
();
...
...
@@ -76,8 +76,8 @@ public:
static
UClassID
getStaticClassID
();
protected:
le_int32
firstGlyph
;
le_int32
lastGlyph
;
le_
u
int32
firstGlyph
;
le_
u
int32
lastGlyph
;
LEReferenceToArrayOf
<
IndicRearrangementStateEntry2
>
entryTable
;
LEReferenceTo
<
IndicRearrangementSubtableHeader2
>
indicRearrangementSubtableHeader
;
...
...
src/share/native/sun/font/layout/MorphTables.cpp
浏览文件 @
548fd30c
...
...
@@ -75,6 +75,7 @@ void MorphTableHeader::process(const LETableReference &base, LEGlyphStorage &gly
return
;
}
subtableHeader
.
addOffset
(
length
,
success
);
if
(
LE_FAILURE
(
success
))
break
;
}
SubtableCoverage
coverage
=
SWAPW
(
subtableHeader
->
coverage
);
FeatureFlags
subtableFeatures
=
SWAPL
(
subtableHeader
->
subtableFeatures
);
...
...
@@ -91,6 +92,8 @@ void MorphSubtableHeader::process(const LEReferenceTo<MorphSubtableHeader> &base
{
SubtableProcessor
*
processor
=
NULL
;
if
(
LE_FAILURE
(
success
))
return
;
switch
(
SWAPW
(
coverage
)
&
scfTypeMask
)
{
case
mstIndicRearrangement
:
...
...
src/share/native/sun/font/layout/MorphTables2.cpp
浏览文件 @
548fd30c
...
...
@@ -197,6 +197,7 @@ void MorphTableHeader2::process(const LEReferenceTo<MorphTableHeader2> &base, LE
return
;
}
subtableHeader
.
addOffset
(
length
,
success
);
// Don't addOffset for the last entry.
if
(
LE_FAILURE
(
success
))
break
;
}
le_uint32
coverage
=
SWAPL
(
subtableHeader
->
coverage
);
FeatureFlags
subtableFeatures
=
SWAPL
(
subtableHeader
->
subtableFeatures
);
...
...
@@ -212,6 +213,8 @@ void MorphSubtableHeader2::process(const LEReferenceTo<MorphSubtableHeader2> &ba
{
SubtableProcessor2
*
processor
=
NULL
;
if
(
LE_FAILURE
(
success
))
return
;
switch
(
SWAPL
(
coverage
)
&
scfTypeMask2
)
{
case
mstIndicRearrangement
:
...
...
src/share/native/sun/font/layout/SegmentArrayProcessor.cpp
浏览文件 @
548fd30c
...
...
@@ -63,6 +63,8 @@ void SegmentArrayProcessor::process(LEGlyphStorage &glyphStorage, LEErrorCode &s
le_int32
glyphCount
=
glyphStorage
.
getGlyphCount
();
le_int32
glyph
;
if
(
LE_FAILURE
(
success
))
return
;
for
(
glyph
=
0
;
glyph
<
glyphCount
;
glyph
+=
1
)
{
LEGlyphID
thisGlyph
=
glyphStorage
[
glyph
];
const
LookupSegment
*
lookupSegment
=
segmentArrayLookupTable
->
lookupSegment
(
segmentArrayLookupTable
,
segments
,
thisGlyph
,
success
);
...
...
src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp
浏览文件 @
548fd30c
...
...
@@ -63,6 +63,8 @@ void SegmentArrayProcessor2::process(LEGlyphStorage &glyphStorage, LEErrorCode &
le_int32
glyphCount
=
glyphStorage
.
getGlyphCount
();
le_int32
glyph
;
if
(
LE_FAILURE
(
success
))
return
;
for
(
glyph
=
0
;
glyph
<
glyphCount
;
glyph
+=
1
)
{
LEGlyphID
thisGlyph
=
glyphStorage
[
glyph
];
// lookupSegment already range checked by lookupSegment() function.
...
...
src/share/native/sun/font/layout/SegmentSingleProcessor2.cpp
浏览文件 @
548fd30c
...
...
@@ -64,6 +64,8 @@ void SegmentSingleProcessor2::process(LEGlyphStorage &glyphStorage, LEErrorCode
le_int32
glyphCount
=
glyphStorage
.
getGlyphCount
();
le_int32
glyph
;
if
(
LE_FAILURE
(
success
))
return
;
for
(
glyph
=
0
;
glyph
<
glyphCount
;
glyph
+=
1
)
{
LEGlyphID
thisGlyph
=
glyphStorage
[
glyph
];
const
LookupSegment
*
lookupSegment
=
segmentSingleLookupTable
->
lookupSegment
(
segmentSingleLookupTable
,
segments
,
thisGlyph
,
success
);
...
...
src/share/native/sun/font/layout/SimpleArrayProcessor2.cpp
浏览文件 @
548fd30c
...
...
@@ -61,10 +61,11 @@ SimpleArrayProcessor2::~SimpleArrayProcessor2()
void
SimpleArrayProcessor2
::
process
(
LEGlyphStorage
&
glyphStorage
,
LEErrorCode
&
success
)
{
if
(
LE_FAILURE
(
success
))
return
;
le_int32
glyphCount
=
glyphStorage
.
getGlyphCount
();
le_int32
glyph
;
if
(
LE_FAILURE
(
success
))
return
;
for
(
glyph
=
0
;
glyph
<
glyphCount
;
glyph
+=
1
)
{
LEGlyphID
thisGlyph
=
glyphStorage
[
glyph
];
if
(
LE_GET_GLYPH
(
thisGlyph
)
<
0xFFFF
)
{
...
...
src/share/native/sun/font/layout/SingleTableProcessor.cpp
浏览文件 @
548fd30c
...
...
@@ -63,6 +63,8 @@ void SingleTableProcessor::process(LEGlyphStorage &glyphStorage, LEErrorCode &su
le_int32
glyph
;
le_int32
glyphCount
=
glyphStorage
.
getGlyphCount
();
if
(
LE_FAILURE
(
success
))
return
;
for
(
glyph
=
0
;
glyph
<
glyphCount
;
glyph
+=
1
)
{
const
LookupSingle
*
lookupSingle
=
singleTableLookupTable
->
lookupSingle
(
singleTableLookupTable
,
entries
,
glyphStorage
[
glyph
],
success
);
...
...
test/java/rmi/testlibrary/TestLibrary.java
浏览文件 @
548fd30c
...
...
@@ -382,6 +382,16 @@ public class TestLibrary {
return
LocateRegistry
.
createRegistry
(
getUnusedRandomPort
());
}
/**
* Creates an RMI {@link Registry} on an ephemeral port.
*
* @returns an RMI Registry
* @throws RemoteException if there was a problem creating a Registry.
*/
public
static
Registry
createRegistryOnEphemeralPort
()
throws
RemoteException
{
return
LocateRegistry
.
createRegistry
(
0
);
}
/**
* Returns the port number the RMI {@link Registry} is running on.
*
...
...
test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java
浏览文件 @
548fd30c
...
...
@@ -58,7 +58,6 @@ import java.util.concurrent.atomic.AtomicInteger;
public
class
PinClientSocketFactory
{
private
static
final
int
PORT
=
TestLibrary
.
getUnusedRandomPort
();
private
static
final
int
SESSIONS
=
50
;
public
interface
Factory
extends
Remote
{
...
...
@@ -96,10 +95,13 @@ public class PinClientSocketFactory {
}
UnicastRemoteObject
.
unexportObject
(
factoryImpl
,
true
);
Registry
registryImpl
=
LocateRegistry
.
createRegistry
(
PORT
);
Registry
registryImpl
=
TestLibrary
.
createRegistryOnEphemeralPort
();
int
port
=
TestLibrary
.
getRegistryPort
(
registryImpl
);
System
.
out
.
println
(
"Registry listening on port "
+
port
);
CSF
csf
=
new
CSF
();
Reference
<
CSF
>
registryRef
=
new
WeakReference
<
CSF
>(
csf
);
Registry
registryStub
=
LocateRegistry
.
getRegistry
(
""
,
PORT
,
csf
);
Registry
registryStub
=
LocateRegistry
.
getRegistry
(
""
,
port
,
csf
);
csf
=
null
;
registryStub
.
list
();
registryStub
=
null
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录