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. |