Fri, 17 Oct 2008 15:18:02 -0700
Merge
1.1 --- a/.hgtags Tue Oct 14 10:15:33 2008 -0400 1.2 +++ b/.hgtags Fri Oct 17 15:18:02 2008 -0700 1.3 @@ -11,3 +11,4 @@ 1.4 5251a9cd8eb8743eee647365bee1c8afdc131556 jdk7-b34 1.5 5fa96a5a7e76da7c8dad12486293a0456c2c116c jdk7-b35 1.6 e91159f921a58af3698e6479ea1fc5818da66d09 jdk7-b36 1.7 +9ee9cf798b59e7d51f8c0a686959f313867a55d6 jdk7-b37
2.1 --- a/agent/make/bugspot.bat Tue Oct 14 10:15:33 2008 -0400 2.2 +++ b/agent/make/bugspot.bat Fri Oct 17 15:18:02 2008 -0700 2.3 @@ -1,5 +1,5 @@ 2.4 REM 2.5 -REM Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved. 2.6 +REM Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. 2.7 REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2.8 REM 2.9 REM This code is free software; you can redistribute it and/or modify it
3.1 --- a/agent/make/build.xml Tue Oct 14 10:15:33 2008 -0400 3.2 +++ b/agent/make/build.xml Fri Oct 17 15:18:02 2008 -0700 3.3 @@ -1,6 +1,6 @@ 3.4 <?xml version="1.0" encoding="UTF-8"?> 3.5 <!-- 3.6 - Copyright 2002-2007 Sun Microsystems, Inc. All Rights Reserved. 3.7 + Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. 3.8 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3.9 3.10 This code is free software; you can redistribute it and/or modify it
4.1 --- a/agent/make/hsdb.bat Tue Oct 14 10:15:33 2008 -0400 4.2 +++ b/agent/make/hsdb.bat Fri Oct 17 15:18:02 2008 -0700 4.3 @@ -1,5 +1,5 @@ 4.4 REM 4.5 -REM Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved. 4.6 +REM Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. 4.7 REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4.8 REM 4.9 REM This code is free software; you can redistribute it and/or modify it
5.1 --- a/agent/make/hsdb.sh Tue Oct 14 10:15:33 2008 -0400 5.2 +++ b/agent/make/hsdb.sh Fri Oct 17 15:18:02 2008 -0700 5.3 @@ -1,6 +1,6 @@ 5.4 #!/bin/sh 5.5 # 5.6 -# Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved. 5.7 +# Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. 5.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5.9 # 5.10 # This code is free software; you can redistribute it and/or modify it
6.1 --- a/agent/make/saenv.bat Tue Oct 14 10:15:33 2008 -0400 6.2 +++ b/agent/make/saenv.bat Fri Oct 17 15:18:02 2008 -0700 6.3 @@ -1,6 +1,6 @@ 6.4 @echo off 6.5 REM 6.6 -REM Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. 6.7 +REM Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 6.8 REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6.9 REM 6.10 REM This code is free software; you can redistribute it and/or modify it
7.1 --- a/agent/make/saenv.sh Tue Oct 14 10:15:33 2008 -0400 7.2 +++ b/agent/make/saenv.sh Fri Oct 17 15:18:02 2008 -0700 7.3 @@ -1,6 +1,6 @@ 7.4 #!/bin/sh 7.5 # 7.6 -# Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. 7.7 +# Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 7.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 7.9 # 7.10 # This code is free software; you can redistribute it and/or modify it
8.1 --- a/agent/make/saenv64.bat Tue Oct 14 10:15:33 2008 -0400 8.2 +++ b/agent/make/saenv64.bat Fri Oct 17 15:18:02 2008 -0700 8.3 @@ -1,6 +1,6 @@ 8.4 @echo off 8.5 REM 8.6 -REM Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. 8.7 +REM Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 8.8 REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 8.9 REM 8.10 REM This code is free software; you can redistribute it and/or modify it
9.1 --- a/agent/make/saenv64.sh Tue Oct 14 10:15:33 2008 -0400 9.2 +++ b/agent/make/saenv64.sh Fri Oct 17 15:18:02 2008 -0700 9.3 @@ -1,6 +1,6 @@ 9.4 #!/bin/sh 9.5 # 9.6 -# Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. 9.7 +# Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 9.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9.9 # 9.10 # This code is free software; you can redistribute it and/or modify it
10.1 --- a/agent/src/share/classes/sun/jvm/hotspot/runtime/CompiledVFrame.java Tue Oct 14 10:15:33 2008 -0400 10.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/runtime/CompiledVFrame.java Fri Oct 17 15:18:02 2008 -0700 10.3 @@ -1,5 +1,5 @@ 10.4 /* 10.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 10.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 10.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 10.8 * 10.9 * This code is free software; you can redistribute it and/or modify it
11.1 --- a/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Tue Oct 14 10:15:33 2008 -0400 11.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Fri Oct 17 15:18:02 2008 -0700 11.3 @@ -1,5 +1,5 @@ 11.4 /* 11.5 - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. 11.6 + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 11.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 11.8 * 11.9 * This code is free software; you can redistribute it and/or modify it
12.1 --- a/agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java Tue Oct 14 10:15:33 2008 -0400 12.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java Fri Oct 17 15:18:02 2008 -0700 12.3 @@ -1,5 +1,5 @@ 12.4 /* 12.5 - * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. 12.6 + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 12.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 12.8 * 12.9 * This code is free software; you can redistribute it and/or modify it
13.1 --- a/src/cpu/x86/vm/assembler_x86.inline.hpp Tue Oct 14 10:15:33 2008 -0400 13.2 +++ b/src/cpu/x86/vm/assembler_x86.inline.hpp Fri Oct 17 15:18:02 2008 -0700 13.3 @@ -1,5 +1,5 @@ 13.4 /* 13.5 - * Copyright 1997-2005 Sun Microsystems, Inc. All Rights Reserved. 13.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 13.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 13.8 * 13.9 * This code is free software; you can redistribute it and/or modify it
14.1 --- a/src/cpu/x86/vm/c1_CodeStubs_x86.cpp Tue Oct 14 10:15:33 2008 -0400 14.2 +++ b/src/cpu/x86/vm/c1_CodeStubs_x86.cpp Fri Oct 17 15:18:02 2008 -0700 14.3 @@ -1,5 +1,5 @@ 14.4 /* 14.5 - * Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved. 14.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 14.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 14.8 * 14.9 * This code is free software; you can redistribute it and/or modify it
15.1 --- a/src/cpu/x86/vm/c1_Defs_x86.hpp Tue Oct 14 10:15:33 2008 -0400 15.2 +++ b/src/cpu/x86/vm/c1_Defs_x86.hpp Fri Oct 17 15:18:02 2008 -0700 15.3 @@ -1,5 +1,5 @@ 15.4 /* 15.5 - * Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved. 15.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 15.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 15.8 * 15.9 * This code is free software; you can redistribute it and/or modify it
16.1 --- a/src/cpu/x86/vm/c1_FrameMap_x86.cpp Tue Oct 14 10:15:33 2008 -0400 16.2 +++ b/src/cpu/x86/vm/c1_FrameMap_x86.cpp Fri Oct 17 15:18:02 2008 -0700 16.3 @@ -1,5 +1,5 @@ 16.4 /* 16.5 - * Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved. 16.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 16.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 16.8 * 16.9 * This code is free software; you can redistribute it and/or modify it
17.1 --- a/src/cpu/x86/vm/c1_FrameMap_x86.hpp Tue Oct 14 10:15:33 2008 -0400 17.2 +++ b/src/cpu/x86/vm/c1_FrameMap_x86.hpp Fri Oct 17 15:18:02 2008 -0700 17.3 @@ -1,5 +1,5 @@ 17.4 /* 17.5 - * Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved. 17.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 17.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 17.8 * 17.9 * This code is free software; you can redistribute it and/or modify it
18.1 --- a/src/cpu/x86/vm/c1_LIRAssembler_x86.hpp Tue Oct 14 10:15:33 2008 -0400 18.2 +++ b/src/cpu/x86/vm/c1_LIRAssembler_x86.hpp Fri Oct 17 15:18:02 2008 -0700 18.3 @@ -1,5 +1,5 @@ 18.4 /* 18.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 18.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 18.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 18.8 * 18.9 * This code is free software; you can redistribute it and/or modify it
19.1 --- a/src/cpu/x86/vm/c1_LinearScan_x86.hpp Tue Oct 14 10:15:33 2008 -0400 19.2 +++ b/src/cpu/x86/vm/c1_LinearScan_x86.hpp Fri Oct 17 15:18:02 2008 -0700 19.3 @@ -1,5 +1,5 @@ 19.4 /* 19.5 - * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. 19.6 + * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. 19.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 19.8 * 19.9 * This code is free software; you can redistribute it and/or modify it
20.1 --- a/src/cpu/x86/vm/c1_MacroAssembler_x86.hpp Tue Oct 14 10:15:33 2008 -0400 20.2 +++ b/src/cpu/x86/vm/c1_MacroAssembler_x86.hpp Fri Oct 17 15:18:02 2008 -0700 20.3 @@ -1,5 +1,5 @@ 20.4 /* 20.5 - * Copyright 1999-2005 Sun Microsystems, Inc. All Rights Reserved. 20.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 20.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 20.8 * 20.9 * This code is free software; you can redistribute it and/or modify it
21.1 --- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp Tue Oct 14 10:15:33 2008 -0400 21.2 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp Fri Oct 17 15:18:02 2008 -0700 21.3 @@ -1,5 +1,5 @@ 21.4 /* 21.5 - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. 21.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 21.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 21.8 * 21.9 * This code is free software; you can redistribute it and/or modify it
22.1 --- a/src/cpu/x86/vm/cppInterpreter_x86.cpp Tue Oct 14 10:15:33 2008 -0400 22.2 +++ b/src/cpu/x86/vm/cppInterpreter_x86.cpp Fri Oct 17 15:18:02 2008 -0700 22.3 @@ -1,5 +1,5 @@ 22.4 /* 22.5 - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. 22.6 + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. 22.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 22.8 * 22.9 * This code is free software; you can redistribute it and/or modify it
23.1 --- a/src/cpu/x86/vm/dump_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 23.2 +++ b/src/cpu/x86/vm/dump_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 23.3 @@ -1,5 +1,5 @@ 23.4 /* 23.5 - * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved. 23.6 + * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved. 23.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 23.8 * 23.9 * This code is free software; you can redistribute it and/or modify it
24.1 --- a/src/cpu/x86/vm/dump_x86_64.cpp Tue Oct 14 10:15:33 2008 -0400 24.2 +++ b/src/cpu/x86/vm/dump_x86_64.cpp Fri Oct 17 15:18:02 2008 -0700 24.3 @@ -1,5 +1,5 @@ 24.4 /* 24.5 - * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved. 24.6 + * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved. 24.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 24.8 * 24.9 * This code is free software; you can redistribute it and/or modify it
25.1 --- a/src/cpu/x86/vm/icache_x86.cpp Tue Oct 14 10:15:33 2008 -0400 25.2 +++ b/src/cpu/x86/vm/icache_x86.cpp Fri Oct 17 15:18:02 2008 -0700 25.3 @@ -1,5 +1,5 @@ 25.4 /* 25.5 - * Copyright 1997-2004 Sun Microsystems, Inc. All Rights Reserved. 25.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 25.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 25.8 * 25.9 * This code is free software; you can redistribute it and/or modify it
26.1 --- a/src/cpu/x86/vm/interp_masm_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 26.2 +++ b/src/cpu/x86/vm/interp_masm_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 26.3 @@ -1,5 +1,5 @@ 26.4 /* 26.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 26.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 26.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 26.8 * 26.9 * This code is free software; you can redistribute it and/or modify it
27.1 --- a/src/cpu/x86/vm/interp_masm_x86_32.hpp Tue Oct 14 10:15:33 2008 -0400 27.2 +++ b/src/cpu/x86/vm/interp_masm_x86_32.hpp Fri Oct 17 15:18:02 2008 -0700 27.3 @@ -1,5 +1,5 @@ 27.4 /* 27.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 27.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 27.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 27.8 * 27.9 * This code is free software; you can redistribute it and/or modify it
28.1 --- a/src/cpu/x86/vm/interp_masm_x86_64.hpp Tue Oct 14 10:15:33 2008 -0400 28.2 +++ b/src/cpu/x86/vm/interp_masm_x86_64.hpp Fri Oct 17 15:18:02 2008 -0700 28.3 @@ -1,5 +1,5 @@ 28.4 /* 28.5 - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. 28.6 + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 28.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 28.8 * 28.9 * This code is free software; you can redistribute it and/or modify it
29.1 --- a/src/cpu/x86/vm/interpreterRT_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 29.2 +++ b/src/cpu/x86/vm/interpreterRT_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 29.3 @@ -1,5 +1,5 @@ 29.4 /* 29.5 - * Copyright 1998-2005 Sun Microsystems, Inc. All Rights Reserved. 29.6 + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. 29.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 29.8 * 29.9 * This code is free software; you can redistribute it and/or modify it
30.1 --- a/src/cpu/x86/vm/interpreterRT_x86_64.cpp Tue Oct 14 10:15:33 2008 -0400 30.2 +++ b/src/cpu/x86/vm/interpreterRT_x86_64.cpp Fri Oct 17 15:18:02 2008 -0700 30.3 @@ -1,5 +1,5 @@ 30.4 /* 30.5 - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. 30.6 + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 30.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 30.8 * 30.9 * This code is free software; you can redistribute it and/or modify it
31.1 --- a/src/cpu/x86/vm/interpreter_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 31.2 +++ b/src/cpu/x86/vm/interpreter_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 31.3 @@ -1,5 +1,5 @@ 31.4 /* 31.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 31.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 31.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 31.8 * 31.9 * This code is free software; you can redistribute it and/or modify it
32.1 --- a/src/cpu/x86/vm/jniFastGetField_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 32.2 +++ b/src/cpu/x86/vm/jniFastGetField_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 32.3 @@ -1,5 +1,5 @@ 32.4 /* 32.5 - * Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. 32.6 + * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved. 32.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 32.8 * 32.9 * This code is free software; you can redistribute it and/or modify it
33.1 --- a/src/cpu/x86/vm/jniFastGetField_x86_64.cpp Tue Oct 14 10:15:33 2008 -0400 33.2 +++ b/src/cpu/x86/vm/jniFastGetField_x86_64.cpp Fri Oct 17 15:18:02 2008 -0700 33.3 @@ -1,5 +1,5 @@ 33.4 /* 33.5 - * Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. 33.6 + * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved. 33.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.8 * 33.9 * This code is free software; you can redistribute it and/or modify it
34.1 --- a/src/cpu/x86/vm/runtime_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 34.2 +++ b/src/cpu/x86/vm/runtime_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 34.3 @@ -1,5 +1,5 @@ 34.4 /* 34.5 - * Copyright 1998-2006 Sun Microsystems, Inc. All Rights Reserved. 34.6 + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. 34.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 34.8 * 34.9 * This code is free software; you can redistribute it and/or modify it
35.1 --- a/src/cpu/x86/vm/stubGenerator_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 35.2 +++ b/src/cpu/x86/vm/stubGenerator_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 35.3 @@ -1,5 +1,5 @@ 35.4 /* 35.5 - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. 35.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 35.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 35.8 * 35.9 * This code is free software; you can redistribute it and/or modify it
36.1 --- a/src/cpu/x86/vm/stubRoutines_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 36.2 +++ b/src/cpu/x86/vm/stubRoutines_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 36.3 @@ -1,5 +1,5 @@ 36.4 /* 36.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 36.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 36.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.8 * 36.9 * This code is free software; you can redistribute it and/or modify it
37.1 --- a/src/cpu/x86/vm/stubRoutines_x86_32.hpp Tue Oct 14 10:15:33 2008 -0400 37.2 +++ b/src/cpu/x86/vm/stubRoutines_x86_32.hpp Fri Oct 17 15:18:02 2008 -0700 37.3 @@ -1,5 +1,5 @@ 37.4 /* 37.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 37.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 37.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 37.8 * 37.9 * This code is free software; you can redistribute it and/or modify it
38.1 --- a/src/cpu/x86/vm/stubRoutines_x86_64.cpp Tue Oct 14 10:15:33 2008 -0400 38.2 +++ b/src/cpu/x86/vm/stubRoutines_x86_64.cpp Fri Oct 17 15:18:02 2008 -0700 38.3 @@ -1,5 +1,5 @@ 38.4 /* 38.5 - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. 38.6 + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 38.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 38.8 * 38.9 * This code is free software; you can redistribute it and/or modify it
39.1 --- a/src/cpu/x86/vm/stubRoutines_x86_64.hpp Tue Oct 14 10:15:33 2008 -0400 39.2 +++ b/src/cpu/x86/vm/stubRoutines_x86_64.hpp Fri Oct 17 15:18:02 2008 -0700 39.3 @@ -1,5 +1,5 @@ 39.4 /* 39.5 - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. 39.6 + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 39.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 39.8 * 39.9 * This code is free software; you can redistribute it and/or modify it
40.1 --- a/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 40.2 +++ b/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 40.3 @@ -1,5 +1,5 @@ 40.4 /* 40.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 40.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 40.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 40.8 * 40.9 * This code is free software; you can redistribute it and/or modify it
41.1 --- a/src/cpu/x86/vm/templateTable_x86_32.hpp Tue Oct 14 10:15:33 2008 -0400 41.2 +++ b/src/cpu/x86/vm/templateTable_x86_32.hpp Fri Oct 17 15:18:02 2008 -0700 41.3 @@ -1,5 +1,5 @@ 41.4 /* 41.5 - * Copyright 1998-2005 Sun Microsystems, Inc. All Rights Reserved. 41.6 + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. 41.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 41.8 * 41.9 * This code is free software; you can redistribute it and/or modify it
42.1 --- a/src/cpu/x86/vm/vtableStubs_x86_32.cpp Tue Oct 14 10:15:33 2008 -0400 42.2 +++ b/src/cpu/x86/vm/vtableStubs_x86_32.cpp Fri Oct 17 15:18:02 2008 -0700 42.3 @@ -1,5 +1,5 @@ 42.4 /* 42.5 - * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 42.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 42.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 42.8 * 42.9 * This code is free software; you can redistribute it and/or modify it
43.1 --- a/src/os/solaris/vm/osThread_solaris.cpp Tue Oct 14 10:15:33 2008 -0400 43.2 +++ b/src/os/solaris/vm/osThread_solaris.cpp Fri Oct 17 15:18:02 2008 -0700 43.3 @@ -1,5 +1,5 @@ 43.4 /* 43.5 - * Copyright 1998-2006 Sun Microsystems, Inc. All Rights Reserved. 43.6 + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. 43.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 43.8 * 43.9 * This code is free software; you can redistribute it and/or modify it
44.1 --- a/src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp Tue Oct 14 10:15:33 2008 -0400 44.2 +++ b/src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp Fri Oct 17 15:18:02 2008 -0700 44.3 @@ -1,5 +1,5 @@ 44.4 /* 44.5 - * Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved. 44.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 44.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 44.8 * 44.9 * This code is free software; you can redistribute it and/or modify it
45.1 --- a/src/os_cpu/solaris_x86/vm/solaris_x86_32.ad Tue Oct 14 10:15:33 2008 -0400 45.2 +++ b/src/os_cpu/solaris_x86/vm/solaris_x86_32.ad Fri Oct 17 15:18:02 2008 -0700 45.3 @@ -1,5 +1,5 @@ 45.4 // 45.5 -// Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved. 45.6 +// Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 45.7 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 45.8 // 45.9 // This code is free software; you can redistribute it and/or modify it
46.1 --- a/src/os_cpu/windows_x86/vm/os_windows_x86.cpp Tue Oct 14 10:15:33 2008 -0400 46.2 +++ b/src/os_cpu/windows_x86/vm/os_windows_x86.cpp Fri Oct 17 15:18:02 2008 -0700 46.3 @@ -1,5 +1,5 @@ 46.4 /* 46.5 - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. 46.6 + * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 46.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 46.8 * 46.9 * This code is free software; you can redistribute it and/or modify it
47.1 --- a/src/share/vm/asm/assembler.cpp Tue Oct 14 10:15:33 2008 -0400 47.2 +++ b/src/share/vm/asm/assembler.cpp Fri Oct 17 15:18:02 2008 -0700 47.3 @@ -1,5 +1,5 @@ 47.4 /* 47.5 - * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 47.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 47.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 47.8 * 47.9 * This code is free software; you can redistribute it and/or modify it
48.1 --- a/src/share/vm/c1/c1_FrameMap.cpp Tue Oct 14 10:15:33 2008 -0400 48.2 +++ b/src/share/vm/c1/c1_FrameMap.cpp Fri Oct 17 15:18:02 2008 -0700 48.3 @@ -1,5 +1,5 @@ 48.4 /* 48.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 48.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 48.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 48.8 * 48.9 * This code is free software; you can redistribute it and/or modify it
49.1 --- a/src/share/vm/c1/c1_LIR.hpp Tue Oct 14 10:15:33 2008 -0400 49.2 +++ b/src/share/vm/c1/c1_LIR.hpp Fri Oct 17 15:18:02 2008 -0700 49.3 @@ -1,5 +1,5 @@ 49.4 /* 49.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 49.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 49.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 49.8 * 49.9 * This code is free software; you can redistribute it and/or modify it
50.1 --- a/src/share/vm/c1/c1_LIRAssembler.cpp Tue Oct 14 10:15:33 2008 -0400 50.2 +++ b/src/share/vm/c1/c1_LIRAssembler.cpp Fri Oct 17 15:18:02 2008 -0700 50.3 @@ -1,5 +1,5 @@ 50.4 /* 50.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 50.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 50.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 50.8 * 50.9 * This code is free software; you can redistribute it and/or modify it
51.1 --- a/src/share/vm/c1/c1_LIRAssembler.hpp Tue Oct 14 10:15:33 2008 -0400 51.2 +++ b/src/share/vm/c1/c1_LIRAssembler.hpp Fri Oct 17 15:18:02 2008 -0700 51.3 @@ -1,5 +1,5 @@ 51.4 /* 51.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 51.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 51.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 51.8 * 51.9 * This code is free software; you can redistribute it and/or modify it
52.1 --- a/src/share/vm/c1/c1_LIRGenerator.cpp Tue Oct 14 10:15:33 2008 -0400 52.2 +++ b/src/share/vm/c1/c1_LIRGenerator.cpp Fri Oct 17 15:18:02 2008 -0700 52.3 @@ -1,5 +1,5 @@ 52.4 /* 52.5 - * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. 52.6 + * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. 52.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 52.8 * 52.9 * This code is free software; you can redistribute it and/or modify it
53.1 --- a/src/share/vm/c1/c1_LinearScan.cpp Tue Oct 14 10:15:33 2008 -0400 53.2 +++ b/src/share/vm/c1/c1_LinearScan.cpp Fri Oct 17 15:18:02 2008 -0700 53.3 @@ -1,5 +1,5 @@ 53.4 /* 53.5 - * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. 53.6 + * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. 53.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 53.8 * 53.9 * This code is free software; you can redistribute it and/or modify it
54.1 --- a/src/share/vm/c1/c1_LinearScan.hpp Tue Oct 14 10:15:33 2008 -0400 54.2 +++ b/src/share/vm/c1/c1_LinearScan.hpp Fri Oct 17 15:18:02 2008 -0700 54.3 @@ -1,5 +1,5 @@ 54.4 /* 54.5 - * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. 54.6 + * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. 54.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 54.8 * 54.9 * This code is free software; you can redistribute it and/or modify it
55.1 --- a/src/share/vm/ci/ciTypeFlow.hpp Tue Oct 14 10:15:33 2008 -0400 55.2 +++ b/src/share/vm/ci/ciTypeFlow.hpp Fri Oct 17 15:18:02 2008 -0700 55.3 @@ -1,5 +1,5 @@ 55.4 /* 55.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 55.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 55.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 55.8 * 55.9 * This code is free software; you can redistribute it and/or modify it
56.1 --- a/src/share/vm/code/relocInfo.hpp Tue Oct 14 10:15:33 2008 -0400 56.2 +++ b/src/share/vm/code/relocInfo.hpp Fri Oct 17 15:18:02 2008 -0700 56.3 @@ -1,5 +1,5 @@ 56.4 /* 56.5 - * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 56.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 56.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 56.8 * 56.9 * This code is free software; you can redistribute it and/or modify it
57.1 --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Tue Oct 14 10:15:33 2008 -0400 57.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Fri Oct 17 15:18:02 2008 -0700 57.3 @@ -1398,7 +1398,7 @@ 57.4 _g1_storage.initialize(g1_rs, 0); 57.5 _g1_committed = MemRegion((HeapWord*)_g1_storage.low(), (size_t) 0); 57.6 _g1_max_committed = _g1_committed; 57.7 - _hrs = new HeapRegionSeq(); 57.8 + _hrs = new HeapRegionSeq(_expansion_regions); 57.9 guarantee(_hrs != NULL, "Couldn't allocate HeapRegionSeq"); 57.10 guarantee(_cur_alloc_region == NULL, "from constructor"); 57.11
58.1 --- a/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Tue Oct 14 10:15:33 2008 -0400 58.2 +++ b/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Fri Oct 17 15:18:02 2008 -0700 58.3 @@ -37,7 +37,7 @@ 58.4 return 0; 58.5 } 58.6 58.7 -HeapRegionSeq::HeapRegionSeq() : 58.8 +HeapRegionSeq::HeapRegionSeq(const size_t max_size) : 58.9 _alloc_search_start(0), 58.10 // The line below is the worst bit of C++ hackery I've ever written 58.11 // (Detlefs, 11/23). You should think of it as equivalent to 58.12 @@ -50,7 +50,7 @@ 58.13 _regions((ResourceObj::operator new (sizeof(GrowableArray<HeapRegion*>), 58.14 (void*)&_regions, 58.15 ResourceObj::C_HEAP), 58.16 - 100), 58.17 + (int)max_size), 58.18 true), 58.19 _next_rr_candidate(0), 58.20 _seq_bottom(NULL) 58.21 @@ -167,6 +167,7 @@ 58.22 // Public methods. 58.23 58.24 void HeapRegionSeq::insert(HeapRegion* hr) { 58.25 + assert(!_regions.is_full(), "Too many elements in HeapRegionSeq"); 58.26 if (_regions.length() == 0 58.27 || _regions.top()->end() <= hr->bottom()) { 58.28 hr->set_hrs_index(_regions.length());
59.1 --- a/src/share/vm/gc_implementation/g1/heapRegionSeq.hpp Tue Oct 14 10:15:33 2008 -0400 59.2 +++ b/src/share/vm/gc_implementation/g1/heapRegionSeq.hpp Fri Oct 17 15:18:02 2008 -0700 59.3 @@ -49,7 +49,7 @@ 59.4 59.5 public: 59.6 // Initializes "this" to the empty sequence of regions. 59.7 - HeapRegionSeq(); 59.8 + HeapRegionSeq(const size_t max_size); 59.9 59.10 // Adds "hr" to "this" sequence. Requires "hr" not to overlap with 59.11 // any region already in "this". (Will perform better if regions are
60.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp Tue Oct 14 10:15:33 2008 -0400 60.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp Fri Oct 17 15:18:02 2008 -0700 60.3 @@ -1,5 +1,5 @@ 60.4 /* 60.5 - * Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved. 60.6 + * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved. 60.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 60.8 * 60.9 * This code is free software; you can redistribute it and/or modify it
61.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp Tue Oct 14 10:15:33 2008 -0400 61.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp Fri Oct 17 15:18:02 2008 -0700 61.3 @@ -1,5 +1,5 @@ 61.4 /* 61.5 - * Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved. 61.6 + * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved. 61.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 61.8 * 61.9 * This code is free software; you can redistribute it and/or modify it
62.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp Tue Oct 14 10:15:33 2008 -0400 62.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp Fri Oct 17 15:18:02 2008 -0700 62.3 @@ -1,5 +1,5 @@ 62.4 /* 62.5 - * Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. 62.6 + * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved. 62.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 62.8 * 62.9 * This code is free software; you can redistribute it and/or modify it
63.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp Tue Oct 14 10:15:33 2008 -0400 63.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp Fri Oct 17 15:18:02 2008 -0700 63.3 @@ -1,5 +1,5 @@ 63.4 /* 63.5 - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. 63.6 + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 63.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 63.8 * 63.9 * This code is free software; you can redistribute it and/or modify it
64.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp Tue Oct 14 10:15:33 2008 -0400 64.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp Fri Oct 17 15:18:02 2008 -0700 64.3 @@ -1,5 +1,5 @@ 64.4 /* 64.5 - * Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. 64.6 + * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved. 64.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 64.8 * 64.9 * This code is free software; you can redistribute it and/or modify it
65.1 --- a/src/share/vm/gc_implementation/shared/gcUtil.hpp Tue Oct 14 10:15:33 2008 -0400 65.2 +++ b/src/share/vm/gc_implementation/shared/gcUtil.hpp Fri Oct 17 15:18:02 2008 -0700 65.3 @@ -1,5 +1,5 @@ 65.4 /* 65.5 - * Copyright 2002-2005 Sun Microsystems, Inc. All Rights Reserved. 65.6 + * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. 65.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 65.8 * 65.9 * This code is free software; you can redistribute it and/or modify it
66.1 --- a/src/share/vm/gc_implementation/shared/spaceDecorator.cpp Tue Oct 14 10:15:33 2008 -0400 66.2 +++ b/src/share/vm/gc_implementation/shared/spaceDecorator.cpp Fri Oct 17 15:18:02 2008 -0700 66.3 @@ -1,5 +1,5 @@ 66.4 /* 66.5 - * Copyright 2002-2005 Sun Microsystems, Inc. All Rights Reserved. 66.6 + * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. 66.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 66.8 * 66.9 * This code is free software; you can redistribute it and/or modify it
67.1 --- a/src/share/vm/gc_implementation/shared/spaceDecorator.hpp Tue Oct 14 10:15:33 2008 -0400 67.2 +++ b/src/share/vm/gc_implementation/shared/spaceDecorator.hpp Fri Oct 17 15:18:02 2008 -0700 67.3 @@ -1,5 +1,5 @@ 67.4 /* 67.5 - * Copyright 2002-2005 Sun Microsystems, Inc. All Rights Reserved. 67.6 + * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. 67.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 67.8 * 67.9 * This code is free software; you can redistribute it and/or modify it
68.1 --- a/src/share/vm/includeDB_features Tue Oct 14 10:15:33 2008 -0400 68.2 +++ b/src/share/vm/includeDB_features Fri Oct 17 15:18:02 2008 -0700 68.3 @@ -1,5 +1,5 @@ 68.4 // 68.5 -// Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. 68.6 +// Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. 68.7 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 68.8 // 68.9 // This code is free software; you can redistribute it and/or modify it 68.10 @@ -99,6 +99,7 @@ 68.11 heapDumper.cpp reflectionUtils.hpp 68.12 heapDumper.cpp symbolTable.hpp 68.13 heapDumper.cpp systemDictionary.hpp 68.14 +heapDumper.cpp threadService.hpp 68.15 heapDumper.cpp universe.hpp 68.16 heapDumper.cpp vframe.hpp 68.17 heapDumper.cpp vmGCOperations.hpp
69.1 --- a/src/share/vm/memory/blockOffsetTable.hpp Tue Oct 14 10:15:33 2008 -0400 69.2 +++ b/src/share/vm/memory/blockOffsetTable.hpp Fri Oct 17 15:18:02 2008 -0700 69.3 @@ -1,5 +1,5 @@ 69.4 /* 69.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 69.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 69.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 69.8 * 69.9 * This code is free software; you can redistribute it and/or modify it
70.1 --- a/src/share/vm/memory/compactingPermGenGen.hpp Tue Oct 14 10:15:33 2008 -0400 70.2 +++ b/src/share/vm/memory/compactingPermGenGen.hpp Fri Oct 17 15:18:02 2008 -0700 70.3 @@ -1,5 +1,5 @@ 70.4 /* 70.5 - * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. 70.6 + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. 70.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 70.8 * 70.9 * This code is free software; you can redistribute it and/or modify it
71.1 --- a/src/share/vm/opto/block.cpp Tue Oct 14 10:15:33 2008 -0400 71.2 +++ b/src/share/vm/opto/block.cpp Fri Oct 17 15:18:02 2008 -0700 71.3 @@ -1,5 +1,5 @@ 71.4 /* 71.5 - * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 71.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 71.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 71.8 * 71.9 * This code is free software; you can redistribute it and/or modify it
72.1 --- a/src/share/vm/opto/callGenerator.cpp Tue Oct 14 10:15:33 2008 -0400 72.2 +++ b/src/share/vm/opto/callGenerator.cpp Fri Oct 17 15:18:02 2008 -0700 72.3 @@ -1,5 +1,5 @@ 72.4 /* 72.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 72.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 72.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 72.8 * 72.9 * This code is free software; you can redistribute it and/or modify it
73.1 --- a/src/share/vm/opto/coalesce.cpp Tue Oct 14 10:15:33 2008 -0400 73.2 +++ b/src/share/vm/opto/coalesce.cpp Fri Oct 17 15:18:02 2008 -0700 73.3 @@ -1,5 +1,5 @@ 73.4 /* 73.5 - * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 73.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 73.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 73.8 * 73.9 * This code is free software; you can redistribute it and/or modify it
74.1 --- a/src/share/vm/opto/idealGraphPrinter.cpp Tue Oct 14 10:15:33 2008 -0400 74.2 +++ b/src/share/vm/opto/idealGraphPrinter.cpp Fri Oct 17 15:18:02 2008 -0700 74.3 @@ -1,5 +1,5 @@ 74.4 /* 74.5 - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. 74.6 + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. 74.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 74.8 * 74.9 * This code is free software; you can redistribute it and/or modify it
75.1 --- a/src/share/vm/opto/ifg.cpp Tue Oct 14 10:15:33 2008 -0400 75.2 +++ b/src/share/vm/opto/ifg.cpp Fri Oct 17 15:18:02 2008 -0700 75.3 @@ -1,5 +1,5 @@ 75.4 /* 75.5 - * Copyright 1998-2006 Sun Microsystems, Inc. All Rights Reserved. 75.6 + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. 75.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 75.8 * 75.9 * This code is free software; you can redistribute it and/or modify it
76.1 --- a/src/share/vm/opto/ifnode.cpp Tue Oct 14 10:15:33 2008 -0400 76.2 +++ b/src/share/vm/opto/ifnode.cpp Fri Oct 17 15:18:02 2008 -0700 76.3 @@ -1,5 +1,5 @@ 76.4 /* 76.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 76.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 76.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 76.8 * 76.9 * This code is free software; you can redistribute it and/or modify it
77.1 --- a/src/share/vm/opto/reg_split.cpp Tue Oct 14 10:15:33 2008 -0400 77.2 +++ b/src/share/vm/opto/reg_split.cpp Fri Oct 17 15:18:02 2008 -0700 77.3 @@ -1,5 +1,5 @@ 77.4 /* 77.5 - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 77.6 + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. 77.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 77.8 * 77.9 * This code is free software; you can redistribute it and/or modify it
78.1 --- a/src/share/vm/runtime/statSampler.cpp Tue Oct 14 10:15:33 2008 -0400 78.2 +++ b/src/share/vm/runtime/statSampler.cpp Fri Oct 17 15:18:02 2008 -0700 78.3 @@ -1,5 +1,5 @@ 78.4 /* 78.5 - * Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. 78.6 + * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved. 78.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 78.8 * 78.9 * This code is free software; you can redistribute it and/or modify it
79.1 --- a/src/share/vm/runtime/threadLocalStorage.cpp Tue Oct 14 10:15:33 2008 -0400 79.2 +++ b/src/share/vm/runtime/threadLocalStorage.cpp Fri Oct 17 15:18:02 2008 -0700 79.3 @@ -1,5 +1,5 @@ 79.4 /* 79.5 - * Copyright 1997-2003 Sun Microsystems, Inc. All Rights Reserved. 79.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 79.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 79.8 * 79.9 * This code is free software; you can redistribute it and/or modify it
80.1 --- a/src/share/vm/runtime/threadLocalStorage.hpp Tue Oct 14 10:15:33 2008 -0400 80.2 +++ b/src/share/vm/runtime/threadLocalStorage.hpp Fri Oct 17 15:18:02 2008 -0700 80.3 @@ -1,5 +1,5 @@ 80.4 /* 80.5 - * Copyright 1997-2003 Sun Microsystems, Inc. All Rights Reserved. 80.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 80.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 80.8 * 80.9 * This code is free software; you can redistribute it and/or modify it
81.1 --- a/src/share/vm/runtime/virtualspace.cpp Tue Oct 14 10:15:33 2008 -0400 81.2 +++ b/src/share/vm/runtime/virtualspace.cpp Fri Oct 17 15:18:02 2008 -0700 81.3 @@ -1,5 +1,5 @@ 81.4 /* 81.5 - * Copyright 1997-2005 Sun Microsystems, Inc. All Rights Reserved. 81.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 81.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 81.8 * 81.9 * This code is free software; you can redistribute it and/or modify it
82.1 --- a/src/share/vm/runtime/virtualspace.hpp Tue Oct 14 10:15:33 2008 -0400 82.2 +++ b/src/share/vm/runtime/virtualspace.hpp Fri Oct 17 15:18:02 2008 -0700 82.3 @@ -1,5 +1,5 @@ 82.4 /* 82.5 - * Copyright 1997-2005 Sun Microsystems, Inc. All Rights Reserved. 82.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 82.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 82.8 * 82.9 * This code is free software; you can redistribute it and/or modify it
83.1 --- a/src/share/vm/services/heapDumper.cpp Tue Oct 14 10:15:33 2008 -0400 83.2 +++ b/src/share/vm/services/heapDumper.cpp Fri Oct 17 15:18:02 2008 -0700 83.3 @@ -343,7 +343,8 @@ 83.4 83.5 // Default stack trace ID (used for dummy HPROF_TRACE record) 83.6 enum { 83.7 - STACK_TRACE_ID = 1 83.8 + STACK_TRACE_ID = 1, 83.9 + INITIAL_CLASS_COUNT = 200 83.10 }; 83.11 83.12 83.13 @@ -408,6 +409,7 @@ 83.14 void write_u8(u8 x); 83.15 void write_objectID(oop o); 83.16 void write_classID(Klass* k); 83.17 + void write_id(u4 x); 83.18 }; 83.19 83.20 DumpWriter::DumpWriter(const char* path) { 83.21 @@ -548,6 +550,14 @@ 83.22 #endif 83.23 } 83.24 83.25 +void DumpWriter::write_id(u4 x) { 83.26 +#ifdef _LP64 83.27 + write_u8((u8) x); 83.28 +#else 83.29 + write_u4(x); 83.30 +#endif 83.31 +} 83.32 + 83.33 // We use java mirror as the class ID 83.34 void DumpWriter::write_classID(Klass* k) { 83.35 write_objectID(k->java_mirror()); 83.36 @@ -596,6 +606,8 @@ 83.37 static void dump_object_array(DumpWriter* writer, objArrayOop array); 83.38 // creates HPROF_GC_PRIM_ARRAY_DUMP record for the given type array 83.39 static void dump_prim_array(DumpWriter* writer, typeArrayOop array); 83.40 + // create HPROF_FRAME record for the given method and bci 83.41 + static void dump_stack_frame(DumpWriter* writer, int frame_serial_num, int class_serial_num, methodOop m, int bci); 83.42 }; 83.43 83.44 // write a header of the given type 83.45 @@ -1070,6 +1082,29 @@ 83.46 } 83.47 } 83.48 83.49 +// create a HPROF_FRAME record of the given methodOop and bci 83.50 +void DumperSupport::dump_stack_frame(DumpWriter* writer, 83.51 + int frame_serial_num, 83.52 + int class_serial_num, 83.53 + methodOop m, 83.54 + int bci) { 83.55 + int line_number; 83.56 + if (m->is_native()) { 83.57 + line_number = -3; // native frame 83.58 + } else { 83.59 + line_number = m->line_number_from_bci(bci); 83.60 + } 83.61 + 83.62 + write_header(writer, HPROF_FRAME, 4*oopSize + 2*sizeof(u4)); 83.63 + writer->write_id(frame_serial_num); // frame serial number 83.64 + writer->write_objectID(m->name()); // method's name 83.65 + writer->write_objectID(m->signature()); // method's signature 83.66 + 83.67 + assert(Klass::cast(m->method_holder())->oop_is_instance(), "not instanceKlass"); 83.68 + writer->write_objectID(instanceKlass::cast(m->method_holder())->source_file_name()); // source file name 83.69 + writer->write_u4(class_serial_num); // class serial number 83.70 + writer->write_u4((u4) line_number); // line number 83.71 +} 83.72 83.73 // Support class used to generate HPROF_UTF8 records from the entries in the 83.74 // SymbolTable. 83.75 @@ -1104,12 +1139,15 @@ 83.76 private: 83.77 DumpWriter* _writer; 83.78 u4 _thread_serial_num; 83.79 + int _frame_num; 83.80 DumpWriter* writer() const { return _writer; } 83.81 public: 83.82 JNILocalsDumper(DumpWriter* writer, u4 thread_serial_num) { 83.83 _writer = writer; 83.84 _thread_serial_num = thread_serial_num; 83.85 + _frame_num = -1; // default - empty stack 83.86 } 83.87 + void set_frame_number(int n) { _frame_num = n; } 83.88 void do_oop(oop* obj_p); 83.89 void do_oop(narrowOop* obj_p) { ShouldNotReachHere(); } 83.90 }; 83.91 @@ -1122,7 +1160,7 @@ 83.92 writer()->write_u1(HPROF_GC_ROOT_JNI_LOCAL); 83.93 writer()->write_objectID(o); 83.94 writer()->write_u4(_thread_serial_num); 83.95 - writer()->write_u4((u4)-1); // empty 83.96 + writer()->write_u4((u4)_frame_num); 83.97 } 83.98 } 83.99 83.100 @@ -1269,6 +1307,9 @@ 83.101 bool _gc_before_heap_dump; 83.102 bool _is_segmented_dump; 83.103 jlong _dump_start; 83.104 + GrowableArray<Klass*>* _klass_map; 83.105 + ThreadStackTrace** _stack_traces; 83.106 + int _num_threads; 83.107 83.108 // accessors 83.109 DumpWriter* writer() const { return _writer; } 83.110 @@ -1291,9 +1332,16 @@ 83.111 static void do_basic_type_array_class_dump(klassOop k); 83.112 83.113 // HPROF_GC_ROOT_THREAD_OBJ records 83.114 - void do_thread(JavaThread* thread, u4 thread_serial_num); 83.115 + int do_thread(JavaThread* thread, u4 thread_serial_num); 83.116 void do_threads(); 83.117 83.118 + void add_class_serial_number(Klass* k, int serial_num) { 83.119 + _klass_map->at_put_grow(serial_num, k); 83.120 + } 83.121 + 83.122 + // HPROF_TRACE and HPROF_FRAME records 83.123 + void dump_stack_traces(); 83.124 + 83.125 // writes a HPROF_HEAP_DUMP or HPROF_HEAP_DUMP_SEGMENT record 83.126 void write_dump_header(); 83.127 83.128 @@ -1313,6 +1361,18 @@ 83.129 _gc_before_heap_dump = gc_before_heap_dump; 83.130 _is_segmented_dump = false; 83.131 _dump_start = (jlong)-1; 83.132 + _klass_map = new (ResourceObj::C_HEAP) GrowableArray<Klass*>(INITIAL_CLASS_COUNT, true); 83.133 + _stack_traces = NULL; 83.134 + _num_threads = 0; 83.135 + } 83.136 + ~VM_HeapDumper() { 83.137 + if (_stack_traces != NULL) { 83.138 + for (int i=0; i < _num_threads; i++) { 83.139 + delete _stack_traces[i]; 83.140 + } 83.141 + FREE_C_HEAP_ARRAY(ThreadStackTrace*, _stack_traces); 83.142 + } 83.143 + delete _klass_map; 83.144 } 83.145 83.146 VMOp_Type type() const { return VMOp_HeapDumper; } 83.147 @@ -1436,6 +1496,9 @@ 83.148 Klass* klass = Klass::cast(k); 83.149 writer->write_classID(klass); 83.150 83.151 + // add the klassOop and class serial number pair 83.152 + dumper->add_class_serial_number(klass, class_serial_num); 83.153 + 83.154 writer->write_u4(STACK_TRACE_ID); 83.155 83.156 // class name ID 83.157 @@ -1465,15 +1528,15 @@ 83.158 // Walk the stack of the given thread. 83.159 // Dumps a HPROF_GC_ROOT_JAVA_FRAME record for each local 83.160 // Dumps a HPROF_GC_ROOT_JNI_LOCAL record for each JNI local 83.161 -void VM_HeapDumper::do_thread(JavaThread* java_thread, u4 thread_serial_num) { 83.162 +// 83.163 +// It returns the number of Java frames in this thread stack 83.164 +int VM_HeapDumper::do_thread(JavaThread* java_thread, u4 thread_serial_num) { 83.165 JNILocalsDumper blk(writer(), thread_serial_num); 83.166 83.167 oop threadObj = java_thread->threadObj(); 83.168 assert(threadObj != NULL, "sanity check"); 83.169 83.170 - // JNI locals for the top frame 83.171 - java_thread->active_handles()->oops_do(&blk); 83.172 - 83.173 + int stack_depth = 0; 83.174 if (java_thread->has_last_Java_frame()) { 83.175 83.176 // vframes are resource allocated 83.177 @@ -1484,13 +1547,14 @@ 83.178 RegisterMap reg_map(java_thread); 83.179 frame f = java_thread->last_frame(); 83.180 vframe* vf = vframe::new_vframe(&f, ®_map, java_thread); 83.181 + frame* last_entry_frame = NULL; 83.182 83.183 while (vf != NULL) { 83.184 + blk.set_frame_number(stack_depth); 83.185 if (vf->is_java_frame()) { 83.186 83.187 // java frame (interpreted, compiled, ...) 83.188 javaVFrame *jvf = javaVFrame::cast(vf); 83.189 - 83.190 if (!(jvf->method()->is_native())) { 83.191 StackValueCollection* locals = jvf->locals(); 83.192 for (int slot=0; slot<locals->size(); slot++) { 83.193 @@ -1501,44 +1565,61 @@ 83.194 writer()->write_u1(HPROF_GC_ROOT_JAVA_FRAME); 83.195 writer()->write_objectID(o); 83.196 writer()->write_u4(thread_serial_num); 83.197 - writer()->write_u4((u4)-1); // empty 83.198 + writer()->write_u4((u4) stack_depth); 83.199 } 83.200 } 83.201 } 83.202 + } else { 83.203 + // native frame 83.204 + if (stack_depth == 0) { 83.205 + // JNI locals for the top frame. 83.206 + java_thread->active_handles()->oops_do(&blk); 83.207 + } else { 83.208 + if (last_entry_frame != NULL) { 83.209 + // JNI locals for the entry frame 83.210 + assert(last_entry_frame->is_entry_frame(), "checking"); 83.211 + last_entry_frame->entry_frame_call_wrapper()->handles()->oops_do(&blk); 83.212 + } 83.213 + } 83.214 } 83.215 + // increment only for Java frames 83.216 + stack_depth++; 83.217 + last_entry_frame = NULL; 83.218 + 83.219 } else { 83.220 - 83.221 // externalVFrame - if it's an entry frame then report any JNI locals 83.222 - // as roots 83.223 + // as roots when we find the corresponding native javaVFrame 83.224 frame* fr = vf->frame_pointer(); 83.225 assert(fr != NULL, "sanity check"); 83.226 if (fr->is_entry_frame()) { 83.227 - fr->entry_frame_call_wrapper()->handles()->oops_do(&blk); 83.228 + last_entry_frame = fr; 83.229 } 83.230 } 83.231 - 83.232 vf = vf->sender(); 83.233 } 83.234 + } else { 83.235 + // no last java frame but there may be JNI locals 83.236 + java_thread->active_handles()->oops_do(&blk); 83.237 } 83.238 + return stack_depth; 83.239 } 83.240 83.241 83.242 // write a HPROF_GC_ROOT_THREAD_OBJ record for each java thread. Then walk 83.243 // the stack so that locals and JNI locals are dumped. 83.244 void VM_HeapDumper::do_threads() { 83.245 - u4 thread_serial_num = 0; 83.246 - for (JavaThread* thread = Threads::first(); thread != NULL ; thread = thread->next()) { 83.247 + for (int i=0; i < _num_threads; i++) { 83.248 + JavaThread* thread = _stack_traces[i]->thread(); 83.249 oop threadObj = thread->threadObj(); 83.250 - if (threadObj != NULL && !thread->is_exiting() && !thread->is_hidden_from_external_view()) { 83.251 - ++thread_serial_num; 83.252 - 83.253 - writer()->write_u1(HPROF_GC_ROOT_THREAD_OBJ); 83.254 - writer()->write_objectID(threadObj); 83.255 - writer()->write_u4(thread_serial_num); 83.256 - writer()->write_u4(STACK_TRACE_ID); 83.257 - 83.258 - do_thread(thread, thread_serial_num); 83.259 - } 83.260 + u4 thread_serial_num = i+1; 83.261 + u4 stack_serial_num = thread_serial_num + STACK_TRACE_ID; 83.262 + writer()->write_u1(HPROF_GC_ROOT_THREAD_OBJ); 83.263 + writer()->write_objectID(threadObj); 83.264 + writer()->write_u4(thread_serial_num); // thread number 83.265 + writer()->write_u4(stack_serial_num); // stack trace serial number 83.266 + int num_frames = do_thread(thread, thread_serial_num); 83.267 + assert(num_frames == _stack_traces[i]->get_stack_depth(), 83.268 + "total number of Java frames not matched"); 83.269 } 83.270 } 83.271 83.272 @@ -1547,16 +1628,16 @@ 83.273 // records: 83.274 // 83.275 // HPROF_HEADER 83.276 -// HPROF_TRACE 83.277 // [HPROF_UTF8]* 83.278 // [HPROF_LOAD_CLASS]* 83.279 +// [[HPROF_FRAME]*|HPROF_TRACE]* 83.280 // [HPROF_GC_CLASS_DUMP]* 83.281 // HPROF_HEAP_DUMP 83.282 // 83.283 -// The HPROF_TRACE record after the header is "dummy trace" record which does 83.284 -// not include any frames. Other records which require a stack trace ID will 83.285 -// specify the trace ID of this record (1). It also means we can run HAT without 83.286 -// needing the -stack false option. 83.287 +// The HPROF_TRACE records represent the stack traces where the heap dump 83.288 +// is generated and a "dummy trace" record which does not include 83.289 +// any frames. The dummy trace record is used to be referenced as the 83.290 +// unknown object alloc site. 83.291 // 83.292 // The HPROF_HEAP_DUMP record has a length following by sub-records. To allow 83.293 // the heap dump be generated in a single pass we remember the position of 83.294 @@ -1592,12 +1673,6 @@ 83.295 writer()->write_u4(oopSize); 83.296 writer()->write_u8(os::javaTimeMillis()); 83.297 83.298 - // HPROF_TRACE record without any frames 83.299 - DumperSupport::write_header(writer(), HPROF_TRACE, 3*sizeof(u4)); 83.300 - writer()->write_u4(STACK_TRACE_ID); 83.301 - writer()->write_u4(0); // thread number 83.302 - writer()->write_u4(0); // frame count 83.303 - 83.304 // HPROF_UTF8 records 83.305 SymbolTableDumper sym_dumper(writer()); 83.306 SymbolTable::oops_do(&sym_dumper); 83.307 @@ -1606,6 +1681,10 @@ 83.308 SystemDictionary::classes_do(&do_load_class); 83.309 Universe::basic_type_classes_do(&do_load_class); 83.310 83.311 + // write HPROF_FRAME and HPROF_TRACE records 83.312 + // this must be called after _klass_map is built when iterating the classes above. 83.313 + dump_stack_traces(); 83.314 + 83.315 // write HPROF_HEAP_DUMP or HPROF_HEAP_DUMP_SEGMENT 83.316 write_dump_header(); 83.317 83.318 @@ -1646,6 +1725,47 @@ 83.319 end_of_dump(); 83.320 } 83.321 83.322 +void VM_HeapDumper::dump_stack_traces() { 83.323 + // write a HPROF_TRACE record without any frames to be referenced as object alloc sites 83.324 + DumperSupport::write_header(writer(), HPROF_TRACE, 3*sizeof(u4)); 83.325 + writer()->write_u4((u4) STACK_TRACE_ID); 83.326 + writer()->write_u4(0); // thread number 83.327 + writer()->write_u4(0); // frame count 83.328 + 83.329 + _stack_traces = NEW_C_HEAP_ARRAY(ThreadStackTrace*, Threads::number_of_threads()); 83.330 + int frame_serial_num = 0; 83.331 + for (JavaThread* thread = Threads::first(); thread != NULL ; thread = thread->next()) { 83.332 + oop threadObj = thread->threadObj(); 83.333 + if (threadObj != NULL && !thread->is_exiting() && !thread->is_hidden_from_external_view()) { 83.334 + // dump thread stack trace 83.335 + ThreadStackTrace* stack_trace = new ThreadStackTrace(thread, false); 83.336 + stack_trace->dump_stack_at_safepoint(-1); 83.337 + _stack_traces[_num_threads++] = stack_trace; 83.338 + 83.339 + // write HPROF_FRAME records for this thread's stack trace 83.340 + int depth = stack_trace->get_stack_depth(); 83.341 + int thread_frame_start = frame_serial_num; 83.342 + for (int j=0; j < depth; j++) { 83.343 + StackFrameInfo* frame = stack_trace->stack_frame_at(j); 83.344 + methodOop m = frame->method(); 83.345 + int class_serial_num = _klass_map->find(Klass::cast(m->method_holder())); 83.346 + // the class serial number starts from 1 83.347 + assert(class_serial_num > 0, "class not found"); 83.348 + DumperSupport::dump_stack_frame(writer(), ++frame_serial_num, class_serial_num, m, frame->bci()); 83.349 + } 83.350 + 83.351 + // write HPROF_TRACE record for one thread 83.352 + DumperSupport::write_header(writer(), HPROF_TRACE, 3*sizeof(u4) + depth*oopSize); 83.353 + int stack_serial_num = _num_threads + STACK_TRACE_ID; 83.354 + writer()->write_u4(stack_serial_num); // stack trace serial number 83.355 + writer()->write_u4((u4) _num_threads); // thread serial number 83.356 + writer()->write_u4(depth); // frame count 83.357 + for (int j=1; j <= depth; j++) { 83.358 + writer()->write_id(thread_frame_start + j); 83.359 + } 83.360 + } 83.361 + } 83.362 +} 83.363 83.364 // dump the heap to given path. 83.365 int HeapDumper::dump(const char* path) {
84.1 --- a/src/share/vm/services/threadService.hpp Tue Oct 14 10:15:33 2008 -0400 84.2 +++ b/src/share/vm/services/threadService.hpp Fri Oct 17 15:18:02 2008 -0700 84.3 @@ -242,6 +242,7 @@ 84.4 ThreadStackTrace(JavaThread* thread, bool with_locked_monitors); 84.5 ~ThreadStackTrace(); 84.6 84.7 + JavaThread* thread() { return _thread; } 84.8 StackFrameInfo* stack_frame_at(int i) { return _frames->at(i); } 84.9 int get_stack_depth() { return _depth; } 84.10
85.1 --- a/src/share/vm/utilities/macros.hpp Tue Oct 14 10:15:33 2008 -0400 85.2 +++ b/src/share/vm/utilities/macros.hpp Fri Oct 17 15:18:02 2008 -0700 85.3 @@ -1,5 +1,5 @@ 85.4 /* 85.5 - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 85.6 + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 85.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 85.8 * 85.9 * This code is free software; you can redistribute it and/or modify it