991 rslt = continuation(args); |
991 rslt = continuation(args); |
992 } |
992 } |
993 return rslt; |
993 return rslt; |
994 } |
994 } |
995 |
995 |
996 /* Linux only, empty on windows. */ |
996 /* Unix only, empty on windows. */ |
997 void SetJavaLauncherPlatformProps() {} |
997 void SetJavaLauncherPlatformProps() {} |
|
998 |
|
999 /* |
|
1000 * The implementation for finding classes from the bootstrap |
|
1001 * class loader, refer to java.h |
|
1002 */ |
|
1003 static FindClassFromBootLoader_t *findBootClass = NULL; |
|
1004 |
|
1005 jclass FindBootStrapClass(JNIEnv *env, const char *classname) |
|
1006 { |
|
1007 HMODULE hJvm; |
|
1008 |
|
1009 if (findBootClass == NULL) { |
|
1010 hJvm = GetModuleHandle(JVM_DLL); |
|
1011 if (hJvm == NULL) return NULL; |
|
1012 /* need to use the demangled entry point */ |
|
1013 findBootClass = (FindClassFromBootLoader_t *)GetProcAddress(hJvm, |
|
1014 "JVM_FindClassFromBootLoader"); |
|
1015 if (findBootClass == NULL) { |
|
1016 JLI_ReportErrorMessage(DLL_ERROR4, |
|
1017 "JVM_FindClassBootLoader"); |
|
1018 return NULL; |
|
1019 } |
|
1020 } |
|
1021 return findBootClass(env, classname, JNI_FALSE); |
|
1022 } |
998 |
1023 |
999 void |
1024 void |
1000 InitLauncher(boolean javaw) |
1025 InitLauncher(boolean javaw) |
1001 { |
1026 { |
1002 INITCOMMONCONTROLSEX icx; |
1027 INITCOMMONCONTROLSEX icx; |