Wed, 22 Jan 2014 17:42:23 -0800
Merge
1.1 --- a/.hgtags Thu Jan 16 14:25:51 2014 +0100 1.2 +++ b/.hgtags Wed Jan 22 17:42:23 2014 -0800 1.3 @@ -404,3 +404,10 @@ 1.4 fca262db9c4309f99d2f5542ab0780e45c2f1578 jdk8-b120 1.5 41f4cad94c581034d4c427d2aaabcc20f26342d0 hs25-b63 1.6 5f07ec8bb982c48567693d3ef8bdfd4bdf1836d4 jdk8-b121 1.7 +61ee6bab0763028be1dfbb8513232f1c85628945 hs25-b64 1.8 +55fb97c4c58d6ed4db8ec02a382ba518d9265815 hs25-b65 1.9 +d3521d8e562a782f66fc0dfdebeffba2c7e3471d jdk8-b122 1.10 +591135a7d6f96c0ef281d078cee9a8d8c342d45c jdk8-b123 1.11 +c89630a122b43d0eabd78b74f6498a1c3cf04ca3 jdk8u20-b00 1.12 +c89630a122b43d0eabd78b74f6498a1c3cf04ca3 hs25.20-b00 1.13 +412d3b5fe90e54c0ff9d9ac7374b98607c561d5a hs25.20-b01
2.1 --- a/agent/make/Makefile Thu Jan 16 14:25:51 2014 +0100 2.2 +++ b/agent/make/Makefile Wed Jan 22 17:42:23 2014 -0800 2.3 @@ -1,5 +1,5 @@ 2.4 # 2.5 -# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 2.6 +# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 2.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2.8 # 2.9 # This code is free software; you can redistribute it and/or modify it
3.1 --- a/agent/src/os/linux/libproc.h Thu Jan 16 14:25:51 2014 +0100 3.2 +++ b/agent/src/os/linux/libproc.h Wed Jan 22 17:42:23 2014 -0800 3.3 @@ -1,5 +1,5 @@ 3.4 /* 3.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 3.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 3.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3.8 * 3.9 * This code is free software; you can redistribute it and/or modify it
4.1 --- a/agent/src/os/linux/salibelf.c Thu Jan 16 14:25:51 2014 +0100 4.2 +++ b/agent/src/os/linux/salibelf.c Wed Jan 22 17:42:23 2014 -0800 4.3 @@ -1,5 +1,5 @@ 4.4 /* 4.5 - * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved. 4.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 4.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4.8 * 4.9 * This code is free software; you can redistribute it and/or modify it
5.1 --- a/agent/src/os/linux/symtab.c Thu Jan 16 14:25:51 2014 +0100 5.2 +++ b/agent/src/os/linux/symtab.c Wed Jan 22 17:42:23 2014 -0800 5.3 @@ -1,5 +1,5 @@ 5.4 /* 5.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 5.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 5.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5.8 * 5.9 * This code is free software; you can redistribute it and/or modify it
6.1 --- a/agent/src/os/solaris/proc/saproc.cpp Thu Jan 16 14:25:51 2014 +0100 6.2 +++ b/agent/src/os/solaris/proc/saproc.cpp Wed Jan 22 17:42:23 2014 -0800 6.3 @@ -1,5 +1,5 @@ 6.4 /* 6.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 6.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 6.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6.8 * 6.9 * This code is free software; you can redistribute it and/or modify it
7.1 --- a/agent/src/os/win32/windbg/sawindbg.cpp Thu Jan 16 14:25:51 2014 +0100 7.2 +++ b/agent/src/os/win32/windbg/sawindbg.cpp Wed Jan 22 17:42:23 2014 -0800 7.3 @@ -1,5 +1,5 @@ 7.4 /* 7.5 - * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved. 7.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 7.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 7.8 * 7.9 * This code is free software; you can redistribute it and/or modify it
8.1 --- a/agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java Thu Jan 16 14:25:51 2014 +0100 8.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java Wed Jan 22 17:42:23 2014 -0800 8.3 @@ -1,5 +1,5 @@ 8.4 /* 8.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 8.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 8.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 8.8 * 8.9 * This code is free software; you can redistribute it and/or modify it
9.1 --- a/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Thu Jan 16 14:25:51 2014 +0100 9.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Wed Jan 22 17:42:23 2014 -0800 9.3 @@ -1,5 +1,5 @@ 9.4 /* 9.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 9.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 9.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9.8 * 9.9 * This code is free software; you can redistribute it and/or modify it
10.1 --- a/agent/src/share/classes/sun/jvm/hotspot/HSDB.java Thu Jan 16 14:25:51 2014 +0100 10.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/HSDB.java Wed Jan 22 17:42:23 2014 -0800 10.3 @@ -1,5 +1,5 @@ 10.4 /* 10.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 10.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/LinuxVtblAccess.java Thu Jan 16 14:25:51 2014 +0100 11.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java Wed Jan 22 17:42:23 2014 -0800 11.3 @@ -1,5 +1,5 @@ 11.4 /* 11.5 - * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. 11.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/asm/Disassembler.java Thu Jan 16 14:25:51 2014 +0100 12.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/asm/Disassembler.java Wed Jan 22 17:42:23 2014 -0800 12.3 @@ -1,5 +1,5 @@ 12.4 /* 12.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 12.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java Thu Jan 16 14:25:51 2014 +0100 13.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java Wed Jan 22 17:42:23 2014 -0800 13.3 @@ -1,5 +1,5 @@ 13.4 /* 13.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 13.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. 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 13.10 @@ -95,9 +95,15 @@ 13.11 int entryBci = task.osrBci(); 13.12 int compLevel = task.compLevel(); 13.13 Klass holder = method.getMethodHolder(); 13.14 - out.println("compile " + holder.getName().asString() + " " + 13.15 - OopUtilities.escapeString(method.getName().asString()) + " " + 13.16 - method.getSignature().asString() + " " + 13.17 - entryBci + " " + compLevel); 13.18 + out.print("compile " + holder.getName().asString() + " " + 13.19 + OopUtilities.escapeString(method.getName().asString()) + " " + 13.20 + method.getSignature().asString() + " " + 13.21 + entryBci + " " + compLevel); 13.22 + Compile compiler = compilerData(); 13.23 + if (compiler != null) { 13.24 + // Dump inlining data. 13.25 + compiler.dumpInlineData(out); 13.26 + } 13.27 + out.println(); 13.28 } 13.29 }
14.1 --- a/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java Thu Jan 16 14:25:51 2014 +0100 14.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java Wed Jan 22 17:42:23 2014 -0800 14.3 @@ -1,5 +1,5 @@ 14.4 /* 14.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 14.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java Thu Jan 16 14:25:51 2014 +0100 15.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java Wed Jan 22 17:42:23 2014 -0800 15.3 @@ -1,5 +1,5 @@ 15.4 /* 15.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 15.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java Thu Jan 16 14:25:51 2014 +0100 16.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java Wed Jan 22 17:42:23 2014 -0800 16.3 @@ -1,5 +1,5 @@ 16.4 /* 16.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 16.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java Thu Jan 16 14:25:51 2014 +0100 17.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java Wed Jan 22 17:42:23 2014 -0800 17.3 @@ -1,5 +1,5 @@ 17.4 /* 17.5 - * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved. 17.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java Thu Jan 16 14:25:51 2014 +0100 18.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java Wed Jan 22 17:42:23 2014 -0800 18.3 @@ -1,5 +1,5 @@ 18.4 /* 18.5 - * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved. 18.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java Thu Jan 16 14:25:51 2014 +0100 19.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java Wed Jan 22 17:42:23 2014 -0800 19.3 @@ -1,5 +1,5 @@ 19.4 /* 19.5 - * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved. 19.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java Thu Jan 16 14:25:51 2014 +0100 20.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java Wed Jan 22 17:42:23 2014 -0800 20.3 @@ -1,5 +1,5 @@ 20.4 /* 20.5 - * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved. 20.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java Thu Jan 16 14:25:51 2014 +0100 21.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java Wed Jan 22 17:42:23 2014 -0800 21.3 @@ -1,5 +1,5 @@ 21.4 /* 21.5 - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved. 21.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java Thu Jan 16 14:25:51 2014 +0100 22.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java Wed Jan 22 17:42:23 2014 -0800 22.3 @@ -1,5 +1,5 @@ 22.4 /* 22.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 22.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.java Thu Jan 16 14:25:51 2014 +0100 23.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.java Wed Jan 22 17:42:23 2014 -0800 23.3 @@ -1,5 +1,5 @@ 23.4 /* 23.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 23.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugger.java Thu Jan 16 14:25:51 2014 +0100 24.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugger.java Wed Jan 22 17:42:23 2014 -0800 24.3 @@ -1,5 +1,5 @@ 24.4 /* 24.5 - * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved. 24.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java Thu Jan 16 14:25:51 2014 +0100 25.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java Wed Jan 22 17:42:23 2014 -0800 25.3 @@ -1,5 +1,5 @@ 25.4 /* 25.5 - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. 25.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/windows/amd64/WindowsAMD64CFrame.java Thu Jan 16 14:25:51 2014 +0100 26.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/windows/amd64/WindowsAMD64CFrame.java Wed Jan 22 17:42:23 2014 -0800 26.3 @@ -1,5 +1,5 @@ 26.4 /* 26.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 26.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/debugger/windows/x86/WindowsX86CFrame.java Thu Jan 16 14:25:51 2014 +0100 27.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/windows/x86/WindowsX86CFrame.java Wed Jan 22 17:42:23 2014 -0800 27.3 @@ -1,5 +1,5 @@ 27.4 /* 27.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 27.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/jdi/JVMTIThreadState.java Thu Jan 16 14:25:51 2014 +0100 28.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/jdi/JVMTIThreadState.java Wed Jan 22 17:42:23 2014 -0800 28.3 @@ -1,5 +1,5 @@ 28.4 /* 28.5 - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. 28.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/memory/CMSCollector.java Thu Jan 16 14:25:51 2014 +0100 29.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/CMSCollector.java Wed Jan 22 17:42:23 2014 -0800 29.3 @@ -1,5 +1,5 @@ 29.4 /* 29.5 - * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. 29.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java Thu Jan 16 14:25:51 2014 +0100 30.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java Wed Jan 22 17:42:23 2014 -0800 30.3 @@ -1,5 +1,5 @@ 30.4 /* 30.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 30.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java Thu Jan 16 14:25:51 2014 +0100 31.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java Wed Jan 22 17:42:23 2014 -0800 31.3 @@ -1,5 +1,5 @@ 31.4 /* 31.5 - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. 31.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java Thu Jan 16 14:25:51 2014 +0100 32.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java Wed Jan 22 17:42:23 2014 -0800 32.3 @@ -1,5 +1,5 @@ 32.4 /* 32.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 32.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java Thu Jan 16 14:25:51 2014 +0100 33.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java Wed Jan 22 17:42:23 2014 -0800 33.3 @@ -1,5 +1,5 @@ 33.4 /* 33.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 33.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java Thu Jan 16 14:25:51 2014 +0100 34.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java Wed Jan 22 17:42:23 2014 -0800 34.3 @@ -1,5 +1,5 @@ 34.4 /* 34.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 34.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/oops/MethodCounters.java Thu Jan 16 14:25:51 2014 +0100 35.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/MethodCounters.java Wed Jan 22 17:42:23 2014 -0800 35.3 @@ -1,5 +1,5 @@ 35.4 /* 35.5 - * Copyright (c) 2013, 2013, Oracle and/or its affiliates. All rights reserved. 35.6 + * Copyright (c) 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java Thu Jan 16 14:25:51 2014 +0100 36.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java Wed Jan 22 17:42:23 2014 -0800 36.3 @@ -1,5 +1,5 @@ 36.4 /* 36.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 36.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Thu Jan 16 14:25:51 2014 +0100 37.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Wed Jan 22 17:42:23 2014 -0800 37.3 @@ -1,5 +1,5 @@ 37.4 /* 37.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 37.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/opto/Compile.java Thu Jan 16 14:25:51 2014 +0100 38.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/opto/Compile.java Wed Jan 22 17:42:23 2014 -0800 38.3 @@ -25,6 +25,7 @@ 38.4 package sun.jvm.hotspot.opto; 38.5 38.6 import java.util.*; 38.7 +import java.io.PrintStream; 38.8 import sun.jvm.hotspot.ci.*; 38.9 import sun.jvm.hotspot.debugger.*; 38.10 import sun.jvm.hotspot.runtime.*; 38.11 @@ -92,4 +93,13 @@ 38.12 } 38.13 return null; 38.14 } 38.15 + 38.16 + public void dumpInlineData(PrintStream out) { 38.17 + InlineTree inlTree = ilt(); 38.18 + if (inlTree != null) { 38.19 + out.print(" inline " + inlTree.count()); 38.20 + inlTree.dumpReplayData(out); 38.21 + } 38.22 + } 38.23 + 38.24 }
39.1 --- a/agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java Thu Jan 16 14:25:51 2014 +0100 39.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java Wed Jan 22 17:42:23 2014 -0800 39.3 @@ -87,6 +87,11 @@ 39.4 return GrowableArray.create(addr, inlineTreeConstructor); 39.5 } 39.6 39.7 + public int inlineLevel() { 39.8 + JVMState jvms = callerJvms(); 39.9 + return (jvms != null) ? jvms.depth() : 0; 39.10 + } 39.11 + 39.12 public void printImpl(PrintStream st, int indent) { 39.13 for (int i = 0; i < indent; i++) st.print(" "); 39.14 st.printf(" @ %d ", callerBci()); 39.15 @@ -101,4 +106,28 @@ 39.16 public void print(PrintStream st) { 39.17 printImpl(st, 2); 39.18 } 39.19 + 39.20 + // Count number of nodes in this subtree 39.21 + public int count() { 39.22 + int result = 1; 39.23 + GrowableArray<InlineTree> subt = subtrees(); 39.24 + for (int i = 0 ; i < subt.length(); i++) { 39.25 + result += subt.at(i).count(); 39.26 + } 39.27 + return result; 39.28 + } 39.29 + 39.30 + public void dumpReplayData(PrintStream out) { 39.31 + out.printf(" %d %d ", inlineLevel(), callerBci()); 39.32 + Method method = (Method)method().getMetadata(); 39.33 + Klass holder = method.getMethodHolder(); 39.34 + out.print(holder.getName().asString() + " " + 39.35 + OopUtilities.escapeString(method.getName().asString()) + " " + 39.36 + method.getSignature().asString()); 39.37 + 39.38 + GrowableArray<InlineTree> subt = subtrees(); 39.39 + for (int i = 0 ; i < subt.length(); i++) { 39.40 + subt.at(i).dumpReplayData(out); 39.41 + } 39.42 + } 39.43 }
40.1 --- a/agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java Thu Jan 16 14:25:51 2014 +0100 40.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java Wed Jan 22 17:42:23 2014 -0800 40.3 @@ -88,6 +88,10 @@ 40.4 return (int)bciField.getValue(getAddress()); 40.5 } 40.6 40.7 + public int depth() { 40.8 + return (int)depthField.getValue(getAddress()); 40.9 + } 40.10 + 40.11 public JVMState caller() { 40.12 return create(callerField.getValue(getAddress())); 40.13 }
41.1 --- a/agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java Thu Jan 16 14:25:51 2014 +0100 41.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java Wed Jan 22 17:42:23 2014 -0800 41.3 @@ -1,5 +1,5 @@ 41.4 /* 41.5 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 41.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java Thu Jan 16 14:25:51 2014 +0100 42.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java Wed Jan 22 17:42:23 2014 -0800 42.3 @@ -1,5 +1,5 @@ 42.4 /* 42.5 - * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved. 42.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Thu Jan 16 14:25:51 2014 +0100 43.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Wed Jan 22 17:42:23 2014 -0800 43.3 @@ -1,5 +1,5 @@ 43.4 /* 43.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 43.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java Thu Jan 16 14:25:51 2014 +0100 44.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java Wed Jan 22 17:42:23 2014 -0800 44.3 @@ -1,5 +1,5 @@ 44.4 /* 44.5 - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. 44.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java Thu Jan 16 14:25:51 2014 +0100 45.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java Wed Jan 22 17:42:23 2014 -0800 45.3 @@ -1,5 +1,5 @@ 45.4 /* 45.5 - * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. 45.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java Thu Jan 16 14:25:51 2014 +0100 46.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java Wed Jan 22 17:42:23 2014 -0800 46.3 @@ -1,5 +1,5 @@ 46.4 /* 46.5 - * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. 46.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java Thu Jan 16 14:25:51 2014 +0100 47.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java Wed Jan 22 17:42:23 2014 -0800 47.3 @@ -1,5 +1,5 @@ 47.4 /* 47.5 - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. 47.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Thu Jan 16 14:25:51 2014 +0100 48.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Wed Jan 22 17:42:23 2014 -0800 48.3 @@ -1,5 +1,5 @@ 48.4 /* 48.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 48.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java Thu Jan 16 14:25:51 2014 +0100 49.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java Wed Jan 22 17:42:23 2014 -0800 49.3 @@ -1,5 +1,5 @@ 49.4 /* 49.5 - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. 49.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java Thu Jan 16 14:25:51 2014 +0100 50.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java Wed Jan 22 17:42:23 2014 -0800 50.3 @@ -1,5 +1,5 @@ 50.4 /* 50.5 - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. 50.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java Thu Jan 16 14:25:51 2014 +0100 51.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java Wed Jan 22 17:42:23 2014 -0800 51.3 @@ -1,5 +1,5 @@ 51.4 /* 51.5 - * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved. 51.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java Thu Jan 16 14:25:51 2014 +0100 52.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java Wed Jan 22 17:42:23 2014 -0800 52.3 @@ -1,5 +1,5 @@ 52.4 /* 52.5 - * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved. 52.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java Thu Jan 16 14:25:51 2014 +0100 53.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java Wed Jan 22 17:42:23 2014 -0800 53.3 @@ -1,5 +1,5 @@ 53.4 /* 53.5 - * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved. 53.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java Thu Jan 16 14:25:51 2014 +0100 54.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java Wed Jan 22 17:42:23 2014 -0800 54.3 @@ -1,5 +1,5 @@ 54.4 /* 54.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 54.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java Thu Jan 16 14:25:51 2014 +0100 55.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java Wed Jan 22 17:42:23 2014 -0800 55.3 @@ -1,5 +1,5 @@ 55.4 /* 55.5 - * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. 55.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java Thu Jan 16 14:25:51 2014 +0100 56.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java Wed Jan 22 17:42:23 2014 -0800 56.3 @@ -1,5 +1,5 @@ 56.4 /* 56.5 - * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved. 56.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java Thu Jan 16 14:25:51 2014 +0100 57.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java Wed Jan 22 17:42:23 2014 -0800 57.3 @@ -1,5 +1,5 @@ 57.4 /* 57.5 - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. 57.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 57.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 57.8 * 57.9 * This code is free software; you can redistribute it and/or modify it
58.1 --- a/agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java Thu Jan 16 14:25:51 2014 +0100 58.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java Wed Jan 22 17:42:23 2014 -0800 58.3 @@ -1,5 +1,5 @@ 58.4 /* 58.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 58.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 58.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 58.8 * 58.9 * This code is free software; you can redistribute it and/or modify it
59.1 --- a/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java Thu Jan 16 14:25:51 2014 +0100 59.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java Wed Jan 22 17:42:23 2014 -0800 59.3 @@ -1,5 +1,5 @@ 59.4 /* 59.5 - * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 59.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 59.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 59.8 * 59.9 * This code is free software; you can redistribute it and/or modify it
60.1 --- a/agent/src/share/classes/sun/jvm/hotspot/ui/SAPanel.java Thu Jan 16 14:25:51 2014 +0100 60.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/ui/SAPanel.java Wed Jan 22 17:42:23 2014 -0800 60.3 @@ -1,5 +1,5 @@ 60.4 /* 60.5 - * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved. 60.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java Thu Jan 16 14:25:51 2014 +0100 61.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java Wed Jan 22 17:42:23 2014 -0800 61.3 @@ -1,5 +1,5 @@ 61.4 /* 61.5 - * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. 61.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java Thu Jan 16 14:25:51 2014 +0100 62.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java Wed Jan 22 17:42:23 2014 -0800 62.3 @@ -1,5 +1,5 @@ 62.4 /* 62.5 - * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. 62.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java Thu Jan 16 14:25:51 2014 +0100 63.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java Wed Jan 22 17:42:23 2014 -0800 63.3 @@ -1,5 +1,5 @@ 63.4 /* 63.5 - * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. 63.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass.java Thu Jan 16 14:25:51 2014 +0100 64.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass.java Wed Jan 22 17:42:23 2014 -0800 64.3 @@ -1,5 +1,5 @@ 64.4 /* 64.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 64.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js Thu Jan 16 14:25:51 2014 +0100 65.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js Wed Jan 22 17:42:23 2014 -0800 65.3 @@ -1,5 +1,5 @@ 65.4 /* 65.5 - * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. 65.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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/make/bsd/makefiles/adlc.make Thu Jan 16 14:25:51 2014 +0100 66.2 +++ b/make/bsd/makefiles/adlc.make Wed Jan 22 17:42:23 2014 -0800 66.3 @@ -1,5 +1,5 @@ 66.4 # 66.5 -# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 66.6 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. 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/make/bsd/makefiles/minimal1.make Thu Jan 16 14:25:51 2014 +0100 67.2 +++ b/make/bsd/makefiles/minimal1.make Wed Jan 22 17:42:23 2014 -0800 67.3 @@ -1,5 +1,5 @@ 67.4 # 67.5 -# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 67.6 +# Copyright (c) 2012, 2013, Oracle and/or its affiliates. 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/make/hotspot.script Thu Jan 16 14:25:51 2014 +0100 68.2 +++ b/make/hotspot.script Wed Jan 22 17:42:23 2014 -0800 68.3 @@ -1,6 +1,6 @@ 68.4 #!/bin/sh 68.5 68.6 -# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. 68.7 +# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. 68.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 68.9 # 68.10 # This code is free software; you can redistribute it and/or modify it
69.1 --- a/make/hotspot_version Thu Jan 16 14:25:51 2014 +0100 69.2 +++ b/make/hotspot_version Wed Jan 22 17:42:23 2014 -0800 69.3 @@ -34,8 +34,8 @@ 69.4 HOTSPOT_VM_COPYRIGHT=Copyright 2013 69.5 69.6 HS_MAJOR_VER=25 69.7 -HS_MINOR_VER=0 69.8 -HS_BUILD_NUMBER=63 69.9 +HS_MINOR_VER=20 69.10 +HS_BUILD_NUMBER=01 69.11 69.12 JDK_MAJOR_VER=1 69.13 JDK_MINOR_VER=8
70.1 --- a/make/linux/makefiles/adlc.make Thu Jan 16 14:25:51 2014 +0100 70.2 +++ b/make/linux/makefiles/adlc.make Wed Jan 22 17:42:23 2014 -0800 70.3 @@ -1,5 +1,5 @@ 70.4 # 70.5 -# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 70.6 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. 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/make/linux/makefiles/jsig.make Thu Jan 16 14:25:51 2014 +0100 71.2 +++ b/make/linux/makefiles/jsig.make Wed Jan 22 17:42:23 2014 -0800 71.3 @@ -1,5 +1,5 @@ 71.4 # 71.5 -# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 71.6 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. 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/make/linux/makefiles/minimal1.make Thu Jan 16 14:25:51 2014 +0100 72.2 +++ b/make/linux/makefiles/minimal1.make Wed Jan 22 17:42:23 2014 -0800 72.3 @@ -1,5 +1,5 @@ 72.4 # 72.5 -# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 72.6 +# Copyright (c) 2012, 2013, Oracle and/or its affiliates. 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/make/linux/makefiles/saproc.make Thu Jan 16 14:25:51 2014 +0100 73.2 +++ b/make/linux/makefiles/saproc.make Wed Jan 22 17:42:23 2014 -0800 73.3 @@ -1,5 +1,5 @@ 73.4 # 73.5 -# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 73.6 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. 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/make/sa.files Thu Jan 16 14:25:51 2014 +0100 74.2 +++ b/make/sa.files Wed Jan 22 17:42:23 2014 -0800 74.3 @@ -1,5 +1,5 @@ 74.4 # 74.5 -# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 74.6 +# Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/make/solaris/makefiles/adlc.make Thu Jan 16 14:25:51 2014 +0100 75.2 +++ b/make/solaris/makefiles/adlc.make Wed Jan 22 17:42:23 2014 -0800 75.3 @@ -1,5 +1,5 @@ 75.4 # 75.5 -# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 75.6 +# Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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/make/solaris/makefiles/gcc.make Thu Jan 16 14:25:51 2014 +0100 76.2 +++ b/make/solaris/makefiles/gcc.make Wed Jan 22 17:42:23 2014 -0800 76.3 @@ -1,5 +1,5 @@ 76.4 # 76.5 -# Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 76.6 +# Copyright (c) 1998, 2013, Oracle and/or its affiliates. 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/make/windows/build_vm_def.sh Thu Jan 16 14:25:51 2014 +0100 77.2 +++ b/make/windows/build_vm_def.sh Wed Jan 22 17:42:23 2014 -0800 77.3 @@ -1,5 +1,5 @@ 77.4 # 77.5 -# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 77.6 +# Copyright (c) 2000, 2013, Oracle and/or its affiliates. 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/make/windows/makefiles/adlc.make Thu Jan 16 14:25:51 2014 +0100 78.2 +++ b/make/windows/makefiles/adlc.make Wed Jan 22 17:42:23 2014 -0800 78.3 @@ -1,5 +1,5 @@ 78.4 # 78.5 -# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 78.6 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. 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/make/windows/makefiles/debug.make Thu Jan 16 14:25:51 2014 +0100 79.2 +++ b/make/windows/makefiles/debug.make Wed Jan 22 17:42:23 2014 -0800 79.3 @@ -1,5 +1,5 @@ 79.4 # 79.5 -# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 79.6 +# Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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/make/windows/makefiles/product.make Thu Jan 16 14:25:51 2014 +0100 80.2 +++ b/make/windows/makefiles/product.make Wed Jan 22 17:42:23 2014 -0800 80.3 @@ -1,5 +1,5 @@ 80.4 # 80.5 -# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 80.6 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. 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/make/windows/makefiles/rules.make Thu Jan 16 14:25:51 2014 +0100 81.2 +++ b/make/windows/makefiles/rules.make Wed Jan 22 17:42:23 2014 -0800 81.3 @@ -1,5 +1,5 @@ 81.4 # 81.5 -# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 81.6 +# Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/make/windows/makefiles/sa.make Thu Jan 16 14:25:51 2014 +0100 82.2 +++ b/make/windows/makefiles/sa.make Wed Jan 22 17:42:23 2014 -0800 82.3 @@ -1,5 +1,5 @@ 82.4 # 82.5 -# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 82.6 +# Copyright (c) 2003, 2013, Oracle and/or its affiliates. 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/cpu/sparc/vm/assembler_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 83.2 +++ b/src/cpu/sparc/vm/assembler_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 83.3 @@ -1,5 +1,5 @@ 83.4 /* 83.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 83.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 83.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 83.8 * 83.9 * This code is free software; you can redistribute it and/or modify it
84.1 --- a/src/cpu/sparc/vm/assembler_sparc.inline.hpp Thu Jan 16 14:25:51 2014 +0100 84.2 +++ b/src/cpu/sparc/vm/assembler_sparc.inline.hpp Wed Jan 22 17:42:23 2014 -0800 84.3 @@ -1,5 +1,5 @@ 84.4 /* 84.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 84.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 84.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 84.8 * 84.9 * This code is free software; you can redistribute it and/or modify it
85.1 --- a/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 85.2 +++ b/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 85.3 @@ -1,5 +1,5 @@ 85.4 /* 85.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 85.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. 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
86.1 --- a/src/cpu/sparc/vm/c1_FrameMap_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 86.2 +++ b/src/cpu/sparc/vm/c1_FrameMap_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 86.3 @@ -1,5 +1,5 @@ 86.4 /* 86.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 86.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 86.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 86.8 * 86.9 * This code is free software; you can redistribute it and/or modify it
87.1 --- a/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 87.2 +++ b/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 87.3 @@ -1315,7 +1315,7 @@ 87.4 } 87.5 87.6 Address LIR_Assembler::as_Address(LIR_Address* addr) { 87.7 - Register reg = addr->base()->as_register(); 87.8 + Register reg = addr->base()->as_pointer_register(); 87.9 LIR_Opr index = addr->index(); 87.10 if (index->is_illegal()) { 87.11 return Address(reg, addr->disp()); 87.12 @@ -3101,7 +3101,145 @@ 87.13 } 87.14 87.15 void LIR_Assembler::emit_profile_type(LIR_OpProfileType* op) { 87.16 - fatal("Type profiling not implemented on this platform"); 87.17 + Register obj = op->obj()->as_register(); 87.18 + Register tmp1 = op->tmp()->as_pointer_register(); 87.19 + Register tmp2 = G1; 87.20 + Address mdo_addr = as_Address(op->mdp()->as_address_ptr()); 87.21 + ciKlass* exact_klass = op->exact_klass(); 87.22 + intptr_t current_klass = op->current_klass(); 87.23 + bool not_null = op->not_null(); 87.24 + bool no_conflict = op->no_conflict(); 87.25 + 87.26 + Label update, next, none; 87.27 + 87.28 + bool do_null = !not_null; 87.29 + bool exact_klass_set = exact_klass != NULL && ciTypeEntries::valid_ciklass(current_klass) == exact_klass; 87.30 + bool do_update = !TypeEntries::is_type_unknown(current_klass) && !exact_klass_set; 87.31 + 87.32 + assert(do_null || do_update, "why are we here?"); 87.33 + assert(!TypeEntries::was_null_seen(current_klass) || do_update, "why are we here?"); 87.34 + 87.35 + __ verify_oop(obj); 87.36 + 87.37 + if (tmp1 != obj) { 87.38 + __ mov(obj, tmp1); 87.39 + } 87.40 + if (do_null) { 87.41 + __ br_notnull_short(tmp1, Assembler::pt, update); 87.42 + if (!TypeEntries::was_null_seen(current_klass)) { 87.43 + __ ld_ptr(mdo_addr, tmp1); 87.44 + __ or3(tmp1, TypeEntries::null_seen, tmp1); 87.45 + __ st_ptr(tmp1, mdo_addr); 87.46 + } 87.47 + if (do_update) { 87.48 + __ ba(next); 87.49 + __ delayed()->nop(); 87.50 + } 87.51 +#ifdef ASSERT 87.52 + } else { 87.53 + __ br_notnull_short(tmp1, Assembler::pt, update); 87.54 + __ stop("unexpect null obj"); 87.55 +#endif 87.56 + } 87.57 + 87.58 + __ bind(update); 87.59 + 87.60 + if (do_update) { 87.61 +#ifdef ASSERT 87.62 + if (exact_klass != NULL) { 87.63 + Label ok; 87.64 + __ load_klass(tmp1, tmp1); 87.65 + metadata2reg(exact_klass->constant_encoding(), tmp2); 87.66 + __ cmp_and_br_short(tmp1, tmp2, Assembler::equal, Assembler::pt, ok); 87.67 + __ stop("exact klass and actual klass differ"); 87.68 + __ bind(ok); 87.69 + } 87.70 +#endif 87.71 + 87.72 + Label do_update; 87.73 + __ ld_ptr(mdo_addr, tmp2); 87.74 + 87.75 + if (!no_conflict) { 87.76 + if (exact_klass == NULL || TypeEntries::is_type_none(current_klass)) { 87.77 + if (exact_klass != NULL) { 87.78 + metadata2reg(exact_klass->constant_encoding(), tmp1); 87.79 + } else { 87.80 + __ load_klass(tmp1, tmp1); 87.81 + } 87.82 + 87.83 + __ xor3(tmp1, tmp2, tmp1); 87.84 + __ btst(TypeEntries::type_klass_mask, tmp1); 87.85 + // klass seen before, nothing to do. The unknown bit may have been 87.86 + // set already but no need to check. 87.87 + __ brx(Assembler::zero, false, Assembler::pt, next); 87.88 + __ delayed()-> 87.89 + 87.90 + btst(TypeEntries::type_unknown, tmp1); 87.91 + // already unknown. Nothing to do anymore. 87.92 + __ brx(Assembler::notZero, false, Assembler::pt, next); 87.93 + 87.94 + if (TypeEntries::is_type_none(current_klass)) { 87.95 + __ delayed()->btst(TypeEntries::type_mask, tmp2); 87.96 + __ brx(Assembler::zero, true, Assembler::pt, do_update); 87.97 + // first time here. Set profile type. 87.98 + __ delayed()->or3(tmp2, tmp1, tmp2); 87.99 + } else { 87.100 + __ delayed()->nop(); 87.101 + } 87.102 + } else { 87.103 + assert(ciTypeEntries::valid_ciklass(current_klass) != NULL && 87.104 + ciTypeEntries::valid_ciklass(current_klass) != exact_klass, "conflict only"); 87.105 + 87.106 + __ btst(TypeEntries::type_unknown, tmp2); 87.107 + // already unknown. Nothing to do anymore. 87.108 + __ brx(Assembler::notZero, false, Assembler::pt, next); 87.109 + __ delayed()->nop(); 87.110 + } 87.111 + 87.112 + // different than before. Cannot keep accurate profile. 87.113 + __ or3(tmp2, TypeEntries::type_unknown, tmp2); 87.114 + } else { 87.115 + // There's a single possible klass at this profile point 87.116 + assert(exact_klass != NULL, "should be"); 87.117 + if (TypeEntries::is_type_none(current_klass)) { 87.118 + metadata2reg(exact_klass->constant_encoding(), tmp1); 87.119 + __ xor3(tmp1, tmp2, tmp1); 87.120 + __ btst(TypeEntries::type_klass_mask, tmp1); 87.121 + __ brx(Assembler::zero, false, Assembler::pt, next); 87.122 +#ifdef ASSERT 87.123 + 87.124 + { 87.125 + Label ok; 87.126 + __ delayed()->btst(TypeEntries::type_mask, tmp2); 87.127 + __ brx(Assembler::zero, true, Assembler::pt, ok); 87.128 + __ delayed()->nop(); 87.129 + 87.130 + __ stop("unexpected profiling mismatch"); 87.131 + __ bind(ok); 87.132 + } 87.133 + // first time here. Set profile type. 87.134 + __ or3(tmp2, tmp1, tmp2); 87.135 +#else 87.136 + // first time here. Set profile type. 87.137 + __ delayed()->or3(tmp2, tmp1, tmp2); 87.138 +#endif 87.139 + 87.140 + } else { 87.141 + assert(ciTypeEntries::valid_ciklass(current_klass) != NULL && 87.142 + ciTypeEntries::valid_ciklass(current_klass) != exact_klass, "inconsistent"); 87.143 + 87.144 + // already unknown. Nothing to do anymore. 87.145 + __ btst(TypeEntries::type_unknown, tmp2); 87.146 + __ brx(Assembler::notZero, false, Assembler::pt, next); 87.147 + __ delayed()->or3(tmp2, TypeEntries::type_unknown, tmp2); 87.148 + } 87.149 + } 87.150 + 87.151 + __ bind(do_update); 87.152 + __ st_ptr(tmp2, mdo_addr); 87.153 + 87.154 + __ bind(next); 87.155 + } 87.156 } 87.157 87.158 void LIR_Assembler::align_backward_branch_target() { 87.159 @@ -3321,9 +3459,14 @@ 87.160 87.161 void LIR_Assembler::leal(LIR_Opr addr_opr, LIR_Opr dest) { 87.162 LIR_Address* addr = addr_opr->as_address_ptr(); 87.163 - assert(addr->index()->is_illegal() && addr->scale() == LIR_Address::times_1 && Assembler::is_simm13(addr->disp()), "can't handle complex addresses yet"); 87.164 - 87.165 - __ add(addr->base()->as_pointer_register(), addr->disp(), dest->as_pointer_register()); 87.166 + assert(addr->index()->is_illegal() && addr->scale() == LIR_Address::times_1, "can't handle complex addresses yet"); 87.167 + 87.168 + if (Assembler::is_simm13(addr->disp())) { 87.169 + __ add(addr->base()->as_pointer_register(), addr->disp(), dest->as_pointer_register()); 87.170 + } else { 87.171 + __ set(addr->disp(), G3_scratch); 87.172 + __ add(addr->base()->as_pointer_register(), G3_scratch, dest->as_pointer_register()); 87.173 + } 87.174 } 87.175 87.176
88.1 --- a/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 88.2 +++ b/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 88.3 @@ -1,5 +1,5 @@ 88.4 /* 88.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 88.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 88.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 88.8 * 88.9 * This code is free software; you can redistribute it and/or modify it
89.1 --- a/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 89.2 +++ b/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 89.3 @@ -1,5 +1,5 @@ 89.4 /* 89.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 89.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 89.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 89.8 * 89.9 * This code is free software; you can redistribute it and/or modify it
90.1 --- a/src/cpu/sparc/vm/c1_globals_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 90.2 +++ b/src/cpu/sparc/vm/c1_globals_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 90.3 @@ -1,5 +1,5 @@ 90.4 /* 90.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 90.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 90.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 90.8 * 90.9 * This code is free software; you can redistribute it and/or modify it
91.1 --- a/src/cpu/sparc/vm/c2_globals_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 91.2 +++ b/src/cpu/sparc/vm/c2_globals_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 91.3 @@ -1,5 +1,5 @@ 91.4 /* 91.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 91.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 91.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 91.8 * 91.9 * This code is free software; you can redistribute it and/or modify it
92.1 --- a/src/cpu/sparc/vm/c2_init_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 92.2 +++ b/src/cpu/sparc/vm/c2_init_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 92.3 @@ -1,5 +1,5 @@ 92.4 /* 92.5 - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 92.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 92.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 92.8 * 92.9 * This code is free software; you can redistribute it and/or modify it
93.1 --- a/src/cpu/sparc/vm/disassembler_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 93.2 +++ b/src/cpu/sparc/vm/disassembler_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 93.3 @@ -1,5 +1,5 @@ 93.4 /* 93.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 93.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 93.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 93.8 * 93.9 * This code is free software; you can redistribute it and/or modify it
94.1 --- a/src/cpu/sparc/vm/frame_sparc.inline.hpp Thu Jan 16 14:25:51 2014 +0100 94.2 +++ b/src/cpu/sparc/vm/frame_sparc.inline.hpp Wed Jan 22 17:42:23 2014 -0800 94.3 @@ -1,5 +1,5 @@ 94.4 /* 94.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 94.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 94.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 94.8 * 94.9 * This code is free software; you can redistribute it and/or modify it
95.1 --- a/src/cpu/sparc/vm/globalDefinitions_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 95.2 +++ b/src/cpu/sparc/vm/globalDefinitions_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 95.3 @@ -1,5 +1,5 @@ 95.4 /* 95.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 95.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 95.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 95.8 * 95.9 * This code is free software; you can redistribute it and/or modify it
96.1 --- a/src/cpu/sparc/vm/globals_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 96.2 +++ b/src/cpu/sparc/vm/globals_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 96.3 @@ -1,5 +1,5 @@ 96.4 /* 96.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 96.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 96.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 96.8 * 96.9 * This code is free software; you can redistribute it and/or modify it
97.1 --- a/src/cpu/sparc/vm/interp_masm_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 97.2 +++ b/src/cpu/sparc/vm/interp_masm_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 97.3 @@ -1892,6 +1892,220 @@ 97.4 } 97.5 } 97.6 97.7 +void InterpreterMacroAssembler::profile_obj_type(Register obj, const Address& mdo_addr, Register tmp) { 97.8 + Label not_null, do_nothing, do_update; 97.9 + 97.10 + assert_different_registers(obj, mdo_addr.base(), tmp); 97.11 + 97.12 + verify_oop(obj); 97.13 + 97.14 + ld_ptr(mdo_addr, tmp); 97.15 + 97.16 + br_notnull_short(obj, pt, not_null); 97.17 + or3(tmp, TypeEntries::null_seen, tmp); 97.18 + ba_short(do_update); 97.19 + 97.20 + bind(not_null); 97.21 + load_klass(obj, obj); 97.22 + 97.23 + xor3(obj, tmp, obj); 97.24 + btst(TypeEntries::type_klass_mask, obj); 97.25 + // klass seen before, nothing to do. The unknown bit may have been 97.26 + // set already but no need to check. 97.27 + brx(zero, false, pt, do_nothing); 97.28 + delayed()-> 97.29 + 97.30 + btst(TypeEntries::type_unknown, obj); 97.31 + // already unknown. Nothing to do anymore. 97.32 + brx(notZero, false, pt, do_nothing); 97.33 + delayed()-> 97.34 + 97.35 + btst(TypeEntries::type_mask, tmp); 97.36 + brx(zero, true, pt, do_update); 97.37 + // first time here. Set profile type. 97.38 + delayed()->or3(tmp, obj, tmp); 97.39 + 97.40 + // different than before. Cannot keep accurate profile. 97.41 + or3(tmp, TypeEntries::type_unknown, tmp); 97.42 + 97.43 + bind(do_update); 97.44 + // update profile 97.45 + st_ptr(tmp, mdo_addr); 97.46 + 97.47 + bind(do_nothing); 97.48 +} 97.49 + 97.50 +void InterpreterMacroAssembler::profile_arguments_type(Register callee, Register tmp1, Register tmp2, bool is_virtual) { 97.51 + if (!ProfileInterpreter) { 97.52 + return; 97.53 + } 97.54 + 97.55 + assert_different_registers(callee, tmp1, tmp2, ImethodDataPtr); 97.56 + 97.57 + if (MethodData::profile_arguments() || MethodData::profile_return()) { 97.58 + Label profile_continue; 97.59 + 97.60 + test_method_data_pointer(profile_continue); 97.61 + 97.62 + int off_to_start = is_virtual ? in_bytes(VirtualCallData::virtual_call_data_size()) : in_bytes(CounterData::counter_data_size()); 97.63 + 97.64 + ldub(ImethodDataPtr, in_bytes(DataLayout::tag_offset()) - off_to_start, tmp1); 97.65 + cmp_and_br_short(tmp1, is_virtual ? DataLayout::virtual_call_type_data_tag : DataLayout::call_type_data_tag, notEqual, pn, profile_continue); 97.66 + 97.67 + if (MethodData::profile_arguments()) { 97.68 + Label done; 97.69 + int off_to_args = in_bytes(TypeEntriesAtCall::args_data_offset()); 97.70 + add(ImethodDataPtr, off_to_args, ImethodDataPtr); 97.71 + 97.72 + for (int i = 0; i < TypeProfileArgsLimit; i++) { 97.73 + if (i > 0 || MethodData::profile_return()) { 97.74 + // If return value type is profiled we may have no argument to profile 97.75 + ld_ptr(ImethodDataPtr, in_bytes(TypeEntriesAtCall::cell_count_offset())-off_to_args, tmp1); 97.76 + sub(tmp1, i*TypeStackSlotEntries::per_arg_count(), tmp1); 97.77 + cmp_and_br_short(tmp1, TypeStackSlotEntries::per_arg_count(), less, pn, done); 97.78 + } 97.79 + ld_ptr(Address(callee, Method::const_offset()), tmp1); 97.80 + lduh(Address(tmp1, ConstMethod::size_of_parameters_offset()), tmp1); 97.81 + // stack offset o (zero based) from the start of the argument 97.82 + // list, for n arguments translates into offset n - o - 1 from 97.83 + // the end of the argument list. But there's an extra slot at 97.84 + // the stop of the stack. So the offset is n - o from Lesp. 97.85 + ld_ptr(ImethodDataPtr, in_bytes(TypeEntriesAtCall::stack_slot_offset(i))-off_to_args, tmp2); 97.86 + sub(tmp1, tmp2, tmp1); 97.87 + 97.88 + // Can't use MacroAssembler::argument_address() which needs Gargs to be set up 97.89 + sll(tmp1, Interpreter::logStackElementSize, tmp1); 97.90 + ld_ptr(Lesp, tmp1, tmp1); 97.91 + 97.92 + Address mdo_arg_addr(ImethodDataPtr, in_bytes(TypeEntriesAtCall::argument_type_offset(i))-off_to_args); 97.93 + profile_obj_type(tmp1, mdo_arg_addr, tmp2); 97.94 + 97.95 + int to_add = in_bytes(TypeStackSlotEntries::per_arg_size()); 97.96 + add(ImethodDataPtr, to_add, ImethodDataPtr); 97.97 + off_to_args += to_add; 97.98 + } 97.99 + 97.100 + if (MethodData::profile_return()) { 97.101 + ld_ptr(ImethodDataPtr, in_bytes(TypeEntriesAtCall::cell_count_offset())-off_to_args, tmp1); 97.102 + sub(tmp1, TypeProfileArgsLimit*TypeStackSlotEntries::per_arg_count(), tmp1); 97.103 + } 97.104 + 97.105 + bind(done); 97.106 + 97.107 + if (MethodData::profile_return()) { 97.108 + // We're right after the type profile for the last 97.109 + // argument. tmp1 is the number of cells left in the 97.110 + // CallTypeData/VirtualCallTypeData to reach its end. Non null 97.111 + // if there's a return to profile. 97.112 + assert(ReturnTypeEntry::static_cell_count() < TypeStackSlotEntries::per_arg_count(), "can't move past ret type"); 97.113 + sll(tmp1, exact_log2(DataLayout::cell_size), tmp1); 97.114 + add(ImethodDataPtr, tmp1, ImethodDataPtr); 97.115 + } 97.116 + } else { 97.117 + assert(MethodData::profile_return(), "either profile call args or call ret"); 97.118 + update_mdp_by_constant(in_bytes(ReturnTypeEntry::size())); 97.119 + } 97.120 + 97.121 + // mdp points right after the end of the 97.122 + // CallTypeData/VirtualCallTypeData, right after the cells for the 97.123 + // return value type if there's one. 97.124 + 97.125 + bind(profile_continue); 97.126 + } 97.127 +} 97.128 + 97.129 +void InterpreterMacroAssembler::profile_return_type(Register ret, Register tmp1, Register tmp2) { 97.130 + assert_different_registers(ret, tmp1, tmp2); 97.131 + if (ProfileInterpreter && MethodData::profile_return()) { 97.132 + Label profile_continue, done; 97.133 + 97.134 + test_method_data_pointer(profile_continue); 97.135 + 97.136 + if (MethodData::profile_return_jsr292_only()) { 97.137 + // If we don't profile all invoke bytecodes we must make sure 97.138 + // it's a bytecode we indeed profile. We can't go back to the 97.139 + // begining of the ProfileData we intend to update to check its 97.140 + // type because we're right after it and we don't known its 97.141 + // length. 97.142 + Label do_profile; 97.143 + ldub(Lbcp, 0, tmp1); 97.144 + cmp_and_br_short(tmp1, Bytecodes::_invokedynamic, equal, pn, do_profile); 97.145 + cmp(tmp1, Bytecodes::_invokehandle); 97.146 + br(equal, false, pn, do_profile); 97.147 + delayed()->ldub(Lmethod, Method::intrinsic_id_offset_in_bytes(), tmp1); 97.148 + cmp_and_br_short(tmp1, vmIntrinsics::_compiledLambdaForm, notEqual, pt, profile_continue); 97.149 + 97.150 + bind(do_profile); 97.151 + } 97.152 + 97.153 + Address mdo_ret_addr(ImethodDataPtr, -in_bytes(ReturnTypeEntry::size())); 97.154 + mov(ret, tmp1); 97.155 + profile_obj_type(tmp1, mdo_ret_addr, tmp2); 97.156 + 97.157 + bind(profile_continue); 97.158 + } 97.159 +} 97.160 + 97.161 +void InterpreterMacroAssembler::profile_parameters_type(Register tmp1, Register tmp2, Register tmp3, Register tmp4) { 97.162 + if (ProfileInterpreter && MethodData::profile_parameters()) { 97.163 + Label profile_continue, done; 97.164 + 97.165 + test_method_data_pointer(profile_continue); 97.166 + 97.167 + // Load the offset of the area within the MDO used for 97.168 + // parameters. If it's negative we're not profiling any parameters. 97.169 + lduw(ImethodDataPtr, in_bytes(MethodData::parameters_type_data_di_offset()) - in_bytes(MethodData::data_offset()), tmp1); 97.170 + cmp_and_br_short(tmp1, 0, less, pn, profile_continue); 97.171 + 97.172 + // Compute a pointer to the area for parameters from the offset 97.173 + // and move the pointer to the slot for the last 97.174 + // parameters. Collect profiling from last parameter down. 97.175 + // mdo start + parameters offset + array length - 1 97.176 + 97.177 + // Pointer to the parameter area in the MDO 97.178 + Register mdp = tmp1; 97.179 + add(ImethodDataPtr, tmp1, mdp); 97.180 + 97.181 + // offset of the current profile entry to update 97.182 + Register entry_offset = tmp2; 97.183 + // entry_offset = array len in number of cells 97.184 + ld_ptr(mdp, ArrayData::array_len_offset(), entry_offset); 97.185 + 97.186 + int off_base = in_bytes(ParametersTypeData::stack_slot_offset(0)); 97.187 + assert(off_base % DataLayout::cell_size == 0, "should be a number of cells"); 97.188 + 97.189 + // entry_offset (number of cells) = array len - size of 1 entry + offset of the stack slot field 97.190 + sub(entry_offset, TypeStackSlotEntries::per_arg_count() - (off_base / DataLayout::cell_size), entry_offset); 97.191 + // entry_offset in bytes 97.192 + sll(entry_offset, exact_log2(DataLayout::cell_size), entry_offset); 97.193 + 97.194 + Label loop; 97.195 + bind(loop); 97.196 + 97.197 + // load offset on the stack from the slot for this parameter 97.198 + ld_ptr(mdp, entry_offset, tmp3); 97.199 + sll(tmp3,Interpreter::logStackElementSize, tmp3); 97.200 + neg(tmp3); 97.201 + // read the parameter from the local area 97.202 + ld_ptr(Llocals, tmp3, tmp3); 97.203 + 97.204 + // make entry_offset now point to the type field for this parameter 97.205 + int type_base = in_bytes(ParametersTypeData::type_offset(0)); 97.206 + assert(type_base > off_base, "unexpected"); 97.207 + add(entry_offset, type_base - off_base, entry_offset); 97.208 + 97.209 + // profile the parameter 97.210 + Address arg_type(mdp, entry_offset); 97.211 + profile_obj_type(tmp3, arg_type, tmp4); 97.212 + 97.213 + // go to next parameter 97.214 + sub(entry_offset, TypeStackSlotEntries::per_arg_count() * DataLayout::cell_size + (type_base - off_base), entry_offset); 97.215 + cmp_and_br_short(entry_offset, off_base, greaterEqual, pt, loop); 97.216 + 97.217 + bind(profile_continue); 97.218 + } 97.219 +} 97.220 + 97.221 // add a InterpMonitorElem to stack (see frame_sparc.hpp) 97.222 97.223 void InterpreterMacroAssembler::add_monitor_to_stack( bool stack_is_empty,
98.1 --- a/src/cpu/sparc/vm/interp_masm_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 98.2 +++ b/src/cpu/sparc/vm/interp_masm_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 98.3 @@ -323,6 +323,11 @@ 98.4 Register scratch2, 98.5 Register scratch3); 98.6 98.7 + void profile_obj_type(Register obj, const Address& mdo_addr, Register tmp); 98.8 + void profile_arguments_type(Register callee, Register tmp1, Register tmp2, bool is_virtual); 98.9 + void profile_return_type(Register ret, Register tmp1, Register tmp2); 98.10 + void profile_parameters_type(Register tmp1, Register tmp2, Register tmp3, Register tmp4); 98.11 + 98.12 // Debugging 98.13 void interp_verify_oop(Register reg, TosState state, const char * file, int line); // only if +VerifyOops && state == atos 98.14 void verify_oop_or_return_address(Register reg, Register rtmp); // for astore
99.1 --- a/src/cpu/sparc/vm/jni_sparc.h Thu Jan 16 14:25:51 2014 +0100 99.2 +++ b/src/cpu/sparc/vm/jni_sparc.h Wed Jan 22 17:42:23 2014 -0800 99.3 @@ -1,5 +1,5 @@ 99.4 /* 99.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 99.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 99.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 99.8 * 99.9 * This code is free software; you can redistribute it and/or modify it
100.1 --- a/src/cpu/sparc/vm/nativeInst_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 100.2 +++ b/src/cpu/sparc/vm/nativeInst_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 100.3 @@ -1,5 +1,5 @@ 100.4 /* 100.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 100.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 100.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 100.8 * 100.9 * This code is free software; you can redistribute it and/or modify it
101.1 --- a/src/cpu/sparc/vm/register_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 101.2 +++ b/src/cpu/sparc/vm/register_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 101.3 @@ -1,5 +1,5 @@ 101.4 /* 101.5 - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 101.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 101.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 101.8 * 101.9 * This code is free software; you can redistribute it and/or modify it
102.1 --- a/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 102.2 +++ b/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 102.3 @@ -1,5 +1,5 @@ 102.4 /* 102.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 102.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 102.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 102.8 * 102.9 * This code is free software; you can redistribute it and/or modify it
103.1 --- a/src/cpu/sparc/vm/sparc.ad Thu Jan 16 14:25:51 2014 +0100 103.2 +++ b/src/cpu/sparc/vm/sparc.ad Wed Jan 22 17:42:23 2014 -0800 103.3 @@ -757,7 +757,7 @@ 103.4 #endif 103.5 103.6 103.7 -void emit_form3_mem_reg(CodeBuffer &cbuf, const MachNode* n, int primary, int tertiary, 103.8 +void emit_form3_mem_reg(CodeBuffer &cbuf, PhaseRegAlloc* ra, const MachNode* n, int primary, int tertiary, 103.9 int src1_enc, int disp32, int src2_enc, int dst_enc) { 103.10 103.11 #ifdef ASSERT 103.12 @@ -912,8 +912,14 @@ 103.13 uint index = src2_enc; 103.14 int disp = disp32; 103.15 103.16 - if (src1_enc == R_SP_enc || src1_enc == R_FP_enc) 103.17 + if (src1_enc == R_SP_enc || src1_enc == R_FP_enc) { 103.18 disp += STACK_BIAS; 103.19 + // Quick fix for JDK-8029668: check that stack offset fits, bailout if not 103.20 + if (!Assembler::is_simm13(disp)) { 103.21 + ra->C->record_method_not_compilable("unable to handle large constant offsets"); 103.22 + return; 103.23 + } 103.24 + } 103.25 103.26 // We should have a compiler bailout here rather than a guarantee. 103.27 // Better yet would be some mechanism to handle variable-size matches correctly. 103.28 @@ -1284,20 +1290,15 @@ 103.29 return rc_float; 103.30 } 103.31 103.32 -static int impl_helper( const MachNode *mach, CodeBuffer *cbuf, PhaseRegAlloc *ra_, bool do_size, bool is_load, int offset, int reg, int opcode, const char *op_str, int size, outputStream* st ) { 103.33 - if( cbuf ) { 103.34 - // Better yet would be some mechanism to handle variable-size matches correctly 103.35 - if (!Assembler::is_simm13(offset + STACK_BIAS)) { 103.36 - ra_->C->record_method_not_compilable("unable to handle large constant offsets"); 103.37 - } else { 103.38 - emit_form3_mem_reg(*cbuf, mach, opcode, -1, R_SP_enc, offset, 0, Matcher::_regEncode[reg]); 103.39 - } 103.40 +static int impl_helper(const MachNode* mach, CodeBuffer* cbuf, PhaseRegAlloc* ra, bool do_size, bool is_load, int offset, int reg, int opcode, const char *op_str, int size, outputStream* st ) { 103.41 + if (cbuf) { 103.42 + emit_form3_mem_reg(*cbuf, ra, mach, opcode, -1, R_SP_enc, offset, 0, Matcher::_regEncode[reg]); 103.43 } 103.44 #ifndef PRODUCT 103.45 - else if( !do_size ) { 103.46 - if( size != 0 ) st->print("\n\t"); 103.47 - if( is_load ) st->print("%s [R_SP + #%d],R_%s\t! spill",op_str,offset,OptoReg::regname(reg)); 103.48 - else st->print("%s R_%s,[R_SP + #%d]\t! spill",op_str,OptoReg::regname(reg),offset); 103.49 + else if (!do_size) { 103.50 + if (size != 0) st->print("\n\t"); 103.51 + if (is_load) st->print("%s [R_SP + #%d],R_%s\t! spill",op_str,offset,OptoReg::regname(reg)); 103.52 + else st->print("%s R_%s,[R_SP + #%d]\t! spill",op_str,OptoReg::regname(reg),offset); 103.53 } 103.54 #endif 103.55 return size+4; 103.56 @@ -2095,22 +2096,22 @@ 103.57 %} 103.58 103.59 enc_class form3_mem_reg( memory mem, iRegI dst ) %{ 103.60 - emit_form3_mem_reg(cbuf, this, $primary, $tertiary, 103.61 + emit_form3_mem_reg(cbuf, ra_, this, $primary, $tertiary, 103.62 $mem$$base, $mem$$disp, $mem$$index, $dst$$reg); 103.63 %} 103.64 103.65 enc_class simple_form3_mem_reg( memory mem, iRegI dst ) %{ 103.66 - emit_form3_mem_reg(cbuf, this, $primary, -1, 103.67 + emit_form3_mem_reg(cbuf, ra_, this, $primary, -1, 103.68 $mem$$base, $mem$$disp, $mem$$index, $dst$$reg); 103.69 %} 103.70 103.71 enc_class form3_mem_prefetch_read( memory mem ) %{ 103.72 - emit_form3_mem_reg(cbuf, this, $primary, -1, 103.73 + emit_form3_mem_reg(cbuf, ra_, this, $primary, -1, 103.74 $mem$$base, $mem$$disp, $mem$$index, 0/*prefetch function many-reads*/); 103.75 %} 103.76 103.77 enc_class form3_mem_prefetch_write( memory mem ) %{ 103.78 - emit_form3_mem_reg(cbuf, this, $primary, -1, 103.79 + emit_form3_mem_reg(cbuf, ra_, this, $primary, -1, 103.80 $mem$$base, $mem$$disp, $mem$$index, 2/*prefetch function many-writes*/); 103.81 %} 103.82 103.83 @@ -2118,8 +2119,8 @@ 103.84 assert(Assembler::is_simm13($mem$$disp ), "need disp and disp+4"); 103.85 assert(Assembler::is_simm13($mem$$disp+4), "need disp and disp+4"); 103.86 guarantee($mem$$index == R_G0_enc, "double index?"); 103.87 - emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp+4, R_G0_enc, R_O7_enc ); 103.88 - emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp, R_G0_enc, $reg$$reg ); 103.89 + emit_form3_mem_reg(cbuf, ra_, this, $primary, -1, $mem$$base, $mem$$disp+4, R_G0_enc, R_O7_enc ); 103.90 + emit_form3_mem_reg(cbuf, ra_, this, $primary, -1, $mem$$base, $mem$$disp, R_G0_enc, $reg$$reg ); 103.91 emit3_simm13( cbuf, Assembler::arith_op, $reg$$reg, Assembler::sllx_op3, $reg$$reg, 0x1020 ); 103.92 emit3( cbuf, Assembler::arith_op, $reg$$reg, Assembler::or_op3, $reg$$reg, 0, R_O7_enc ); 103.93 %} 103.94 @@ -2129,14 +2130,14 @@ 103.95 assert(Assembler::is_simm13($mem$$disp+4), "need disp and disp+4"); 103.96 guarantee($mem$$index == R_G0_enc, "double index?"); 103.97 // Load long with 2 instructions 103.98 - emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp, R_G0_enc, $reg$$reg+0 ); 103.99 - emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp+4, R_G0_enc, $reg$$reg+1 ); 103.100 + emit_form3_mem_reg(cbuf, ra_, this, $primary, -1, $mem$$base, $mem$$disp, R_G0_enc, $reg$$reg+0 ); 103.101 + emit_form3_mem_reg(cbuf, ra_, this, $primary, -1, $mem$$base, $mem$$disp+4, R_G0_enc, $reg$$reg+1 ); 103.102 %} 103.103 103.104 //%%% form3_mem_plus_4_reg is a hack--get rid of it 103.105 enc_class form3_mem_plus_4_reg( memory mem, iRegI dst ) %{ 103.106 guarantee($mem$$disp, "cannot offset a reg-reg operand by 4"); 103.107 - emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp + 4, $mem$$index, $dst$$reg); 103.108 + emit_form3_mem_reg(cbuf, ra_, this, $primary, -1, $mem$$base, $mem$$disp + 4, $mem$$index, $dst$$reg); 103.109 %} 103.110 103.111 enc_class form3_g0_rs2_rd_move( iRegI rs2, iRegI rd ) %{
104.1 --- a/src/cpu/sparc/vm/stubGenerator_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 104.2 +++ b/src/cpu/sparc/vm/stubGenerator_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 104.3 @@ -1,5 +1,5 @@ 104.4 /* 104.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 104.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 104.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 104.8 * 104.9 * This code is free software; you can redistribute it and/or modify it
105.1 --- a/src/cpu/sparc/vm/stubRoutines_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 105.2 +++ b/src/cpu/sparc/vm/stubRoutines_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 105.3 @@ -1,5 +1,5 @@ 105.4 /* 105.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 105.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 105.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 105.8 * 105.9 * This code is free software; you can redistribute it and/or modify it
106.1 --- a/src/cpu/sparc/vm/stubRoutines_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 106.2 +++ b/src/cpu/sparc/vm/stubRoutines_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 106.3 @@ -1,5 +1,5 @@ 106.4 /* 106.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 106.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 106.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 106.8 * 106.9 * This code is free software; you can redistribute it and/or modify it
107.1 --- a/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 107.2 +++ b/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 107.3 @@ -156,6 +156,10 @@ 107.4 address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step, size_t index_size) { 107.5 address entry = __ pc(); 107.6 107.7 + if (state == atos) { 107.8 + __ profile_return_type(O0, G3_scratch, G1_scratch); 107.9 + } 107.10 + 107.11 #if !defined(_LP64) && defined(COMPILER2) 107.12 // All return values are where we want them, except for Longs. C2 returns 107.13 // longs in G1 in the 32-bit build whereas the interpreter wants them in O0/O1. 107.14 @@ -1333,6 +1337,7 @@ 107.15 __ movbool(true, G3_scratch); 107.16 __ stbool(G3_scratch, do_not_unlock_if_synchronized); 107.17 107.18 + __ profile_parameters_type(G1_scratch, G3_scratch, G4_scratch, Lscratch); 107.19 // increment invocation counter and check for overflow 107.20 // 107.21 // Note: checking for negative value instead of overflow
108.1 --- a/src/cpu/sparc/vm/templateTable_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 108.2 +++ b/src/cpu/sparc/vm/templateTable_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 108.3 @@ -2942,12 +2942,12 @@ 108.4 108.5 108.6 void TemplateTable::generate_vtable_call(Register Rrecv, Register Rindex, Register Rret) { 108.7 - Register Rtemp = G4_scratch; 108.8 Register Rcall = Rindex; 108.9 assert_different_registers(Rcall, G5_method, Gargs, Rret); 108.10 108.11 // get target Method* & entry point 108.12 __ lookup_virtual_method(Rrecv, Rindex, G5_method); 108.13 + __ profile_arguments_type(G5_method, Rcall, Gargs, true); 108.14 __ call_from_interpreter(Rcall, Gargs, Rret); 108.15 } 108.16 108.17 @@ -3022,6 +3022,7 @@ 108.18 __ null_check(O0); 108.19 108.20 __ profile_final_call(O4); 108.21 + __ profile_arguments_type(G5_method, Rscratch, Gargs, true); 108.22 108.23 // get return address 108.24 AddressLiteral table(Interpreter::invoke_return_entry_table()); 108.25 @@ -3051,6 +3052,7 @@ 108.26 108.27 // do the call 108.28 __ profile_call(O4); 108.29 + __ profile_arguments_type(G5_method, Rscratch, Gargs, false); 108.30 __ call_from_interpreter(Rscratch, Gargs, Rret); 108.31 } 108.32 108.33 @@ -3066,6 +3068,7 @@ 108.34 108.35 // do the call 108.36 __ profile_call(O4); 108.37 + __ profile_arguments_type(G5_method, Rscratch, Gargs, false); 108.38 __ call_from_interpreter(Rscratch, Gargs, Rret); 108.39 } 108.40 108.41 @@ -3091,6 +3094,7 @@ 108.42 // do the call - the index (f2) contains the Method* 108.43 assert_different_registers(G5_method, Gargs, Rcall); 108.44 __ mov(Rindex, G5_method); 108.45 + __ profile_arguments_type(G5_method, Rcall, Gargs, true); 108.46 __ call_from_interpreter(Rcall, Gargs, Rret); 108.47 __ bind(notFinal); 108.48 108.49 @@ -3197,6 +3201,7 @@ 108.50 Register Rcall = Rinterface; 108.51 assert_different_registers(Rcall, G5_method, Gargs, Rret); 108.52 108.53 + __ profile_arguments_type(G5_method, Rcall, Gargs, true); 108.54 __ call_from_interpreter(Rcall, Gargs, Rret); 108.55 } 108.56 108.57 @@ -3226,6 +3231,7 @@ 108.58 // do the call 108.59 __ verify_oop(G4_mtype); 108.60 __ profile_final_call(O4); // FIXME: profile the LambdaForm also 108.61 + __ profile_arguments_type(G5_method, Rscratch, Gargs, true); 108.62 __ call_from_interpreter(Rscratch, Gargs, Rret); 108.63 } 108.64 108.65 @@ -3262,6 +3268,7 @@ 108.66 108.67 // do the call 108.68 __ verify_oop(G4_callsite); 108.69 + __ profile_arguments_type(G5_method, Rscratch, Gargs, false); 108.70 __ call_from_interpreter(Rscratch, Gargs, Rret); 108.71 } 108.72
109.1 --- a/src/cpu/sparc/vm/vmStructs_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 109.2 +++ b/src/cpu/sparc/vm/vmStructs_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 109.3 @@ -1,5 +1,5 @@ 109.4 /* 109.5 - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 109.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 109.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 109.8 * 109.9 * This code is free software; you can redistribute it and/or modify it
110.1 --- a/src/cpu/sparc/vm/vm_version_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 110.2 +++ b/src/cpu/sparc/vm/vm_version_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 110.3 @@ -1,5 +1,5 @@ 110.4 /* 110.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 110.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 110.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 110.8 * 110.9 * This code is free software; you can redistribute it and/or modify it
111.1 --- a/src/cpu/sparc/vm/vm_version_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 111.2 +++ b/src/cpu/sparc/vm/vm_version_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 111.3 @@ -1,5 +1,5 @@ 111.4 /* 111.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 111.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 111.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 111.8 * 111.9 * This code is free software; you can redistribute it and/or modify it
112.1 --- a/src/cpu/x86/vm/bytecodeInterpreter_x86.cpp Thu Jan 16 14:25:51 2014 +0100 112.2 +++ b/src/cpu/x86/vm/bytecodeInterpreter_x86.cpp Wed Jan 22 17:42:23 2014 -0800 112.3 @@ -1,5 +1,5 @@ 112.4 /* 112.5 - * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 112.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 112.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 112.8 * 112.9 * This code is free software; you can redistribute it and/or modify it
113.1 --- a/src/cpu/x86/vm/c1_CodeStubs_x86.cpp Thu Jan 16 14:25:51 2014 +0100 113.2 +++ b/src/cpu/x86/vm/c1_CodeStubs_x86.cpp Wed Jan 22 17:42:23 2014 -0800 113.3 @@ -1,5 +1,5 @@ 113.4 /* 113.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 113.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 113.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 113.8 * 113.9 * This code is free software; you can redistribute it and/or modify it
114.1 --- a/src/cpu/x86/vm/c1_FrameMap_x86.cpp Thu Jan 16 14:25:51 2014 +0100 114.2 +++ b/src/cpu/x86/vm/c1_FrameMap_x86.cpp Wed Jan 22 17:42:23 2014 -0800 114.3 @@ -1,5 +1,5 @@ 114.4 /* 114.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 114.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 114.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 114.8 * 114.9 * This code is free software; you can redistribute it and/or modify it
115.1 --- a/src/cpu/x86/vm/c1_FrameMap_x86.hpp Thu Jan 16 14:25:51 2014 +0100 115.2 +++ b/src/cpu/x86/vm/c1_FrameMap_x86.hpp Wed Jan 22 17:42:23 2014 -0800 115.3 @@ -1,5 +1,5 @@ 115.4 /* 115.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 115.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 115.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 115.8 * 115.9 * This code is free software; you can redistribute it and/or modify it
116.1 --- a/src/cpu/x86/vm/c1_LinearScan_x86.cpp Thu Jan 16 14:25:51 2014 +0100 116.2 +++ b/src/cpu/x86/vm/c1_LinearScan_x86.cpp Wed Jan 22 17:42:23 2014 -0800 116.3 @@ -1,5 +1,5 @@ 116.4 /* 116.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 116.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 116.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 116.8 * 116.9 * This code is free software; you can redistribute it and/or modify it
117.1 --- a/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp Thu Jan 16 14:25:51 2014 +0100 117.2 +++ b/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp Wed Jan 22 17:42:23 2014 -0800 117.3 @@ -1,5 +1,5 @@ 117.4 /* 117.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 117.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 117.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 117.8 * 117.9 * This code is free software; you can redistribute it and/or modify it
118.1 --- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp Thu Jan 16 14:25:51 2014 +0100 118.2 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp Wed Jan 22 17:42:23 2014 -0800 118.3 @@ -1,5 +1,5 @@ 118.4 /* 118.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 118.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 118.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 118.8 * 118.9 * This code is free software; you can redistribute it and/or modify it
119.1 --- a/src/cpu/x86/vm/c1_globals_x86.hpp Thu Jan 16 14:25:51 2014 +0100 119.2 +++ b/src/cpu/x86/vm/c1_globals_x86.hpp Wed Jan 22 17:42:23 2014 -0800 119.3 @@ -1,5 +1,5 @@ 119.4 /* 119.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 119.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 119.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 119.8 * 119.9 * This code is free software; you can redistribute it and/or modify it
120.1 --- a/src/cpu/x86/vm/c2_globals_x86.hpp Thu Jan 16 14:25:51 2014 +0100 120.2 +++ b/src/cpu/x86/vm/c2_globals_x86.hpp Wed Jan 22 17:42:23 2014 -0800 120.3 @@ -1,5 +1,5 @@ 120.4 /* 120.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 120.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 120.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 120.8 * 120.9 * This code is free software; you can redistribute it and/or modify it
121.1 --- a/src/cpu/x86/vm/frame_x86.hpp Thu Jan 16 14:25:51 2014 +0100 121.2 +++ b/src/cpu/x86/vm/frame_x86.hpp Wed Jan 22 17:42:23 2014 -0800 121.3 @@ -1,5 +1,5 @@ 121.4 /* 121.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 121.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 121.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 121.8 * 121.9 * This code is free software; you can redistribute it and/or modify it
122.1 --- a/src/cpu/x86/vm/frame_x86.inline.hpp Thu Jan 16 14:25:51 2014 +0100 122.2 +++ b/src/cpu/x86/vm/frame_x86.inline.hpp Wed Jan 22 17:42:23 2014 -0800 122.3 @@ -1,5 +1,5 @@ 122.4 /* 122.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 122.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 122.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 122.8 * 122.9 * This code is free software; you can redistribute it and/or modify it
123.1 --- a/src/cpu/x86/vm/globalDefinitions_x86.hpp Thu Jan 16 14:25:51 2014 +0100 123.2 +++ b/src/cpu/x86/vm/globalDefinitions_x86.hpp Wed Jan 22 17:42:23 2014 -0800 123.3 @@ -1,5 +1,5 @@ 123.4 /* 123.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 123.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 123.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 123.8 * 123.9 * This code is free software; you can redistribute it and/or modify it
124.1 --- a/src/cpu/x86/vm/interp_masm_x86.cpp Thu Jan 16 14:25:51 2014 +0100 124.2 +++ b/src/cpu/x86/vm/interp_masm_x86.cpp Wed Jan 22 17:42:23 2014 -0800 124.3 @@ -127,7 +127,7 @@ 124.4 124.5 if (MethodData::profile_return()) { 124.6 // We're right after the type profile for the last 124.7 - // argument. tmp is the number of cell left in the 124.8 + // argument. tmp is the number of cells left in the 124.9 // CallTypeData/VirtualCallTypeData to reach its end. Non null 124.10 // if there's a return to profile. 124.11 assert(ReturnTypeEntry::static_cell_count() < TypeStackSlotEntries::per_arg_count(), "can't move past ret type"); 124.12 @@ -198,7 +198,7 @@ 124.13 // parameters. Collect profiling from last parameter down. 124.14 // mdo start + parameters offset + array length - 1 124.15 addptr(mdp, tmp1); 124.16 - movptr(tmp1, Address(mdp, in_bytes(ArrayData::array_len_offset()))); 124.17 + movptr(tmp1, Address(mdp, ArrayData::array_len_offset())); 124.18 decrement(tmp1, TypeStackSlotEntries::per_arg_count()); 124.19 124.20 Label loop;
125.1 --- a/src/cpu/x86/vm/register_definitions_x86.cpp Thu Jan 16 14:25:51 2014 +0100 125.2 +++ b/src/cpu/x86/vm/register_definitions_x86.cpp Wed Jan 22 17:42:23 2014 -0800 125.3 @@ -1,5 +1,5 @@ 125.4 /* 125.5 - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. 125.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 125.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 125.8 * 125.9 * This code is free software; you can redistribute it and/or modify it
126.1 --- a/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Thu Jan 16 14:25:51 2014 +0100 126.2 +++ b/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Wed Jan 22 17:42:23 2014 -0800 126.3 @@ -1,5 +1,5 @@ 126.4 /* 126.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 126.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 126.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 126.8 * 126.9 * This code is free software; you can redistribute it and/or modify it
127.1 --- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Thu Jan 16 14:25:51 2014 +0100 127.2 +++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Wed Jan 22 17:42:23 2014 -0800 127.3 @@ -1,5 +1,5 @@ 127.4 /* 127.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 127.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 127.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 127.8 * 127.9 * This code is free software; you can redistribute it and/or modify it
128.1 --- a/src/cpu/x86/vm/templateInterpreter_x86.hpp Thu Jan 16 14:25:51 2014 +0100 128.2 +++ b/src/cpu/x86/vm/templateInterpreter_x86.hpp Wed Jan 22 17:42:23 2014 -0800 128.3 @@ -1,5 +1,5 @@ 128.4 /* 128.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 128.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 128.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 128.8 * 128.9 * This code is free software; you can redistribute it and/or modify it
129.1 --- a/src/cpu/x86/vm/vmStructs_x86.hpp Thu Jan 16 14:25:51 2014 +0100 129.2 +++ b/src/cpu/x86/vm/vmStructs_x86.hpp Wed Jan 22 17:42:23 2014 -0800 129.3 @@ -1,5 +1,5 @@ 129.4 /* 129.5 - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 129.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 129.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 129.8 * 129.9 * This code is free software; you can redistribute it and/or modify it
130.1 --- a/src/cpu/x86/vm/vtableStubs_x86_32.cpp Thu Jan 16 14:25:51 2014 +0100 130.2 +++ b/src/cpu/x86/vm/vtableStubs_x86_32.cpp Wed Jan 22 17:42:23 2014 -0800 130.3 @@ -1,5 +1,5 @@ 130.4 /* 130.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 130.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 130.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 130.8 * 130.9 * This code is free software; you can redistribute it and/or modify it
131.1 --- a/src/cpu/x86/vm/vtableStubs_x86_64.cpp Thu Jan 16 14:25:51 2014 +0100 131.2 +++ b/src/cpu/x86/vm/vtableStubs_x86_64.cpp Wed Jan 22 17:42:23 2014 -0800 131.3 @@ -1,5 +1,5 @@ 131.4 /* 131.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 131.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 131.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 131.8 * 131.9 * This code is free software; you can redistribute it and/or modify it
132.1 --- a/src/cpu/zero/vm/assembler_zero.cpp Thu Jan 16 14:25:51 2014 +0100 132.2 +++ b/src/cpu/zero/vm/assembler_zero.cpp Wed Jan 22 17:42:23 2014 -0800 132.3 @@ -1,5 +1,5 @@ 132.4 /* 132.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 132.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 132.7 * Copyright 2007, 2008, 2009 Red Hat, Inc. 132.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 132.9 *
133.1 --- a/src/cpu/zero/vm/cppInterpreter_zero.cpp Thu Jan 16 14:25:51 2014 +0100 133.2 +++ b/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Jan 22 17:42:23 2014 -0800 133.3 @@ -1,5 +1,5 @@ 133.4 /* 133.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 133.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 133.7 * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc. 133.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 133.9 *
134.1 --- a/src/cpu/zero/vm/entryFrame_zero.hpp Thu Jan 16 14:25:51 2014 +0100 134.2 +++ b/src/cpu/zero/vm/entryFrame_zero.hpp Wed Jan 22 17:42:23 2014 -0800 134.3 @@ -1,5 +1,5 @@ 134.4 /* 134.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 134.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 134.7 * Copyright 2008, 2010 Red Hat, Inc. 134.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 134.9 *
135.1 --- a/src/cpu/zero/vm/frame_zero.cpp Thu Jan 16 14:25:51 2014 +0100 135.2 +++ b/src/cpu/zero/vm/frame_zero.cpp Wed Jan 22 17:42:23 2014 -0800 135.3 @@ -1,5 +1,5 @@ 135.4 /* 135.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 135.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 135.7 * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc. 135.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 135.9 *
136.1 --- a/src/cpu/zero/vm/frame_zero.inline.hpp Thu Jan 16 14:25:51 2014 +0100 136.2 +++ b/src/cpu/zero/vm/frame_zero.inline.hpp Wed Jan 22 17:42:23 2014 -0800 136.3 @@ -1,5 +1,5 @@ 136.4 /* 136.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 136.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 136.7 * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc. 136.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 136.9 *
137.1 --- a/src/cpu/zero/vm/globals_zero.hpp Thu Jan 16 14:25:51 2014 +0100 137.2 +++ b/src/cpu/zero/vm/globals_zero.hpp Wed Jan 22 17:42:23 2014 -0800 137.3 @@ -1,5 +1,5 @@ 137.4 /* 137.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 137.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 137.7 * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc. 137.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 137.9 *
138.1 --- a/src/cpu/zero/vm/icBuffer_zero.cpp Thu Jan 16 14:25:51 2014 +0100 138.2 +++ b/src/cpu/zero/vm/icBuffer_zero.cpp Wed Jan 22 17:42:23 2014 -0800 138.3 @@ -1,5 +1,5 @@ 138.4 /* 138.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 138.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 138.7 * Copyright 2007 Red Hat, Inc. 138.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 138.9 *
139.1 --- a/src/cpu/zero/vm/interp_masm_zero.hpp Thu Jan 16 14:25:51 2014 +0100 139.2 +++ b/src/cpu/zero/vm/interp_masm_zero.hpp Wed Jan 22 17:42:23 2014 -0800 139.3 @@ -1,5 +1,5 @@ 139.4 /* 139.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 139.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 139.7 * Copyright 2007 Red Hat, Inc. 139.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 139.9 *
140.1 --- a/src/cpu/zero/vm/interpreter_zero.cpp Thu Jan 16 14:25:51 2014 +0100 140.2 +++ b/src/cpu/zero/vm/interpreter_zero.cpp Wed Jan 22 17:42:23 2014 -0800 140.3 @@ -1,5 +1,5 @@ 140.4 /* 140.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 140.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 140.7 * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc. 140.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 140.9 *
141.1 --- a/src/cpu/zero/vm/jni_zero.h Thu Jan 16 14:25:51 2014 +0100 141.2 +++ b/src/cpu/zero/vm/jni_zero.h Wed Jan 22 17:42:23 2014 -0800 141.3 @@ -1,5 +1,5 @@ 141.4 /* 141.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 141.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 141.7 * Copyright 2009 Red Hat, Inc. 141.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 141.9 *
142.1 --- a/src/cpu/zero/vm/nativeInst_zero.hpp Thu Jan 16 14:25:51 2014 +0100 142.2 +++ b/src/cpu/zero/vm/nativeInst_zero.hpp Wed Jan 22 17:42:23 2014 -0800 142.3 @@ -1,5 +1,5 @@ 142.4 /* 142.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 142.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 142.7 * Copyright 2007 Red Hat, Inc. 142.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 142.9 *
143.1 --- a/src/cpu/zero/vm/register_zero.cpp Thu Jan 16 14:25:51 2014 +0100 143.2 +++ b/src/cpu/zero/vm/register_zero.cpp Wed Jan 22 17:42:23 2014 -0800 143.3 @@ -1,5 +1,5 @@ 143.4 /* 143.5 - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 143.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 143.7 * Copyright 2007 Red Hat, Inc. 143.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 143.9 *
144.1 --- a/src/cpu/zero/vm/relocInfo_zero.cpp Thu Jan 16 14:25:51 2014 +0100 144.2 +++ b/src/cpu/zero/vm/relocInfo_zero.cpp Wed Jan 22 17:42:23 2014 -0800 144.3 @@ -1,5 +1,5 @@ 144.4 /* 144.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 144.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 144.7 * Copyright 2007, 2009, 2010, 2011 Red Hat, Inc. 144.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 144.9 *
145.1 --- a/src/cpu/zero/vm/sharedRuntime_zero.cpp Thu Jan 16 14:25:51 2014 +0100 145.2 +++ b/src/cpu/zero/vm/sharedRuntime_zero.cpp Wed Jan 22 17:42:23 2014 -0800 145.3 @@ -1,5 +1,5 @@ 145.4 /* 145.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 145.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 145.7 * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc. 145.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 145.9 *
146.1 --- a/src/cpu/zero/vm/sharkFrame_zero.hpp Thu Jan 16 14:25:51 2014 +0100 146.2 +++ b/src/cpu/zero/vm/sharkFrame_zero.hpp Wed Jan 22 17:42:23 2014 -0800 146.3 @@ -1,5 +1,5 @@ 146.4 /* 146.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 146.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 146.7 * Copyright 2008, 2009 Red Hat, Inc. 146.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 146.9 *
147.1 --- a/src/cpu/zero/vm/stubGenerator_zero.cpp Thu Jan 16 14:25:51 2014 +0100 147.2 +++ b/src/cpu/zero/vm/stubGenerator_zero.cpp Wed Jan 22 17:42:23 2014 -0800 147.3 @@ -1,5 +1,5 @@ 147.4 /* 147.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 147.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 147.7 * Copyright 2007, 2008, 2010 Red Hat, Inc. 147.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 147.9 *
148.1 --- a/src/cpu/zero/vm/vmStructs_zero.hpp Thu Jan 16 14:25:51 2014 +0100 148.2 +++ b/src/cpu/zero/vm/vmStructs_zero.hpp Wed Jan 22 17:42:23 2014 -0800 148.3 @@ -1,5 +1,5 @@ 148.4 /* 148.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 148.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 148.7 * Copyright 2007 Red Hat, Inc. 148.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 148.9 *
149.1 --- a/src/cpu/zero/vm/vtableStubs_zero.cpp Thu Jan 16 14:25:51 2014 +0100 149.2 +++ b/src/cpu/zero/vm/vtableStubs_zero.cpp Wed Jan 22 17:42:23 2014 -0800 149.3 @@ -1,5 +1,5 @@ 149.4 /* 149.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 149.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 149.7 * Copyright 2007 Red Hat, Inc. 149.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 149.9 *
150.1 --- a/src/os/bsd/dtrace/jvm_dtrace.c Thu Jan 16 14:25:51 2014 +0100 150.2 +++ b/src/os/bsd/dtrace/jvm_dtrace.c Wed Jan 22 17:42:23 2014 -0800 150.3 @@ -1,5 +1,5 @@ 150.4 /* 150.5 - * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 150.6 + * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. 150.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 150.8 * 150.9 * This code is free software; you can redistribute it and/or modify it
151.1 --- a/src/os/posix/vm/os_posix.hpp Thu Jan 16 14:25:51 2014 +0100 151.2 +++ b/src/os/posix/vm/os_posix.hpp Wed Jan 22 17:42:23 2014 -0800 151.3 @@ -1,5 +1,5 @@ 151.4 /* 151.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 151.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 151.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 151.8 * 151.9 * This code is free software; you can redistribute it and/or modify it
152.1 --- a/src/os/solaris/dtrace/jvm_dtrace.c Thu Jan 16 14:25:51 2014 +0100 152.2 +++ b/src/os/solaris/dtrace/jvm_dtrace.c Wed Jan 22 17:42:23 2014 -0800 152.3 @@ -1,5 +1,5 @@ 152.4 /* 152.5 - * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 152.6 + * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. 152.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 152.8 * 152.9 * This code is free software; you can redistribute it and/or modify it
153.1 --- a/src/os/solaris/vm/globals_solaris.hpp Thu Jan 16 14:25:51 2014 +0100 153.2 +++ b/src/os/solaris/vm/globals_solaris.hpp Wed Jan 22 17:42:23 2014 -0800 153.3 @@ -1,5 +1,5 @@ 153.4 /* 153.5 - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 153.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 153.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 153.8 * 153.9 * This code is free software; you can redistribute it and/or modify it
154.1 --- a/src/os/windows/vm/decoder_windows.hpp Thu Jan 16 14:25:51 2014 +0100 154.2 +++ b/src/os/windows/vm/decoder_windows.hpp Wed Jan 22 17:42:23 2014 -0800 154.3 @@ -1,5 +1,5 @@ 154.4 /* 154.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 154.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 154.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 154.8 * 154.9 * This code is free software; you can redistribute it and/or modify it
155.1 --- a/src/os_cpu/bsd_x86/vm/bsd_x86_32.s Thu Jan 16 14:25:51 2014 +0100 155.2 +++ b/src/os_cpu/bsd_x86/vm/bsd_x86_32.s Wed Jan 22 17:42:23 2014 -0800 155.3 @@ -1,5 +1,5 @@ 155.4 # 155.5 -# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. 155.6 +# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 155.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 155.8 # 155.9 # This code is free software; you can redistribute it and/or modify it
156.1 --- a/src/os_cpu/bsd_x86/vm/bsd_x86_64.s Thu Jan 16 14:25:51 2014 +0100 156.2 +++ b/src/os_cpu/bsd_x86/vm/bsd_x86_64.s Wed Jan 22 17:42:23 2014 -0800 156.3 @@ -1,5 +1,5 @@ 156.4 # 156.5 -# Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved. 156.6 +# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 156.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 156.8 # 156.9 # This code is free software; you can redistribute it and/or modify it
157.1 --- a/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Thu Jan 16 14:25:51 2014 +0100 157.2 +++ b/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Wed Jan 22 17:42:23 2014 -0800 157.3 @@ -1,5 +1,5 @@ 157.4 /* 157.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 157.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 157.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 157.8 * 157.9 * This code is free software; you can redistribute it and/or modify it
158.1 --- a/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp Thu Jan 16 14:25:51 2014 +0100 158.2 +++ b/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp Wed Jan 22 17:42:23 2014 -0800 158.3 @@ -1,5 +1,5 @@ 158.4 /* 158.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 158.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 158.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 158.8 * 158.9 * This code is free software; you can redistribute it and/or modify it
159.1 --- a/src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp Thu Jan 16 14:25:51 2014 +0100 159.2 +++ b/src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp Wed Jan 22 17:42:23 2014 -0800 159.3 @@ -1,5 +1,5 @@ 159.4 /* 159.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 159.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 159.7 * Copyright 2007, 2008, 2010 Red Hat, Inc. 159.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 159.9 *
160.1 --- a/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp Thu Jan 16 14:25:51 2014 +0100 160.2 +++ b/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp Wed Jan 22 17:42:23 2014 -0800 160.3 @@ -1,5 +1,5 @@ 160.4 /* 160.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 160.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 160.7 * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc. 160.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 160.9 *
161.1 --- a/src/os_cpu/bsd_zero/vm/thread_bsd_zero.hpp Thu Jan 16 14:25:51 2014 +0100 161.2 +++ b/src/os_cpu/bsd_zero/vm/thread_bsd_zero.hpp Wed Jan 22 17:42:23 2014 -0800 161.3 @@ -1,5 +1,5 @@ 161.4 /* 161.5 - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 161.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 161.7 * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc. 161.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 161.9 *
162.1 --- a/src/os_cpu/bsd_zero/vm/vmStructs_bsd_zero.hpp Thu Jan 16 14:25:51 2014 +0100 162.2 +++ b/src/os_cpu/bsd_zero/vm/vmStructs_bsd_zero.hpp Wed Jan 22 17:42:23 2014 -0800 162.3 @@ -1,5 +1,5 @@ 162.4 /* 162.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 162.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 162.7 * Copyright 2007 Red Hat, Inc. 162.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 162.9 *
163.1 --- a/src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 163.2 +++ b/src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 163.3 @@ -1,5 +1,5 @@ 163.4 /* 163.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 163.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 163.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 163.8 * 163.9 * This code is free software; you can redistribute it and/or modify it
164.1 --- a/src/os_cpu/linux_sparc/vm/linux_sparc.s Thu Jan 16 14:25:51 2014 +0100 164.2 +++ b/src/os_cpu/linux_sparc/vm/linux_sparc.s Wed Jan 22 17:42:23 2014 -0800 164.3 @@ -1,5 +1,5 @@ 164.4 # 164.5 -# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. 164.6 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 164.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 164.8 # 164.9 # This code is free software; you can redistribute it and/or modify it
165.1 --- a/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp Thu Jan 16 14:25:51 2014 +0100 165.2 +++ b/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp Wed Jan 22 17:42:23 2014 -0800 165.3 @@ -1,5 +1,5 @@ 165.4 /* 165.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 165.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 165.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 165.8 * 165.9 * This code is free software; you can redistribute it and/or modify it
166.1 --- a/src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 166.2 +++ b/src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 166.3 @@ -1,5 +1,5 @@ 166.4 /* 166.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 166.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 166.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 166.8 * 166.9 * This code is free software; you can redistribute it and/or modify it
167.1 --- a/src/os_cpu/linux_x86/vm/globals_linux_x86.hpp Thu Jan 16 14:25:51 2014 +0100 167.2 +++ b/src/os_cpu/linux_x86/vm/globals_linux_x86.hpp Wed Jan 22 17:42:23 2014 -0800 167.3 @@ -1,5 +1,5 @@ 167.4 /* 167.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 167.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 167.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 167.8 * 167.9 * This code is free software; you can redistribute it and/or modify it
168.1 --- a/src/os_cpu/linux_x86/vm/linux_x86_32.s Thu Jan 16 14:25:51 2014 +0100 168.2 +++ b/src/os_cpu/linux_x86/vm/linux_x86_32.s Wed Jan 22 17:42:23 2014 -0800 168.3 @@ -1,5 +1,5 @@ 168.4 # 168.5 -# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. 168.6 +# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 168.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 168.8 # 168.9 # This code is free software; you can redistribute it and/or modify it
169.1 --- a/src/os_cpu/linux_x86/vm/linux_x86_64.s Thu Jan 16 14:25:51 2014 +0100 169.2 +++ b/src/os_cpu/linux_x86/vm/linux_x86_64.s Wed Jan 22 17:42:23 2014 -0800 169.3 @@ -1,5 +1,5 @@ 169.4 # 169.5 -# Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved. 169.6 +# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 169.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 169.8 # 169.9 # This code is free software; you can redistribute it and/or modify it
170.1 --- a/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Thu Jan 16 14:25:51 2014 +0100 170.2 +++ b/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Wed Jan 22 17:42:23 2014 -0800 170.3 @@ -1,5 +1,5 @@ 170.4 /* 170.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 170.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 170.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 170.8 * 170.9 * This code is free software; you can redistribute it and/or modify it
171.1 --- a/src/os_cpu/linux_x86/vm/os_linux_x86.hpp Thu Jan 16 14:25:51 2014 +0100 171.2 +++ b/src/os_cpu/linux_x86/vm/os_linux_x86.hpp Wed Jan 22 17:42:23 2014 -0800 171.3 @@ -1,5 +1,5 @@ 171.4 /* 171.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 171.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 171.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 171.8 * 171.9 * This code is free software; you can redistribute it and/or modify it
172.1 --- a/src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp Thu Jan 16 14:25:51 2014 +0100 172.2 +++ b/src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp Wed Jan 22 17:42:23 2014 -0800 172.3 @@ -1,5 +1,5 @@ 172.4 /* 172.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 172.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 172.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 172.8 * 172.9 * This code is free software; you can redistribute it and/or modify it
173.1 --- a/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Thu Jan 16 14:25:51 2014 +0100 173.2 +++ b/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Wed Jan 22 17:42:23 2014 -0800 173.3 @@ -1,5 +1,5 @@ 173.4 /* 173.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 173.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 173.7 * Copyright 2007, 2008, 2010 Red Hat, Inc. 173.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 173.9 *
174.1 --- a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Thu Jan 16 14:25:51 2014 +0100 174.2 +++ b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Wed Jan 22 17:42:23 2014 -0800 174.3 @@ -1,5 +1,5 @@ 174.4 /* 174.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 174.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 174.7 * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc. 174.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 174.9 *
175.1 --- a/src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp Thu Jan 16 14:25:51 2014 +0100 175.2 +++ b/src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp Wed Jan 22 17:42:23 2014 -0800 175.3 @@ -1,5 +1,5 @@ 175.4 /* 175.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 175.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 175.7 * Copyright 2007 Red Hat, Inc. 175.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 175.9 *
176.1 --- a/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 176.2 +++ b/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 176.3 @@ -1,5 +1,5 @@ 176.4 /* 176.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 176.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 176.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 176.8 * 176.9 * This code is free software; you can redistribute it and/or modify it
177.1 --- a/src/os_cpu/solaris_sparc/vm/solaris_sparc.il Thu Jan 16 14:25:51 2014 +0100 177.2 +++ b/src/os_cpu/solaris_sparc/vm/solaris_sparc.il Wed Jan 22 17:42:23 2014 -0800 177.3 @@ -1,5 +1,5 @@ 177.4 // 177.5 -// Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. 177.6 +// Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 177.7 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 177.8 // 177.9 // This code is free software; you can redistribute it and/or modify it
178.1 --- a/src/os_cpu/solaris_sparc/vm/solaris_sparc.s Thu Jan 16 14:25:51 2014 +0100 178.2 +++ b/src/os_cpu/solaris_sparc/vm/solaris_sparc.s Wed Jan 22 17:42:23 2014 -0800 178.3 @@ -1,5 +1,5 @@ 178.4 !! 178.5 -!! Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. 178.6 +!! Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 178.7 !! DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 178.8 !! 178.9 !! This code is free software; you can redistribute it and/or modify it
179.1 --- a/src/os_cpu/solaris_sparc/vm/vmStructs_solaris_sparc.hpp Thu Jan 16 14:25:51 2014 +0100 179.2 +++ b/src/os_cpu/solaris_sparc/vm/vmStructs_solaris_sparc.hpp Wed Jan 22 17:42:23 2014 -0800 179.3 @@ -1,5 +1,5 @@ 179.4 /* 179.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 179.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 179.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 179.8 * 179.9 * This code is free software; you can redistribute it and/or modify it
180.1 --- a/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp Thu Jan 16 14:25:51 2014 +0100 180.2 +++ b/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp Wed Jan 22 17:42:23 2014 -0800 180.3 @@ -1,5 +1,5 @@ 180.4 /* 180.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 180.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 180.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 180.8 * 180.9 * This code is free software; you can redistribute it and/or modify it
181.1 --- a/src/os_cpu/solaris_x86/vm/solaris_x86_32.s Thu Jan 16 14:25:51 2014 +0100 181.2 +++ b/src/os_cpu/solaris_x86/vm/solaris_x86_32.s Wed Jan 22 17:42:23 2014 -0800 181.3 @@ -1,5 +1,5 @@ 181.4 // 181.5 -// Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 181.6 +// Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 181.7 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 181.8 // 181.9 // This code is free software; you can redistribute it and/or modify it
182.1 --- a/src/os_cpu/solaris_x86/vm/solaris_x86_64.s Thu Jan 16 14:25:51 2014 +0100 182.2 +++ b/src/os_cpu/solaris_x86/vm/solaris_x86_64.s Wed Jan 22 17:42:23 2014 -0800 182.3 @@ -1,5 +1,5 @@ 182.4 / 182.5 -/ Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved. 182.6 +/ Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 182.7 / DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 182.8 / 182.9 / This code is free software; you can redistribute it and/or modify it
183.1 --- a/src/os_cpu/solaris_x86/vm/vmStructs_solaris_x86.hpp Thu Jan 16 14:25:51 2014 +0100 183.2 +++ b/src/os_cpu/solaris_x86/vm/vmStructs_solaris_x86.hpp Wed Jan 22 17:42:23 2014 -0800 183.3 @@ -1,5 +1,5 @@ 183.4 /* 183.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 183.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 183.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 183.8 * 183.9 * This code is free software; you can redistribute it and/or modify it
184.1 --- a/src/os_cpu/windows_x86/vm/globals_windows_x86.hpp Thu Jan 16 14:25:51 2014 +0100 184.2 +++ b/src/os_cpu/windows_x86/vm/globals_windows_x86.hpp Wed Jan 22 17:42:23 2014 -0800 184.3 @@ -1,5 +1,5 @@ 184.4 /* 184.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 184.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 184.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 184.8 * 184.9 * This code is free software; you can redistribute it and/or modify it
185.1 --- a/src/os_cpu/windows_x86/vm/os_windows_x86.cpp Thu Jan 16 14:25:51 2014 +0100 185.2 +++ b/src/os_cpu/windows_x86/vm/os_windows_x86.cpp Wed Jan 22 17:42:23 2014 -0800 185.3 @@ -1,5 +1,5 @@ 185.4 /* 185.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 185.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 185.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 185.8 * 185.9 * This code is free software; you can redistribute it and/or modify it
186.1 --- a/src/os_cpu/windows_x86/vm/os_windows_x86.hpp Thu Jan 16 14:25:51 2014 +0100 186.2 +++ b/src/os_cpu/windows_x86/vm/os_windows_x86.hpp Wed Jan 22 17:42:23 2014 -0800 186.3 @@ -1,5 +1,5 @@ 186.4 /* 186.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 186.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 186.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 186.8 * 186.9 * This code is free software; you can redistribute it and/or modify it
187.1 --- a/src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp Thu Jan 16 14:25:51 2014 +0100 187.2 +++ b/src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp Wed Jan 22 17:42:23 2014 -0800 187.3 @@ -1,5 +1,5 @@ 187.4 /* 187.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 187.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 187.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 187.8 * 187.9 * This code is free software; you can redistribute it and/or modify it
188.1 --- a/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java Thu Jan 16 14:25:51 2014 +0100 188.2 +++ b/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java Wed Jan 22 17:42:23 2014 -0800 188.3 @@ -1,5 +1,5 @@ 188.4 /* 188.5 - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. 188.6 + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. 188.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 188.8 * 188.9 * This code is free software; you can redistribute it and/or modify it
189.1 --- a/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java Thu Jan 16 14:25:51 2014 +0100 189.2 +++ b/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java Wed Jan 22 17:42:23 2014 -0800 189.3 @@ -1,5 +1,5 @@ 189.4 /* 189.5 - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. 189.6 + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. 189.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 189.8 * 189.9 * This code is free software; you can redistribute it and/or modify it
190.1 --- a/src/share/tools/ProjectCreator/WinGammaPlatformVC7.java Thu Jan 16 14:25:51 2014 +0100 190.2 +++ b/src/share/tools/ProjectCreator/WinGammaPlatformVC7.java Wed Jan 22 17:42:23 2014 -0800 190.3 @@ -1,5 +1,5 @@ 190.4 /* 190.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 190.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 190.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 190.8 * 190.9 * This code is free software; you can redistribute it and/or modify it
191.1 --- a/src/share/vm/adlc/adlparse.cpp Thu Jan 16 14:25:51 2014 +0100 191.2 +++ b/src/share/vm/adlc/adlparse.cpp Wed Jan 22 17:42:23 2014 -0800 191.3 @@ -1,5 +1,5 @@ 191.4 /* 191.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 191.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 191.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 191.8 * 191.9 * This code is free software; you can redistribute it and/or modify it
192.1 --- a/src/share/vm/adlc/archDesc.cpp Thu Jan 16 14:25:51 2014 +0100 192.2 +++ b/src/share/vm/adlc/archDesc.cpp Wed Jan 22 17:42:23 2014 -0800 192.3 @@ -1,5 +1,5 @@ 192.4 // 192.5 -// Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 192.6 +// Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 192.7 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 192.8 // 192.9 // This code is free software; you can redistribute it and/or modify it
193.1 --- a/src/share/vm/adlc/dfa.cpp Thu Jan 16 14:25:51 2014 +0100 193.2 +++ b/src/share/vm/adlc/dfa.cpp Wed Jan 22 17:42:23 2014 -0800 193.3 @@ -1,5 +1,5 @@ 193.4 /* 193.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 193.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 193.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 193.8 * 193.9 * This code is free software; you can redistribute it and/or modify it
194.1 --- a/src/share/vm/adlc/dict2.cpp Thu Jan 16 14:25:51 2014 +0100 194.2 +++ b/src/share/vm/adlc/dict2.cpp Wed Jan 22 17:42:23 2014 -0800 194.3 @@ -1,5 +1,5 @@ 194.4 /* 194.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 194.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 194.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 194.8 * 194.9 * This code is free software; you can redistribute it and/or modify it
195.1 --- a/src/share/vm/adlc/formssel.cpp Thu Jan 16 14:25:51 2014 +0100 195.2 +++ b/src/share/vm/adlc/formssel.cpp Wed Jan 22 17:42:23 2014 -0800 195.3 @@ -1,5 +1,5 @@ 195.4 /* 195.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 195.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 195.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 195.8 * 195.9 * This code is free software; you can redistribute it and/or modify it
196.1 --- a/src/share/vm/adlc/formssel.hpp Thu Jan 16 14:25:51 2014 +0100 196.2 +++ b/src/share/vm/adlc/formssel.hpp Wed Jan 22 17:42:23 2014 -0800 196.3 @@ -1,5 +1,5 @@ 196.4 /* 196.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 196.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 196.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 196.8 * 196.9 * This code is free software; you can redistribute it and/or modify it
197.1 --- a/src/share/vm/adlc/output_c.cpp Thu Jan 16 14:25:51 2014 +0100 197.2 +++ b/src/share/vm/adlc/output_c.cpp Wed Jan 22 17:42:23 2014 -0800 197.3 @@ -1,5 +1,5 @@ 197.4 /* 197.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 197.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 197.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 197.8 * 197.9 * This code is free software; you can redistribute it and/or modify it
198.1 --- a/src/share/vm/adlc/output_h.cpp Thu Jan 16 14:25:51 2014 +0100 198.2 +++ b/src/share/vm/adlc/output_h.cpp Wed Jan 22 17:42:23 2014 -0800 198.3 @@ -1,5 +1,5 @@ 198.4 /* 198.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 198.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 198.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 198.8 * 198.9 * This code is free software; you can redistribute it and/or modify it
199.1 --- a/src/share/vm/asm/assembler.cpp Thu Jan 16 14:25:51 2014 +0100 199.2 +++ b/src/share/vm/asm/assembler.cpp Wed Jan 22 17:42:23 2014 -0800 199.3 @@ -1,5 +1,5 @@ 199.4 /* 199.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 199.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 199.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 199.8 * 199.9 * This code is free software; you can redistribute it and/or modify it
200.1 --- a/src/share/vm/asm/assembler.hpp Thu Jan 16 14:25:51 2014 +0100 200.2 +++ b/src/share/vm/asm/assembler.hpp Wed Jan 22 17:42:23 2014 -0800 200.3 @@ -1,5 +1,5 @@ 200.4 /* 200.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 200.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 200.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 200.8 * 200.9 * This code is free software; you can redistribute it and/or modify it
201.1 --- a/src/share/vm/asm/codeBuffer.cpp Thu Jan 16 14:25:51 2014 +0100 201.2 +++ b/src/share/vm/asm/codeBuffer.cpp Wed Jan 22 17:42:23 2014 -0800 201.3 @@ -1,5 +1,5 @@ 201.4 /* 201.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 201.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 201.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 201.8 * 201.9 * This code is free software; you can redistribute it and/or modify it
202.1 --- a/src/share/vm/asm/macroAssembler.hpp Thu Jan 16 14:25:51 2014 +0100 202.2 +++ b/src/share/vm/asm/macroAssembler.hpp Wed Jan 22 17:42:23 2014 -0800 202.3 @@ -1,5 +1,5 @@ 202.4 /* 202.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 202.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 202.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 202.8 * 202.9 * This code is free software; you can redistribute it and/or modify it
203.1 --- a/src/share/vm/asm/macroAssembler.inline.hpp Thu Jan 16 14:25:51 2014 +0100 203.2 +++ b/src/share/vm/asm/macroAssembler.inline.hpp Wed Jan 22 17:42:23 2014 -0800 203.3 @@ -1,5 +1,5 @@ 203.4 /* 203.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 203.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 203.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 203.8 * 203.9 * This code is free software; you can redistribute it and/or modify it
204.1 --- a/src/share/vm/c1/c1_Canonicalizer.cpp Thu Jan 16 14:25:51 2014 +0100 204.2 +++ b/src/share/vm/c1/c1_Canonicalizer.cpp Wed Jan 22 17:42:23 2014 -0800 204.3 @@ -1,5 +1,5 @@ 204.4 /* 204.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 204.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 204.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 204.8 * 204.9 * This code is free software; you can redistribute it and/or modify it
205.1 --- a/src/share/vm/c1/c1_Canonicalizer.hpp Thu Jan 16 14:25:51 2014 +0100 205.2 +++ b/src/share/vm/c1/c1_Canonicalizer.hpp Wed Jan 22 17:42:23 2014 -0800 205.3 @@ -1,5 +1,5 @@ 205.4 /* 205.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 205.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 205.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 205.8 * 205.9 * This code is free software; you can redistribute it and/or modify it
206.1 --- a/src/share/vm/c1/c1_CodeStubs.hpp Thu Jan 16 14:25:51 2014 +0100 206.2 +++ b/src/share/vm/c1/c1_CodeStubs.hpp Wed Jan 22 17:42:23 2014 -0800 206.3 @@ -1,5 +1,5 @@ 206.4 /* 206.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 206.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 206.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 206.8 * 206.9 * This code is free software; you can redistribute it and/or modify it
207.1 --- a/src/share/vm/c1/c1_Compilation.cpp Thu Jan 16 14:25:51 2014 +0100 207.2 +++ b/src/share/vm/c1/c1_Compilation.cpp Wed Jan 22 17:42:23 2014 -0800 207.3 @@ -1,5 +1,5 @@ 207.4 /* 207.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 207.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 207.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 207.8 * 207.9 * This code is free software; you can redistribute it and/or modify it
208.1 --- a/src/share/vm/c1/c1_Compilation.hpp Thu Jan 16 14:25:51 2014 +0100 208.2 +++ b/src/share/vm/c1/c1_Compilation.hpp Wed Jan 22 17:42:23 2014 -0800 208.3 @@ -259,6 +259,9 @@ 208.4 } 208.5 208.6 ciKlass* cha_exact_type(ciType* type); 208.7 + 208.8 + // Dump inlining replay data to the stream. 208.9 + void dump_inline_data(outputStream* out) { /* do nothing now */ } 208.10 }; 208.11 208.12
209.1 --- a/src/share/vm/c1/c1_Compiler.cpp Thu Jan 16 14:25:51 2014 +0100 209.2 +++ b/src/share/vm/c1/c1_Compiler.cpp Wed Jan 22 17:42:23 2014 -0800 209.3 @@ -1,5 +1,5 @@ 209.4 /* 209.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 209.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 209.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 209.8 * 209.9 * This code is free software; you can redistribute it and/or modify it
210.1 --- a/src/share/vm/c1/c1_Compiler.hpp Thu Jan 16 14:25:51 2014 +0100 210.2 +++ b/src/share/vm/c1/c1_Compiler.hpp Wed Jan 22 17:42:23 2014 -0800 210.3 @@ -1,5 +1,5 @@ 210.4 /* 210.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 210.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 210.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 210.8 * 210.9 * This code is free software; you can redistribute it and/or modify it
211.1 --- a/src/share/vm/c1/c1_FrameMap.cpp Thu Jan 16 14:25:51 2014 +0100 211.2 +++ b/src/share/vm/c1/c1_FrameMap.cpp Wed Jan 22 17:42:23 2014 -0800 211.3 @@ -1,5 +1,5 @@ 211.4 /* 211.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 211.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 211.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 211.8 * 211.9 * This code is free software; you can redistribute it and/or modify it
212.1 --- a/src/share/vm/c1/c1_FrameMap.hpp Thu Jan 16 14:25:51 2014 +0100 212.2 +++ b/src/share/vm/c1/c1_FrameMap.hpp Wed Jan 22 17:42:23 2014 -0800 212.3 @@ -1,5 +1,5 @@ 212.4 /* 212.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 212.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 212.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 212.8 * 212.9 * This code is free software; you can redistribute it and/or modify it
213.1 --- a/src/share/vm/c1/c1_GraphBuilder.cpp Thu Jan 16 14:25:51 2014 +0100 213.2 +++ b/src/share/vm/c1/c1_GraphBuilder.cpp Wed Jan 22 17:42:23 2014 -0800 213.3 @@ -4338,11 +4338,15 @@ 213.4 #endif // PRODUCT 213.5 213.6 void GraphBuilder::profile_call(ciMethod* callee, Value recv, ciKlass* known_holder, Values* obj_args, bool inlined) { 213.7 - // A default method's holder is an interface 213.8 - if (known_holder != NULL && known_holder->is_interface()) { 213.9 - assert(known_holder->is_instance_klass() && ((ciInstanceKlass*)known_holder)->has_default_methods(), "should be default method"); 213.10 - known_holder = NULL; 213.11 + assert(known_holder == NULL || (known_holder->is_instance_klass() && 213.12 + (!known_holder->is_interface() || 213.13 + ((ciInstanceKlass*)known_holder)->has_default_methods())), "should be default method"); 213.14 + if (known_holder != NULL) { 213.15 + if (known_holder->exact_klass() == NULL) { 213.16 + known_holder = compilation()->cha_exact_type(known_holder); 213.17 + } 213.18 } 213.19 + 213.20 append(new ProfileCall(method(), bci(), callee, recv, known_holder, obj_args, inlined)); 213.21 } 213.22
214.1 --- a/src/share/vm/c1/c1_GraphBuilder.hpp Thu Jan 16 14:25:51 2014 +0100 214.2 +++ b/src/share/vm/c1/c1_GraphBuilder.hpp Wed Jan 22 17:42:23 2014 -0800 214.3 @@ -1,5 +1,5 @@ 214.4 /* 214.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 214.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 214.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 214.8 * 214.9 * This code is free software; you can redistribute it and/or modify it
215.1 --- a/src/share/vm/c1/c1_IR.cpp Thu Jan 16 14:25:51 2014 +0100 215.2 +++ b/src/share/vm/c1/c1_IR.cpp Wed Jan 22 17:42:23 2014 -0800 215.3 @@ -1,5 +1,5 @@ 215.4 /* 215.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 215.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 215.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 215.8 * 215.9 * This code is free software; you can redistribute it and/or modify it
216.1 --- a/src/share/vm/c1/c1_IR.hpp Thu Jan 16 14:25:51 2014 +0100 216.2 +++ b/src/share/vm/c1/c1_IR.hpp Wed Jan 22 17:42:23 2014 -0800 216.3 @@ -1,5 +1,5 @@ 216.4 /* 216.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 216.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 216.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 216.8 * 216.9 * This code is free software; you can redistribute it and/or modify it
217.1 --- a/src/share/vm/c1/c1_Instruction.cpp Thu Jan 16 14:25:51 2014 +0100 217.2 +++ b/src/share/vm/c1/c1_Instruction.cpp Wed Jan 22 17:42:23 2014 -0800 217.3 @@ -1,5 +1,5 @@ 217.4 /* 217.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 217.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 217.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 217.8 * 217.9 * This code is free software; you can redistribute it and/or modify it
218.1 --- a/src/share/vm/c1/c1_InstructionPrinter.hpp Thu Jan 16 14:25:51 2014 +0100 218.2 +++ b/src/share/vm/c1/c1_InstructionPrinter.hpp Wed Jan 22 17:42:23 2014 -0800 218.3 @@ -1,5 +1,5 @@ 218.4 /* 218.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 218.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 218.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 218.8 * 218.9 * This code is free software; you can redistribute it and/or modify it
219.1 --- a/src/share/vm/c1/c1_LIRAssembler.cpp Thu Jan 16 14:25:51 2014 +0100 219.2 +++ b/src/share/vm/c1/c1_LIRAssembler.cpp Wed Jan 22 17:42:23 2014 -0800 219.3 @@ -1,5 +1,5 @@ 219.4 /* 219.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 219.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 219.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 219.8 * 219.9 * This code is free software; you can redistribute it and/or modify it 219.10 @@ -858,9 +858,7 @@ 219.11 219.12 void LIR_Assembler::verify_oop_map(CodeEmitInfo* info) { 219.13 #ifndef PRODUCT 219.14 - if (VerifyOopMaps || VerifyOops) { 219.15 - bool v = VerifyOops; 219.16 - VerifyOops = true; 219.17 + if (VerifyOops) { 219.18 OopMapStream s(info->oop_map()); 219.19 while (!s.is_done()) { 219.20 OopMapValue v = s.current(); 219.21 @@ -883,7 +881,6 @@ 219.22 219.23 s.next(); 219.24 } 219.25 - VerifyOops = v; 219.26 } 219.27 #endif 219.28 }
220.1 --- a/src/share/vm/c1/c1_LIRGenerator.cpp Thu Jan 16 14:25:51 2014 +0100 220.2 +++ b/src/share/vm/c1/c1_LIRGenerator.cpp Wed Jan 22 17:42:23 2014 -0800 220.3 @@ -3288,7 +3288,10 @@ 220.4 ciSignature* signature_at_call = NULL; 220.5 x->method()->get_method_at_bci(bci, ignored_will_link, &signature_at_call); 220.6 220.7 - ciKlass* exact = profile_type(md, 0, md->byte_offset_of_slot(data, ret->type_offset()), 220.8 + // The offset within the MDO of the entry to update may be too large 220.9 + // to be used in load/store instructions on some platforms. So have 220.10 + // profile_type() compute the address of the profile in a register. 220.11 + ciKlass* exact = profile_type(md, md->byte_offset_of_slot(data, ret->type_offset()), 0, 220.12 ret->type(), x->ret(), mdp, 220.13 !x->needs_null_check(), 220.14 signature_at_call->return_type()->as_klass(),
221.1 --- a/src/share/vm/c1/c1_LinearScan.cpp Thu Jan 16 14:25:51 2014 +0100 221.2 +++ b/src/share/vm/c1/c1_LinearScan.cpp Wed Jan 22 17:42:23 2014 -0800 221.3 @@ -1,5 +1,5 @@ 221.4 /* 221.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 221.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 221.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 221.8 * 221.9 * This code is free software; you can redistribute it and/or modify it
222.1 --- a/src/share/vm/c1/c1_Optimizer.cpp Thu Jan 16 14:25:51 2014 +0100 222.2 +++ b/src/share/vm/c1/c1_Optimizer.cpp Wed Jan 22 17:42:23 2014 -0800 222.3 @@ -1,5 +1,5 @@ 222.4 /* 222.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 222.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 222.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 222.8 * 222.9 * This code is free software; you can redistribute it and/or modify it
223.1 --- a/src/share/vm/c1/c1_RangeCheckElimination.cpp Thu Jan 16 14:25:51 2014 +0100 223.2 +++ b/src/share/vm/c1/c1_RangeCheckElimination.cpp Wed Jan 22 17:42:23 2014 -0800 223.3 @@ -1,5 +1,5 @@ 223.4 /* 223.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 223.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 223.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 223.8 * 223.9 * This code is free software; you can redistribute it and/or modify it
224.1 --- a/src/share/vm/c1/c1_RangeCheckElimination.hpp Thu Jan 16 14:25:51 2014 +0100 224.2 +++ b/src/share/vm/c1/c1_RangeCheckElimination.hpp Wed Jan 22 17:42:23 2014 -0800 224.3 @@ -1,5 +1,5 @@ 224.4 /* 224.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 224.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 224.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 224.8 * 224.9 * This code is free software; you can redistribute it and/or modify it
225.1 --- a/src/share/vm/c1/c1_Runtime1.hpp Thu Jan 16 14:25:51 2014 +0100 225.2 +++ b/src/share/vm/c1/c1_Runtime1.hpp Wed Jan 22 17:42:23 2014 -0800 225.3 @@ -1,5 +1,5 @@ 225.4 /* 225.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 225.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 225.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 225.8 * 225.9 * This code is free software; you can redistribute it and/or modify it
226.1 --- a/src/share/vm/c1/c1_ValueMap.cpp Thu Jan 16 14:25:51 2014 +0100 226.2 +++ b/src/share/vm/c1/c1_ValueMap.cpp Wed Jan 22 17:42:23 2014 -0800 226.3 @@ -1,5 +1,5 @@ 226.4 /* 226.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 226.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 226.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 226.8 * 226.9 * This code is free software; you can redistribute it and/or modify it
227.1 --- a/src/share/vm/c1/c1_ValueMap.hpp Thu Jan 16 14:25:51 2014 +0100 227.2 +++ b/src/share/vm/c1/c1_ValueMap.hpp Wed Jan 22 17:42:23 2014 -0800 227.3 @@ -1,5 +1,5 @@ 227.4 /* 227.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 227.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 227.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 227.8 * 227.9 * This code is free software; you can redistribute it and/or modify it
228.1 --- a/src/share/vm/c1/c1_globals.cpp Thu Jan 16 14:25:51 2014 +0100 228.2 +++ b/src/share/vm/c1/c1_globals.cpp Wed Jan 22 17:42:23 2014 -0800 228.3 @@ -1,5 +1,5 @@ 228.4 /* 228.5 - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 228.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 228.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 228.8 * 228.9 * This code is free software; you can redistribute it and/or modify it
229.1 --- a/src/share/vm/c1/c1_globals.hpp Thu Jan 16 14:25:51 2014 +0100 229.2 +++ b/src/share/vm/c1/c1_globals.hpp Wed Jan 22 17:42:23 2014 -0800 229.3 @@ -1,5 +1,5 @@ 229.4 /* 229.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 229.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 229.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 229.8 * 229.9 * This code is free software; you can redistribute it and/or modify it 229.10 @@ -272,9 +272,6 @@ 229.11 develop(bool, PrintNotLoaded, false, \ 229.12 "Prints where classes are not loaded during code generation") \ 229.13 \ 229.14 - notproduct(bool, VerifyOopMaps, false, \ 229.15 - "Adds oopmap verification code to the generated code") \ 229.16 - \ 229.17 develop(bool, PrintLIR, false, \ 229.18 "print low-level IR") \ 229.19 \
230.1 --- a/src/share/vm/ci/bcEscapeAnalyzer.cpp Thu Jan 16 14:25:51 2014 +0100 230.2 +++ b/src/share/vm/ci/bcEscapeAnalyzer.cpp Wed Jan 22 17:42:23 2014 -0800 230.3 @@ -1,5 +1,5 @@ 230.4 /* 230.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 230.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 230.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 230.8 * 230.9 * This code is free software; you can redistribute it and/or modify it
231.1 --- a/src/share/vm/ci/bcEscapeAnalyzer.hpp Thu Jan 16 14:25:51 2014 +0100 231.2 +++ b/src/share/vm/ci/bcEscapeAnalyzer.hpp Wed Jan 22 17:42:23 2014 -0800 231.3 @@ -1,5 +1,5 @@ 231.4 /* 231.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 231.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 231.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 231.8 * 231.9 * This code is free software; you can redistribute it and/or modify it
232.1 --- a/src/share/vm/ci/ciArray.cpp Thu Jan 16 14:25:51 2014 +0100 232.2 +++ b/src/share/vm/ci/ciArray.cpp Wed Jan 22 17:42:23 2014 -0800 232.3 @@ -1,5 +1,5 @@ 232.4 /* 232.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 232.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 232.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 232.8 * 232.9 * This code is free software; you can redistribute it and/or modify it
233.1 --- a/src/share/vm/ci/ciArray.hpp Thu Jan 16 14:25:51 2014 +0100 233.2 +++ b/src/share/vm/ci/ciArray.hpp Wed Jan 22 17:42:23 2014 -0800 233.3 @@ -1,5 +1,5 @@ 233.4 /* 233.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 233.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 233.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 233.8 * 233.9 * This code is free software; you can redistribute it and/or modify it
234.1 --- a/src/share/vm/ci/ciClassList.hpp Thu Jan 16 14:25:51 2014 +0100 234.2 +++ b/src/share/vm/ci/ciClassList.hpp Wed Jan 22 17:42:23 2014 -0800 234.3 @@ -1,5 +1,5 @@ 234.4 /* 234.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 234.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 234.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 234.8 * 234.9 * This code is free software; you can redistribute it and/or modify it
235.1 --- a/src/share/vm/ci/ciConstant.hpp Thu Jan 16 14:25:51 2014 +0100 235.2 +++ b/src/share/vm/ci/ciConstant.hpp Wed Jan 22 17:42:23 2014 -0800 235.3 @@ -1,5 +1,5 @@ 235.4 /* 235.5 - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 235.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 235.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 235.8 * 235.9 * This code is free software; you can redistribute it and/or modify it
236.1 --- a/src/share/vm/ci/ciEnv.cpp Thu Jan 16 14:25:51 2014 +0100 236.2 +++ b/src/share/vm/ci/ciEnv.cpp Wed Jan 22 17:42:23 2014 -0800 236.3 @@ -1147,6 +1147,33 @@ 236.4 236.5 // Don't change thread state and acquire any locks. 236.6 // Safe to call from VM error reporter. 236.7 + 236.8 +void ciEnv::dump_compile_data(outputStream* out) { 236.9 + CompileTask* task = this->task(); 236.10 + Method* method = task->method(); 236.11 + int entry_bci = task->osr_bci(); 236.12 + int comp_level = task->comp_level(); 236.13 + out->print("compile %s %s %s %d %d", 236.14 + method->klass_name()->as_quoted_ascii(), 236.15 + method->name()->as_quoted_ascii(), 236.16 + method->signature()->as_quoted_ascii(), 236.17 + entry_bci, comp_level); 236.18 + if (compiler_data() != NULL) { 236.19 + if (is_c2_compile(comp_level)) { // C2 or Shark 236.20 +#ifdef COMPILER2 236.21 + // Dump C2 inlining data. 236.22 + ((Compile*)compiler_data())->dump_inline_data(out); 236.23 +#endif 236.24 + } else if (is_c1_compile(comp_level)) { // C1 236.25 +#ifdef COMPILER1 236.26 + // Dump C1 inlining data. 236.27 + ((Compilation*)compiler_data())->dump_inline_data(out); 236.28 +#endif 236.29 + } 236.30 + } 236.31 + out->cr(); 236.32 +} 236.33 + 236.34 void ciEnv::dump_replay_data_unsafe(outputStream* out) { 236.35 ResourceMark rm; 236.36 #if INCLUDE_JVMTI 236.37 @@ -1160,16 +1187,7 @@ 236.38 for (int i = 0; i < objects->length(); i++) { 236.39 objects->at(i)->dump_replay_data(out); 236.40 } 236.41 - CompileTask* task = this->task(); 236.42 - Method* method = task->method(); 236.43 - int entry_bci = task->osr_bci(); 236.44 - int comp_level = task->comp_level(); 236.45 - // Klass holder = method->method_holder(); 236.46 - out->print_cr("compile %s %s %s %d %d", 236.47 - method->klass_name()->as_quoted_ascii(), 236.48 - method->name()->as_quoted_ascii(), 236.49 - method->signature()->as_quoted_ascii(), 236.50 - entry_bci, comp_level); 236.51 + dump_compile_data(out); 236.52 out->flush(); 236.53 } 236.54 236.55 @@ -1179,3 +1197,45 @@ 236.56 dump_replay_data_unsafe(out); 236.57 ) 236.58 } 236.59 + 236.60 +void ciEnv::dump_replay_data(int compile_id) { 236.61 + static char buffer[O_BUFLEN]; 236.62 + int ret = jio_snprintf(buffer, O_BUFLEN, "replay_pid%p_compid%d.log", os::current_process_id(), compile_id); 236.63 + if (ret > 0) { 236.64 + int fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666); 236.65 + if (fd != -1) { 236.66 + FILE* replay_data_file = os::open(fd, "w"); 236.67 + if (replay_data_file != NULL) { 236.68 + fileStream replay_data_stream(replay_data_file, /*need_close=*/true); 236.69 + dump_replay_data(&replay_data_stream); 236.70 + tty->print("# Compiler replay data is saved as: "); 236.71 + tty->print_cr(buffer); 236.72 + } else { 236.73 + tty->print_cr("# Can't open file to dump replay data."); 236.74 + } 236.75 + } 236.76 + } 236.77 +} 236.78 + 236.79 +void ciEnv::dump_inline_data(int compile_id) { 236.80 + static char buffer[O_BUFLEN]; 236.81 + int ret = jio_snprintf(buffer, O_BUFLEN, "inline_pid%p_compid%d.log", os::current_process_id(), compile_id); 236.82 + if (ret > 0) { 236.83 + int fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666); 236.84 + if (fd != -1) { 236.85 + FILE* inline_data_file = os::open(fd, "w"); 236.86 + if (inline_data_file != NULL) { 236.87 + fileStream replay_data_stream(inline_data_file, /*need_close=*/true); 236.88 + GUARDED_VM_ENTRY( 236.89 + MutexLocker ml(Compile_lock); 236.90 + dump_compile_data(&replay_data_stream); 236.91 + ) 236.92 + replay_data_stream.flush(); 236.93 + tty->print("# Compiler inline data is saved as: "); 236.94 + tty->print_cr(buffer); 236.95 + } else { 236.96 + tty->print_cr("# Can't open file to dump inline data."); 236.97 + } 236.98 + } 236.99 + } 236.100 +}
237.1 --- a/src/share/vm/ci/ciEnv.hpp Thu Jan 16 14:25:51 2014 +0100 237.2 +++ b/src/share/vm/ci/ciEnv.hpp Wed Jan 22 17:42:23 2014 -0800 237.3 @@ -1,5 +1,5 @@ 237.4 /* 237.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 237.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 237.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 237.8 * 237.9 * This code is free software; you can redistribute it and/or modify it 237.10 @@ -451,8 +451,11 @@ 237.11 void metadata_do(void f(Metadata*)) { _factory->metadata_do(f); } 237.12 237.13 // Dump the compilation replay data for the ciEnv to the stream. 237.14 + void dump_replay_data(int compile_id); 237.15 + void dump_inline_data(int compile_id); 237.16 void dump_replay_data(outputStream* out); 237.17 void dump_replay_data_unsafe(outputStream* out); 237.18 + void dump_compile_data(outputStream* out); 237.19 }; 237.20 237.21 #endif // SHARE_VM_CI_CIENV_HPP
238.1 --- a/src/share/vm/ci/ciFlags.hpp Thu Jan 16 14:25:51 2014 +0100 238.2 +++ b/src/share/vm/ci/ciFlags.hpp Wed Jan 22 17:42:23 2014 -0800 238.3 @@ -1,5 +1,5 @@ 238.4 /* 238.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 238.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 238.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 238.8 * 238.9 * This code is free software; you can redistribute it and/or modify it
239.1 --- a/src/share/vm/ci/ciInstance.cpp Thu Jan 16 14:25:51 2014 +0100 239.2 +++ b/src/share/vm/ci/ciInstance.cpp Wed Jan 22 17:42:23 2014 -0800 239.3 @@ -1,5 +1,5 @@ 239.4 /* 239.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 239.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 239.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 239.8 * 239.9 * This code is free software; you can redistribute it and/or modify it
240.1 --- a/src/share/vm/ci/ciInstanceKlass.hpp Thu Jan 16 14:25:51 2014 +0100 240.2 +++ b/src/share/vm/ci/ciInstanceKlass.hpp Wed Jan 22 17:42:23 2014 -0800 240.3 @@ -1,5 +1,5 @@ 240.4 /* 240.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 240.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 240.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 240.8 * 240.9 * This code is free software; you can redistribute it and/or modify it
241.1 --- a/src/share/vm/ci/ciKlass.cpp Thu Jan 16 14:25:51 2014 +0100 241.2 +++ b/src/share/vm/ci/ciKlass.cpp Wed Jan 22 17:42:23 2014 -0800 241.3 @@ -1,5 +1,5 @@ 241.4 /* 241.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 241.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 241.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 241.8 * 241.9 * This code is free software; you can redistribute it and/or modify it
242.1 --- a/src/share/vm/ci/ciKlass.hpp Thu Jan 16 14:25:51 2014 +0100 242.2 +++ b/src/share/vm/ci/ciKlass.hpp Wed Jan 22 17:42:23 2014 -0800 242.3 @@ -1,5 +1,5 @@ 242.4 /* 242.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 242.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 242.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 242.8 * 242.9 * This code is free software; you can redistribute it and/or modify it
243.1 --- a/src/share/vm/ci/ciMethod.cpp Thu Jan 16 14:25:51 2014 +0100 243.2 +++ b/src/share/vm/ci/ciMethod.cpp Wed Jan 22 17:42:23 2014 -0800 243.3 @@ -1357,15 +1357,21 @@ 243.4 243.5 #undef FETCH_FLAG_FROM_VM 243.6 243.7 +void ciMethod::dump_name_as_ascii(outputStream* st) { 243.8 + Method* method = get_Method(); 243.9 + st->print("%s %s %s", 243.10 + method->klass_name()->as_quoted_ascii(), 243.11 + method->name()->as_quoted_ascii(), 243.12 + method->signature()->as_quoted_ascii()); 243.13 +} 243.14 + 243.15 void ciMethod::dump_replay_data(outputStream* st) { 243.16 ResourceMark rm; 243.17 Method* method = get_Method(); 243.18 MethodCounters* mcs = method->method_counters(); 243.19 - Klass* holder = method->method_holder(); 243.20 - st->print_cr("ciMethod %s %s %s %d %d %d %d %d", 243.21 - holder->name()->as_quoted_ascii(), 243.22 - method->name()->as_quoted_ascii(), 243.23 - method->signature()->as_quoted_ascii(), 243.24 + st->print("ciMethod "); 243.25 + dump_name_as_ascii(st); 243.26 + st->print_cr(" %d %d %d %d %d", 243.27 mcs == NULL ? 0 : mcs->invocation_counter()->raw_counter(), 243.28 mcs == NULL ? 0 : mcs->backedge_counter()->raw_counter(), 243.29 interpreter_invocation_count(),
244.1 --- a/src/share/vm/ci/ciMethod.hpp Thu Jan 16 14:25:51 2014 +0100 244.2 +++ b/src/share/vm/ci/ciMethod.hpp Wed Jan 22 17:42:23 2014 -0800 244.3 @@ -310,10 +310,13 @@ 244.4 bool is_accessor () const; 244.5 bool is_initializer () const; 244.6 bool can_be_statically_bound() const { return _can_be_statically_bound; } 244.7 - void dump_replay_data(outputStream* st); 244.8 bool is_boxing_method() const; 244.9 bool is_unboxing_method() const; 244.10 244.11 + // Replay data methods 244.12 + void dump_name_as_ascii(outputStream* st); 244.13 + void dump_replay_data(outputStream* st); 244.14 + 244.15 // Print the bytecodes of this method. 244.16 void print_codes_on(outputStream* st); 244.17 void print_codes() {
245.1 --- a/src/share/vm/ci/ciMethodData.cpp Thu Jan 16 14:25:51 2014 +0100 245.2 +++ b/src/share/vm/ci/ciMethodData.cpp Wed Jan 22 17:42:23 2014 -0800 245.3 @@ -1,5 +1,5 @@ 245.4 /* 245.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 245.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 245.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 245.8 * 245.9 * This code is free software; you can redistribute it and/or modify it
246.1 --- a/src/share/vm/ci/ciMethodData.hpp Thu Jan 16 14:25:51 2014 +0100 246.2 +++ b/src/share/vm/ci/ciMethodData.hpp Wed Jan 22 17:42:23 2014 -0800 246.3 @@ -1,5 +1,5 @@ 246.4 /* 246.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 246.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 246.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 246.8 * 246.9 * This code is free software; you can redistribute it and/or modify it
247.1 --- a/src/share/vm/ci/ciObjArrayKlass.cpp Thu Jan 16 14:25:51 2014 +0100 247.2 +++ b/src/share/vm/ci/ciObjArrayKlass.cpp Wed Jan 22 17:42:23 2014 -0800 247.3 @@ -1,5 +1,5 @@ 247.4 /* 247.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 247.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 247.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 247.8 * 247.9 * This code is free software; you can redistribute it and/or modify it
248.1 --- a/src/share/vm/ci/ciObjArrayKlass.hpp Thu Jan 16 14:25:51 2014 +0100 248.2 +++ b/src/share/vm/ci/ciObjArrayKlass.hpp Wed Jan 22 17:42:23 2014 -0800 248.3 @@ -1,5 +1,5 @@ 248.4 /* 248.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 248.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 248.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 248.8 * 248.9 * This code is free software; you can redistribute it and/or modify it
249.1 --- a/src/share/vm/ci/ciObjectFactory.cpp Thu Jan 16 14:25:51 2014 +0100 249.2 +++ b/src/share/vm/ci/ciObjectFactory.cpp Wed Jan 22 17:42:23 2014 -0800 249.3 @@ -1,5 +1,5 @@ 249.4 /* 249.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 249.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 249.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 249.8 * 249.9 * This code is free software; you can redistribute it and/or modify it
250.1 --- a/src/share/vm/ci/ciObjectFactory.hpp Thu Jan 16 14:25:51 2014 +0100 250.2 +++ b/src/share/vm/ci/ciObjectFactory.hpp Wed Jan 22 17:42:23 2014 -0800 250.3 @@ -1,5 +1,5 @@ 250.4 /* 250.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 250.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 250.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 250.8 * 250.9 * This code is free software; you can redistribute it and/or modify it
251.1 --- a/src/share/vm/ci/ciReplay.cpp Thu Jan 16 14:25:51 2014 +0100 251.2 +++ b/src/share/vm/ci/ciReplay.cpp Wed Jan 22 17:42:23 2014 -0800 251.3 @@ -24,6 +24,8 @@ 251.4 #include "precompiled.hpp" 251.5 #include "ci/ciMethodData.hpp" 251.6 #include "ci/ciReplay.hpp" 251.7 +#include "ci/ciSymbol.hpp" 251.8 +#include "ci/ciKlass.hpp" 251.9 #include "ci/ciUtilities.hpp" 251.10 #include "compiler/compileBroker.hpp" 251.11 #include "memory/allocation.inline.hpp" 251.12 @@ -37,74 +39,107 @@ 251.13 // ciReplay 251.14 251.15 typedef struct _ciMethodDataRecord { 251.16 - const char* klass; 251.17 - const char* method; 251.18 - const char* signature; 251.19 - int state; 251.20 - int current_mileage; 251.21 - intptr_t* data; 251.22 - int data_length; 251.23 - char* orig_data; 251.24 - int orig_data_length; 251.25 - int oops_length; 251.26 - jobject* oops_handles; 251.27 - int* oops_offsets; 251.28 + const char* _klass_name; 251.29 + const char* _method_name; 251.30 + const char* _signature; 251.31 + 251.32 + int _state; 251.33 + int _current_mileage; 251.34 + 251.35 + intptr_t* _data; 251.36 + char* _orig_data; 251.37 + jobject* _oops_handles; 251.38 + int* _oops_offsets; 251.39 + int _data_length; 251.40 + int _orig_data_length; 251.41 + int _oops_length; 251.42 } ciMethodDataRecord; 251.43 251.44 typedef struct _ciMethodRecord { 251.45 - const char* klass; 251.46 - const char* method; 251.47 - const char* signature; 251.48 - int instructions_size; 251.49 - int interpreter_invocation_count; 251.50 - int interpreter_throwout_count; 251.51 - int invocation_counter; 251.52 - int backedge_counter; 251.53 + const char* _klass_name; 251.54 + const char* _method_name; 251.55 + const char* _signature; 251.56 + 251.57 + int _instructions_size; 251.58 + int _interpreter_invocation_count; 251.59 + int _interpreter_throwout_count; 251.60 + int _invocation_counter; 251.61 + int _backedge_counter; 251.62 } ciMethodRecord; 251.63 251.64 -class CompileReplay; 251.65 +typedef struct _ciInlineRecord { 251.66 + const char* _klass_name; 251.67 + const char* _method_name; 251.68 + const char* _signature; 251.69 + 251.70 + int _inline_depth; 251.71 + int _inline_bci; 251.72 +} ciInlineRecord; 251.73 + 251.74 +class CompileReplay; 251.75 static CompileReplay* replay_state; 251.76 251.77 class CompileReplay : public StackObj { 251.78 private: 251.79 - FILE* stream; 251.80 - Thread* thread; 251.81 - Handle protection_domain; 251.82 - Handle loader; 251.83 + FILE* _stream; 251.84 + Thread* _thread; 251.85 + Handle _protection_domain; 251.86 + Handle _loader; 251.87 251.88 - GrowableArray<ciMethodRecord*> ci_method_records; 251.89 - GrowableArray<ciMethodDataRecord*> ci_method_data_records; 251.90 + GrowableArray<ciMethodRecord*> _ci_method_records; 251.91 + GrowableArray<ciMethodDataRecord*> _ci_method_data_records; 251.92 + 251.93 + // Use pointer because we may need to return inline records 251.94 + // without destroying them. 251.95 + GrowableArray<ciInlineRecord*>* _ci_inline_records; 251.96 251.97 const char* _error_message; 251.98 251.99 - char* bufptr; 251.100 - char* buffer; 251.101 - int buffer_length; 251.102 - int buffer_end; 251.103 - int line_no; 251.104 + char* _bufptr; 251.105 + char* _buffer; 251.106 + int _buffer_length; 251.107 + int _buffer_pos; 251.108 + 251.109 + // "compile" data 251.110 + ciKlass* _iklass; 251.111 + Method* _imethod; 251.112 + int _entry_bci; 251.113 + int _comp_level; 251.114 251.115 public: 251.116 CompileReplay(const char* filename, TRAPS) { 251.117 - thread = THREAD; 251.118 - loader = Handle(thread, SystemDictionary::java_system_loader()); 251.119 - stream = fopen(filename, "rt"); 251.120 - if (stream == NULL) { 251.121 + _thread = THREAD; 251.122 + _loader = Handle(_thread, SystemDictionary::java_system_loader()); 251.123 + _protection_domain = Handle(); 251.124 + 251.125 + _stream = fopen(filename, "rt"); 251.126 + if (_stream == NULL) { 251.127 fprintf(stderr, "ERROR: Can't open replay file %s\n", filename); 251.128 } 251.129 - buffer_length = 32; 251.130 - buffer = NEW_RESOURCE_ARRAY(char, buffer_length); 251.131 + 251.132 + _ci_inline_records = NULL; 251.133 _error_message = NULL; 251.134 251.135 + _buffer_length = 32; 251.136 + _buffer = NEW_RESOURCE_ARRAY(char, _buffer_length); 251.137 + _bufptr = _buffer; 251.138 + _buffer_pos = 0; 251.139 + 251.140 + _imethod = NULL; 251.141 + _iklass = NULL; 251.142 + _entry_bci = 0; 251.143 + _comp_level = 0; 251.144 + 251.145 test(); 251.146 } 251.147 251.148 ~CompileReplay() { 251.149 - if (stream != NULL) fclose(stream); 251.150 + if (_stream != NULL) fclose(_stream); 251.151 } 251.152 251.153 void test() { 251.154 - strcpy(buffer, "1 2 foo 4 bar 0x9 \"this is it\""); 251.155 - bufptr = buffer; 251.156 + strcpy(_buffer, "1 2 foo 4 bar 0x9 \"this is it\""); 251.157 + _bufptr = _buffer; 251.158 assert(parse_int("test") == 1, "what"); 251.159 assert(parse_int("test") == 2, "what"); 251.160 assert(strcmp(parse_string(), "foo") == 0, "what"); 251.161 @@ -115,18 +150,18 @@ 251.162 } 251.163 251.164 bool had_error() { 251.165 - return _error_message != NULL || thread->has_pending_exception(); 251.166 + return _error_message != NULL || _thread->has_pending_exception(); 251.167 } 251.168 251.169 bool can_replay() { 251.170 - return !(stream == NULL || had_error()); 251.171 + return !(_stream == NULL || had_error()); 251.172 } 251.173 251.174 void report_error(const char* msg) { 251.175 _error_message = msg; 251.176 - // Restore the buffer contents for error reporting 251.177 - for (int i = 0; i < buffer_end; i++) { 251.178 - if (buffer[i] == '\0') buffer[i] = ' '; 251.179 + // Restore the _buffer contents for error reporting 251.180 + for (int i = 0; i < _buffer_pos; i++) { 251.181 + if (_buffer[i] == '\0') _buffer[i] = ' '; 251.182 } 251.183 } 251.184 251.185 @@ -137,10 +172,10 @@ 251.186 251.187 int v = 0; 251.188 int read; 251.189 - if (sscanf(bufptr, "%i%n", &v, &read) != 1) { 251.190 + if (sscanf(_bufptr, "%i%n", &v, &read) != 1) { 251.191 report_error(label); 251.192 } else { 251.193 - bufptr += read; 251.194 + _bufptr += read; 251.195 } 251.196 return v; 251.197 } 251.198 @@ -152,31 +187,31 @@ 251.199 251.200 intptr_t v = 0; 251.201 int read; 251.202 - if (sscanf(bufptr, INTPTR_FORMAT "%n", &v, &read) != 1) { 251.203 + if (sscanf(_bufptr, INTPTR_FORMAT "%n", &v, &read) != 1) { 251.204 report_error(label); 251.205 } else { 251.206 - bufptr += read; 251.207 + _bufptr += read; 251.208 } 251.209 return v; 251.210 } 251.211 251.212 void skip_ws() { 251.213 // Skip any leading whitespace 251.214 - while (*bufptr == ' ' || *bufptr == '\t') { 251.215 - bufptr++; 251.216 + while (*_bufptr == ' ' || *_bufptr == '\t') { 251.217 + _bufptr++; 251.218 } 251.219 } 251.220 251.221 251.222 char* scan_and_terminate(char delim) { 251.223 - char* str = bufptr; 251.224 - while (*bufptr != delim && *bufptr != '\0') { 251.225 - bufptr++; 251.226 + char* str = _bufptr; 251.227 + while (*_bufptr != delim && *_bufptr != '\0') { 251.228 + _bufptr++; 251.229 } 251.230 - if (*bufptr != '\0') { 251.231 - *bufptr++ = '\0'; 251.232 + if (*_bufptr != '\0') { 251.233 + *_bufptr++ = '\0'; 251.234 } 251.235 - if (bufptr == str) { 251.236 + if (_bufptr == str) { 251.237 // nothing here 251.238 return NULL; 251.239 } 251.240 @@ -195,8 +230,8 @@ 251.241 251.242 skip_ws(); 251.243 251.244 - if (*bufptr == '"') { 251.245 - bufptr++; 251.246 + if (*_bufptr == '"') { 251.247 + _bufptr++; 251.248 return scan_and_terminate('"'); 251.249 } else { 251.250 return scan_and_terminate(' '); 251.251 @@ -273,7 +308,12 @@ 251.252 const char* str = parse_escaped_string(); 251.253 Symbol* klass_name = SymbolTable::lookup(str, (int)strlen(str), CHECK_NULL); 251.254 if (klass_name != NULL) { 251.255 - Klass* k = SystemDictionary::resolve_or_fail(klass_name, loader, protection_domain, true, THREAD); 251.256 + Klass* k = NULL; 251.257 + if (_iklass != NULL) { 251.258 + k = (Klass*)_iklass->find_klass(ciSymbol::make(klass_name->as_C_string()))->constant_encoding(); 251.259 + } else { 251.260 + k = SystemDictionary::resolve_or_fail(klass_name, _loader, _protection_domain, true, THREAD); 251.261 + } 251.262 if (HAS_PENDING_EXCEPTION) { 251.263 oop throwable = PENDING_EXCEPTION; 251.264 java_lang_Throwable::print(throwable, tty); 251.265 @@ -289,7 +329,7 @@ 251.266 // Lookup a klass 251.267 Klass* resolve_klass(const char* klass, TRAPS) { 251.268 Symbol* klass_name = SymbolTable::lookup(klass, (int)strlen(klass), CHECK_NULL); 251.269 - return SystemDictionary::resolve_or_fail(klass_name, loader, protection_domain, true, CHECK_NULL); 251.270 + return SystemDictionary::resolve_or_fail(klass_name, _loader, _protection_domain, true, CHECK_NULL); 251.271 } 251.272 251.273 // Parse the standard tuple of <klass> <name> <signature> 251.274 @@ -304,40 +344,45 @@ 251.275 return m; 251.276 } 251.277 251.278 + int get_line(int c) { 251.279 + while(c != EOF) { 251.280 + if (_buffer_pos + 1 >= _buffer_length) { 251.281 + int new_length = _buffer_length * 2; 251.282 + // Next call will throw error in case of OOM. 251.283 + _buffer = REALLOC_RESOURCE_ARRAY(char, _buffer, _buffer_length, new_length); 251.284 + _buffer_length = new_length; 251.285 + } 251.286 + if (c == '\n') { 251.287 + c = getc(_stream); // get next char 251.288 + break; 251.289 + } else if (c == '\r') { 251.290 + // skip LF 251.291 + } else { 251.292 + _buffer[_buffer_pos++] = c; 251.293 + } 251.294 + c = getc(_stream); 251.295 + } 251.296 + // null terminate it, reset the pointer 251.297 + _buffer[_buffer_pos] = '\0'; // NL or EOF 251.298 + _buffer_pos = 0; 251.299 + _bufptr = _buffer; 251.300 + return c; 251.301 + } 251.302 + 251.303 // Process each line of the replay file executing each command until 251.304 // the file ends. 251.305 void process(TRAPS) { 251.306 - line_no = 1; 251.307 - int pos = 0; 251.308 - int c = getc(stream); 251.309 + int line_no = 1; 251.310 + int c = getc(_stream); 251.311 while(c != EOF) { 251.312 - if (pos + 1 >= buffer_length) { 251.313 - int newl = buffer_length * 2; 251.314 - char* newb = NEW_RESOURCE_ARRAY(char, newl); 251.315 - memcpy(newb, buffer, pos); 251.316 - buffer = newb; 251.317 - buffer_length = newl; 251.318 + c = get_line(c); 251.319 + process_command(CHECK); 251.320 + if (had_error()) { 251.321 + tty->print_cr("Error while parsing line %d: %s\n", line_no, _error_message); 251.322 + tty->print_cr("%s", _buffer); 251.323 + return; 251.324 } 251.325 - if (c == '\n') { 251.326 - // null terminate it, reset the pointer and process the line 251.327 - buffer[pos] = '\0'; 251.328 - buffer_end = pos++; 251.329 - bufptr = buffer; 251.330 - process_command(CHECK); 251.331 - if (had_error()) { 251.332 - tty->print_cr("Error while parsing line %d: %s\n", line_no, _error_message); 251.333 - tty->print_cr("%s", buffer); 251.334 - return; 251.335 - } 251.336 - pos = 0; 251.337 - buffer_end = 0; 251.338 - line_no++; 251.339 - } else if (c == '\r') { 251.340 - // skip LF 251.341 - } else { 251.342 - buffer[pos++] = c; 251.343 - } 251.344 - c = getc(stream); 251.345 + line_no++; 251.346 } 251.347 } 251.348 251.349 @@ -396,7 +441,37 @@ 251.350 return true; 251.351 } 251.352 251.353 - // compile <klass> <name> <signature> <entry_bci> <comp_level> 251.354 + // compile <klass> <name> <signature> <entry_bci> <comp_level> inline <count> <depth> <bci> <klass> <name> <signature> ... 251.355 + void* process_inline(ciMethod* imethod, Method* m, int entry_bci, int comp_level, TRAPS) { 251.356 + _imethod = m; 251.357 + _iklass = imethod->holder(); 251.358 + _entry_bci = entry_bci; 251.359 + _comp_level = comp_level; 251.360 + int line_no = 1; 251.361 + int c = getc(_stream); 251.362 + while(c != EOF) { 251.363 + c = get_line(c); 251.364 + // Expecting only lines with "compile" command in inline replay file. 251.365 + char* cmd = parse_string(); 251.366 + if (cmd == NULL || strcmp("compile", cmd) != 0) { 251.367 + return NULL; 251.368 + } 251.369 + process_compile(CHECK_NULL); 251.370 + if (had_error()) { 251.371 + tty->print_cr("Error while parsing line %d: %s\n", line_no, _error_message); 251.372 + tty->print_cr("%s", _buffer); 251.373 + return NULL; 251.374 + } 251.375 + if (_ci_inline_records != NULL && _ci_inline_records->length() > 0) { 251.376 + // Found inlining record for the requested method. 251.377 + return _ci_inline_records; 251.378 + } 251.379 + line_no++; 251.380 + } 251.381 + return NULL; 251.382 + } 251.383 + 251.384 + // compile <klass> <name> <signature> <entry_bci> <comp_level> inline <count> <depth> <bci> <klass> <name> <signature> ... 251.385 void process_compile(TRAPS) { 251.386 Method* method = parse_method(CHECK); 251.387 if (had_error()) return; 251.388 @@ -410,6 +485,43 @@ 251.389 if (!is_valid_comp_level(comp_level)) { 251.390 return; 251.391 } 251.392 + if (_imethod != NULL) { 251.393 + // Replay Inlining 251.394 + if (entry_bci != _entry_bci || comp_level != _comp_level) { 251.395 + return; 251.396 + } 251.397 + const char* iklass_name = _imethod->method_holder()->name()->as_utf8(); 251.398 + const char* imethod_name = _imethod->name()->as_utf8(); 251.399 + const char* isignature = _imethod->signature()->as_utf8(); 251.400 + const char* klass_name = method->method_holder()->name()->as_utf8(); 251.401 + const char* method_name = method->name()->as_utf8(); 251.402 + const char* signature = method->signature()->as_utf8(); 251.403 + if (strcmp(iklass_name, klass_name) != 0 || 251.404 + strcmp(imethod_name, method_name) != 0 || 251.405 + strcmp(isignature, signature) != 0) { 251.406 + return; 251.407 + } 251.408 + } 251.409 + int inline_count = 0; 251.410 + if (parse_tag_and_count("inline", inline_count)) { 251.411 + // Record inlining data 251.412 + _ci_inline_records = new GrowableArray<ciInlineRecord*>(); 251.413 + for (int i = 0; i < inline_count; i++) { 251.414 + int depth = parse_int("inline_depth"); 251.415 + int bci = parse_int("inline_bci"); 251.416 + if (had_error()) { 251.417 + break; 251.418 + } 251.419 + Method* inl_method = parse_method(CHECK); 251.420 + if (had_error()) { 251.421 + break; 251.422 + } 251.423 + new_ciInlineRecord(inl_method, bci, depth); 251.424 + } 251.425 + } 251.426 + if (_imethod != NULL) { 251.427 + return; // Replay Inlining 251.428 + } 251.429 Klass* k = method->method_holder(); 251.430 ((InstanceKlass*)k)->initialize(THREAD); 251.431 if (HAS_PENDING_EXCEPTION) { 251.432 @@ -442,11 +554,11 @@ 251.433 Method* method = parse_method(CHECK); 251.434 if (had_error()) return; 251.435 ciMethodRecord* rec = new_ciMethod(method); 251.436 - rec->invocation_counter = parse_int("invocation_counter"); 251.437 - rec->backedge_counter = parse_int("backedge_counter"); 251.438 - rec->interpreter_invocation_count = parse_int("interpreter_invocation_count"); 251.439 - rec->interpreter_throwout_count = parse_int("interpreter_throwout_count"); 251.440 - rec->instructions_size = parse_int("instructions_size"); 251.441 + rec->_invocation_counter = parse_int("invocation_counter"); 251.442 + rec->_backedge_counter = parse_int("backedge_counter"); 251.443 + rec->_interpreter_invocation_count = parse_int("interpreter_invocation_count"); 251.444 + rec->_interpreter_throwout_count = parse_int("interpreter_throwout_count"); 251.445 + rec->_instructions_size = parse_int("instructions_size"); 251.446 } 251.447 251.448 // ciMethodData <klass> <name> <signature> <state> <current mileage> orig <length> # # ... data <length> # # ... oops <length> 251.449 @@ -471,32 +583,32 @@ 251.450 251.451 // collect and record all the needed information for later 251.452 ciMethodDataRecord* rec = new_ciMethodData(method); 251.453 - rec->state = parse_int("state"); 251.454 - rec->current_mileage = parse_int("current_mileage"); 251.455 + rec->_state = parse_int("state"); 251.456 + rec->_current_mileage = parse_int("current_mileage"); 251.457 251.458 - rec->orig_data = parse_data("orig", rec->orig_data_length); 251.459 - if (rec->orig_data == NULL) { 251.460 + rec->_orig_data = parse_data("orig", rec->_orig_data_length); 251.461 + if (rec->_orig_data == NULL) { 251.462 return; 251.463 } 251.464 - rec->data = parse_intptr_data("data", rec->data_length); 251.465 - if (rec->data == NULL) { 251.466 + rec->_data = parse_intptr_data("data", rec->_data_length); 251.467 + if (rec->_data == NULL) { 251.468 return; 251.469 } 251.470 - if (!parse_tag_and_count("oops", rec->oops_length)) { 251.471 + if (!parse_tag_and_count("oops", rec->_oops_length)) { 251.472 return; 251.473 } 251.474 - rec->oops_handles = NEW_RESOURCE_ARRAY(jobject, rec->oops_length); 251.475 - rec->oops_offsets = NEW_RESOURCE_ARRAY(int, rec->oops_length); 251.476 - for (int i = 0; i < rec->oops_length; i++) { 251.477 + rec->_oops_handles = NEW_RESOURCE_ARRAY(jobject, rec->_oops_length); 251.478 + rec->_oops_offsets = NEW_RESOURCE_ARRAY(int, rec->_oops_length); 251.479 + for (int i = 0; i < rec->_oops_length; i++) { 251.480 int offset = parse_int("offset"); 251.481 if (had_error()) { 251.482 return; 251.483 } 251.484 Klass* k = parse_klass(CHECK); 251.485 - rec->oops_offsets[i] = offset; 251.486 + rec->_oops_offsets[i] = offset; 251.487 KlassHandle *kh = NEW_C_HEAP_OBJ(KlassHandle, mtCompiler); 251.488 ::new ((void*)kh) KlassHandle(THREAD, k); 251.489 - rec->oops_handles[i] = (jobject)kh; 251.490 + rec->_oops_handles[i] = (jobject)kh; 251.491 } 251.492 } 251.493 251.494 @@ -570,6 +682,9 @@ 251.495 case JVM_CONSTANT_Utf8: 251.496 case JVM_CONSTANT_Integer: 251.497 case JVM_CONSTANT_Float: 251.498 + case JVM_CONSTANT_MethodHandle: 251.499 + case JVM_CONSTANT_MethodType: 251.500 + case JVM_CONSTANT_InvokeDynamic: 251.501 if (tag != cp->tag_at(i).value()) { 251.502 report_error("tag mismatch: wrong class files?"); 251.503 return; 251.504 @@ -729,10 +844,10 @@ 251.505 // Create and initialize a record for a ciMethod 251.506 ciMethodRecord* new_ciMethod(Method* method) { 251.507 ciMethodRecord* rec = NEW_RESOURCE_OBJ(ciMethodRecord); 251.508 - rec->klass = method->method_holder()->name()->as_utf8(); 251.509 - rec->method = method->name()->as_utf8(); 251.510 - rec->signature = method->signature()->as_utf8(); 251.511 - ci_method_records.append(rec); 251.512 + rec->_klass_name = method->method_holder()->name()->as_utf8(); 251.513 + rec->_method_name = method->name()->as_utf8(); 251.514 + rec->_signature = method->signature()->as_utf8(); 251.515 + _ci_method_records.append(rec); 251.516 return rec; 251.517 } 251.518 251.519 @@ -741,11 +856,11 @@ 251.520 const char* klass_name = method->method_holder()->name()->as_utf8(); 251.521 const char* method_name = method->name()->as_utf8(); 251.522 const char* signature = method->signature()->as_utf8(); 251.523 - for (int i = 0; i < ci_method_records.length(); i++) { 251.524 - ciMethodRecord* rec = ci_method_records.at(i); 251.525 - if (strcmp(rec->klass, klass_name) == 0 && 251.526 - strcmp(rec->method, method_name) == 0 && 251.527 - strcmp(rec->signature, signature) == 0) { 251.528 + for (int i = 0; i < _ci_method_records.length(); i++) { 251.529 + ciMethodRecord* rec = _ci_method_records.at(i); 251.530 + if (strcmp(rec->_klass_name, klass_name) == 0 && 251.531 + strcmp(rec->_method_name, method_name) == 0 && 251.532 + strcmp(rec->_signature, signature) == 0) { 251.533 return rec; 251.534 } 251.535 } 251.536 @@ -755,10 +870,10 @@ 251.537 // Create and initialize a record for a ciMethodData 251.538 ciMethodDataRecord* new_ciMethodData(Method* method) { 251.539 ciMethodDataRecord* rec = NEW_RESOURCE_OBJ(ciMethodDataRecord); 251.540 - rec->klass = method->method_holder()->name()->as_utf8(); 251.541 - rec->method = method->name()->as_utf8(); 251.542 - rec->signature = method->signature()->as_utf8(); 251.543 - ci_method_data_records.append(rec); 251.544 + rec->_klass_name = method->method_holder()->name()->as_utf8(); 251.545 + rec->_method_name = method->name()->as_utf8(); 251.546 + rec->_signature = method->signature()->as_utf8(); 251.547 + _ci_method_data_records.append(rec); 251.548 return rec; 251.549 } 251.550 251.551 @@ -767,25 +882,65 @@ 251.552 const char* klass_name = method->method_holder()->name()->as_utf8(); 251.553 const char* method_name = method->name()->as_utf8(); 251.554 const char* signature = method->signature()->as_utf8(); 251.555 - for (int i = 0; i < ci_method_data_records.length(); i++) { 251.556 - ciMethodDataRecord* rec = ci_method_data_records.at(i); 251.557 - if (strcmp(rec->klass, klass_name) == 0 && 251.558 - strcmp(rec->method, method_name) == 0 && 251.559 - strcmp(rec->signature, signature) == 0) { 251.560 + for (int i = 0; i < _ci_method_data_records.length(); i++) { 251.561 + ciMethodDataRecord* rec = _ci_method_data_records.at(i); 251.562 + if (strcmp(rec->_klass_name, klass_name) == 0 && 251.563 + strcmp(rec->_method_name, method_name) == 0 && 251.564 + strcmp(rec->_signature, signature) == 0) { 251.565 return rec; 251.566 } 251.567 } 251.568 return NULL; 251.569 } 251.570 251.571 + // Create and initialize a record for a ciInlineRecord 251.572 + ciInlineRecord* new_ciInlineRecord(Method* method, int bci, int depth) { 251.573 + ciInlineRecord* rec = NEW_RESOURCE_OBJ(ciInlineRecord); 251.574 + rec->_klass_name = method->method_holder()->name()->as_utf8(); 251.575 + rec->_method_name = method->name()->as_utf8(); 251.576 + rec->_signature = method->signature()->as_utf8(); 251.577 + rec->_inline_bci = bci; 251.578 + rec->_inline_depth = depth; 251.579 + _ci_inline_records->append(rec); 251.580 + return rec; 251.581 + } 251.582 + 251.583 + // Lookup inlining data for a ciMethod 251.584 + ciInlineRecord* find_ciInlineRecord(Method* method, int bci, int depth) { 251.585 + if (_ci_inline_records != NULL) { 251.586 + return find_ciInlineRecord(_ci_inline_records, method, bci, depth); 251.587 + } 251.588 + return NULL; 251.589 + } 251.590 + 251.591 + static ciInlineRecord* find_ciInlineRecord(GrowableArray<ciInlineRecord*>* records, 251.592 + Method* method, int bci, int depth) { 251.593 + if (records != NULL) { 251.594 + const char* klass_name = method->method_holder()->name()->as_utf8(); 251.595 + const char* method_name = method->name()->as_utf8(); 251.596 + const char* signature = method->signature()->as_utf8(); 251.597 + for (int i = 0; i < records->length(); i++) { 251.598 + ciInlineRecord* rec = records->at(i); 251.599 + if ((rec->_inline_bci == bci) && 251.600 + (rec->_inline_depth == depth) && 251.601 + (strcmp(rec->_klass_name, klass_name) == 0) && 251.602 + (strcmp(rec->_method_name, method_name) == 0) && 251.603 + (strcmp(rec->_signature, signature) == 0)) { 251.604 + return rec; 251.605 + } 251.606 + } 251.607 + } 251.608 + return NULL; 251.609 + } 251.610 + 251.611 const char* error_message() { 251.612 return _error_message; 251.613 } 251.614 251.615 void reset() { 251.616 _error_message = NULL; 251.617 - ci_method_records.clear(); 251.618 - ci_method_data_records.clear(); 251.619 + _ci_method_records.clear(); 251.620 + _ci_method_data_records.clear(); 251.621 } 251.622 251.623 // Take an ascii string contain \u#### escapes and convert it to utf8 251.624 @@ -845,6 +1000,37 @@ 251.625 vm_exit(exit_code); 251.626 } 251.627 251.628 +void* ciReplay::load_inline_data(ciMethod* method, int entry_bci, int comp_level) { 251.629 + if (FLAG_IS_DEFAULT(InlineDataFile)) { 251.630 + tty->print_cr("ERROR: no inline replay data file specified (use -XX:InlineDataFile=inline_pid12345.txt)."); 251.631 + return NULL; 251.632 + } 251.633 + 251.634 + VM_ENTRY_MARK; 251.635 + // Load and parse the replay data 251.636 + CompileReplay rp(InlineDataFile, THREAD); 251.637 + if (!rp.can_replay()) { 251.638 + tty->print_cr("ciReplay: !rp.can_replay()"); 251.639 + return NULL; 251.640 + } 251.641 + void* data = rp.process_inline(method, method->get_Method(), entry_bci, comp_level, THREAD); 251.642 + if (HAS_PENDING_EXCEPTION) { 251.643 + oop throwable = PENDING_EXCEPTION; 251.644 + CLEAR_PENDING_EXCEPTION; 251.645 + java_lang_Throwable::print(throwable, tty); 251.646 + tty->cr(); 251.647 + java_lang_Throwable::print_stack_trace(throwable, tty); 251.648 + tty->cr(); 251.649 + return NULL; 251.650 + } 251.651 + 251.652 + if (rp.had_error()) { 251.653 + tty->print_cr("ciReplay: Failed on %s", rp.error_message()); 251.654 + return NULL; 251.655 + } 251.656 + return data; 251.657 +} 251.658 + 251.659 int ciReplay::replay_impl(TRAPS) { 251.660 HandleMark hm; 251.661 ResourceMark rm; 251.662 @@ -890,7 +1076,6 @@ 251.663 return exit_code; 251.664 } 251.665 251.666 - 251.667 void ciReplay::initialize(ciMethodData* m) { 251.668 if (replay_state == NULL) { 251.669 return; 251.670 @@ -909,28 +1094,28 @@ 251.671 method->print_name(tty); 251.672 tty->cr(); 251.673 } else { 251.674 - m->_state = rec->state; 251.675 - m->_current_mileage = rec->current_mileage; 251.676 - if (rec->data_length != 0) { 251.677 - assert(m->_data_size == rec->data_length * (int)sizeof(rec->data[0]), "must agree"); 251.678 + m->_state = rec->_state; 251.679 + m->_current_mileage = rec->_current_mileage; 251.680 + if (rec->_data_length != 0) { 251.681 + assert(m->_data_size == rec->_data_length * (int)sizeof(rec->_data[0]), "must agree"); 251.682 251.683 // Write the correct ciObjects back into the profile data 251.684 ciEnv* env = ciEnv::current(); 251.685 - for (int i = 0; i < rec->oops_length; i++) { 251.686 - KlassHandle *h = (KlassHandle *)rec->oops_handles[i]; 251.687 - *(ciMetadata**)(rec->data + rec->oops_offsets[i]) = 251.688 + for (int i = 0; i < rec->_oops_length; i++) { 251.689 + KlassHandle *h = (KlassHandle *)rec->_oops_handles[i]; 251.690 + *(ciMetadata**)(rec->_data + rec->_oops_offsets[i]) = 251.691 env->get_metadata((*h)()); 251.692 } 251.693 // Copy the updated profile data into place as intptr_ts 251.694 #ifdef _LP64 251.695 - Copy::conjoint_jlongs_atomic((jlong *)rec->data, (jlong *)m->_data, rec->data_length); 251.696 + Copy::conjoint_jlongs_atomic((jlong *)rec->_data, (jlong *)m->_data, rec->_data_length); 251.697 #else 251.698 - Copy::conjoint_jints_atomic((jint *)rec->data, (jint *)m->_data, rec->data_length); 251.699 + Copy::conjoint_jints_atomic((jint *)rec->_data, (jint *)m->_data, rec->_data_length); 251.700 #endif 251.701 } 251.702 251.703 // copy in the original header 251.704 - Copy::conjoint_jbytes(rec->orig_data, (char*)&m->_orig, rec->orig_data_length); 251.705 + Copy::conjoint_jbytes(rec->_orig_data, (char*)&m->_orig, rec->_orig_data_length); 251.706 } 251.707 } 251.708 251.709 @@ -939,12 +1124,38 @@ 251.710 if (replay_state == NULL) { 251.711 return false; 251.712 } 251.713 - 251.714 VM_ENTRY_MARK; 251.715 // ciMethod without a record shouldn't be inlined. 251.716 return replay_state->find_ciMethodRecord(method->get_Method()) == NULL; 251.717 } 251.718 251.719 +bool ciReplay::should_inline(void* data, ciMethod* method, int bci, int inline_depth) { 251.720 + if (data != NULL) { 251.721 + GrowableArray<ciInlineRecord*>* records = (GrowableArray<ciInlineRecord*>*)data; 251.722 + VM_ENTRY_MARK; 251.723 + // Inline record are ordered by bci and depth. 251.724 + return CompileReplay::find_ciInlineRecord(records, method->get_Method(), bci, inline_depth) != NULL; 251.725 + } else if (replay_state != NULL) { 251.726 + VM_ENTRY_MARK; 251.727 + // Inline record are ordered by bci and depth. 251.728 + return replay_state->find_ciInlineRecord(method->get_Method(), bci, inline_depth) != NULL; 251.729 + } 251.730 + return false; 251.731 +} 251.732 + 251.733 +bool ciReplay::should_not_inline(void* data, ciMethod* method, int bci, int inline_depth) { 251.734 + if (data != NULL) { 251.735 + GrowableArray<ciInlineRecord*>* records = (GrowableArray<ciInlineRecord*>*)data; 251.736 + VM_ENTRY_MARK; 251.737 + // Inline record are ordered by bci and depth. 251.738 + return CompileReplay::find_ciInlineRecord(records, method->get_Method(), bci, inline_depth) == NULL; 251.739 + } else if (replay_state != NULL) { 251.740 + VM_ENTRY_MARK; 251.741 + // Inline record are ordered by bci and depth. 251.742 + return replay_state->find_ciInlineRecord(method->get_Method(), bci, inline_depth) == NULL; 251.743 + } 251.744 + return false; 251.745 +} 251.746 251.747 void ciReplay::initialize(ciMethod* m) { 251.748 if (replay_state == NULL) { 251.749 @@ -965,14 +1176,14 @@ 251.750 tty->cr(); 251.751 } else { 251.752 EXCEPTION_CONTEXT; 251.753 - // m->_instructions_size = rec->instructions_size; 251.754 + // m->_instructions_size = rec->_instructions_size; 251.755 m->_instructions_size = -1; 251.756 - m->_interpreter_invocation_count = rec->interpreter_invocation_count; 251.757 - m->_interpreter_throwout_count = rec->interpreter_throwout_count; 251.758 + m->_interpreter_invocation_count = rec->_interpreter_invocation_count; 251.759 + m->_interpreter_throwout_count = rec->_interpreter_throwout_count; 251.760 MethodCounters* mcs = method->get_method_counters(CHECK_AND_CLEAR); 251.761 guarantee(mcs != NULL, "method counters allocation failed"); 251.762 - mcs->invocation_counter()->_counter = rec->invocation_counter; 251.763 - mcs->backedge_counter()->_counter = rec->backedge_counter; 251.764 + mcs->invocation_counter()->_counter = rec->_invocation_counter; 251.765 + mcs->backedge_counter()->_counter = rec->_backedge_counter; 251.766 } 251.767 } 251.768
252.1 --- a/src/share/vm/ci/ciReplay.hpp Thu Jan 16 14:25:51 2014 +0100 252.2 +++ b/src/share/vm/ci/ciReplay.hpp Wed Jan 22 17:42:23 2014 -0800 252.3 @@ -29,6 +29,73 @@ 252.4 252.5 // ciReplay 252.6 252.7 +// 252.8 +// Replay compilation of a java method by using an information in replay file. 252.9 +// Replay inlining decisions during compilation by using an information in inline file. 252.10 +// 252.11 +// NOTE: these replay functions only exist in debug version of VM. 252.12 +// 252.13 +// Replay compilation. 252.14 +// ------------------- 252.15 +// 252.16 +// Replay data file replay.txt can be created by Serviceability Agent 252.17 +// from a core file, see agent/doc/cireplay.html 252.18 +// 252.19 +// $ java -cp <jdk>/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB 252.20 +// hsdb> attach <jdk>/bin/java ./core 252.21 +// hsdb> threads 252.22 +// t@10 Service Thread 252.23 +// t@9 C2 CompilerThread0 252.24 +// t@8 Signal Dispatcher 252.25 +// t@7 Finalizer 252.26 +// t@6 Reference Handler 252.27 +// t@2 main 252.28 +// hsdb> dumpreplaydata t@9 > replay.txt 252.29 +// hsdb> quit 252.30 +// 252.31 +// (Note: SA could be also used to extract app.jar and boot.jar files 252.32 +// from core file to replay compilation if only core file is available) 252.33 +// 252.34 +// Replay data file replay_pid%p.log is also created when VM crashes 252.35 +// in Compiler thread during compilation. It is controlled by 252.36 +// DumpReplayDataOnError flag which is ON by default. 252.37 +// 252.38 +// Replay file replay_pid%p_compid%d.log can be created 252.39 +// for the specified java method during normal execution using 252.40 +// CompileCommand option DumpReplay: 252.41 +// 252.42 +// -XX:CompileCommand=option,Benchmark::test,DumpReplay 252.43 +// 252.44 +// In this case the file name has additional compilation id "_compid%d" 252.45 +// because the method could be compiled several times. 252.46 +// 252.47 +// To replay compilation the replay file should be specified: 252.48 +// 252.49 +// -XX:+ReplayCompiles -XX:ReplayDataFile=replay_pid2133.log 252.50 +// 252.51 +// VM thread reads data from the file immediately after VM initialization 252.52 +// and puts the compilation task on compile queue. After that it goes into 252.53 +// wait state (BackgroundCompilation flag is set to false) since there is no 252.54 +// a program to execute. VM exits when the compilation is finished. 252.55 +// 252.56 +// 252.57 +// Replay inlining. 252.58 +// ---------------- 252.59 +// 252.60 +// Replay inlining file inline_pid%p_compid%d.log is created for 252.61 +// a specific java method during normal execution of a java program 252.62 +// using CompileCommand option DumpInline: 252.63 +// 252.64 +// -XX:CompileCommand=option,Benchmark::test,DumpInline 252.65 +// 252.66 +// To replay inlining the replay file and the method should be specified: 252.67 +// 252.68 +// -XX:CompileCommand=option,Benchmark::test,ReplayInline -XX:InlineDataFile=inline_pid3244_compid6.log 252.69 +// 252.70 +// The difference from replay compilation is that replay inlining 252.71 +// is performed during normal java program execution. 252.72 +// 252.73 + 252.74 class ciReplay { 252.75 CI_PACKAGE_ACCESS 252.76 252.77 @@ -37,7 +104,11 @@ 252.78 static int replay_impl(TRAPS); 252.79 252.80 public: 252.81 + // Replay specified compilation and exit VM. 252.82 static void replay(TRAPS); 252.83 + // Load inlining decisions from file and use them 252.84 + // during compilation of specified method. 252.85 + static void* load_inline_data(ciMethod* method, int entry_bci, int comp_level); 252.86 252.87 // These are used by the CI to fill in the cached data from the 252.88 // replay file when replaying compiles. 252.89 @@ -48,6 +119,8 @@ 252.90 static bool is_loaded(Klass* klass); 252.91 252.92 static bool should_not_inline(ciMethod* method); 252.93 + static bool should_inline(void* data, ciMethod* method, int bci, int inline_depth); 252.94 + static bool should_not_inline(void* data, ciMethod* method, int bci, int inline_depth); 252.95 252.96 #endif 252.97 };
253.1 --- a/src/share/vm/ci/ciStreams.hpp Thu Jan 16 14:25:51 2014 +0100 253.2 +++ b/src/share/vm/ci/ciStreams.hpp Wed Jan 22 17:42:23 2014 -0800 253.3 @@ -1,5 +1,5 @@ 253.4 /* 253.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 253.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 253.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 253.8 * 253.9 * This code is free software; you can redistribute it and/or modify it
254.1 --- a/src/share/vm/ci/ciType.cpp Thu Jan 16 14:25:51 2014 +0100 254.2 +++ b/src/share/vm/ci/ciType.cpp Wed Jan 22 17:42:23 2014 -0800 254.3 @@ -1,5 +1,5 @@ 254.4 /* 254.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 254.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 254.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 254.8 * 254.9 * This code is free software; you can redistribute it and/or modify it
255.1 --- a/src/share/vm/ci/ciType.hpp Thu Jan 16 14:25:51 2014 +0100 255.2 +++ b/src/share/vm/ci/ciType.hpp Wed Jan 22 17:42:23 2014 -0800 255.3 @@ -1,5 +1,5 @@ 255.4 /* 255.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 255.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 255.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 255.8 * 255.9 * This code is free software; you can redistribute it and/or modify it
256.1 --- a/src/share/vm/ci/ciTypeArray.cpp Thu Jan 16 14:25:51 2014 +0100 256.2 +++ b/src/share/vm/ci/ciTypeArray.cpp Wed Jan 22 17:42:23 2014 -0800 256.3 @@ -1,5 +1,5 @@ 256.4 /* 256.5 - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 256.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 256.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 256.8 * 256.9 * This code is free software; you can redistribute it and/or modify it
257.1 --- a/src/share/vm/ci/ciTypeArrayKlass.hpp Thu Jan 16 14:25:51 2014 +0100 257.2 +++ b/src/share/vm/ci/ciTypeArrayKlass.hpp Wed Jan 22 17:42:23 2014 -0800 257.3 @@ -1,5 +1,5 @@ 257.4 /* 257.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 257.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 257.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 257.8 * 257.9 * This code is free software; you can redistribute it and/or modify it
258.1 --- a/src/share/vm/ci/ciTypeFlow.cpp Thu Jan 16 14:25:51 2014 +0100 258.2 +++ b/src/share/vm/ci/ciTypeFlow.cpp Wed Jan 22 17:42:23 2014 -0800 258.3 @@ -1,5 +1,5 @@ 258.4 /* 258.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 258.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 258.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 258.8 * 258.9 * This code is free software; you can redistribute it and/or modify it
259.1 --- a/src/share/vm/ci/ciUtilities.hpp Thu Jan 16 14:25:51 2014 +0100 259.2 +++ b/src/share/vm/ci/ciUtilities.hpp Wed Jan 22 17:42:23 2014 -0800 259.3 @@ -1,5 +1,5 @@ 259.4 /* 259.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 259.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 259.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 259.8 * 259.9 * This code is free software; you can redistribute it and/or modify it
260.1 --- a/src/share/vm/classfile/bytecodeAssembler.cpp Thu Jan 16 14:25:51 2014 +0100 260.2 +++ b/src/share/vm/classfile/bytecodeAssembler.cpp Wed Jan 22 17:42:23 2014 -0800 260.3 @@ -1,5 +1,5 @@ 260.4 /* 260.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 260.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 260.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 260.8 * 260.9 * This code is free software; you can redistribute it and/or modify it
261.1 --- a/src/share/vm/classfile/classFileStream.cpp Thu Jan 16 14:25:51 2014 +0100 261.2 +++ b/src/share/vm/classfile/classFileStream.cpp Wed Jan 22 17:42:23 2014 -0800 261.3 @@ -1,5 +1,5 @@ 261.4 /* 261.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 261.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 261.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 261.8 * 261.9 * This code is free software; you can redistribute it and/or modify it
262.1 --- a/src/share/vm/classfile/classFileStream.hpp Thu Jan 16 14:25:51 2014 +0100 262.2 +++ b/src/share/vm/classfile/classFileStream.hpp Wed Jan 22 17:42:23 2014 -0800 262.3 @@ -1,5 +1,5 @@ 262.4 /* 262.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 262.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 262.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 262.8 * 262.9 * This code is free software; you can redistribute it and/or modify it
263.1 --- a/src/share/vm/classfile/classLoaderData.inline.hpp Thu Jan 16 14:25:51 2014 +0100 263.2 +++ b/src/share/vm/classfile/classLoaderData.inline.hpp Wed Jan 22 17:42:23 2014 -0800 263.3 @@ -1,5 +1,5 @@ 263.4 /* 263.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 263.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 263.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 263.8 * 263.9 * This code is free software; you can redistribute it and/or modify it
264.1 --- a/src/share/vm/classfile/defaultMethods.cpp Thu Jan 16 14:25:51 2014 +0100 264.2 +++ b/src/share/vm/classfile/defaultMethods.cpp Wed Jan 22 17:42:23 2014 -0800 264.3 @@ -349,6 +349,7 @@ 264.4 } 264.5 264.6 Symbol* generate_no_defaults_message(TRAPS) const; 264.7 + Symbol* generate_method_message(Symbol *klass_name, Method* method, TRAPS) const; 264.8 Symbol* generate_conflicts_message(GrowableArray<Method*>* methods, TRAPS) const; 264.9 264.10 public: 264.11 @@ -414,21 +415,25 @@ 264.12 } 264.13 } 264.14 264.15 - if (qualified_methods.length() == 0) { 264.16 - _exception_message = generate_no_defaults_message(CHECK); 264.17 + if (num_defaults == 0) { 264.18 + if (qualified_methods.length() == 0) { 264.19 + _exception_message = generate_no_defaults_message(CHECK); 264.20 + } else { 264.21 + assert(root != NULL, "Null root class"); 264.22 + _exception_message = generate_method_message(root->name(), qualified_methods.at(0), CHECK); 264.23 + } 264.24 _exception_name = vmSymbols::java_lang_AbstractMethodError(); 264.25 // If only one qualified method is default, select that 264.26 } else if (num_defaults == 1) { 264.27 _selected_target = qualified_methods.at(default_index); 264.28 } else if (num_defaults > 1) { 264.29 - _exception_message = generate_conflicts_message(&qualified_methods,CHECK); 264.30 - _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError(); 264.31 + _exception_message = generate_conflicts_message(&qualified_methods,CHECK); 264.32 + _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError(); 264.33 if (TraceDefaultMethods) { 264.34 _exception_message->print_value_on(tty); 264.35 tty->print_cr(""); 264.36 } 264.37 } 264.38 - // leave abstract methods alone, they will be found via normal search path 264.39 } 264.40 264.41 bool contains_signature(Symbol* query) { 264.42 @@ -486,6 +491,19 @@ 264.43 return SymbolTable::new_symbol("No qualifying defaults found", CHECK_NULL); 264.44 } 264.45 264.46 +Symbol* MethodFamily::generate_method_message(Symbol *klass_name, Method* method, TRAPS) const { 264.47 + stringStream ss; 264.48 + ss.print("Method "); 264.49 + Symbol* name = method->name(); 264.50 + Symbol* signature = method->signature(); 264.51 + ss.write((const char*)klass_name->bytes(), klass_name->utf8_length()); 264.52 + ss.print("."); 264.53 + ss.write((const char*)name->bytes(), name->utf8_length()); 264.54 + ss.write((const char*)signature->bytes(), signature->utf8_length()); 264.55 + ss.print(" is abstract"); 264.56 + return SymbolTable::new_symbol(ss.base(), (int)ss.size(), CHECK_NULL); 264.57 +} 264.58 + 264.59 Symbol* MethodFamily::generate_conflicts_message(GrowableArray<Method*>* methods, TRAPS) const { 264.60 stringStream ss; 264.61 ss.print("Conflicting default methods:"); 264.62 @@ -1026,7 +1044,8 @@ 264.63 Array<Method*>* merged_methods = MetadataFactory::new_array<Method*>( 264.64 klass->class_loader_data(), new_size, NULL, CHECK); 264.65 264.66 - if (original_ordering != NULL && original_ordering->length() > 0) { 264.67 + // original_ordering might be empty if this class has no methods of its own 264.68 + if (JvmtiExport::can_maintain_original_method_order() || DumpSharedSpaces) { 264.69 merged_ordering = MetadataFactory::new_array<int>( 264.70 klass->class_loader_data(), new_size, CHECK); 264.71 } 264.72 @@ -1053,6 +1072,8 @@ 264.73 merged_methods->at_put(i, orig_method); 264.74 original_methods->at_put(orig_idx, NULL); 264.75 if (merged_ordering->length() > 0) { 264.76 + assert(original_ordering != NULL && original_ordering->length() > 0, 264.77 + "should have original order information for this method"); 264.78 merged_ordering->at_put(i, original_ordering->at(orig_idx)); 264.79 } 264.80 ++orig_idx; 264.81 @@ -1081,13 +1102,14 @@ 264.82 // Replace klass methods with new merged lists 264.83 klass->set_methods(merged_methods); 264.84 klass->set_initial_method_idnum(new_size); 264.85 + klass->set_method_ordering(merged_ordering); 264.86 264.87 + // Free metadata 264.88 ClassLoaderData* cld = klass->class_loader_data(); 264.89 - if (original_methods ->length() > 0) { 264.90 + if (original_methods->length() > 0) { 264.91 MetadataFactory::free_array(cld, original_methods); 264.92 } 264.93 - if (original_ordering->length() > 0) { 264.94 - klass->set_method_ordering(merged_ordering); 264.95 + if (original_ordering != NULL && original_ordering->length() > 0) { 264.96 MetadataFactory::free_array(cld, original_ordering); 264.97 } 264.98 }
265.1 --- a/src/share/vm/classfile/systemDictionary.cpp Thu Jan 16 14:25:51 2014 +0100 265.2 +++ b/src/share/vm/classfile/systemDictionary.cpp Wed Jan 22 17:42:23 2014 -0800 265.3 @@ -1049,6 +1049,9 @@ 265.4 add_to_hierarchy(k, CHECK_NULL); // No exception, but can block 265.5 265.6 // But, do not add to system dictionary. 265.7 + 265.8 + // compiled code dependencies need to be validated anyway 265.9 + notice_modification(); 265.10 } 265.11 265.12 // Rewrite and patch constant pool here.
266.1 --- a/src/share/vm/classfile/vmSymbols.cpp Thu Jan 16 14:25:51 2014 +0100 266.2 +++ b/src/share/vm/classfile/vmSymbols.cpp Wed Jan 22 17:42:23 2014 -0800 266.3 @@ -1,5 +1,5 @@ 266.4 /* 266.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 266.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 266.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 266.8 * 266.9 * This code is free software; you can redistribute it and/or modify it
267.1 --- a/src/share/vm/classfile/vmSymbols.hpp Thu Jan 16 14:25:51 2014 +0100 267.2 +++ b/src/share/vm/classfile/vmSymbols.hpp Wed Jan 22 17:42:23 2014 -0800 267.3 @@ -654,9 +654,9 @@ 267.4 do_intrinsic(_addExactI, java_lang_Math, addExact_name, int2_int_signature, F_S) \ 267.5 do_intrinsic(_addExactL, java_lang_Math, addExact_name, long2_long_signature, F_S) \ 267.6 do_intrinsic(_decrementExactI, java_lang_Math, decrementExact_name, int_int_signature, F_S) \ 267.7 - do_intrinsic(_decrementExactL, java_lang_Math, decrementExact_name, long2_long_signature, F_S) \ 267.8 + do_intrinsic(_decrementExactL, java_lang_Math, decrementExact_name, long_long_signature, F_S) \ 267.9 do_intrinsic(_incrementExactI, java_lang_Math, incrementExact_name, int_int_signature, F_S) \ 267.10 - do_intrinsic(_incrementExactL, java_lang_Math, incrementExact_name, long2_long_signature, F_S) \ 267.11 + do_intrinsic(_incrementExactL, java_lang_Math, incrementExact_name, long_long_signature, F_S) \ 267.12 do_intrinsic(_multiplyExactI, java_lang_Math, multiplyExact_name, int2_int_signature, F_S) \ 267.13 do_intrinsic(_multiplyExactL, java_lang_Math, multiplyExact_name, long2_long_signature, F_S) \ 267.14 do_intrinsic(_negateExactI, java_lang_Math, negateExact_name, int_int_signature, F_S) \
268.1 --- a/src/share/vm/code/compiledIC.hpp Thu Jan 16 14:25:51 2014 +0100 268.2 +++ b/src/share/vm/code/compiledIC.hpp Wed Jan 22 17:42:23 2014 -0800 268.3 @@ -1,5 +1,5 @@ 268.4 /* 268.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 268.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 268.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 268.8 * 268.9 * This code is free software; you can redistribute it and/or modify it
269.1 --- a/src/share/vm/code/compressedStream.cpp Thu Jan 16 14:25:51 2014 +0100 269.2 +++ b/src/share/vm/code/compressedStream.cpp Wed Jan 22 17:42:23 2014 -0800 269.3 @@ -1,5 +1,5 @@ 269.4 /* 269.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 269.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 269.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 269.8 * 269.9 * This code is free software; you can redistribute it and/or modify it
270.1 --- a/src/share/vm/code/debugInfo.hpp Thu Jan 16 14:25:51 2014 +0100 270.2 +++ b/src/share/vm/code/debugInfo.hpp Wed Jan 22 17:42:23 2014 -0800 270.3 @@ -1,5 +1,5 @@ 270.4 /* 270.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 270.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 270.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 270.8 * 270.9 * This code is free software; you can redistribute it and/or modify it
271.1 --- a/src/share/vm/code/icBuffer.hpp Thu Jan 16 14:25:51 2014 +0100 271.2 +++ b/src/share/vm/code/icBuffer.hpp Wed Jan 22 17:42:23 2014 -0800 271.3 @@ -1,5 +1,5 @@ 271.4 /* 271.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 271.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 271.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 271.8 * 271.9 * This code is free software; you can redistribute it and/or modify it
272.1 --- a/src/share/vm/code/relocInfo.cpp Thu Jan 16 14:25:51 2014 +0100 272.2 +++ b/src/share/vm/code/relocInfo.cpp Wed Jan 22 17:42:23 2014 -0800 272.3 @@ -1,5 +1,5 @@ 272.4 /* 272.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 272.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 272.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 272.8 * 272.9 * This code is free software; you can redistribute it and/or modify it
273.1 --- a/src/share/vm/code/stubs.cpp Thu Jan 16 14:25:51 2014 +0100 273.2 +++ b/src/share/vm/code/stubs.cpp Wed Jan 22 17:42:23 2014 -0800 273.3 @@ -1,5 +1,5 @@ 273.4 /* 273.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 273.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 273.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 273.8 * 273.9 * This code is free software; you can redistribute it and/or modify it
274.1 --- a/src/share/vm/code/stubs.hpp Thu Jan 16 14:25:51 2014 +0100 274.2 +++ b/src/share/vm/code/stubs.hpp Wed Jan 22 17:42:23 2014 -0800 274.3 @@ -1,5 +1,5 @@ 274.4 /* 274.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 274.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 274.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 274.8 * 274.9 * This code is free software; you can redistribute it and/or modify it
275.1 --- a/src/share/vm/compiler/abstractCompiler.cpp Thu Jan 16 14:25:51 2014 +0100 275.2 +++ b/src/share/vm/compiler/abstractCompiler.cpp Wed Jan 22 17:42:23 2014 -0800 275.3 @@ -1,5 +1,5 @@ 275.4 // 275.5 -// Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 275.6 +// Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 275.7 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 275.8 // 275.9 // This code is free software; you can redistribute it and/or modify it
276.1 --- a/src/share/vm/compiler/abstractCompiler.hpp Thu Jan 16 14:25:51 2014 +0100 276.2 +++ b/src/share/vm/compiler/abstractCompiler.hpp Wed Jan 22 17:42:23 2014 -0800 276.3 @@ -1,5 +1,5 @@ 276.4 /* 276.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 276.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 276.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 276.8 * 276.9 * This code is free software; you can redistribute it and/or modify it
277.1 --- a/src/share/vm/compiler/compileBroker.cpp Thu Jan 16 14:25:51 2014 +0100 277.2 +++ b/src/share/vm/compiler/compileBroker.cpp Wed Jan 22 17:42:23 2014 -0800 277.3 @@ -132,9 +132,9 @@ 277.4 // The installed compiler(s) 277.5 AbstractCompiler* CompileBroker::_compilers[2]; 277.6 277.7 -// These counters are used for assigning id's to each compilation 277.8 -uint CompileBroker::_compilation_id = 0; 277.9 -uint CompileBroker::_osr_compilation_id = 0; 277.10 +// These counters are used to assign an unique ID to each compilation. 277.11 +volatile jint CompileBroker::_compilation_id = 0; 277.12 +volatile jint CompileBroker::_osr_compilation_id = 0; 277.13 277.14 // Debugging information 277.15 int CompileBroker::_last_compile_type = no_compile; 277.16 @@ -1158,7 +1158,7 @@ 277.17 // We now know that this compilation is not pending, complete, 277.18 // or prohibited. Assign a compile_id to this compilation 277.19 // and check to see if it is in our [Start..Stop) range. 277.20 - uint compile_id = assign_compile_id(method, osr_bci); 277.21 + int compile_id = assign_compile_id(method, osr_bci); 277.22 if (compile_id == 0) { 277.23 // The compilation falls outside the allowed range. 277.24 return; 277.25 @@ -1305,18 +1305,12 @@ 277.26 // do the compilation 277.27 if (method->is_native()) { 277.28 if (!PreferInterpreterNativeStubs || method->is_method_handle_intrinsic()) { 277.29 - // Acquire our lock. 277.30 - int compile_id; 277.31 - { 277.32 - MutexLocker locker(MethodCompileQueue_lock, THREAD); 277.33 - compile_id = assign_compile_id(method, standard_entry_bci); 277.34 - } 277.35 // To properly handle the appendix argument for out-of-line calls we are using a small trampoline that 277.36 // pops off the appendix argument and jumps to the target (see gen_special_dispatch in SharedRuntime). 277.37 // 277.38 // Since normal compiled-to-compiled calls are not able to handle such a thing we MUST generate an adapter 277.39 // in this case. If we can't generate one and use it we can not execute the out-of-line method handle calls. 277.40 - (void) AdapterHandlerLibrary::create_native_wrapper(method, compile_id); 277.41 + AdapterHandlerLibrary::create_native_wrapper(method); 277.42 } else { 277.43 return NULL; 277.44 } 277.45 @@ -1419,27 +1413,28 @@ 277.46 return false; 277.47 } 277.48 277.49 - 277.50 -// ------------------------------------------------------------------ 277.51 -// CompileBroker::assign_compile_id 277.52 -// 277.53 -// Assign a serialized id number to this compilation request. If the 277.54 -// number falls out of the allowed range, return a 0. OSR 277.55 -// compilations may be numbered separately from regular compilations 277.56 -// if certain debugging flags are used. 277.57 -uint CompileBroker::assign_compile_id(methodHandle method, int osr_bci) { 277.58 - assert(MethodCompileQueue_lock->owner() == Thread::current(), 277.59 - "must hold the compilation queue lock"); 277.60 +/** 277.61 + * Generate serialized IDs for compilation requests. If certain debugging flags are used 277.62 + * and the ID is not within the specified range, the method is not compiled and 0 is returned. 277.63 + * The function also allows to generate separate compilation IDs for OSR compilations. 277.64 + */ 277.65 +int CompileBroker::assign_compile_id(methodHandle method, int osr_bci) { 277.66 +#ifdef ASSERT 277.67 bool is_osr = (osr_bci != standard_entry_bci); 277.68 - uint id; 277.69 - if (CICountOSR && is_osr) { 277.70 - id = ++_osr_compilation_id; 277.71 - if ((uint)CIStartOSR <= id && id < (uint)CIStopOSR) { 277.72 + int id; 277.73 + if (method->is_native()) { 277.74 + assert(!is_osr, "can't be osr"); 277.75 + // Adapters, native wrappers and method handle intrinsics 277.76 + // should be generated always. 277.77 + return Atomic::add(1, &_compilation_id); 277.78 + } else if (CICountOSR && is_osr) { 277.79 + id = Atomic::add(1, &_osr_compilation_id); 277.80 + if (CIStartOSR <= id && id < CIStopOSR) { 277.81 return id; 277.82 } 277.83 } else { 277.84 - id = ++_compilation_id; 277.85 - if ((uint)CIStart <= id && id < (uint)CIStop) { 277.86 + id = Atomic::add(1, &_compilation_id); 277.87 + if (CIStart <= id && id < CIStop) { 277.88 return id; 277.89 } 277.90 } 277.91 @@ -1447,6 +1442,11 @@ 277.92 // Method was not in the appropriate compilation range. 277.93 method->set_not_compilable_quietly(); 277.94 return 0; 277.95 +#else 277.96 + // CICountOSR is a develop flag and set to 'false' by default. In a product built, 277.97 + // only _compilation_id is incremented. 277.98 + return Atomic::add(1, &_compilation_id); 277.99 +#endif 277.100 } 277.101 277.102
278.1 --- a/src/share/vm/compiler/compileBroker.hpp Thu Jan 16 14:25:51 2014 +0100 278.2 +++ b/src/share/vm/compiler/compileBroker.hpp Wed Jan 22 17:42:23 2014 -0800 278.3 @@ -246,6 +246,8 @@ 278.4 278.5 // Compile type Information for print_last_compile() and CompilerCounters 278.6 enum { no_compile, normal_compile, osr_compile, native_compile }; 278.7 + static int assign_compile_id (methodHandle method, int osr_bci); 278.8 + 278.9 278.10 private: 278.11 static bool _initialized; 278.12 @@ -258,9 +260,8 @@ 278.13 static AbstractCompiler* _compilers[2]; 278.14 278.15 // These counters are used for assigning id's to each compilation 278.16 - static uint _compilation_id; 278.17 - static uint _osr_compilation_id; 278.18 - static uint _native_compilation_id; 278.19 + static volatile jint _compilation_id; 278.20 + static volatile jint _osr_compilation_id; 278.21 278.22 static int _last_compile_type; 278.23 static int _last_compile_level; 278.24 @@ -321,7 +322,6 @@ 278.25 static void init_compiler_threads(int c1_compiler_count, int c2_compiler_count); 278.26 static bool compilation_is_complete (methodHandle method, int osr_bci, int comp_level); 278.27 static bool compilation_is_prohibited(methodHandle method, int osr_bci, int comp_level); 278.28 - static uint assign_compile_id (methodHandle method, int osr_bci); 278.29 static bool is_compile_blocking (methodHandle method, int osr_bci); 278.30 static void preload_classes (methodHandle method, TRAPS); 278.31
279.1 --- a/src/share/vm/compiler/compileLog.cpp Thu Jan 16 14:25:51 2014 +0100 279.2 +++ b/src/share/vm/compiler/compileLog.cpp Wed Jan 22 17:42:23 2014 -0800 279.3 @@ -1,5 +1,5 @@ 279.4 /* 279.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 279.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 279.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 279.8 * 279.9 * This code is free software; you can redistribute it and/or modify it
280.1 --- a/src/share/vm/compiler/compileLog.hpp Thu Jan 16 14:25:51 2014 +0100 280.2 +++ b/src/share/vm/compiler/compileLog.hpp Wed Jan 22 17:42:23 2014 -0800 280.3 @@ -1,5 +1,5 @@ 280.4 /* 280.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 280.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 280.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 280.8 * 280.9 * This code is free software; you can redistribute it and/or modify it
281.1 --- a/src/share/vm/compiler/compilerOracle.cpp Thu Jan 16 14:25:51 2014 +0100 281.2 +++ b/src/share/vm/compiler/compilerOracle.cpp Wed Jan 22 17:42:23 2014 -0800 281.3 @@ -1,5 +1,5 @@ 281.4 /* 281.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 281.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 281.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 281.8 * 281.9 * This code is free software; you can redistribute it and/or modify it
282.1 --- a/src/share/vm/compiler/disassembler.cpp Thu Jan 16 14:25:51 2014 +0100 282.2 +++ b/src/share/vm/compiler/disassembler.cpp Wed Jan 22 17:42:23 2014 -0800 282.3 @@ -1,5 +1,5 @@ 282.4 /* 282.5 - * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. 282.6 + * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. 282.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 282.8 * 282.9 * This code is free software; you can redistribute it and/or modify it
283.1 --- a/src/share/vm/compiler/disassembler.hpp Thu Jan 16 14:25:51 2014 +0100 283.2 +++ b/src/share/vm/compiler/disassembler.hpp Wed Jan 22 17:42:23 2014 -0800 283.3 @@ -1,5 +1,5 @@ 283.4 /* 283.5 - * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. 283.6 + * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. 283.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 283.8 * 283.9 * This code is free software; you can redistribute it and/or modify it
284.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp Thu Jan 16 14:25:51 2014 +0100 284.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp Wed Jan 22 17:42:23 2014 -0800 284.3 @@ -1,5 +1,5 @@ 284.4 /* 284.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 284.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 284.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 284.8 * 284.9 * This code is free software; you can redistribute it and/or modify it
285.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.hpp Thu Jan 16 14:25:51 2014 +0100 285.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.hpp Wed Jan 22 17:42:23 2014 -0800 285.3 @@ -1,5 +1,5 @@ 285.4 /* 285.5 - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 285.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 285.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 285.8 * 285.9 * This code is free software; you can redistribute it and/or modify it
286.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp Thu Jan 16 14:25:51 2014 +0100 286.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp Wed Jan 22 17:42:23 2014 -0800 286.3 @@ -1,5 +1,5 @@ 286.4 /* 286.5 - * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 286.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 286.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 286.8 * 286.9 * This code is free software; you can redistribute it and/or modify it
287.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Thu Jan 16 14:25:51 2014 +0100 287.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Wed Jan 22 17:42:23 2014 -0800 287.3 @@ -1,5 +1,5 @@ 287.4 /* 287.5 - * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 287.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 287.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 287.8 * 287.9 * This code is free software; you can redistribute it and/or modify it
288.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp Thu Jan 16 14:25:51 2014 +0100 288.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp Wed Jan 22 17:42:23 2014 -0800 288.3 @@ -1,5 +1,5 @@ 288.4 /* 288.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 288.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 288.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 288.8 * 288.9 * This code is free software; you can redistribute it and/or modify it
289.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp Thu Jan 16 14:25:51 2014 +0100 289.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp Wed Jan 22 17:42:23 2014 -0800 289.3 @@ -1,5 +1,5 @@ 289.4 /* 289.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 289.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 289.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 289.8 * 289.9 * This code is free software; you can redistribute it and/or modify it
290.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp Thu Jan 16 14:25:51 2014 +0100 290.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp Wed Jan 22 17:42:23 2014 -0800 290.3 @@ -1,5 +1,5 @@ 290.4 /* 290.5 - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. 290.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 290.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 290.8 * 290.9 * This code is free software; you can redistribute it and/or modify it
291.1 --- a/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp Thu Jan 16 14:25:51 2014 +0100 291.2 +++ b/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp Wed Jan 22 17:42:23 2014 -0800 291.3 @@ -1,5 +1,5 @@ 291.4 /* 291.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 291.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 291.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 291.8 * 291.9 * This code is free software; you can redistribute it and/or modify it
292.1 --- a/src/share/vm/gc_implementation/g1/collectionSetChooser.hpp Thu Jan 16 14:25:51 2014 +0100 292.2 +++ b/src/share/vm/gc_implementation/g1/collectionSetChooser.hpp Wed Jan 22 17:42:23 2014 -0800 292.3 @@ -1,5 +1,5 @@ 292.4 /* 292.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 292.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 292.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 292.8 * 292.9 * This code is free software; you can redistribute it and/or modify it
293.1 --- a/src/share/vm/gc_implementation/g1/g1AllocRegion.hpp Thu Jan 16 14:25:51 2014 +0100 293.2 +++ b/src/share/vm/gc_implementation/g1/g1AllocRegion.hpp Wed Jan 22 17:42:23 2014 -0800 293.3 @@ -1,5 +1,5 @@ 293.4 /* 293.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 293.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 293.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 293.8 * 293.9 * This code is free software; you can redistribute it and/or modify it
294.1 --- a/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp Thu Jan 16 14:25:51 2014 +0100 294.2 +++ b/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp Wed Jan 22 17:42:23 2014 -0800 294.3 @@ -1,5 +1,5 @@ 294.4 /* 294.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 294.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 294.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 294.8 * 294.9 * This code is free software; you can redistribute it and/or modify it
295.1 --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp Thu Jan 16 14:25:51 2014 +0100 295.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp Wed Jan 22 17:42:23 2014 -0800 295.3 @@ -1,5 +1,5 @@ 295.4 /* 295.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 295.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 295.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 295.8 * 295.9 * This code is free software; you can redistribute it and/or modify it
296.1 --- a/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp Thu Jan 16 14:25:51 2014 +0100 296.2 +++ b/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp Wed Jan 22 17:42:23 2014 -0800 296.3 @@ -1,5 +1,5 @@ 296.4 /* 296.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 296.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 296.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 296.8 * 296.9 * This code is free software; you can redistribute it and/or modify it
297.1 --- a/src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp Thu Jan 16 14:25:51 2014 +0100 297.2 +++ b/src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp Wed Jan 22 17:42:23 2014 -0800 297.3 @@ -1,5 +1,5 @@ 297.4 /* 297.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 297.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 297.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 297.8 * 297.9 * This code is free software; you can redistribute it and/or modify it
298.1 --- a/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp Thu Jan 16 14:25:51 2014 +0100 298.2 +++ b/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp Wed Jan 22 17:42:23 2014 -0800 298.3 @@ -1,5 +1,5 @@ 298.4 /* 298.5 - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. 298.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 298.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 298.8 * 298.9 * This code is free software; you can redistribute it and/or modify it
299.1 --- a/src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp Thu Jan 16 14:25:51 2014 +0100 299.2 +++ b/src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp Wed Jan 22 17:42:23 2014 -0800 299.3 @@ -1,5 +1,5 @@ 299.4 /* 299.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 299.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 299.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 299.8 * 299.9 * This code is free software; you can redistribute it and/or modify it
300.1 --- a/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Thu Jan 16 14:25:51 2014 +0100 300.2 +++ b/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Wed Jan 22 17:42:23 2014 -0800 300.3 @@ -1,5 +1,5 @@ 300.4 /* 300.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 300.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 300.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 300.8 * 300.9 * This code is free software; you can redistribute it and/or modify it
301.1 --- a/src/share/vm/gc_implementation/g1/heapRegionSeq.hpp Thu Jan 16 14:25:51 2014 +0100 301.2 +++ b/src/share/vm/gc_implementation/g1/heapRegionSeq.hpp Wed Jan 22 17:42:23 2014 -0800 301.3 @@ -1,5 +1,5 @@ 301.4 /* 301.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 301.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 301.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 301.8 * 301.9 * This code is free software; you can redistribute it and/or modify it
302.1 --- a/src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp Thu Jan 16 14:25:51 2014 +0100 302.2 +++ b/src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp Wed Jan 22 17:42:23 2014 -0800 302.3 @@ -1,5 +1,5 @@ 302.4 /* 302.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 302.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 302.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 302.8 * 302.9 * This code is free software; you can redistribute it and/or modify it
303.1 --- a/src/share/vm/gc_implementation/g1/ptrQueue.cpp Thu Jan 16 14:25:51 2014 +0100 303.2 +++ b/src/share/vm/gc_implementation/g1/ptrQueue.cpp Wed Jan 22 17:42:23 2014 -0800 303.3 @@ -1,5 +1,5 @@ 303.4 /* 303.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 303.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 303.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 303.8 * 303.9 * This code is free software; you can redistribute it and/or modify it
304.1 --- a/src/share/vm/gc_implementation/g1/ptrQueue.hpp Thu Jan 16 14:25:51 2014 +0100 304.2 +++ b/src/share/vm/gc_implementation/g1/ptrQueue.hpp Wed Jan 22 17:42:23 2014 -0800 304.3 @@ -1,5 +1,5 @@ 304.4 /* 304.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 304.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 304.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 304.8 * 304.9 * This code is free software; you can redistribute it and/or modify it
305.1 --- a/src/share/vm/gc_implementation/g1/sparsePRT.cpp Thu Jan 16 14:25:51 2014 +0100 305.2 +++ b/src/share/vm/gc_implementation/g1/sparsePRT.cpp Wed Jan 22 17:42:23 2014 -0800 305.3 @@ -1,5 +1,5 @@ 305.4 /* 305.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 305.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 305.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 305.8 * 305.9 * This code is free software; you can redistribute it and/or modify it
306.1 --- a/src/share/vm/gc_implementation/g1/sparsePRT.hpp Thu Jan 16 14:25:51 2014 +0100 306.2 +++ b/src/share/vm/gc_implementation/g1/sparsePRT.hpp Wed Jan 22 17:42:23 2014 -0800 306.3 @@ -1,5 +1,5 @@ 306.4 /* 306.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 306.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 306.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 306.8 * 306.9 * This code is free software; you can redistribute it and/or modify it
307.1 --- a/src/share/vm/gc_implementation/g1/vmStructs_g1.hpp Thu Jan 16 14:25:51 2014 +0100 307.2 +++ b/src/share/vm/gc_implementation/g1/vmStructs_g1.hpp Wed Jan 22 17:42:23 2014 -0800 307.3 @@ -1,5 +1,5 @@ 307.4 /* 307.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 307.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 307.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 307.8 * 307.9 * This code is free software; you can redistribute it and/or modify it
308.1 --- a/src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp Thu Jan 16 14:25:51 2014 +0100 308.2 +++ b/src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp Wed Jan 22 17:42:23 2014 -0800 308.3 @@ -1,5 +1,5 @@ 308.4 /* 308.5 - * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 308.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 308.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 308.8 * 308.9 * This code is free software; you can redistribute it and/or modify it
309.1 --- a/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp Thu Jan 16 14:25:51 2014 +0100 309.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp Wed Jan 22 17:42:23 2014 -0800 309.3 @@ -1,5 +1,5 @@ 309.4 /* 309.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 309.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 309.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 309.8 * 309.9 * This code is free software; you can redistribute it and/or modify it
310.1 --- a/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp Thu Jan 16 14:25:51 2014 +0100 310.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp Wed Jan 22 17:42:23 2014 -0800 310.3 @@ -1,5 +1,5 @@ 310.4 /* 310.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 310.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 310.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 310.8 * 310.9 * This code is free software; you can redistribute it and/or modify it
311.1 --- a/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp Thu Jan 16 14:25:51 2014 +0100 311.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp Wed Jan 22 17:42:23 2014 -0800 311.3 @@ -1,5 +1,5 @@ 311.4 /* 311.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 311.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 311.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 311.8 * 311.9 * This code is free software; you can redistribute it and/or modify it
312.1 --- a/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp Thu Jan 16 14:25:51 2014 +0100 312.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp Wed Jan 22 17:42:23 2014 -0800 312.3 @@ -1,5 +1,5 @@ 312.4 /* 312.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 312.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 312.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 312.8 * 312.9 * This code is free software; you can redistribute it and/or modify it
313.1 --- a/src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp Thu Jan 16 14:25:51 2014 +0100 313.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp Wed Jan 22 17:42:23 2014 -0800 313.3 @@ -1,5 +1,5 @@ 313.4 /* 313.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 313.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 313.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 313.8 * 313.9 * This code is free software; you can redistribute it and/or modify it
314.1 --- a/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp Thu Jan 16 14:25:51 2014 +0100 314.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp Wed Jan 22 17:42:23 2014 -0800 314.3 @@ -1,6 +1,6 @@ 314.4 314.5 /* 314.6 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 314.7 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 314.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 314.9 * 314.10 * This code is free software; you can redistribute it and/or modify it
315.1 --- a/src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp Thu Jan 16 14:25:51 2014 +0100 315.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp Wed Jan 22 17:42:23 2014 -0800 315.3 @@ -1,5 +1,5 @@ 315.4 /* 315.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 315.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 315.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 315.8 * 315.9 * This code is free software; you can redistribute it and/or modify it
316.1 --- a/src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp Thu Jan 16 14:25:51 2014 +0100 316.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp Wed Jan 22 17:42:23 2014 -0800 316.3 @@ -1,5 +1,5 @@ 316.4 /* 316.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 316.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 316.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 316.8 * 316.9 * This code is free software; you can redistribute it and/or modify it
317.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp Thu Jan 16 14:25:51 2014 +0100 317.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp Wed Jan 22 17:42:23 2014 -0800 317.3 @@ -1,5 +1,5 @@ 317.4 /* 317.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 317.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 317.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 317.8 * 317.9 * This code is free software; you can redistribute it and/or modify it
318.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp Thu Jan 16 14:25:51 2014 +0100 318.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp Wed Jan 22 17:42:23 2014 -0800 318.3 @@ -1,5 +1,5 @@ 318.4 /* 318.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 318.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 318.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 318.8 * 318.9 * This code is free software; you can redistribute it and/or modify it
319.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp Thu Jan 16 14:25:51 2014 +0100 319.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp Wed Jan 22 17:42:23 2014 -0800 319.3 @@ -1,5 +1,5 @@ 319.4 /* 319.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 319.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 319.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 319.8 * 319.9 * This code is free software; you can redistribute it and/or modify it
320.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp Thu Jan 16 14:25:51 2014 +0100 320.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp Wed Jan 22 17:42:23 2014 -0800 320.3 @@ -1,5 +1,5 @@ 320.4 /* 320.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 320.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 320.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 320.8 * 320.9 * This code is free software; you can redistribute it and/or modify it
321.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp Thu Jan 16 14:25:51 2014 +0100 321.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp Wed Jan 22 17:42:23 2014 -0800 321.3 @@ -1,5 +1,5 @@ 321.4 /* 321.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 321.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 321.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 321.8 * 321.9 * This code is free software; you can redistribute it and/or modify it
322.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp Thu Jan 16 14:25:51 2014 +0100 322.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp Wed Jan 22 17:42:23 2014 -0800 322.3 @@ -1,5 +1,5 @@ 322.4 /* 322.5 - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. 322.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 322.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 322.8 * 322.9 * This code is free software; you can redistribute it and/or modify it
323.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp Thu Jan 16 14:25:51 2014 +0100 323.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp Wed Jan 22 17:42:23 2014 -0800 323.3 @@ -1,5 +1,5 @@ 323.4 /* 323.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 323.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 323.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 323.8 * 323.9 * This code is free software; you can redistribute it and/or modify it
324.1 --- a/src/share/vm/gc_implementation/shared/allocationStats.cpp Thu Jan 16 14:25:51 2014 +0100 324.2 +++ b/src/share/vm/gc_implementation/shared/allocationStats.cpp Wed Jan 22 17:42:23 2014 -0800 324.3 @@ -1,5 +1,5 @@ 324.4 /* 324.5 - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 324.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 324.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 324.8 * 324.9 * This code is free software; you can redistribute it and/or modify it
325.1 --- a/src/share/vm/gc_implementation/shared/concurrentGCThread.hpp Thu Jan 16 14:25:51 2014 +0100 325.2 +++ b/src/share/vm/gc_implementation/shared/concurrentGCThread.hpp Wed Jan 22 17:42:23 2014 -0800 325.3 @@ -1,5 +1,5 @@ 325.4 /* 325.5 - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 325.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 325.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 325.8 * 325.9 * This code is free software; you can redistribute it and/or modify it
326.1 --- a/src/share/vm/gc_implementation/shared/gSpaceCounters.cpp Thu Jan 16 14:25:51 2014 +0100 326.2 +++ b/src/share/vm/gc_implementation/shared/gSpaceCounters.cpp Wed Jan 22 17:42:23 2014 -0800 326.3 @@ -1,5 +1,5 @@ 326.4 /* 326.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 326.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 326.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 326.8 * 326.9 * This code is free software; you can redistribute it and/or modify it
327.1 --- a/src/share/vm/gc_implementation/shared/gSpaceCounters.hpp Thu Jan 16 14:25:51 2014 +0100 327.2 +++ b/src/share/vm/gc_implementation/shared/gSpaceCounters.hpp Wed Jan 22 17:42:23 2014 -0800 327.3 @@ -1,5 +1,5 @@ 327.4 /* 327.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 327.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 327.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 327.8 * 327.9 * This code is free software; you can redistribute it and/or modify it
328.1 --- a/src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp Thu Jan 16 14:25:51 2014 +0100 328.2 +++ b/src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp Wed Jan 22 17:42:23 2014 -0800 328.3 @@ -1,5 +1,5 @@ 328.4 /* 328.5 - * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 328.6 + * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 328.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 328.8 * 328.9 * This code is free software; you can redistribute it and/or modify it
329.1 --- a/src/share/vm/gc_implementation/shared/immutableSpace.cpp Thu Jan 16 14:25:51 2014 +0100 329.2 +++ b/src/share/vm/gc_implementation/shared/immutableSpace.cpp Wed Jan 22 17:42:23 2014 -0800 329.3 @@ -1,5 +1,5 @@ 329.4 /* 329.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 329.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 329.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 329.8 * 329.9 * This code is free software; you can redistribute it and/or modify it
330.1 --- a/src/share/vm/gc_implementation/shared/isGCActiveMark.hpp Thu Jan 16 14:25:51 2014 +0100 330.2 +++ b/src/share/vm/gc_implementation/shared/isGCActiveMark.hpp Wed Jan 22 17:42:23 2014 -0800 330.3 @@ -1,5 +1,5 @@ 330.4 /* 330.5 - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. 330.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 330.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 330.8 * 330.9 * This code is free software; you can redistribute it and/or modify it
331.1 --- a/src/share/vm/gc_implementation/shared/markSweep.inline.hpp Thu Jan 16 14:25:51 2014 +0100 331.2 +++ b/src/share/vm/gc_implementation/shared/markSweep.inline.hpp Wed Jan 22 17:42:23 2014 -0800 331.3 @@ -1,5 +1,5 @@ 331.4 /* 331.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 331.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 331.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 331.8 * 331.9 * This code is free software; you can redistribute it and/or modify it
332.1 --- a/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Thu Jan 16 14:25:51 2014 +0100 332.2 +++ b/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Wed Jan 22 17:42:23 2014 -0800 332.3 @@ -1,6 +1,6 @@ 332.4 332.5 /* 332.6 - * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. 332.7 + * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. 332.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 332.9 * 332.10 * This code is free software; you can redistribute it and/or modify it
333.1 --- a/src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp Thu Jan 16 14:25:51 2014 +0100 333.2 +++ b/src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp Wed Jan 22 17:42:23 2014 -0800 333.3 @@ -1,5 +1,5 @@ 333.4 /* 333.5 - * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. 333.6 + * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. 333.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 333.8 * 333.9 * This code is free software; you can redistribute it and/or modify it
334.1 --- a/src/share/vm/gc_implementation/shared/mutableSpace.cpp Thu Jan 16 14:25:51 2014 +0100 334.2 +++ b/src/share/vm/gc_implementation/shared/mutableSpace.cpp Wed Jan 22 17:42:23 2014 -0800 334.3 @@ -1,5 +1,5 @@ 334.4 /* 334.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 334.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 334.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 334.8 * 334.9 * This code is free software; you can redistribute it and/or modify it
335.1 --- a/src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp Thu Jan 16 14:25:51 2014 +0100 335.2 +++ b/src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp Wed Jan 22 17:42:23 2014 -0800 335.3 @@ -1,5 +1,5 @@ 335.4 /* 335.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 335.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 335.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 335.8 * 335.9 * This code is free software; you can redistribute it and/or modify it
336.1 --- a/src/share/vm/gc_implementation/shared/spaceCounters.cpp Thu Jan 16 14:25:51 2014 +0100 336.2 +++ b/src/share/vm/gc_implementation/shared/spaceCounters.cpp Wed Jan 22 17:42:23 2014 -0800 336.3 @@ -1,5 +1,5 @@ 336.4 /* 336.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 336.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 336.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 336.8 * 336.9 * This code is free software; you can redistribute it and/or modify it
337.1 --- a/src/share/vm/gc_implementation/shared/spaceCounters.hpp Thu Jan 16 14:25:51 2014 +0100 337.2 +++ b/src/share/vm/gc_implementation/shared/spaceCounters.hpp Wed Jan 22 17:42:23 2014 -0800 337.3 @@ -1,5 +1,5 @@ 337.4 /* 337.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 337.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 337.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 337.8 * 337.9 * This code is free software; you can redistribute it and/or modify it
338.1 --- a/src/share/vm/gc_interface/collectedHeap.inline.hpp Thu Jan 16 14:25:51 2014 +0100 338.2 +++ b/src/share/vm/gc_interface/collectedHeap.inline.hpp Wed Jan 22 17:42:23 2014 -0800 338.3 @@ -1,5 +1,5 @@ 338.4 /* 338.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 338.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 338.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 338.8 * 338.9 * This code is free software; you can redistribute it and/or modify it
339.1 --- a/src/share/vm/gc_interface/gcCause.cpp Thu Jan 16 14:25:51 2014 +0100 339.2 +++ b/src/share/vm/gc_interface/gcCause.cpp Wed Jan 22 17:42:23 2014 -0800 339.3 @@ -1,5 +1,5 @@ 339.4 /* 339.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 339.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 339.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 339.8 * 339.9 * This code is free software; you can redistribute it and/or modify it
340.1 --- a/src/share/vm/gc_interface/gcCause.hpp Thu Jan 16 14:25:51 2014 +0100 340.2 +++ b/src/share/vm/gc_interface/gcCause.hpp Wed Jan 22 17:42:23 2014 -0800 340.3 @@ -1,5 +1,5 @@ 340.4 /* 340.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 340.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 340.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 340.8 * 340.9 * This code is free software; you can redistribute it and/or modify it
341.1 --- a/src/share/vm/interpreter/bytecodeInterpreter.cpp Thu Jan 16 14:25:51 2014 +0100 341.2 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Jan 22 17:42:23 2014 -0800 341.3 @@ -1,5 +1,5 @@ 341.4 /* 341.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 341.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 341.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 341.8 * 341.9 * This code is free software; you can redistribute it and/or modify it
342.1 --- a/src/share/vm/interpreter/cppInterpreter.hpp Thu Jan 16 14:25:51 2014 +0100 342.2 +++ b/src/share/vm/interpreter/cppInterpreter.hpp Wed Jan 22 17:42:23 2014 -0800 342.3 @@ -1,5 +1,5 @@ 342.4 /* 342.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 342.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 342.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 342.8 * 342.9 * This code is free software; you can redistribute it and/or modify it
343.1 --- a/src/share/vm/interpreter/interpreter.hpp Thu Jan 16 14:25:51 2014 +0100 343.2 +++ b/src/share/vm/interpreter/interpreter.hpp Wed Jan 22 17:42:23 2014 -0800 343.3 @@ -1,5 +1,5 @@ 343.4 /* 343.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 343.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 343.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 343.8 * 343.9 * This code is free software; you can redistribute it and/or modify it
344.1 --- a/src/share/vm/interpreter/linkResolver.cpp Thu Jan 16 14:25:51 2014 +0100 344.2 +++ b/src/share/vm/interpreter/linkResolver.cpp Wed Jan 22 17:42:23 2014 -0800 344.3 @@ -300,7 +300,7 @@ 344.4 Symbol* signature = resolved_method->signature(); 344.5 344.6 // First check in default method array 344.7 - if (!resolved_method->is_abstract() && 344.8 + if (!resolved_method->is_abstract() && 344.9 (InstanceKlass::cast(klass())->default_methods() != NULL)) { 344.10 int index = InstanceKlass::find_method_index(InstanceKlass::cast(klass())->default_methods(), name, signature); 344.11 if (index >= 0 ) { 344.12 @@ -318,7 +318,11 @@ 344.13 344.14 void LinkResolver::lookup_method_in_interfaces(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) { 344.15 InstanceKlass *ik = InstanceKlass::cast(klass()); 344.16 - result = methodHandle(THREAD, ik->lookup_method_in_all_interfaces(name, signature)); 344.17 + 344.18 + // Specify 'true' in order to skip default methods when searching the 344.19 + // interfaces. Function lookup_method_in_klasses() already looked for 344.20 + // the method in the default methods table. 344.21 + result = methodHandle(THREAD, ik->lookup_method_in_all_interfaces(name, signature, true)); 344.22 } 344.23 344.24 void LinkResolver::lookup_polymorphic_method(methodHandle& result, 344.25 @@ -620,7 +624,7 @@ 344.26 bool check_access, 344.27 bool nostatics, TRAPS) { 344.28 344.29 - // check if klass is interface 344.30 + // check if klass is interface 344.31 if (!resolved_klass->is_interface()) { 344.32 ResourceMark rm(THREAD); 344.33 char buf[200]; 344.34 @@ -1287,8 +1291,11 @@ 344.35 resolved_klass()->external_name()); 344.36 THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(), buf); 344.37 } 344.38 + 344.39 // do lookup based on receiver klass 344.40 methodHandle sel_method; 344.41 + // This search must match the linktime preparation search for itable initialization 344.42 + // to correctly enforce loader constraints for interface method inheritance 344.43 lookup_instance_method_in_klasses(sel_method, recv_klass, 344.44 resolved_method->name(), 344.45 resolved_method->signature(), CHECK);
345.1 --- a/src/share/vm/interpreter/templateInterpreter.hpp Thu Jan 16 14:25:51 2014 +0100 345.2 +++ b/src/share/vm/interpreter/templateInterpreter.hpp Wed Jan 22 17:42:23 2014 -0800 345.3 @@ -1,5 +1,5 @@ 345.4 /* 345.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 345.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 345.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 345.8 * 345.9 * This code is free software; you can redistribute it and/or modify it
346.1 --- a/src/share/vm/interpreter/templateInterpreterGenerator.hpp Thu Jan 16 14:25:51 2014 +0100 346.2 +++ b/src/share/vm/interpreter/templateInterpreterGenerator.hpp Wed Jan 22 17:42:23 2014 -0800 346.3 @@ -1,5 +1,5 @@ 346.4 /* 346.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 346.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 346.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 346.8 * 346.9 * This code is free software; you can redistribute it and/or modify it
347.1 --- a/src/share/vm/interpreter/templateTable.hpp Thu Jan 16 14:25:51 2014 +0100 347.2 +++ b/src/share/vm/interpreter/templateTable.hpp Wed Jan 22 17:42:23 2014 -0800 347.3 @@ -1,5 +1,5 @@ 347.4 /* 347.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 347.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 347.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 347.8 * 347.9 * This code is free software; you can redistribute it and/or modify it
348.1 --- a/src/share/vm/memory/allocation.cpp Thu Jan 16 14:25:51 2014 +0100 348.2 +++ b/src/share/vm/memory/allocation.cpp Wed Jan 22 17:42:23 2014 -0800 348.3 @@ -143,7 +143,7 @@ 348.4 void ResourceObj::set_allocation_type(address res, allocation_type type) { 348.5 // Set allocation type in the resource object 348.6 uintptr_t allocation = (uintptr_t)res; 348.7 - assert((allocation & allocation_mask) == 0, "address should be aligned to 4 bytes at least"); 348.8 + assert((allocation & allocation_mask) == 0, err_msg("address should be aligned to 4 bytes at least: " PTR_FORMAT, res)); 348.9 assert(type <= allocation_mask, "incorrect allocation type"); 348.10 ResourceObj* resobj = (ResourceObj *)res; 348.11 resobj->_allocation_t[0] = ~(allocation + type);
349.1 --- a/src/share/vm/memory/binaryTreeDictionary.hpp Thu Jan 16 14:25:51 2014 +0100 349.2 +++ b/src/share/vm/memory/binaryTreeDictionary.hpp Wed Jan 22 17:42:23 2014 -0800 349.3 @@ -1,5 +1,5 @@ 349.4 /* 349.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 349.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 349.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 349.8 * 349.9 * This code is free software; you can redistribute it and/or modify it
350.1 --- a/src/share/vm/memory/blockOffsetTable.cpp Thu Jan 16 14:25:51 2014 +0100 350.2 +++ b/src/share/vm/memory/blockOffsetTable.cpp Wed Jan 22 17:42:23 2014 -0800 350.3 @@ -1,5 +1,5 @@ 350.4 /* 350.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 350.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 350.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 350.8 * 350.9 * This code is free software; you can redistribute it and/or modify it
351.1 --- a/src/share/vm/memory/freeBlockDictionary.cpp Thu Jan 16 14:25:51 2014 +0100 351.2 +++ b/src/share/vm/memory/freeBlockDictionary.cpp Wed Jan 22 17:42:23 2014 -0800 351.3 @@ -1,5 +1,5 @@ 351.4 /* 351.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 351.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 351.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 351.8 * 351.9 * This code is free software; you can redistribute it and/or modify it
352.1 --- a/src/share/vm/memory/freeList.cpp Thu Jan 16 14:25:51 2014 +0100 352.2 +++ b/src/share/vm/memory/freeList.cpp Wed Jan 22 17:42:23 2014 -0800 352.3 @@ -1,5 +1,5 @@ 352.4 /* 352.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 352.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 352.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 352.8 * 352.9 * This code is free software; you can redistribute it and/or modify it
353.1 --- a/src/share/vm/memory/freeList.hpp Thu Jan 16 14:25:51 2014 +0100 353.2 +++ b/src/share/vm/memory/freeList.hpp Wed Jan 22 17:42:23 2014 -0800 353.3 @@ -1,5 +1,5 @@ 353.4 /* 353.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 353.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 353.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 353.8 * 353.9 * This code is free software; you can redistribute it and/or modify it
354.1 --- a/src/share/vm/memory/gcLocker.cpp Thu Jan 16 14:25:51 2014 +0100 354.2 +++ b/src/share/vm/memory/gcLocker.cpp Wed Jan 22 17:42:23 2014 -0800 354.3 @@ -1,5 +1,5 @@ 354.4 /* 354.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 354.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 354.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 354.8 * 354.9 * This code is free software; you can redistribute it and/or modify it
355.1 --- a/src/share/vm/memory/gcLocker.hpp Thu Jan 16 14:25:51 2014 +0100 355.2 +++ b/src/share/vm/memory/gcLocker.hpp Wed Jan 22 17:42:23 2014 -0800 355.3 @@ -1,5 +1,5 @@ 355.4 /* 355.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 355.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 355.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 355.8 * 355.9 * This code is free software; you can redistribute it and/or modify it
356.1 --- a/src/share/vm/memory/genRemSet.cpp Thu Jan 16 14:25:51 2014 +0100 356.2 +++ b/src/share/vm/memory/genRemSet.cpp Wed Jan 22 17:42:23 2014 -0800 356.3 @@ -1,5 +1,5 @@ 356.4 /* 356.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 356.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 356.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 356.8 * 356.9 * This code is free software; you can redistribute it and/or modify it
357.1 --- a/src/share/vm/memory/genRemSet.hpp Thu Jan 16 14:25:51 2014 +0100 357.2 +++ b/src/share/vm/memory/genRemSet.hpp Wed Jan 22 17:42:23 2014 -0800 357.3 @@ -1,5 +1,5 @@ 357.4 /* 357.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 357.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 357.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 357.8 * 357.9 * This code is free software; you can redistribute it and/or modify it
358.1 --- a/src/share/vm/memory/generation.hpp Thu Jan 16 14:25:51 2014 +0100 358.2 +++ b/src/share/vm/memory/generation.hpp Wed Jan 22 17:42:23 2014 -0800 358.3 @@ -1,5 +1,5 @@ 358.4 /* 358.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 358.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 358.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 358.8 * 358.9 * This code is free software; you can redistribute it and/or modify it
359.1 --- a/src/share/vm/memory/generationSpec.cpp Thu Jan 16 14:25:51 2014 +0100 359.2 +++ b/src/share/vm/memory/generationSpec.cpp Wed Jan 22 17:42:23 2014 -0800 359.3 @@ -1,5 +1,5 @@ 359.4 /* 359.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 359.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 359.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 359.8 * 359.9 * This code is free software; you can redistribute it and/or modify it
360.1 --- a/src/share/vm/memory/heap.hpp Thu Jan 16 14:25:51 2014 +0100 360.2 +++ b/src/share/vm/memory/heap.hpp Wed Jan 22 17:42:23 2014 -0800 360.3 @@ -1,5 +1,5 @@ 360.4 /* 360.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 360.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 360.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 360.8 * 360.9 * This code is free software; you can redistribute it and/or modify it
361.1 --- a/src/share/vm/memory/iterator.cpp Thu Jan 16 14:25:51 2014 +0100 361.2 +++ b/src/share/vm/memory/iterator.cpp Wed Jan 22 17:42:23 2014 -0800 361.3 @@ -1,5 +1,5 @@ 361.4 /* 361.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 361.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 361.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 361.8 * 361.9 * This code is free software; you can redistribute it and/or modify it
362.1 --- a/src/share/vm/memory/iterator.hpp Thu Jan 16 14:25:51 2014 +0100 362.2 +++ b/src/share/vm/memory/iterator.hpp Wed Jan 22 17:42:23 2014 -0800 362.3 @@ -1,5 +1,5 @@ 362.4 /* 362.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 362.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 362.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 362.8 * 362.9 * This code is free software; you can redistribute it and/or modify it
363.1 --- a/src/share/vm/memory/metaspaceCounters.cpp Thu Jan 16 14:25:51 2014 +0100 363.2 +++ b/src/share/vm/memory/metaspaceCounters.cpp Wed Jan 22 17:42:23 2014 -0800 363.3 @@ -1,5 +1,5 @@ 363.4 /* 363.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 363.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 363.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 363.8 * 363.9 * This code is free software; you can redistribute it and/or modify it
364.1 --- a/src/share/vm/memory/metaspaceCounters.hpp Thu Jan 16 14:25:51 2014 +0100 364.2 +++ b/src/share/vm/memory/metaspaceCounters.hpp Wed Jan 22 17:42:23 2014 -0800 364.3 @@ -1,5 +1,5 @@ 364.4 /* 364.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 364.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 364.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 364.8 * 364.9 * This code is free software; you can redistribute it and/or modify it
365.1 --- a/src/share/vm/memory/sharedHeap.hpp Thu Jan 16 14:25:51 2014 +0100 365.2 +++ b/src/share/vm/memory/sharedHeap.hpp Wed Jan 22 17:42:23 2014 -0800 365.3 @@ -1,5 +1,5 @@ 365.4 /* 365.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 365.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 365.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 365.8 * 365.9 * This code is free software; you can redistribute it and/or modify it
366.1 --- a/src/share/vm/memory/space.cpp Thu Jan 16 14:25:51 2014 +0100 366.2 +++ b/src/share/vm/memory/space.cpp Wed Jan 22 17:42:23 2014 -0800 366.3 @@ -1,5 +1,5 @@ 366.4 /* 366.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 366.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 366.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 366.8 * 366.9 * This code is free software; you can redistribute it and/or modify it
367.1 --- a/src/share/vm/memory/space.hpp Thu Jan 16 14:25:51 2014 +0100 367.2 +++ b/src/share/vm/memory/space.hpp Wed Jan 22 17:42:23 2014 -0800 367.3 @@ -1,5 +1,5 @@ 367.4 /* 367.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 367.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 367.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 367.8 * 367.9 * This code is free software; you can redistribute it and/or modify it
368.1 --- a/src/share/vm/memory/specialized_oop_closures.hpp Thu Jan 16 14:25:51 2014 +0100 368.2 +++ b/src/share/vm/memory/specialized_oop_closures.hpp Wed Jan 22 17:42:23 2014 -0800 368.3 @@ -1,5 +1,5 @@ 368.4 /* 368.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 368.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 368.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 368.8 * 368.9 * This code is free software; you can redistribute it and/or modify it
369.1 --- a/src/share/vm/memory/tenuredGeneration.cpp Thu Jan 16 14:25:51 2014 +0100 369.2 +++ b/src/share/vm/memory/tenuredGeneration.cpp Wed Jan 22 17:42:23 2014 -0800 369.3 @@ -1,5 +1,5 @@ 369.4 /* 369.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 369.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 369.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 369.8 * 369.9 * This code is free software; you can redistribute it and/or modify it
370.1 --- a/src/share/vm/memory/tenuredGeneration.hpp Thu Jan 16 14:25:51 2014 +0100 370.2 +++ b/src/share/vm/memory/tenuredGeneration.hpp Wed Jan 22 17:42:23 2014 -0800 370.3 @@ -1,5 +1,5 @@ 370.4 /* 370.5 - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 370.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 370.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 370.8 * 370.9 * This code is free software; you can redistribute it and/or modify it
371.1 --- a/src/share/vm/oops/arrayKlass.cpp Thu Jan 16 14:25:51 2014 +0100 371.2 +++ b/src/share/vm/oops/arrayKlass.cpp Wed Jan 22 17:42:23 2014 -0800 371.3 @@ -1,5 +1,5 @@ 371.4 /* 371.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 371.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 371.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 371.8 * 371.9 * This code is free software; you can redistribute it and/or modify it
372.1 --- a/src/share/vm/oops/arrayOop.hpp Thu Jan 16 14:25:51 2014 +0100 372.2 +++ b/src/share/vm/oops/arrayOop.hpp Wed Jan 22 17:42:23 2014 -0800 372.3 @@ -1,5 +1,5 @@ 372.4 /* 372.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 372.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 372.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 372.8 * 372.9 * This code is free software; you can redistribute it and/or modify it
373.1 --- a/src/share/vm/oops/compiledICHolder.cpp Thu Jan 16 14:25:51 2014 +0100 373.2 +++ b/src/share/vm/oops/compiledICHolder.cpp Wed Jan 22 17:42:23 2014 -0800 373.3 @@ -1,5 +1,5 @@ 373.4 /* 373.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 373.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 373.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 373.8 * 373.9 * This code is free software; you can redistribute it and/or modify it
374.1 --- a/src/share/vm/oops/fieldInfo.hpp Thu Jan 16 14:25:51 2014 +0100 374.2 +++ b/src/share/vm/oops/fieldInfo.hpp Wed Jan 22 17:42:23 2014 -0800 374.3 @@ -1,5 +1,5 @@ 374.4 /* 374.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 374.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 374.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 374.8 * 374.9 * This code is free software; you can redistribute it and/or modify it
375.1 --- a/src/share/vm/oops/generateOopMap.cpp Thu Jan 16 14:25:51 2014 +0100 375.2 +++ b/src/share/vm/oops/generateOopMap.cpp Wed Jan 22 17:42:23 2014 -0800 375.3 @@ -1863,11 +1863,8 @@ 375.4 constantTag tag = cp->tag_at(ldc.pool_index()); // idx is index in resolved_references 375.5 BasicType bt = ldc.result_type(); 375.6 CellTypeState cts; 375.7 - if (tag.is_klass() || 375.8 - tag.is_unresolved_klass() || 375.9 - tag.is_string() || 375.10 - tag.is_method_handle() || 375.11 - tag.is_method_type()) { 375.12 + if (tag.basic_type() == T_OBJECT) { 375.13 + assert(!tag.is_string_index() && !tag.is_klass_index(), "Unexpected index tag"); 375.14 assert(bt == T_OBJECT, "Guard is incorrect"); 375.15 cts = CellTypeState::make_line_ref(bci); 375.16 } else {
376.1 --- a/src/share/vm/oops/instanceClassLoaderKlass.cpp Thu Jan 16 14:25:51 2014 +0100 376.2 +++ b/src/share/vm/oops/instanceClassLoaderKlass.cpp Wed Jan 22 17:42:23 2014 -0800 376.3 @@ -1,5 +1,5 @@ 376.4 /* 376.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 376.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 376.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 376.8 * 376.9 * This code is free software; you can redistribute it and/or modify it
377.1 --- a/src/share/vm/oops/instanceClassLoaderKlass.hpp Thu Jan 16 14:25:51 2014 +0100 377.2 +++ b/src/share/vm/oops/instanceClassLoaderKlass.hpp Wed Jan 22 17:42:23 2014 -0800 377.3 @@ -1,5 +1,5 @@ 377.4 /* 377.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 377.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 377.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 377.8 * 377.9 * This code is free software; you can redistribute it and/or modify it
378.1 --- a/src/share/vm/oops/instanceKlass.cpp Thu Jan 16 14:25:51 2014 +0100 378.2 +++ b/src/share/vm/oops/instanceKlass.cpp Wed Jan 22 17:42:23 2014 -0800 378.3 @@ -1502,13 +1502,18 @@ 378.4 return -1; 378.5 } 378.6 378.7 -// lookup_method searches both the local methods array and all superclasses methods arrays 378.8 +// uncached_lookup_method searches both the local class methods array and all 378.9 +// superclasses methods arrays, skipping any overpass methods in superclasses. 378.10 Method* InstanceKlass::uncached_lookup_method(Symbol* name, Symbol* signature) const { 378.11 Klass* klass = const_cast<InstanceKlass*>(this); 378.12 + bool dont_ignore_overpasses = true; // For the class being searched, find its overpasses. 378.13 while (klass != NULL) { 378.14 Method* method = InstanceKlass::cast(klass)->find_method(name, signature); 378.15 - if (method != NULL) return method; 378.16 + if ((method != NULL) && (dont_ignore_overpasses || !method->is_overpass())) { 378.17 + return method; 378.18 + } 378.19 klass = InstanceKlass::cast(klass)->super(); 378.20 + dont_ignore_overpasses = false; // Ignore overpass methods in all superclasses. 378.21 } 378.22 return NULL; 378.23 } 378.24 @@ -1523,7 +1528,7 @@ 378.25 } 378.26 // Look up interfaces 378.27 if (m == NULL) { 378.28 - m = lookup_method_in_all_interfaces(name, signature); 378.29 + m = lookup_method_in_all_interfaces(name, signature, false); 378.30 } 378.31 return m; 378.32 } 378.33 @@ -1532,14 +1537,16 @@ 378.34 // Do NOT return private or static methods, new in JDK8 which are not externally visible 378.35 // They should only be found in the initial InterfaceMethodRef 378.36 Method* InstanceKlass::lookup_method_in_all_interfaces(Symbol* name, 378.37 - Symbol* signature) const { 378.38 + Symbol* signature, 378.39 + bool skip_default_methods) const { 378.40 Array<Klass*>* all_ifs = transitive_interfaces(); 378.41 int num_ifs = all_ifs->length(); 378.42 InstanceKlass *ik = NULL; 378.43 for (int i = 0; i < num_ifs; i++) { 378.44 ik = InstanceKlass::cast(all_ifs->at(i)); 378.45 Method* m = ik->lookup_method(name, signature); 378.46 - if (m != NULL && m->is_public() && !m->is_static()) { 378.47 + if (m != NULL && m->is_public() && !m->is_static() && 378.48 + (!skip_default_methods || !m->is_default_method())) { 378.49 return m; 378.50 } 378.51 }
379.1 --- a/src/share/vm/oops/instanceKlass.hpp Thu Jan 16 14:25:51 2014 +0100 379.2 +++ b/src/share/vm/oops/instanceKlass.hpp Wed Jan 22 17:42:23 2014 -0800 379.3 @@ -525,7 +525,8 @@ 379.4 379.5 // lookup a method in all the interfaces that this class implements 379.6 // (returns NULL if not found) 379.7 - Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature) const; 379.8 + Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, bool skip_default_methods) const; 379.9 + 379.10 // lookup a method in local defaults then in all interfaces 379.11 // (returns NULL if not found) 379.12 Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const;
380.1 --- a/src/share/vm/oops/instanceMirrorKlass.cpp Thu Jan 16 14:25:51 2014 +0100 380.2 +++ b/src/share/vm/oops/instanceMirrorKlass.cpp Wed Jan 22 17:42:23 2014 -0800 380.3 @@ -1,5 +1,5 @@ 380.4 /* 380.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 380.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 380.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 380.8 * 380.9 * This code is free software; you can redistribute it and/or modify it
381.1 --- a/src/share/vm/oops/instanceOop.hpp Thu Jan 16 14:25:51 2014 +0100 381.2 +++ b/src/share/vm/oops/instanceOop.hpp Wed Jan 22 17:42:23 2014 -0800 381.3 @@ -1,5 +1,5 @@ 381.4 /* 381.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 381.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 381.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 381.8 * 381.9 * This code is free software; you can redistribute it and/or modify it
382.1 --- a/src/share/vm/oops/instanceRefKlass.hpp Thu Jan 16 14:25:51 2014 +0100 382.2 +++ b/src/share/vm/oops/instanceRefKlass.hpp Wed Jan 22 17:42:23 2014 -0800 382.3 @@ -1,5 +1,5 @@ 382.4 /* 382.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 382.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 382.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 382.8 * 382.9 * This code is free software; you can redistribute it and/or modify it
383.1 --- a/src/share/vm/oops/klassPS.hpp Thu Jan 16 14:25:51 2014 +0100 383.2 +++ b/src/share/vm/oops/klassPS.hpp Wed Jan 22 17:42:23 2014 -0800 383.3 @@ -1,5 +1,5 @@ 383.4 /* 383.5 - * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. 383.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 383.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 383.8 * 383.9 * This code is free software; you can redistribute it and/or modify it
384.1 --- a/src/share/vm/oops/klassVtable.cpp Thu Jan 16 14:25:51 2014 +0100 384.2 +++ b/src/share/vm/oops/klassVtable.cpp Wed Jan 22 17:42:23 2014 -0800 384.3 @@ -622,7 +622,7 @@ 384.4 // this check for all access permissions. 384.5 InstanceKlass *sk = InstanceKlass::cast(super); 384.6 if (sk->has_miranda_methods()) { 384.7 - if (sk->lookup_method_in_all_interfaces(name, signature) != NULL) { 384.8 + if (sk->lookup_method_in_all_interfaces(name, signature, false) != NULL) { 384.9 return false; // found a matching miranda; we do not need a new entry 384.10 } 384.11 } 384.12 @@ -743,7 +743,7 @@ 384.13 if (is_miranda(im, class_methods, default_methods, super)) { // is it a miranda at all? 384.14 InstanceKlass *sk = InstanceKlass::cast(super); 384.15 // check if it is a duplicate of a super's miranda 384.16 - if (sk->lookup_method_in_all_interfaces(im->name(), im->signature()) == NULL) { 384.17 + if (sk->lookup_method_in_all_interfaces(im->name(), im->signature(), false) == NULL) { 384.18 new_mirandas->append(im); 384.19 } 384.20 if (all_mirandas != NULL) { 384.21 @@ -1085,6 +1085,8 @@ 384.22 Method* m = methods->at(i); 384.23 methodHandle target; 384.24 if (m->has_itable_index()) { 384.25 + // This search must match the runtime resolution, i.e. selection search for invokeinterface 384.26 + // to correctly enforce loader constraints for interface method inheritance 384.27 LinkResolver::lookup_instance_method_in_klasses(target, _klass, m->name(), m->signature(), CHECK); 384.28 } 384.29 if (target == NULL || !target->is_public() || target->is_abstract()) {
385.1 --- a/src/share/vm/oops/objArrayKlass.cpp Thu Jan 16 14:25:51 2014 +0100 385.2 +++ b/src/share/vm/oops/objArrayKlass.cpp Wed Jan 22 17:42:23 2014 -0800 385.3 @@ -1,5 +1,5 @@ 385.4 /* 385.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 385.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 385.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 385.8 * 385.9 * This code is free software; you can redistribute it and/or modify it
386.1 --- a/src/share/vm/oops/objArrayKlass.hpp Thu Jan 16 14:25:51 2014 +0100 386.2 +++ b/src/share/vm/oops/objArrayKlass.hpp Wed Jan 22 17:42:23 2014 -0800 386.3 @@ -1,5 +1,5 @@ 386.4 /* 386.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 386.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 386.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 386.8 * 386.9 * This code is free software; you can redistribute it and/or modify it
387.1 --- a/src/share/vm/oops/objArrayKlass.inline.hpp Thu Jan 16 14:25:51 2014 +0100 387.2 +++ b/src/share/vm/oops/objArrayKlass.inline.hpp Wed Jan 22 17:42:23 2014 -0800 387.3 @@ -1,5 +1,5 @@ 387.4 /* 387.5 - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. 387.6 + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. 387.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 387.8 * 387.9 * This code is free software; you can redistribute it and/or modify it
388.1 --- a/src/share/vm/oops/oop.pcgc.inline.hpp Thu Jan 16 14:25:51 2014 +0100 388.2 +++ b/src/share/vm/oops/oop.pcgc.inline.hpp Wed Jan 22 17:42:23 2014 -0800 388.3 @@ -1,5 +1,5 @@ 388.4 /* 388.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 388.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 388.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 388.8 * 388.9 * This code is free software; you can redistribute it and/or modify it
389.1 --- a/src/share/vm/oops/oop.psgc.inline.hpp Thu Jan 16 14:25:51 2014 +0100 389.2 +++ b/src/share/vm/oops/oop.psgc.inline.hpp Wed Jan 22 17:42:23 2014 -0800 389.3 @@ -1,5 +1,5 @@ 389.4 /* 389.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 389.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 389.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 389.8 * 389.9 * This code is free software; you can redistribute it and/or modify it
390.1 --- a/src/share/vm/oops/typeArrayKlass.cpp Thu Jan 16 14:25:51 2014 +0100 390.2 +++ b/src/share/vm/oops/typeArrayKlass.cpp Wed Jan 22 17:42:23 2014 -0800 390.3 @@ -1,5 +1,5 @@ 390.4 /* 390.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 390.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 390.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 390.8 * 390.9 * This code is free software; you can redistribute it and/or modify it
391.1 --- a/src/share/vm/oops/typeArrayKlass.hpp Thu Jan 16 14:25:51 2014 +0100 391.2 +++ b/src/share/vm/oops/typeArrayKlass.hpp Wed Jan 22 17:42:23 2014 -0800 391.3 @@ -1,5 +1,5 @@ 391.4 /* 391.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 391.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 391.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 391.8 * 391.9 * This code is free software; you can redistribute it and/or modify it
392.1 --- a/src/share/vm/opto/block.cpp Thu Jan 16 14:25:51 2014 +0100 392.2 +++ b/src/share/vm/opto/block.cpp Wed Jan 22 17:42:23 2014 -0800 392.3 @@ -1,5 +1,5 @@ 392.4 /* 392.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 392.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 392.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 392.8 * 392.9 * This code is free software; you can redistribute it and/or modify it
393.1 --- a/src/share/vm/opto/block.hpp Thu Jan 16 14:25:51 2014 +0100 393.2 +++ b/src/share/vm/opto/block.hpp Wed Jan 22 17:42:23 2014 -0800 393.3 @@ -1,5 +1,5 @@ 393.4 /* 393.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 393.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 393.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 393.8 * 393.9 * This code is free software; you can redistribute it and/or modify it
394.1 --- a/src/share/vm/opto/buildOopMap.cpp Thu Jan 16 14:25:51 2014 +0100 394.2 +++ b/src/share/vm/opto/buildOopMap.cpp Wed Jan 22 17:42:23 2014 -0800 394.3 @@ -1,5 +1,5 @@ 394.4 /* 394.5 - * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. 394.6 + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 394.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 394.8 * 394.9 * This code is free software; you can redistribute it and/or modify it
395.1 --- a/src/share/vm/opto/bytecodeInfo.cpp Thu Jan 16 14:25:51 2014 +0100 395.2 +++ b/src/share/vm/opto/bytecodeInfo.cpp Wed Jan 22 17:42:23 2014 -0800 395.3 @@ -1,5 +1,5 @@ 395.4 /* 395.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 395.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 395.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 395.8 * 395.9 * This code is free software; you can redistribute it and/or modify it 395.10 @@ -50,7 +50,10 @@ 395.11 _subtrees(c->comp_arena(), 2, 0, NULL), 395.12 _msg(NULL) 395.13 { 395.14 - NOT_PRODUCT(_count_inlines = 0;) 395.15 +#ifndef PRODUCT 395.16 + _count_inlines = 0; 395.17 + _forced_inline = false; 395.18 +#endif 395.19 if (_caller_jvms != NULL) { 395.20 // Keep a private copy of the caller_jvms: 395.21 _caller_jvms = new (C) JVMState(caller_jvms->method(), caller_tree->caller_jvms()); 395.22 @@ -81,7 +84,10 @@ 395.23 _count_inline_bcs(method()->code_size()), 395.24 _msg(NULL) 395.25 { 395.26 - NOT_PRODUCT(_count_inlines = 0;) 395.27 +#ifndef PRODUCT 395.28 + _count_inlines = 0; 395.29 + _forced_inline = false; 395.30 +#endif 395.31 assert(!UseOldInlining, "do not use for old stuff"); 395.32 } 395.33 395.34 @@ -128,9 +134,19 @@ 395.35 tty->print_cr("Inlined method is hot: "); 395.36 } 395.37 set_msg("force inline by CompilerOracle"); 395.38 + _forced_inline = true; 395.39 return true; 395.40 } 395.41 395.42 +#ifndef PRODUCT 395.43 + int inline_depth = inline_level()+1; 395.44 + if (ciReplay::should_inline(C->replay_inline_data(), callee_method, caller_bci, inline_depth)) { 395.45 + set_msg("force inline by ciReplay"); 395.46 + _forced_inline = true; 395.47 + return true; 395.48 + } 395.49 +#endif 395.50 + 395.51 int size = callee_method->code_size_for_inlining(); 395.52 395.53 // Check for too many throws (and not too huge) 395.54 @@ -264,6 +280,18 @@ 395.55 } 395.56 395.57 #ifndef PRODUCT 395.58 + int caller_bci = jvms->bci(); 395.59 + int inline_depth = inline_level()+1; 395.60 + if (ciReplay::should_inline(C->replay_inline_data(), callee_method, caller_bci, inline_depth)) { 395.61 + set_msg("force inline by ciReplay"); 395.62 + return false; 395.63 + } 395.64 + 395.65 + if (ciReplay::should_not_inline(C->replay_inline_data(), callee_method, caller_bci, inline_depth)) { 395.66 + set_msg("disallowed by ciReplay"); 395.67 + return true; 395.68 + } 395.69 + 395.70 if (ciReplay::should_not_inline(callee_method)) { 395.71 set_msg("disallowed by ciReplay"); 395.72 return true; 395.73 @@ -343,6 +371,7 @@ 395.74 } 395.75 } 395.76 395.77 + _forced_inline = false; // Reset 395.78 if (!should_inline(callee_method, caller_method, caller_bci, profile, 395.79 wci_result)) { 395.80 return false; 395.81 @@ -373,10 +402,10 @@ 395.82 395.83 if ((!UseInterpreter || CompileTheWorld) && 395.84 is_init_with_ea(callee_method, caller_method, C)) { 395.85 - 395.86 // Escape Analysis stress testing when running Xcomp or CTW: 395.87 // inline constructors even if they are not reached. 395.88 - 395.89 + } else if (forced_inline()) { 395.90 + // Inlining was forced by CompilerOracle or ciReplay 395.91 } else if (profile.count() == 0) { 395.92 // don't inline unreached call sites 395.93 set_msg("call site not reached"); 395.94 @@ -700,12 +729,28 @@ 395.95 return iltp; 395.96 } 395.97 395.98 +// Count number of nodes in this subtree 395.99 +int InlineTree::count() const { 395.100 + int result = 1; 395.101 + for (int i = 0 ; i < _subtrees.length(); i++) { 395.102 + result += _subtrees.at(i)->count(); 395.103 + } 395.104 + return result; 395.105 +} 395.106 + 395.107 +void InlineTree::dump_replay_data(outputStream* out) { 395.108 + out->print(" %d %d ", inline_level(), caller_bci()); 395.109 + method()->dump_name_as_ascii(out); 395.110 + for (int i = 0 ; i < _subtrees.length(); i++) { 395.111 + _subtrees.at(i)->dump_replay_data(out); 395.112 + } 395.113 +} 395.114 395.115 395.116 #ifndef PRODUCT 395.117 void InlineTree::print_impl(outputStream* st, int indent) const { 395.118 for (int i = 0; i < indent; i++) st->print(" "); 395.119 - st->print(" @ %d ", caller_bci()); 395.120 + st->print(" @ %d", caller_bci()); 395.121 method()->print_short_name(st); 395.122 st->cr(); 395.123
396.1 --- a/src/share/vm/opto/c2compiler.cpp Thu Jan 16 14:25:51 2014 +0100 396.2 +++ b/src/share/vm/opto/c2compiler.cpp Wed Jan 22 17:42:23 2014 -0800 396.3 @@ -1,5 +1,5 @@ 396.4 /* 396.5 - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 396.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 396.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 396.8 * 396.9 * This code is free software; you can redistribute it and/or modify it
397.1 --- a/src/share/vm/opto/c2compiler.hpp Thu Jan 16 14:25:51 2014 +0100 397.2 +++ b/src/share/vm/opto/c2compiler.hpp Wed Jan 22 17:42:23 2014 -0800 397.3 @@ -1,5 +1,5 @@ 397.4 /* 397.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 397.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 397.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 397.8 * 397.9 * This code is free software; you can redistribute it and/or modify it
398.1 --- a/src/share/vm/opto/callGenerator.cpp Thu Jan 16 14:25:51 2014 +0100 398.2 +++ b/src/share/vm/opto/callGenerator.cpp Wed Jan 22 17:42:23 2014 -0800 398.3 @@ -1,5 +1,5 @@ 398.4 /* 398.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 398.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 398.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 398.8 * 398.9 * This code is free software; you can redistribute it and/or modify it
399.1 --- a/src/share/vm/opto/callnode.cpp Thu Jan 16 14:25:51 2014 +0100 399.2 +++ b/src/share/vm/opto/callnode.cpp Wed Jan 22 17:42:23 2014 -0800 399.3 @@ -1,5 +1,5 @@ 399.4 /* 399.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 399.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 399.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 399.8 * 399.9 * This code is free software; you can redistribute it and/or modify it
400.1 --- a/src/share/vm/opto/cfgnode.cpp Thu Jan 16 14:25:51 2014 +0100 400.2 +++ b/src/share/vm/opto/cfgnode.cpp Wed Jan 22 17:42:23 2014 -0800 400.3 @@ -1018,7 +1018,7 @@ 400.4 !jtkp->klass_is_exact() && // Keep exact interface klass (6894807) 400.5 ttkp->is_loaded() && !ttkp->klass()->is_interface() ) { 400.6 assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) || 400.7 - ft->isa_narrowoop() && ft->make_ptr() == ttkp->cast_to_ptr_type(jtkp->ptr()), ""); 400.8 + ft->isa_narrowklass() && ft->make_ptr() == ttkp->cast_to_ptr_type(jtkp->ptr()), ""); 400.9 jt = ft; 400.10 } 400.11 }
401.1 --- a/src/share/vm/opto/chaitin.cpp Thu Jan 16 14:25:51 2014 +0100 401.2 +++ b/src/share/vm/opto/chaitin.cpp Wed Jan 22 17:42:23 2014 -0800 401.3 @@ -1682,9 +1682,21 @@ 401.4 // (where top() node is placed). 401.5 base->init_req(0, _cfg.get_root_node()); 401.6 Block *startb = _cfg.get_block_for_node(C->top()); 401.7 - startb->insert_node(base, startb->find_node(C->top())); 401.8 + uint node_pos = startb->find_node(C->top()); 401.9 + startb->insert_node(base, node_pos); 401.10 _cfg.map_node_to_block(base, startb); 401.11 assert(_lrg_map.live_range_id(base) == 0, "should not have LRG yet"); 401.12 + 401.13 + // The loadConP0 might have projection nodes depending on architecture 401.14 + // Add the projection nodes to the CFG 401.15 + for (DUIterator_Fast imax, i = base->fast_outs(imax); i < imax; i++) { 401.16 + Node* use = base->fast_out(i); 401.17 + if (use->is_MachProj()) { 401.18 + startb->insert_node(use, ++node_pos); 401.19 + _cfg.map_node_to_block(use, startb); 401.20 + new_lrg(use, maxlrg++); 401.21 + } 401.22 + } 401.23 } 401.24 if (_lrg_map.live_range_id(base) == 0) { 401.25 new_lrg(base, maxlrg++);
402.1 --- a/src/share/vm/opto/chaitin.hpp Thu Jan 16 14:25:51 2014 +0100 402.2 +++ b/src/share/vm/opto/chaitin.hpp Wed Jan 22 17:42:23 2014 -0800 402.3 @@ -1,5 +1,5 @@ 402.4 /* 402.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 402.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 402.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 402.8 * 402.9 * This code is free software; you can redistribute it and/or modify it
403.1 --- a/src/share/vm/opto/classes.cpp Thu Jan 16 14:25:51 2014 +0100 403.2 +++ b/src/share/vm/opto/classes.cpp Wed Jan 22 17:42:23 2014 -0800 403.3 @@ -1,5 +1,5 @@ 403.4 /* 403.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 403.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 403.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 403.8 * 403.9 * This code is free software; you can redistribute it and/or modify it
404.1 --- a/src/share/vm/opto/classes.hpp Thu Jan 16 14:25:51 2014 +0100 404.2 +++ b/src/share/vm/opto/classes.hpp Wed Jan 22 17:42:23 2014 -0800 404.3 @@ -1,5 +1,5 @@ 404.4 /* 404.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 404.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 404.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 404.8 * 404.9 * This code is free software; you can redistribute it and/or modify it
405.1 --- a/src/share/vm/opto/coalesce.hpp Thu Jan 16 14:25:51 2014 +0100 405.2 +++ b/src/share/vm/opto/coalesce.hpp Wed Jan 22 17:42:23 2014 -0800 405.3 @@ -1,5 +1,5 @@ 405.4 /* 405.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 405.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 405.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 405.8 * 405.9 * This code is free software; you can redistribute it and/or modify it
406.1 --- a/src/share/vm/opto/compile.cpp Thu Jan 16 14:25:51 2014 +0100 406.2 +++ b/src/share/vm/opto/compile.cpp Wed Jan 22 17:42:23 2014 -0800 406.3 @@ -25,6 +25,7 @@ 406.4 #include "precompiled.hpp" 406.5 #include "asm/macroAssembler.hpp" 406.6 #include "asm/macroAssembler.inline.hpp" 406.7 +#include "ci/ciReplay.hpp" 406.8 #include "classfile/systemDictionary.hpp" 406.9 #include "code/exceptionHandlerTable.hpp" 406.10 #include "code/nmethod.hpp" 406.11 @@ -651,6 +652,7 @@ 406.12 _printer(IdealGraphPrinter::printer()), 406.13 #endif 406.14 _congraph(NULL), 406.15 + _replay_inline_data(NULL), 406.16 _late_inlines(comp_arena(), 2, 0, NULL), 406.17 _string_late_inlines(comp_arena(), 2, 0, NULL), 406.18 _boxing_late_inlines(comp_arena(), 2, 0, NULL), 406.19 @@ -684,6 +686,10 @@ 406.20 } 406.21 set_print_assembly(print_opto_assembly); 406.22 set_parsed_irreducible_loop(false); 406.23 + 406.24 + if (method()->has_option("ReplayInline")) { 406.25 + _replay_inline_data = ciReplay::load_inline_data(method(), entry_bci(), ci_env->comp_level()); 406.26 + } 406.27 #endif 406.28 set_print_inlining(PrintInlining || method()->has_option("PrintInlining") NOT_PRODUCT( || PrintOptoInlining)); 406.29 set_print_intrinsics(PrintIntrinsics || method()->has_option("PrintIntrinsics")); 406.30 @@ -853,6 +859,15 @@ 406.31 #endif 406.32 406.33 NOT_PRODUCT( verify_barriers(); ) 406.34 + 406.35 + // Dump compilation data to replay it. 406.36 + if (method()->has_option("DumpReplay")) { 406.37 + env()->dump_replay_data(_compile_id); 406.38 + } 406.39 + if (method()->has_option("DumpInline") && (ilt() != NULL)) { 406.40 + env()->dump_inline_data(_compile_id); 406.41 + } 406.42 + 406.43 // Now that we know the size of all the monitors we can add a fixed slot 406.44 // for the original deopt pc. 406.45 406.46 @@ -947,6 +962,7 @@ 406.47 _dead_node_list(comp_arena()), 406.48 _dead_node_count(0), 406.49 _congraph(NULL), 406.50 + _replay_inline_data(NULL), 406.51 _number_of_mh_late_inlines(0), 406.52 _inlining_progress(false), 406.53 _inlining_incrementally(false), 406.54 @@ -3786,6 +3802,16 @@ 406.55 } 406.56 } 406.57 406.58 +// Dump inlining replay data to the stream. 406.59 +// Don't change thread state and acquire any locks. 406.60 +void Compile::dump_inline_data(outputStream* out) { 406.61 + InlineTree* inl_tree = ilt(); 406.62 + if (inl_tree != NULL) { 406.63 + out->print(" inline %d", inl_tree->count()); 406.64 + inl_tree->dump_replay_data(out); 406.65 + } 406.66 +} 406.67 + 406.68 int Compile::cmp_expensive_nodes(Node* n1, Node* n2) { 406.69 if (n1->Opcode() < n2->Opcode()) return -1; 406.70 else if (n1->Opcode() > n2->Opcode()) return 1;
407.1 --- a/src/share/vm/opto/compile.hpp Thu Jan 16 14:25:51 2014 +0100 407.2 +++ b/src/share/vm/opto/compile.hpp Wed Jan 22 17:42:23 2014 -0800 407.3 @@ -431,6 +431,8 @@ 407.4 // Are we within a PreserveJVMState block? 407.5 int _preserve_jvm_state; 407.6 407.7 + void* _replay_inline_data; // Pointer to data loaded from file 407.8 + 407.9 public: 407.10 407.11 outputStream* print_inlining_stream() const { 407.12 @@ -465,6 +467,11 @@ 407.13 print_inlining_stream()->print(ss.as_string()); 407.14 } 407.15 407.16 + void* replay_inline_data() const { return _replay_inline_data; } 407.17 + 407.18 + // Dump inlining replay data to the stream. 407.19 + void dump_inline_data(outputStream* out); 407.20 + 407.21 private: 407.22 // Matching, CFG layout, allocation, code generation 407.23 PhaseCFG* _cfg; // Results of CFG finding
408.1 --- a/src/share/vm/opto/connode.cpp Thu Jan 16 14:25:51 2014 +0100 408.2 +++ b/src/share/vm/opto/connode.cpp Wed Jan 22 17:42:23 2014 -0800 408.3 @@ -1,5 +1,5 @@ 408.4 /* 408.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 408.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 408.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 408.8 * 408.9 * This code is free software; you can redistribute it and/or modify it
409.1 --- a/src/share/vm/opto/doCall.cpp Thu Jan 16 14:25:51 2014 +0100 409.2 +++ b/src/share/vm/opto/doCall.cpp Wed Jan 22 17:42:23 2014 -0800 409.3 @@ -1,5 +1,5 @@ 409.4 /* 409.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 409.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 409.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 409.8 * 409.9 * This code is free software; you can redistribute it and/or modify it
410.1 --- a/src/share/vm/opto/domgraph.cpp Thu Jan 16 14:25:51 2014 +0100 410.2 +++ b/src/share/vm/opto/domgraph.cpp Wed Jan 22 17:42:23 2014 -0800 410.3 @@ -1,5 +1,5 @@ 410.4 /* 410.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 410.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 410.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 410.8 * 410.9 * This code is free software; you can redistribute it and/or modify it
411.1 --- a/src/share/vm/opto/escape.cpp Thu Jan 16 14:25:51 2014 +0100 411.2 +++ b/src/share/vm/opto/escape.cpp Wed Jan 22 17:42:23 2014 -0800 411.3 @@ -1579,9 +1579,20 @@ 411.4 jobj->set_scalar_replaceable(false); 411.5 return; 411.6 } 411.7 + // 2. An object is not scalar replaceable if the field into which it is 411.8 + // stored has multiple bases one of which is null. 411.9 + if (field->base_count() > 1) { 411.10 + for (BaseIterator i(field); i.has_next(); i.next()) { 411.11 + PointsToNode* base = i.get(); 411.12 + if (base == null_obj) { 411.13 + jobj->set_scalar_replaceable(false); 411.14 + return; 411.15 + } 411.16 + } 411.17 + } 411.18 } 411.19 assert(use->is_Field() || use->is_LocalVar(), "sanity"); 411.20 - // 2. An object is not scalar replaceable if it is merged with other objects. 411.21 + // 3. An object is not scalar replaceable if it is merged with other objects. 411.22 for (EdgeIterator j(use); j.has_next(); j.next()) { 411.23 PointsToNode* ptn = j.get(); 411.24 if (ptn->is_JavaObject() && ptn != jobj) { 411.25 @@ -1600,13 +1611,13 @@ 411.26 FieldNode* field = j.get()->as_Field(); 411.27 int offset = field->as_Field()->offset(); 411.28 411.29 - // 3. An object is not scalar replaceable if it has a field with unknown 411.30 + // 4. An object is not scalar replaceable if it has a field with unknown 411.31 // offset (array's element is accessed in loop). 411.32 if (offset == Type::OffsetBot) { 411.33 jobj->set_scalar_replaceable(false); 411.34 return; 411.35 } 411.36 - // 4. Currently an object is not scalar replaceable if a LoadStore node 411.37 + // 5. Currently an object is not scalar replaceable if a LoadStore node 411.38 // access its field since the field value is unknown after it. 411.39 // 411.40 Node* n = field->ideal_node(); 411.41 @@ -1617,7 +1628,7 @@ 411.42 } 411.43 } 411.44 411.45 - // 5. Or the address may point to more then one object. This may produce 411.46 + // 6. Or the address may point to more then one object. This may produce 411.47 // the false positive result (set not scalar replaceable) 411.48 // since the flow-insensitive escape analysis can't separate 411.49 // the case when stores overwrite the field's value from the case
412.1 --- a/src/share/vm/opto/gcm.cpp Thu Jan 16 14:25:51 2014 +0100 412.2 +++ b/src/share/vm/opto/gcm.cpp Wed Jan 22 17:42:23 2014 -0800 412.3 @@ -1,5 +1,5 @@ 412.4 /* 412.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 412.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 412.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 412.8 * 412.9 * This code is free software; you can redistribute it and/or modify it
413.1 --- a/src/share/vm/opto/generateOptoStub.cpp Thu Jan 16 14:25:51 2014 +0100 413.2 +++ b/src/share/vm/opto/generateOptoStub.cpp Wed Jan 22 17:42:23 2014 -0800 413.3 @@ -1,5 +1,5 @@ 413.4 /* 413.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 413.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 413.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 413.8 * 413.9 * This code is free software; you can redistribute it and/or modify it
414.1 --- a/src/share/vm/opto/graphKit.cpp Thu Jan 16 14:25:51 2014 +0100 414.2 +++ b/src/share/vm/opto/graphKit.cpp Wed Jan 22 17:42:23 2014 -0800 414.3 @@ -1,5 +1,5 @@ 414.4 /* 414.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 414.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 414.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 414.8 * 414.9 * This code is free software; you can redistribute it and/or modify it
415.1 --- a/src/share/vm/opto/graphKit.hpp Thu Jan 16 14:25:51 2014 +0100 415.2 +++ b/src/share/vm/opto/graphKit.hpp Wed Jan 22 17:42:23 2014 -0800 415.3 @@ -1,5 +1,5 @@ 415.4 /* 415.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 415.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 415.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 415.8 * 415.9 * This code is free software; you can redistribute it and/or modify it
416.1 --- a/src/share/vm/opto/idealKit.cpp Thu Jan 16 14:25:51 2014 +0100 416.2 +++ b/src/share/vm/opto/idealKit.cpp Wed Jan 22 17:42:23 2014 -0800 416.3 @@ -1,5 +1,5 @@ 416.4 /* 416.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 416.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 416.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 416.8 * 416.9 * This code is free software; you can redistribute it and/or modify it
417.1 --- a/src/share/vm/opto/idealKit.hpp Thu Jan 16 14:25:51 2014 +0100 417.2 +++ b/src/share/vm/opto/idealKit.hpp Wed Jan 22 17:42:23 2014 -0800 417.3 @@ -1,5 +1,5 @@ 417.4 /* 417.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 417.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 417.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 417.8 * 417.9 * This code is free software; you can redistribute it and/or modify it
418.1 --- a/src/share/vm/opto/ifg.cpp Thu Jan 16 14:25:51 2014 +0100 418.2 +++ b/src/share/vm/opto/ifg.cpp Wed Jan 22 17:42:23 2014 -0800 418.3 @@ -1,5 +1,5 @@ 418.4 /* 418.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 418.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 418.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 418.8 * 418.9 * This code is free software; you can redistribute it and/or modify it
419.1 --- a/src/share/vm/opto/ifnode.cpp Thu Jan 16 14:25:51 2014 +0100 419.2 +++ b/src/share/vm/opto/ifnode.cpp Wed Jan 22 17:42:23 2014 -0800 419.3 @@ -1,5 +1,5 @@ 419.4 /* 419.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 419.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 419.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 419.8 * 419.9 * This code is free software; you can redistribute it and/or modify it
420.1 --- a/src/share/vm/opto/lcm.cpp Thu Jan 16 14:25:51 2014 +0100 420.2 +++ b/src/share/vm/opto/lcm.cpp Wed Jan 22 17:42:23 2014 -0800 420.3 @@ -1,5 +1,5 @@ 420.4 /* 420.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 420.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 420.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 420.8 * 420.9 * This code is free software; you can redistribute it and/or modify it
421.1 --- a/src/share/vm/opto/live.cpp Thu Jan 16 14:25:51 2014 +0100 421.2 +++ b/src/share/vm/opto/live.cpp Wed Jan 22 17:42:23 2014 -0800 421.3 @@ -1,5 +1,5 @@ 421.4 /* 421.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 421.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 421.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 421.8 * 421.9 * This code is free software; you can redistribute it and/or modify it
422.1 --- a/src/share/vm/opto/live.hpp Thu Jan 16 14:25:51 2014 +0100 422.2 +++ b/src/share/vm/opto/live.hpp Wed Jan 22 17:42:23 2014 -0800 422.3 @@ -1,5 +1,5 @@ 422.4 /* 422.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 422.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 422.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 422.8 * 422.9 * This code is free software; you can redistribute it and/or modify it
423.1 --- a/src/share/vm/opto/loopPredicate.cpp Thu Jan 16 14:25:51 2014 +0100 423.2 +++ b/src/share/vm/opto/loopPredicate.cpp Wed Jan 22 17:42:23 2014 -0800 423.3 @@ -1,5 +1,5 @@ 423.4 /* 423.5 - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 423.6 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 423.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 423.8 * 423.9 * This code is free software; you can redistribute it and/or modify it
424.1 --- a/src/share/vm/opto/loopTransform.cpp Thu Jan 16 14:25:51 2014 +0100 424.2 +++ b/src/share/vm/opto/loopTransform.cpp Wed Jan 22 17:42:23 2014 -0800 424.3 @@ -1,5 +1,5 @@ 424.4 /* 424.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 424.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 424.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 424.8 * 424.9 * This code is free software; you can redistribute it and/or modify it
425.1 --- a/src/share/vm/opto/loopnode.hpp Thu Jan 16 14:25:51 2014 +0100 425.2 +++ b/src/share/vm/opto/loopnode.hpp Wed Jan 22 17:42:23 2014 -0800 425.3 @@ -1,5 +1,5 @@ 425.4 /* 425.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 425.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 425.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 425.8 * 425.9 * This code is free software; you can redistribute it and/or modify it
426.1 --- a/src/share/vm/opto/loopopts.cpp Thu Jan 16 14:25:51 2014 +0100 426.2 +++ b/src/share/vm/opto/loopopts.cpp Wed Jan 22 17:42:23 2014 -0800 426.3 @@ -1,5 +1,5 @@ 426.4 /* 426.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 426.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 426.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 426.8 * 426.9 * This code is free software; you can redistribute it and/or modify it
427.1 --- a/src/share/vm/opto/macro.cpp Thu Jan 16 14:25:51 2014 +0100 427.2 +++ b/src/share/vm/opto/macro.cpp Wed Jan 22 17:42:23 2014 -0800 427.3 @@ -1,5 +1,5 @@ 427.4 /* 427.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 427.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 427.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 427.8 * 427.9 * This code is free software; you can redistribute it and/or modify it
428.1 --- a/src/share/vm/opto/macro.hpp Thu Jan 16 14:25:51 2014 +0100 428.2 +++ b/src/share/vm/opto/macro.hpp Wed Jan 22 17:42:23 2014 -0800 428.3 @@ -1,5 +1,5 @@ 428.4 /* 428.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 428.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 428.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 428.8 * 428.9 * This code is free software; you can redistribute it and/or modify it
429.1 --- a/src/share/vm/opto/matcher.hpp Thu Jan 16 14:25:51 2014 +0100 429.2 +++ b/src/share/vm/opto/matcher.hpp Wed Jan 22 17:42:23 2014 -0800 429.3 @@ -1,5 +1,5 @@ 429.4 /* 429.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 429.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 429.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 429.8 * 429.9 * This code is free software; you can redistribute it and/or modify it
430.1 --- a/src/share/vm/opto/memnode.cpp Thu Jan 16 14:25:51 2014 +0100 430.2 +++ b/src/share/vm/opto/memnode.cpp Wed Jan 22 17:42:23 2014 -0800 430.3 @@ -1,5 +1,5 @@ 430.4 /* 430.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 430.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 430.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 430.8 * 430.9 * This code is free software; you can redistribute it and/or modify it
431.1 --- a/src/share/vm/opto/memnode.hpp Thu Jan 16 14:25:51 2014 +0100 431.2 +++ b/src/share/vm/opto/memnode.hpp Wed Jan 22 17:42:23 2014 -0800 431.3 @@ -1,5 +1,5 @@ 431.4 /* 431.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 431.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 431.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 431.8 * 431.9 * This code is free software; you can redistribute it and/or modify it
432.1 --- a/src/share/vm/opto/multnode.cpp Thu Jan 16 14:25:51 2014 +0100 432.2 +++ b/src/share/vm/opto/multnode.cpp Wed Jan 22 17:42:23 2014 -0800 432.3 @@ -1,5 +1,5 @@ 432.4 /* 432.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 432.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 432.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 432.8 * 432.9 * This code is free software; you can redistribute it and/or modify it
433.1 --- a/src/share/vm/opto/multnode.hpp Thu Jan 16 14:25:51 2014 +0100 433.2 +++ b/src/share/vm/opto/multnode.hpp Wed Jan 22 17:42:23 2014 -0800 433.3 @@ -1,5 +1,5 @@ 433.4 /* 433.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 433.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 433.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 433.8 * 433.9 * This code is free software; you can redistribute it and/or modify it
434.1 --- a/src/share/vm/opto/node.cpp Thu Jan 16 14:25:51 2014 +0100 434.2 +++ b/src/share/vm/opto/node.cpp Wed Jan 22 17:42:23 2014 -0800 434.3 @@ -1,5 +1,5 @@ 434.4 /* 434.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 434.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 434.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 434.8 * 434.9 * This code is free software; you can redistribute it and/or modify it
435.1 --- a/src/share/vm/opto/optoreg.hpp Thu Jan 16 14:25:51 2014 +0100 435.2 +++ b/src/share/vm/opto/optoreg.hpp Wed Jan 22 17:42:23 2014 -0800 435.3 @@ -1,5 +1,5 @@ 435.4 /* 435.5 - * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved. 435.6 + * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. 435.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 435.8 * 435.9 * This code is free software; you can redistribute it and/or modify it
436.1 --- a/src/share/vm/opto/output.cpp Thu Jan 16 14:25:51 2014 +0100 436.2 +++ b/src/share/vm/opto/output.cpp Wed Jan 22 17:42:23 2014 -0800 436.3 @@ -1,5 +1,5 @@ 436.4 /* 436.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 436.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 436.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 436.8 * 436.9 * This code is free software; you can redistribute it and/or modify it
437.1 --- a/src/share/vm/opto/output.hpp Thu Jan 16 14:25:51 2014 +0100 437.2 +++ b/src/share/vm/opto/output.hpp Wed Jan 22 17:42:23 2014 -0800 437.3 @@ -1,5 +1,5 @@ 437.4 /* 437.5 - * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 437.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 437.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 437.8 * 437.9 * This code is free software; you can redistribute it and/or modify it
438.1 --- a/src/share/vm/opto/parse.hpp Thu Jan 16 14:25:51 2014 +0100 438.2 +++ b/src/share/vm/opto/parse.hpp Wed Jan 22 17:42:23 2014 -0800 438.3 @@ -1,5 +1,5 @@ 438.4 /* 438.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 438.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 438.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 438.8 * 438.9 * This code is free software; you can redistribute it and/or modify it 438.10 @@ -141,6 +141,13 @@ 438.11 GrowableArray<InlineTree*> subtrees() { return _subtrees; } 438.12 438.13 void print_value_on(outputStream* st) const PRODUCT_RETURN; 438.14 + 438.15 + bool _forced_inline; // Inlining was forced by CompilerOracle or ciReplay 438.16 + bool forced_inline() const { return _forced_inline; } 438.17 + // Count number of nodes in this subtree 438.18 + int count() const; 438.19 + // Dump inlining replay data to the stream. 438.20 + void dump_replay_data(outputStream* out); 438.21 }; 438.22 438.23
439.1 --- a/src/share/vm/opto/parse1.cpp Thu Jan 16 14:25:51 2014 +0100 439.2 +++ b/src/share/vm/opto/parse1.cpp Wed Jan 22 17:42:23 2014 -0800 439.3 @@ -1,5 +1,5 @@ 439.4 /* 439.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 439.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 439.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 439.8 * 439.9 * This code is free software; you can redistribute it and/or modify it
440.1 --- a/src/share/vm/opto/parse2.cpp Thu Jan 16 14:25:51 2014 +0100 440.2 +++ b/src/share/vm/opto/parse2.cpp Wed Jan 22 17:42:23 2014 -0800 440.3 @@ -1,5 +1,5 @@ 440.4 /* 440.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 440.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 440.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 440.8 * 440.9 * This code is free software; you can redistribute it and/or modify it
441.1 --- a/src/share/vm/opto/phase.cpp Thu Jan 16 14:25:51 2014 +0100 441.2 +++ b/src/share/vm/opto/phase.cpp Wed Jan 22 17:42:23 2014 -0800 441.3 @@ -1,5 +1,5 @@ 441.4 /* 441.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 441.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 441.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 441.8 * 441.9 * This code is free software; you can redistribute it and/or modify it
442.1 --- a/src/share/vm/opto/phase.hpp Thu Jan 16 14:25:51 2014 +0100 442.2 +++ b/src/share/vm/opto/phase.hpp Wed Jan 22 17:42:23 2014 -0800 442.3 @@ -1,5 +1,5 @@ 442.4 /* 442.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 442.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 442.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 442.8 * 442.9 * This code is free software; you can redistribute it and/or modify it
443.1 --- a/src/share/vm/opto/phaseX.cpp Thu Jan 16 14:25:51 2014 +0100 443.2 +++ b/src/share/vm/opto/phaseX.cpp Wed Jan 22 17:42:23 2014 -0800 443.3 @@ -1,5 +1,5 @@ 443.4 /* 443.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 443.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 443.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 443.8 * 443.9 * This code is free software; you can redistribute it and/or modify it
444.1 --- a/src/share/vm/opto/phaseX.hpp Thu Jan 16 14:25:51 2014 +0100 444.2 +++ b/src/share/vm/opto/phaseX.hpp Wed Jan 22 17:42:23 2014 -0800 444.3 @@ -1,5 +1,5 @@ 444.4 /* 444.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 444.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 444.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 444.8 * 444.9 * This code is free software; you can redistribute it and/or modify it
445.1 --- a/src/share/vm/opto/postaloc.cpp Thu Jan 16 14:25:51 2014 +0100 445.2 +++ b/src/share/vm/opto/postaloc.cpp Wed Jan 22 17:42:23 2014 -0800 445.3 @@ -1,5 +1,5 @@ 445.4 /* 445.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 445.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 445.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 445.8 * 445.9 * This code is free software; you can redistribute it and/or modify it
446.1 --- a/src/share/vm/opto/reg_split.cpp Thu Jan 16 14:25:51 2014 +0100 446.2 +++ b/src/share/vm/opto/reg_split.cpp Wed Jan 22 17:42:23 2014 -0800 446.3 @@ -1,5 +1,5 @@ 446.4 /* 446.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 446.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 446.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 446.8 * 446.9 * This code is free software; you can redistribute it and/or modify it
447.1 --- a/src/share/vm/opto/regalloc.cpp Thu Jan 16 14:25:51 2014 +0100 447.2 +++ b/src/share/vm/opto/regalloc.cpp Wed Jan 22 17:42:23 2014 -0800 447.3 @@ -1,5 +1,5 @@ 447.4 /* 447.5 - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 447.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 447.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 447.8 * 447.9 * This code is free software; you can redistribute it and/or modify it
448.1 --- a/src/share/vm/opto/regalloc.hpp Thu Jan 16 14:25:51 2014 +0100 448.2 +++ b/src/share/vm/opto/regalloc.hpp Wed Jan 22 17:42:23 2014 -0800 448.3 @@ -1,5 +1,5 @@ 448.4 /* 448.5 - * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 448.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 448.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 448.8 * 448.9 * This code is free software; you can redistribute it and/or modify it
449.1 --- a/src/share/vm/opto/subnode.cpp Thu Jan 16 14:25:51 2014 +0100 449.2 +++ b/src/share/vm/opto/subnode.cpp Wed Jan 22 17:42:23 2014 -0800 449.3 @@ -1,5 +1,5 @@ 449.4 /* 449.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 449.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 449.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 449.8 * 449.9 * This code is free software; you can redistribute it and/or modify it
450.1 --- a/src/share/vm/opto/subnode.hpp Thu Jan 16 14:25:51 2014 +0100 450.2 +++ b/src/share/vm/opto/subnode.hpp Wed Jan 22 17:42:23 2014 -0800 450.3 @@ -1,5 +1,5 @@ 450.4 /* 450.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 450.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 450.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 450.8 * 450.9 * This code is free software; you can redistribute it and/or modify it
451.1 --- a/src/share/vm/opto/superword.cpp Thu Jan 16 14:25:51 2014 +0100 451.2 +++ b/src/share/vm/opto/superword.cpp Wed Jan 22 17:42:23 2014 -0800 451.3 @@ -1,5 +1,5 @@ 451.4 /* 451.5 - * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 451.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 451.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 451.8 * 451.9 * This code is free software; you can redistribute it and/or modify it
452.1 --- a/src/share/vm/opto/superword.hpp Thu Jan 16 14:25:51 2014 +0100 452.2 +++ b/src/share/vm/opto/superword.hpp Wed Jan 22 17:42:23 2014 -0800 452.3 @@ -1,5 +1,5 @@ 452.4 /* 452.5 - * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 452.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 452.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 452.8 * 452.9 * This code is free software; you can redistribute it and/or modify it
453.1 --- a/src/share/vm/opto/type.cpp Thu Jan 16 14:25:51 2014 +0100 453.2 +++ b/src/share/vm/opto/type.cpp Wed Jan 22 17:42:23 2014 -0800 453.3 @@ -3818,17 +3818,17 @@ 453.4 tary = TypeAry::make(Type::BOTTOM, tary->_size, tary->_stable); 453.5 } 453.6 } else // Non integral arrays. 453.7 - // Must fall to bottom if exact klasses in upper lattice 453.8 - // are not equal or super klass is exact. 453.9 - if ( above_centerline(ptr) && klass() != tap->klass() && 453.10 - // meet with top[] and bottom[] are processed further down: 453.11 - tap ->_klass != NULL && this->_klass != NULL && 453.12 - // both are exact and not equal: 453.13 - ((tap ->_klass_is_exact && this->_klass_is_exact) || 453.14 - // 'tap' is exact and super or unrelated: 453.15 - (tap ->_klass_is_exact && !tap->klass()->is_subtype_of(klass())) || 453.16 - // 'this' is exact and super or unrelated: 453.17 - (this->_klass_is_exact && !klass()->is_subtype_of(tap->klass())))) { 453.18 + // Must fall to bottom if exact klasses in upper lattice 453.19 + // are not equal or super klass is exact. 453.20 + if ((above_centerline(ptr) || ptr == Constant) && klass() != tap->klass() && 453.21 + // meet with top[] and bottom[] are processed further down: 453.22 + tap->_klass != NULL && this->_klass != NULL && 453.23 + // both are exact and not equal: 453.24 + ((tap->_klass_is_exact && this->_klass_is_exact) || 453.25 + // 'tap' is exact and super or unrelated: 453.26 + (tap->_klass_is_exact && !tap->klass()->is_subtype_of(klass())) || 453.27 + // 'this' is exact and super or unrelated: 453.28 + (this->_klass_is_exact && !klass()->is_subtype_of(tap->klass())))) { 453.29 tary = TypeAry::make(Type::BOTTOM, tary->_size, tary->_stable); 453.30 return make(NotNull, NULL, tary, lazy_klass, false, off, InstanceBot); 453.31 }
454.1 --- a/src/share/vm/precompiled/precompiled.hpp Thu Jan 16 14:25:51 2014 +0100 454.2 +++ b/src/share/vm/precompiled/precompiled.hpp Wed Jan 22 17:42:23 2014 -0800 454.3 @@ -1,5 +1,5 @@ 454.4 /* 454.5 - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. 454.6 + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. 454.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 454.8 * 454.9 * This code is free software; you can redistribute it and/or modify it
455.1 --- a/src/share/vm/prims/forte.cpp Thu Jan 16 14:25:51 2014 +0100 455.2 +++ b/src/share/vm/prims/forte.cpp Wed Jan 22 17:42:23 2014 -0800 455.3 @@ -1,5 +1,5 @@ 455.4 /* 455.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 455.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 455.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 455.8 * 455.9 * This code is free software; you can redistribute it and/or modify it
456.1 --- a/src/share/vm/prims/jniCheck.cpp Thu Jan 16 14:25:51 2014 +0100 456.2 +++ b/src/share/vm/prims/jniCheck.cpp Wed Jan 22 17:42:23 2014 -0800 456.3 @@ -1,5 +1,5 @@ 456.4 /* 456.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 456.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 456.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 456.8 * 456.9 * This code is free software; you can redistribute it and/or modify it
457.1 --- a/src/share/vm/prims/jvm_misc.hpp Thu Jan 16 14:25:51 2014 +0100 457.2 +++ b/src/share/vm/prims/jvm_misc.hpp Wed Jan 22 17:42:23 2014 -0800 457.3 @@ -1,5 +1,5 @@ 457.4 /* 457.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 457.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 457.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 457.8 * 457.9 * This code is free software; you can redistribute it and/or modify it
458.1 --- a/src/share/vm/prims/jvmtiClassFileReconstituter.cpp Thu Jan 16 14:25:51 2014 +0100 458.2 +++ b/src/share/vm/prims/jvmtiClassFileReconstituter.cpp Wed Jan 22 17:42:23 2014 -0800 458.3 @@ -1,5 +1,5 @@ 458.4 /* 458.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 458.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 458.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 458.8 * 458.9 * This code is free software; you can redistribute it and/or modify it
459.1 --- a/src/share/vm/prims/jvmtiClassFileReconstituter.hpp Thu Jan 16 14:25:51 2014 +0100 459.2 +++ b/src/share/vm/prims/jvmtiClassFileReconstituter.hpp Wed Jan 22 17:42:23 2014 -0800 459.3 @@ -1,5 +1,5 @@ 459.4 /* 459.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 459.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 459.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 459.8 * 459.9 * This code is free software; you can redistribute it and/or modify it
460.1 --- a/src/share/vm/prims/jvmtiEnter.xsl Thu Jan 16 14:25:51 2014 +0100 460.2 +++ b/src/share/vm/prims/jvmtiEnter.xsl Wed Jan 22 17:42:23 2014 -0800 460.3 @@ -1,6 +1,6 @@ 460.4 <?xml version="1.0"?> 460.5 <!-- 460.6 - Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. 460.7 + Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 460.8 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 460.9 460.10 This code is free software; you can redistribute it and/or modify it
461.1 --- a/src/share/vm/prims/jvmtiEnvBase.hpp Thu Jan 16 14:25:51 2014 +0100 461.2 +++ b/src/share/vm/prims/jvmtiEnvBase.hpp Wed Jan 22 17:42:23 2014 -0800 461.3 @@ -1,5 +1,5 @@ 461.4 /* 461.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 461.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 461.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 461.8 * 461.9 * This code is free software; you can redistribute it and/or modify it
462.1 --- a/src/share/vm/prims/jvmtiEnvThreadState.cpp Thu Jan 16 14:25:51 2014 +0100 462.2 +++ b/src/share/vm/prims/jvmtiEnvThreadState.cpp Wed Jan 22 17:42:23 2014 -0800 462.3 @@ -1,5 +1,5 @@ 462.4 /* 462.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 462.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 462.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 462.8 * 462.9 * This code is free software; you can redistribute it and/or modify it
463.1 --- a/src/share/vm/prims/jvmtiEventController.cpp Thu Jan 16 14:25:51 2014 +0100 463.2 +++ b/src/share/vm/prims/jvmtiEventController.cpp Wed Jan 22 17:42:23 2014 -0800 463.3 @@ -1,5 +1,5 @@ 463.4 /* 463.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. 463.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 463.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 463.8 * 463.9 * This code is free software; you can redistribute it and/or modify it
464.1 --- a/src/share/vm/prims/jvmtiExport.hpp Thu Jan 16 14:25:51 2014 +0100 464.2 +++ b/src/share/vm/prims/jvmtiExport.hpp Wed Jan 22 17:42:23 2014 -0800 464.3 @@ -1,5 +1,5 @@ 464.4 /* 464.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 464.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 464.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 464.8 * 464.9 * This code is free software; you can redistribute it and/or modify it
465.1 --- a/src/share/vm/prims/jvmtiGetLoadedClasses.cpp Thu Jan 16 14:25:51 2014 +0100 465.2 +++ b/src/share/vm/prims/jvmtiGetLoadedClasses.cpp Wed Jan 22 17:42:23 2014 -0800 465.3 @@ -1,5 +1,5 @@ 465.4 /* 465.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 465.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 465.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 465.8 * 465.9 * This code is free software; you can redistribute it and/or modify it
466.1 --- a/src/share/vm/prims/jvmtiTrace.hpp Thu Jan 16 14:25:51 2014 +0100 466.2 +++ b/src/share/vm/prims/jvmtiTrace.hpp Wed Jan 22 17:42:23 2014 -0800 466.3 @@ -1,5 +1,5 @@ 466.4 /* 466.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 466.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 466.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 466.8 * 466.9 * This code is free software; you can redistribute it and/or modify it
467.1 --- a/src/share/vm/prims/nativeLookup.cpp Thu Jan 16 14:25:51 2014 +0100 467.2 +++ b/src/share/vm/prims/nativeLookup.cpp Wed Jan 22 17:42:23 2014 -0800 467.3 @@ -1,5 +1,5 @@ 467.4 /* 467.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 467.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 467.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 467.8 * 467.9 * This code is free software; you can redistribute it and/or modify it
468.1 --- a/src/share/vm/prims/perf.cpp Thu Jan 16 14:25:51 2014 +0100 468.2 +++ b/src/share/vm/prims/perf.cpp Wed Jan 22 17:42:23 2014 -0800 468.3 @@ -1,5 +1,5 @@ 468.4 /* 468.5 - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 468.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 468.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 468.8 * 468.9 * This code is free software; you can redistribute it and/or modify it
469.1 --- a/src/share/vm/prims/wbtestmethods/parserTests.hpp Thu Jan 16 14:25:51 2014 +0100 469.2 +++ b/src/share/vm/prims/wbtestmethods/parserTests.hpp Wed Jan 22 17:42:23 2014 -0800 469.3 @@ -1,5 +1,5 @@ 469.4 /* 469.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 469.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 469.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 469.8 * 469.9 * This code is free software; you can redistribute it and/or modify it
470.1 --- a/src/share/vm/prims/whitebox.hpp Thu Jan 16 14:25:51 2014 +0100 470.2 +++ b/src/share/vm/prims/whitebox.hpp Wed Jan 22 17:42:23 2014 -0800 470.3 @@ -1,5 +1,5 @@ 470.4 /* 470.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 470.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 470.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 470.8 * 470.9 * This code is free software; you can redistribute it and/or modify it
471.1 --- a/src/share/vm/runtime/advancedThresholdPolicy.hpp Thu Jan 16 14:25:51 2014 +0100 471.2 +++ b/src/share/vm/runtime/advancedThresholdPolicy.hpp Wed Jan 22 17:42:23 2014 -0800 471.3 @@ -1,5 +1,5 @@ 471.4 /* 471.5 - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. 471.6 + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. 471.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 471.8 * 471.9 * This code is free software; you can redistribute it and/or modify it
472.1 --- a/src/share/vm/runtime/arguments.cpp Thu Jan 16 14:25:51 2014 +0100 472.2 +++ b/src/share/vm/runtime/arguments.cpp Wed Jan 22 17:42:23 2014 -0800 472.3 @@ -3730,10 +3730,6 @@ 472.4 // Doing the replace in parent maps helps speculation 472.5 FLAG_SET_DEFAULT(ReplaceInParentMaps, true); 472.6 } 472.7 -#ifndef X86 472.8 - // Only on x86 for now 472.9 - FLAG_SET_DEFAULT(TypeProfileLevel, 0); 472.10 -#endif 472.11 #endif 472.12 472.13 if (PrintAssembly && FLAG_IS_DEFAULT(DebugNonSafepoints)) {
473.1 --- a/src/share/vm/runtime/atomic.cpp Thu Jan 16 14:25:51 2014 +0100 473.2 +++ b/src/share/vm/runtime/atomic.cpp Wed Jan 22 17:42:23 2014 -0800 473.3 @@ -1,5 +1,5 @@ 473.4 /* 473.5 - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 473.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 473.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 473.8 * 473.9 * This code is free software; you can redistribute it and/or modify it
474.1 --- a/src/share/vm/runtime/atomic.hpp Thu Jan 16 14:25:51 2014 +0100 474.2 +++ b/src/share/vm/runtime/atomic.hpp Wed Jan 22 17:42:23 2014 -0800 474.3 @@ -1,5 +1,5 @@ 474.4 /* 474.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 474.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 474.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 474.8 * 474.9 * This code is free software; you can redistribute it and/or modify it
475.1 --- a/src/share/vm/runtime/compilationPolicy.hpp Thu Jan 16 14:25:51 2014 +0100 475.2 +++ b/src/share/vm/runtime/compilationPolicy.hpp Wed Jan 22 17:42:23 2014 -0800 475.3 @@ -1,5 +1,5 @@ 475.4 /* 475.5 - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 475.6 + * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 475.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 475.8 * 475.9 * This code is free software; you can redistribute it and/or modify it
476.1 --- a/src/share/vm/runtime/deoptimization.cpp Thu Jan 16 14:25:51 2014 +0100 476.2 +++ b/src/share/vm/runtime/deoptimization.cpp Wed Jan 22 17:42:23 2014 -0800 476.3 @@ -1227,9 +1227,19 @@ 476.4 load_class_by_index(constant_pool, index, THREAD); 476.5 if (HAS_PENDING_EXCEPTION) { 476.6 // Exception happened during classloading. We ignore the exception here, since it 476.7 - // is going to be rethrown since the current activation is going to be deoptimzied and 476.8 + // is going to be rethrown since the current activation is going to be deoptimized and 476.9 // the interpreter will re-execute the bytecode. 476.10 CLEAR_PENDING_EXCEPTION; 476.11 + // Class loading called java code which may have caused a stack 476.12 + // overflow. If the exception was thrown right before the return 476.13 + // to the runtime the stack is no longer guarded. Reguard the 476.14 + // stack otherwise if we return to the uncommon trap blob and the 476.15 + // stack bang causes a stack overflow we crash. 476.16 + assert(THREAD->is_Java_thread(), "only a java thread can be here"); 476.17 + JavaThread* thread = (JavaThread*)THREAD; 476.18 + bool guard_pages_enabled = thread->stack_yellow_zone_enabled(); 476.19 + if (!guard_pages_enabled) guard_pages_enabled = thread->reguard_stack(); 476.20 + assert(guard_pages_enabled, "stack banging in uncommon trap blob may cause crash"); 476.21 } 476.22 } 476.23
477.1 --- a/src/share/vm/runtime/fprofiler.hpp Thu Jan 16 14:25:51 2014 +0100 477.2 +++ b/src/share/vm/runtime/fprofiler.hpp Wed Jan 22 17:42:23 2014 -0800 477.3 @@ -1,5 +1,5 @@ 477.4 /* 477.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 477.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 477.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 477.8 * 477.9 * This code is free software; you can redistribute it and/or modify it
478.1 --- a/src/share/vm/runtime/globals.hpp Thu Jan 16 14:25:51 2014 +0100 478.2 +++ b/src/share/vm/runtime/globals.hpp Wed Jan 22 17:42:23 2014 -0800 478.3 @@ -2551,6 +2551,9 @@ 478.4 develop(bool, PrintMethodFlushing, false, \ 478.5 "Print the nmethods being flushed") \ 478.6 \ 478.7 + diagnostic(bool, PrintMethodFlushingStatistics, false, \ 478.8 + "print statistics about method flushing") \ 478.9 + \ 478.10 develop(bool, UseRelocIndex, false, \ 478.11 "Use an index to speed random access to relocations") \ 478.12 \ 478.13 @@ -3332,21 +3335,21 @@ 478.14 develop(intx, CIStart, 0, \ 478.15 "The id of the first compilation to permit") \ 478.16 \ 478.17 - develop(intx, CIStop, -1, \ 478.18 + develop(intx, CIStop, max_jint, \ 478.19 "The id of the last compilation to permit") \ 478.20 \ 478.21 - develop(intx, CIStartOSR, 0, \ 478.22 + develop(intx, CIStartOSR, 0, \ 478.23 "The id of the first osr compilation to permit " \ 478.24 "(CICountOSR must be on)") \ 478.25 \ 478.26 - develop(intx, CIStopOSR, -1, \ 478.27 + develop(intx, CIStopOSR, max_jint, \ 478.28 "The id of the last osr compilation to permit " \ 478.29 "(CICountOSR must be on)") \ 478.30 \ 478.31 - develop(intx, CIBreakAtOSR, -1, \ 478.32 + develop(intx, CIBreakAtOSR, -1, \ 478.33 "The id of osr compilation to break at") \ 478.34 \ 478.35 - develop(intx, CIBreakAt, -1, \ 478.36 + develop(intx, CIBreakAt, -1, \ 478.37 "The id of compilation to break at") \ 478.38 \ 478.39 product(ccstrlist, CompileOnly, "", \ 478.40 @@ -3365,6 +3368,10 @@ 478.41 "File containing compilation replay information" \ 478.42 "[default: ./replay_pid%p.log] (%p replaced with pid)") \ 478.43 \ 478.44 + product(ccstr, InlineDataFile, NULL, \ 478.45 + "File containing inlining replay information" \ 478.46 + "[default: ./inline_pid%p.log] (%p replaced with pid)") \ 478.47 + \ 478.48 develop(intx, ReplaySuppressInitializers, 2, \ 478.49 "Control handling of class initialization during replay: " \ 478.50 "0 - don't do anything special; " \
479.1 --- a/src/share/vm/runtime/globals_extension.hpp Thu Jan 16 14:25:51 2014 +0100 479.2 +++ b/src/share/vm/runtime/globals_extension.hpp Wed Jan 22 17:42:23 2014 -0800 479.3 @@ -1,5 +1,5 @@ 479.4 /* 479.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 479.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 479.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 479.8 * 479.9 * This code is free software; you can redistribute it and/or modify it
480.1 --- a/src/share/vm/runtime/handles.inline.hpp Thu Jan 16 14:25:51 2014 +0100 480.2 +++ b/src/share/vm/runtime/handles.inline.hpp Wed Jan 22 17:42:23 2014 -0800 480.3 @@ -1,5 +1,5 @@ 480.4 /* 480.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 480.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 480.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 480.8 * 480.9 * This code is free software; you can redistribute it and/or modify it
481.1 --- a/src/share/vm/runtime/java.cpp Thu Jan 16 14:25:51 2014 +0100 481.2 +++ b/src/share/vm/runtime/java.cpp Wed Jan 22 17:42:23 2014 -0800 481.3 @@ -52,6 +52,7 @@ 481.4 #include "runtime/memprofiler.hpp" 481.5 #include "runtime/sharedRuntime.hpp" 481.6 #include "runtime/statSampler.hpp" 481.7 +#include "runtime/sweeper.hpp" 481.8 #include "runtime/task.hpp" 481.9 #include "runtime/thread.inline.hpp" 481.10 #include "runtime/timer.hpp" 481.11 @@ -217,9 +218,7 @@ 481.12 481.13 481.14 // General statistics printing (profiling ...) 481.15 - 481.16 void print_statistics() { 481.17 - 481.18 #ifdef ASSERT 481.19 481.20 if (CountRuntimeCalls) { 481.21 @@ -315,6 +314,10 @@ 481.22 CodeCache::print(); 481.23 } 481.24 481.25 + if (PrintMethodFlushingStatistics) { 481.26 + NMethodSweeper::print(); 481.27 + } 481.28 + 481.29 if (PrintCodeCache2) { 481.30 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag); 481.31 CodeCache::print_internals(); 481.32 @@ -382,6 +385,10 @@ 481.33 CodeCache::print(); 481.34 } 481.35 481.36 + if (PrintMethodFlushingStatistics) { 481.37 + NMethodSweeper::print(); 481.38 + } 481.39 + 481.40 #ifdef COMPILER2 481.41 if (PrintPreciseBiasedLockingStatistics) { 481.42 OptoRuntime::print_named_counters();
482.1 --- a/src/share/vm/runtime/javaCalls.hpp Thu Jan 16 14:25:51 2014 +0100 482.2 +++ b/src/share/vm/runtime/javaCalls.hpp Wed Jan 22 17:42:23 2014 -0800 482.3 @@ -1,5 +1,5 @@ 482.4 /* 482.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 482.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 482.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 482.8 * 482.9 * This code is free software; you can redistribute it and/or modify it
483.1 --- a/src/share/vm/runtime/jniHandles.cpp Thu Jan 16 14:25:51 2014 +0100 483.2 +++ b/src/share/vm/runtime/jniHandles.cpp Wed Jan 22 17:42:23 2014 -0800 483.3 @@ -1,5 +1,5 @@ 483.4 /* 483.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 483.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 483.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 483.8 * 483.9 * This code is free software; you can redistribute it and/or modify it
484.1 --- a/src/share/vm/runtime/mutex.cpp Thu Jan 16 14:25:51 2014 +0100 484.2 +++ b/src/share/vm/runtime/mutex.cpp Wed Jan 22 17:42:23 2014 -0800 484.3 @@ -1,6 +1,6 @@ 484.4 484.5 /* 484.6 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 484.7 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 484.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 484.9 * 484.10 * This code is free software; you can redistribute it and/or modify it
485.1 --- a/src/share/vm/runtime/perfData.hpp Thu Jan 16 14:25:51 2014 +0100 485.2 +++ b/src/share/vm/runtime/perfData.hpp Wed Jan 22 17:42:23 2014 -0800 485.3 @@ -1,5 +1,5 @@ 485.4 /* 485.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 485.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 485.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 485.8 * 485.9 * This code is free software; you can redistribute it and/or modify it
486.1 --- a/src/share/vm/runtime/reflection.hpp Thu Jan 16 14:25:51 2014 +0100 486.2 +++ b/src/share/vm/runtime/reflection.hpp Wed Jan 22 17:42:23 2014 -0800 486.3 @@ -1,5 +1,5 @@ 486.4 /* 486.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 486.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 486.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 486.8 * 486.9 * This code is free software; you can redistribute it and/or modify it
487.1 --- a/src/share/vm/runtime/sharedRuntime.cpp Thu Jan 16 14:25:51 2014 +0100 487.2 +++ b/src/share/vm/runtime/sharedRuntime.cpp Wed Jan 22 17:42:23 2014 -0800 487.3 @@ -494,6 +494,13 @@ 487.4 assert(!nm->is_native_method(), "no exception handler"); 487.5 assert(nm->header_begin() != nm->exception_begin(), "no exception handler"); 487.6 if (nm->is_deopt_pc(return_address)) { 487.7 + // If we come here because of a stack overflow, the stack may be 487.8 + // unguarded. Reguard the stack otherwise if we return to the 487.9 + // deopt blob and the stack bang causes a stack overflow we 487.10 + // crash. 487.11 + bool guard_pages_enabled = thread->stack_yellow_zone_enabled(); 487.12 + if (!guard_pages_enabled) guard_pages_enabled = thread->reguard_stack(); 487.13 + assert(guard_pages_enabled, "stack banging in deopt blob may cause crash"); 487.14 return SharedRuntime::deopt_blob()->unpack_with_exception(); 487.15 } else { 487.16 return nm->exception_begin(); 487.17 @@ -2400,7 +2407,7 @@ 487.18 ResourceMark rm; 487.19 487.20 NOT_PRODUCT(int insts_size); 487.21 - AdapterBlob* B = NULL; 487.22 + AdapterBlob* new_adapter = NULL; 487.23 AdapterHandlerEntry* entry = NULL; 487.24 AdapterFingerPrint* fingerprint = NULL; 487.25 { 487.26 @@ -2432,7 +2439,8 @@ 487.27 487.28 #ifdef ASSERT 487.29 AdapterHandlerEntry* shared_entry = NULL; 487.30 - if (VerifyAdapterSharing && entry != NULL) { 487.31 + // Start adapter sharing verification only after the VM is booted. 487.32 + if (VerifyAdapterSharing && (entry != NULL)) { 487.33 shared_entry = entry; 487.34 entry = NULL; 487.35 } 487.36 @@ -2448,41 +2456,44 @@ 487.37 // Make a C heap allocated version of the fingerprint to store in the adapter 487.38 fingerprint = new AdapterFingerPrint(total_args_passed, sig_bt); 487.39 487.40 + // StubRoutines::code2() is initialized after this function can be called. As a result, 487.41 + // VerifyAdapterCalls and VerifyAdapterSharing can fail if we re-use code that generated 487.42 + // prior to StubRoutines::code2() being set. Checks refer to checks generated in an I2C 487.43 + // stub that ensure that an I2C stub is called from an interpreter frame. 487.44 + bool contains_all_checks = StubRoutines::code2() != NULL; 487.45 + 487.46 // Create I2C & C2I handlers 487.47 - 487.48 BufferBlob* buf = buffer_blob(); // the temporary code buffer in CodeCache 487.49 if (buf != NULL) { 487.50 CodeBuffer buffer(buf); 487.51 short buffer_locs[20]; 487.52 buffer.insts()->initialize_shared_locs((relocInfo*)buffer_locs, 487.53 sizeof(buffer_locs)/sizeof(relocInfo)); 487.54 + 487.55 MacroAssembler _masm(&buffer); 487.56 - 487.57 entry = SharedRuntime::generate_i2c2i_adapters(&_masm, 487.58 total_args_passed, 487.59 comp_args_on_stack, 487.60 sig_bt, 487.61 regs, 487.62 fingerprint); 487.63 - 487.64 #ifdef ASSERT 487.65 if (VerifyAdapterSharing) { 487.66 if (shared_entry != NULL) { 487.67 - assert(shared_entry->compare_code(buf->code_begin(), buffer.insts_size(), total_args_passed, sig_bt), 487.68 - "code must match"); 487.69 + assert(shared_entry->compare_code(buf->code_begin(), buffer.insts_size()), "code must match"); 487.70 // Release the one just created and return the original 487.71 _adapters->free_entry(entry); 487.72 return shared_entry; 487.73 } else { 487.74 - entry->save_code(buf->code_begin(), buffer.insts_size(), total_args_passed, sig_bt); 487.75 + entry->save_code(buf->code_begin(), buffer.insts_size()); 487.76 } 487.77 } 487.78 #endif 487.79 487.80 - B = AdapterBlob::create(&buffer); 487.81 + new_adapter = AdapterBlob::create(&buffer); 487.82 NOT_PRODUCT(insts_size = buffer.insts_size()); 487.83 } 487.84 - if (B == NULL) { 487.85 + if (new_adapter == NULL) { 487.86 // CodeCache is full, disable compilation 487.87 // Ought to log this but compile log is only per compile thread 487.88 // and we're some non descript Java thread. 487.89 @@ -2490,7 +2501,7 @@ 487.90 CompileBroker::handle_full_code_cache(); 487.91 return NULL; // Out of CodeCache space 487.92 } 487.93 - entry->relocate(B->content_begin()); 487.94 + entry->relocate(new_adapter->content_begin()); 487.95 #ifndef PRODUCT 487.96 // debugging suppport 487.97 if (PrintAdapterHandlers || PrintStubCode) { 487.98 @@ -2509,22 +2520,25 @@ 487.99 } 487.100 } 487.101 #endif 487.102 - 487.103 - _adapters->add(entry); 487.104 + // Add the entry only if the entry contains all required checks (see sharedRuntime_xxx.cpp) 487.105 + // The checks are inserted only if -XX:+VerifyAdapterCalls is specified. 487.106 + if (contains_all_checks || !VerifyAdapterCalls) { 487.107 + _adapters->add(entry); 487.108 + } 487.109 } 487.110 // Outside of the lock 487.111 - if (B != NULL) { 487.112 + if (new_adapter != NULL) { 487.113 char blob_id[256]; 487.114 jio_snprintf(blob_id, 487.115 sizeof(blob_id), 487.116 "%s(%s)@" PTR_FORMAT, 487.117 - B->name(), 487.118 + new_adapter->name(), 487.119 fingerprint->as_string(), 487.120 - B->content_begin()); 487.121 - Forte::register_stub(blob_id, B->content_begin(), B->content_end()); 487.122 + new_adapter->content_begin()); 487.123 + Forte::register_stub(blob_id, new_adapter->content_begin(),new_adapter->content_end()); 487.124 487.125 if (JvmtiExport::should_post_dynamic_code_generated()) { 487.126 - JvmtiExport::post_dynamic_code_generated(blob_id, B->content_begin(), B->content_end()); 487.127 + JvmtiExport::post_dynamic_code_generated(blob_id, new_adapter->content_begin(), new_adapter->content_end()); 487.128 } 487.129 } 487.130 return entry; 487.131 @@ -2556,7 +2570,6 @@ 487.132 delete _fingerprint; 487.133 #ifdef ASSERT 487.134 if (_saved_code) FREE_C_HEAP_ARRAY(unsigned char, _saved_code, mtCode); 487.135 - if (_saved_sig) FREE_C_HEAP_ARRAY(Basictype, _saved_sig, mtCode); 487.136 #endif 487.137 } 487.138 487.139 @@ -2565,35 +2578,30 @@ 487.140 // Capture the code before relocation so that it can be compared 487.141 // against other versions. If the code is captured after relocation 487.142 // then relative instructions won't be equivalent. 487.143 -void AdapterHandlerEntry::save_code(unsigned char* buffer, int length, int total_args_passed, BasicType* sig_bt) { 487.144 +void AdapterHandlerEntry::save_code(unsigned char* buffer, int length) { 487.145 _saved_code = NEW_C_HEAP_ARRAY(unsigned char, length, mtCode); 487.146 - _code_length = length; 487.147 + _saved_code_length = length; 487.148 memcpy(_saved_code, buffer, length); 487.149 - _total_args_passed = total_args_passed; 487.150 - _saved_sig = NEW_C_HEAP_ARRAY(BasicType, _total_args_passed, mtCode); 487.151 - memcpy(_saved_sig, sig_bt, _total_args_passed * sizeof(BasicType)); 487.152 } 487.153 487.154 487.155 -bool AdapterHandlerEntry::compare_code(unsigned char* buffer, int length, int total_args_passed, BasicType* sig_bt) { 487.156 - if (length != _code_length) { 487.157 +bool AdapterHandlerEntry::compare_code(unsigned char* buffer, int length) { 487.158 + if (length != _saved_code_length) { 487.159 return false; 487.160 } 487.161 - for (int i = 0; i < length; i++) { 487.162 - if (buffer[i] != _saved_code[i]) { 487.163 - return false; 487.164 - } 487.165 - } 487.166 - return true; 487.167 + 487.168 + return (memcmp(buffer, _saved_code, length) == 0) ? true : false; 487.169 } 487.170 #endif 487.171 487.172 487.173 -// Create a native wrapper for this native method. The wrapper converts the 487.174 -// java compiled calling convention to the native convention, handlizes 487.175 -// arguments, and transitions to native. On return from the native we transition 487.176 -// back to java blocking if a safepoint is in progress. 487.177 -nmethod *AdapterHandlerLibrary::create_native_wrapper(methodHandle method, int compile_id) { 487.178 +/** 487.179 + * Create a native wrapper for this native method. The wrapper converts the 487.180 + * Java-compiled calling convention to the native convention, handles 487.181 + * arguments, and transitions to native. On return from the native we transition 487.182 + * back to java blocking if a safepoint is in progress. 487.183 + */ 487.184 +void AdapterHandlerLibrary::create_native_wrapper(methodHandle method) { 487.185 ResourceMark rm; 487.186 nmethod* nm = NULL; 487.187 487.188 @@ -2602,16 +2610,19 @@ 487.189 method->has_native_function(), "must have something valid to call!"); 487.190 487.191 { 487.192 - // perform the work while holding the lock, but perform any printing outside the lock 487.193 + // Perform the work while holding the lock, but perform any printing outside the lock 487.194 MutexLocker mu(AdapterHandlerLibrary_lock); 487.195 // See if somebody beat us to it 487.196 nm = method->code(); 487.197 - if (nm) { 487.198 - return nm; 487.199 + if (nm != NULL) { 487.200 + return; 487.201 } 487.202 487.203 + const int compile_id = CompileBroker::assign_compile_id(method, CompileBroker::standard_entry_bci); 487.204 + assert(compile_id > 0, "Must generate native wrapper"); 487.205 + 487.206 + 487.207 ResourceMark rm; 487.208 - 487.209 BufferBlob* buf = buffer_blob(); // the temporary code buffer in CodeCache 487.210 if (buf != NULL) { 487.211 CodeBuffer buffer(buf); 487.212 @@ -2643,16 +2654,14 @@ 487.213 int comp_args_on_stack = SharedRuntime::java_calling_convention(sig_bt, regs, total_args_passed, is_outgoing); 487.214 487.215 // Generate the compiled-to-native wrapper code 487.216 - nm = SharedRuntime::generate_native_wrapper(&_masm, 487.217 - method, 487.218 - compile_id, 487.219 - sig_bt, 487.220 - regs, 487.221 - ret_type); 487.222 + nm = SharedRuntime::generate_native_wrapper(&_masm, method, compile_id, sig_bt, regs, ret_type); 487.223 + 487.224 + if (nm != NULL) { 487.225 + method->set_code(method, nm); 487.226 + } 487.227 } 487.228 - } 487.229 - 487.230 - // Must unlock before calling set_code 487.231 + } // Unlock AdapterHandlerLibrary_lock 487.232 + 487.233 487.234 // Install the generated code. 487.235 if (nm != NULL) { 487.236 @@ -2660,13 +2669,11 @@ 487.237 ttyLocker ttyl; 487.238 CompileTask::print_compilation(tty, nm, method->is_static() ? "(static)" : ""); 487.239 } 487.240 - method->set_code(method, nm); 487.241 nm->post_compiled_method_load_event(); 487.242 } else { 487.243 // CodeCache is full, disable compilation 487.244 CompileBroker::handle_full_code_cache(); 487.245 } 487.246 - return nm; 487.247 } 487.248 487.249 JRT_ENTRY_NO_ASYNC(void, SharedRuntime::block_for_jni_critical(JavaThread* thread))
488.1 --- a/src/share/vm/runtime/sharedRuntime.hpp Thu Jan 16 14:25:51 2014 +0100 488.2 +++ b/src/share/vm/runtime/sharedRuntime.hpp Wed Jan 22 17:42:23 2014 -0800 488.3 @@ -1,5 +1,5 @@ 488.4 /* 488.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 488.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 488.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 488.8 * 488.9 * This code is free software; you can redistribute it and/or modify it 488.10 @@ -630,9 +630,7 @@ 488.11 // Captures code and signature used to generate this adapter when 488.12 // verifing adapter equivalence. 488.13 unsigned char* _saved_code; 488.14 - int _code_length; 488.15 - BasicType* _saved_sig; 488.16 - int _total_args_passed; 488.17 + int _saved_code_length; 488.18 #endif 488.19 488.20 void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) { 488.21 @@ -642,9 +640,7 @@ 488.22 _c2i_unverified_entry = c2i_unverified_entry; 488.23 #ifdef ASSERT 488.24 _saved_code = NULL; 488.25 - _code_length = 0; 488.26 - _saved_sig = NULL; 488.27 - _total_args_passed = 0; 488.28 + _saved_code_length = 0; 488.29 #endif 488.30 } 488.31 488.32 @@ -657,7 +653,6 @@ 488.33 address get_i2c_entry() const { return _i2c_entry; } 488.34 address get_c2i_entry() const { return _c2i_entry; } 488.35 address get_c2i_unverified_entry() const { return _c2i_unverified_entry; } 488.36 - 488.37 address base_address(); 488.38 void relocate(address new_base); 488.39 488.40 @@ -669,8 +664,8 @@ 488.41 488.42 #ifdef ASSERT 488.43 // Used to verify that code generated for shared adapters is equivalent 488.44 - void save_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt); 488.45 - bool compare_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt); 488.46 + void save_code (unsigned char* code, int length); 488.47 + bool compare_code(unsigned char* code, int length); 488.48 #endif 488.49 488.50 //virtual void print_on(outputStream* st) const; DO NOT USE 488.51 @@ -689,7 +684,7 @@ 488.52 488.53 static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint, 488.54 address i2c_entry, address c2i_entry, address c2i_unverified_entry); 488.55 - static nmethod* create_native_wrapper(methodHandle method, int compile_id); 488.56 + static void create_native_wrapper(methodHandle method); 488.57 static AdapterHandlerEntry* get_adapter(methodHandle method); 488.58 488.59 #ifdef HAVE_DTRACE_H
489.1 --- a/src/share/vm/runtime/signature.cpp Thu Jan 16 14:25:51 2014 +0100 489.2 +++ b/src/share/vm/runtime/signature.cpp Wed Jan 22 17:42:23 2014 -0800 489.3 @@ -1,5 +1,5 @@ 489.4 /* 489.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 489.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 489.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 489.8 * 489.9 * This code is free software; you can redistribute it and/or modify it
490.1 --- a/src/share/vm/runtime/signature.hpp Thu Jan 16 14:25:51 2014 +0100 490.2 +++ b/src/share/vm/runtime/signature.hpp Wed Jan 22 17:42:23 2014 -0800 490.3 @@ -1,5 +1,5 @@ 490.4 /* 490.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 490.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 490.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 490.8 * 490.9 * This code is free software; you can redistribute it and/or modify it
491.1 --- a/src/share/vm/runtime/stubCodeGenerator.cpp Thu Jan 16 14:25:51 2014 +0100 491.2 +++ b/src/share/vm/runtime/stubCodeGenerator.cpp Wed Jan 22 17:42:23 2014 -0800 491.3 @@ -1,5 +1,5 @@ 491.4 /* 491.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 491.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 491.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 491.8 * 491.9 * This code is free software; you can redistribute it and/or modify it
492.1 --- a/src/share/vm/runtime/sweeper.cpp Thu Jan 16 14:25:51 2014 +0100 492.2 +++ b/src/share/vm/runtime/sweeper.cpp Wed Jan 22 17:42:23 2014 -0800 492.3 @@ -129,6 +129,7 @@ 492.4 492.5 nmethod* NMethodSweeper::_current = NULL; // Current nmethod 492.6 long NMethodSweeper::_traversals = 0; // Stack scan count, also sweep ID. 492.7 +long NMethodSweeper::_total_nof_code_cache_sweeps = 0; // Total number of full sweeps of the code cache 492.8 long NMethodSweeper::_time_counter = 0; // Virtual time used to periodically invoke sweeper 492.9 long NMethodSweeper::_last_sweep = 0; // Value of _time_counter when the last sweep happened 492.10 int NMethodSweeper::_seen = 0; // Nof. nmethod we have currently processed in current pass of CodeCache 492.11 @@ -143,13 +144,16 @@ 492.12 // 1) alive -> not_entrant 492.13 // 2) not_entrant -> zombie 492.14 // 3) zombie -> marked_for_reclamation 492.15 +int NMethodSweeper::_hotness_counter_reset_val = 0; 492.16 492.17 -int NMethodSweeper::_total_nof_methods_reclaimed = 0; // Accumulated nof methods flushed 492.18 -Tickspan NMethodSweeper::_total_time_sweeping; // Accumulated time sweeping 492.19 -Tickspan NMethodSweeper::_total_time_this_sweep; // Total time this sweep 492.20 -Tickspan NMethodSweeper::_peak_sweep_time; // Peak time for a full sweep 492.21 -Tickspan NMethodSweeper::_peak_sweep_fraction_time; // Peak time sweeping one fraction 492.22 -int NMethodSweeper::_hotness_counter_reset_val = 0; 492.23 +long NMethodSweeper::_total_nof_methods_reclaimed = 0; // Accumulated nof methods flushed 492.24 +long NMethodSweeper::_total_nof_c2_methods_reclaimed = 0; // Accumulated nof methods flushed 492.25 +size_t NMethodSweeper::_total_flushed_size = 0; // Total number of bytes flushed from the code cache 492.26 +Tickspan NMethodSweeper::_total_time_sweeping; // Accumulated time sweeping 492.27 +Tickspan NMethodSweeper::_total_time_this_sweep; // Total time this sweep 492.28 +Tickspan NMethodSweeper::_peak_sweep_time; // Peak time for a full sweep 492.29 +Tickspan NMethodSweeper::_peak_sweep_fraction_time; // Peak time sweeping one fraction 492.30 + 492.31 492.32 492.33 class MarkActivationClosure: public CodeBlobClosure { 492.34 @@ -257,9 +261,14 @@ 492.35 // Large ReservedCodeCacheSize: (e.g., 256M + code Cache is 90% full). The formula 492.36 // computes: (256 / 16) - 10 = 6. 492.37 if (!_should_sweep) { 492.38 - int time_since_last_sweep = _time_counter - _last_sweep; 492.39 - double wait_until_next_sweep = (ReservedCodeCacheSize / (16 * M)) - time_since_last_sweep - 492.40 - CodeCache::reverse_free_ratio(); 492.41 + const int time_since_last_sweep = _time_counter - _last_sweep; 492.42 + // ReservedCodeCacheSize has an 'unsigned' type. We need a 'signed' type for max_wait_time, 492.43 + // since 'time_since_last_sweep' can be larger than 'max_wait_time'. If that happens using 492.44 + // an unsigned type would cause an underflow (wait_until_next_sweep becomes a large positive 492.45 + // value) that disables the intended periodic sweeps. 492.46 + const int max_wait_time = ReservedCodeCacheSize / (16 * M); 492.47 + double wait_until_next_sweep = max_wait_time - time_since_last_sweep - CodeCache::reverse_free_ratio(); 492.48 + assert(wait_until_next_sweep <= (double)max_wait_time, "Calculation of code cache sweeper interval is incorrect"); 492.49 492.50 if ((wait_until_next_sweep <= 0.0) || !CompileBroker::should_compile_new_jobs()) { 492.51 _should_sweep = true; 492.52 @@ -287,6 +296,7 @@ 492.53 492.54 // We are done with sweeping the code cache once. 492.55 if (_sweep_fractions_left == 0) { 492.56 + _total_nof_code_cache_sweeps++; 492.57 _last_sweep = _time_counter; 492.58 // Reset flag; temporarily disables sweeper 492.59 _should_sweep = false; 492.60 @@ -374,6 +384,7 @@ 492.61 _total_time_sweeping += sweep_time; 492.62 _total_time_this_sweep += sweep_time; 492.63 _peak_sweep_fraction_time = MAX2(sweep_time, _peak_sweep_fraction_time); 492.64 + _total_flushed_size += freed_memory; 492.65 _total_nof_methods_reclaimed += _flushed_count; 492.66 492.67 EventSweepCodeCache event(UNTIMED); 492.68 @@ -505,6 +516,9 @@ 492.69 tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (marked for reclamation) being flushed", nm->compile_id(), nm); 492.70 } 492.71 freed_memory = nm->total_size(); 492.72 + if (nm->is_compiled_by_c2()) { 492.73 + _total_nof_c2_methods_reclaimed++; 492.74 + } 492.75 release_nmethod(nm); 492.76 _flushed_count++; 492.77 } else { 492.78 @@ -543,6 +557,9 @@ 492.79 SWEEP(nm); 492.80 // No inline caches will ever point to osr methods, so we can just remove it 492.81 freed_memory = nm->total_size(); 492.82 + if (nm->is_compiled_by_c2()) { 492.83 + _total_nof_c2_methods_reclaimed++; 492.84 + } 492.85 release_nmethod(nm); 492.86 _flushed_count++; 492.87 } else { 492.88 @@ -630,3 +647,13 @@ 492.89 xtty->end_elem(); 492.90 } 492.91 } 492.92 + 492.93 +void NMethodSweeper::print() { 492.94 + ttyLocker ttyl; 492.95 + tty->print_cr("Code cache sweeper statistics:"); 492.96 + tty->print_cr(" Total sweep time: %1.0lfms", (double)_total_time_sweeping.value()/1000000); 492.97 + tty->print_cr(" Total number of full sweeps: %ld", _total_nof_code_cache_sweeps); 492.98 + tty->print_cr(" Total number of flushed methods: %ld(%ld C2 methods)", _total_nof_methods_reclaimed, 492.99 + _total_nof_c2_methods_reclaimed); 492.100 + tty->print_cr(" Total size of flushed methods: " SIZE_FORMAT "kB", _total_flushed_size/K); 492.101 +}
493.1 --- a/src/share/vm/runtime/sweeper.hpp Thu Jan 16 14:25:51 2014 +0100 493.2 +++ b/src/share/vm/runtime/sweeper.hpp Wed Jan 22 17:42:23 2014 -0800 493.3 @@ -54,28 +54,33 @@ 493.4 // is full. 493.5 493.6 class NMethodSweeper : public AllStatic { 493.7 - static long _traversals; // Stack scan count, also sweep ID. 493.8 - static long _time_counter; // Virtual time used to periodically invoke sweeper 493.9 - static long _last_sweep; // Value of _time_counter when the last sweep happened 493.10 - static nmethod* _current; // Current nmethod 493.11 - static int _seen; // Nof. nmethod we have currently processed in current pass of CodeCache 493.12 - static int _flushed_count; // Nof. nmethods flushed in current sweep 493.13 - static int _zombified_count; // Nof. nmethods made zombie in current sweep 493.14 - static int _marked_for_reclamation_count; // Nof. nmethods marked for reclaim in current sweep 493.15 + static long _traversals; // Stack scan count, also sweep ID. 493.16 + static long _total_nof_code_cache_sweeps; // Total number of full sweeps of the code cache 493.17 + static long _time_counter; // Virtual time used to periodically invoke sweeper 493.18 + static long _last_sweep; // Value of _time_counter when the last sweep happened 493.19 + static nmethod* _current; // Current nmethod 493.20 + static int _seen; // Nof. nmethod we have currently processed in current pass of CodeCache 493.21 + static int _flushed_count; // Nof. nmethods flushed in current sweep 493.22 + static int _zombified_count; // Nof. nmethods made zombie in current sweep 493.23 + static int _marked_for_reclamation_count; // Nof. nmethods marked for reclaim in current sweep 493.24 493.25 - static volatile int _sweep_fractions_left; // Nof. invocations left until we are completed with this pass 493.26 - static volatile int _sweep_started; // Flag to control conc sweeper 493.27 - static volatile bool _should_sweep; // Indicates if we should invoke the sweeper 493.28 - static volatile int _bytes_changed; // Counts the total nmethod size if the nmethod changed from: 493.29 - // 1) alive -> not_entrant 493.30 - // 2) not_entrant -> zombie 493.31 - // 3) zombie -> marked_for_reclamation 493.32 + static volatile int _sweep_fractions_left; // Nof. invocations left until we are completed with this pass 493.33 + static volatile int _sweep_started; // Flag to control conc sweeper 493.34 + static volatile bool _should_sweep; // Indicates if we should invoke the sweeper 493.35 + static volatile int _bytes_changed; // Counts the total nmethod size if the nmethod changed from: 493.36 + // 1) alive -> not_entrant 493.37 + // 2) not_entrant -> zombie 493.38 + // 3) zombie -> marked_for_reclamation 493.39 // Stat counters 493.40 - static int _total_nof_methods_reclaimed; // Accumulated nof methods flushed 493.41 - static Tickspan _total_time_sweeping; // Accumulated time sweeping 493.42 - static Tickspan _total_time_this_sweep; // Total time this sweep 493.43 - static Tickspan _peak_sweep_time; // Peak time for a full sweep 493.44 - static Tickspan _peak_sweep_fraction_time; // Peak time sweeping one fraction 493.45 + static long _total_nof_methods_reclaimed; // Accumulated nof methods flushed 493.46 + static long _total_nof_c2_methods_reclaimed; // Accumulated nof C2-compiled methods flushed 493.47 + static size_t _total_flushed_size; // Total size of flushed methods 493.48 + static int _hotness_counter_reset_val; 493.49 + 493.50 + static Tickspan _total_time_sweeping; // Accumulated time sweeping 493.51 + static Tickspan _total_time_this_sweep; // Total time this sweep 493.52 + static Tickspan _peak_sweep_time; // Peak time for a full sweep 493.53 + static Tickspan _peak_sweep_fraction_time; // Peak time sweeping one fraction 493.54 493.55 static int process_nmethod(nmethod *nm); 493.56 static void release_nmethod(nmethod* nm); 493.57 @@ -83,8 +88,6 @@ 493.58 static bool sweep_in_progress(); 493.59 static void sweep_code_cache(); 493.60 493.61 - static int _hotness_counter_reset_val; 493.62 - 493.63 public: 493.64 static long traversal_count() { return _traversals; } 493.65 static int total_nof_methods_reclaimed() { return _total_nof_methods_reclaimed; } 493.66 @@ -105,10 +108,10 @@ 493.67 static void mark_active_nmethods(); // Invoked at the end of each safepoint 493.68 static void possibly_sweep(); // Compiler threads call this to sweep 493.69 493.70 - static int sort_nmethods_by_hotness(nmethod** nm1, nmethod** nm2); 493.71 static int hotness_counter_reset_val(); 493.72 static void report_state_change(nmethod* nm); 493.73 static void possibly_enable_sweeper(); 493.74 + static void print(); // Printing/debugging 493.75 }; 493.76 493.77 #endif // SHARE_VM_RUNTIME_SWEEPER_HPP
494.1 --- a/src/share/vm/runtime/synchronizer.hpp Thu Jan 16 14:25:51 2014 +0100 494.2 +++ b/src/share/vm/runtime/synchronizer.hpp Wed Jan 22 17:42:23 2014 -0800 494.3 @@ -1,5 +1,5 @@ 494.4 /* 494.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 494.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 494.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 494.8 * 494.9 * This code is free software; you can redistribute it and/or modify it
495.1 --- a/src/share/vm/runtime/unhandledOops.hpp Thu Jan 16 14:25:51 2014 +0100 495.2 +++ b/src/share/vm/runtime/unhandledOops.hpp Wed Jan 22 17:42:23 2014 -0800 495.3 @@ -1,5 +1,5 @@ 495.4 /* 495.5 - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 495.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 495.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 495.8 * 495.9 * This code is free software; you can redistribute it and/or modify it
496.1 --- a/src/share/vm/runtime/vframe.cpp Thu Jan 16 14:25:51 2014 +0100 496.2 +++ b/src/share/vm/runtime/vframe.cpp Wed Jan 22 17:42:23 2014 -0800 496.3 @@ -1,5 +1,5 @@ 496.4 /* 496.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 496.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 496.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 496.8 * 496.9 * This code is free software; you can redistribute it and/or modify it
497.1 --- a/src/share/vm/runtime/vframe.hpp Thu Jan 16 14:25:51 2014 +0100 497.2 +++ b/src/share/vm/runtime/vframe.hpp Wed Jan 22 17:42:23 2014 -0800 497.3 @@ -1,5 +1,5 @@ 497.4 /* 497.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 497.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 497.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 497.8 * 497.9 * This code is free software; you can redistribute it and/or modify it
498.1 --- a/src/share/vm/runtime/vframeArray.hpp Thu Jan 16 14:25:51 2014 +0100 498.2 +++ b/src/share/vm/runtime/vframeArray.hpp Wed Jan 22 17:42:23 2014 -0800 498.3 @@ -1,5 +1,5 @@ 498.4 /* 498.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 498.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 498.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 498.8 * 498.9 * This code is free software; you can redistribute it and/or modify it
499.1 --- a/src/share/vm/runtime/virtualspace.hpp Thu Jan 16 14:25:51 2014 +0100 499.2 +++ b/src/share/vm/runtime/virtualspace.hpp Wed Jan 22 17:42:23 2014 -0800 499.3 @@ -1,5 +1,5 @@ 499.4 /* 499.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 499.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 499.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 499.8 * 499.9 * This code is free software; you can redistribute it and/or modify it
500.1 --- a/src/share/vm/runtime/vm_version.hpp Thu Jan 16 14:25:51 2014 +0100 500.2 +++ b/src/share/vm/runtime/vm_version.hpp Wed Jan 22 17:42:23 2014 -0800 500.3 @@ -1,5 +1,5 @@ 500.4 /* 500.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 500.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 500.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 500.8 * 500.9 * This code is free software; you can redistribute it and/or modify it
501.1 --- a/src/share/vm/services/classLoadingService.hpp Thu Jan 16 14:25:51 2014 +0100 501.2 +++ b/src/share/vm/services/classLoadingService.hpp Wed Jan 22 17:42:23 2014 -0800 501.3 @@ -1,5 +1,5 @@ 501.4 /* 501.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 501.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 501.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 501.8 * 501.9 * This code is free software; you can redistribute it and/or modify it
502.1 --- a/src/share/vm/services/dtraceAttacher.cpp Thu Jan 16 14:25:51 2014 +0100 502.2 +++ b/src/share/vm/services/dtraceAttacher.cpp Wed Jan 22 17:42:23 2014 -0800 502.3 @@ -1,5 +1,5 @@ 502.4 /* 502.5 - * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 502.6 + * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. 502.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 502.8 * 502.9 * This code is free software; you can redistribute it and/or modify it
503.1 --- a/src/share/vm/services/g1MemoryPool.hpp Thu Jan 16 14:25:51 2014 +0100 503.2 +++ b/src/share/vm/services/g1MemoryPool.hpp Wed Jan 22 17:42:23 2014 -0800 503.3 @@ -1,5 +1,5 @@ 503.4 /* 503.5 - * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 503.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 503.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 503.8 * 503.9 * This code is free software; you can redistribute it and/or modify it
504.1 --- a/src/share/vm/services/memReporter.cpp Thu Jan 16 14:25:51 2014 +0100 504.2 +++ b/src/share/vm/services/memReporter.cpp Wed Jan 22 17:42:23 2014 -0800 504.3 @@ -1,5 +1,5 @@ 504.4 /* 504.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 504.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 504.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 504.8 * 504.9 * This code is free software; you can redistribute it and/or modify it
505.1 --- a/src/share/vm/services/memReporter.hpp Thu Jan 16 14:25:51 2014 +0100 505.2 +++ b/src/share/vm/services/memReporter.hpp Wed Jan 22 17:42:23 2014 -0800 505.3 @@ -1,5 +1,5 @@ 505.4 /* 505.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 505.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 505.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 505.8 * 505.9 * This code is free software; you can redistribute it and/or modify it
506.1 --- a/src/share/vm/services/memSnapshot.hpp Thu Jan 16 14:25:51 2014 +0100 506.2 +++ b/src/share/vm/services/memSnapshot.hpp Wed Jan 22 17:42:23 2014 -0800 506.3 @@ -1,5 +1,5 @@ 506.4 /* 506.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 506.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 506.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 506.8 * 506.9 * This code is free software; you can redistribute it and/or modify it
507.1 --- a/src/share/vm/services/memoryManager.hpp Thu Jan 16 14:25:51 2014 +0100 507.2 +++ b/src/share/vm/services/memoryManager.hpp Wed Jan 22 17:42:23 2014 -0800 507.3 @@ -1,5 +1,5 @@ 507.4 /* 507.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 507.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 507.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 507.8 * 507.9 * This code is free software; you can redistribute it and/or modify it
508.1 --- a/src/share/vm/services/memoryPool.hpp Thu Jan 16 14:25:51 2014 +0100 508.2 +++ b/src/share/vm/services/memoryPool.hpp Wed Jan 22 17:42:23 2014 -0800 508.3 @@ -1,5 +1,5 @@ 508.4 /* 508.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 508.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 508.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 508.8 * 508.9 * This code is free software; you can redistribute it and/or modify it
509.1 --- a/src/share/vm/services/memoryService.cpp Thu Jan 16 14:25:51 2014 +0100 509.2 +++ b/src/share/vm/services/memoryService.cpp Wed Jan 22 17:42:23 2014 -0800 509.3 @@ -1,5 +1,5 @@ 509.4 /* 509.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 509.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 509.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 509.8 * 509.9 * This code is free software; you can redistribute it and/or modify it
510.1 --- a/src/share/vm/services/memoryService.hpp Thu Jan 16 14:25:51 2014 +0100 510.2 +++ b/src/share/vm/services/memoryService.hpp Wed Jan 22 17:42:23 2014 -0800 510.3 @@ -1,5 +1,5 @@ 510.4 /* 510.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 510.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 510.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 510.8 * 510.9 * This code is free software; you can redistribute it and/or modify it
511.1 --- a/src/share/vm/services/memoryUsage.hpp Thu Jan 16 14:25:51 2014 +0100 511.2 +++ b/src/share/vm/services/memoryUsage.hpp Wed Jan 22 17:42:23 2014 -0800 511.3 @@ -1,5 +1,5 @@ 511.4 /* 511.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 511.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 511.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 511.8 * 511.9 * This code is free software; you can redistribute it and/or modify it
512.1 --- a/src/share/vm/services/psMemoryPool.hpp Thu Jan 16 14:25:51 2014 +0100 512.2 +++ b/src/share/vm/services/psMemoryPool.hpp Wed Jan 22 17:42:23 2014 -0800 512.3 @@ -1,5 +1,5 @@ 512.4 /* 512.5 - * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 512.6 + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. 512.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 512.8 * 512.9 * This code is free software; you can redistribute it and/or modify it
513.1 --- a/src/share/vm/services/threadService.hpp Thu Jan 16 14:25:51 2014 +0100 513.2 +++ b/src/share/vm/services/threadService.hpp Wed Jan 22 17:42:23 2014 -0800 513.3 @@ -1,5 +1,5 @@ 513.4 /* 513.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 513.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 513.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 513.8 * 513.9 * This code is free software; you can redistribute it and/or modify it
514.1 --- a/src/share/vm/shark/sharkBlock.cpp Thu Jan 16 14:25:51 2014 +0100 514.2 +++ b/src/share/vm/shark/sharkBlock.cpp Wed Jan 22 17:42:23 2014 -0800 514.3 @@ -1,5 +1,5 @@ 514.4 /* 514.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 514.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 514.7 * Copyright 2008, 2009, 2010 Red Hat, Inc. 514.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 514.9 *
515.1 --- a/src/share/vm/shark/sharkBuilder.cpp Thu Jan 16 14:25:51 2014 +0100 515.2 +++ b/src/share/vm/shark/sharkBuilder.cpp Wed Jan 22 17:42:23 2014 -0800 515.3 @@ -1,5 +1,5 @@ 515.4 /* 515.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 515.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 515.7 * Copyright 2008, 2009, 2010 Red Hat, Inc. 515.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 515.9 *
516.1 --- a/src/share/vm/shark/sharkCompiler.cpp Thu Jan 16 14:25:51 2014 +0100 516.2 +++ b/src/share/vm/shark/sharkCompiler.cpp Wed Jan 22 17:42:23 2014 -0800 516.3 @@ -1,5 +1,5 @@ 516.4 /* 516.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 516.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 516.7 * Copyright 2008, 2009, 2010, 2011 Red Hat, Inc. 516.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 516.9 *
517.1 --- a/src/share/vm/shark/sharkCompiler.hpp Thu Jan 16 14:25:51 2014 +0100 517.2 +++ b/src/share/vm/shark/sharkCompiler.hpp Wed Jan 22 17:42:23 2014 -0800 517.3 @@ -1,5 +1,5 @@ 517.4 /* 517.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 517.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 517.7 * Copyright 2008, 2009, 2010, 2011 Red Hat, Inc. 517.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 517.9 *
518.1 --- a/src/share/vm/shark/sharkConstant.cpp Thu Jan 16 14:25:51 2014 +0100 518.2 +++ b/src/share/vm/shark/sharkConstant.cpp Wed Jan 22 17:42:23 2014 -0800 518.3 @@ -1,5 +1,5 @@ 518.4 /* 518.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 518.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 518.7 * Copyright 2009 Red Hat, Inc. 518.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 518.9 *
519.1 --- a/src/share/vm/shark/sharkFunction.cpp Thu Jan 16 14:25:51 2014 +0100 519.2 +++ b/src/share/vm/shark/sharkFunction.cpp Wed Jan 22 17:42:23 2014 -0800 519.3 @@ -1,5 +1,5 @@ 519.4 /* 519.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 519.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 519.7 * Copyright 2008, 2009 Red Hat, Inc. 519.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 519.9 *
520.1 --- a/src/share/vm/shark/sharkInliner.cpp Thu Jan 16 14:25:51 2014 +0100 520.2 +++ b/src/share/vm/shark/sharkInliner.cpp Wed Jan 22 17:42:23 2014 -0800 520.3 @@ -1,5 +1,5 @@ 520.4 /* 520.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 520.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 520.7 * Copyright 2009 Red Hat, Inc. 520.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 520.9 *
521.1 --- a/src/share/vm/shark/sharkInvariants.hpp Thu Jan 16 14:25:51 2014 +0100 521.2 +++ b/src/share/vm/shark/sharkInvariants.hpp Wed Jan 22 17:42:23 2014 -0800 521.3 @@ -1,5 +1,5 @@ 521.4 /* 521.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 521.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 521.7 * Copyright 2008, 2009 Red Hat, Inc. 521.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 521.9 *
522.1 --- a/src/share/vm/shark/sharkTopLevelBlock.cpp Thu Jan 16 14:25:51 2014 +0100 522.2 +++ b/src/share/vm/shark/sharkTopLevelBlock.cpp Wed Jan 22 17:42:23 2014 -0800 522.3 @@ -1,5 +1,5 @@ 522.4 /* 522.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 522.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 522.7 * Copyright 2008, 2009, 2010 Red Hat, Inc. 522.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 522.9 *
523.1 --- a/src/share/vm/utilities/bitMap.cpp Thu Jan 16 14:25:51 2014 +0100 523.2 +++ b/src/share/vm/utilities/bitMap.cpp Wed Jan 22 17:42:23 2014 -0800 523.3 @@ -1,5 +1,5 @@ 523.4 /* 523.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 523.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 523.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 523.8 * 523.9 * This code is free software; you can redistribute it and/or modify it
524.1 --- a/src/share/vm/utilities/bitMap.hpp Thu Jan 16 14:25:51 2014 +0100 524.2 +++ b/src/share/vm/utilities/bitMap.hpp Wed Jan 22 17:42:23 2014 -0800 524.3 @@ -1,5 +1,5 @@ 524.4 /* 524.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 524.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 524.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 524.8 * 524.9 * This code is free software; you can redistribute it and/or modify it
525.1 --- a/src/share/vm/utilities/bitMap.inline.hpp Thu Jan 16 14:25:51 2014 +0100 525.2 +++ b/src/share/vm/utilities/bitMap.inline.hpp Wed Jan 22 17:42:23 2014 -0800 525.3 @@ -1,5 +1,5 @@ 525.4 /* 525.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 525.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 525.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 525.8 * 525.9 * This code is free software; you can redistribute it and/or modify it
526.1 --- a/src/share/vm/utilities/decoder.cpp Thu Jan 16 14:25:51 2014 +0100 526.2 +++ b/src/share/vm/utilities/decoder.cpp Wed Jan 22 17:42:23 2014 -0800 526.3 @@ -1,5 +1,5 @@ 526.4 /* 526.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 526.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 526.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 526.8 * 526.9 * This code is free software; you can redistribute it and/or modify it
527.1 --- a/src/share/vm/utilities/decoder.hpp Thu Jan 16 14:25:51 2014 +0100 527.2 +++ b/src/share/vm/utilities/decoder.hpp Wed Jan 22 17:42:23 2014 -0800 527.3 @@ -1,5 +1,5 @@ 527.4 /* 527.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 527.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 527.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 527.8 * 527.9 * This code is free software; you can redistribute it and/or modify it
528.1 --- a/src/share/vm/utilities/exceptions.cpp Thu Jan 16 14:25:51 2014 +0100 528.2 +++ b/src/share/vm/utilities/exceptions.cpp Wed Jan 22 17:42:23 2014 -0800 528.3 @@ -1,5 +1,5 @@ 528.4 /* 528.5 - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 528.6 + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 528.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 528.8 * 528.9 * This code is free software; you can redistribute it and/or modify it
529.1 --- a/src/share/vm/utilities/globalDefinitions.cpp Thu Jan 16 14:25:51 2014 +0100 529.2 +++ b/src/share/vm/utilities/globalDefinitions.cpp Wed Jan 22 17:42:23 2014 -0800 529.3 @@ -1,5 +1,5 @@ 529.4 /* 529.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 529.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 529.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 529.8 * 529.9 * This code is free software; you can redistribute it and/or modify it
530.1 --- a/src/share/vm/utilities/globalDefinitions_visCPP.hpp Thu Jan 16 14:25:51 2014 +0100 530.2 +++ b/src/share/vm/utilities/globalDefinitions_visCPP.hpp Wed Jan 22 17:42:23 2014 -0800 530.3 @@ -1,5 +1,5 @@ 530.4 /* 530.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 530.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 530.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 530.8 * 530.9 * This code is free software; you can redistribute it and/or modify it
531.1 --- a/src/share/vm/utilities/growableArray.hpp Thu Jan 16 14:25:51 2014 +0100 531.2 +++ b/src/share/vm/utilities/growableArray.hpp Wed Jan 22 17:42:23 2014 -0800 531.3 @@ -1,5 +1,5 @@ 531.4 /* 531.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 531.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 531.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 531.8 * 531.9 * This code is free software; you can redistribute it and/or modify it
532.1 --- a/src/share/vm/utilities/hashtable.hpp Thu Jan 16 14:25:51 2014 +0100 532.2 +++ b/src/share/vm/utilities/hashtable.hpp Wed Jan 22 17:42:23 2014 -0800 532.3 @@ -1,5 +1,5 @@ 532.4 /* 532.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 532.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 532.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 532.8 * 532.9 * This code is free software; you can redistribute it and/or modify it
533.1 --- a/src/share/vm/utilities/macros.hpp Thu Jan 16 14:25:51 2014 +0100 533.2 +++ b/src/share/vm/utilities/macros.hpp Wed Jan 22 17:42:23 2014 -0800 533.3 @@ -1,5 +1,5 @@ 533.4 /* 533.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 533.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 533.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 533.8 * 533.9 * This code is free software; you can redistribute it and/or modify it
534.1 --- a/src/share/vm/utilities/numberSeq.cpp Thu Jan 16 14:25:51 2014 +0100 534.2 +++ b/src/share/vm/utilities/numberSeq.cpp Wed Jan 22 17:42:23 2014 -0800 534.3 @@ -1,5 +1,5 @@ 534.4 /* 534.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 534.6 + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. 534.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 534.8 * 534.9 * This code is free software; you can redistribute it and/or modify it
535.1 --- a/src/share/vm/utilities/ostream.hpp Thu Jan 16 14:25:51 2014 +0100 535.2 +++ b/src/share/vm/utilities/ostream.hpp Wed Jan 22 17:42:23 2014 -0800 535.3 @@ -1,5 +1,5 @@ 535.4 /* 535.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 535.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 535.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 535.8 * 535.9 * This code is free software; you can redistribute it and/or modify it
536.1 --- a/src/share/vm/utilities/top.hpp Thu Jan 16 14:25:51 2014 +0100 536.2 +++ b/src/share/vm/utilities/top.hpp Wed Jan 22 17:42:23 2014 -0800 536.3 @@ -1,5 +1,5 @@ 536.4 /* 536.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 536.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 536.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 536.8 * 536.9 * This code is free software; you can redistribute it and/or modify it
537.1 --- a/src/share/vm/utilities/vmError.cpp Thu Jan 16 14:25:51 2014 +0100 537.2 +++ b/src/share/vm/utilities/vmError.cpp Wed Jan 22 17:42:23 2014 -0800 537.3 @@ -1040,7 +1040,7 @@ 537.4 OnError = NULL; 537.5 } 537.6 537.7 - static bool skip_replay = false; 537.8 + static bool skip_replay = ReplayCompiles; // Do not overwrite file during replay 537.9 if (DumpReplayDataOnError && _thread && _thread->is_Compiler_thread() && !skip_replay) { 537.10 skip_replay = true; 537.11 ciEnv* env = ciEnv::current();
538.1 --- a/src/share/vm/utilities/yieldingWorkgroup.cpp Thu Jan 16 14:25:51 2014 +0100 538.2 +++ b/src/share/vm/utilities/yieldingWorkgroup.cpp Wed Jan 22 17:42:23 2014 -0800 538.3 @@ -1,5 +1,5 @@ 538.4 /* 538.5 - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 538.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 538.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 538.8 * 538.9 * This code is free software; you can redistribute it and/or modify it
539.1 --- a/test/Makefile Thu Jan 16 14:25:51 2014 +0100 539.2 +++ b/test/Makefile Wed Jan 22 17:42:23 2014 -0800 539.3 @@ -1,5 +1,5 @@ 539.4 # 539.5 -# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved. 539.6 +# Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. 539.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 539.8 # 539.9 # This code is free software; you can redistribute it and/or modify it
540.1 --- a/test/TEST.ROOT Thu Jan 16 14:25:51 2014 +0100 540.2 +++ b/test/TEST.ROOT Wed Jan 22 17:42:23 2014 -0800 540.3 @@ -1,5 +1,5 @@ 540.4 # 540.5 -# Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved. 540.6 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 540.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 540.8 # 540.9 # This code is free software; you can redistribute it and/or modify it
541.1 --- a/test/compiler/5091921/Test7005594.sh Thu Jan 16 14:25:51 2014 +0100 541.2 +++ b/test/compiler/5091921/Test7005594.sh Wed Jan 22 17:42:23 2014 -0800 541.3 @@ -1,6 +1,6 @@ 541.4 #!/bin/sh 541.5 # 541.6 -# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 541.7 +# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 541.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 541.9 # 541.10 # This code is free software; you can redistribute it and/or modify it
542.1 --- a/test/compiler/6431242/Test.java Thu Jan 16 14:25:51 2014 +0100 542.2 +++ b/test/compiler/6431242/Test.java Wed Jan 22 17:42:23 2014 -0800 542.3 @@ -1,5 +1,5 @@ 542.4 /* 542.5 - * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 542.6 + * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. 542.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 542.8 * 542.9 * This code is free software; you can redistribute it and/or modify it
543.1 --- a/test/compiler/6589834/Test_ia32.java Thu Jan 16 14:25:51 2014 +0100 543.2 +++ b/test/compiler/6589834/Test_ia32.java Wed Jan 22 17:42:23 2014 -0800 543.3 @@ -1,5 +1,5 @@ 543.4 /* 543.5 - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. 543.6 + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. 543.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 543.8 * 543.9 * This code is free software; you can redistribute it and/or modify it
544.1 --- a/test/compiler/6636138/Test1.java Thu Jan 16 14:25:51 2014 +0100 544.2 +++ b/test/compiler/6636138/Test1.java Wed Jan 22 17:42:23 2014 -0800 544.3 @@ -1,5 +1,5 @@ 544.4 /* 544.5 - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. 544.6 + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. 544.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 544.8 * 544.9 * This code is free software; you can redistribute it and/or modify it
545.1 --- a/test/compiler/6636138/Test2.java Thu Jan 16 14:25:51 2014 +0100 545.2 +++ b/test/compiler/6636138/Test2.java Wed Jan 22 17:42:23 2014 -0800 545.3 @@ -1,5 +1,5 @@ 545.4 /* 545.5 - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. 545.6 + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. 545.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 545.8 * 545.9 * This code is free software; you can redistribute it and/or modify it
546.1 --- a/test/compiler/6795161/Test.java Thu Jan 16 14:25:51 2014 +0100 546.2 +++ b/test/compiler/6795161/Test.java Wed Jan 22 17:42:23 2014 -0800 546.3 @@ -1,5 +1,5 @@ 546.4 /* 546.5 - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. 546.6 + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. 546.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 546.8 * 546.9 * This code is free software; you can redistribute it and/or modify it
547.1 --- a/test/compiler/6857159/Test6857159.sh Thu Jan 16 14:25:51 2014 +0100 547.2 +++ b/test/compiler/6857159/Test6857159.sh Wed Jan 22 17:42:23 2014 -0800 547.3 @@ -1,6 +1,6 @@ 547.4 #!/bin/sh 547.5 # 547.6 -# Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. 547.7 +# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. 547.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 547.9 # 547.10 # This code is free software; you can redistribute it and/or modify it
548.1 --- a/test/compiler/7068051/Test7068051.sh Thu Jan 16 14:25:51 2014 +0100 548.2 +++ b/test/compiler/7068051/Test7068051.sh Wed Jan 22 17:42:23 2014 -0800 548.3 @@ -1,6 +1,6 @@ 548.4 #!/bin/sh 548.5 # 548.6 -# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 548.7 +# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 548.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 548.9 # 548.10 # This code is free software; you can redistribute it and/or modify it
549.1 --- a/test/compiler/7070134/Test7070134.sh Thu Jan 16 14:25:51 2014 +0100 549.2 +++ b/test/compiler/7070134/Test7070134.sh Wed Jan 22 17:42:23 2014 -0800 549.3 @@ -1,6 +1,6 @@ 549.4 #!/bin/sh 549.5 # 549.6 -# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 549.7 +# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 549.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 549.9 # 549.10 # This code is free software; you can redistribute it and/or modify it
550.1 --- a/test/compiler/7200264/Test7200264.sh Thu Jan 16 14:25:51 2014 +0100 550.2 +++ b/test/compiler/7200264/Test7200264.sh Wed Jan 22 17:42:23 2014 -0800 550.3 @@ -1,6 +1,6 @@ 550.4 #!/bin/sh 550.5 # 550.6 -# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 550.7 +# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 550.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 550.9 # 550.10 # This code is free software; you can redistribute it and/or modify it
551.1 --- a/test/compiler/8000805/Test8000805.java Thu Jan 16 14:25:51 2014 +0100 551.2 +++ b/test/compiler/8000805/Test8000805.java Wed Jan 22 17:42:23 2014 -0800 551.3 @@ -1,5 +1,5 @@ 551.4 /* 551.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 551.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 551.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 551.8 * 551.9 * This code is free software; you can redistribute it and/or modify it
552.1 --- a/test/compiler/8005419/Test8005419.java Thu Jan 16 14:25:51 2014 +0100 552.2 +++ b/test/compiler/8005419/Test8005419.java Wed Jan 22 17:42:23 2014 -0800 552.3 @@ -1,5 +1,5 @@ 552.4 /* 552.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 552.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 552.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 552.8 * 552.9 * This code is free software; you can redistribute it and/or modify it
553.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 553.2 +++ b/test/compiler/debug/VerifyAdapterSharing.java Wed Jan 22 17:42:23 2014 -0800 553.3 @@ -0,0 +1,43 @@ 553.4 +/* 553.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 553.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 553.7 + * 553.8 + * This code is free software; you can redistribute it and/or modify it 553.9 + * under the terms of the GNU General Public License version 2 only, as 553.10 + * published by the Free Software Foundation. 553.11 + * 553.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 553.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 553.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 553.15 + * version 2 for more details (a copy is included in the LICENSE file that 553.16 + * accompanied this code). 553.17 + * 553.18 + * You should have received a copy of the GNU General Public License version 553.19 + * 2 along with this work; if not, write to the Free Software Foundation, 553.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 553.21 + * 553.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 553.23 + * or visit www.oracle.com if you need additional information or have any 553.24 + * questions. 553.25 + */ 553.26 + 553.27 +/* 553.28 + * @test 553.29 + * @bug 8030783 553.30 + * @summary Regression test for 8026478 553.31 + * @library /testlibrary 553.32 + * 553.33 + */ 553.34 +import com.oracle.java.testlibrary.*; 553.35 + 553.36 +public class VerifyAdapterSharing { 553.37 + public static void main(String[] args) throws Exception { 553.38 + ProcessBuilder pb; 553.39 + OutputAnalyzer out; 553.40 + 553.41 + pb = ProcessTools.createJavaProcessBuilder("-Xcomp", "-XX:+IgnoreUnrecognizedVMOptions", 553.42 + "-XX:+VerifyAdapterSharing", "-version"); 553.43 + out = new OutputAnalyzer(pb.start()); 553.44 + out.shouldHaveExitValue(0); 553.45 + } 553.46 +}
554.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 554.2 +++ b/test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java Wed Jan 22 17:42:23 2014 -0800 554.3 @@ -0,0 +1,45 @@ 554.4 +/* 554.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 554.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 554.7 + * 554.8 + * This code is free software; you can redistribute it and/or modify it 554.9 + * under the terms of the GNU General Public License version 2 only, as 554.10 + * published by the Free Software Foundation. 554.11 + * 554.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 554.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 554.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 554.15 + * version 2 for more details (a copy is included in the LICENSE file that 554.16 + * accompanied this code). 554.17 + * 554.18 + * You should have received a copy of the GNU General Public License version 554.19 + * 2 along with this work; if not, write to the Free Software Foundation, 554.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 554.21 + * 554.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 554.23 + * or visit www.oracle.com if you need additional information or have any 554.24 + * questions. 554.25 + */ 554.26 + 554.27 +/* 554.28 + * @test 554.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 554.30 + * @build AddExactIntTest 554.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 554.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 554.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 554.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 554.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics AddExactIntTest 554.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 554.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 554.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 554.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics AddExactIntTest 554.40 + * @run main Verifier hs_neg.log hs.log 554.41 + */ 554.42 + 554.43 +public class AddExactIntTest { 554.44 + 554.45 + public static void main(String[] args) throws Exception { 554.46 + new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Add).test(); 554.47 + } 554.48 +}
555.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 555.2 +++ b/test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java Wed Jan 22 17:42:23 2014 -0800 555.3 @@ -0,0 +1,45 @@ 555.4 +/* 555.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 555.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 555.7 + * 555.8 + * This code is free software; you can redistribute it and/or modify it 555.9 + * under the terms of the GNU General Public License version 2 only, as 555.10 + * published by the Free Software Foundation. 555.11 + * 555.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 555.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 555.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 555.15 + * version 2 for more details (a copy is included in the LICENSE file that 555.16 + * accompanied this code). 555.17 + * 555.18 + * You should have received a copy of the GNU General Public License version 555.19 + * 2 along with this work; if not, write to the Free Software Foundation, 555.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 555.21 + * 555.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 555.23 + * or visit www.oracle.com if you need additional information or have any 555.24 + * questions. 555.25 + */ 555.26 + 555.27 +/* 555.28 + * @test 555.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 555.30 + * @build AddExactLongTest 555.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 555.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 555.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 555.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 555.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics AddExactLongTest 555.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 555.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 555.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 555.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics AddExactLongTest 555.40 + * @run main Verifier hs_neg.log hs.log 555.41 + */ 555.42 + 555.43 +public class AddExactLongTest { 555.44 + 555.45 + public static void main(String[] args) throws Exception { 555.46 + new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Add).test(); 555.47 + } 555.48 +}
556.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 556.2 +++ b/test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java Wed Jan 22 17:42:23 2014 -0800 556.3 @@ -0,0 +1,45 @@ 556.4 +/* 556.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 556.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 556.7 + * 556.8 + * This code is free software; you can redistribute it and/or modify it 556.9 + * under the terms of the GNU General Public License version 2 only, as 556.10 + * published by the Free Software Foundation. 556.11 + * 556.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 556.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 556.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 556.15 + * version 2 for more details (a copy is included in the LICENSE file that 556.16 + * accompanied this code). 556.17 + * 556.18 + * You should have received a copy of the GNU General Public License version 556.19 + * 2 along with this work; if not, write to the Free Software Foundation, 556.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 556.21 + * 556.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 556.23 + * or visit www.oracle.com if you need additional information or have any 556.24 + * questions. 556.25 + */ 556.26 + 556.27 +/* 556.28 + * @test 556.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 556.30 + * @build DecrementExactIntTest 556.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 556.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 556.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 556.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 556.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics DecrementExactIntTest 556.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 556.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 556.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 556.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics DecrementExactIntTest 556.40 + * @run main Verifier hs_neg.log hs.log 556.41 + */ 556.42 + 556.43 +public class DecrementExactIntTest { 556.44 + 556.45 + public static void main(String[] args) throws Exception { 556.46 + new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Decrement).test(); 556.47 + } 556.48 +}
557.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 557.2 +++ b/test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java Wed Jan 22 17:42:23 2014 -0800 557.3 @@ -0,0 +1,45 @@ 557.4 +/* 557.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 557.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 557.7 + * 557.8 + * This code is free software; you can redistribute it and/or modify it 557.9 + * under the terms of the GNU General Public License version 2 only, as 557.10 + * published by the Free Software Foundation. 557.11 + * 557.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 557.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 557.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 557.15 + * version 2 for more details (a copy is included in the LICENSE file that 557.16 + * accompanied this code). 557.17 + * 557.18 + * You should have received a copy of the GNU General Public License version 557.19 + * 2 along with this work; if not, write to the Free Software Foundation, 557.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 557.21 + * 557.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 557.23 + * or visit www.oracle.com if you need additional information or have any 557.24 + * questions. 557.25 + */ 557.26 + 557.27 +/* 557.28 + * @test 557.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 557.30 + * @build DecrementExactLongTest 557.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 557.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 557.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 557.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 557.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics DecrementExactLongTest 557.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 557.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 557.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 557.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics DecrementExactLongTest 557.40 + * @run main Verifier hs_neg.log hs.log 557.41 + */ 557.42 + 557.43 +public class DecrementExactLongTest { 557.44 + 557.45 + public static void main(String[] args) throws Exception { 557.46 + new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Decrement).test(); 557.47 + } 557.48 +} 557.49 \ No newline at end of file
558.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 558.2 +++ b/test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java Wed Jan 22 17:42:23 2014 -0800 558.3 @@ -0,0 +1,45 @@ 558.4 +/* 558.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 558.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 558.7 + * 558.8 + * This code is free software; you can redistribute it and/or modify it 558.9 + * under the terms of the GNU General Public License version 2 only, as 558.10 + * published by the Free Software Foundation. 558.11 + * 558.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 558.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 558.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 558.15 + * version 2 for more details (a copy is included in the LICENSE file that 558.16 + * accompanied this code). 558.17 + * 558.18 + * You should have received a copy of the GNU General Public License version 558.19 + * 2 along with this work; if not, write to the Free Software Foundation, 558.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 558.21 + * 558.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 558.23 + * or visit www.oracle.com if you need additional information or have any 558.24 + * questions. 558.25 + */ 558.26 + 558.27 +/* 558.28 + * @test 558.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 558.30 + * @build IncrementExactIntTest 558.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 558.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 558.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 558.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 558.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics IncrementExactIntTest 558.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 558.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 558.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 558.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics IncrementExactIntTest 558.40 + * @run main Verifier hs_neg.log hs.log 558.41 + */ 558.42 + 558.43 +public class IncrementExactIntTest { 558.44 + 558.45 + public static void main(String[] args) throws Exception { 558.46 + new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Increment).test(); 558.47 + } 558.48 +}
559.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 559.2 +++ b/test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java Wed Jan 22 17:42:23 2014 -0800 559.3 @@ -0,0 +1,45 @@ 559.4 +/* 559.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 559.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 559.7 + * 559.8 + * This code is free software; you can redistribute it and/or modify it 559.9 + * under the terms of the GNU General Public License version 2 only, as 559.10 + * published by the Free Software Foundation. 559.11 + * 559.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 559.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 559.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 559.15 + * version 2 for more details (a copy is included in the LICENSE file that 559.16 + * accompanied this code). 559.17 + * 559.18 + * You should have received a copy of the GNU General Public License version 559.19 + * 2 along with this work; if not, write to the Free Software Foundation, 559.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 559.21 + * 559.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 559.23 + * or visit www.oracle.com if you need additional information or have any 559.24 + * questions. 559.25 + */ 559.26 + 559.27 +/* 559.28 + * @test 559.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 559.30 + * @build IncrementExactLongTest 559.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 559.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 559.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 559.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 559.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics IncrementExactLongTest 559.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 559.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 559.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 559.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics IncrementExactLongTest 559.40 + * @run main Verifier hs_neg.log hs.log 559.41 + */ 559.42 + 559.43 +public class IncrementExactLongTest { 559.44 + 559.45 + public static void main(String[] args) throws Exception { 559.46 + new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Increment).test(); 559.47 + } 559.48 +}
560.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 560.2 +++ b/test/compiler/intrinsics/mathexact/sanity/IntrinsicBase.java Wed Jan 22 17:42:23 2014 -0800 560.3 @@ -0,0 +1,155 @@ 560.4 +/* 560.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 560.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 560.7 + * 560.8 + * This code is free software; you can redistribute it and/or modify it 560.9 + * under the terms of the GNU General Public License version 2 only, as 560.10 + * published by the Free Software Foundation. 560.11 + * 560.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 560.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 560.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 560.15 + * version 2 for more details (a copy is included in the LICENSE file that 560.16 + * accompanied this code). 560.17 + * 560.18 + * You should have received a copy of the GNU General Public License version 560.19 + * 2 along with this work; if not, write to the Free Software Foundation, 560.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 560.21 + * 560.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 560.23 + * or visit www.oracle.com if you need additional information or have any 560.24 + * questions. 560.25 + */ 560.26 + 560.27 +import com.oracle.java.testlibrary.Platform; 560.28 + 560.29 +import java.io.FileOutputStream; 560.30 +import java.lang.reflect.Executable; 560.31 +import java.util.Properties; 560.32 + 560.33 +public abstract class IntrinsicBase extends CompilerWhiteBoxTest { 560.34 + protected String javaVmName; 560.35 + protected String useMathExactIntrinsics; 560.36 + 560.37 + protected IntrinsicBase(TestCase testCase) { 560.38 + super(testCase); 560.39 + javaVmName = System.getProperty("java.vm.name"); 560.40 + useMathExactIntrinsics = getVMOption("UseMathExactIntrinsics"); 560.41 + } 560.42 + 560.43 + @Override 560.44 + protected void test() throws Exception { 560.45 + //java.lang.Math should be loaded to allow a compilation of the methods that use Math's method 560.46 + System.out.println("class java.lang.Math should be loaded. Proof: " + Math.class); 560.47 + printEnvironmentInfo(); 560.48 + 560.49 + int expectedIntrinsicCount = 0; 560.50 + 560.51 + switch (MODE) { 560.52 + case "compiled mode": 560.53 + case "mixed mode": 560.54 + if (isServerVM()) { 560.55 + if (TIERED_COMPILATION) { 560.56 + int max_level = TIERED_STOP_AT_LEVEL; 560.57 + expectedIntrinsicCount = (max_level == COMP_LEVEL_MAX) ? 1 : 0; 560.58 + for (int i = CompilerWhiteBoxTest.COMP_LEVEL_SIMPLE; i <= max_level; ++i) { 560.59 + deoptimize(); 560.60 + compileAtLevel(i); 560.61 + } 560.62 + } else { 560.63 + expectedIntrinsicCount = 1; 560.64 + deoptimize(); 560.65 + compileAtLevel(CompilerWhiteBoxTest.COMP_LEVEL_MAX); 560.66 + } 560.67 + } else { 560.68 + deoptimize(); 560.69 + compileAtLevel(CompilerWhiteBoxTest.COMP_LEVEL_SIMPLE); 560.70 + } 560.71 + 560.72 + if (!isIntrinsicSupported()) { 560.73 + expectedIntrinsicCount = 0; 560.74 + } 560.75 + break; 560.76 + case "interpreted mode": //test is not applicable in this mode; 560.77 + System.err.println("Warning: This test is not applicable in mode: " + MODE); 560.78 + break; 560.79 + default: 560.80 + throw new RuntimeException("Test bug, unknown VM mode: " + MODE); 560.81 + } 560.82 + 560.83 + System.out.println("Expected intrinsic count is " + expectedIntrinsicCount + " name " + getIntrinsicId()); 560.84 + 560.85 + final FileOutputStream out = new FileOutputStream(getVMOption("LogFile") + ".verify.properties"); 560.86 + Properties expectedProps = new Properties(); 560.87 + expectedProps.setProperty("intrinsic.name", getIntrinsicId()); 560.88 + expectedProps.setProperty("intrinsic.expectedCount", String.valueOf(expectedIntrinsicCount)); 560.89 + expectedProps.store(out, null); 560.90 + 560.91 + out.close(); 560.92 + } 560.93 + 560.94 + protected void printEnvironmentInfo() { 560.95 + System.out.println("java.vm.name=" + javaVmName); 560.96 + System.out.println("os.arch=" + Platform.getOsArch()); 560.97 + System.out.println("java.vm.info=" + MODE); 560.98 + System.out.println("useMathExactIntrinsics=" + useMathExactIntrinsics); 560.99 + } 560.100 + 560.101 + protected void compileAtLevel(int level) { 560.102 + WHITE_BOX.enqueueMethodForCompilation(method, level); 560.103 + waitBackgroundCompilation(); 560.104 + checkCompilation(method, level); 560.105 + } 560.106 + 560.107 + protected void checkCompilation(Executable executable, int level) { 560.108 + if (!WHITE_BOX.isMethodCompiled(executable)) { 560.109 + throw new RuntimeException("Test bug, expected compilation (level): " + level + ", but not compiled"); 560.110 + } 560.111 + final int compilationLevel = WHITE_BOX.getMethodCompilationLevel(executable); 560.112 + if (compilationLevel != level) { 560.113 + if (!(TIERED_COMPILATION && level == COMP_LEVEL_FULL_PROFILE && compilationLevel == COMP_LEVEL_LIMITED_PROFILE)) { //possible case 560.114 + throw new RuntimeException("Test bug, expected compilation (level): " + level + ", but level: " + compilationLevel); 560.115 + } 560.116 + } 560.117 + } 560.118 + 560.119 + protected abstract boolean isIntrinsicSupported(); 560.120 + 560.121 + protected abstract String getIntrinsicId(); 560.122 + 560.123 + protected boolean isServerVM() { 560.124 + return javaVmName.toLowerCase().contains("server"); 560.125 + } 560.126 + 560.127 + static class IntTest extends IntrinsicBase { 560.128 + protected IntTest(MathIntrinsic.IntIntrinsic testCase) { 560.129 + super(testCase); 560.130 + } 560.131 + 560.132 + @Override 560.133 + protected boolean isIntrinsicSupported() { 560.134 + return isServerVM() && Boolean.valueOf(useMathExactIntrinsics) && (Platform.isX86() || Platform.isX64()); 560.135 + } 560.136 + 560.137 + @Override 560.138 + protected String getIntrinsicId() { 560.139 + return "_" + testCase.name().toLowerCase() + "ExactI"; 560.140 + } 560.141 + } 560.142 + 560.143 + static class LongTest extends IntrinsicBase { 560.144 + protected LongTest(MathIntrinsic.LongIntrinsic testCase) { 560.145 + super(testCase); 560.146 + } 560.147 + 560.148 + @Override 560.149 + protected boolean isIntrinsicSupported() { 560.150 + return isServerVM() && Boolean.valueOf(useMathExactIntrinsics) && Platform.isX64(); 560.151 + } 560.152 + 560.153 + @Override 560.154 + protected String getIntrinsicId() { 560.155 + return "_" + testCase.name().toLowerCase() + "ExactL"; 560.156 + } 560.157 + } 560.158 +}
561.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 561.2 +++ b/test/compiler/intrinsics/mathexact/sanity/MathIntrinsic.java Wed Jan 22 17:42:23 2014 -0800 561.3 @@ -0,0 +1,155 @@ 561.4 +/* 561.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 561.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 561.7 + * 561.8 + * This code is free software; you can redistribute it and/or modify it 561.9 + * under the terms of the GNU General Public License version 2 only, as 561.10 + * published by the Free Software Foundation. 561.11 + * 561.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 561.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 561.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 561.15 + * version 2 for more details (a copy is included in the LICENSE file that 561.16 + * accompanied this code). 561.17 + * 561.18 + * You should have received a copy of the GNU General Public License version 561.19 + * 2 along with this work; if not, write to the Free Software Foundation, 561.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 561.21 + * 561.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 561.23 + * or visit www.oracle.com if you need additional information or have any 561.24 + * questions. 561.25 + */ 561.26 + 561.27 +import java.lang.reflect.Executable; 561.28 +import java.util.concurrent.Callable; 561.29 + 561.30 +public class MathIntrinsic { 561.31 + 561.32 + enum IntIntrinsic implements CompilerWhiteBoxTest.TestCase { 561.33 + Add { 561.34 + @Override 561.35 + Object execMathMethod() { 561.36 + return intR = Math.addExact(int1, int2); 561.37 + } 561.38 + }, 561.39 + Subtract { 561.40 + @Override 561.41 + Object execMathMethod() { 561.42 + return intR = Math.subtractExact(int1, int2); 561.43 + } 561.44 + }, 561.45 + Multiply { 561.46 + @Override 561.47 + Object execMathMethod() { 561.48 + return intR = Math.multiplyExact(int1, int2); 561.49 + } 561.50 + }, 561.51 + Increment { 561.52 + @Override 561.53 + Object execMathMethod() { 561.54 + return intR = Math.incrementExact(int1); 561.55 + } 561.56 + }, 561.57 + Decrement { 561.58 + @Override 561.59 + Object execMathMethod() { 561.60 + return intR = Math.decrementExact(int1); 561.61 + } 561.62 + }, 561.63 + Negate { 561.64 + @Override 561.65 + Object execMathMethod() { 561.66 + return intR = Math.negateExact(int1); 561.67 + } 561.68 + }; 561.69 + protected int int1; 561.70 + protected int int2; 561.71 + protected int intR; 561.72 + 561.73 + abstract Object execMathMethod(); 561.74 + 561.75 + @Override 561.76 + public Executable getExecutable() { 561.77 + try { 561.78 + return getClass().getDeclaredMethod("execMathMethod"); 561.79 + } catch (NoSuchMethodException e) { 561.80 + throw new RuntimeException("Test bug, no such method: " + e); 561.81 + } 561.82 + } 561.83 + 561.84 + @Override 561.85 + public Callable<Integer> getCallable() { 561.86 + return null; 561.87 + } 561.88 + 561.89 + @Override 561.90 + public boolean isOsr() { 561.91 + return false; 561.92 + } 561.93 + 561.94 + } 561.95 + 561.96 + enum LongIntrinsic implements CompilerWhiteBoxTest.TestCase { 561.97 + Add { 561.98 + @Override 561.99 + Object execMathMethod() { 561.100 + return longR = Math.addExact(long1, long2); 561.101 + } 561.102 + }, 561.103 + Subtract { 561.104 + @Override 561.105 + Object execMathMethod() { 561.106 + return longR = Math.subtractExact(long1, long2); 561.107 + } 561.108 + }, 561.109 + Multiply { 561.110 + @Override 561.111 + Object execMathMethod() { 561.112 + return longR = Math.multiplyExact(long1, long2); 561.113 + } 561.114 + }, 561.115 + Increment { 561.116 + @Override 561.117 + Object execMathMethod() { 561.118 + return longR = Math.incrementExact(long1); 561.119 + } 561.120 + }, 561.121 + Decrement { 561.122 + @Override 561.123 + Object execMathMethod() { 561.124 + return longR = Math.decrementExact(long1); 561.125 + } 561.126 + }, 561.127 + Negate { 561.128 + @Override 561.129 + Object execMathMethod() { 561.130 + return longR = Math.negateExact(long1); 561.131 + } 561.132 + }; 561.133 + protected long long1; 561.134 + protected long long2; 561.135 + protected long longR; 561.136 + 561.137 + abstract Object execMathMethod(); 561.138 + 561.139 + @Override 561.140 + public Executable getExecutable() { 561.141 + try { 561.142 + return getClass().getDeclaredMethod("execMathMethod"); 561.143 + } catch (NoSuchMethodException e) { 561.144 + throw new RuntimeException("Test bug, no such method: " + e); 561.145 + } 561.146 + } 561.147 + 561.148 + @Override 561.149 + public Callable<Integer> getCallable() { 561.150 + return null; 561.151 + } 561.152 + 561.153 + @Override 561.154 + public boolean isOsr() { 561.155 + return false; 561.156 + } 561.157 + } 561.158 +}
562.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 562.2 +++ b/test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java Wed Jan 22 17:42:23 2014 -0800 562.3 @@ -0,0 +1,45 @@ 562.4 +/* 562.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 562.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 562.7 + * 562.8 + * This code is free software; you can redistribute it and/or modify it 562.9 + * under the terms of the GNU General Public License version 2 only, as 562.10 + * published by the Free Software Foundation. 562.11 + * 562.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 562.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 562.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 562.15 + * version 2 for more details (a copy is included in the LICENSE file that 562.16 + * accompanied this code). 562.17 + * 562.18 + * You should have received a copy of the GNU General Public License version 562.19 + * 2 along with this work; if not, write to the Free Software Foundation, 562.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 562.21 + * 562.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 562.23 + * or visit www.oracle.com if you need additional information or have any 562.24 + * questions. 562.25 + */ 562.26 + 562.27 +/* 562.28 + * @test 562.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 562.30 + * @build MultiplyExactIntTest 562.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 562.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 562.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 562.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 562.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics MultiplyExactIntTest 562.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 562.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 562.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 562.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics MultiplyExactIntTest 562.40 + * @run main Verifier hs_neg.log hs.log 562.41 + */ 562.42 + 562.43 +public class MultiplyExactIntTest { 562.44 + 562.45 + public static void main(String[] args) throws Exception { 562.46 + new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Multiply).test(); 562.47 + } 562.48 +}
563.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 563.2 +++ b/test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java Wed Jan 22 17:42:23 2014 -0800 563.3 @@ -0,0 +1,45 @@ 563.4 +/* 563.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 563.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 563.7 + * 563.8 + * This code is free software; you can redistribute it and/or modify it 563.9 + * under the terms of the GNU General Public License version 2 only, as 563.10 + * published by the Free Software Foundation. 563.11 + * 563.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 563.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 563.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 563.15 + * version 2 for more details (a copy is included in the LICENSE file that 563.16 + * accompanied this code). 563.17 + * 563.18 + * You should have received a copy of the GNU General Public License version 563.19 + * 2 along with this work; if not, write to the Free Software Foundation, 563.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 563.21 + * 563.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 563.23 + * or visit www.oracle.com if you need additional information or have any 563.24 + * questions. 563.25 + */ 563.26 + 563.27 +/* 563.28 + * @test 563.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 563.30 + * @build MultiplyExactLongTest 563.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 563.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 563.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 563.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 563.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics MultiplyExactLongTest 563.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 563.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 563.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 563.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics MultiplyExactLongTest 563.40 + * @run main Verifier hs_neg.log hs.log 563.41 + */ 563.42 + 563.43 +public class MultiplyExactLongTest { 563.44 + 563.45 + public static void main(String[] args) throws Exception { 563.46 + new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Multiply).test(); 563.47 + } 563.48 +}
564.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 564.2 +++ b/test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java Wed Jan 22 17:42:23 2014 -0800 564.3 @@ -0,0 +1,45 @@ 564.4 +/* 564.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 564.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 564.7 + * 564.8 + * This code is free software; you can redistribute it and/or modify it 564.9 + * under the terms of the GNU General Public License version 2 only, as 564.10 + * published by the Free Software Foundation. 564.11 + * 564.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 564.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 564.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 564.15 + * version 2 for more details (a copy is included in the LICENSE file that 564.16 + * accompanied this code). 564.17 + * 564.18 + * You should have received a copy of the GNU General Public License version 564.19 + * 2 along with this work; if not, write to the Free Software Foundation, 564.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 564.21 + * 564.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 564.23 + * or visit www.oracle.com if you need additional information or have any 564.24 + * questions. 564.25 + */ 564.26 + 564.27 +/* 564.28 + * @test 564.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 564.30 + * @build NegateExactIntTest 564.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 564.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 564.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 564.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 564.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics NegateExactIntTest 564.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 564.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 564.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 564.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics NegateExactIntTest 564.40 + * @run main Verifier hs_neg.log hs.log 564.41 + */ 564.42 + 564.43 +public class NegateExactIntTest { 564.44 + 564.45 + public static void main(String[] args) throws Exception { 564.46 + new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Negate).test(); 564.47 + } 564.48 +}
565.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 565.2 +++ b/test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java Wed Jan 22 17:42:23 2014 -0800 565.3 @@ -0,0 +1,45 @@ 565.4 +/* 565.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 565.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 565.7 + * 565.8 + * This code is free software; you can redistribute it and/or modify it 565.9 + * under the terms of the GNU General Public License version 2 only, as 565.10 + * published by the Free Software Foundation. 565.11 + * 565.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 565.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 565.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 565.15 + * version 2 for more details (a copy is included in the LICENSE file that 565.16 + * accompanied this code). 565.17 + * 565.18 + * You should have received a copy of the GNU General Public License version 565.19 + * 2 along with this work; if not, write to the Free Software Foundation, 565.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 565.21 + * 565.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 565.23 + * or visit www.oracle.com if you need additional information or have any 565.24 + * questions. 565.25 + */ 565.26 + 565.27 +/* 565.28 + * @test 565.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 565.30 + * @build NegateExactLongTest 565.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 565.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 565.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 565.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 565.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics NegateExactLongTest 565.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 565.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 565.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 565.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics NegateExactLongTest 565.40 + * @run main Verifier hs_neg.log hs.log 565.41 + */ 565.42 + 565.43 +public class NegateExactLongTest { 565.44 + 565.45 + public static void main(String[] args) throws Exception { 565.46 + new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Negate).test(); 565.47 + } 565.48 +}
566.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 566.2 +++ b/test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java Wed Jan 22 17:42:23 2014 -0800 566.3 @@ -0,0 +1,46 @@ 566.4 +/* 566.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 566.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 566.7 + * 566.8 + * This code is free software; you can redistribute it and/or modify it 566.9 + * under the terms of the GNU General Public License version 2 only, as 566.10 + * published by the Free Software Foundation. 566.11 + * 566.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 566.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 566.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 566.15 + * version 2 for more details (a copy is included in the LICENSE file that 566.16 + * accompanied this code). 566.17 + * 566.18 + * You should have received a copy of the GNU General Public License version 566.19 + * 2 along with this work; if not, write to the Free Software Foundation, 566.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 566.21 + * 566.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 566.23 + * or visit www.oracle.com if you need additional information or have any 566.24 + * questions. 566.25 + */ 566.26 + 566.27 +/* 566.28 + * @test 566.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 566.30 + * @build SubtractExactIntTest 566.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 566.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 566.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 566.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 566.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics SubtractExactIntTest 566.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 566.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 566.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 566.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics SubtractExactIntTest 566.40 + * @run main Verifier hs_neg.log hs.log 566.41 + 566.42 + */ 566.43 + 566.44 +public class SubtractExactIntTest { 566.45 + 566.46 + public static void main(String[] args) throws Exception { 566.47 + new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Subtract).test(); 566.48 + } 566.49 +}
567.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 567.2 +++ b/test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java Wed Jan 22 17:42:23 2014 -0800 567.3 @@ -0,0 +1,45 @@ 567.4 +/* 567.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 567.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 567.7 + * 567.8 + * This code is free software; you can redistribute it and/or modify it 567.9 + * under the terms of the GNU General Public License version 2 only, as 567.10 + * published by the Free Software Foundation. 567.11 + * 567.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 567.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 567.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 567.15 + * version 2 for more details (a copy is included in the LICENSE file that 567.16 + * accompanied this code). 567.17 + * 567.18 + * You should have received a copy of the GNU General Public License version 567.19 + * 2 along with this work; if not, write to the Free Software Foundation, 567.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 567.21 + * 567.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 567.23 + * or visit www.oracle.com if you need additional information or have any 567.24 + * questions. 567.25 + */ 567.26 + 567.27 +/* 567.28 + * @test 567.29 + * @library /testlibrary /testlibrary/whitebox /compiler/whitebox 567.30 + * @build SubtractExactLongTest 567.31 + * @run main ClassFileInstaller sun.hotspot.WhiteBox 567.32 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 567.33 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 567.34 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 567.35 + * -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics SubtractExactLongTest 567.36 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 567.37 + * -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation 567.38 + * -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod 567.39 + * -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics SubtractExactLongTest 567.40 + * @run main Verifier hs_neg.log hs.log 567.41 + */ 567.42 + 567.43 +public class SubtractExactLongTest { 567.44 + 567.45 + public static void main(String[] args) throws Exception { 567.46 + new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Subtract).test(); 567.47 + } 567.48 +}
568.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 568.2 +++ b/test/compiler/intrinsics/mathexact/sanity/Verifier.java Wed Jan 22 17:42:23 2014 -0800 568.3 @@ -0,0 +1,71 @@ 568.4 +/* 568.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 568.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 568.7 + * 568.8 + * This code is free software; you can redistribute it and/or modify it 568.9 + * under the terms of the GNU General Public License version 2 only, as 568.10 + * published by the Free Software Foundation. 568.11 + * 568.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 568.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 568.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 568.15 + * version 2 for more details (a copy is included in the LICENSE file that 568.16 + * accompanied this code). 568.17 + * 568.18 + * You should have received a copy of the GNU General Public License version 568.19 + * 2 along with this work; if not, write to the Free Software Foundation, 568.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 568.21 + * 568.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 568.23 + * or visit www.oracle.com if you need additional information or have any 568.24 + * questions. 568.25 + */ 568.26 + 568.27 +import java.io.BufferedReader; 568.28 +import java.io.FileReader; 568.29 +import java.util.Properties; 568.30 + 568.31 +public class Verifier { 568.32 + 568.33 + public static void main(String[] args) throws Exception { 568.34 + if (args.length == 0) 568.35 + throw new RuntimeException("Test bug, nothing to verify"); 568.36 + for (String hsLogFile : args) { 568.37 + verify(hsLogFile); 568.38 + } 568.39 + } 568.40 + 568.41 + private static void verify(String hsLogFile) throws Exception { 568.42 + System.out.println("Verifying " + hsLogFile); 568.43 + 568.44 + final Properties expectedProperties = new Properties(); 568.45 + final FileReader reader = new FileReader(hsLogFile + ".verify.properties"); 568.46 + expectedProperties.load(reader); 568.47 + reader.close(); 568.48 + 568.49 + int fullMatchCnt = 0; 568.50 + int suspectCnt = 0; 568.51 + final String intrinsicId = expectedProperties.getProperty("intrinsic.name"); 568.52 + final String prefix = "<intrinsic id='"; 568.53 + final String prefixWithId = prefix + intrinsicId + "'"; 568.54 + final int expectedCount = Integer.parseInt(expectedProperties.getProperty("intrinsic.expectedCount")); 568.55 + 568.56 + BufferedReader r = new BufferedReader(new FileReader(hsLogFile)); 568.57 + String s; 568.58 + while ((s = r.readLine()) != null) { 568.59 + if (s.startsWith(prefix)) { 568.60 + if (s.startsWith(prefixWithId)) { 568.61 + fullMatchCnt++; 568.62 + } else { 568.63 + suspectCnt++; 568.64 + System.out.println("WARNING: Other intrinsic detected " + s); 568.65 + } 568.66 + } 568.67 + } 568.68 + r.close(); 568.69 + 568.70 + System.out.println("Intrinsic " + intrinsicId + " verification, expected: " + expectedCount + ", matched: " + fullMatchCnt + ", suspected: " + suspectCnt); 568.71 + if (expectedCount != fullMatchCnt) 568.72 + throw new RuntimeException("Unexpected count of intrinsic " + prefixWithId + " expected:" + expectedCount + ", matched: " + fullMatchCnt + ", suspected: " + suspectCnt); 568.73 + } 568.74 +}
569.1 --- a/test/compiler/jsr292/ConcurrentClassLoadingTest.java Thu Jan 16 14:25:51 2014 +0100 569.2 +++ b/test/compiler/jsr292/ConcurrentClassLoadingTest.java Wed Jan 22 17:42:23 2014 -0800 569.3 @@ -159,34 +159,18 @@ 569.4 } 569.5 569.6 final static String[] classNames = { 569.7 - "java.lang.invoke.AbstractValidatingLambdaMetafactory", 569.8 - "java.lang.invoke.BoundMethodHandle", 569.9 "java.lang.invoke.CallSite", 569.10 "java.lang.invoke.ConstantCallSite", 569.11 - "java.lang.invoke.DirectMethodHandle", 569.12 - "java.lang.invoke.InnerClassLambdaMetafactory", 569.13 - "java.lang.invoke.InvokeDynamic", 569.14 - "java.lang.invoke.InvokeGeneric", 569.15 - "java.lang.invoke.InvokerBytecodeGenerator", 569.16 - "java.lang.invoke.Invokers", 569.17 "java.lang.invoke.LambdaConversionException", 569.18 - "java.lang.invoke.LambdaForm", 569.19 "java.lang.invoke.LambdaMetafactory", 569.20 - "java.lang.invoke.MemberName", 569.21 "java.lang.invoke.MethodHandle", 569.22 - "java.lang.invoke.MethodHandleImpl", 569.23 "java.lang.invoke.MethodHandleInfo", 569.24 - "java.lang.invoke.MethodHandleNatives", 569.25 "java.lang.invoke.MethodHandleProxies", 569.26 "java.lang.invoke.MethodHandles", 569.27 - "java.lang.invoke.MethodHandleStatics", 569.28 "java.lang.invoke.MethodType", 569.29 - "java.lang.invoke.MethodTypeForm", 569.30 "java.lang.invoke.MutableCallSite", 569.31 "java.lang.invoke.SerializedLambda", 569.32 - "java.lang.invoke.SimpleMethodHandle", 569.33 "java.lang.invoke.SwitchPoint", 569.34 - "java.lang.invoke.TypeConvertingMethodAdapter", 569.35 "java.lang.invoke.VolatileCallSite", 569.36 "java.lang.invoke.WrongMethodTypeException" 569.37 };
570.1 --- a/test/compiler/startup/SmallCodeCacheStartup.java Thu Jan 16 14:25:51 2014 +0100 570.2 +++ b/test/compiler/startup/SmallCodeCacheStartup.java Wed Jan 22 17:42:23 2014 -0800 570.3 @@ -37,7 +37,6 @@ 570.4 570.5 pb = ProcessTools.createJavaProcessBuilder("-XX:ReservedCodeCacheSize=3m", "-XX:CICompilerCount=64", "-version"); 570.6 out = new OutputAnalyzer(pb.start()); 570.7 - out.shouldContain("no space to run compiler"); 570.8 out.shouldHaveExitValue(0); 570.9 } 570.10 }
571.1 --- a/test/compiler/tiered/NonTieredLevelsTest.java Thu Jan 16 14:25:51 2014 +0100 571.2 +++ b/test/compiler/tiered/NonTieredLevelsTest.java Wed Jan 22 17:42:23 2014 -0800 571.3 @@ -30,7 +30,7 @@ 571.4 * @run main ClassFileInstaller sun.hotspot.WhiteBox 571.5 * @run main/othervm -Xbootclasspath/a:. -XX:-TieredCompilation 571.6 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI 571.7 - * -XX:CompileCommand=compileonly,TestCase$Helper::* 571.8 + * -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* 571.9 * NonTieredLevelsTest 571.10 * @summary Verify that only one level can be used 571.11 * @author igor.ignatyev@oracle.com 571.12 @@ -59,9 +59,7 @@ 571.13 + "TieredCompilation. Skip test."); 571.14 return; 571.15 } 571.16 - for (TestCase test : TestCase.values()) { 571.17 - new NonTieredLevelsTest(test).runTest(); 571.18 - } 571.19 + CompilerWhiteBoxTest.main(NonTieredLevelsTest::new, args); 571.20 } 571.21 571.22 private NonTieredLevelsTest(TestCase testCase) { 571.23 @@ -80,7 +78,7 @@ 571.24 checkLevel(AVAILABLE_COMP_LEVEL, compLevel); 571.25 int bci = WHITE_BOX.getMethodEntryBci(method); 571.26 deoptimize(); 571.27 - if (!testCase.isOsr) { 571.28 + if (!testCase.isOsr()) { 571.29 for (int level = 1; level <= COMP_LEVEL_MAX; ++level) { 571.30 if (IS_AVAILABLE_COMPLEVEL.test(level)) { 571.31 testAvailableLevel(level, bci); 571.32 @@ -94,3 +92,4 @@ 571.33 } 571.34 } 571.35 } 571.36 +
572.1 --- a/test/compiler/tiered/TieredLevelsTest.java Thu Jan 16 14:25:51 2014 +0100 572.2 +++ b/test/compiler/tiered/TieredLevelsTest.java Wed Jan 22 17:42:23 2014 -0800 572.3 @@ -28,7 +28,7 @@ 572.4 * @run main ClassFileInstaller sun.hotspot.WhiteBox 572.5 * @run main/othervm -Xbootclasspath/a:. -XX:+TieredCompilation 572.6 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI 572.7 - * -XX:CompileCommand=compileonly,TestCase$Helper::* 572.8 + * -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* 572.9 * TieredLevelsTest 572.10 * @summary Verify that all levels < 'TieredStopAtLevel' can be used 572.11 * @author igor.ignatyev@oracle.com 572.12 @@ -40,9 +40,7 @@ 572.13 + "TieredCompilation. Skip test."); 572.14 return; 572.15 } 572.16 - for (TestCase test : TestCase.values()) { 572.17 - new TieredLevelsTest(test).runTest(); 572.18 - } 572.19 + CompilerWhiteBoxTest.main(TieredLevelsTest::new, args); 572.20 } 572.21 572.22 private TieredLevelsTest(TestCase testCase) {
573.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 573.2 +++ b/test/compiler/types/TestMeetTopArrayExactConstantArray.java Wed Jan 22 17:42:23 2014 -0800 573.3 @@ -0,0 +1,107 @@ 573.4 +/* 573.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 573.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 573.7 + * 573.8 + * This code is free software; you can redistribute it and/or modify it 573.9 + * under the terms of the GNU General Public License version 2 only, as 573.10 + * published by the Free Software Foundation. 573.11 + * 573.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 573.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 573.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 573.15 + * version 2 for more details (a copy is included in the LICENSE file that 573.16 + * accompanied this code). 573.17 + * 573.18 + * You should have received a copy of the GNU General Public License version 573.19 + * 2 along with this work; if not, write to the Free Software Foundation, 573.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 573.21 + * 573.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 573.23 + * or visit www.oracle.com if you need additional information or have any 573.24 + * questions. 573.25 + */ 573.26 + 573.27 +/* 573.28 + * @test 573.29 + * @bug 8027571 573.30 + * @summary meet of TopPTR exact array with constant array is not symmetric 573.31 + * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestMeetTopArrayExactConstantArray 573.32 + * 573.33 + */ 573.34 + 573.35 +public class TestMeetTopArrayExactConstantArray { 573.36 + 573.37 + static class A { 573.38 + } 573.39 + 573.40 + static class B { 573.41 + } 573.42 + 573.43 + static class C extends A { 573.44 + } 573.45 + 573.46 + static class D extends C { 573.47 + } 573.48 + 573.49 + final static B[] b = new B[10]; 573.50 + 573.51 + static void m0(Object[] o) { 573.52 + if (o.getClass() == Object[].class) { 573.53 + } 573.54 + } 573.55 + 573.56 + static void m1(Object[] o, boolean cond) { 573.57 + if (cond) { 573.58 + o = b; 573.59 + } 573.60 + m0(o); 573.61 + } 573.62 + 573.63 + static void m2(Object[] o, boolean cond1, boolean cond2) { 573.64 + if (cond1) { 573.65 + m1(o, cond2); 573.66 + } 573.67 + } 573.68 + 573.69 + static void m3(C[] o, boolean cond1, boolean cond2, boolean cond3) { 573.70 + if (cond1) { 573.71 + m2(o, cond2, cond3); 573.72 + } 573.73 + } 573.74 + 573.75 + static public void main(String[] args) { 573.76 + A[] a = new A[10]; 573.77 + D[] d = new D[10]; 573.78 + Object[] o = new Object[10]; 573.79 + for (int i = 0; i < 5000; i++) { 573.80 + // record in profiling that the if in m0 succeeds 573.81 + m0(o); 573.82 + // record some profiling for m2 and m1 573.83 + m2(a, true, (i%2) == 0); 573.84 + // record some profiling for m3 and conflicting profile for m2 573.85 + m3(d, true, false, (i%2) == 0); 573.86 + } 573.87 + 573.88 + // get m3 compiled. The if in m0 will be optimized because of argument profiling in m3 573.89 + C[] c = new C[10]; 573.90 + for (int i = 0; i < 20000; i++) { 573.91 + m3(c, true, false, (i%2) == 0); 573.92 + } 573.93 + // make m3 not entrant and the if in m0 fail 573.94 + m3(c, true, true, false); 573.95 + m3(c, true, true, false); 573.96 + m3(c, true, true, false); 573.97 + m3(c, true, true, false); 573.98 + 573.99 + // make m3 recompile, this time with if the not optimized 573.100 + // on entry to m3, argument o is of type C[], profiled C[] 573.101 + // on entry to m1, argument o is of type C[], speculative C[] exact, profiled A[]. Speculative becomes AnyNull 573.102 + // after the if in m1, speculative type of o becomes constant from final field b 573.103 + // the true if branch in m0 does a join between the type of o of speculative type constant from final field b and exact klass Object[] 573.104 + for (int i = 0; i < 20000; i++) { 573.105 + m3(c, true, false, (i%2) == 0); 573.106 + } 573.107 + 573.108 + System.out.println("TEST PASSED"); 573.109 + } 573.110 +}
574.1 --- a/test/compiler/types/TypeSpeculation.java Thu Jan 16 14:25:51 2014 +0100 574.2 +++ b/test/compiler/types/TypeSpeculation.java Wed Jan 22 17:42:23 2014 -0800 574.3 @@ -25,7 +25,7 @@ 574.4 * @test 574.5 * @bug 8024070 574.6 * @summary Test that type speculation doesn't cause incorrect execution 574.7 - * @run main/othervm -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:TypeProfileLevel=222 TypeSpeculation 574.8 + * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation TypeSpeculation 574.9 * 574.10 */ 574.11 574.12 @@ -398,6 +398,133 @@ 574.13 return true; 574.14 } 574.15 574.16 + // java/lang/Object:AnyNull:exact *,iid=top 574.17 + // meets 574.18 + // stable:bottom[int:max..0]:NotNull * 574.19 + static void test10_4(Object o) { 574.20 + } 574.21 + 574.22 + static void test10_3(Object o, boolean b) { 574.23 + if (b) { 574.24 + test10_4(o); 574.25 + } 574.26 + } 574.27 + 574.28 + static void test10_2(Object o, boolean b1, boolean b2) { 574.29 + if (b1) { 574.30 + test10_3(o, b2); 574.31 + } 574.32 + } 574.33 + 574.34 + static void test10_1(B[] b, boolean b1, boolean b2) { 574.35 + test10_2(b, b1, b2); 574.36 + } 574.37 + 574.38 + static boolean test10() { 574.39 + Object o = new Object(); 574.40 + A[] a = new A[10]; 574.41 + B[] b = new B[10]; 574.42 + B[] c = new C[10]; 574.43 + for (int i = 0; i < 20000; i++) { 574.44 + test10_1(b, false, false); 574.45 + test10_1(c, false, false); 574.46 + test10_2(a, true, false); 574.47 + test10_3(o, true); 574.48 + } 574.49 + return true; 574.50 + } 574.51 + 574.52 + // stable:TypeSpeculation$B:TopPTR *,iid=top[int:max..0]:TopPTR *,iid=top 574.53 + // meets 574.54 + // java/lang/Object:AnyNull:exact *,iid=top 574.55 + static void test11_3(Object o) { 574.56 + } 574.57 + 574.58 + static void test11_2(Object o, boolean b) { 574.59 + if (b) { 574.60 + test11_3(o); 574.61 + } 574.62 + } 574.63 + 574.64 + static void test11_1(B[] b, boolean bb) { 574.65 + test11_2(b, bb); 574.66 + } 574.67 + 574.68 + static boolean test11() { 574.69 + Object o = new Object(); 574.70 + B[] b = new B[10]; 574.71 + B[] c = new C[10]; 574.72 + for (int i = 0; i < 20000; i++) { 574.73 + test11_1(b, false); 574.74 + test11_1(c, false); 574.75 + test11_2(o, true); 574.76 + } 574.77 + return true; 574.78 + } 574.79 + 574.80 + // TypeSpeculation$I * 574.81 + // meets 574.82 + // java/lang/Object:AnyNull *,iid=top 574.83 + static void test12_3(Object o) { 574.84 + } 574.85 + 574.86 + static void test12_2(Object o, boolean b) { 574.87 + if (b) { 574.88 + test12_3(o); 574.89 + } 574.90 + } 574.91 + 574.92 + static void test12_1(I i, boolean b) { 574.93 + test12_2(i, b); 574.94 + } 574.95 + 574.96 + static boolean test12() { 574.97 + Object o = new Object(); 574.98 + B b = new B(); 574.99 + C c = new C(); 574.100 + for (int i = 0; i < 20000; i++) { 574.101 + test12_1(b, false); 574.102 + test12_1(c, false); 574.103 + test12_2(o, true); 574.104 + } 574.105 + return true; 574.106 + } 574.107 + 574.108 + // stable:bottom[int:max..0]:NotNull * 574.109 + // meets 574.110 + // stable:TypeSpeculation$A:TopPTR *,iid=top[int:max..0]:AnyNull:exact *,iid=top 574.111 + static Object test13_3(Object o, boolean b) { 574.112 + Object oo; 574.113 + if (b) { 574.114 + oo = o; 574.115 + } else { 574.116 + oo = new A[10]; 574.117 + } 574.118 + return oo; 574.119 + } 574.120 + 574.121 + static void test13_2(Object o, boolean b1, boolean b2) { 574.122 + if (b1) { 574.123 + test13_3(o, b2); 574.124 + } 574.125 + } 574.126 + 574.127 + static void test13_1(B[] b, boolean b1, boolean b2) { 574.128 + test13_2(b, b1, b2); 574.129 + } 574.130 + 574.131 + static boolean test13() { 574.132 + A[] a = new A[10]; 574.133 + B[] b = new B[10]; 574.134 + B[] c = new C[10]; 574.135 + for (int i = 0; i < 20000; i++) { 574.136 + test13_1(b, false, false); 574.137 + test13_1(c, false, false); 574.138 + test13_2(a, true, (i%2) == 0); 574.139 + } 574.140 + return true; 574.141 + } 574.142 + 574.143 static public void main(String[] args) { 574.144 boolean success = true; 574.145 574.146 @@ -419,6 +546,14 @@ 574.147 574.148 success = test9() && success; 574.149 574.150 + success = test10() && success; 574.151 + 574.152 + success = test11() && success; 574.153 + 574.154 + success = test12() && success; 574.155 + 574.156 + success = test13() && success; 574.157 + 574.158 if (success) { 574.159 System.out.println("TEST PASSED"); 574.160 } else {
575.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 575.2 +++ b/test/compiler/uncommontrap/StackOverflowGuardPagesOff.java Wed Jan 22 17:42:23 2014 -0800 575.3 @@ -0,0 +1,355 @@ 575.4 +/* 575.5 + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. 575.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 575.7 + * 575.8 + * This code is free software; you can redistribute it and/or modify it 575.9 + * under the terms of the GNU General Public License version 2 only, as 575.10 + * published by the Free Software Foundation. 575.11 + * 575.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 575.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 575.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 575.15 + * version 2 for more details (a copy is included in the LICENSE file that 575.16 + * accompanied this code). 575.17 + * 575.18 + * You should have received a copy of the GNU General Public License version 575.19 + * 2 along with this work; if not, write to the Free Software Foundation, 575.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 575.21 + * 575.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 575.23 + * or visit www.oracle.com if you need additional information or have any 575.24 + * questions. 575.25 + */ 575.26 + 575.27 +/* 575.28 + * @test 575.29 + * @bug 8029383 575.30 + * @summary stack overflow if callee is marked for deoptimization causes crash 575.31 + * @run main/othervm -XX:TieredStopAtLevel=1 -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,StackOverflowGuardPagesOff::m1 -XX:CompileCommand=exclude,StackOverflowGuardPagesOff::m2 -Xss256K -XX:-UseOnStackReplacement StackOverflowGuardPagesOff 575.32 + * 575.33 + */ 575.34 + 575.35 +// This test calls m2 recursively until a stack overflow. Then calls 575.36 +// m3 that calls m1. m1 triggers B's class loading, as a result m1 and 575.37 +// m3 needs to be deoptimized. Deoptimization of m1 causes a stack 575.38 +// overflow exception to be thrown which is propagated to m3 in the 575.39 +// deopt blob. If the guard pages are no enabled, the stack bang in 575.40 +// the deopt blob triggers a crash. 575.41 +public class StackOverflowGuardPagesOff { 575.42 + 575.43 + static class A { 575.44 + void m() {} 575.45 + } 575.46 + 575.47 + static class B extends A { 575.48 + void m() {} 575.49 + } 575.50 + 575.51 + static void m1(boolean deopt, A a) { 575.52 + long l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, 575.53 + l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, 575.54 + l25, l26, l27, l28, l29, l30, l31, l32, l33, l34, l35, l36, 575.55 + l37, l38, l39, l40, l41, l42, l43, l44, l45, l46, l47, l48, 575.56 + l49, l50, l51, l52, l53, l54, l55, l56, l57, l58, l59, l60, 575.57 + l61, l62, l63, l64, l65, l66, l67, l68, l69, l70, l71, l72, 575.58 + l73, l74, l75, l76, l77, l78, l79, l80, l81, l82, l83, l84, 575.59 + l85, l86, l87, l88, l89, l90, l91, l92, l93, l94, l95, l96, 575.60 + l97, l98, l99, l100, l101, l102, l103, l104, l105, l106, l107, 575.61 + l108, l109, l110, l111, l112, l113, l114, l115, l116, l117, 575.62 + l118, l119, l120, l121, l122, l123, l124, l125, l126, l127, 575.63 + l128, l129, l130, l131, l132, l133, l134, l135, l136, l137, 575.64 + l138, l139, l140, l141, l142, l143, l144, l145, l146, l147, 575.65 + l148, l149, l150, l151, l152, l153, l154, l155, l156, l157, 575.66 + l158, l159, l160, l161, l162, l163, l164, l165, l166, l167, 575.67 + l168, l169, l170, l171, l172, l173, l174, l175, l176, l177, 575.68 + l178, l179, l180, l181, l182, l183, l184, l185, l186, l187, 575.69 + l188, l189, l190, l191, l192, l193, l194, l195, l196, l197, 575.70 + l198, l199, l200, l201, l202, l203, l204, l205, l206, l207, 575.71 + l208, l209, l210, l211, l212, l213, l214, l215, l216, l217, 575.72 + l218, l219, l220, l221, l222, l223, l224, l225, l226, l227, 575.73 + l228, l229, l230, l231, l232, l233, l234, l235, l236, l237, 575.74 + l238, l239, l240, l241, l242, l243, l244, l245, l246, l247, 575.75 + l248, l249, l250, l251, l252, l253, l254, l255, l256, l257, 575.76 + l258, l259, l260, l261, l262, l263, l264, l265, l266, l267, 575.77 + l268, l269, l270, l271, l272, l273, l274, l275, l276, l277, 575.78 + l278, l279, l280, l281, l282, l283, l284, l285, l286, l287, 575.79 + l288, l289, l290, l291, l292, l293, l294, l295, l296, l297, 575.80 + l298, l299, l300, l301, l302, l303, l304, l305, l306, l307, 575.81 + l308, l309, l310, l311, l312, l313, l314, l315, l316, l317, 575.82 + l318, l319, l320, l321, l322, l323, l324, l325, l326, l327, 575.83 + l328, l329, l330, l331, l332, l333, l334, l335, l336, l337, 575.84 + l338, l339, l340, l341, l342, l343, l344, l345, l346, l347, 575.85 + l348, l349, l350, l351, l352, l353, l354, l355, l356, l357, 575.86 + l358, l359, l360, l361, l362, l363, l364, l365, l366, l367, 575.87 + l368, l369, l370, l371, l372, l373, l374, l375, l376, l377, 575.88 + l378, l379, l380, l381, l382, l383, l384, l385, l386, l387, 575.89 + l388, l389, l390, l391, l392, l393, l394, l395, l396, l397, 575.90 + l398, l399, l400, l401, l402, l403, l404, l405, l406, l407, 575.91 + l408, l409, l410, l411, l412, l413, l414, l415, l416, l417, 575.92 + l418, l419, l420, l421, l422, l423, l424, l425, l426, l427, 575.93 + l428, l429, l430, l431, l432, l433, l434, l435, l436, l437, 575.94 + l438, l439, l440, l441, l442, l443, l444, l445, l446, l447, 575.95 + l448, l449, l450, l451, l452, l453, l454, l455, l456, l457, 575.96 + l458, l459, l460, l461, l462, l463, l464, l465, l466, l467, 575.97 + l468, l469, l470, l471, l472, l473, l474, l475, l476, l477, 575.98 + l478, l479, l480, l481, l482, l483, l484, l485, l486, l487, 575.99 + l488, l489, l490, l491, l492, l493, l494, l495, l496, l497, 575.100 + l498, l499, l500, l501, l502, l503, l504, l505, l506, l507, 575.101 + l508, l509, l510, l511; 575.102 + 575.103 + long ll0, ll1, ll2, ll3, ll4, ll5, ll6, ll7, ll8, ll9, ll10, ll11, ll12, 575.104 + ll13, ll14, ll15, ll16, ll17, ll18, ll19, ll20, ll21, ll22, ll23, ll24, 575.105 + ll25, ll26, ll27, ll28, ll29, ll30, ll31, ll32, ll33, ll34, ll35, ll36, 575.106 + ll37, ll38, ll39, ll40, ll41, ll42, ll43, ll44, ll45, ll46, ll47, ll48, 575.107 + ll49, ll50, ll51, ll52, ll53, ll54, ll55, ll56, ll57, ll58, ll59, ll60, 575.108 + ll61, ll62, ll63, ll64, ll65, ll66, ll67, ll68, ll69, ll70, ll71, ll72, 575.109 + ll73, ll74, ll75, ll76, ll77, ll78, ll79, ll80, ll81, ll82, ll83, ll84, 575.110 + ll85, ll86, ll87, ll88, ll89, ll90, ll91, ll92, ll93, ll94, ll95, ll96, 575.111 + ll97, ll98, ll99, ll100, ll101, ll102, ll103, ll104, ll105, ll106, ll107, 575.112 + ll108, ll109, ll110, ll111, ll112, ll113, ll114, ll115, ll116, ll117, 575.113 + ll118, ll119, ll120, ll121, ll122, ll123, ll124, ll125, ll126, ll127, 575.114 + ll128, ll129, ll130, ll131, ll132, ll133, ll134, ll135, ll136, ll137, 575.115 + ll138, ll139, ll140, ll141, ll142, ll143, ll144, ll145, ll146, ll147, 575.116 + ll148, ll149, ll150, ll151, ll152, ll153, ll154, ll155, ll156, ll157, 575.117 + ll158, ll159, ll160, ll161, ll162, ll163, ll164, ll165, ll166, ll167, 575.118 + ll168, ll169, ll170, ll171, ll172, ll173, ll174, ll175, ll176, ll177, 575.119 + ll178, ll179, ll180, ll181, ll182, ll183, ll184, ll185, ll186, ll187, 575.120 + ll188, ll189, ll190, ll191, ll192, ll193, ll194, ll195, ll196, ll197, 575.121 + ll198, ll199, ll200, ll201, ll202, ll203, ll204, ll205, ll206, ll207, 575.122 + ll208, ll209, ll210, ll211, ll212, ll213, ll214, ll215, ll216, ll217, 575.123 + ll218, ll219, ll220, ll221, ll222, ll223, ll224, ll225, ll226, ll227, 575.124 + ll228, ll229, ll230, ll231, ll232, ll233, ll234, ll235, ll236, ll237, 575.125 + ll238, ll239, ll240, ll241, ll242, ll243, ll244, ll245, ll246, ll247, 575.126 + ll248, ll249, ll250, ll251, ll252, ll253, ll254, ll255, ll256, ll257, 575.127 + ll258, ll259, ll260, ll261, ll262, ll263, ll264, ll265, ll266, ll267, 575.128 + ll268, ll269, ll270, ll271, ll272, ll273, ll274, ll275, ll276, ll277, 575.129 + ll278, ll279, ll280, ll281, ll282, ll283, ll284, ll285, ll286, ll287, 575.130 + ll288, ll289, ll290, ll291, ll292, ll293, ll294, ll295, ll296, ll297, 575.131 + ll298, ll299, ll300, ll301, ll302, ll303, ll304, ll305, ll306, ll307, 575.132 + ll308, ll309, ll310, ll311, ll312, ll313, ll314, ll315, ll316, ll317, 575.133 + ll318, ll319, ll320, ll321, ll322, ll323, ll324, ll325, ll326, ll327, 575.134 + ll328, ll329, ll330, ll331, ll332, ll333, ll334, ll335, ll336, ll337, 575.135 + ll338, ll339, ll340, ll341, ll342, ll343, ll344, ll345, ll346, ll347, 575.136 + ll348, ll349, ll350, ll351, ll352, ll353, ll354, ll355, ll356, ll357, 575.137 + ll358, ll359, ll360, ll361, ll362, ll363, ll364, ll365, ll366, ll367, 575.138 + ll368, ll369, ll370, ll371, ll372, ll373, ll374, ll375, ll376, ll377, 575.139 + ll378, ll379, ll380, ll381, ll382, ll383, ll384, ll385, ll386, ll387, 575.140 + ll388, ll389, ll390, ll391, ll392, ll393, ll394, ll395, ll396, ll397, 575.141 + ll398, ll399, ll400, ll401, ll402, ll403, ll404, ll405, ll406, ll407, 575.142 + ll408, ll409, ll410, ll411, ll412, ll413, ll414, ll415, ll416, ll417, 575.143 + ll418, ll419, ll420, ll421, ll422, ll423, ll424, ll425, ll426, ll427, 575.144 + ll428, ll429, ll430, ll431, ll432, ll433, ll434, ll435, ll436, ll437, 575.145 + ll438, ll439, ll440, ll441, ll442, ll443, ll444, ll445, ll446, ll447, 575.146 + ll448, ll449, ll450, ll451, ll452, ll453, ll454, ll455, ll456, ll457, 575.147 + ll458, ll459, ll460, ll461, ll462, ll463, ll464, ll465, ll466, ll467, 575.148 + ll468, ll469, ll470, ll471, ll472, ll473, ll474, ll475, ll476, ll477, 575.149 + ll478, ll479, ll480, ll481, ll482, ll483, ll484, ll485, ll486, ll487, 575.150 + ll488, ll489, ll490, ll491, ll492, ll493, ll494, ll495, ll496, ll497, 575.151 + ll498, ll499, ll500, ll501, ll502, ll503, ll504, ll505, ll506, ll507, 575.152 + ll508, ll509, ll510, ll511; 575.153 + 575.154 + a.m(); 575.155 + 575.156 + if (deopt) { 575.157 + do_load = true; 575.158 + while (!load_done); 575.159 + } 575.160 + } 575.161 + 575.162 + static void m2(boolean deopt, A a) { 575.163 + long l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, 575.164 + l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, 575.165 + l25, l26, l27, l28, l29, l30, l31, l32, l33, l34, l35, l36, 575.166 + l37, l38, l39, l40, l41, l42, l43, l44, l45, l46, l47, l48, 575.167 + l49, l50, l51, l52, l53, l54, l55, l56, l57, l58, l59, l60, 575.168 + l61, l62, l63, l64, l65, l66, l67, l68, l69, l70, l71, l72, 575.169 + l73, l74, l75, l76, l77, l78, l79, l80, l81, l82, l83, l84, 575.170 + l85, l86, l87, l88, l89, l90, l91, l92, l93, l94, l95, l96, 575.171 + l97, l98, l99, l100, l101, l102, l103, l104, l105, l106, l107, 575.172 + l108, l109, l110, l111, l112, l113, l114, l115, l116, l117, 575.173 + l118, l119, l120, l121, l122, l123, l124, l125, l126, l127, 575.174 + l128, l129, l130, l131, l132, l133, l134, l135, l136, l137, 575.175 + l138, l139, l140, l141, l142, l143, l144, l145, l146, l147, 575.176 + l148, l149, l150, l151, l152, l153, l154, l155, l156, l157, 575.177 + l158, l159, l160, l161, l162, l163, l164, l165, l166, l167, 575.178 + l168, l169, l170, l171, l172, l173, l174, l175, l176, l177, 575.179 + l178, l179, l180, l181, l182, l183, l184, l185, l186, l187, 575.180 + l188, l189, l190, l191, l192, l193, l194, l195, l196, l197, 575.181 + l198, l199, l200, l201, l202, l203, l204, l205, l206, l207, 575.182 + l208, l209, l210, l211, l212, l213, l214, l215, l216, l217, 575.183 + l218, l219, l220, l221, l222, l223, l224, l225, l226, l227, 575.184 + l228, l229, l230, l231, l232, l233, l234, l235, l236, l237, 575.185 + l238, l239, l240, l241, l242, l243, l244, l245, l246, l247, 575.186 + l248, l249, l250, l251, l252, l253, l254, l255, l256, l257, 575.187 + l258, l259, l260, l261, l262, l263, l264, l265, l266, l267, 575.188 + l268, l269, l270, l271, l272, l273, l274, l275, l276, l277, 575.189 + l278, l279, l280, l281, l282, l283, l284, l285, l286, l287, 575.190 + l288, l289, l290, l291, l292, l293, l294, l295, l296, l297, 575.191 + l298, l299, l300, l301, l302, l303, l304, l305, l306, l307, 575.192 + l308, l309, l310, l311, l312, l313, l314, l315, l316, l317, 575.193 + l318, l319, l320, l321, l322, l323, l324, l325, l326, l327, 575.194 + l328, l329, l330, l331, l332, l333, l334, l335, l336, l337, 575.195 + l338, l339, l340, l341, l342, l343, l344, l345, l346, l347, 575.196 + l348, l349, l350, l351, l352, l353, l354, l355, l356, l357, 575.197 + l358, l359, l360, l361, l362, l363, l364, l365, l366, l367, 575.198 + l368, l369, l370, l371, l372, l373, l374, l375, l376, l377, 575.199 + l378, l379, l380, l381, l382, l383, l384, l385, l386, l387, 575.200 + l388, l389, l390, l391, l392, l393, l394, l395, l396, l397, 575.201 + l398, l399, l400, l401, l402, l403, l404, l405, l406, l407, 575.202 + l408, l409, l410, l411, l412, l413, l414, l415, l416, l417, 575.203 + l418, l419, l420, l421, l422, l423, l424, l425, l426, l427, 575.204 + l428, l429, l430, l431, l432, l433, l434, l435, l436, l437, 575.205 + l438, l439, l440, l441, l442, l443, l444, l445, l446, l447, 575.206 + l448, l449, l450, l451, l452, l453, l454, l455, l456, l457, 575.207 + l458, l459, l460, l461, l462, l463, l464, l465, l466, l467, 575.208 + l468, l469, l470, l471, l472, l473, l474, l475, l476, l477, 575.209 + l478, l479, l480, l481, l482, l483, l484, l485, l486, l487, 575.210 + l488, l489, l490, l491, l492, l493, l494, l495, l496, l497, 575.211 + l498, l499, l500, l501, l502, l503, l504, l505, l506, l507, 575.212 + l508, l509, l510, l511; 575.213 + 575.214 + try { 575.215 + m2(deopt, a); 575.216 + } catch (StackOverflowError e) { 575.217 + m3(deopt, a); 575.218 + } 575.219 + } 575.220 + 575.221 + static void m3(boolean deopt, A a) { 575.222 + long l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, 575.223 + l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, 575.224 + l25, l26, l27, l28, l29, l30, l31, l32, l33, l34, l35, l36, 575.225 + l37, l38, l39, l40, l41, l42, l43, l44, l45, l46, l47, l48, 575.226 + l49, l50, l51, l52, l53, l54, l55, l56, l57, l58, l59, l60, 575.227 + l61, l62, l63, l64, l65, l66, l67, l68, l69, l70, l71, l72, 575.228 + l73, l74, l75, l76, l77, l78, l79, l80, l81, l82, l83, l84, 575.229 + l85, l86, l87, l88, l89, l90, l91, l92, l93, l94, l95, l96, 575.230 + l97, l98, l99, l100, l101, l102, l103, l104, l105, l106, l107, 575.231 + l108, l109, l110, l111, l112, l113, l114, l115, l116, l117, 575.232 + l118, l119, l120, l121, l122, l123, l124, l125, l126, l127, 575.233 + l128, l129, l130, l131, l132, l133, l134, l135, l136, l137, 575.234 + l138, l139, l140, l141, l142, l143, l144, l145, l146, l147, 575.235 + l148, l149, l150, l151, l152, l153, l154, l155, l156, l157, 575.236 + l158, l159, l160, l161, l162, l163, l164, l165, l166, l167, 575.237 + l168, l169, l170, l171, l172, l173, l174, l175, l176, l177, 575.238 + l178, l179, l180, l181, l182, l183, l184, l185, l186, l187, 575.239 + l188, l189, l190, l191, l192, l193, l194, l195, l196, l197, 575.240 + l198, l199, l200, l201, l202, l203, l204, l205, l206, l207, 575.241 + l208, l209, l210, l211, l212, l213, l214, l215, l216, l217, 575.242 + l218, l219, l220, l221, l222, l223, l224, l225, l226, l227, 575.243 + l228, l229, l230, l231, l232, l233, l234, l235, l236, l237, 575.244 + l238, l239, l240, l241, l242, l243, l244, l245, l246, l247, 575.245 + l248, l249, l250, l251, l252, l253, l254, l255, l256, l257, 575.246 + l258, l259, l260, l261, l262, l263, l264, l265, l266, l267, 575.247 + l268, l269, l270, l271, l272, l273, l274, l275, l276, l277, 575.248 + l278, l279, l280, l281, l282, l283, l284, l285, l286, l287, 575.249 + l288, l289, l290, l291, l292, l293, l294, l295, l296, l297, 575.250 + l298, l299, l300, l301, l302, l303, l304, l305, l306, l307, 575.251 + l308, l309, l310, l311, l312, l313, l314, l315, l316, l317, 575.252 + l318, l319, l320, l321, l322, l323, l324, l325, l326, l327, 575.253 + l328, l329, l330, l331, l332, l333, l334, l335, l336, l337, 575.254 + l338, l339, l340, l341, l342, l343, l344, l345, l346, l347, 575.255 + l348, l349, l350, l351, l352, l353, l354, l355, l356, l357, 575.256 + l358, l359, l360, l361, l362, l363, l364, l365, l366, l367, 575.257 + l368, l369, l370, l371, l372, l373, l374, l375, l376, l377, 575.258 + l378, l379, l380, l381, l382, l383, l384, l385, l386, l387, 575.259 + l388, l389, l390, l391, l392, l393, l394, l395, l396, l397, 575.260 + l398, l399, l400, l401, l402, l403, l404, l405, l406, l407, 575.261 + l408, l409, l410, l411, l412, l413, l414, l415, l416, l417, 575.262 + l418, l419, l420, l421, l422, l423, l424, l425, l426, l427, 575.263 + l428, l429, l430, l431, l432, l433, l434, l435, l436, l437, 575.264 + l438, l439, l440, l441, l442, l443, l444, l445, l446, l447, 575.265 + l448, l449, l450, l451, l452, l453, l454, l455, l456, l457, 575.266 + l458, l459, l460, l461, l462, l463, l464, l465, l466, l467, 575.267 + l468, l469, l470, l471, l472, l473, l474, l475, l476, l477, 575.268 + l478, l479, l480, l481, l482, l483, l484, l485, l486, l487, 575.269 + l488, l489, l490, l491, l492, l493, l494, l495, l496, l497, 575.270 + l498, l499, l500, l501, l502, l503, l504, l505, l506, l507, 575.271 + l508, l509, l510, l511; 575.272 + 575.273 + long ll0, ll1, ll2, ll3, ll4, ll5, ll6, ll7, ll8, ll9, ll10, ll11, ll12, 575.274 + ll13, ll14, ll15, ll16, ll17, ll18, ll19, ll20, ll21, ll22, ll23, ll24, 575.275 + ll25, ll26, ll27, ll28, ll29, ll30, ll31, ll32, ll33, ll34, ll35, ll36, 575.276 + ll37, ll38, ll39, ll40, ll41, ll42, ll43, ll44, ll45, ll46, ll47, ll48, 575.277 + ll49, ll50, ll51, ll52, ll53, ll54, ll55, ll56, ll57, ll58, ll59, ll60, 575.278 + ll61, ll62, ll63, ll64, ll65, ll66, ll67, ll68, ll69, ll70, ll71, ll72, 575.279 + ll73, ll74, ll75, ll76, ll77, ll78, ll79, ll80, ll81, ll82, ll83, ll84, 575.280 + ll85, ll86, ll87, ll88, ll89, ll90, ll91, ll92, ll93, ll94, ll95, ll96, 575.281 + ll97, ll98, ll99, ll100, ll101, ll102, ll103, ll104, ll105, ll106, ll107, 575.282 + ll108, ll109, ll110, ll111, ll112, ll113, ll114, ll115, ll116, ll117, 575.283 + ll118, ll119, ll120, ll121, ll122, ll123, ll124, ll125, ll126, ll127, 575.284 + ll128, ll129, ll130, ll131, ll132, ll133, ll134, ll135, ll136, ll137, 575.285 + ll138, ll139, ll140, ll141, ll142, ll143, ll144, ll145, ll146, ll147, 575.286 + ll148, ll149, ll150, ll151, ll152, ll153, ll154, ll155, ll156, ll157, 575.287 + ll158, ll159, ll160, ll161, ll162, ll163, ll164, ll165, ll166, ll167, 575.288 + ll168, ll169, ll170, ll171, ll172, ll173, ll174, ll175, ll176, ll177, 575.289 + ll178, ll179, ll180, ll181, ll182, ll183, ll184, ll185, ll186, ll187, 575.290 + ll188, ll189, ll190, ll191, ll192, ll193, ll194, ll195, ll196, ll197, 575.291 + ll198, ll199, ll200, ll201, ll202, ll203, ll204, ll205, ll206, ll207, 575.292 + ll208, ll209, ll210, ll211, ll212, ll213, ll214, ll215, ll216, ll217, 575.293 + ll218, ll219, ll220, ll221, ll222, ll223, ll224, ll225, ll226, ll227, 575.294 + ll228, ll229, ll230, ll231, ll232, ll233, ll234, ll235, ll236, ll237, 575.295 + ll238, ll239, ll240, ll241, ll242, ll243, ll244, ll245, ll246, ll247, 575.296 + ll248, ll249, ll250, ll251, ll252, ll253, ll254, ll255, ll256, ll257, 575.297 + ll258, ll259, ll260, ll261, ll262, ll263, ll264, ll265, ll266, ll267, 575.298 + ll268, ll269, ll270, ll271, ll272, ll273, ll274, ll275, ll276, ll277, 575.299 + ll278, ll279, ll280, ll281, ll282, ll283, ll284, ll285, ll286, ll287, 575.300 + ll288, ll289, ll290, ll291, ll292, ll293, ll294, ll295, ll296, ll297, 575.301 + ll298, ll299, ll300, ll301, ll302, ll303, ll304, ll305, ll306, ll307, 575.302 + ll308, ll309, ll310, ll311, ll312, ll313, ll314, ll315, ll316, ll317, 575.303 + ll318, ll319, ll320, ll321, ll322, ll323, ll324, ll325, ll326, ll327, 575.304 + ll328, ll329, ll330, ll331, ll332, ll333, ll334, ll335, ll336, ll337, 575.305 + ll338, ll339, ll340, ll341, ll342, ll343, ll344, ll345, ll346, ll347, 575.306 + ll348, ll349, ll350, ll351, ll352, ll353, ll354, ll355, ll356, ll357, 575.307 + ll358, ll359, ll360, ll361, ll362, ll363, ll364, ll365, ll366, ll367, 575.308 + ll368, ll369, ll370, ll371, ll372, ll373, ll374, ll375, ll376, ll377, 575.309 + ll378, ll379, ll380, ll381, ll382, ll383, ll384, ll385, ll386, ll387, 575.310 + ll388, ll389, ll390, ll391, ll392, ll393, ll394, ll395, ll396, ll397, 575.311 + ll398, ll399, ll400, ll401, ll402, ll403, ll404, ll405, ll406, ll407, 575.312 + ll408, ll409, ll410, ll411, ll412, ll413, ll414, ll415, ll416, ll417, 575.313 + ll418, ll419, ll420, ll421, ll422, ll423, ll424, ll425, ll426, ll427, 575.314 + ll428, ll429, ll430, ll431, ll432, ll433, ll434, ll435, ll436, ll437, 575.315 + ll438, ll439, ll440, ll441, ll442, ll443, ll444, ll445, ll446, ll447, 575.316 + ll448, ll449, ll450, ll451, ll452, ll453, ll454, ll455, ll456, ll457, 575.317 + ll458, ll459, ll460, ll461, ll462, ll463, ll464, ll465, ll466, ll467, 575.318 + ll468, ll469, ll470, ll471, ll472, ll473, ll474, ll475, ll476, ll477, 575.319 + ll478, ll479, ll480, ll481, ll482, ll483, ll484, ll485, ll486, ll487, 575.320 + ll488, ll489, ll490, ll491, ll492, ll493, ll494, ll495, ll496, ll497, 575.321 + ll498, ll499, ll500, ll501, ll502, ll503, ll504, ll505, ll506, ll507, 575.322 + ll508, ll509, ll510, ll511; 575.323 + 575.324 + a.m(); 575.325 + 575.326 + m1(deopt, a); 575.327 + } 575.328 + 575.329 + // Used for synchronization betwen main thread and thread 575.330 + // responsible for class loading 575.331 + static volatile boolean thread_started = false; 575.332 + static volatile boolean do_load = false; 575.333 + static volatile boolean load_done = false; 575.334 + 575.335 + static public void main(String[] args) { 575.336 + // This thread does the loading of B. If m1 does it, the class 575.337 + // loading can cause stack overflows. 575.338 + Thread thread = new Thread() { 575.339 + public void run() { 575.340 + thread_started = true; 575.341 + while(!do_load); 575.342 + new B(); 575.343 + load_done = true; 575.344 + } 575.345 + }; 575.346 + thread.start(); 575.347 + while(!thread_started); 575.348 + // get m3 and m1 compiled 575.349 + A a = new A(); 575.350 + for (int i = 0; i < 5000; i++) { 575.351 + m3(false, a); 575.352 + m1(false, a); 575.353 + } 575.354 + m2(true, a); 575.355 + 575.356 + System.out.println("TEST PASSED"); 575.357 + } 575.358 +}
576.1 --- a/test/compiler/whitebox/ClearMethodStateTest.java Thu Jan 16 14:25:51 2014 +0100 576.2 +++ b/test/compiler/whitebox/ClearMethodStateTest.java Wed Jan 22 17:42:23 2014 -0800 576.3 @@ -21,25 +21,25 @@ 576.4 * questions. 576.5 */ 576.6 576.7 +import java.util.function.Function; 576.8 + 576.9 /* 576.10 * @test ClearMethodStateTest 576.11 * @bug 8006683 8007288 8022832 576.12 * @library /testlibrary /testlibrary/whitebox 576.13 * @build ClearMethodStateTest 576.14 * @run main ClassFileInstaller sun.hotspot.WhiteBox 576.15 - * @run main/othervm -Xbootclasspath/a:. -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* ClearMethodStateTest 576.16 + * @run main/othervm -Xbootclasspath/a:. -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* ClearMethodStateTest 576.17 * @summary testing of WB::clearMethodState() 576.18 * @author igor.ignatyev@oracle.com 576.19 */ 576.20 public class ClearMethodStateTest extends CompilerWhiteBoxTest { 576.21 576.22 public static void main(String[] args) throws Exception { 576.23 - for (TestCase test : TestCase.values()) { 576.24 - new ClearMethodStateTest(test).runTest(); 576.25 - } 576.26 + CompilerWhiteBoxTest.main(ClearMethodStateTest::new, args); 576.27 } 576.28 576.29 - public ClearMethodStateTest(TestCase testCase) { 576.30 + private ClearMethodStateTest(TestCase testCase) { 576.31 super(testCase); 576.32 // to prevent inlining of #method 576.33 WHITE_BOX.testSetDontInlineMethod(method, true); 576.34 @@ -63,7 +63,7 @@ 576.35 deoptimize(); 576.36 checkNotCompiled(); 576.37 576.38 - if (testCase.isOsr) { 576.39 + if (testCase.isOsr()) { 576.40 // part test isn't applicable for OSR test case 576.41 return; 576.42 }
577.1 --- a/test/compiler/whitebox/CompilerWhiteBoxTest.java Thu Jan 16 14:25:51 2014 +0100 577.2 +++ b/test/compiler/whitebox/CompilerWhiteBoxTest.java Wed Jan 22 17:42:23 2014 -0800 577.3 @@ -31,6 +31,7 @@ 577.4 import java.lang.reflect.Method; 577.5 import java.util.Objects; 577.6 import java.util.concurrent.Callable; 577.7 +import java.util.function.Function; 577.8 577.9 /** 577.10 * Abstract class for WhiteBox testing of JIT. 577.11 @@ -50,7 +51,7 @@ 577.12 protected static int COMP_LEVEL_FULL_PROFILE = 3; 577.13 /** {@code CompLevel::CompLevel_full_optimization} -- C2 or Shark */ 577.14 protected static int COMP_LEVEL_FULL_OPTIMIZATION = 4; 577.15 - /** Maximal value for CompLeveL */ 577.16 + /** Maximal value for CompLevel */ 577.17 protected static int COMP_LEVEL_MAX = COMP_LEVEL_FULL_OPTIMIZATION; 577.18 577.19 /** Instance of WhiteBox */ 577.20 @@ -75,8 +76,7 @@ 577.21 /** count of invocation to triger OSR compilation */ 577.22 protected static final long BACKEDGE_THRESHOLD; 577.23 /** Value of {@code java.vm.info} (interpreted|mixed|comp mode) */ 577.24 - protected static final String MODE 577.25 - = System.getProperty("java.vm.info"); 577.26 + protected static final String MODE = System.getProperty("java.vm.info"); 577.27 577.28 static { 577.29 if (TIERED_COMPILATION) { 577.30 @@ -133,6 +133,20 @@ 577.31 return compLevel == COMP_LEVEL_FULL_OPTIMIZATION; 577.32 } 577.33 577.34 + protected static void main( 577.35 + Function<TestCase, CompilerWhiteBoxTest> constructor, 577.36 + String[] args) { 577.37 + if (args.length == 0) { 577.38 + for (TestCase test : SimpleTestCase.values()) { 577.39 + constructor.apply(test).runTest(); 577.40 + } 577.41 + } else { 577.42 + for (String name : args) { 577.43 + constructor.apply(SimpleTestCase.valueOf(name)).runTest(); 577.44 + } 577.45 + } 577.46 + } 577.47 + 577.48 /** tested method */ 577.49 protected final Executable method; 577.50 protected final TestCase testCase; 577.51 @@ -145,7 +159,7 @@ 577.52 protected CompilerWhiteBoxTest(TestCase testCase) { 577.53 Objects.requireNonNull(testCase); 577.54 System.out.println("TEST CASE:" + testCase.name()); 577.55 - method = testCase.executable; 577.56 + method = testCase.getExecutable(); 577.57 this.testCase = testCase; 577.58 } 577.59 577.60 @@ -204,7 +218,7 @@ 577.61 if (WHITE_BOX.getMethodCompilationLevel(method, true) != 0) { 577.62 throw new RuntimeException(method + " osr_comp_level must be == 0"); 577.63 } 577.64 - } 577.65 + } 577.66 577.67 /** 577.68 * Checks, that {@linkplain #method} is compiled. 577.69 @@ -221,44 +235,46 @@ 577.70 method, System.currentTimeMillis() - start); 577.71 return; 577.72 } 577.73 - if (!WHITE_BOX.isMethodCompiled(method, testCase.isOsr)) { 577.74 + if (!WHITE_BOX.isMethodCompiled(method, testCase.isOsr())) { 577.75 throw new RuntimeException(method + " must be " 577.76 - + (testCase.isOsr ? "osr_" : "") + "compiled"); 577.77 + + (testCase.isOsr() ? "osr_" : "") + "compiled"); 577.78 } 577.79 - if (WHITE_BOX.getMethodCompilationLevel(method, testCase.isOsr) == 0) { 577.80 + if (WHITE_BOX.getMethodCompilationLevel(method, testCase.isOsr()) 577.81 + == 0) { 577.82 throw new RuntimeException(method 577.83 - + (testCase.isOsr ? " osr_" : " ") 577.84 + + (testCase.isOsr() ? " osr_" : " ") 577.85 + "comp_level must be != 0"); 577.86 } 577.87 } 577.88 577.89 protected final void deoptimize() { 577.90 - WHITE_BOX.deoptimizeMethod(method, testCase.isOsr); 577.91 - if (testCase.isOsr) { 577.92 + WHITE_BOX.deoptimizeMethod(method, testCase.isOsr()); 577.93 + if (testCase.isOsr()) { 577.94 WHITE_BOX.deoptimizeMethod(method, false); 577.95 } 577.96 } 577.97 577.98 protected final int getCompLevel() { 577.99 - return WHITE_BOX.getMethodCompilationLevel(method, testCase.isOsr); 577.100 + return WHITE_BOX.getMethodCompilationLevel(method, testCase.isOsr()); 577.101 } 577.102 577.103 protected final boolean isCompilable() { 577.104 return WHITE_BOX.isMethodCompilable(method, COMP_LEVEL_ANY, 577.105 - testCase.isOsr); 577.106 + testCase.isOsr()); 577.107 } 577.108 577.109 protected final boolean isCompilable(int compLevel) { 577.110 - return WHITE_BOX.isMethodCompilable(method, compLevel, testCase.isOsr); 577.111 + return WHITE_BOX 577.112 + .isMethodCompilable(method, compLevel, testCase.isOsr()); 577.113 } 577.114 577.115 protected final void makeNotCompilable() { 577.116 WHITE_BOX.makeMethodNotCompilable(method, COMP_LEVEL_ANY, 577.117 - testCase.isOsr); 577.118 + testCase.isOsr()); 577.119 } 577.120 577.121 protected final void makeNotCompilable(int compLevel) { 577.122 - WHITE_BOX.makeMethodNotCompilable(method, compLevel, testCase.isOsr); 577.123 + WHITE_BOX.makeMethodNotCompilable(method, compLevel, testCase.isOsr()); 577.124 } 577.125 577.126 /** 577.127 @@ -298,7 +314,7 @@ 577.128 WHITE_BOX.isMethodCompiled(method, true)); 577.129 System.out.printf("\tosr_comp_level:\t%d%n", 577.130 WHITE_BOX.getMethodCompilationLevel(method, true)); 577.131 - System.out.printf("\tin_queue:\t%b%n", 577.132 + System.out.printf("\tin_queue:\t%b%n", 577.133 WHITE_BOX.isMethodQueuedForCompilation(method)); 577.134 System.out.printf("compile_queues_size:\t%d%n%n", 577.135 WHITE_BOX.getCompileQueuesSize()); 577.136 @@ -311,13 +327,13 @@ 577.137 577.138 /** 577.139 * Tries to trigger compilation of {@linkplain #method} by call 577.140 - * {@linkplain #testCase.callable} enough times. 577.141 + * {@linkplain TestCase#getCallable()} enough times. 577.142 * 577.143 * @return accumulated result 577.144 * @see #compile(int) 577.145 */ 577.146 protected final int compile() { 577.147 - if (testCase.isOsr) { 577.148 + if (testCase.isOsr()) { 577.149 return compile(1); 577.150 } else { 577.151 return compile(THRESHOLD); 577.152 @@ -326,7 +342,7 @@ 577.153 577.154 /** 577.155 * Tries to trigger compilation of {@linkplain #method} by call 577.156 - * {@linkplain #testCase.callable} specified times. 577.157 + * {@linkplain TestCase#getCallable()} specified times. 577.158 * 577.159 * @param count invocation count 577.160 * @return accumulated result 577.161 @@ -336,7 +352,7 @@ 577.162 Integer tmp; 577.163 for (int i = 0; i < count; ++i) { 577.164 try { 577.165 - tmp = testCase.callable.call(); 577.166 + tmp = testCase.getCallable().call(); 577.167 } catch (Exception e) { 577.168 tmp = null; 577.169 } 577.170 @@ -347,19 +363,32 @@ 577.171 } 577.172 return result; 577.173 } 577.174 + 577.175 + /** 577.176 + * Utility interface provides tested method and object to invoke it. 577.177 + */ 577.178 + public interface TestCase { 577.179 + /** the name of test case */ 577.180 + String name(); 577.181 + 577.182 + /** tested method */ 577.183 + Executable getExecutable(); 577.184 + 577.185 + /** object to invoke {@linkplain #getExecutable()} */ 577.186 + Callable<Integer> getCallable(); 577.187 + 577.188 + /** flag for OSR test case */ 577.189 + boolean isOsr(); 577.190 + } 577.191 } 577.192 577.193 -/** 577.194 - * Utility structure containing tested method and object to invoke it. 577.195 - */ 577.196 -enum TestCase { 577.197 +enum SimpleTestCase implements CompilerWhiteBoxTest.TestCase { 577.198 /** constructor test case */ 577.199 CONSTRUCTOR_TEST(Helper.CONSTRUCTOR, Helper.CONSTRUCTOR_CALLABLE, false), 577.200 /** method test case */ 577.201 METOD_TEST(Helper.METHOD, Helper.METHOD_CALLABLE, false), 577.202 /** static method test case */ 577.203 STATIC_TEST(Helper.STATIC, Helper.STATIC_CALLABLE, false), 577.204 - 577.205 /** OSR constructor test case */ 577.206 OSR_CONSTRUCTOR_TEST(Helper.OSR_CONSTRUCTOR, 577.207 Helper.OSR_CONSTRUCTOR_CALLABLE, true), 577.208 @@ -368,20 +397,32 @@ 577.209 /** OSR static method test case */ 577.210 OSR_STATIC_TEST(Helper.OSR_STATIC, Helper.OSR_STATIC_CALLABLE, true); 577.211 577.212 - /** tested method */ 577.213 - final Executable executable; 577.214 - /** object to invoke {@linkplain #executable} */ 577.215 - final Callable<Integer> callable; 577.216 - /** flag for OSR test case */ 577.217 - final boolean isOsr; 577.218 + private final Executable executable; 577.219 + private final Callable<Integer> callable; 577.220 + private final boolean isOsr; 577.221 577.222 - private TestCase(Executable executable, Callable<Integer> callable, 577.223 + private SimpleTestCase(Executable executable, Callable<Integer> callable, 577.224 boolean isOsr) { 577.225 this.executable = executable; 577.226 this.callable = callable; 577.227 this.isOsr = isOsr; 577.228 } 577.229 577.230 + @Override 577.231 + public Executable getExecutable() { 577.232 + return executable; 577.233 + } 577.234 + 577.235 + @Override 577.236 + public Callable<Integer> getCallable() { 577.237 + return callable; 577.238 + } 577.239 + 577.240 + @Override 577.241 + public boolean isOsr() { 577.242 + return isOsr; 577.243 + } 577.244 + 577.245 private static class Helper { 577.246 577.247 private static final Callable<Integer> CONSTRUCTOR_CALLABLE 577.248 @@ -436,7 +477,6 @@ 577.249 } 577.250 }; 577.251 577.252 - 577.253 private static final Constructor CONSTRUCTOR; 577.254 private static final Constructor OSR_CONSTRUCTOR; 577.255 private static final Method METHOD;
578.1 --- a/test/compiler/whitebox/DeoptimizeAllTest.java Thu Jan 16 14:25:51 2014 +0100 578.2 +++ b/test/compiler/whitebox/DeoptimizeAllTest.java Wed Jan 22 17:42:23 2014 -0800 578.3 @@ -27,19 +27,17 @@ 578.4 * @library /testlibrary /testlibrary/whitebox 578.5 * @build DeoptimizeAllTest 578.6 * @run main ClassFileInstaller sun.hotspot.WhiteBox 578.7 - * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* DeoptimizeAllTest 578.8 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* DeoptimizeAllTest 578.9 * @summary testing of WB::deoptimizeAll() 578.10 * @author igor.ignatyev@oracle.com 578.11 */ 578.12 public class DeoptimizeAllTest extends CompilerWhiteBoxTest { 578.13 578.14 public static void main(String[] args) throws Exception { 578.15 - for (TestCase test : TestCase.values()) { 578.16 - new DeoptimizeAllTest(test).runTest(); 578.17 - } 578.18 + CompilerWhiteBoxTest.main(DeoptimizeAllTest::new, args); 578.19 } 578.20 578.21 - public DeoptimizeAllTest(TestCase testCase) { 578.22 + private DeoptimizeAllTest(TestCase testCase) { 578.23 super(testCase); 578.24 // to prevent inlining of #method 578.25 WHITE_BOX.testSetDontInlineMethod(method, true); 578.26 @@ -53,7 +51,7 @@ 578.27 */ 578.28 @Override 578.29 protected void test() throws Exception { 578.30 - if (testCase.isOsr && CompilerWhiteBoxTest.MODE.startsWith( 578.31 + if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith( 578.32 "compiled ")) { 578.33 System.err.printf("Warning: %s is not applicable in %s%n", 578.34 testCase.name(), CompilerWhiteBoxTest.MODE);
579.1 --- a/test/compiler/whitebox/DeoptimizeMethodTest.java Thu Jan 16 14:25:51 2014 +0100 579.2 +++ b/test/compiler/whitebox/DeoptimizeMethodTest.java Wed Jan 22 17:42:23 2014 -0800 579.3 @@ -27,19 +27,17 @@ 579.4 * @library /testlibrary /testlibrary/whitebox 579.5 * @build DeoptimizeMethodTest 579.6 * @run main ClassFileInstaller sun.hotspot.WhiteBox 579.7 - * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* DeoptimizeMethodTest 579.8 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* DeoptimizeMethodTest 579.9 * @summary testing of WB::deoptimizeMethod() 579.10 * @author igor.ignatyev@oracle.com 579.11 */ 579.12 public class DeoptimizeMethodTest extends CompilerWhiteBoxTest { 579.13 579.14 public static void main(String[] args) throws Exception { 579.15 - for (TestCase test : TestCase.values()) { 579.16 - new DeoptimizeMethodTest(test).runTest(); 579.17 - } 579.18 + CompilerWhiteBoxTest.main(DeoptimizeMethodTest::new, args); 579.19 } 579.20 579.21 - public DeoptimizeMethodTest(TestCase testCase) { 579.22 + private DeoptimizeMethodTest(TestCase testCase) { 579.23 super(testCase); 579.24 // to prevent inlining of #method 579.25 WHITE_BOX.testSetDontInlineMethod(method, true); 579.26 @@ -53,7 +51,7 @@ 579.27 */ 579.28 @Override 579.29 protected void test() throws Exception { 579.30 - if (testCase.isOsr && CompilerWhiteBoxTest.MODE.startsWith( 579.31 + if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith( 579.32 "compiled ")) { 579.33 System.err.printf("Warning: %s is not applicable in %s%n", 579.34 testCase.name(), CompilerWhiteBoxTest.MODE);
580.1 --- a/test/compiler/whitebox/EnqueueMethodForCompilationTest.java Thu Jan 16 14:25:51 2014 +0100 580.2 +++ b/test/compiler/whitebox/EnqueueMethodForCompilationTest.java Wed Jan 22 17:42:23 2014 -0800 580.3 @@ -27,19 +27,17 @@ 580.4 * @library /testlibrary /testlibrary/whitebox 580.5 * @build EnqueueMethodForCompilationTest 580.6 * @run main ClassFileInstaller sun.hotspot.WhiteBox 580.7 - * @run main/othervm/timeout=600 -Xbootclasspath/a:. -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* EnqueueMethodForCompilationTest 580.8 + * @run main/othervm/timeout=600 -Xbootclasspath/a:. -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* EnqueueMethodForCompilationTest 580.9 * @summary testing of WB::enqueueMethodForCompilation() 580.10 * @author igor.ignatyev@oracle.com 580.11 */ 580.12 public class EnqueueMethodForCompilationTest extends CompilerWhiteBoxTest { 580.13 580.14 public static void main(String[] args) throws Exception { 580.15 - for (TestCase test : TestCase.values()) { 580.16 - new EnqueueMethodForCompilationTest(test).runTest(); 580.17 - } 580.18 + CompilerWhiteBoxTest.main(EnqueueMethodForCompilationTest::new, args); 580.19 } 580.20 580.21 - public EnqueueMethodForCompilationTest(TestCase testCase) { 580.22 + private EnqueueMethodForCompilationTest(TestCase testCase) { 580.23 super(testCase); 580.24 // to prevent inlining of #method 580.25 WHITE_BOX.testSetDontInlineMethod(method, true);
581.1 --- a/test/compiler/whitebox/IsMethodCompilableTest.java Thu Jan 16 14:25:51 2014 +0100 581.2 +++ b/test/compiler/whitebox/IsMethodCompilableTest.java Wed Jan 22 17:42:23 2014 -0800 581.3 @@ -27,7 +27,7 @@ 581.4 * @library /testlibrary /testlibrary/whitebox 581.5 * @build IsMethodCompilableTest 581.6 * @run main ClassFileInstaller sun.hotspot.WhiteBox 581.7 - * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* IsMethodCompilableTest 581.8 + * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* IsMethodCompilableTest 581.9 * @summary testing of WB::isMethodCompilable() 581.10 * @author igor.ignatyev@oracle.com 581.11 */ 581.12 @@ -48,12 +48,10 @@ 581.13 } 581.14 581.15 public static void main(String[] args) throws Exception { 581.16 - for (TestCase test : TestCase.values()) { 581.17 - new IsMethodCompilableTest(test).runTest(); 581.18 - } 581.19 + CompilerWhiteBoxTest.main(IsMethodCompilableTest::new, args); 581.20 } 581.21 581.22 - public IsMethodCompilableTest(TestCase testCase) { 581.23 + private IsMethodCompilableTest(TestCase testCase) { 581.24 super(testCase); 581.25 // to prevent inlining of #method 581.26 WHITE_BOX.testSetDontInlineMethod(method, true); 581.27 @@ -68,7 +66,7 @@ 581.28 */ 581.29 @Override 581.30 protected void test() throws Exception { 581.31 - if (testCase.isOsr && CompilerWhiteBoxTest.MODE.startsWith( 581.32 + if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith( 581.33 "compiled ")) { 581.34 System.err.printf("Warning: %s is not applicable in %s%n", 581.35 testCase.name(), CompilerWhiteBoxTest.MODE); 581.36 @@ -89,7 +87,7 @@ 581.37 for (long i = 0L, n = PER_METHOD_RECOMPILATION_CUTOFF - 1; i < n; ++i) { 581.38 compileAndDeoptimize(); 581.39 } 581.40 - if (!testCase.isOsr && !isCompilable()) { 581.41 + if (!testCase.isOsr() && !isCompilable()) { 581.42 // in osr test case count of deopt maybe more than iterations 581.43 throw new RuntimeException(method + " is not compilable after " 581.44 + (PER_METHOD_RECOMPILATION_CUTOFF - 1) + " iterations"); 581.45 @@ -102,7 +100,7 @@ 581.46 && isCompilable(); ++i) { 581.47 compileAndDeoptimize(); 581.48 } 581.49 - if (!testCase.isOsr && i != PER_METHOD_RECOMPILATION_CUTOFF) { 581.50 + if (!testCase.isOsr() && i != PER_METHOD_RECOMPILATION_CUTOFF) { 581.51 // in osr test case count of deopt maybe more than iterations 581.52 throw new RuntimeException(method + " is not compilable after " 581.53 + i + " iterations, but must only after "
582.1 --- a/test/compiler/whitebox/MakeMethodNotCompilableTest.java Thu Jan 16 14:25:51 2014 +0100 582.2 +++ b/test/compiler/whitebox/MakeMethodNotCompilableTest.java Wed Jan 22 17:42:23 2014 -0800 582.3 @@ -27,26 +27,17 @@ 582.4 * @library /testlibrary /testlibrary/whitebox 582.5 * @build MakeMethodNotCompilableTest 582.6 * @run main ClassFileInstaller sun.hotspot.WhiteBox 582.7 - * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* MakeMethodNotCompilableTest 582.8 + * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* MakeMethodNotCompilableTest 582.9 * @summary testing of WB::makeMethodNotCompilable() 582.10 * @author igor.ignatyev@oracle.com 582.11 */ 582.12 public class MakeMethodNotCompilableTest extends CompilerWhiteBoxTest { 582.13 private int bci; 582.14 public static void main(String[] args) throws Exception { 582.15 - if (args.length == 0) { 582.16 - for (TestCase test : TestCase.values()) { 582.17 - new MakeMethodNotCompilableTest(test).runTest(); 582.18 - } 582.19 - } else { 582.20 - for (String name : args) { 582.21 - new MakeMethodNotCompilableTest( 582.22 - TestCase.valueOf(name)).runTest(); 582.23 - } 582.24 - } 582.25 + CompilerWhiteBoxTest.main(MakeMethodNotCompilableTest::new, args); 582.26 } 582.27 582.28 - public MakeMethodNotCompilableTest(TestCase testCase) { 582.29 + private MakeMethodNotCompilableTest(TestCase testCase) { 582.30 super(testCase); 582.31 // to prevent inlining of #method 582.32 WHITE_BOX.testSetDontInlineMethod(method, true); 582.33 @@ -62,7 +53,7 @@ 582.34 */ 582.35 @Override 582.36 protected void test() throws Exception { 582.37 - if (testCase.isOsr && CompilerWhiteBoxTest.MODE.startsWith( 582.38 + if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith( 582.39 "compiled ")) { 582.40 System.err.printf("Warning: %s is not applicable in %s%n", 582.41 testCase.name(), CompilerWhiteBoxTest.MODE);
583.1 --- a/test/compiler/whitebox/SetDontInlineMethodTest.java Thu Jan 16 14:25:51 2014 +0100 583.2 +++ b/test/compiler/whitebox/SetDontInlineMethodTest.java Wed Jan 22 17:42:23 2014 -0800 583.3 @@ -27,19 +27,17 @@ 583.4 * @library /testlibrary /testlibrary/whitebox 583.5 * @build SetDontInlineMethodTest 583.6 * @run main ClassFileInstaller sun.hotspot.WhiteBox 583.7 - * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* SetDontInlineMethodTest 583.8 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* SetDontInlineMethodTest 583.9 * @summary testing of WB::testSetDontInlineMethod() 583.10 * @author igor.ignatyev@oracle.com 583.11 */ 583.12 public class SetDontInlineMethodTest extends CompilerWhiteBoxTest { 583.13 583.14 public static void main(String[] args) throws Exception { 583.15 - for (TestCase test : TestCase.values()) { 583.16 - new SetDontInlineMethodTest(test).runTest(); 583.17 - } 583.18 + CompilerWhiteBoxTest.main(SetDontInlineMethodTest::new, args); 583.19 } 583.20 583.21 - public SetDontInlineMethodTest(TestCase testCase) { 583.22 + private SetDontInlineMethodTest(TestCase testCase) { 583.23 super(testCase); 583.24 } 583.25
584.1 --- a/test/compiler/whitebox/SetForceInlineMethodTest.java Thu Jan 16 14:25:51 2014 +0100 584.2 +++ b/test/compiler/whitebox/SetForceInlineMethodTest.java Wed Jan 22 17:42:23 2014 -0800 584.3 @@ -27,19 +27,17 @@ 584.4 * @library /testlibrary /testlibrary/whitebox 584.5 * @build SetForceInlineMethodTest 584.6 * @run main ClassFileInstaller sun.hotspot.WhiteBox 584.7 - * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* SetForceInlineMethodTest 584.8 + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* SetForceInlineMethodTest 584.9 * @summary testing of WB::testSetForceInlineMethod() 584.10 * @author igor.ignatyev@oracle.com 584.11 */ 584.12 public class SetForceInlineMethodTest extends CompilerWhiteBoxTest { 584.13 584.14 public static void main(String[] args) throws Exception { 584.15 - for (TestCase test : TestCase.values()) { 584.16 - new SetForceInlineMethodTest(test).runTest(); 584.17 - } 584.18 + CompilerWhiteBoxTest.main(SetForceInlineMethodTest::new, args); 584.19 } 584.20 584.21 - public SetForceInlineMethodTest(TestCase testCase) { 584.22 + private SetForceInlineMethodTest(TestCase testCase) { 584.23 super(testCase); 584.24 } 584.25
585.1 --- a/test/gc/6941923/Test6941923.java Thu Jan 16 14:25:51 2014 +0100 585.2 +++ b/test/gc/6941923/Test6941923.java Wed Jan 22 17:42:23 2014 -0800 585.3 @@ -1,5 +1,5 @@ 585.4 /* 585.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 585.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 585.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 585.8 * 585.9 * This code is free software; you can redistribute it and/or modify it
586.1 --- a/test/gc/g1/TestHumongousAllocInitialMark.java Thu Jan 16 14:25:51 2014 +0100 586.2 +++ b/test/gc/g1/TestHumongousAllocInitialMark.java Wed Jan 22 17:42:23 2014 -0800 586.3 @@ -1,5 +1,5 @@ 586.4 /* 586.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 586.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 586.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 586.8 * 586.9 * This code is free software; you can redistribute it and/or modify it
587.1 --- a/test/runtime/6626217/Test6626217.sh Thu Jan 16 14:25:51 2014 +0100 587.2 +++ b/test/runtime/6626217/Test6626217.sh Wed Jan 22 17:42:23 2014 -0800 587.3 @@ -1,5 +1,5 @@ 587.4 # 587.5 -# Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 587.6 +# Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 587.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 587.8 # 587.9 # This code is free software; you can redistribute it and/or modify it
588.1 --- a/test/runtime/7110720/Test7110720.sh Thu Jan 16 14:25:51 2014 +0100 588.2 +++ b/test/runtime/7110720/Test7110720.sh Wed Jan 22 17:42:23 2014 -0800 588.3 @@ -1,5 +1,5 @@ 588.4 # 588.5 -# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 588.6 +# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 588.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 588.8 # 588.9
589.1 --- a/test/runtime/7162488/Test7162488.sh Thu Jan 16 14:25:51 2014 +0100 589.2 +++ b/test/runtime/7162488/Test7162488.sh Wed Jan 22 17:42:23 2014 -0800 589.3 @@ -1,5 +1,5 @@ 589.4 # 589.5 -# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 589.6 +# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 589.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 589.8 # 589.9 # This code is free software; you can redistribute it and/or modify it
590.1 --- a/test/runtime/RedefineObject/Agent.java Thu Jan 16 14:25:51 2014 +0100 590.2 +++ b/test/runtime/RedefineObject/Agent.java Wed Jan 22 17:42:23 2014 -0800 590.3 @@ -1,5 +1,5 @@ 590.4 /* 590.5 - * Copyright (c) 2013, 2013, Oracle and/or its affiliates. All rights reserved. 590.6 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 590.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 590.8 * 590.9 * This code is free software; you can redistribute it and/or modify it
591.1 --- a/test/runtime/RedefineObject/TestRedefineObject.java Thu Jan 16 14:25:51 2014 +0100 591.2 +++ b/test/runtime/RedefineObject/TestRedefineObject.java Wed Jan 22 17:42:23 2014 -0800 591.3 @@ -1,5 +1,5 @@ 591.4 /* 591.5 - * Copyright (c) 2013, 2013, Oracle and/or its affiliates. All rights reserved. 591.6 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 591.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 591.8 * 591.9 * This code is free software; you can redistribute it and/or modify it