Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
5e9e8577
D
dragonwell8_hotspot
项目概览
openanolis
/
dragonwell8_hotspot
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_hotspot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
5e9e8577
编写于
1月 07, 2011
作者:
B
bobv
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
0b52c87c
bc6c957b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
6 deletion
+11
-6
src/share/vm/c1/c1_Compilation.cpp
src/share/vm/c1/c1_Compilation.cpp
+10
-5
src/share/vm/c1/c1_Compilation.hpp
src/share/vm/c1/c1_Compilation.hpp
+1
-1
未找到文件。
src/share/vm/c1/c1_Compilation.cpp
浏览文件 @
5e9e8577
...
...
@@ -245,7 +245,7 @@ void Compilation::emit_code_epilog(LIR_Assembler* assembler) {
}
void
Compilation
::
setup_code_buffer
(
CodeBuffer
*
code
,
int
call_stub_estimate
)
{
bool
Compilation
::
setup_code_buffer
(
CodeBuffer
*
code
,
int
call_stub_estimate
)
{
// Preinitialize the consts section to some large size:
int
locs_buffer_size
=
20
*
(
relocInfo
::
length_limit
+
sizeof
(
relocInfo
));
char
*
locs_buffer
=
NEW_RESOURCE_ARRAY
(
char
,
locs_buffer_size
);
...
...
@@ -253,15 +253,20 @@ void Compilation::setup_code_buffer(CodeBuffer* code, int call_stub_estimate) {
locs_buffer_size
/
sizeof
(
relocInfo
));
code
->
initialize_consts_size
(
Compilation
::
desired_max_constant_size
());
// Call stubs + two deopt handlers (regular and MH) + exception handler
code
->
initialize_stubs_size
((
call_stub_estimate
*
LIR_Assembler
::
call_stub_size
)
+
LIR_Assembler
::
exception_handler_size
+
2
*
LIR_Assembler
::
deopt_handler_size
);
int
stub_size
=
(
call_stub_estimate
*
LIR_Assembler
::
call_stub_size
)
+
LIR_Assembler
::
exception_handler_size
+
(
2
*
LIR_Assembler
::
deopt_handler_size
);
if
(
stub_size
>=
code
->
insts_capacity
())
return
false
;
code
->
initialize_stubs_size
(
stub_size
);
return
true
;
}
int
Compilation
::
emit_code_body
()
{
// emit code
setup_code_buffer
(
code
(),
allocator
()
->
num_calls
());
if
(
!
setup_code_buffer
(
code
(),
allocator
()
->
num_calls
()))
{
BAILOUT_
(
"size requested greater than avail code buffer size"
,
0
);
}
code
()
->
initialize_oop_recorder
(
env
()
->
oop_recorder
());
_masm
=
new
C1_MacroAssembler
(
code
());
...
...
src/share/vm/c1/c1_Compilation.hpp
浏览文件 @
5e9e8577
...
...
@@ -192,7 +192,7 @@ class Compilation: public StackObj {
return
desired_max_code_buffer_size
()
/
10
;
}
static
void
setup_code_buffer
(
CodeBuffer
*
cb
,
int
call_stub_estimate
);
static
bool
setup_code_buffer
(
CodeBuffer
*
cb
,
int
call_stub_estimate
);
// timers
static
void
print_timers
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录