test/script/basic/JDK-8056129.js

Thu, 04 Sep 2014 18:57:14 +0200

author
attila
date
Thu, 04 Sep 2014 18:57:14 +0200
changeset 993
45f9decf4fb5
permissions
-rw-r--r--

8056129: AtomicInteger is treated as primitive number with optimistic compilation
Reviewed-by: jlaskey, lagergren

attila@993 1 /*
attila@993 2 * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
attila@993 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
attila@993 4 *
attila@993 5 * This code is free software; you can redistribute it and/or modify it
attila@993 6 * under the terms of the GNU General Public License version 2 only, as
attila@993 7 * published by the Free Software Foundation.
attila@993 8 *
attila@993 9 * This code is distributed in the hope that it will be useful, but WITHOUT
attila@993 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
attila@993 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
attila@993 12 * version 2 for more details (a copy is included in the LICENSE file that
attila@993 13 * accompanied this code).
attila@993 14 *
attila@993 15 * You should have received a copy of the GNU General Public License version
attila@993 16 * 2 along with this work; if not, write to the Free Software Foundation,
attila@993 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
attila@993 18 *
attila@993 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
attila@993 20 * or visit www.oracle.com if you need additional information or have any
attila@993 21 * questions.
attila@993 22 */
attila@993 23
attila@993 24 /**
attila@993 25 * JDK-8056129: AtomicInteger is treated as primitive number with optimistic compilation
attila@993 26 *
attila@993 27 * @test
attila@993 28 * @run
attila@993 29 */
attila@993 30
attila@993 31 var AtomicInteger = java.util.concurrent.atomic.AtomicInteger;
attila@993 32
attila@993 33 function getAtomic() {
attila@993 34 return new AtomicInteger()
attila@993 35 }
attila@993 36 var x = getAtomic()
attila@993 37 print(x instanceof AtomicInteger)
attila@993 38
attila@993 39 var a = []
attila@993 40 a.push(x)
attila@993 41 var y = a[0]
attila@993 42 print(y instanceof AtomicInteger)

mercurial