Tue, 04 Mar 2014 15:17:56 -0800
Merge
.hgtags | file | annotate | diff | comparison | revisions | |
make/hotspot_version | file | annotate | diff | comparison | revisions |
1.1 --- a/.hgtags Tue Mar 04 12:01:17 2014 -0800 1.2 +++ b/.hgtags Tue Mar 04 15:17:56 2014 -0800 1.3 @@ -420,6 +420,8 @@ 1.4 cb39165c4a65bbff8db356df411e762f9e5423b8 jdk8-b129 1.5 1dbaf664a611e5d9cab6d1be42537b67d0d05f94 jdk8-b130 1.6 b5e7ebfe185cb4c2eeb8a919025fc6a26be2fcef jdk8-b131 1.7 +9f9179e8f0cfe74c08f3716cf3c38e21e1de4c4a hs25-b70 1.8 +0c94c41dcd70e9a9b4d96e31275afd5a73daa72d jdk8-b132 1.9 4a35ef38e2a7bc64df20c7700ba69b37e3ddb8b5 jdk8u5-b01 1.10 e5561d89fe8bfc79cd6c8fcc36d270cc6a49ec6e jdk8u5-b02 1.11 2f9eb9fcab6c42c8c84ddb44170ea33235116d84 jdk8u5-b03
2.1 --- a/src/share/vm/ci/ciMethod.cpp Tue Mar 04 12:01:17 2014 -0800 2.2 +++ b/src/share/vm/ci/ciMethod.cpp Tue Mar 04 15:17:56 2014 -0800 2.3 @@ -724,6 +724,11 @@ 2.4 2.5 VM_ENTRY_MARK; 2.6 2.7 + // Disable CHA for default methods for now 2.8 + if (root_m->get_Method()->is_default_method()) { 2.9 + return NULL; 2.10 + } 2.11 + 2.12 methodHandle target; 2.13 { 2.14 MutexLocker locker(Compile_lock);
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/test/compiler/inlining/InlineDefaultMethod1.java Tue Mar 04 15:17:56 2014 -0800 3.3 @@ -0,0 +1,58 @@ 3.4 +/* 3.5 + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. 3.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3.7 + * 3.8 + * This code is free software; you can redistribute it and/or modify it 3.9 + * under the terms of the GNU General Public License version 2 only, as 3.10 + * published by the Free Software Foundation. 3.11 + * 3.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 3.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 3.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 3.15 + * version 2 for more details (a copy is included in the LICENSE file that 3.16 + * accompanied this code). 3.17 + * 3.18 + * You should have received a copy of the GNU General Public License version 3.19 + * 2 along with this work; if not, write to the Free Software Foundation, 3.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 3.21 + * 3.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 3.23 + * or visit www.oracle.com if you need additional information or have any 3.24 + * questions. 3.25 + */ 3.26 + 3.27 +/* 3.28 + * @test 3.29 + * @bug 8036100 3.30 + * @summary Default method returns true for a while, and then returns false 3.31 + * @run main/othervm -Xcomp -XX:CompileOnly=InlineDefaultMethod1::test 3.32 + * -XX:CompileOnly=I1::m -XX:CompileOnly=I2::m 3.33 + * InlineDefaultMethod1 3.34 + */ 3.35 +interface I1 { 3.36 + default public int m() { return 0; } 3.37 +} 3.38 + 3.39 +interface I2 extends I1 { 3.40 + default public int m() { return 1; } 3.41 +} 3.42 + 3.43 +abstract class A implements I1 { 3.44 +} 3.45 + 3.46 +class B extends A implements I2 { 3.47 +} 3.48 + 3.49 +public class InlineDefaultMethod1 { 3.50 + public static void test(A obj) { 3.51 + int id = obj.m(); 3.52 + if (id != 1) { 3.53 + throw new AssertionError("Called wrong method: 1 != "+id); 3.54 + } 3.55 + } 3.56 + 3.57 + public static void main(String[] args) throws InterruptedException { 3.58 + test(new B()); 3.59 + System.out.println("TEST PASSED"); 3.60 + } 3.61 +}