Merge
This commit is contained in:
commit
e5f039dbfb
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -2096,8 +2096,14 @@ void LIR_OpProfileCall::print_instr(outputStream* out) const {
|
||||
|
||||
// LIR_OpProfileType
|
||||
void LIR_OpProfileType::print_instr(outputStream* out) const {
|
||||
out->print("exact = "); exact_klass()->print_name_on(out);
|
||||
out->print("current = "); ciTypeEntries::print_ciklass(out, current_klass());
|
||||
out->print("exact = ");
|
||||
if (exact_klass() == NULL) {
|
||||
out->print("unknown");
|
||||
} else {
|
||||
exact_klass()->print_name_on(out);
|
||||
}
|
||||
out->print(" current = "); ciTypeEntries::print_ciklass(out, current_klass());
|
||||
out->print(" ");
|
||||
mdp()->print(out); out->print(" ");
|
||||
obj()->print(out); out->print(" ");
|
||||
tmp()->print(out); out->print(" ");
|
||||
|
@ -114,7 +114,9 @@ needs_jre = \
|
||||
compiler/c2/7047069/Test7047069.java \
|
||||
runtime/6294277/SourceDebugExtension.java \
|
||||
runtime/ClassFile/JsrRewriting.java \
|
||||
runtime/ClassFile/OomWhileParsingRepeatedJsr.java
|
||||
runtime/ClassFile/OomWhileParsingRepeatedJsr.java \
|
||||
runtime/SharedArchiveFile/LimitSharedSizes.java \
|
||||
runtime/SharedArchiveFile/SpaceUtilizationCheck.java
|
||||
|
||||
# Compact 3 adds further tests to compact2
|
||||
#
|
||||
|
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @test
|
||||
* @bug 8073154
|
||||
* @build TestProfileReturnTypePrinting
|
||||
* @run main/othervm -XX:TypeProfileLevel=020
|
||||
* -XX:CompileOnly=TestProfileReturnTypePrinting.testMethod
|
||||
* -XX:+IgnoreUnrecognizedVMOptions -XX:+PrintLIR
|
||||
* TestProfileReturnTypePrinting
|
||||
* @summary Verify that c1's LIR that contains ProfileType node could be dumped
|
||||
* without a crash disregard to an exact class knowledge.
|
||||
*/
|
||||
public class TestProfileReturnTypePrinting {
|
||||
private static final int ITERATIONS = 1_000_000;
|
||||
|
||||
public static void main(String args[]) {
|
||||
for (int i = 0; i < ITERATIONS; i++) {
|
||||
TestProfileReturnTypePrinting.testMethod(i);
|
||||
}
|
||||
}
|
||||
|
||||
private static int testMethod(int i) {
|
||||
return TestProfileReturnTypePrinting.foo().hashCode()
|
||||
+ TestProfileReturnTypePrinting.bar(i).hashCode();
|
||||
}
|
||||
|
||||
/* Exact class of returned value is known statically. */
|
||||
private static B foo() {
|
||||
return new B();
|
||||
}
|
||||
|
||||
/* Exact class of returned value is not known statically. */
|
||||
private static Object bar(int i) {
|
||||
if (i % 2 == 0) {
|
||||
return new A();
|
||||
} else {
|
||||
return new B();
|
||||
}
|
||||
}
|
||||
|
||||
private static class A {
|
||||
}
|
||||
|
||||
private static class B extends A {
|
||||
}
|
||||
}
|
@ -58,7 +58,7 @@ public class RandomGeneratorTest {
|
||||
}
|
||||
jvmArgs.add(RandomRunner.class.getName());
|
||||
String[] cmdLineArgs = jvmArgs.toArray(new String[jvmArgs.size()]);
|
||||
String etalon = ProcessTools.executeTestJvm(cmdLineArgs).getOutput().trim();
|
||||
String etalon = ProcessTools.executeTestJvm(cmdLineArgs).getStdout().trim();
|
||||
seedOpt.verify(etalon, cmdLineArgs);
|
||||
}
|
||||
|
||||
@ -122,7 +122,7 @@ public class RandomGeneratorTest {
|
||||
String lastLineOrig = getLastLine(orig);
|
||||
String lastLine;
|
||||
try {
|
||||
lastLine = getLastLine(ProcessTools.executeTestJvm(cmdLine).getOutput().trim());
|
||||
lastLine = getLastLine(ProcessTools.executeTestJvm(cmdLine).getStdout().trim());
|
||||
} catch (Throwable t) {
|
||||
throw new Error("TESTBUG: Unexpedted exception during jvm execution.", t);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user