test/compiler/regalloc/C1ObjectSpillInLogicOp.java

changeset 7785
f967da7f0c3c
parent 6174
ad45ebfba060
child 7994
04ff2f6cd0eb
equal deleted inserted replaced
7784:974d7f3df726 7785:f967da7f0c3c
1 /* 1 /*
2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
22 */ 22 */
23 23
24 /* 24 /*
25 * @test 25 * @test
26 * @bug 8027751 26 * @bug 8027751
27 * @requires vm.gc=="G1" | vm.gc=="null"
27 * @summary C1 crashes generating G1 post-barrier in Unsafe.getAndSetObject() intrinsic because of the new value spill 28 * @summary C1 crashes generating G1 post-barrier in Unsafe.getAndSetObject() intrinsic because of the new value spill
28 * @run main/othervm -XX:+UseG1GC C1ObjectSpillInLogicOp 29 * @run main/othervm -XX:+UseG1GC C1ObjectSpillInLogicOp
29 * 30 *
30 * G1 barriers use logical operators (xor) on T_OBJECT mixed with T_LONG or T_INT. 31 * G1 barriers use logical operators (xor) on T_OBJECT mixed with T_LONG or T_INT.
31 * The current implementation of logical operations on x86 in C1 doesn't allow for long operands to be on stack. 32 * The current implementation of logical operations on x86 in C1 doesn't allow for long operands to be on stack.

mercurial