mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
Merge
This commit is contained in:
commit
dacc8e143f
44 changed files with 98 additions and 112 deletions
|
@ -89,6 +89,27 @@ void VM_Version::initialize() {
|
|||
_supports_cx8 = has_v9();
|
||||
_supports_atomic_getset4 = true; // swap instruction
|
||||
|
||||
// There are Fujitsu Sparc64 CPUs which support blk_init as well so
|
||||
// we have to take this check out of the 'is_niagara()' block below.
|
||||
if (has_blk_init()) {
|
||||
// When using CMS or G1, we cannot use memset() in BOT updates
|
||||
// because the sun4v/CMT version in libc_psr uses BIS which
|
||||
// exposes "phantom zeros" to concurrent readers. See 6948537.
|
||||
if (FLAG_IS_DEFAULT(UseMemSetInBOT) && (UseConcMarkSweepGC || UseG1GC)) {
|
||||
FLAG_SET_DEFAULT(UseMemSetInBOT, false);
|
||||
}
|
||||
// Issue a stern warning if the user has explicitly set
|
||||
// UseMemSetInBOT (it is known to cause issues), but allow
|
||||
// use for experimentation and debugging.
|
||||
if (UseConcMarkSweepGC || UseG1GC) {
|
||||
if (UseMemSetInBOT) {
|
||||
assert(!FLAG_IS_DEFAULT(UseMemSetInBOT), "Error");
|
||||
warning("Experimental flag -XX:+UseMemSetInBOT is known to cause instability"
|
||||
" on sun4v; please understand that you are using at your own risk!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_niagara()) {
|
||||
// Indirect branch is the same cost as direct
|
||||
if (FLAG_IS_DEFAULT(UseInlineCaches)) {
|
||||
|
@ -98,12 +119,6 @@ void VM_Version::initialize() {
|
|||
if (FLAG_IS_DEFAULT(OptoLoopAlignment)) {
|
||||
FLAG_SET_DEFAULT(OptoLoopAlignment, 4);
|
||||
}
|
||||
// When using CMS or G1, we cannot use memset() in BOT updates
|
||||
// because the sun4v/CMT version in libc_psr uses BIS which
|
||||
// exposes "phantom zeros" to concurrent readers. See 6948537.
|
||||
if (FLAG_IS_DEFAULT(UseMemSetInBOT) && (UseConcMarkSweepGC || UseG1GC)) {
|
||||
FLAG_SET_DEFAULT(UseMemSetInBOT, false);
|
||||
}
|
||||
#ifdef _LP64
|
||||
// 32-bit oops don't make sense for the 64-bit VM on sparc
|
||||
// since the 32-bit VM has the same registers and smaller objects.
|
||||
|
|
|
@ -94,7 +94,13 @@ protected:
|
|||
static bool is_M_family(int features) { return (features & M_family_m) != 0; }
|
||||
static bool is_T_family(int features) { return (features & T_family_m) != 0; }
|
||||
static bool is_niagara() { return is_T_family(_features); }
|
||||
DEBUG_ONLY( static bool is_niagara(int features) { return (features & sun4v_m) != 0; } )
|
||||
#ifdef ASSERT
|
||||
static bool is_niagara(int features) {
|
||||
// 'sun4v_m' may be defined on both Sun/Oracle Sparc CPUs as well as
|
||||
// on Fujitsu Sparc64 CPUs, but only Sun/Oracle Sparcs can be 'niagaras'.
|
||||
return (features & sun4v_m) != 0 && (features & sparc64_family_m) == 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Returns true if it is niagara1 (T1).
|
||||
static bool is_T1_model(int features) { return is_T_family(features) && ((features & T1_model_m) != 0); }
|
||||
|
|
|
@ -1719,10 +1719,12 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
|
|||
|
||||
BarrierSet* bs = Universe::heap()->barrier_set();
|
||||
CardTableModRefBS* ct = (CardTableModRefBS*)bs;
|
||||
assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
|
||||
|
||||
Label done;
|
||||
Label runtime;
|
||||
|
||||
// At this point we know new_value is non-NULL and the new_value crosses regsion.
|
||||
// At this point we know new_value is non-NULL and the new_value crosses regions.
|
||||
// Must check to see if card is already dirty
|
||||
|
||||
const Register thread = NOT_LP64(rax) LP64_ONLY(r15_thread);
|
||||
|
@ -1735,26 +1737,17 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
|
|||
__ push(rax);
|
||||
__ push(rcx);
|
||||
|
||||
NOT_LP64(__ get_thread(thread);)
|
||||
ExternalAddress cardtable((address)ct->byte_map_base);
|
||||
assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
|
||||
|
||||
const Register cardtable = rax;
|
||||
const Register card_addr = rcx;
|
||||
#ifdef _LP64
|
||||
const Register tmp = rscratch1;
|
||||
f.load_argument(0, card_addr);
|
||||
__ shrq(card_addr, CardTableModRefBS::card_shift);
|
||||
__ lea(tmp, cardtable);
|
||||
// get the address of the card
|
||||
__ addq(card_addr, tmp);
|
||||
#else
|
||||
const Register card_index = rcx;
|
||||
f.load_argument(0, card_index);
|
||||
__ shrl(card_index, CardTableModRefBS::card_shift);
|
||||
|
||||
Address index(noreg, card_index, Address::times_1);
|
||||
__ leal(card_addr, __ as_Address(ArrayAddress(cardtable, index)));
|
||||
#endif
|
||||
f.load_argument(0, card_addr);
|
||||
__ shrptr(card_addr, CardTableModRefBS::card_shift);
|
||||
// Do not use ExternalAddress to load 'byte_map_base', since 'byte_map_base' is NOT
|
||||
// a valid address and therefore is not properly handled by the relocation code.
|
||||
__ movptr(cardtable, (intptr_t)ct->byte_map_base);
|
||||
__ addptr(card_addr, cardtable);
|
||||
|
||||
NOT_LP64(__ get_thread(thread);)
|
||||
|
||||
__ cmpb(Address(card_addr, 0), (int)G1SATBCardTableModRefBS::g1_young_card_val());
|
||||
__ jcc(Assembler::equal, done);
|
||||
|
|
|
@ -3354,6 +3354,8 @@ void MacroAssembler::g1_write_barrier_post(Register store_addr,
|
|||
|
||||
BarrierSet* bs = Universe::heap()->barrier_set();
|
||||
CardTableModRefBS* ct = (CardTableModRefBS*)bs;
|
||||
assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
|
||||
|
||||
Label done;
|
||||
Label runtime;
|
||||
|
||||
|
@ -3371,28 +3373,16 @@ void MacroAssembler::g1_write_barrier_post(Register store_addr,
|
|||
|
||||
// storing region crossing non-NULL, is card already dirty?
|
||||
|
||||
ExternalAddress cardtable((address) ct->byte_map_base);
|
||||
assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
|
||||
#ifdef _LP64
|
||||
const Register card_addr = tmp;
|
||||
const Register cardtable = tmp2;
|
||||
|
||||
movq(card_addr, store_addr);
|
||||
shrq(card_addr, CardTableModRefBS::card_shift);
|
||||
movptr(card_addr, store_addr);
|
||||
shrptr(card_addr, CardTableModRefBS::card_shift);
|
||||
// Do not use ExternalAddress to load 'byte_map_base', since 'byte_map_base' is NOT
|
||||
// a valid address and therefore is not properly handled by the relocation code.
|
||||
movptr(cardtable, (intptr_t)ct->byte_map_base);
|
||||
addptr(card_addr, cardtable);
|
||||
|
||||
lea(tmp2, cardtable);
|
||||
|
||||
// get the address of the card
|
||||
addq(card_addr, tmp2);
|
||||
#else
|
||||
const Register card_index = tmp;
|
||||
|
||||
movl(card_index, store_addr);
|
||||
shrl(card_index, CardTableModRefBS::card_shift);
|
||||
|
||||
Address index(noreg, card_index, Address::times_1);
|
||||
const Register card_addr = tmp;
|
||||
lea(card_addr, as_Address(ArrayAddress(cardtable, index)));
|
||||
#endif
|
||||
cmpb(Address(card_addr, 0), (int)G1SATBCardTableModRefBS::g1_young_card_val());
|
||||
jcc(Assembler::equal, done);
|
||||
|
||||
|
@ -3416,7 +3406,7 @@ void MacroAssembler::g1_write_barrier_post(Register store_addr,
|
|||
movq(Address(tmp2, 0), card_addr);
|
||||
#else
|
||||
addl(tmp2, queue_index);
|
||||
movl(Address(tmp2, 0), card_index);
|
||||
movl(Address(tmp2, 0), card_addr);
|
||||
#endif
|
||||
jmp(done);
|
||||
|
||||
|
@ -3468,25 +3458,19 @@ void MacroAssembler::store_check_part_2(Register obj) {
|
|||
|
||||
// The calculation for byte_map_base is as follows:
|
||||
// byte_map_base = _byte_map - (uintptr_t(low_bound) >> card_shift);
|
||||
// So this essentially converts an address to a displacement and
|
||||
// it will never need to be relocated. On 64bit however the value may be too
|
||||
// large for a 32bit displacement
|
||||
|
||||
// So this essentially converts an address to a displacement and it will
|
||||
// never need to be relocated. On 64bit however the value may be too
|
||||
// large for a 32bit displacement.
|
||||
intptr_t disp = (intptr_t) ct->byte_map_base;
|
||||
if (is_simm32(disp)) {
|
||||
Address cardtable(noreg, obj, Address::times_1, disp);
|
||||
movb(cardtable, 0);
|
||||
} else {
|
||||
// By doing it as an ExternalAddress disp could be converted to a rip-relative
|
||||
// displacement and done in a single instruction given favorable mapping and
|
||||
// a smarter version of as_Address. Worst case it is two instructions which
|
||||
// is no worse off then loading disp into a register and doing as a simple
|
||||
// Address() as above.
|
||||
// We can't do as ExternalAddress as the only style since if disp == 0 we'll
|
||||
// assert since NULL isn't acceptable in a reloci (see 6644928). In any case
|
||||
// in some cases we'll get a single instruction version.
|
||||
|
||||
ExternalAddress cardtable((address)disp);
|
||||
// By doing it as an ExternalAddress 'disp' could be converted to a rip-relative
|
||||
// displacement and done in a single instruction given favorable mapping and a
|
||||
// smarter version of as_Address. However, 'ExternalAddress' generates a relocation
|
||||
// entry and that entry is not properly handled by the relocation code.
|
||||
AddressLiteral cardtable((address)ct->byte_map_base, relocInfo::none);
|
||||
Address index(noreg, obj, Address::times_1);
|
||||
movb(as_Address(ArrayAddress(cardtable, index)), 0);
|
||||
}
|
||||
|
|
|
@ -637,7 +637,7 @@
|
|||
diagnostic(bool, OptimizeExpensiveOps, true, \
|
||||
"Find best control for expensive operations") \
|
||||
\
|
||||
product(bool, UseMathExactIntrinsics, true, \
|
||||
experimental(bool, UseMathExactIntrinsics, false, \
|
||||
"Enables intrinsification of various java.lang.Math functions") \
|
||||
\
|
||||
experimental(bool, ReplaceInParentMaps, false, \
|
||||
|
|
|
@ -2278,18 +2278,6 @@ bool Arguments::check_vm_args_consistency() {
|
|||
status = status && verify_percentage(MarkSweepDeadRatio, "MarkSweepDeadRatio");
|
||||
|
||||
status = status && verify_min_value(MarkSweepAlwaysCompactCount, 1, "MarkSweepAlwaysCompactCount");
|
||||
#ifdef SPARC
|
||||
if (UseConcMarkSweepGC || UseG1GC) {
|
||||
// Issue a stern warning if the user has explicitly set
|
||||
// UseMemSetInBOT (it is known to cause issues), but allow
|
||||
// use for experimentation and debugging.
|
||||
if (VM_Version::is_sun4v() && UseMemSetInBOT) {
|
||||
assert(!FLAG_IS_DEFAULT(UseMemSetInBOT), "Error");
|
||||
warning("Experimental flag -XX:+UseMemSetInBOT is known to cause instability"
|
||||
" on sun4v; please understand that you are using at your own risk!");
|
||||
}
|
||||
}
|
||||
#endif // SPARC
|
||||
|
||||
if (PrintNMTStatistics) {
|
||||
#if INCLUDE_NMT
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8024924
|
||||
* @summary Test non constant addExact
|
||||
* @compile AddExactICondTest.java
|
||||
* @run main AddExactICondTest
|
||||
* @run main AddExactICondTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8024924
|
||||
* @summary Test constant addExact
|
||||
* @compile AddExactIConstantTest.java Verify.java
|
||||
* @run main AddExactIConstantTest
|
||||
* @run main AddExactIConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8024924
|
||||
* @summary Test non constant addExact
|
||||
* @compile AddExactILoadTest.java Verify.java
|
||||
* @run main AddExactILoadTest
|
||||
* @run main AddExactILoadTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8024924
|
||||
* @summary Test non constant addExact
|
||||
* @compile AddExactILoopDependentTest.java Verify.java
|
||||
* @run main AddExactILoopDependentTest
|
||||
* @run main AddExactILoopDependentTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8024924
|
||||
* @summary Test non constant addExact
|
||||
* @compile AddExactINonConstantTest.java Verify.java
|
||||
* @run main AddExactINonConstantTest
|
||||
* @run main AddExactINonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8025657
|
||||
* @summary Test repeating addExact
|
||||
* @compile AddExactIRepeatTest.java Verify.java
|
||||
* @run main AddExactIRepeatTest
|
||||
* @run main AddExactIRepeatTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test constant addExact
|
||||
* @compile AddExactLConstantTest.java Verify.java
|
||||
* @run main AddExactLConstantTest
|
||||
* @run main AddExactLConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test non constant addExact
|
||||
* @compile AddExactLNonConstantTest.java Verify.java
|
||||
* @run main AddExactLNonConstantTest
|
||||
* @run main AddExactLNonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026722
|
||||
* @summary Verify that the compare after addExact is a signed compare
|
||||
* @compile CompareTest.java
|
||||
* @run main CompareTest
|
||||
* @run main CompareTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test decrementExact
|
||||
* @compile DecExactITest.java Verify.java
|
||||
* @run main DecExactITest
|
||||
* @run main DecExactITest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
* @test
|
||||
* @bug 8026844
|
||||
* @summary Test decrementExact
|
||||
* @compile DecExactITest.java Verify.java
|
||||
* @run main DecExactITest
|
||||
* @compile DecExactLTest.java Verify.java
|
||||
* @run main DecExactLTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8028207
|
||||
* @summary Verify that GVN doesn't mess up the two addExacts
|
||||
* @compile GVNTest.java
|
||||
* @run main GVNTest
|
||||
* @run main GVNTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test incrementExact
|
||||
* @compile IncExactITest.java Verify.java
|
||||
* @run main IncExactITest
|
||||
* @run main IncExactITest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test incrementExact
|
||||
* @compile IncExactLTest.java Verify.java
|
||||
* @run main IncExactLTest
|
||||
* @run main IncExactLTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test multiplyExact as condition
|
||||
* @compile MulExactICondTest.java
|
||||
* @run main MulExactICondTest
|
||||
* @run main MulExactICondTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test constant multiplyExact
|
||||
* @compile MulExactIConstantTest.java Verify.java
|
||||
* @run main MulExactIConstantTest
|
||||
* @run main MulExactIConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test multiplyExact
|
||||
* @compile MulExactILoadTest.java Verify.java
|
||||
* @run main MulExactILoadTest
|
||||
* @run main MulExactILoadTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test loop dependent multiplyExact
|
||||
* @compile MulExactILoopDependentTest.java Verify.java
|
||||
* @run main MulExactILoopDependentTest
|
||||
* @run main MulExactILoopDependentTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
public class MulExactILoopDependentTest {
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test non constant multiplyExact
|
||||
* @compile MulExactINonConstantTest.java Verify.java
|
||||
* @run main MulExactINonConstantTest
|
||||
* @run main MulExactINonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test repeating multiplyExact
|
||||
* @compile MulExactIRepeatTest.java Verify.java
|
||||
* @run main MulExactIRepeatTest
|
||||
* @run main MulExactIRepeatTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test constant mulExact
|
||||
* @compile MulExactLConstantTest.java Verify.java
|
||||
* @run main MulExactLConstantTest
|
||||
* @run main MulExactLConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test non constant mulExact
|
||||
* @compile MulExactLNonConstantTest.java Verify.java
|
||||
* @run main MulExactLNonConstantTest
|
||||
* @run main MulExactLNonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test constant negExact
|
||||
* @compile NegExactIConstantTest.java Verify.java
|
||||
* @run main NegExactIConstantTest
|
||||
* @run main NegExactIConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test negExact
|
||||
* @compile NegExactILoadTest.java Verify.java
|
||||
* @run main NegExactILoadTest
|
||||
* @run main NegExactILoadTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test negExact loop dependent
|
||||
* @compile NegExactILoopDependentTest.java Verify.java
|
||||
* @run main NegExactILoopDependentTest
|
||||
* @run main NegExactILoopDependentTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
public class NegExactILoopDependentTest {
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test non constant negExact
|
||||
* @compile NegExactINonConstantTest.java Verify.java
|
||||
* @run main NegExactINonConstantTest
|
||||
* @run main NegExactINonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test constant negExact
|
||||
* @compile NegExactLConstantTest.java Verify.java
|
||||
* @run main NegExactLConstantTest
|
||||
* @run main NegExactLConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test constant negExact
|
||||
* @compile NegExactLNonConstantTest.java Verify.java
|
||||
* @run main NegExactLNonConstantTest
|
||||
* @run main NegExactLNonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8027444
|
||||
* @summary Test nested loops
|
||||
* @compile NestedMathExactTest.java
|
||||
* @run main NestedMathExactTest
|
||||
* @run main NestedMathExactTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8028198
|
||||
* @summary Verify that split through phi does the right thing
|
||||
* @compile SplitThruPhiTest.java
|
||||
* @run main SplitThruPhiTest
|
||||
* @run main SplitThruPhiTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test subtractExact as condition
|
||||
* @compile SubExactICondTest.java Verify.java
|
||||
* @run main SubExactICondTest
|
||||
* @run main SubExactICondTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test constant subtractExact
|
||||
* @compile SubExactIConstantTest.java Verify.java
|
||||
* @run main SubExactIConstantTest
|
||||
* @run main SubExactIConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test non constant subtractExact
|
||||
* @compile SubExactILoadTest.java Verify.java
|
||||
* @run main SubExactILoadTest
|
||||
* @run main SubExactILoadTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test non constant subtractExact
|
||||
* @compile SubExactILoopDependentTest.java Verify.java
|
||||
* @run main SubExactILoopDependentTest
|
||||
* @run main SubExactILoopDependentTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test non constant subtractExact
|
||||
* @compile SubExactINonConstantTest.java Verify.java
|
||||
* @run main SubExactINonConstantTest
|
||||
* @run main SubExactINonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* @bug 8026844
|
||||
* @summary Test repeating subtractExact
|
||||
* @compile SubExactIRepeatTest.java Verify.java
|
||||
* @run main SubExactIRepeatTest
|
||||
* @run main SubExactIRepeatTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
* @bug 8027353
|
||||
* @summary Test constant subtractExact
|
||||
* @compile SubExactLConstantTest.java Verify.java
|
||||
* @run main SubExactLConstantTest
|
||||
* @run main SubExactLConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
* @bug 8027353
|
||||
* @summary Test non constant subtractExact
|
||||
* @compile SubExactLNonConstantTest.java Verify.java
|
||||
* @run main SubExactLNonConstantTest
|
||||
* @run main SubExactLNonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue