# HG changeset patch
# User tbell
# Date 1217629316 25200
# Node ID f7883d455c62e9f8dfa764f80fe6a8f13e7180e4
# Parent e3d549324eb4285ae74424a5ae05a1c35a4b09f0# Parent a9f1805e3ba9ca520cad199d522c84af5433e85a
Merge
diff -r e3d549324eb4 -r f7883d455c62 .hgtags
--- a/.hgtags Tue Jul 29 16:57:09 2008 -0700
+++ b/.hgtags Fri Aug 01 15:21:56 2008 -0700
@@ -5,3 +5,4 @@
18dc4ba4739a537fd146f77da51db16efce28da2 jdk7-b28
bfe4572fd301a6fcd120373cdb2eff5d2da0c72c jdk7-b29
bee4731164a06ddece1297ae58db24aca6a1c626 jdk7-b30
+cd8b8f500face60d1566d850857a7fccadbd383a jdk7-b31
diff -r e3d549324eb4 -r f7883d455c62 .hgtags-top-repo
--- a/.hgtags-top-repo Tue Jul 29 16:57:09 2008 -0700
+++ b/.hgtags-top-repo Fri Aug 01 15:21:56 2008 -0700
@@ -5,3 +5,4 @@
56652b46f328937f6b9b5130f1e4cd80f48868ef jdk7-b28
31e08f70e88d77c2053f91c21b49a04296bdc59a jdk7-b29
2dab2f712e1832c92acfa63ec0337048b9422c20 jdk7-b30
+3300a35a0bd56d695b92fe0b34f03ebbfc939064 jdk7-b31
diff -r e3d549324eb4 -r f7883d455c62 README-builds.html
--- a/README-builds.html Tue Jul 29 16:57:09 2008 -0700
+++ b/README-builds.html Fri Aug 01 15:21:56 2008 -0700
@@ -5,15 +5,12 @@
-
+ +
-
-
-
+
@@ -54,6 +51,7 @@
Bootstrap JDK
Binary Plugs
Optional Import JDK
+ Ant
Certificate Authority File (cacert)
Compilers
@@ -424,24 +422,37 @@
you should use gmake
which will be located in either the /opt/sfw/bin or
/usr/sfw/bin directory.
+ In more recent versions of Solaris GNU make can be found
+ at /usr/bin/gmake .
Windows:
Make sure you start your build inside a bash/sh/ksh shell.
WARNING: Watch out for make version 3.81, it may
- not work due to a lack of support for drive letter paths
- like C:/ . See
- section on gmake .
+ not work due to a lack of support for MS-DOS drive letter paths
+ like C:/ or C:\ .
Use a 3.80 version, or find a newer
- version that has this problem fixed.
+ version that has this problem fixed, like 3.82.
The older 3.80 version of make.exe can be downloaded with this
link .
+ Use of this older 3.80 make.exe may require that you install the
+ libintl2.dll library or libintl2 cygwin package which is
+ no longer installed by default by the cygwin installer.
+
Also see the
mozilla developer center
on this topic.
+
+ It's hoped that when make 3.82 starts shipping in a future cygwin
+ release that this MS-DOS path issue will be fixed.
+ In addition to the above 3.80 make.exe you can download
+ this
+
+ www.cmake.org make.exe which will not have a libintl2.dll
+ dependency.
@@ -507,6 +518,11 @@
Install or upgrade the FreeType development
package .
+
+ Install
+ Ant , set
+ ANT_HOME .
+
@@ -567,6 +583,11 @@
CUPS Include files , set
ALT_CUPS_HEADERS_PATH .
+
+ Install
+ Ant , set
+ ANT_HOME .
+
@@ -654,6 +675,11 @@
Install
Microsoft DirectX SDK .
+
+ Install
+ Ant , set
+ ANT_HOME .
+
@@ -736,6 +762,22 @@
and the build will copy the needed files from this import area.
+
+
+ All OpenJDK builds require access to least Ant 1.6.5.
+ The Ant tool is available from the
+
+ Ant download site .
+ You should always set
+ ANT_HOME
+ to point to the location of
+ the Ant installation, this is the directory pathname
+ that contains a bin and lib .
+ It's also a good idea to also place its bin directory
+ in the PATH environment variable, although it's
+ not absolutely required.
+
+
See
@@ -915,6 +957,21 @@
and
ALT_FREETYPE_HEADERS_PATH
to refer to place where library and header files are installed.
+
+ Building the freetype 2 libraries from scratch is also possible,
+ however on Windows refer to the
+
+ Windows FreeType DLL build instructions .
+
+ Note that by default FreeType is built with byte code hinting
+ support disabled due to licensing restrictions.
+ In this case, text appearance and metrics are expected to
+ differ from Sun's official JDK build.
+ See
+
+ the SourceForge FreeType2 Home Page
+
+ for more information.
@@ -1036,7 +1093,8 @@
make.exe
Devel
- make: The GNU version of the 'make' utility
+ make: The GNU version of the 'make' utility
+ NOTE : See the GNU make section
m4.exe
@@ -1050,7 +1108,7 @@
cpio: A program to manage archives of files
- awk.exe
+ gawk.exe
Utils
awk: Pattern-directed scanning and processing language
@@ -1061,17 +1119,17 @@
zip.exe
- Utils
+ Archive
zip: Package and compress (archive) files
unzip.exe
- Utils
+ Archive
unzip: Extract compressed files in a ZIP archive
free.exe
- Utils
+ Procps
free: Display amount of free and used memory in the system
@@ -1224,46 +1282,6 @@
document) that can impact the build are:
- PATH
- Typically you want to set the PATH to include:
-
- The location of the GNU make binary
- The location of the Bootstrap JDK java
- (see Bootstrap JDK )
- The location of the C/C++ compilers
- (see compilers )
- The location or locations for the Unix command utilities
- (e.g. /usr/bin )
-
-
- MILESTONE
-
- The milestone name for the build (e.g. "beta").
- The default value is "internal".
-
- BUILD_NUMBER
-
- The build number for the build (e.g. "b27").
- The default value is "b00".
-
- ARCH_DATA_MODEL
- The ARCH_DATA_MODEL variable
- is used to specify whether the build is to generate 32-bit or 64-bit
- binaries.
- The Solaris build supports either 32-bit or 64-bit builds, but
- Windows and Linux will support only one, depending on the specific
- OS being used.
- Normally, setting this variable is only necessary on Solaris.
- Set ARCH_DATA_MODEL to 32 for generating 32-bit binaries,
- or to 64 for generating 64-bit binaries.
-
- ALT_BOOTDIR
-
- The location of the bootstrap JDK installation.
- See Bootstrap JDK for more information.
- You should always install your own local Bootstrap JDK and
- always set ALT_BOOTDIR explicitly.
-
ALT_BINARY_PLUGS_PATH
The location of the binary plugs installation.
@@ -1272,98 +1290,32 @@
recent Binary Plugs install image
and set this variable to that location.
- ALT_JDK_IMPORT_PATH
-
- The location of a previously built JDK installation.
- See Optional Import JDK for more information.
-
- ALT_OUTPUTDIR
-
- An override for specifying the (absolute) path of where the
- build output is to go.
- The default output directory will be build/platform .
-
- ALT_COMPILER_PATH
-
- The location of the C/C++ compiler.
- The default varies depending on the platform.
-
- ALT_CACERTS_FILE
+ ALT_BOOTDIR
- The location of the cacerts file.
- The default will refer to
- jdk/src/share/lib/security/cacerts .
-
- ALT_CUPS_HEADERS_PATH
-
- The location of the CUPS header files.
- See CUPS information for more information.
- If this path does not exist the fallback path is
- /usr/include .
-
- ALT_FREETYPE_LIB_PATH
-
- The location of the FreeType shared library.
- See FreeType information for details.
-
- ALT_FREETYPE_HEADERS_PATH
-
- The location of the FreeType header files.
- See FreeType information for details.
-
- ALT_JDK_DEVTOOLS_PATH
-
- The default root location of the devtools.
- The default value is
- $(ALT_SLASH_JAVA)/devtools .
+ The location of the bootstrap JDK installation.
+ See Bootstrap JDK for more information.
+ You should always install your own local Bootstrap JDK and
+ always set ALT_BOOTDIR explicitly.
- ALT_DEVTOOLS_PATH
-
- The location of tools like the
- zip and unzip
- binaries, but might also contain the GNU make utility
- (gmake ).
- So this area is a bit of a grab bag, especially on Windows.
- The default value depends on the platform and
- Unix Commands being used.
- On Linux the default will be
- $(ALT_JDK_DEVTOOLS_PATH)/linux/bin ,
- on Solaris
- $(ALT_JDK_DEVTOOLS_PATH)/{sparc,i386} /bin ,
- on Windows with MKS
- %SYSTEMDRIVE%/UTILS ,
- and on Windows with CYGWIN
- /usr/bin .
-
- ALT_UNIXCOMMAND_PATH
+ ALT_BUILD_BINARY_PLUGS_PATH
- An override for specifying where the
- Unix command set are located.
- The default location varies depending on the platform,
- "%SYSTEMDRIVE%/MKSNT" or
- $(ROOTDIR) on Windows with MKS, otherwise it's
- "/bin" or /usr/bin .
-
- ALT_UNIXCCS_PATH
-
- Solaris only:
- An override for specifying where the Unix CCS
- command set are located.
- The default location is /usr/ccs/bin
-
- ALT_USRBIN_PATH
-
- An override for specifying where the
- Unix /usr/bin commands are located. You usually do not need
- to set this variable: the default location is /usr/bin )
-
- ALT_SLASHJAVA
-
- The default root location for many of the ALT path locations
- of the following ALT variables.
- The default value is
- "/java" on Solaris and Linux,
- "J:" on Windows.
+ These are useful in managing builds on multiple platforms.
+ The default network location for all of the binary plug images
+ for all platforms.
+ If ALT_BINARY_PLUGS_PATH
+ is not set, this directory will be used and should contain
+ the following directories:
+ solaris-sparc ,
+ solaris-i586 ,
+ solaris-sparcv9 ,
+ solaris-amd64 ,
+ linux-i586 ,
+ linux-amd64 ,
+ windows-i586 ,
+ and
+ windows-amd64 .
+ Where each of these directories contain the binary plugs image
+ for that platform.
ALT_BUILD_JDK_IMPORT_PATH
@@ -1385,56 +1337,166 @@
Where each of these directories contain the import JDK image
for that platform.
- ALT_BUILD_BINARY_PLUGS_PATH
+ ALT_CACERTS_FILE
+
+ The location of the cacerts file.
+ The default will refer to
+ jdk/src/share/lib/security/cacerts .
+
+ ALT_COMPILER_PATH
+
+ The location of the C/C++ compiler.
+ The default varies depending on the platform.
+
+ ALT_CUPS_HEADERS_PATH
+
+ The location of the CUPS header files.
+ See CUPS information for more information.
+ If this path does not exist the fallback path is
+ /usr/include .
+
+ ALT_DEVTOOLS_PATH
+
+ The location of tools like the
+ zip and unzip
+ binaries, but might also contain the GNU make utility
+ (gmake ).
+ So this area is a bit of a grab bag, especially on Windows.
+ The default value depends on the platform and
+ Unix Commands being used.
+ On Linux the default will be
+ $(ALT_JDK_DEVTOOLS_PATH)/linux/bin ,
+ on Solaris
+ $(ALT_JDK_DEVTOOLS_PATH)/{sparc,i386} /bin ,
+ on Windows with MKS
+ %SYSTEMDRIVE%/UTILS ,
+ and on Windows with CYGWIN
+ /usr/bin .
+
+ ALT_DXSDK_PATH
- These are useful in managing builds on multiple platforms.
- The default network location for all of the binary plug images
- for all platforms.
- If ALT_BINARY_PLUGS_PATH
- is not set, this directory will be used and should contain
- the following directories:
- solaris-sparc ,
- solaris-i586 ,
- solaris-sparcv9 ,
- solaris-amd64 ,
- linux-i586 ,
- linux-amd64 ,
- windows-i586 ,
- and
- windows-amd64 .
- Where each of these directories contain the binary plugs image
- for that platform.
+ Windows Only:
+ The location of the
+ Microsoft DirectX 9 SDK .
+ The default will be to try and use the DirectX environment
+ variable DXSDK_DIR ,
+ failing that, look in C:/DXSDK .
+
+ ALT_FREETYPE_HEADERS_PATH
+
+ The location of the FreeType header files.
+ See FreeType information for details.
+
+ ALT_FREETYPE_LIB_PATH
+
+ The location of the FreeType shared library.
+ See FreeType information for details.
- Windows specific:
+ ALT_JDK_DEVTOOLS_PATH
+
+ The default root location of the devtools.
+ The default value is
+ $(ALT_SLASH_JAVA)/devtools .
+
+ ALT_JDK_IMPORT_PATH
+
+ The location of a previously built JDK installation.
+ See Optional Import JDK for more information.
+
+ ALT_MSDEVTOOLS_PATH
+
+ Windows Only:
+ The location of the Microsoft Visual Studio .NET 2003
+ tools 'bin' directory.
+ The default is usually derived from
+ ALT_COMPILER_PATH .
+
+ ALT_MSVCR71_DLL_PATH
-
- ALT_MSDEVTOOLS_PATH
-
- The location of the Microsoft Visual Studio .NET 2003
- tools 'bin' directory.
- The default is usually derived from
- ALT_COMPILER_PATH .
-
- ALT_DXSDK_PATH
-
- The location of the
- Microsoft DirectX 9 SDK .
- The default will be to try and use the DirectX environment
- variable DXSDK_DIR ,
- failing that, look in C:/DXSDK .
-
- ALT_MSVCRT_DLL_PATH
-
- The location of the
- MSVCRT.DLL .
-
- ALT_MSVCR71_DLL_PATH
-
- i586 only:
- The location of the
- MSVCR71.DLL .
-
-
+ Windows i586 only:
+ The location of the
+ MSVCR71.DLL .
+
+ ALT_MSVCRT_DLL_PATH
+
+ Windows Only:
+ The location of the
+ MSVCRT.DLL .
+
+ ALT_OUTPUTDIR
+
+ An override for specifying the (absolute) path of where the
+ build output is to go.
+ The default output directory will be build/platform .
+
+ ALT_SLASHJAVA
+
+ The default root location for many of the ALT path locations
+ of the following ALT variables.
+ The default value is
+ "/java" on Solaris and Linux,
+ "J:" on Windows.
+
+ ALT_UNIXCCS_PATH
+
+ Solaris only:
+ An override for specifying where the Unix CCS
+ command set are located.
+ The default location is /usr/ccs/bin
+
+ ALT_UNIXCOMMAND_PATH
+
+ An override for specifying where the
+ Unix command set are located.
+ The default location varies depending on the platform,
+ "%SYSTEMDRIVE%/MKSNT" or
+ $(ROOTDIR) on Windows with MKS, otherwise it's
+ "/bin" or /usr/bin .
+
+ ALT_USRBIN_PATH
+
+ An override for specifying where the
+ Unix /usr/bin commands are located. You usually do not need
+ to set this variable: the default location is /usr/bin )
+
+ ANT_HOME
+
+ The location of the Ant installation.
+ See Ant for more information.
+ You should always set ANT_HOME explicitly.
+
+ ARCH_DATA_MODEL
+ The ARCH_DATA_MODEL variable
+ is used to specify whether the build is to generate 32-bit or 64-bit
+ binaries.
+ The Solaris build supports either 32-bit or 64-bit builds, but
+ Windows and Linux will support only one, depending on the specific
+ OS being used.
+ Normally, setting this variable is only necessary on Solaris.
+ Set ARCH_DATA_MODEL to 32 for generating 32-bit binaries,
+ or to 64 for generating 64-bit binaries.
+
+ BUILD_NUMBER
+
+ The build number for the build (e.g. "b27").
+ The default value is "b00".
+
+ MILESTONE
+
+ The milestone name for the build (e.g. "beta").
+ The default value is "internal".
+
+ PATH
+ Typically you want to set the PATH to include:
+
+ The location of the GNU make binary
+ The location of the Bootstrap JDK java
+ (see Bootstrap JDK )
+ The location of the C/C++ compilers
+ (see compilers )
+ The location or locations for the Unix command utilities
+ (e.g. /usr/bin )
+
diff -r e3d549324eb4 -r f7883d455c62 corba/.hgtags
--- a/corba/.hgtags Tue Jul 29 16:57:09 2008 -0700
+++ b/corba/.hgtags Fri Aug 01 15:21:56 2008 -0700
@@ -5,3 +5,4 @@
27509b7d21ed783b3f6eb7b7612781c675a30c2f jdk7-b28
8b71960f79ce0a6fb8ddfeec03f03d400a361747 jdk7-b29
c0252adbb2abbfdd6c35595429ac6fbdd98e20ac jdk7-b30
+ef6af34d75a7b44e77083f1d4ee47631fa09d3b4 jdk7-b31
diff -r e3d549324eb4 -r f7883d455c62 hotspot/.hgtags
--- a/hotspot/.hgtags Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/.hgtags Fri Aug 01 15:21:56 2008 -0700
@@ -5,3 +5,4 @@
c14dab40ed9bf45ad21150bd70c9c80cdf655415 jdk7-b28
4f91c08b3e4498213a9c5a24898f7d9c38cf86fb jdk7-b29
d1605aabd0a15ecf93787c47de63073c33fba52d jdk7-b30
+9c2ecc2ffb125f14fab3857fe7689598956348a0 jdk7-b31
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os/linux/vm/os_linux.cpp
--- a/hotspot/src/os/linux/vm/os_linux.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os/linux/vm/os_linux.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -2414,8 +2414,20 @@
return ::mprotect(bottom, size, prot) == 0;
}
-bool os::protect_memory(char* addr, size_t size) {
- return linux_mprotect(addr, size, PROT_READ);
+// Set protections specified
+bool os::protect_memory(char* addr, size_t bytes, ProtType prot,
+ bool is_committed) {
+ unsigned int p = 0;
+ switch (prot) {
+ case MEM_PROT_NONE: p = PROT_NONE; break;
+ case MEM_PROT_READ: p = PROT_READ; break;
+ case MEM_PROT_RW: p = PROT_READ|PROT_WRITE; break;
+ case MEM_PROT_RWX: p = PROT_READ|PROT_WRITE|PROT_EXEC; break;
+ default:
+ ShouldNotReachHere();
+ }
+ // is_committed is unused.
+ return linux_mprotect(addr, bytes, p);
}
bool os::guard_memory(char* addr, size_t size) {
@@ -3704,8 +3716,9 @@
// Mark the polling page as readable
void os::make_polling_page_readable(void) {
- if( !protect_memory((char *)_polling_page, Linux::page_size()) )
+ if( !linux_mprotect((char *)_polling_page, Linux::page_size(), PROT_READ)) {
fatal("Could not enable polling page");
+ }
};
int os::active_processor_count() {
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os/solaris/vm/os_solaris.cpp
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -2965,10 +2965,21 @@
return retVal == 0;
}
-// Protect memory (make it read-only. (Used to pass readonly pages through
+// Protect memory (Used to pass readonly pages through
// JNI GetArrayElements with empty arrays.)
-bool os::protect_memory(char* addr, size_t bytes) {
- return solaris_mprotect(addr, bytes, PROT_READ);
+bool os::protect_memory(char* addr, size_t bytes, ProtType prot,
+ bool is_committed) {
+ unsigned int p = 0;
+ switch (prot) {
+ case MEM_PROT_NONE: p = PROT_NONE; break;
+ case MEM_PROT_READ: p = PROT_READ; break;
+ case MEM_PROT_RW: p = PROT_READ|PROT_WRITE; break;
+ case MEM_PROT_RWX: p = PROT_READ|PROT_WRITE|PROT_EXEC; break;
+ default:
+ ShouldNotReachHere();
+ }
+ // is_committed is unused.
+ return solaris_mprotect(addr, bytes, p);
}
// guard_memory and unguard_memory only happens within stack guard pages.
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os/windows/vm/os_windows.cpp
--- a/hotspot/src/os/windows/vm/os_windows.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os/windows/vm/os_windows.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -2170,6 +2170,7 @@
// Windows 98 reports faulting addresses incorrectly
if (!MacroAssembler::needs_explicit_null_check((intptr_t)addr) ||
!os::win32::is_nt()) {
+
return Handle_Exception(exceptionInfo,
SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL));
}
@@ -2563,9 +2564,33 @@
return VirtualFree(addr, 0, MEM_RELEASE) != 0;
}
-bool os::protect_memory(char* addr, size_t bytes) {
+// Set protections specified
+bool os::protect_memory(char* addr, size_t bytes, ProtType prot,
+ bool is_committed) {
+ unsigned int p = 0;
+ switch (prot) {
+ case MEM_PROT_NONE: p = PAGE_NOACCESS; break;
+ case MEM_PROT_READ: p = PAGE_READONLY; break;
+ case MEM_PROT_RW: p = PAGE_READWRITE; break;
+ case MEM_PROT_RWX: p = PAGE_EXECUTE_READWRITE; break;
+ default:
+ ShouldNotReachHere();
+ }
+
DWORD old_status;
- return VirtualProtect(addr, bytes, PAGE_READONLY, &old_status) != 0;
+
+ // Strange enough, but on Win32 one can change protection only for committed
+ // memory, not a big deal anyway, as bytes less or equal than 64K
+ if (!is_committed && !commit_memory(addr, bytes)) {
+ fatal("cannot commit protection page");
+ }
+ // One cannot use os::guard_memory() here, as on Win32 guard page
+ // have different (one-shot) semantics, from MSDN on PAGE_GUARD:
+ //
+ // Pages in the region become guard pages. Any attempt to access a guard page
+ // causes the system to raise a STATUS_GUARD_PAGE exception and turn off
+ // the guard page status. Guard pages thus act as a one-time access alarm.
+ return VirtualProtect(addr, bytes, p, &old_status) != 0;
}
bool os::guard_memory(char* addr, size_t bytes) {
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp
--- a/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -27,12 +27,6 @@
#include
-bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
- // Since the linux kernel resides at the low end of
- // user address space, no null pointer check is needed.
- return offset < 0 || offset >= 0x100000;
-}
-
void MacroAssembler::read_ccr_trap(Register ccr_save) {
// No implementation
breakpoint_trap();
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os_cpu/linux_x86/vm/assembler_linux_x86_32.cpp
--- a/hotspot/src/os_cpu/linux_x86/vm/assembler_linux_x86_32.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os_cpu/linux_x86/vm/assembler_linux_x86_32.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -39,10 +39,3 @@
movptr(thread, tls);
}
-
-bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
- // Linux kernel guarantees that the first page is always unmapped. Don't
- // assume anything more than that.
- bool offset_in_first_page = 0 <= offset && offset < os::vm_page_size();
- return !offset_in_first_page;
-}
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os_cpu/linux_x86/vm/assembler_linux_x86_64.cpp
--- a/hotspot/src/os_cpu/linux_x86/vm/assembler_linux_x86_64.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os_cpu/linux_x86/vm/assembler_linux_x86_64.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -65,22 +65,3 @@
popq(rax);
}
}
-
-bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
- // Exception handler checks the nmethod's implicit null checks table
- // only when this method returns false.
- if (UseCompressedOops) {
- // The first page after heap_base is unmapped and
- // the 'offset' is equal to [heap_base + offset] for
- // narrow oop implicit null checks.
- uintptr_t heap_base = (uintptr_t)Universe::heap_base();
- if ((uintptr_t)offset >= heap_base) {
- // Normalize offset for the next check.
- offset = (intptr_t)(pointer_delta((void*)offset, (void*)heap_base, 1));
- }
- }
- // Linux kernel guarantees that the first page is always unmapped. Don't
- // assume anything more than that.
- bool offset_in_first_page = 0 <= offset && offset < os::vm_page_size();
- return !offset_in_first_page;
-}
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp
--- a/hotspot/src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -28,18 +28,6 @@
#include // For trap numbers
#include // For V8 compatibility
-bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
- // The first page of virtual addresses is unmapped on SPARC.
- // Thus, any access the VM makes through a null pointer with an offset of
- // less than 4K will get a recognizable SIGSEGV, which the signal handler
- // will transform into a NullPointerException.
- // (Actually, the first 64K or so is unmapped, but it's simpler
- // to depend only on the first 4K or so.)
-
- bool offset_in_first_page = 0 <= offset && offset < os::vm_page_size();
- return !offset_in_first_page;
-}
-
void MacroAssembler::read_ccr_trap(Register ccr_save) {
// Execute a trap to get the PSR, mask and shift
// to get the condition codes.
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os_cpu/solaris_x86/vm/assembler_solaris_x86_32.cpp
--- a/hotspot/src/os_cpu/solaris_x86/vm/assembler_solaris_x86_32.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os_cpu/solaris_x86/vm/assembler_solaris_x86_32.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -79,9 +79,3 @@
if (thread != rax) popl(rax);
popl(thread);
}
-
-bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
- // Identical to Sparc/Solaris code
- bool offset_in_first_page = 0 <= offset && offset < os::vm_page_size();
- return !offset_in_first_page;
-}
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os_cpu/solaris_x86/vm/assembler_solaris_x86_64.cpp
--- a/hotspot/src/os_cpu/solaris_x86/vm/assembler_solaris_x86_64.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os_cpu/solaris_x86/vm/assembler_solaris_x86_64.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -85,22 +85,3 @@
popq(rax);
}
}
-
-bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
- // Identical to Sparc/Solaris code
-
- // Exception handler checks the nmethod's implicit null checks table
- // only when this method returns false.
- if (UseCompressedOops) {
- // The first page after heap_base is unmapped and
- // the 'offset' is equal to [heap_base + offset] for
- // narrow oop implicit null checks.
- uintptr_t heap_base = (uintptr_t)Universe::heap_base();
- if ((uintptr_t)offset >= heap_base) {
- // Normalize offset for the next check.
- offset = (intptr_t)(pointer_delta((void*)offset, (void*)heap_base, 1));
- }
- }
- bool offset_in_first_page = 0 <= offset && offset < os::vm_page_size();
- return !offset_in_first_page;
-}
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os_cpu/windows_x86/vm/assembler_windows_x86_32.cpp
--- a/hotspot/src/os_cpu/windows_x86/vm/assembler_windows_x86_32.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os_cpu/windows_x86/vm/assembler_windows_x86_32.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -58,7 +58,3 @@
"Thread Pointer Offset has not been initialized");
movl(thread, Address(thread, ThreadLocalStorage::get_thread_ptr_offset()));
}
-
-bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
- return offset < 0 || (int)os::vm_page_size() <= offset;
-}
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/os_cpu/windows_x86/vm/assembler_windows_x86_64.cpp
--- a/hotspot/src/os_cpu/windows_x86/vm/assembler_windows_x86_64.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/os_cpu/windows_x86/vm/assembler_windows_x86_64.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -65,19 +65,3 @@
popq(rax);
}
}
-
-bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
- // Exception handler checks the nmethod's implicit null checks table
- // only when this method returns false.
- if (UseCompressedOops) {
- // The first page after heap_base is unmapped and
- // the 'offset' is equal to [heap_base + offset] for
- // narrow oop implicit null checks.
- uintptr_t heap_base = (uintptr_t)Universe::heap_base();
- if ((uintptr_t)offset >= heap_base) {
- // Normalize offset for the next check.
- offset = (intptr_t)(pointer_delta((void*)offset, (void*)heap_base, 1));
- }
- }
- return offset < 0 || os::vm_page_size() <= offset;
-}
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/asm/assembler.cpp
--- a/hotspot/src/share/vm/asm/assembler.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/asm/assembler.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -246,6 +246,24 @@
}
}
+bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
+ // Exception handler checks the nmethod's implicit null checks table
+ // only when this method returns false.
+#ifndef SPARC
+ // Sparc does not have based addressing
+ if (UseCompressedOops) {
+ // The first page after heap_base is unmapped and
+ // the 'offset' is equal to [heap_base + offset] for
+ // narrow oop implicit null checks.
+ uintptr_t heap_base = (uintptr_t)Universe::heap_base();
+ if ((uintptr_t)offset >= heap_base) {
+ // Normalize offset for the next check.
+ offset = (intptr_t)(pointer_delta((void*)offset, (void*)heap_base, 1));
+ }
+ }
+#endif // SPARC
+ return offset < 0 || os::vm_page_size() <= offset;
+}
#ifndef PRODUCT
void Label::print_instructions(MacroAssembler* masm) const {
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -61,6 +61,8 @@
if (_virtual_space != NULL) {
delete _virtual_space;
_virtual_space = NULL;
+ // Release memory reserved in the space.
+ rs.release();
}
return false;
}
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -108,8 +108,8 @@
// size than is needed or wanted for the perm gen. Use the "compound
// alignment" ReservedSpace ctor to avoid having to use the same page size for
// all gens.
- ReservedSpace heap_rs(pg_max_size, pg_align, og_max_size + yg_max_size,
- og_align);
+ ReservedHeapSpace heap_rs(pg_max_size, pg_align, og_max_size + yg_max_size,
+ og_align);
os::trace_page_sizes("ps perm", pg_min_size, pg_max_size, pg_page_sz,
heap_rs.base(), pg_max_size);
os::trace_page_sizes("ps main", og_min_size + yg_min_size,
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -422,6 +422,8 @@
return vspace;
}
delete vspace;
+ // Release memory reserved in the space.
+ rs.release();
}
return 0;
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -71,13 +71,8 @@
void PSVirtualSpace::release() {
DEBUG_ONLY(PSVirtualSpaceVerifier this_verifier(this));
- if (reserved_low_addr() != NULL) {
- if (special()) {
- os::release_memory_special(reserved_low_addr(), reserved_size());
- } else {
- (void)os::release_memory(reserved_low_addr(), reserved_size());
- }
- }
+ // This may not release memory it didn't reserve.
+ // Use rs.release() to release the underlying memory instead.
_reserved_low_addr = _reserved_high_addr = NULL;
_committed_low_addr = _committed_high_addr = NULL;
_special = false;
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/memory/genCollectedHeap.cpp
--- a/hotspot/src/share/vm/memory/genCollectedHeap.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/memory/genCollectedHeap.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -222,8 +222,8 @@
*_total_reserved = total_reserved;
*_n_covered_regions = n_covered_regions;
- *heap_rs = ReservedSpace(total_reserved, alignment,
- UseLargePages, heap_address);
+ *heap_rs = ReservedHeapSpace(total_reserved, alignment,
+ UseLargePages, heap_address);
return heap_address;
}
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/prims/jni.cpp
--- a/hotspot/src/share/vm/prims/jni.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/prims/jni.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -2173,8 +2173,7 @@
size_t size = os::vm_allocation_granularity();
bad_address = os::reserve_memory(size);
if (bad_address != NULL) {
- os::commit_memory(bad_address, size);
- os::protect_memory(bad_address, size);
+ os::protect_memory(bad_address, size, os::MEM_PROT_READ);
}
}
return bad_address;
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/runtime/arguments.cpp
--- a/hotspot/src/share/vm/runtime/arguments.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/runtime/arguments.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -1176,8 +1176,7 @@
// by ergonomics.
if (MaxHeapSize <= max_heap_for_compressed_oops()) {
if (FLAG_IS_DEFAULT(UseCompressedOops)) {
- // Leave compressed oops off by default. Uncomment
- // the following line to return it to default status.
+ // Turn off until bug is fixed.
// FLAG_SET_ERGO(bool, UseCompressedOops, true);
}
} else {
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/runtime/os.cpp
--- a/hotspot/src/share/vm/runtime/os.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/runtime/os.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -922,8 +922,9 @@
// time and expensive page trap spinning, 'SerializePageLock' is used to block
// the mutator thread if such case is encountered. See bug 6546278 for details.
Thread::muxAcquire(&SerializePageLock, "serialize_thread_states");
- os::protect_memory( (char *)os::get_memory_serialize_page(), os::vm_page_size() );
- os::unguard_memory( (char *)os::get_memory_serialize_page(), os::vm_page_size() );
+ os::protect_memory((char *)os::get_memory_serialize_page(),
+ os::vm_page_size(), MEM_PROT_READ, /*is_committed*/true );
+ os::unguard_memory((char *)os::get_memory_serialize_page(), os::vm_page_size());
Thread::muxRelease(&SerializePageLock);
}
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/runtime/os.hpp
--- a/hotspot/src/share/vm/runtime/os.hpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/runtime/os.hpp Fri Aug 01 15:21:56 2008 -0700
@@ -193,7 +193,11 @@
static bool commit_memory(char* addr, size_t size, size_t alignment_hint);
static bool uncommit_memory(char* addr, size_t bytes);
static bool release_memory(char* addr, size_t bytes);
- static bool protect_memory(char* addr, size_t bytes);
+
+ enum ProtType { MEM_PROT_NONE, MEM_PROT_READ, MEM_PROT_RW, MEM_PROT_RWX };
+ static bool protect_memory(char* addr, size_t bytes, ProtType prot,
+ bool is_committed = false);
+
static bool guard_memory(char* addr, size_t bytes);
static bool unguard_memory(char* addr, size_t bytes);
static char* map_memory(int fd, const char* file_name, size_t file_offset,
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/runtime/virtualspace.cpp
--- a/hotspot/src/share/vm/runtime/virtualspace.cpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/runtime/virtualspace.cpp Fri Aug 01 15:21:56 2008 -0700
@@ -28,12 +28,15 @@
// ReservedSpace
ReservedSpace::ReservedSpace(size_t size) {
- initialize(size, 0, false, NULL);
+ initialize(size, 0, false, NULL, 0);
}
ReservedSpace::ReservedSpace(size_t size, size_t alignment,
- bool large, char* requested_address) {
- initialize(size, alignment, large, requested_address);
+ bool large,
+ char* requested_address,
+ const size_t noaccess_prefix) {
+ initialize(size+noaccess_prefix, alignment, large, requested_address,
+ noaccess_prefix);
}
char *
@@ -105,7 +108,8 @@
ReservedSpace::ReservedSpace(const size_t prefix_size,
const size_t prefix_align,
const size_t suffix_size,
- const size_t suffix_align)
+ const size_t suffix_align,
+ const size_t noaccess_prefix)
{
assert(prefix_size != 0, "sanity");
assert(prefix_align != 0, "sanity");
@@ -118,12 +122,16 @@
assert((suffix_align & prefix_align - 1) == 0,
"suffix_align not divisible by prefix_align");
+ // Add in noaccess_prefix to prefix_size;
+ const size_t adjusted_prefix_size = prefix_size + noaccess_prefix;
+ const size_t size = adjusted_prefix_size + suffix_size;
+
// On systems where the entire region has to be reserved and committed up
// front, the compound alignment normally done by this method is unnecessary.
const bool try_reserve_special = UseLargePages &&
prefix_align == os::large_page_size();
if (!os::can_commit_large_page_memory() && try_reserve_special) {
- initialize(prefix_size + suffix_size, prefix_align, true);
+ initialize(size, prefix_align, true, NULL, noaccess_prefix);
return;
}
@@ -131,15 +139,19 @@
_size = 0;
_alignment = 0;
_special = false;
+ _noaccess_prefix = 0;
+
+ // Assert that if noaccess_prefix is used, it is the same as prefix_align.
+ assert(noaccess_prefix == 0 ||
+ noaccess_prefix == prefix_align, "noaccess prefix wrong");
// Optimistically try to reserve the exact size needed.
- const size_t size = prefix_size + suffix_size;
char* addr = os::reserve_memory(size, NULL, prefix_align);
if (addr == NULL) return;
// Check whether the result has the needed alignment (unlikely unless
// prefix_align == suffix_align).
- const size_t ofs = size_t(addr) + prefix_size & suffix_align - 1;
+ const size_t ofs = size_t(addr) + adjusted_prefix_size & suffix_align - 1;
if (ofs != 0) {
// Wrong alignment. Release, allocate more space and do manual alignment.
//
@@ -153,11 +165,11 @@
}
const size_t extra = MAX2(ofs, suffix_align - ofs);
- addr = reserve_and_align(size + extra, prefix_size, prefix_align,
+ addr = reserve_and_align(size + extra, adjusted_prefix_size, prefix_align,
suffix_size, suffix_align);
if (addr == NULL) {
// Try an even larger region. If this fails, address space is exhausted.
- addr = reserve_and_align(size + suffix_align, prefix_size,
+ addr = reserve_and_align(size + suffix_align, adjusted_prefix_size,
prefix_align, suffix_size, suffix_align);
}
}
@@ -165,10 +177,12 @@
_base = addr;
_size = size;
_alignment = prefix_align;
+ _noaccess_prefix = noaccess_prefix;
}
void ReservedSpace::initialize(size_t size, size_t alignment, bool large,
- char* requested_address) {
+ char* requested_address,
+ const size_t noaccess_prefix) {
const size_t granularity = os::vm_allocation_granularity();
assert((size & granularity - 1) == 0,
"size not aligned to os::vm_allocation_granularity()");
@@ -181,6 +195,7 @@
_size = 0;
_special = false;
_alignment = 0;
+ _noaccess_prefix = 0;
if (size == 0) {
return;
}
@@ -220,7 +235,8 @@
// important. If available space is not detected, return NULL.
if (requested_address != 0) {
- base = os::attempt_reserve_memory_at(size, requested_address);
+ base = os::attempt_reserve_memory_at(size,
+ requested_address-noaccess_prefix);
} else {
base = os::reserve_memory(size, NULL, alignment);
}
@@ -259,6 +275,11 @@
_base = base;
_size = size;
_alignment = MAX2(alignment, (size_t) os::vm_page_size());
+ _noaccess_prefix = noaccess_prefix;
+
+ // Assert that if noaccess_prefix is used, it is the same as alignment.
+ assert(noaccess_prefix == 0 ||
+ noaccess_prefix == _alignment, "noaccess prefix wrong");
assert(markOopDesc::encode_pointer_as_mark(_base)->decode_pointer() == _base,
"area must be distinguisable from marks for mark-sweep");
@@ -274,6 +295,7 @@
_base = base;
_size = size;
_alignment = alignment;
+ _noaccess_prefix = 0;
_special = special;
}
@@ -320,17 +342,58 @@
void ReservedSpace::release() {
if (is_reserved()) {
+ char *real_base = _base - _noaccess_prefix;
+ const size_t real_size = _size + _noaccess_prefix;
if (special()) {
- os::release_memory_special(_base, _size);
+ os::release_memory_special(real_base, real_size);
} else{
- os::release_memory(_base, _size);
+ os::release_memory(real_base, real_size);
}
_base = NULL;
_size = 0;
+ _noaccess_prefix = 0;
_special = false;
}
}
+void ReservedSpace::protect_noaccess_prefix(const size_t size) {
+ // If there is noaccess prefix, return.
+ if (_noaccess_prefix == 0) return;
+
+ assert(_noaccess_prefix >= (size_t)os::vm_page_size(),
+ "must be at least page size big");
+
+ // Protect memory at the base of the allocated region.
+ // If special, the page was committed (only matters on windows)
+ if (!os::protect_memory(_base, _noaccess_prefix, os::MEM_PROT_NONE,
+ _special)) {
+ fatal("cannot protect protection page");
+ }
+
+ _base += _noaccess_prefix;
+ _size -= _noaccess_prefix;
+ assert((size == _size) && ((uintptr_t)_base % _alignment == 0),
+ "must be exactly of required size and alignment");
+}
+
+ReservedHeapSpace::ReservedHeapSpace(size_t size, size_t alignment,
+ bool large, char* requested_address) :
+ ReservedSpace(size, alignment, large,
+ requested_address,
+ UseCompressedOops ? lcm(os::vm_page_size(), alignment) : 0) {
+ // Only reserved space for the java heap should have a noaccess_prefix
+ // if using compressed oops.
+ protect_noaccess_prefix(size);
+}
+
+ReservedHeapSpace::ReservedHeapSpace(const size_t prefix_size,
+ const size_t prefix_align,
+ const size_t suffix_size,
+ const size_t suffix_align) :
+ ReservedSpace(prefix_size, prefix_align, suffix_size, suffix_align,
+ UseCompressedOops ? lcm(os::vm_page_size(), prefix_align) : 0) {
+ protect_noaccess_prefix(prefix_size+suffix_size);
+}
// VirtualSpace
@@ -348,6 +411,7 @@
_lower_alignment = 0;
_middle_alignment = 0;
_upper_alignment = 0;
+ _special = false;
}
@@ -402,7 +466,8 @@
void VirtualSpace::release() {
- (void)os::release_memory(low_boundary(), reserved_size());
+ // This does not release memory it never reserved.
+ // Caller must release via rs.release();
_low_boundary = NULL;
_high_boundary = NULL;
_low = NULL;
diff -r e3d549324eb4 -r f7883d455c62 hotspot/src/share/vm/runtime/virtualspace.hpp
--- a/hotspot/src/share/vm/runtime/virtualspace.hpp Tue Jul 29 16:57:09 2008 -0700
+++ b/hotspot/src/share/vm/runtime/virtualspace.hpp Fri Aug 01 15:21:56 2008 -0700
@@ -29,13 +29,15 @@
private:
char* _base;
size_t _size;
+ size_t _noaccess_prefix;
size_t _alignment;
bool _special;
// ReservedSpace
ReservedSpace(char* base, size_t size, size_t alignment, bool special);
void initialize(size_t size, size_t alignment, bool large,
- char* requested_address = NULL);
+ char* requested_address,
+ const size_t noaccess_prefix);
// Release parts of an already-reserved memory region [addr, addr + len) to
// get a new region that has "compound alignment." Return the start of the
@@ -59,13 +61,19 @@
const size_t suffix_size,
const size_t suffix_align);
+ protected:
+ // Create protection page at the beginning of the space.
+ void protect_noaccess_prefix(const size_t size);
+
public:
// Constructor
ReservedSpace(size_t size);
ReservedSpace(size_t size, size_t alignment, bool large,
- char* requested_address = NULL);
+ char* requested_address = NULL,
+ const size_t noaccess_prefix = 0);
ReservedSpace(const size_t prefix_size, const size_t prefix_align,
- const size_t suffix_size, const size_t suffix_align);
+ const size_t suffix_size, const size_t suffix_align,
+ const size_t noaccess_prefix);
// Accessors
char* base() const { return _base; }
@@ -73,6 +81,8 @@
size_t alignment() const { return _alignment; }
bool special() const { return _special; }
+ size_t noaccess_prefix() const { return _noaccess_prefix; }
+
bool is_reserved() const { return _base != NULL; }
void release();
@@ -104,6 +114,16 @@
return last_part(partition_size, alignment());
}
+// Class encapsulating behavior specific of memory space reserved for Java heap
+class ReservedHeapSpace : public ReservedSpace {
+public:
+ // Constructor
+ ReservedHeapSpace(size_t size, size_t forced_base_alignment,
+ bool large, char* requested_address);
+ ReservedHeapSpace(const size_t prefix_size, const size_t prefix_align,
+ const size_t suffix_size, const size_t suffix_align);
+};
+
// VirtualSpace is data structure for committing a previously reserved address range in smaller chunks.
class VirtualSpace VALUE_OBJ_CLASS_SPEC {
diff -r e3d549324eb4 -r f7883d455c62 jaxp/.hgtags
--- a/jaxp/.hgtags Tue Jul 29 16:57:09 2008 -0700
+++ b/jaxp/.hgtags Fri Aug 01 15:21:56 2008 -0700
@@ -5,3 +5,4 @@
b996318955c0ad8e9fa0ffb56c74f626786e863f jdk7-b28
617ee8607cfd5fd81f233f3c0b690f85084687a0 jdk7-b29
2d94a238a1641d074e6032dcdceed461d6f85d6a jdk7-b30
+255d64ee287e926e8629dd80bc67690e65eeba30 jdk7-b31
diff -r e3d549324eb4 -r f7883d455c62 jaxws/.hgtags
--- a/jaxws/.hgtags Tue Jul 29 16:57:09 2008 -0700
+++ b/jaxws/.hgtags Fri Aug 01 15:21:56 2008 -0700
@@ -5,3 +5,4 @@
eefcd5204500a11d6aa802dca9f961cf10ab64c2 jdk7-b28
836c55713abab186e4de0c6eabd06ff008c7b8d0 jdk7-b29
7f2466f8cc7009702e548d1a763254f546024d7e jdk7-b30
+f978623825364a2ad9c6f51d02fc9424a8b0bc86 jdk7-b31
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/com/sun/java/pack/Makefile
--- a/jdk/make/com/sun/java/pack/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/com/sun/java/pack/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -97,9 +97,6 @@
/D "J2SE_FTYPE=0x1L"
RES = $(OBJDIR)/$(PGRM).res
-
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
else
LDOUTPUT = -o #Have a space
LDDFLAGS += -lc
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/com/sun/security/auth/module/Makefile
--- a/jdk/make/com/sun/security/auth/module/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/com/sun/security/auth/module/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -55,9 +55,6 @@
EXTRA_LIBS += netapi32.lib user32.lib mpr.lib
endif #fdlibm
# code generates errors when compiled at warning level 3 and warnings are fatal
- ifeq ($(ARCH_DATA_MODEL), 64)
- COMPILER_WARNINGS_FATAL=false
- endif # ARCH_DATA_MODEL
endif # windows
ifeq ($(PLATFORM), solaris)
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/common/Defs-linux.gmk
--- a/jdk/make/common/Defs-linux.gmk Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/common/Defs-linux.gmk Fri Aug 01 15:21:56 2008 -0700
@@ -149,10 +149,9 @@
PIC_CODE_LARGE = -fPIC
PIC_CODE_SMALL = -fpic
GLOBAL_KPIC = $(PIC_CODE_LARGE)
+CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS)
ifeq ($(ARCH), amd64)
- CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS) -pipe
-else
- CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS)
+ CFLAGS_COMMON += -pipe
endif
# Linux 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/common/Defs-solaris.gmk
--- a/jdk/make/common/Defs-solaris.gmk Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/common/Defs-solaris.gmk Fri Aug 01 15:21:56 2008 -0700
@@ -40,6 +40,9 @@
# LDLIBS (set $(EXTRA_LIBS) instead)
# LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
# LINTFLAGS (set $(OTHER_LINTFLAGS) instead)
+#
+# Note: CPPFLAGS are used in C and C++ compiles.
+#
# Get shared JDK settings
include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
@@ -112,6 +115,10 @@
# Required with many of the source files.
# -mt Assume multi-threaded (important)
#
+# The more unusual options to the Sun C compiler:
+# +w Print more warnings
+# +w2 Maximum warnings
+#
#
# Debug flag for C and C++ compiler
@@ -140,15 +147,34 @@
CXXFLAGS_DEBUG_OPTION = -g0 $(CC_FASTDEBUG_OPT)
endif
-CFLAGS_COMMON = -v -mt -L$(OBJDIR) -xc99=%none
+CFLAGS_COMMON = -L$(OBJDIR)
+
+# Do not allow C99 language features like declarations in code etc.
+CFLAGS_COMMON += -xc99=%none
+
+# Allow C++ comments in C code
CFLAGS_COMMON += -xCC
-CFLAGS_COMMON += -errshort=tags
+
+# Show error message tags on errors
+CFLAGS_COMMON += -errshort=tags
+CXXFLAGS_COMMON += -errtags=yes
+
+# Optimization flags
CFLAGS_OPT = $(POPT)
+
+# Debug version flags
CFLAGS_DBG = $(CFLAGS_DEBUG_OPTION)
-CFLAGS_COMMON += -Xa $(CFLAGS_REQUIRED)
+
+# Required C compiler flags
+CFLAGS_COMMON += -Xa $(CFLAGS_REQUIRED)
+
+# Maximum warnings all the time
+CXXFLAGS_COMMON += +w
+CFLAGS_COMMON += -v
# Assume MT behavior all the time (important)
-CXXFLAGS_COMMON = -mt
+CXXFLAGS_COMMON += -mt
+CFLAGS_COMMON += -mt
# Assume no C++ exceptions are used
CXXFLAGS_COMMON += -features=no%except -DCC_NOEX
@@ -237,8 +263,8 @@
# OTHER_CFLAGS += -DPERTURBALOT
#
-CPPFLAGS_COMMON = -D$(ARCH_FAMILY) -D__solaris__ -D_REENTRANT
-CPPFLAGS_OPT =
+CPPFLAGS_COMMON = -D__solaris__ -D$(ARCH_FAMILY)
+CPPFLAGS_OPT = -DNDEBUG
CPPFLAGS_DBG = -DDEBUG
ifeq ($(ARCH_FAMILY), i586)
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/common/Defs-windows.gmk
--- a/jdk/make/common/Defs-windows.gmk Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/common/Defs-windows.gmk Fri Aug 01 15:21:56 2008 -0700
@@ -283,7 +283,7 @@
ifeq ($(ARCH), amd64)
CPPFLAGS_COMMON += -D_AMD64_ -Damd64
else
- CPPFLAGS_COMMON += -DWIN32 -D_X86_ -Dx86
+ CPPFLAGS_COMMON += -D_X86_ -Dx86
endif
CPPFLAGS_COMMON += -DWIN32_LEAN_AND_MEAN
@@ -293,16 +293,23 @@
CFLAGS_COMMON += -Fd$(OBJDIR)/$(basename $(@F)).pdb -Fm$(OBJDIR)/$(basename $(@F)).map
#
+# Use -wdNNNN to disable warning NNNN.
+# C4800 is a warning about bool performance casts (can't make go away)
+#
+COMPILER_WARNINGS_TO_IGNORE = 4800
+CFLAGS_COMMON += $(COMPILER_WARNINGS_TO_IGNORE:%=-wd%)
+
+#
# Add warnings and extra on 64bit issues
#
ifeq ($(ARCH_DATA_MODEL), 64)
CFLAGS_COMMON += -Wp64
endif
-CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL)
#
# Treat compiler warnings as errors, if requested
#
+CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL)
ifeq ($(COMPILER_WARNINGS_FATAL),true)
CFLAGS_COMMON += -WX
endif
@@ -352,17 +359,9 @@
# BUILD_WIN_SA=1
# on the make command.
ifdef BUILD_WIN_SA
- ifeq ($(ARCH), amd64)
- INCLUDE_SA = true
- else
- INCLUDE_SA = true
- endif
+ INCLUDE_SA = true
else
- ifeq ($(ARCH), amd64)
- INCLUDE_SA = false
- else
- INCLUDE_SA = false
- endif
+ INCLUDE_SA = false
endif
endif
@@ -404,7 +403,6 @@
else
JDK_UPDATE_VER := 0
endif
-JDK_VER = $(JDK_MINOR_VERSION),$(JDK_MICRO_VERSION),$(JDK_UPDATE_VER),$(COOKED_BUILD_NUMBER)
RC_FLAGS = /l 0x409 /r
@@ -414,15 +412,23 @@
RC_FLAGS += $(MS_RC_DEBUG_OPTION)
endif
-ifndef COPYRIGHT_YEAR
- COPYRIGHT_YEAR = 2007
-endif
+# Values for the RC variables defined in RC_FLAGS
+JDK_RC_BUILD_ID = $(FULL_VERSION)
+JDK_RC_COMPANY = $(COMPANY_NAME)
+JDK_RC_COMPONENT = $(PRODUCT_NAME) $(JDK_RC_PLATFORM_NAME) binary
+JDK_RC_VER = \
+ $(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER)
+JDK_RC_COPYRIGHT = Copyright \xA9 $(COPYRIGHT_YEAR)
+JDK_RC_NAME = \
+ $(PRODUCT_NAME) $(JDK_RC_PLATFORM_NAME) $(JDK_MINOR_VERSION) $(JDK_UPDATE_META_TAG)
+JDK_RC_FVER = \
+ $(JDK_MINOR_VERSION),$(JDK_MICRO_VERSION),$(JDK_UPDATE_VER),$(COOKED_BUILD_NUMBER)
# J2SE name required here
-RC_FLAGS += -d "J2SE_BUILD_ID=$(FULL_VERSION)" \
- -d "J2SE_COMPANY=$(COMPANY_NAME)" \
- -d "J2SE_COMPONENT=$(PRODUCT_NAME) Platform SE binary" \
- -d "J2SE_VER=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER)" \
- -d "J2SE_COPYRIGHT=Copyright \xA9 $(COPYRIGHT_YEAR)" \
- -d "J2SE_NAME=$(PRODUCT_NAME) Platform SE $(JDK_MINOR_VERSION) $(JDK_UPDATE_META_TAG)" \
- -d "J2SE_FVER=$(JDK_VER)"
+RC_FLAGS += -d "J2SE_BUILD_ID=$(JDK_RC_BUILD_ID)" \
+ -d "J2SE_COMPANY=$(JDK_RC_COMPANY)" \
+ -d "J2SE_COMPONENT=$(JDK_RC_COMPONENT)" \
+ -d "J2SE_VER=$(JDK_RC_VER)" \
+ -d "J2SE_COPYRIGHT=$(JDK_RC_COPYRIGHT)" \
+ -d "J2SE_NAME=$(JDK_RC_NAME)" \
+ -d "J2SE_FVER=$(JDK_RC_FVER)"
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/common/Defs.gmk
--- a/jdk/make/common/Defs.gmk Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/common/Defs.gmk Fri Aug 01 15:21:56 2008 -0700
@@ -703,7 +703,7 @@
ifdef ALT_COPYRIGHT_YEAR
COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
else
- COPYRIGHT_YEAR = $(shell $(DATE) '+%Y')
+ COPYRIGHT_YEAR := $(shell $(DATE) '+%Y')
endif
# Install of imported file (JDK_IMPORT_PATH, or some other external location)
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/common/shared/Compiler-gcc.gmk
--- a/jdk/make/common/shared/Compiler-gcc.gmk Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/common/shared/Compiler-gcc.gmk Fri Aug 01 15:21:56 2008 -0700
@@ -73,23 +73,18 @@
REQUIRED_CC_VER = 4.0
REQUIRED_GCC_VER = 4.0.*
else
- ifeq ($(ARCH_DATA_MODEL), 32)
- # i586
REQUIRED_CC_VER = 3.2
- REQUIRED_GCC_VER = 3.2.1*
- REQUIRED_GCC_VER_INT = 3.2.1-7a
- else
- ifeq ($(ARCH), amd64)
- # amd64
- REQUIRED_CC_VER = 3.2
- REQUIRED_GCC_VER = 3.2.*
- endif
- ifeq ($(ARCH), ia64)
- # ia64
- REQUIRED_CC_VER = 3.2
- REQUIRED_GCC_VER = 2.9[56789].*
- endif
- endif
+ ifeq ($(ARCH_DATA_MODEL), 32)
+ REQUIRED_GCC_VER = 3.2.1*
+ REQUIRED_GCC_VER_INT = 3.2.1-7a
+ else
+ ifeq ($(ARCH), amd64)
+ REQUIRED_GCC_VER = 3.2.*
+ endif
+ ifeq ($(ARCH), ia64)
+ REQUIRED_GCC_VER = 2.9[56789].*
+ endif
+ endif
endif
# Option used to create a shared library
SHARED_LIBRARY_FLAG = -shared -mimpure-text
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/common/shared/Defs-java.gmk
--- a/jdk/make/common/shared/Defs-java.gmk Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/common/shared/Defs-java.gmk Fri Aug 01 15:21:56 2008 -0700
@@ -107,7 +107,10 @@
ifeq ($(DEBUG_CLASSFILES),true)
JAVACFLAGS += -g
endif
-ifeq ($(COMPILER_WARNINGS_FATAL), true)
+ifeq ($(JAVAC_MAX_WARNINGS), true)
+ JAVACFLAGS += -Xlint:all
+endif
+ifeq ($(JAVAC_WARNINGS_FATAL), true)
JAVACFLAGS += -Werror
endif
@@ -180,7 +183,10 @@
# The javac options supplied to the boot javac is limited. This compiler
# should only be used to build the 'make/tools' sources, which are not
# class files that end up in the classes directory.
-ifeq ($(COMPILER_WARNINGS_FATAL), true)
+ifeq ($(JAVAC_MAX_WARNINGS), true)
+ BOOT_JAVACFLAGS += -Xlint:all
+endif
+ifeq ($(JAVAC_WARNINGS_FATAL), true)
BOOT_JAVACFLAGS += -Werror
endif
BOOT_JAVACFLAGS += -encoding ascii
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/common/shared/Defs.gmk
--- a/jdk/make/common/shared/Defs.gmk Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/common/shared/Defs.gmk Fri Aug 01 15:21:56 2008 -0700
@@ -188,16 +188,18 @@
endif
# Default names
-LAUNCHER_NAME = java
-PRODUCT_NAME = Java(TM)
-PRODUCT_SUFFIX = SE Runtime Environment
-COMPANY_NAME = Sun Microsystems, Inc.
-
ifdef OPENJDK
LAUNCHER_NAME = openjdk
PRODUCT_NAME = OpenJDK
PRODUCT_SUFFIX = Runtime Environment
- COMPANY_NAME =
+ JDK_RC_PLATFORM_NAME = Platform
+ COMPANY_NAME = N/A
+else
+ LAUNCHER_NAME = java
+ PRODUCT_NAME = Java(TM)
+ PRODUCT_SUFFIX = SE Runtime Environment
+ JDK_RC_PLATFORM_NAME = Platform SE
+ COMPANY_NAME = Sun Microsystems, Inc.
endif
RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX)
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/common/shared/Platform.gmk
--- a/jdk/make/common/shared/Platform.gmk Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/common/shared/Platform.gmk Fri Aug 01 15:21:56 2008 -0700
@@ -373,35 +373,41 @@
REQUIRED_DXSDK_VER = 0x0700
OS_VENDOR = Microsoft
# How much RAM does this machine have:
- ifeq ($(USING_CYGWIN),true)
- # CYGWIN has the 'free' utility
- _MB_OF_MEMORY := \
- $(shell free -m | grep Mem: | awk '{print $$2;}' )
- else
- # Windows 2000 has the mem utility, but two memory areas
- # extended memory is what is beyond 1024M
- _B_OF_EXT_MEMORY := \
- $(shell mem 2> $(DEV_NULL) | grep 'total contiguous extended memory' | awk '{print $$1;}')
- ifeq ($(_B_OF_EXT_MEMORY),)
- _B_OF_MEMORY := \
- $(shell mem 2> $(DEV_NULL) | grep 'total conventional memory' | awk '{print $$1;}')
+ ifeq ($(JDK_HAS_MEM_INFO),)
+ ifeq ($(USING_CYGWIN),true)
+ # CYGWIN has the 'free' utility
+ _MB_OF_MEMORY := \
+ $(shell free -m | grep Mem: | awk '{print $$2;}' )
else
- _B_OF_MEMORY := \
- $(shell expr 1048576 '+' $(_B_OF_EXT_MEMORY) 2> $(DEV_NULL))
+ # Windows 2000 has the mem utility, but two memory areas
+ # extended memory is what is beyond 1024M
+ _B_OF_EXT_MEMORY := \
+ $(shell mem 2> $(DEV_NULL) | \
+ grep 'total contiguous extended memory' | awk '{print $$1;}')
+ ifeq ($(_B_OF_EXT_MEMORY),)
+ _B_OF_MEMORY := \
+ $(shell mem 2> $(DEV_NULL) | \
+ grep 'total conventional memory' | awk '{print $$1;}')
+ else
+ _B_OF_MEMORY := \
+ $(shell expr 1048576 '+' $(_B_OF_EXT_MEMORY) 2> $(DEV_NULL))
+ endif
+ ifeq ($(_B_OF_MEMORY),)
+ # Windows 2003 has the systeminfo utility use it if mem doesn't work
+ _MB_OF_MEMORY := \
+ $(shell systeminfo 2> $(DEV_NULL) | \
+ grep 'Total Physical Memory:' | \
+ awk '{print $$4;}' | sed -e 's@,@@')
+ else
+ _MB_OF_MEMORY := $(shell expr $(_B_OF_MEMORY) '/' 1024 2> $(DEV_NULL))
+ endif
endif
- ifeq ($(_B_OF_MEMORY),)
- # Windows 2003 has the systeminfo utility use it if mem doesn't work
- _MB_OF_MEMORY := \
- $(shell systeminfo 2> $(DEV_NULL) | grep 'Total Physical Memory:' | awk '{print $$4;}' | sed -e 's@,@@')
+ ifeq ($(shell expr $(_MB_OF_MEMORY) '+' 0 2> $(DEV_NULL)), $(_MB_OF_MEMORY))
+ MB_OF_MEMORY := $(_MB_OF_MEMORY)
else
- _MB_OF_MEMORY := $(shell expr $(_B_OF_MEMORY) '/' 1024 2> $(DEV_NULL))
+ MB_OF_MEMORY := 512
endif
endif
- ifeq ($(shell expr $(_MB_OF_MEMORY) '+' 0 2> $(DEV_NULL)), $(_MB_OF_MEMORY))
- MB_OF_MEMORY := $(_MB_OF_MEMORY)
- else
- MB_OF_MEMORY := 512
- endif
endif
REQUIRED_ZIP_VER = 2.2
@@ -446,30 +452,38 @@
# system swapping during the build.
# If we don't know, assume 512. Subtract 128 from MB for VM MAX.
# Don't set VM max over 1024-128=896.
-ifneq ($(MB_OF_MEMORY),)
- LOW_MEMORY_MACHINE := $(shell \
- if [ $(MB_OF_MEMORY) -le 512 ] ; then \
- echo "true"; \
- else \
- echo "false"; \
- fi)
- MAX_VM_MEMORY := $(shell \
- if [ $(MB_OF_MEMORY) -le 1024 ] ; then \
- expr $(MB_OF_MEMORY) '-' 128 2> $(DEV_NULL) ; \
- else \
- echo "896"; \
- fi)
- MIN_VM_MEMORY := $(shell \
- if [ $(MAX_VM_MEMORY) -le 128 ] ; then \
- expr $(MAX_VM_MEMORY) '-' 8 2> $(DEV_NULL) ; \
- else \
- echo "128"; \
- fi)
-else
- MB_OF_MEMORY := unknown
- LOW_MEMORY_MACHINE := true
- MAX_VM_MEMORY := 384
- MIN_VM_MEMORY := 128
+ifeq ($(JDK_HAS_MEM_INFO),)
+ JDK_HAS_MEM_INFO=true
+ export JDK_HAS_MEM_INFO
+ ifneq ($(MB_OF_MEMORY),)
+ LOW_MEMORY_MACHINE := $(shell \
+ if [ $(MB_OF_MEMORY) -le 512 ] ; then \
+ echo "true"; \
+ else \
+ echo "false"; \
+ fi)
+ MAX_VM_MEMORY := $(shell \
+ if [ $(MB_OF_MEMORY) -le 1024 ] ; then \
+ expr $(MB_OF_MEMORY) '-' 128 2> $(DEV_NULL) ; \
+ else \
+ echo "896"; \
+ fi)
+ MIN_VM_MEMORY := $(shell \
+ if [ $(MAX_VM_MEMORY) -le 128 ] ; then \
+ expr $(MAX_VM_MEMORY) '-' 8 2> $(DEV_NULL) ; \
+ else \
+ echo "128"; \
+ fi)
+ else
+ MB_OF_MEMORY := unknown
+ LOW_MEMORY_MACHINE := true
+ MAX_VM_MEMORY := 384
+ MIN_VM_MEMORY := 128
+ endif
+ export MB_OF_MEMORY
+ export LOW_MEMORY_MACHINE
+ export MAX_VM_MEMORY
+ export MIN_VM_MEMORY
endif
# If blanks in the username, use the first 4 words and pack them together
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/fdlibm/Makefile
--- a/jdk/make/java/fdlibm/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/fdlibm/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -46,8 +46,6 @@
_OPT = $(CC_NO_OPT)
OTHER_CFLAGS =
CPPFLAGS_DBG += -DLOGGING
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
endif
#
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/hpi/windows/Makefile
--- a/jdk/make/java/hpi/windows/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/hpi/windows/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -37,8 +37,6 @@
# windows compiler flags
ifeq ($(PLATFORM),windows)
CPPFLAGS_DBG += -DLOGGING
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
endif
FILES_c = \
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/java/Makefile
--- a/jdk/make/java/java/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/java/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -37,8 +37,6 @@
# windows compiler flags
ifeq ($(PLATFORM),windows)
OTHER_CFLAGS =
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
# build directly into BINDIR...
LIB_LOCATION = $(BINDIR)
# Exported functions
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/java_crw_demo/Makefile
--- a/jdk/make/java/java_crw_demo/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/java_crw_demo/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -48,11 +48,6 @@
OTHER_INCLUDES = -I$(SRCDIR)
#
-# This removes all asserts in the optimized version
-#
-CPPFLAGS_OPT += -DNDEBUG
-
-#
# Library to compile.
#
include $(BUILDDIR)/common/Library.gmk
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/java_hprof_demo/Makefile
--- a/jdk/make/java/java_hprof_demo/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/java_hprof_demo/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -92,11 +92,6 @@
INIT += $(LIBDIR)/jvm.hprof.txt
#
-# This removes all asserts in the optimized version
-#
-CPPFLAGS_OPT += -DNDEBUG
-
-#
# This puts logging code in
#
CPPFLAGS_DBG += -DHPROF_LOGGING
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/jli/Makefile
--- a/jdk/make/java/jli/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/jli/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -115,9 +115,6 @@
-export:JLI_ManifestIterate \
-export:JLI_SetTraceLauncher
- # Files from zlib built here do not compile with warning level 3
- # if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
endif
OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/net/Makefile
--- a/jdk/make/java/net/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/net/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -94,8 +94,6 @@
ifeq ($(PLATFORM), windows)
OTHER_LDLIBS = ws2_32.lib $(JVMLIB)
- # Will not compile at warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
else
OTHER_LDLIBS = $(LIBSOCKET) -lnsl -ldl $(JVMLIB)
endif
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/nio/Makefile
--- a/jdk/make/java/nio/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/nio/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -134,7 +134,6 @@
$(OBJDIR)/../../../java.lang/java/$(OBJDIRNAME)/FileDescriptor_md.obj
endif
ifeq ($(PLATFORM), linux)
-COMPILER_WARNINGS_FATAL=true
OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
endif
ifeq ($(PLATFORM), solaris)
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/npt/Makefile
--- a/jdk/make/java/npt/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/npt/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -53,11 +53,6 @@
OTHER_INCLUDES = -I$(SRCDIR) -I$(PSRCDIR)
#
-# This removes all asserts in the optimized version
-#
-CPPFLAGS_OPT += -DNDEBUG
-
-#
# Library to compile.
#
include $(BUILDDIR)/common/Library.gmk
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/verify/Makefile
--- a/jdk/make/java/verify/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/verify/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -43,8 +43,6 @@
#
JAVALIB =
EXTRA_LIBS =
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
endif
#
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/java/zip/Makefile
--- a/jdk/make/java/zip/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/java/zip/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -49,9 +49,6 @@
ifneq ($(PLATFORM), windows)
OTHER_CFLAGS += -DUSE_MMAP
-else
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
endif
#
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/jpda/back/Makefile
--- a/jdk/make/jpda/back/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/jpda/back/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -53,11 +53,6 @@
endif # PLATFORM
#
-# This turns off all assert() checking in the optimized library
-#
-CPPFLAGS_OPT += -DNDEBUG
-
-#
# This controls the ability to do logging in the library.
#
CPPFLAGS_DBG += -DJDWP_LOGGING
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/jpda/transport/shmem/Makefile
--- a/jdk/make/jpda/transport/shmem/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/jpda/transport/shmem/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -36,13 +36,6 @@
include $(BUILDDIR)/common/Defs.gmk
-# 64-bit windows does not build at -W3 if warnings are fatal
-ifeq ($(PLATFORM), windows)
- ifeq ($(ARCH_DATA_MODEL), 64)
- COMPILER_WARNINGS_FATAL=false
- endif
-endif
-
FILES_c = \
SharedMemoryTransport.c \
SharedMemoryConnection.c \
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/jpda/transport/socket/Makefile
--- a/jdk/make/jpda/transport/socket/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/jpda/transport/socket/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -36,11 +36,6 @@
include $(BUILDDIR)/common/Defs.gmk
-ifeq ($(PLATFORM), windows)
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
-endif
-
ifeq ($(PLATFORM), linux)
OTHER_LDLIBS += -lnsl $(LIBSOCKET) -lpthread
endif
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/sun/cmm/kcms/Makefile
--- a/jdk/make/sun/cmm/kcms/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/sun/cmm/kcms/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -47,8 +47,6 @@
ifeq ($(PLATFORM), windows)
# Override the default version info with our own resource file (see 5043594)
VERSIONINFO_RESOURCE = $(CLOSED_SRC)/share/native/sun/java2d/cmm/kcms/cmm.rc
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
endif
# Rules
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/sun/font/Makefile
--- a/jdk/make/sun/font/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/sun/font/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -77,9 +77,6 @@
ifeq ($(PLATFORM), windows)
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
-
LDLIBS += user32.lib gdi32.lib $(OBJDIR)/../../../sun.awt/awt/$(OBJDIRNAME)/awt.lib
OTHER_CFLAGS += -DCC_NOEX
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/sun/font/t2k/Makefile
--- a/jdk/make/sun/font/t2k/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/sun/font/t2k/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -64,9 +64,6 @@
ifeq ($(PLATFORM), windows)
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
-
# t2k imports several shared methods from fontmanager.dll
LDLIBS += user32.lib $(OBJDIR)/../../../sun.font/fontmanager/$(OBJDIRNAME)/fontmanager.lib
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/sun/jdbc/Makefile
--- a/jdk/make/sun/jdbc/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/sun/jdbc/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -69,11 +69,6 @@
INIT += $(ODBC_FAKE_LIBRARIES)
endif
-ifeq ($(PLATFORM),windows)
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
-endif
-
#
# Rules
#
diff -r e3d549324eb4 -r f7883d455c62 jdk/make/sun/jpeg/Makefile
--- a/jdk/make/sun/jpeg/Makefile Tue Jul 29 16:57:09 2008 -0700
+++ b/jdk/make/sun/jpeg/Makefile Fri Aug 01 15:21:56 2008 -0700
@@ -73,10 +73,5 @@
#
vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/jpeg
-ifeq ($(PLATFORM), windows)
- # Files built here do not compile with warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
-endif # PLATFORM
-
CLASSES.export += java.io.InputStream
diff -r e3d549324eb4 -r f7883d455c62 langtools/.hgtags
--- a/langtools/.hgtags Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/.hgtags Fri Aug 01 15:21:56 2008 -0700
@@ -5,3 +5,4 @@
4ef4bd31856949554967fbf22783babb21a62a0e jdk7-b28
dec081837b01d509dcc2b9de86a4299c1ec17e04 jdk7-b29
eaf608c64fecf70f955dc9f29f94c055b183aeec jdk7-b30
+07c916ecfc71f6bf432e4ff09bfbfb6290b5703c jdk7-b31
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/classfile/Attributes.java
--- a/langtools/src/share/classes/com/sun/tools/classfile/Attributes.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/classfile/Attributes.java Fri Aug 01 15:21:56 2008 -0700
@@ -78,6 +78,19 @@
return map.get(name);
}
+ public int getIndex(ConstantPool constant_pool, String name) {
+ for (int i = 0; i < attrs.length; i++) {
+ Attribute attr = attrs[i];
+ try {
+ if (attr != null && attr.getName(constant_pool).equals(name))
+ return i;
+ } catch (ConstantPoolException e) {
+ // ignore invalid entries
+ }
+ }
+ return -1;
+ }
+
public int size() {
return attrs.length;
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/classfile/Type.java
--- a/langtools/src/share/classes/com/sun/tools/classfile/Type.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/classfile/Type.java Fri Aug 01 15:21:56 2008 -0700
@@ -36,10 +36,6 @@
public class Type {
protected Type() { }
- public boolean isObject() {
- return false;
- }
-
protected static void append(StringBuilder sb, String prefix, List extends Type> types, String suffix) {
sb.append(prefix);
String sep = "";
@@ -66,11 +62,6 @@
return name;
}
- @Override
- public boolean isObject() {
- return name.equals("java.lang.Object");
- }
-
public final String name;
}
@@ -129,7 +120,7 @@
public String toString() {
StringBuilder sb = new StringBuilder();
appendIfNotEmpty(sb, "<", typeArgTypes, ">");
- if (superclassType != null && !superclassType.isObject()) {
+ if (superclassType != null) {
sb.append(" extends ");
sb.append(superclassType);
}
@@ -188,7 +179,7 @@
StringBuilder sb = new StringBuilder();
sb.append(name);
String sep = " extends ";
- if (classBound != null && !classBound.isObject()) {
+ if (classBound != null) {
sb.append(sep);
sb.append(classBound);
sep = " & ";
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java Fri Aug 01 15:21:56 2008 -0700
@@ -345,18 +345,18 @@
/**
* Print use info.
*/
- protected void printUseInfo(Object mems, String heading) {
+ protected void printUseInfo(List extends ProgramElementDoc> mems, String heading) {
if (mems == null) {
return;
}
- List members = (List)mems;
+ List extends ProgramElementDoc> members = mems;
if (members.size() > 0) {
writer.tableIndexSummary();
writer.tableUseInfoHeaderStart("#CCCCFF");
writer.print(heading);
writer.tableHeaderEnd();
- for (Iterator it = members.iterator(); it.hasNext(); ) {
- ProgramElementDoc pgmdoc = (ProgramElementDoc)it.next();
+ for (Iterator extends ProgramElementDoc> it = members.iterator(); it.hasNext(); ) {
+ ProgramElementDoc pgmdoc = it.next();
ClassDoc cd = pgmdoc.containingClass();
writer.printSummaryLinkType(this, pgmdoc);
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java Fri Aug 01 15:21:56 2008 -0700
@@ -39,28 +39,28 @@
final ClassDoc classdoc;
Set pkgToPackageAnnotations = null;
- final Map pkgToClassTypeParameter;
- final Map pkgToClassAnnotations;
- final Map pkgToMethodTypeParameter;
- final Map pkgToMethodArgTypeParameter;
- final Map pkgToMethodReturnTypeParameter;
- final Map pkgToMethodAnnotations;
- final Map pkgToMethodParameterAnnotations;
- final Map pkgToFieldTypeParameter;
- final Map pkgToFieldAnnotations;
- final Map pkgToSubclass;
- final Map pkgToSubinterface;
- final Map pkgToImplementingClass;
- final Map pkgToField;
- final Map pkgToMethodReturn;
- final Map pkgToMethodArgs;
- final Map pkgToMethodThrows;
- final Map pkgToConstructorAnnotations;
- final Map pkgToConstructorParameterAnnotations;
- final Map pkgToConstructorArgs;
- final Map pkgToConstructorArgTypeParameter;
- final Map pkgToConstructorThrows;
- final SortedSet pkgSet;
+ final Map> pkgToClassTypeParameter;
+ final Map> pkgToClassAnnotations;
+ final Map> pkgToMethodTypeParameter;
+ final Map> pkgToMethodArgTypeParameter;
+ final Map> pkgToMethodReturnTypeParameter;
+ final Map> pkgToMethodAnnotations;
+ final Map> pkgToMethodParameterAnnotations;
+ final Map> pkgToFieldTypeParameter;
+ final Map> pkgToFieldAnnotations;
+ final Map> pkgToSubclass;
+ final Map> pkgToSubinterface;
+ final Map> pkgToImplementingClass;
+ final Map> pkgToField;
+ final Map> pkgToMethodReturn;
+ final Map> pkgToMethodArgs;
+ final Map> pkgToMethodThrows;
+ final Map> pkgToConstructorAnnotations;
+ final Map> pkgToConstructorParameterAnnotations;
+ final Map> pkgToConstructorArgs;
+ final Map> pkgToConstructorArgTypeParameter;
+ final Map> pkgToConstructorThrows;
+ final SortedSet pkgSet;
final MethodWriterImpl methodSubWriter;
final ConstructorWriterImpl constrSubWriter;
final FieldWriterImpl fieldSubWriter;
@@ -81,9 +81,9 @@
super(configuration, path, filename, relpath);
this.classdoc = classdoc;
if (mapper.classToPackageAnnotations.containsKey(classdoc.qualifiedName()))
- pkgToPackageAnnotations = new HashSet((List) mapper.classToPackageAnnotations.get(classdoc.qualifiedName()));
+ pkgToPackageAnnotations = new HashSet(mapper.classToPackageAnnotations.get(classdoc.qualifiedName()));
configuration.currentcd = classdoc;
- this.pkgSet = new TreeSet();
+ this.pkgSet = new TreeSet();
this.pkgToClassTypeParameter = pkgDivide(mapper.classToClassTypeParam);
this.pkgToClassAnnotations = pkgDivide(mapper.classToClassAnnotations);
this.pkgToMethodTypeParameter = pkgDivide(mapper.classToExecMemberDocTypeParam);
@@ -135,19 +135,19 @@
}
}
- private Map pkgDivide(Map classMap) {
- Map map = new HashMap();
- List list= (List)classMap.get(classdoc.qualifiedName());
+ private Map> pkgDivide(Map> classMap) {
+ Map> map = new HashMap>();
+ List extends ProgramElementDoc> list= classMap.get(classdoc.qualifiedName());
if (list != null) {
Collections.sort(list);
- Iterator it = list.iterator();
+ Iterator extends ProgramElementDoc> it = list.iterator();
while (it.hasNext()) {
- ProgramElementDoc doc = (ProgramElementDoc)it.next();
+ ProgramElementDoc doc = it.next();
PackageDoc pkg = doc.containingPackage();
pkgSet.add(pkg);
- List inPkg = (List)map.get(pkg.name());
+ List inPkg = map.get(pkg.name());
if (inPkg == null) {
- inPkg = new ArrayList();
+ inPkg = new ArrayList();
map.put(pkg.name(), inPkg);
}
inPkg.add(doc);
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java Fri Aug 01 15:21:56 2008 -0700
@@ -253,7 +253,7 @@
}
}
if (root.specifiedClasses().length > 0) {
- Map map = new HashMap();
+ Map map = new HashMap();
PackageDoc pd;
ClassDoc[] classes = root.classes();
for (int i = 0; i < classes.length; i++) {
@@ -481,7 +481,7 @@
/**
* {@inheritDoc}
*/
- public Comparator getMemberComparator() {
+ public Comparator getMemberComparator() {
return null;
}
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java Fri Aug 01 15:21:56 2008 -0700
@@ -107,7 +107,7 @@
/**
* {@inheritDoc}
*/
- public void writeLinkToPackageContent(PackageDoc pkg, String parsedPackageName, Set printedPackageHeaders) {
+ public void writeLinkToPackageContent(PackageDoc pkg, String parsedPackageName, Set printedPackageHeaders) {
String packageName = pkg.name();
//add link to summary
li();
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java Fri Aug 01 15:21:56 2008 -0700
@@ -55,10 +55,10 @@
super(writer, classDoc);
VisibleMemberMap visibleMemberMap = new VisibleMemberMap(classDoc,
VisibleMemberMap.CONSTRUCTORS, configuration().nodeprecated);
- List constructors = new ArrayList(visibleMemberMap.getMembersFor(classDoc));
+ List constructors = new ArrayList(visibleMemberMap.getMembersFor(classDoc));
for (int i = 0; i < constructors.size(); i++) {
- if (((ProgramElementDoc)(constructors.get(i))).isProtected() ||
- ((ProgramElementDoc)(constructors.get(i))).isPrivate()) {
+ if ((constructors.get(i)).isProtected() ||
+ (constructors.get(i)).isPrivate()) {
setFoundNonPubConstructor(true);
}
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Fri Aug 01 15:21:56 2008 -0700
@@ -1463,7 +1463,7 @@
int originalLength = result.length();
TagletOutput output = TagletWriter.getInlineTagOuput(
configuration.tagletManager, holderTag,
- (Tag) tagelem, getTagletWriterInstance(isFirstSentence));
+ tagelem, getTagletWriterInstance(isFirstSentence));
result.append(output == null ? "" : output.toString());
if (originalLength == 0 && isFirstSentence && tagelem.name().equals("@inheritDoc") && result.length() > 0) {
break;
@@ -1750,8 +1750,8 @@
* @return an array of strings representing the annotations being
* documented.
*/
- private List getAnnotations(int indent, AnnotationDesc[] descList, boolean linkBreak) {
- List results = new ArrayList();
+ private List getAnnotations(int indent, AnnotationDesc[] descList, boolean linkBreak) {
+ List results = new ArrayList();
StringBuffer annotation;
for (int i = 0; i < descList.length; i++) {
AnnotationTypeDoc annotationDoc = descList[i].annotationType();
@@ -1781,7 +1781,7 @@
pairs[j].element(), pairs[j].element().name(), false));
annotation.append('=');
AnnotationValue annotationValue = pairs[j].value();
- List annotationTypeValues = new ArrayList();
+ List annotationTypeValues = new ArrayList();
if (annotationValue.value() instanceof AnnotationValue[]) {
AnnotationValue[] annotationArray =
(AnnotationValue[]) annotationValue.value();
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java Fri Aug 01 15:21:56 2008 -0700
@@ -90,7 +90,7 @@
tagletManager.getSerializedFormTags(),
writer.getTagletWriterInstance(false), output);
print(output.toString());
- MethodDoc method = (MethodDoc)member;
+ MethodDoc method = member;
if (method.name().compareTo("writeExternal") == 0
&& method.tags("serialData").length == 0) {
serialWarning(member.position(), "doclet.MissingSerialDataTag",
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java Fri Aug 01 15:21:56 2008 -0700
@@ -73,7 +73,7 @@
super(configuration, DirectoryManager.getDirectoryPath(packageDoc), OUTPUT_FILE_NAME, DirectoryManager.getRelativePath(packageDoc));
this.packageDoc = packageDoc;
if (configuration.root.specifiedPackages().length == 0) {
- documentedClasses = new HashSet(Arrays.asList(configuration.root.classes()));
+ documentedClasses = new HashSet(Arrays.asList(configuration.root.classes()));
}
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Fri Aug 01 15:21:56 2008 -0700
@@ -49,7 +49,7 @@
*
* @see Group
*/
- private Map groupPackageMap;
+ private Map> groupPackageMap;
/**
* List to store the order groups as specified on the command line.
@@ -120,10 +120,9 @@
protected void generateIndex() {
for (int i = 0; i < groupList.size(); i++) {
String groupname = (String)groupList.get(i);
- List list = (List)groupPackageMap.get(groupname);
+ List list = groupPackageMap.get(groupname);
if (list != null && list.size() > 0) {
- printIndexContents((PackageDoc[])list.
- toArray(new PackageDoc[list.size()]),
+ printIndexContents(list.toArray(new PackageDoc[list.size()]),
groupname);
}
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java Fri Aug 01 15:21:56 2008 -0700
@@ -38,7 +38,7 @@
public class PackageUseWriter extends SubWriterHolderWriter {
final PackageDoc pkgdoc;
- final SortedMap usingPackageToUsedClasses = new TreeMap();
+ final SortedMap> usingPackageToUsedClasses = new TreeMap>();
/**
* Constructor.
@@ -61,15 +61,15 @@
ClassDoc[] content = pkgdoc.allClasses();
for (int i = 0; i < content.length; ++i) {
ClassDoc usedClass = content[i];
- Set usingClasses = (Set)mapper.classToClass.get(usedClass.qualifiedName());
+ Set usingClasses = mapper.classToClass.get(usedClass.qualifiedName());
if (usingClasses != null) {
for (Iterator it = usingClasses.iterator(); it.hasNext(); ) {
ClassDoc usingClass = (ClassDoc)it.next();
PackageDoc usingPackage = usingClass.containingPackage();
- Set usedClasses = (Set)usingPackageToUsedClasses
+ Set usedClasses = usingPackageToUsedClasses
.get(usingPackage.name());
if (usedClasses == null) {
- usedClasses = new TreeSet();
+ usedClasses = new TreeSet();
usingPackageToUsedClasses.put(Util.getPackageName(usingPackage),
usedClasses);
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java Fri Aug 01 15:21:56 2008 -0700
@@ -120,12 +120,12 @@
/**
* The list of doc-file subdirectories to exclude
*/
- protected Set excludedDocFileDirs;
+ protected Set excludedDocFileDirs;
/**
* The list of qualifiers to exclude
*/
- protected Set excludedQualifiers;
+ protected Set excludedQualifiers;
/**
* The Root of the generated Program Structure from the Doclet API.
@@ -255,8 +255,8 @@
message =
new MessageRetriever(this,
"com.sun.tools.doclets.internal.toolkit.resources.doclets");
- excludedDocFileDirs = new HashSet();
- excludedQualifiers = new HashSet();
+ excludedDocFileDirs = new HashSet();
+ excludedQualifiers = new HashSet();
}
/**
@@ -329,14 +329,14 @@
DocErrorReporter reporter);
private void initPackageArray() {
- Set set = new HashSet(Arrays.asList(root.specifiedPackages()));
+ Set set = new HashSet(Arrays.asList(root.specifiedPackages()));
ClassDoc[] classes = root.specifiedClasses();
for (int i = 0; i < classes.length; i++) {
set.add(classes[i].containingPackage());
}
- ArrayList results = new ArrayList(set);
+ ArrayList results = new ArrayList(set);
Collections.sort(results);
- packages = (PackageDoc[]) results.toArray(new PackageDoc[] {});
+ packages = results.toArray(new PackageDoc[] {});
}
/**
@@ -345,7 +345,7 @@
* @param options the two dimensional array of options.
*/
public void setOptions(String[][] options) {
- LinkedHashSet customTagStrs = new LinkedHashSet();
+ LinkedHashSet customTagStrs = new LinkedHashSet();
for (int oi = 0; oi < options.length; ++oi) {
String[] os = options[oi];
String opt = os[0].toLowerCase();
@@ -476,7 +476,7 @@
}
}
- private void addToSet(Set s, String str){
+ private void addToSet(Set s, String str){
StringTokenizer st = new StringTokenizer(str, ":");
String current;
while(st.hasMoreTokens()){
@@ -712,5 +712,5 @@
*
* @return the {@link java.util.Comparator} used to sort members.
*/
- public abstract Comparator getMemberComparator();
+ public abstract Comparator getMemberComparator();
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java Fri Aug 01 15:21:56 2008 -0700
@@ -79,7 +79,7 @@
* something more than once.
*/
public abstract void writeLinkToPackageContent(PackageDoc pkg, String parsedPackageName,
- Set WriteedPackageHeaders);
+ Set WriteedPackageHeaders);
/**
* Write the given package name.
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -61,7 +61,7 @@
* efficiency purposes. We don't want to copy the
* doc files multiple times for a single package.
*/
- protected static Set containingPackagesSeen;
+ protected static Set containingPackagesSeen;
/**
* True if we want to print debug output.
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -84,7 +84,7 @@
builder.annotationTypeDoc = annotationTypeDoc;
builder.writer = writer;
if(containingPackagesSeen == null) {
- containingPackagesSeen = new HashSet();
+ containingPackagesSeen = new HashSet();
}
return builder;
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -73,7 +73,7 @@
builder.writer = writer;
builder.visibleMemberMap = new VisibleMemberMap(classDoc,
VisibleMemberMap.ANNOTATION_TYPE_MEMBER_OPTIONAL, configuration.nodeprecated);
- builder.members = new ArrayList(
+ builder.members = new ArrayList(
builder.visibleMemberMap.getMembersFor(classDoc));
if (configuration.getMemberComparator() != null) {
Collections.sort(builder.members,
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -62,7 +62,7 @@
/**
* The list of members being documented.
*/
- protected List members;
+ protected List members;
/**
* The index of the current member that is being documented at this point
@@ -97,7 +97,7 @@
builder.writer = writer;
builder.visibleMemberMap = new VisibleMemberMap(classDoc,
VisibleMemberMap.ANNOTATION_TYPE_MEMBER_REQUIRED, configuration.nodeprecated);
- builder.members = new ArrayList(
+ builder.members = new ArrayList(
builder.visibleMemberMap.getMembersFor(classDoc));
if (configuration.getMemberComparator() != null) {
Collections.sort(builder.members,
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -100,7 +100,7 @@
Util.setEnumDocumentation(configuration, classDoc);
}
if(containingPackagesSeen == null) {
- containingPackagesSeen = new HashSet();
+ containingPackagesSeen = new HashSet();
}
return builder;
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -63,12 +63,12 @@
/**
* The set of ClassDocs that have constant fields.
*/
- protected Set classDocsWithConstFields;
+ protected Set classDocsWithConstFields;
/**
* The set of printed package headers.
*/
- protected Set printedPackageHeaders;
+ protected Set printedPackageHeaders;
/**
* The current package being documented.
@@ -102,7 +102,7 @@
ConstantsSummaryBuilder builder = new ConstantsSummaryBuilder(
configuration);
builder.writer = writer;
- builder.classDocsWithConstFields = new HashSet();
+ builder.classDocsWithConstFields = new HashSet();
return builder;
}
@@ -169,7 +169,7 @@
public void buildContents() {
writer.writeContentsHeader();
PackageDoc[] packages = configuration.packages;
- printedPackageHeaders = new HashSet();
+ printedPackageHeaders = new HashSet();
for (int i = 0; i < packages.length; i++) {
if (hasConstantField(packages[i]) && ! hasPrintedPackageIndex(packages[i].name())) {
writer.writeLinkToPackageContent(packages[i],
@@ -188,7 +188,7 @@
*/
public void buildConstantSummaries(List elements) {
PackageDoc[] packages = configuration.packages;
- printedPackageHeaders = new HashSet();
+ printedPackageHeaders = new HashSet();
for (int i = 0; i < packages.length; i++) {
if (hasConstantField(packages[i])) {
currentPackage = packages[i];
@@ -315,7 +315,7 @@
* @param pkgname the name of the package to check.
*/
private boolean hasPrintedPackageIndex(String pkgname) {
- String[] list = (String[])printedPackageHeaders.toArray(new String[] {});
+ String[] list = printedPackageHeaders.toArray(new String[] {});
for (int i = 0; i < list.length; i++) {
if (pkgname.startsWith(list[i])) {
return true;
@@ -363,7 +363,7 @@
* Builds the table of constants for a given class.
*/
protected void buildMembersSummary() {
- List members = new ArrayList(members());
+ List members = new ArrayList(members());
if (members.size() > 0) {
Collections.sort(members);
writer.writeConstantMembers(classdoc, members);
@@ -375,17 +375,17 @@
* @param cd the classdoc to examine.
* @return the list of visible constant fields for the given classdoc.
*/
- protected List members() {
- List l = visibleMemberMapFields.getLeafClassMembers(configuration);
+ protected List members() {
+ List l = visibleMemberMapFields.getLeafClassMembers(configuration);
l.addAll(visibleMemberMapEnumConst.getLeafClassMembers(configuration));
- Iterator iter;
+ Iterator iter;
if(l != null){
iter = l.iterator();
} else {
return null;
}
- List inclList = new LinkedList();
+ List inclList = new LinkedList();
FieldDoc member;
while(iter.hasNext()){
member = (FieldDoc)iter.next();
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -72,7 +72,7 @@
/**
* The constructors being documented.
*/
- private List constructors;
+ private List constructors;
/**
* Construct a new ConstructorBuilder.
@@ -104,12 +104,10 @@
VisibleMemberMap.CONSTRUCTORS,
configuration.nodeprecated);
builder.constructors =
- new ArrayList(builder.visibleMemberMap.getMembersFor(classDoc));
+ new ArrayList(builder.visibleMemberMap.getMembersFor(classDoc));
for (int i = 0; i < builder.constructors.size(); i++) {
- if (((ProgramElementDoc) (builder.constructors.get(i)))
- .isProtected()
- || ((ProgramElementDoc) (builder.constructors.get(i)))
- .isPrivate()) {
+ if (builder.constructors.get(i).isProtected()
+ || builder.constructors.get(i).isPrivate()) {
writer.setFoundNonPubConstructor(true);
}
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -61,7 +61,7 @@
/**
* The list of enum constants being documented.
*/
- private List enumConstants;
+ private List enumConstants;
/**
* The index of the current enum constant that is being documented at this point
@@ -99,7 +99,7 @@
VisibleMemberMap.ENUM_CONSTANTS,
configuration.nodeprecated);
builder.enumConstants =
- new ArrayList(builder.visibleMemberMap.getMembersFor(classDoc));
+ new ArrayList(builder.visibleMemberMap.getMembersFor(classDoc));
if (configuration.getMemberComparator() != null) {
Collections.sort(
builder.enumConstants,
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -61,7 +61,7 @@
/**
* The list of fields being documented.
*/
- private List fields;
+ private List fields;
/**
* The index of the current field that is being documented at this point
@@ -99,8 +99,8 @@
VisibleMemberMap.FIELDS,
configuration.nodeprecated);
builder.fields =
- new ArrayList(builder.visibleMemberMap.getLeafClassMembers(
- configuration));
+ new ArrayList(builder.visibleMemberMap.getLeafClassMembers(
+ configuration));
if (configuration.getMemberComparator() != null) {
Collections.sort(
builder.fields,
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java Fri Aug 01 15:21:56 2008 -0700
@@ -45,7 +45,7 @@
/**
* The map of XML elements that have been parsed.
*/
- private Map xmlElementsMap;
+ private Map> xmlElementsMap;
private Configuration configuration;
private static LayoutParser instance;
@@ -56,7 +56,7 @@
* This class is a singleton.
*/
private LayoutParser(Configuration configuration) {
- xmlElementsMap = new HashMap();
+ xmlElementsMap = new HashMap>();
this.configuration = configuration;
}
@@ -83,7 +83,7 @@
return (List) xmlElementsMap.get(root);
}
try {
- List xmlElements = new ArrayList();
+ List xmlElements = new ArrayList();
xmlElementsMap.put(root, xmlElements);
currentRoot = root;
isParsing = false;
@@ -106,7 +106,7 @@
throws SAXException {
if (isParsing || qName.equals(currentRoot)) {
isParsing = true;
- List xmlElements = (List) xmlElementsMap.get(currentRoot);
+ List xmlElements = xmlElementsMap.get(currentRoot);
xmlElements.add(qName);
}
}
@@ -120,11 +120,11 @@
isParsing = false;
return;
}
- List xmlElements = (List) xmlElementsMap.get(currentRoot);
+ List xmlElements = xmlElementsMap.get(currentRoot);
if (xmlElements.get(xmlElements.size()-1).equals(qName)) {
return;
} else {
- List subElements = new ArrayList();
+ List subElements = new ArrayList();
int targetIndex = xmlElements.indexOf(qName);
int size = xmlElements.size();
for (int i = targetIndex; i < size; i++) {
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -306,13 +306,13 @@
*/
private void buildSummary(MemberSummaryWriter writer,
VisibleMemberMap visibleMemberMap) {
- List members = new ArrayList(visibleMemberMap.getLeafClassMembers(
+ List members = new ArrayList(visibleMemberMap.getLeafClassMembers(
configuration));
if (members.size() > 0) {
Collections.sort(members);
writer.writeMemberSummaryHeader(classDoc);
for (int i = 0; i < members.size(); i++) {
- ProgramElementDoc member = (ProgramElementDoc) members.get(i);
+ ProgramElementDoc member = members.get(i);
Tag[] firstSentenceTags = member.firstSentenceTags();
if (member instanceof MethodDoc && firstSentenceTags.length == 0) {
//Inherit comments from overriden or implemented method if
@@ -349,7 +349,7 @@
if (inhclass == classDoc) {
continue;
}
- List inhmembers = visibleMemberMap.getMembersFor(inhclass);
+ List inhmembers = visibleMemberMap.getMembersFor(inhclass);
if (inhmembers.size() > 0) {
Collections.sort(inhmembers);
writer.writeInheritedMemberSummaryHeader(inhclass);
@@ -358,7 +358,7 @@
inhclass.isPackagePrivate() &&
! Util.isLinkable(inhclass, configuration) ?
classDoc : inhclass,
- (ProgramElementDoc) inhmembers.get(j),
+ inhmembers.get(j),
j == 0,
j == inhmembers.size() - 1);
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java Fri Aug 01 15:21:56 2008 -0700
@@ -66,7 +66,7 @@
/**
* The methods being documented.
*/
- private List methods;
+ private List methods;
private MethodBuilder(Configuration configuration) {
super(configuration);
@@ -94,7 +94,7 @@
VisibleMemberMap.METHODS,
configuration.nodeprecated);
builder.methods =
- new ArrayList(builder.visibleMemberMap.getLeafClassMembers(
+ new ArrayList(builder.visibleMemberMap.getLeafClassMembers(
configuration));
if (configuration.getMemberComparator() != null) {
Collections.sort(
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java Fri Aug 01 15:21:56 2008 -0700
@@ -26,6 +26,7 @@
import java.util.Map;
import com.sun.javadoc.Tag;
+import com.sun.tools.doclets.Taglet;
/**
* An inline Taglet used to denote literal code fragments.
@@ -47,7 +48,7 @@
private static final String NAME = "code";
- public static void register(Map map) {
+ public static void register(Map map) {
map.remove(NAME);
map.put(NAME, new CodeTaglet());
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java Fri Aug 01 15:21:56 2008 -0700
@@ -46,7 +46,7 @@
private static final String NAME = "literal";
- public static void register(Map map) {
+ public static void register(Map map) {
map.remove(NAME);
map.put(NAME, new LiteralTaglet());
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java Fri Aug 01 15:21:56 2008 -0700
@@ -56,11 +56,11 @@
* check.
* @return a name-rank number map.
*/
- private static Map getRankMap(Object[] params){
+ private static Map getRankMap(Object[] params){
if (params == null) {
return null;
}
- HashMap result = new HashMap();
+ HashMap result = new HashMap();
for (int i = 0; i < params.length; i++) {
String name = params[i] instanceof Parameter ?
((Parameter) params[i]).name() :
@@ -192,7 +192,7 @@
private TagletOutput getTagletOutput(boolean isNonTypeParams, Doc holder,
TagletWriter writer, Object[] formalParameters, ParamTag[] paramTags) {
TagletOutput result = writer.getOutputInstance();
- Set alreadyDocumented = new HashSet();
+ Set alreadyDocumented = new HashSet();
if (paramTags.length > 0) {
result.appendOutput(
processParamTags(isNonTypeParams, paramTags,
@@ -214,7 +214,7 @@
*/
private TagletOutput getInheritedTagletOutput(boolean isNonTypeParams, Doc holder,
TagletWriter writer, Object[] formalParameters,
- Set alreadyDocumented) {
+ Set alreadyDocumented) {
TagletOutput result = writer.getOutputInstance();
if ((! alreadyDocumented.contains(null)) &&
holder instanceof MethodDoc) {
@@ -263,7 +263,7 @@
*/
private TagletOutput processParamTags(boolean isNonTypeParams,
ParamTag[] paramTags, Map rankMap, TagletWriter writer,
- Set alreadyDocumented) {
+ Set alreadyDocumented) {
TagletOutput result = writer.getOutputInstance();
if (paramTags.length > 0) {
for (int i = 0; i < paramTags.length; ++i) {
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java Fri Aug 01 15:21:56 2008 -0700
@@ -61,7 +61,7 @@
/**
* The map of custom tags.
*/
- private LinkedHashMap customTags;
+ private LinkedHashMap customTags;
/**
* The array of custom tags that can appear in packages.
@@ -111,31 +111,31 @@
/**
* Keep track of standard tags.
*/
- private Set standardTags;
+ private Set standardTags;
/**
* Keep track of standard tags in lowercase to compare for better
* error messages when a tag like @docRoot is mistakenly spelled
* lowercase @docroot.
*/
- private Set standardTagsLowercase;
+ private Set standardTagsLowercase;
/**
* Keep track of overriden standard tags.
*/
- private Set overridenStandardTags;
+ private Set overridenStandardTags;
/**
* Keep track of the tags that may conflict
* with standard tags in the future (any custom tag without
* a period in its name).
*/
- private Set potentiallyConflictingTags;
+ private Set potentiallyConflictingTags;
/**
* The set of unseen custom tags.
*/
- private Set unseenCustomTags;
+ private Set unseenCustomTags;
/**
* True if we do not want to use @since tags.
@@ -161,12 +161,12 @@
*/
public TagletManager(boolean nosince, boolean showversion,
boolean showauthor, MessageRetriever message){
- overridenStandardTags = new HashSet();
- potentiallyConflictingTags = new HashSet();
- standardTags = new HashSet();
- standardTagsLowercase = new HashSet();
- unseenCustomTags = new HashSet();
- customTags = new LinkedHashMap();
+ overridenStandardTags = new HashSet();
+ potentiallyConflictingTags = new HashSet();
+ standardTags = new HashSet();
+ standardTagsLowercase = new HashSet();
+ unseenCustomTags = new HashSet();
+ customTags = new LinkedHashMap();
this.nosince = nosince;
this.showversion = showversion;
this.showauthor = showauthor;
@@ -201,7 +201,7 @@
*/
public void addCustomTag(String classname, String tagletPath) {
try {
- Class customTagClass = null;
+ Class> customTagClass = null;
// construct class loader
String cpString = null; // make sure env.class.path defaults to dot
@@ -219,7 +219,7 @@
meth.invoke(null, new Object[] {customTags});
list = customTags.values().toArray();
Object newLastTag = (list != null&& list.length > 0)
- ? (Object) list[list.length-1] : null;
+ ? list[list.length-1] : null;
if (lastTag != newLastTag) {
//New taglets must always be added to the end of the LinkedHashMap.
//If the current and previous last taglet are not equal, that
@@ -315,7 +315,7 @@
if (tagName == null || locations == null) {
return;
}
- Taglet tag = (Taglet) customTags.get(tagName);
+ Taglet tag = customTags.get(tagName);
locations = locations.toLowerCase();
if (tag == null || header != null) {
customTags.remove(tagName);
@@ -396,7 +396,7 @@
}
}
//Check if this tag is being used in the wrong location.
- if((taglet = (Taglet) customTags.get(name)) != null) {
+ if ((taglet = customTags.get(name)) != null) {
if (areInlineTags && ! taglet.isInlineTag()) {
printTagMisuseWarn(taglet, tags[i], "inline");
}
@@ -425,7 +425,7 @@
* @param holderType the type of documentation that the misused tag was found in.
*/
private void printTagMisuseWarn(Taglet taglet, Tag tag, String holderType) {
- Set locationsSet = new LinkedHashSet();
+ Set locationsSet = new LinkedHashSet();
if (taglet.inOverview()) {
locationsSet.add("overview");
}
@@ -447,7 +447,7 @@
if (taglet.isInlineTag()) {
locationsSet.add("inline text");
}
- String[] locations = (String[]) locationsSet.toArray(new String[]{});
+ String[] locations = locationsSet.toArray(new String[]{});
if (locations == null || locations.length == 0) {
//This known tag is excluded.
return;
@@ -592,17 +592,17 @@
* Initialize the custom tag arrays.
*/
private void initCustomTagArrays() {
- Iterator it = customTags.values().iterator();
- ArrayList pTags = new ArrayList(customTags.size());
- ArrayList tTags = new ArrayList(customTags.size());
- ArrayList fTags = new ArrayList(customTags.size());
- ArrayList cTags = new ArrayList(customTags.size());
- ArrayList mTags = new ArrayList(customTags.size());
- ArrayList iTags = new ArrayList(customTags.size());
- ArrayList oTags = new ArrayList(customTags.size());
+ Iterator it = customTags.values().iterator();
+ ArrayList pTags = new ArrayList(customTags.size());
+ ArrayList tTags = new ArrayList(customTags.size());
+ ArrayList fTags = new ArrayList(customTags.size());
+ ArrayList cTags = new ArrayList(customTags.size());
+ ArrayList mTags = new ArrayList(customTags.size());
+ ArrayList iTags = new ArrayList(customTags.size());
+ ArrayList oTags = new ArrayList(customTags.size());
Taglet current;
while (it.hasNext()) {
- current = (Taglet) it.next();
+ current = it.next();
if (current.inPackage() && !current.isInlineTag()) {
pTags.add(current);
}
@@ -625,20 +625,20 @@
oTags.add(current);
}
}
- packageTags = (Taglet[]) pTags.toArray(new Taglet[] {});
- typeTags = (Taglet[]) tTags.toArray(new Taglet[] {});
- fieldTags = (Taglet[]) fTags.toArray(new Taglet[] {});
- constructorTags = (Taglet[]) cTags.toArray(new Taglet[] {});
- methodTags = (Taglet[]) mTags.toArray(new Taglet[] {});
- overviewTags = (Taglet[]) oTags.toArray(new Taglet[] {});
- inlineTags = (Taglet[]) iTags.toArray(new Taglet[] {});
+ packageTags = pTags.toArray(new Taglet[] {});
+ typeTags = tTags.toArray(new Taglet[] {});
+ fieldTags = fTags.toArray(new Taglet[] {});
+ constructorTags = cTags.toArray(new Taglet[] {});
+ methodTags = mTags.toArray(new Taglet[] {});
+ overviewTags = oTags.toArray(new Taglet[] {});
+ inlineTags = iTags.toArray(new Taglet[] {});
//Init the serialized form tags
serializedFormTags = new Taglet[4];
- serializedFormTags[0] = (Taglet) customTags.get("serialData");
- serializedFormTags[1] = (Taglet) customTags.get("throws");
- serializedFormTags[2] = (Taglet) customTags.get("since");
- serializedFormTags[3] = (Taglet) customTags.get("see");
+ serializedFormTags[0] = customTags.get("serialData");
+ serializedFormTags[1] = customTags.get("throws");
+ serializedFormTags[2] = customTags.get("since");
+ serializedFormTags[3] = customTags.get("see");
}
/**
@@ -726,10 +726,9 @@
printReportHelper("doclet.Notice_taglet_unseen", unseenCustomTags);
}
- private void printReportHelper(String noticeKey, Set names) {
+ private void printReportHelper(String noticeKey, Set names) {
if (names.size() > 0) {
- String[] namesArray =
- (String[]) names.toArray(new String[] {});
+ String[] namesArray = names.toArray(new String[] {});
String result = " ";
for (int i = 0; i < namesArray.length; i++) {
result += "@" + namesArray[i];
@@ -751,9 +750,9 @@
*/
public Taglet getTaglet(String name) {
if (name.indexOf("@") == 0) {
- return (Taglet) customTags.get(name.substring(1));
+ return customTags.get(name.substring(1));
} else {
- return (Taglet) customTags.get(name);
+ return customTags.get(name);
}
}
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java Fri Aug 01 15:21:56 2008 -0700
@@ -82,7 +82,7 @@
* Add links for exceptions that are declared but not documented.
*/
private TagletOutput linkToUndocumentedDeclaredExceptions(
- Type[] declaredExceptionTypes, Set alreadyDocumented,
+ Type[] declaredExceptionTypes, Set alreadyDocumented,
TagletWriter writer) {
TagletOutput result = writer.getOutputInstance();
//Add links to the exceptions declared but not documented.
@@ -107,11 +107,11 @@
* documented.
*/
private TagletOutput inheritThrowsDocumentation(Doc holder,
- Type[] declaredExceptionTypes, Set alreadyDocumented,
+ Type[] declaredExceptionTypes, Set alreadyDocumented,
TagletWriter writer) {
TagletOutput result = writer.getOutputInstance();
if (holder instanceof MethodDoc) {
- Set declaredExceptionTags = new LinkedHashSet();
+ Set declaredExceptionTags = new LinkedHashSet();
for (int j = 0; j < declaredExceptionTypes.length; j++) {
DocFinder.Output inheritedDoc =
DocFinder.search(new DocFinder.Input((MethodDoc) holder, this,
@@ -124,7 +124,7 @@
declaredExceptionTags.addAll(inheritedDoc.tagList);
}
result.appendOutput(throwsTagsOutput(
- (ThrowsTag[]) declaredExceptionTags.toArray(new ThrowsTag[] {}),
+ declaredExceptionTags.toArray(new ThrowsTag[] {}),
writer, alreadyDocumented, false));
}
return result;
@@ -137,7 +137,7 @@
ExecutableMemberDoc execHolder = (ExecutableMemberDoc) holder;
ThrowsTag[] tags = execHolder.throwsTags();
TagletOutput result = writer.getOutputInstance();
- HashSet alreadyDocumented = new HashSet();
+ HashSet alreadyDocumented = new HashSet();
if (tags.length > 0) {
result.appendOutput(throwsTagsOutput(
execHolder.throwsTags(), writer, alreadyDocumented, true));
@@ -161,7 +161,7 @@
* @return the TagletOutput representation of this Tag
.
*/
protected TagletOutput throwsTagsOutput(ThrowsTag[] throwTags,
- TagletWriter writer, Set alreadyDocumented, boolean allowDups) {
+ TagletWriter writer, Set alreadyDocumented, boolean allowDups) {
TagletOutput result = writer.getOutputInstance();
if (throwTags.length > 0) {
for (int i = 0; i < throwTags.length; ++i) {
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java Fri Aug 01 15:21:56 2008 -0700
@@ -49,44 +49,44 @@
* Stores the set of packages that the classes specified on the command line
* belong to. Note that the default package is "".
*/
- private Set packageSet;
+ private Set packageSet;
/**
* Stores all classes for each package
*/
- private Map allClasses;
+ private Map> allClasses;
/**
* Stores ordinary classes (excluding Exceptions and Errors) for each
* package
*/
- private Map ordinaryClasses;
+ private Map> ordinaryClasses;
/**
* Stores exceptions for each package
*/
- private Map exceptions;
+ private Map> exceptions;
/**
* Stores enums for each package.
*/
- private Map enums;
+ private Map> enums;
/**
* Stores annotation types for each package.
*/
- private Map annotationTypes;
+ private Map> annotationTypes;
/**
* Stores errors for each package
*/
- private Map errors;
+ private Map> errors;
/**
* Stores interfaces for each package
*/
- private Map interfaces;
+ private Map> interfaces;
/**
* Construct a new ClassDocCatalog.
@@ -109,14 +109,14 @@
}
private void init() {
- allClasses = new HashMap();
- ordinaryClasses = new HashMap();
- exceptions = new HashMap();
- enums = new HashMap();
- annotationTypes = new HashMap();
- errors = new HashMap();
- interfaces = new HashMap();
- packageSet = new HashSet();
+ allClasses = new HashMap>();
+ ordinaryClasses = new HashMap>();
+ exceptions = new HashMap>();
+ enums = new HashMap>();
+ annotationTypes = new HashMap>();
+ errors = new HashMap>();
+ interfaces = new HashMap>();
+ packageSet = new HashSet();
}
/**
@@ -148,7 +148,7 @@
* @param classdoc the ClassDoc to add to the catelog.
* @param map the Map to add the ClassDoc to.
*/
- private void addClass(ClassDoc classdoc, Map map) {
+ private void addClass(ClassDoc classdoc, Map> map) {
PackageDoc pkg = classdoc.containingPackage();
if (pkg.isIncluded()) {
@@ -157,22 +157,22 @@
return;
}
String key = Util.getPackageName(pkg);
- Set s = (Set) map.get(key);
+ Set s = map.get(key);
if (s == null) {
packageSet.add(key);
- s = new HashSet();
+ s = new HashSet();
}
s.add(classdoc);
map.put(key, s);
}
- private ClassDoc[] getArray(Map m, String key) {
- Set s = (Set) m.get(key);
+ private ClassDoc[] getArray(Map> m, String key) {
+ Set s = m.get(key);
if (s == null) {
return new ClassDoc[] {};
} else {
- return (ClassDoc[]) s.toArray(new ClassDoc[] {});
+ return s.toArray(new ClassDoc[] {});
}
}
@@ -202,7 +202,7 @@
* ClassDocs for.
*/
public String[] packageNames() {
- return (String[]) packageSet.toArray(new String[] {});
+ return packageSet.toArray(new String[] {});
}
/**
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java Fri Aug 01 15:21:56 2008 -0700
@@ -49,35 +49,35 @@
* List of baseclasses. Contains only java.lang.Object. Can be used to get
* the mapped listing of sub-classes.
*/
- private List baseclasses = new ArrayList();
+ private List baseclasses = new ArrayList();
/**
* Mapping for each Class with their SubClasses
*/
- private Map subclasses = new HashMap();
+ private Map> subclasses = new HashMap>();
/**
* List of base-interfaces. Contains list of all the interfaces who do not
* have super-interfaces. Can be used to get the mapped listing of
* sub-interfaces.
*/
- private List baseinterfaces = new ArrayList();
+ private List baseinterfaces = new ArrayList();
/**
* Mapping for each Interface with their SubInterfaces
*/
- private Map subinterfaces = new HashMap();
+ private Map> subinterfaces = new HashMap>();
- private List baseEnums = new ArrayList();
- private Map subEnums = new HashMap();
+ private List baseEnums = new ArrayList();
+ private Map> subEnums = new HashMap>();
- private List baseAnnotationTypes = new ArrayList();
- private Map subAnnotationTypes = new HashMap();
+ private List baseAnnotationTypes = new ArrayList();
+ private Map> subAnnotationTypes = new HashMap>();
/**
* Mapping for each Interface with classes who implement it.
*/
- private Map implementingclasses = new HashMap();
+ private Map> implementingclasses = new HashMap>();
/**
* Constructor. Build the Tree using the Root of this Javadoc run.
@@ -132,7 +132,7 @@
processType(classes[i], configuration, baseclasses, subclasses);
} else if (classes[i].isInterface()) {
processInterface(classes[i]);
- List list = (List)implementingclasses.get(classes[i]);
+ List list = implementingclasses.get(classes[i]);
if (list != null) {
Collections.sort(list);
}
@@ -143,11 +143,11 @@
}
Collections.sort(baseinterfaces);
- for (Iterator it = subinterfaces.values().iterator(); it.hasNext(); ) {
- Collections.sort((List)it.next());
+ for (Iterator> it = subinterfaces.values().iterator(); it.hasNext(); ) {
+ Collections.sort(it.next());
}
- for (Iterator it = subclasses.values().iterator(); it.hasNext(); ) {
- Collections.sort((List)it.next());
+ for (Iterator> it = subclasses.values().iterator(); it.hasNext(); ) {
+ Collections.sort(it.next());
}
}
@@ -164,7 +164,7 @@
* @param configuration the current configurtation of the doclet.
*/
private void processType(ClassDoc cd, Configuration configuration,
- List bases, Map subs) {
+ List bases, Map> subs) {
ClassDoc superclass = Util.getFirstVisibleSuperClassCD(cd, configuration);
if (superclass != null) {
if (!add(subs, superclass, cd)) {
@@ -219,10 +219,10 @@
* @param cd sub-interface to be mapped.
* @returns boolean true if class added, false if class already processed.
*/
- private boolean add(Map map, ClassDoc superclass, ClassDoc cd) {
- List list = (List)map.get(superclass);
+ private boolean add(Map> map, ClassDoc superclass, ClassDoc cd) {
+ List list = map.get(superclass);
if (list == null) {
- list = new ArrayList();
+ list = new ArrayList();
map.put(superclass, list);
}
if (list.contains(cd)) {
@@ -241,10 +241,10 @@
* @param cd class for which the sub-class list is requested.
* @returns List Sub-Class list for the class passed.
*/
- private List get(Map map, ClassDoc cd) {
- List list = (List)map.get(cd);
+ private List get(Map> map, ClassDoc cd) {
+ List list = map.get(cd);
if (list == null) {
- return new ArrayList();
+ return new ArrayList();
}
return list;
}
@@ -254,7 +254,7 @@
*
* @param cd class whose sub-class list is required.
*/
- public List subclasses(ClassDoc cd) {
+ public List subclasses(ClassDoc cd) {
return get(subclasses, cd);
}
@@ -263,7 +263,7 @@
*
* @param cd interface whose sub-interface list is required.
*/
- public List subinterfaces(ClassDoc cd) {
+ public List subinterfaces(ClassDoc cd) {
return get(subinterfaces, cd);
}
@@ -272,9 +272,9 @@
*
* @param cd interface whose implementing-classes list is required.
*/
- public List implementingclasses(ClassDoc cd) {
- List result = get(implementingclasses, cd);
- List subinterfaces = allSubs(cd, false);
+ public List implementingclasses(ClassDoc cd) {
+ List result = get(implementingclasses, cd);
+ List subinterfaces = allSubs(cd, false);
//If class x implements a subinterface of cd, then it follows
//that class x implements cd.
@@ -301,7 +301,7 @@
* @param isEnum true if the subclasses should be forced to come from the
* enum tree.
*/
- public List subs(ClassDoc cd, boolean isEnum) {
+ public List subs(ClassDoc cd, boolean isEnum) {
if (isEnum) {
return get(subEnums, cd);
} else if (cd.isAnnotationType()) {
@@ -324,10 +324,10 @@
* @param isEnum true if the subclasses should be forced to come from the
* enum tree.
*/
- public List allSubs(ClassDoc cd, boolean isEnum) {
- List list = subs(cd, isEnum);
+ public List allSubs(ClassDoc cd, boolean isEnum) {
+ List list = subs(cd, isEnum);
for (int i = 0; i < list.size(); i++) {
- cd = (ClassDoc)list.get(i);
+ cd = list.get(i);
List tlist = subs(cd, isEnum);
for (int j = 0; j < tlist.size(); j++) {
ClassDoc tcd = (ClassDoc)tlist.get(j);
diff -r e3d549324eb4 -r f7883d455c62 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java Tue Jul 29 16:57:09 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java Fri Aug 01 15:21:56 2008 -0700
@@ -46,138 +46,138 @@
* Mapping of ClassDocs to set of PackageDoc used by that class.
* Entries may be null.
*/
- public Map classToPackage = new HashMap();
+ public Map> classToPackage = new HashMap>();
/**
* Mapping of Annotations to set of PackageDoc that use the annotation.
*/
- public Map classToPackageAnnotations = new HashMap();
+ public Map> classToPackageAnnotations = new HashMap>();
/**
* Mapping of ClassDocs to set of ClassDoc used by that class.
* Entries may be null.
*/
- public Map classToClass = new HashMap();
+ public Map> classToClass = new HashMap>();
/**
* Mapping of ClassDocs to list of ClassDoc which are direct or
* indirect subclasses of that class.
* Entries may be null.
*/
- public Map classToSubclass = new HashMap();
+ public Map> classToSubclass = new HashMap>();
/**
* Mapping of ClassDocs to list of ClassDoc which are direct or
* indirect subinterfaces of that interface.
* Entries may be null.
*/
- public Map classToSubinterface = new HashMap();
+ public Map> classToSubinterface = new HashMap>();
/**
* Mapping of ClassDocs to list of ClassDoc which implement
* this interface.
* Entries may be null.
*/
- public Map classToImplementingClass = new HashMap();
+ public Map> classToImplementingClass = new HashMap>();
/**
* Mapping of ClassDocs to list of FieldDoc declared as that class.
* Entries may be null.
*/
- public Map classToField = new HashMap();
+ public Map> classToField = new HashMap>();
/**
* Mapping of ClassDocs to list of MethodDoc returning that class.
* Entries may be null.
*/
- public Map classToMethodReturn = new HashMap();
+ public Map> classToMethodReturn = new HashMap>();
/**
* Mapping of ClassDocs to list of MethodDoc having that class
* as an arg.
* Entries may be null.
*/
- public Map classToMethodArgs = new HashMap();
+ public Map> classToMethodArgs = new HashMap>();
/**
* Mapping of ClassDocs to list of MethodDoc which throws that class.
* Entries may be null.
*/
- public Map classToMethodThrows = new HashMap();
+ public Map> classToMethodThrows = new HashMap>();
/**
* Mapping of ClassDocs to list of ConstructorDoc having that class
* as an arg.
* Entries may be null.
*/
- public Map classToConstructorArgs = new HashMap();
+ public Map> classToConstructorArgs = new HashMap>();
/**
* Mapping of ClassDocs to list of ConstructorDoc which throws that class.
* Entries may be null.
*/
- public Map classToConstructorThrows = new HashMap();
+ public Map> classToConstructorThrows = new HashMap>();
/**
* The mapping of AnnotationTypeDocs to constructors that use them.
*/
- public Map classToConstructorAnnotations = new HashMap();
+ public Map> classToConstructorAnnotations = new HashMap>();
/**
* The mapping of AnnotationTypeDocs to Constructor parameters that use them.
*/
- public Map classToConstructorParamAnnotation = new HashMap();
+ public Map> classToConstructorParamAnnotation = new HashMap>();
/**
* The mapping of ClassDocs to Constructor arguments that use them as type parameters.
*/
- public Map classToConstructorDocArgTypeParam = new HashMap();
+ public Map> classToConstructorDocArgTypeParam = new HashMap>();
/**
* The mapping of ClassDocs to ClassDocs that use them as type parameters.
*/
- public Map classToClassTypeParam = new HashMap();
+ public Map> classToClassTypeParam = new HashMap>();
/**
* The mapping of AnnotationTypeDocs to ClassDocs that use them.
*/
- public Map classToClassAnnotations = new HashMap();
+ public Map> classToClassAnnotations = new HashMap>();
/**
* The mapping of ClassDocs to ExecutableMemberDocs that use them as type parameters.
*/
- public Map classToExecMemberDocTypeParam = new HashMap();
+ public Map> classToExecMemberDocTypeParam = new HashMap>();
/**
* The mapping of ClassDocs to ExecutableMemberDocs arguments that use them as type parameters.
*/
- public Map classToExecMemberDocArgTypeParam = new HashMap();
+ public Map> classToExecMemberDocArgTypeParam = new HashMap>();
/**
* The mapping of AnnotationTypeDocs to ExecutableMemberDocs that use them.
*/
- public Map classToExecMemberDocAnnotations = new HashMap();
+ public Map> classToExecMemberDocAnnotations = new HashMap>();
/**
* The mapping of ClassDocs to ExecutableMemberDocs that have return type
* with type parameters of that class.
*/
- public Map classToExecMemberDocReturnTypeParam = new HashMap();
+ public Map> classToExecMemberDocReturnTypeParam = new HashMap>();
/**
* The mapping of AnnotationTypeDocs to MethodDoc parameters that use them.
*/
- public Map classToExecMemberDocParamAnnotation = new HashMap();
+ public Map> classToExecMemberDocParamAnnotation = new HashMap