Sun, 13 Oct 2013 21:14:04 +0100
Merge
src/share/vm/classfile/classFileParser.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/make/windows/makefiles/compile.make Thu Oct 10 10:08:55 2013 -0700 1.2 +++ b/make/windows/makefiles/compile.make Sun Oct 13 21:14:04 2013 +0100 1.3 @@ -180,6 +180,7 @@ 1.4 PRODUCT_OPT_OPTION = /O2 /Oy- 1.5 FASTDEBUG_OPT_OPTION = /O2 /Oy- 1.6 DEBUG_OPT_OPTION = /Od 1.7 +SAFESEH_FLAG = /SAFESEH 1.8 !endif 1.9 1.10 !if "$(COMPILER_NAME)" == "VS2005" 1.11 @@ -198,6 +199,7 @@ 1.12 !if "x$(MT)" == "x" 1.13 MT=mt.exe 1.14 !endif 1.15 +SAFESEH_FLAG = /SAFESEH 1.16 !endif 1.17 1.18 !if "$(COMPILER_NAME)" == "VS2008" 1.19 @@ -211,6 +213,7 @@ 1.20 !if "x$(MT)" == "x" 1.21 MT=mt.exe 1.22 !endif 1.23 +SAFESEH_FLAG = /SAFESEH 1.24 !endif 1.25 1.26 !if "$(COMPILER_NAME)" == "VS2010" 1.27 @@ -240,9 +243,11 @@ 1.28 !if "x$(MT)" == "x" 1.29 MT=mt.exe 1.30 !endif 1.31 +SAFESEH_FLAG = /SAFESEH 1.32 +!endif 1.33 + 1.34 !if "$(BUILDARCH)" == "i486" 1.35 -LD_FLAGS = /SAFESEH $(LD_FLAGS) 1.36 -!endif 1.37 +LD_FLAGS = $(SAFESEH_FLAG) $(LD_FLAGS) 1.38 !endif 1.39 1.40 # If NO_OPTIMIZATIONS is defined in the environment, turn everything off
2.1 --- a/make/windows/makefiles/sa.make Thu Oct 10 10:08:55 2013 -0700 2.2 +++ b/make/windows/makefiles/sa.make Sun Oct 13 21:14:04 2013 +0100 2.3 @@ -107,6 +107,9 @@ 2.4 !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" 2.5 SA_LFLAGS = $(SA_LFLAGS) -map -debug 2.6 !endif 2.7 +!if "$(BUILDARCH)" == "i486" 2.8 +SA_LFLAGS = $(SAFESEH_FLAG) $(SA_LFLAGS) 2.9 +!endif 2.10 2.11 # Note that we do not keep sawindbj.obj around as it would then 2.12 # get included in the dumpbin command in build_vm_def.sh
3.1 --- a/src/share/vm/classfile/classFileParser.cpp Thu Oct 10 10:08:55 2013 -0700 3.2 +++ b/src/share/vm/classfile/classFileParser.cpp Sun Oct 13 21:14:04 2013 +0100 3.3 @@ -2197,8 +2197,8 @@ 3.4 } 3.5 if (lvt_cnt == max_lvt_cnt) { 3.6 max_lvt_cnt <<= 1; 3.7 - REALLOC_RESOURCE_ARRAY(u2, localvariable_table_length, lvt_cnt, max_lvt_cnt); 3.8 - REALLOC_RESOURCE_ARRAY(u2*, localvariable_table_start, lvt_cnt, max_lvt_cnt); 3.9 + localvariable_table_length = REALLOC_RESOURCE_ARRAY(u2, localvariable_table_length, lvt_cnt, max_lvt_cnt); 3.10 + localvariable_table_start = REALLOC_RESOURCE_ARRAY(u2*, localvariable_table_start, lvt_cnt, max_lvt_cnt); 3.11 } 3.12 localvariable_table_start[lvt_cnt] = 3.13 parse_localvariable_table(code_length, 3.14 @@ -2226,8 +2226,8 @@ 3.15 // Parse local variable type table 3.16 if (lvtt_cnt == max_lvtt_cnt) { 3.17 max_lvtt_cnt <<= 1; 3.18 - REALLOC_RESOURCE_ARRAY(u2, localvariable_type_table_length, lvtt_cnt, max_lvtt_cnt); 3.19 - REALLOC_RESOURCE_ARRAY(u2*, localvariable_type_table_start, lvtt_cnt, max_lvtt_cnt); 3.20 + localvariable_type_table_length = REALLOC_RESOURCE_ARRAY(u2, localvariable_type_table_length, lvtt_cnt, max_lvtt_cnt); 3.21 + localvariable_type_table_start = REALLOC_RESOURCE_ARRAY(u2*, localvariable_type_table_start, lvtt_cnt, max_lvtt_cnt); 3.22 } 3.23 localvariable_type_table_start[lvtt_cnt] = 3.24 parse_localvariable_table(code_length, 3.25 @@ -4484,9 +4484,8 @@ 3.26 for (int index = 0; index < num_methods; index++) { 3.27 Method* m = methods->at(index); 3.28 3.29 - // skip private, static and <init> methods 3.30 - if ((!m->is_private()) && 3.31 - (!m->is_static()) && 3.32 + // skip static and <init> methods 3.33 + if ((!m->is_static()) && 3.34 (m->name() != vmSymbols::object_initializer_name())) { 3.35 3.36 Symbol* name = m->name();
4.1 --- a/src/share/vm/services/diagnosticCommand.cpp Thu Oct 10 10:08:55 2013 -0700 4.2 +++ b/src/share/vm/services/diagnosticCommand.cpp Sun Oct 13 21:14:04 2013 +0100 4.3 @@ -48,7 +48,7 @@ 4.4 DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<SystemGCDCmd>(full_export, true, false)); 4.5 DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<RunFinalizationDCmd>(full_export, true, false)); 4.6 #if INCLUDE_SERVICES // Heap dumping/inspection supported 4.7 - DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<HeapDumpDCmd>(full_export, true, false)); 4.8 + DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<HeapDumpDCmd>(DCmd_Source_Internal | DCmd_Source_AttachAPI, true, false)); 4.9 DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<ClassHistogramDCmd>(full_export, true, false)); 4.10 DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<ClassStatsDCmd>(full_export, true, false)); 4.11 #endif // INCLUDE_SERVICES