Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
1c60fec4
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1c60fec4
编写于
11月 04, 2013
作者:
D
dholmes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8027755: Anti-delta incorrect push for 8025198
Reviewed-by: alanb
上级
f86c4fa9
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
47 deletion
+11
-47
makefiles/CompileLaunchers.gmk
makefiles/CompileLaunchers.gmk
+1
-1
makefiles/lib/CoreLibraries.gmk
makefiles/lib/CoreLibraries.gmk
+1
-1
src/share/bin/java.c
src/share/bin/java.c
+9
-45
未找到文件。
makefiles/CompileLaunchers.gmk
浏览文件 @
1c60fec4
...
...
@@ -154,7 +154,7 @@ define SetupLauncher
$(ORIGIN_ARG) \
$$($1_LDFLAGS), \
LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_NAME,$1), \
LDFLAGS_linux := -lpthread
-lrt
\
LDFLAGS_linux := -lpthread \
$(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \
LDFLAGS_solaris := $$($1_LDFLAGS_solaris) \
$(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \
...
...
makefiles/lib/CoreLibraries.gmk
浏览文件 @
1c60fec4
...
...
@@ -414,7 +414,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJLI, \
LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
LDFLAGS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
LDFLAGS_SUFFIX_solaris := $(LIBZ) $(LIBDL) -lc, \
LDFLAGS_SUFFIX_linux := $(LIBZ) $(LIBDL) -lc -lpthread
-lrt
, \
LDFLAGS_SUFFIX_linux := $(LIBZ) $(LIBDL) -lc -lpthread, \
LDFLAGS_SUFFIX_macosx := $(LIBZ), \
LDFLAGS_SUFFIX_windows := \
-export:JLI_Launch \
...
...
src/share/bin/java.c
浏览文件 @
1c60fec4
...
...
@@ -53,8 +53,6 @@
#include "java.h"
#include <time.h>
/*
* A NOTE TO DEVELOPERS: For performance reasons it is important that
* the program image remain relatively small until after SelectVersion
...
...
@@ -169,26 +167,6 @@ static jlong threadStackSize = 0; /* stack size of the new thread */
static
jlong
maxHeapSize
=
0
;
/* max heap size */
static
jlong
initialHeapSize
=
0
;
/* inital heap size */
static
jlong
timestamps
[
256
];
static
char
*
descriptors
[
256
];
static
int
ts_index
=
0
;
static
void
stamp
(
char
*
info
)
{
struct
timespec
tp
;
clock_gettime
(
CLOCK_MONOTONIC
,
&
tp
);
timestamps
[
ts_index
]
=
((
jlong
)
tp
.
tv_sec
)
*
(
1000
*
1000
*
1000
)
+
tp
.
tv_nsec
;
descriptors
[
ts_index
++
]
=
info
;
}
static
void
report_times
()
{
printf
(
"[0] %s
\n
"
,
descriptors
[
0
]);
int
i
;
for
(
i
=
1
;
i
<
ts_index
;
i
++
)
{
jlong
elapsed
=
timestamps
[
i
]
-
timestamps
[
i
-
1
];
printf
(
"[%d] elapsed us: %.3g - Next: %s
\n
"
,
i
,
(
elapsed
/
1000
.
0
),
descriptors
[
i
]);
}
}
/*
* Entry point.
*/
...
...
@@ -206,7 +184,6 @@ JLI_Launch(int argc, char ** argv, /* main argc, argc */
jint
ergo
/* ergonomics class policy */
)
{
stamp
(
"Entered JLI_Launch"
);
int
mode
=
LM_UNKNOWN
;
char
*
what
=
NULL
;
char
*
cpath
=
0
;
...
...
@@ -226,7 +203,6 @@ JLI_Launch(int argc, char ** argv, /* main argc, argc */
_wc_enabled
=
cpwildcard
;
_ergo_policy
=
ergo
;
stamp
(
"InitLauncher"
);
InitLauncher
(
javaw
);
DumpState
();
if
(
JLI_IsTraceLauncher
())
{
...
...
@@ -255,9 +231,8 @@ stamp("InitLauncher");
* (Note: This side effect has been disabled. See comment on
* bugid 5030265 below.)
*/
stamp
(
"SelectVersion"
);
SelectVersion
(
argc
,
argv
,
&
main_class
);
stamp
(
"CreateExecutionEnvironment"
);
CreateExecutionEnvironment
(
&
argc
,
&
argv
,
jrepath
,
sizeof
(
jrepath
),
jvmpath
,
sizeof
(
jvmpath
),
...
...
@@ -269,11 +244,11 @@ stamp("CreateExecutionEnvironment");
if
(
JLI_IsTraceLauncher
())
{
start
=
CounterGet
();
}
stamp
(
"LoadJavaVM"
);
if
(
!
LoadJavaVM
(
jvmpath
,
&
ifn
))
{
return
(
6
);
}
stamp
(
"Arg processing"
);
if
(
JLI_IsTraceLauncher
())
{
end
=
CounterGet
();
}
...
...
@@ -320,10 +295,8 @@ stamp("Arg processing");
/* set the -Dsun.java.launcher.* platform properties */
SetJavaLauncherPlatformProps
();
stamp
(
"JVMInit"
);
int
res
=
JVMInit
(
&
ifn
,
threadStackSize
,
argc
,
argv
,
mode
,
what
,
ret
);
stamp
(
"initial thread DONE"
);
return
res
;
return
JVMInit
(
&
ifn
,
threadStackSize
,
argc
,
argv
,
mode
,
what
,
ret
);
}
/*
* Always detach the main thread so that it appears to have ended when
...
...
@@ -375,7 +348,6 @@ stamp("initial thread DONE");
int
JNICALL
JavaMain
(
void
*
_args
)
{
stamp
(
"JavaMain"
);
JavaMainArgs
*
args
=
(
JavaMainArgs
*
)
_args
;
int
argc
=
args
->
argc
;
char
**
argv
=
args
->
argv
;
...
...
@@ -391,12 +363,11 @@ stamp("JavaMain");
jobjectArray
mainArgs
;
int
ret
=
0
;
jlong
start
,
end
;
stamp
(
"RegisterThread"
);
RegisterThread
();
/* Initialize the virtual machine */
start
=
CounterGet
();
stamp
(
"InitializeJVM"
);
if
(
!
InitializeJVM
(
&
vm
,
&
env
,
&
ifn
))
{
JLI_ReportErrorMessage
(
JVM_ERROR1
);
exit
(
1
);
...
...
@@ -465,7 +436,6 @@ stamp("InitializeJVM");
* This method also correctly handles launching existing JavaFX
* applications that may or may not have a Main-Class manifest entry.
*/
stamp
(
"LoadMainClass"
);
mainClass
=
LoadMainClass
(
env
,
mode
,
what
);
CHECK_EXCEPTION_NULL_LEAVE
(
mainClass
);
/*
...
...
@@ -474,7 +444,6 @@ stamp("LoadMainClass");
* applications own main class but rather a helper class. To keep things
* consistent in the UI we need to track and report the application main class.
*/
stamp
(
"GetApplicationClass"
);
appClass
=
GetApplicationClass
(
env
);
NULL_CHECK_RETURN_VALUE
(
appClass
,
-
1
);
/*
...
...
@@ -484,7 +453,6 @@ stamp("GetApplicationClass");
* instead of mainClass as that may be a launcher or helper class instead
* of the application class.
*/
stamp
(
"PostJVMInit"
);
PostJVMInit
(
env
,
appClass
,
vm
);
/*
* The LoadMainClass not only loads the main class, it will also ensure
...
...
@@ -492,20 +460,17 @@ stamp("PostJVMInit");
* is not required. The main method is invoked here so that extraneous java
* stacks are not in the application stack trace.
*/
stamp
(
"Get main method"
);
mainID
=
(
*
env
)
->
GetStaticMethodID
(
env
,
mainClass
,
"main"
,
"([Ljava/lang/String;)V"
);
CHECK_EXCEPTION_NULL_LEAVE
(
mainID
);
stamp
(
"CreateApplicationArgs"
);
/* Build platform specific argument array */
mainArgs
=
CreateApplicationArgs
(
env
,
argv
,
argc
);
CHECK_EXCEPTION_NULL_LEAVE
(
mainArgs
);
/* Invoke main method. */
stamp
(
"Invoke main method"
);
(
*
env
)
->
CallStaticVoidMethod
(
env
,
mainClass
,
mainID
,
mainArgs
);
stamp
(
"main complete"
);
report_times
();
/*
* The launcher's exit code (in the absence of calls to
* System.exit) will be non-zero if main threw an exception.
...
...
@@ -1910,7 +1875,6 @@ ContinueInNewThread(InvocationFunctions* ifn, jlong threadStackSize,
int
argc
,
char
**
argv
,
int
mode
,
char
*
what
,
int
ret
)
{
stamp
(
"ContinueInNewThread"
);
/*
* If user doesn't specify stack size, check if VM has a preference.
...
...
@@ -1936,7 +1900,7 @@ stamp("ContinueInNewThread");
args
.
mode
=
mode
;
args
.
what
=
what
;
args
.
ifn
=
*
ifn
;
stamp
(
"ContinueInNewThread0"
);
rslt
=
ContinueInNewThread0
(
JavaMain
,
threadStackSize
,
(
void
*
)
&
args
);
/* If the caller has deemed there is an error we
* simply return that, otherwise we return the value of
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录