< prev index next >
test/compiler/c2/6805724/Test6805724.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2009, 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.
--- 1,7 ----
/*
! * Copyright (c) 2009, 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.
*** 22,37 ****
*/
/**
* @test
* @bug 6805724
! * @summary ModLNode::Ideal() generates functionally incorrect graph when divisor is any (2^k-1) constant.
! *
* @run main/othervm -Xcomp -XX:CompileOnly=Test6805724.fcomp Test6805724
*/
import java.net.URLClassLoader;
public class Test6805724 implements Runnable {
// Initialize DIVISOR so that it is final in this class.
static final long DIVISOR; // 2^k-1 constant
--- 22,41 ----
*/
/**
* @test
* @bug 6805724
! * @summary ModLNode::Ideal() generates functionally incorrect graph
! * when divisor is any (2^k-1) constant.
! * @library /testlibrary
* @run main/othervm -Xcomp -XX:CompileOnly=Test6805724.fcomp Test6805724
*/
+ import java.io.File;
+ import java.net.URL;
import java.net.URLClassLoader;
+ import jdk.test.lib.Utils;
public class Test6805724 implements Runnable {
// Initialize DIVISOR so that it is final in this class.
static final long DIVISOR; // 2^k-1 constant
*** 63,79 ****
throw new InternalError(result + " != " + expected);
}
public static void main(String args[]) throws Exception {
Class cl = Class.forName("Test6805724");
! URLClassLoader apploader = (URLClassLoader) cl.getClassLoader();
// Iterate over all 2^k-1 divisors.
for (int k = 1; k < Long.SIZE; k++) {
long divisor = (1L << k) - 1;
System.setProperty("divisor", "" + divisor);
! ClassLoader loader = new URLClassLoader(apploader.getURLs(), apploader.getParent());
Class c = loader.loadClass("Test6805724");
Runnable r = (Runnable) c.newInstance();
r.run();
}
}
--- 67,84 ----
throw new InternalError(result + " != " + expected);
}
public static void main(String args[]) throws Exception {
Class cl = Class.forName("Test6805724");
! ClassLoader apploader = cl.getClassLoader();
// Iterate over all 2^k-1 divisors.
for (int k = 1; k < Long.SIZE; k++) {
long divisor = (1L << k) - 1;
System.setProperty("divisor", "" + divisor);
! ClassLoader loader
! = Utils.getTestClassPathURLClassLoader(apploader.getParent());
Class c = loader.loadClass("Test6805724");
Runnable r = (Runnable) c.newInstance();
r.run();
}
}
< prev index next >