--- old/src/share/vm/runtime/javaCalls.cpp 2014-08-09 00:43:33.505760034 -0700 +++ new/src/share/vm/runtime/javaCalls.cpp 2014-08-09 00:43:33.397755924 -0700 @@ -309,6 +309,13 @@ } void JavaCalls::call_helper(JavaValue* result, methodHandle* m, JavaCallArguments* args, TRAPS) { + if (DumpSharedSpaces) { + // During dumping, Java execution environment is not fully initialized. Also, Java execution + // may cause undesriable side-effect in the class metadata. + warning("must not execute Java bytecodes when dumping"); + exit(2); + } + methodHandle method = *m; JavaThread* thread = (JavaThread*)THREAD; assert(thread->is_Java_thread(), "must be called by a java thread");