# HG changeset patch # User ksrini # Date 1422985767 28800 # Node ID 2885fb2e1002a241461cb78bae85bececffd6309 # Parent b74a583c312574388ddc68594dfdd8ac3e42fe7e 8068033: JNI exception pending in jdk/src/share/bin/java.c Reviewed-by: mchung, serb diff -r b74a583c3125 -r 2885fb2e1002 jdk/src/java.base/macosx/native/libjli/java_md_macosx.c --- a/jdk/src/java.base/macosx/native/libjli/java_md_macosx.c Tue Feb 03 08:45:07 2015 -0800 +++ b/jdk/src/java.base/macosx/native/libjli/java_md_macosx.c Tue Feb 03 09:49:27 2015 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1059,6 +1059,7 @@ void PostJVMInit(JNIEnv *env, jstring mainClass, JavaVM *vm) { jvmInstance = vm; SetMainClassForAWT(env, mainClass); + CHECK_EXCEPTION_RETURN(); ShowSplashScreen(); } diff -r b74a583c3125 -r 2885fb2e1002 jdk/src/java.base/share/native/libjli/java.c --- a/jdk/src/java.base/share/native/libjli/java.c Tue Feb 03 08:45:07 2015 -0800 +++ b/jdk/src/java.base/share/native/libjli/java.c Tue Feb 03 09:49:27 2015 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -350,12 +350,6 @@ } \ } while (JNI_FALSE) -#define CHECK_EXCEPTION_RETURN() \ - do { \ - if ((*env)->ExceptionOccurred(env)) { \ - return; \ - } \ - } while (JNI_FALSE) int JNICALL JavaMain(void * _args) @@ -466,6 +460,7 @@ * of the application class. */ PostJVMInit(env, appClass, vm); + CHECK_EXCEPTION_LEAVE(1); /* * The LoadMainClass not only loads the main class, it will also ensure * that the main method's signature is correct, therefore further checking diff -r b74a583c3125 -r 2885fb2e1002 jdk/src/java.base/share/native/libjli/java.h --- a/jdk/src/java.base/share/native/libjli/java.h Tue Feb 03 08:45:07 2015 -0800 +++ b/jdk/src/java.base/share/native/libjli/java.h Tue Feb 03 09:49:27 2015 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -254,4 +254,11 @@ #define NULL_CHECK(NC_check_pointer) \ NULL_CHECK_RETURN_VALUE(NC_check_pointer, ) +#define CHECK_EXCEPTION_RETURN() \ + do { \ + if ((*env)->ExceptionOccurred(env)) { \ + return; \ + } \ + } while (JNI_FALSE) + #endif /* _JAVA_H_ */