# HG changeset patch # User chegar # Date 1377292338 -3600 # Node ID d4fa23d6c35be97966470c54697f8e4d7d3ecb9a # Parent 7638e35cabc6fd7b3dd50f7d326ef2c776693119# Parent c93e0a210e1b1ce4233f0839bf2c3a25a4c37d27 Merge diff -r c93e0a210e1b -r d4fa23d6c35b make/windows/makefiles/compile.make --- a/make/windows/makefiles/compile.make Thu Aug 22 09:10:01 2013 -0700 +++ b/make/windows/makefiles/compile.make Fri Aug 23 22:12:18 2013 +0100 @@ -180,6 +180,7 @@ PRODUCT_OPT_OPTION = /O2 /Oy- FASTDEBUG_OPT_OPTION = /O2 /Oy- DEBUG_OPT_OPTION = /Od +SAFESEH_FLAG = /SAFESEH !endif !if "$(COMPILER_NAME)" == "VS2005" @@ -198,6 +199,7 @@ !if "x$(MT)" == "x" MT=mt.exe !endif +SAFESEH_FLAG = /SAFESEH !endif !if "$(COMPILER_NAME)" == "VS2008" @@ -211,6 +213,7 @@ !if "x$(MT)" == "x" MT=mt.exe !endif +SAFESEH_FLAG = /SAFESEH !endif !if "$(COMPILER_NAME)" == "VS2010" @@ -240,9 +243,11 @@ !if "x$(MT)" == "x" MT=mt.exe !endif +SAFESEH_FLAG = /SAFESEH +!endif + !if "$(BUILDARCH)" == "i486" -LD_FLAGS = /SAFESEH $(LD_FLAGS) -!endif +LD_FLAGS = $(SAFESEH_FLAG) $(LD_FLAGS) !endif # If NO_OPTIMIZATIONS is defined in the environment, turn everything off diff -r c93e0a210e1b -r d4fa23d6c35b make/windows/makefiles/sa.make --- a/make/windows/makefiles/sa.make Thu Aug 22 09:10:01 2013 -0700 +++ b/make/windows/makefiles/sa.make Fri Aug 23 22:12:18 2013 +0100 @@ -107,6 +107,9 @@ !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" SA_LFLAGS = $(SA_LFLAGS) -map -debug !endif +!if "$(BUILDARCH)" == "i486" +SA_LFLAGS = $(SAFESEH_FLAG) $(SA_LFLAGS) +!endif # Note that we do not keep sawindbj.obj around as it would then # get included in the dumpbin command in build_vm_def.sh diff -r c93e0a210e1b -r d4fa23d6c35b src/share/vm/classfile/classFileParser.cpp --- a/src/share/vm/classfile/classFileParser.cpp Thu Aug 22 09:10:01 2013 -0700 +++ b/src/share/vm/classfile/classFileParser.cpp Fri Aug 23 22:12:18 2013 +0100 @@ -4474,9 +4474,8 @@ for (int index = 0; index < num_methods; index++) { Method* m = methods->at(index); - // skip private, static and methods - if ((!m->is_private()) && - (!m->is_static()) && + // skip static and methods + if ((!m->is_static()) && (m->name() != vmSymbols::object_initializer_name())) { Symbol* name = m->name(); diff -r c93e0a210e1b -r d4fa23d6c35b src/share/vm/services/diagnosticCommand.cpp --- a/src/share/vm/services/diagnosticCommand.cpp Thu Aug 22 09:10:01 2013 -0700 +++ b/src/share/vm/services/diagnosticCommand.cpp Fri Aug 23 22:12:18 2013 +0100 @@ -48,7 +48,7 @@ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl(full_export, true, false)); DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl(full_export, true, false)); #if INCLUDE_SERVICES // Heap dumping/inspection supported - DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl(full_export, true, false)); + DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl(DCmd_Source_Internal | DCmd_Source_AttachAPI, true, false)); DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl(full_export, true, false)); DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl(full_export, true, false)); #endif // INCLUDE_SERVICES