Mercurial > hg > truffle
annotate truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/profiles/PrimitiveValueProfileTest.java @ 22530:4ba1aa33fda4
Run all tests with SeparateClassLoaderRunner to ensure package private methods are accessible even if the truffle.jar is on bootclasspath.
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Wed, 06 Jan 2016 13:52:35 +0100 |
parents | a63bda98cfdb |
children |
rev | line source |
---|---|
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
1 /* |
22501
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
2 * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. |
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
4 * |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
5 * This code is free software; you can redistribute it and/or modify it |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
6 * under the terms of the GNU General Public License version 2 only, as |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
7 * published by the Free Software Foundation. |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
8 * |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
12 * version 2 for more details (a copy is included in the LICENSE file that |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
13 * accompanied this code). |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
14 * |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License version |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
16 * 2 along with this work; if not, write to the Free Software Foundation, |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
18 * |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
21 * questions. |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
22 */ |
22501
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
23 package com.oracle.truffle.api.profiles; |
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
24 |
22157
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
25 import static org.hamcrest.CoreMatchers.is; |
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
26 import static org.junit.Assert.assertEquals; |
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
27 import static org.junit.Assert.assertFalse; |
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
28 import static org.junit.Assert.assertSame; |
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
29 import static org.junit.Assert.assertThat; |
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
30 import static org.junit.Assert.assertTrue; |
22425
b39b603e2a1e
Organize imports after rename.
Christian Humer <christian.humer@oracle.com>
parents:
22424
diff
changeset
|
31 |
22157
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
32 import org.junit.Before; |
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
33 import org.junit.Test; |
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
34 import org.junit.experimental.theories.DataPoint; |
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
35 import org.junit.experimental.theories.Theory; |
dc83cc1f94f2
Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21951
diff
changeset
|
36 import org.junit.runner.RunWith; |
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
37 |
22501
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
38 @SuppressWarnings("deprecation") |
22530
4ba1aa33fda4
Run all tests with SeparateClassLoaderRunner to ensure package private methods are accessible even if the truffle.jar is on bootclasspath.
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
22501
diff
changeset
|
39 @RunWith(SeparateClassloaderTestRunner.Theories.class) |
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
40 public class PrimitiveValueProfileTest { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
41 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
42 @DataPoint public static final String O1 = new String(); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
43 @DataPoint public static final String O2 = O1; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
44 @DataPoint public static final Object O3 = new Object(); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
45 @DataPoint public static final Object O4 = null; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
46 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
47 @DataPoint public static final byte B1 = Byte.MIN_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
48 @DataPoint public static final byte B2 = 0; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
49 @DataPoint public static final byte B3 = 14; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
50 @DataPoint public static final byte B4 = Byte.MAX_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
51 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
52 @DataPoint public static final short S1 = Short.MIN_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
53 @DataPoint public static final short S2 = 0; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
54 @DataPoint public static final short S3 = 14; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
55 @DataPoint public static final short S4 = Short.MAX_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
56 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
57 @DataPoint public static final int I1 = Integer.MIN_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
58 @DataPoint public static final int I2 = 0; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
59 @DataPoint public static final int I3 = 14; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
60 @DataPoint public static final int I4 = Integer.MAX_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
61 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
62 @DataPoint public static final long L1 = Long.MIN_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
63 @DataPoint public static final long L2 = 0; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
64 @DataPoint public static final long L3 = 14; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
65 @DataPoint public static final long L4 = Long.MAX_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
66 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
67 @DataPoint public static final float F1 = Float.MIN_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
68 @DataPoint public static final float F2 = -0.0f; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
69 @DataPoint public static final float F3 = +0.0f; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
70 @DataPoint public static final float F4 = 14.5f; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
71 @DataPoint public static final float F5 = Float.MAX_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
72 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
73 @DataPoint public static final double D1 = Double.MIN_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
74 @DataPoint public static final double D2 = -0.0; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
75 @DataPoint public static final double D3 = +0.0; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
76 @DataPoint public static final double D4 = 14.5; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
77 @DataPoint public static final double D5 = Double.MAX_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
78 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
79 @DataPoint public static final boolean T1 = false; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
80 @DataPoint public static final boolean T2 = true; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
81 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
82 @DataPoint public static final char C1 = Character.MIN_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
83 @DataPoint public static final char C2 = 0; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
84 @DataPoint public static final char C3 = 14; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
85 @DataPoint public static final char C4 = Character.MAX_VALUE; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
86 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
87 private static final float FLOAT_DELTA = 0.00001f; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
88 private static final double DOUBLE_DELTA = 0.00001; |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
89 |
22501
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
90 private PrimitiveValueProfile.Enabled profile; |
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
91 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
92 @Before |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
93 public void create() { |
22501
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
94 profile = (PrimitiveValueProfile.Enabled) PrimitiveValueProfile.Enabled.create(); |
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
95 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
96 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
97 @Test |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
98 public void testInitial() { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
99 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
100 assertThat(profile.isUninitialized(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
101 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
102 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
103 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
104 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
105 public void testProfileOneObject(Object value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
106 Object result = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
107 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
108 assertThat(result, is(value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
109 assertEquals(profile.getCachedValue(), value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
110 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
111 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
112 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
113 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
114 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
115 public void testProfileTwoObject(Object value0, Object value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
116 Object result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
117 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
118 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
119 assertThat(result0, is(value0)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
120 assertThat(result1, is(value1)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
121 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
122 if (value0 == value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
123 assertThat(profile.getCachedValue(), is(value0)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
124 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
125 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
126 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
127 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
128 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
129 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
130 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
131 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
132 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
133 public void testProfileThreeObject(Object value0, Object value1, Object value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
134 Object result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
135 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
136 Object result2 = profile.profile(value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
137 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
138 assertThat(result0, is(value0)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
139 assertThat(result1, is(value1)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
140 assertThat(result2, is(value2)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
141 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
142 if (value0 == value1 && value1 == value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
143 assertThat(profile.getCachedValue(), is(value0)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
144 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
145 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
146 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
147 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
148 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
149 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
150 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
151 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
152 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
153 public void testProfileOneByte(byte value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
154 byte result = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
155 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
156 assertThat(result, is(value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
157 assertEquals(profile.getCachedValue(), value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
158 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
159 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
160 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
161 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
162 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
163 public void testProfileTwoByte(byte value0, byte value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
164 byte result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
165 byte result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
166 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
167 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
168 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
169 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
170 if (value0 == value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
171 assertTrue(profile.getCachedValue() instanceof Byte); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
172 assertEquals((byte) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
173 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
174 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
175 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
176 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
177 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
178 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
179 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
180 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
181 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
182 public void testProfileThreeByte(byte value0, byte value1, byte value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
183 byte result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
184 byte result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
185 byte result2 = profile.profile(value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
186 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
187 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
188 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
189 assertEquals(result2, value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
190 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
191 if (value0 == value1 && value1 == value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
192 assertTrue(profile.getCachedValue() instanceof Byte); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
193 assertEquals((byte) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
194 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
195 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
196 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
197 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
198 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
199 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
200 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
201 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
202 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
203 public void testProfileOneShort(short value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
204 short result = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
205 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
206 assertThat(result, is(value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
207 assertEquals(profile.getCachedValue(), value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
208 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
209 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
210 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
211 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
212 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
213 public void testProfileTwoShort(short value0, short value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
214 short result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
215 short result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
216 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
217 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
218 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
219 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
220 if (value0 == value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
221 assertTrue(profile.getCachedValue() instanceof Short); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
222 assertEquals((short) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
223 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
224 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
225 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
226 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
227 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
228 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
229 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
230 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
231 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
232 public void testProfileThreeShort(short value0, short value1, short value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
233 short result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
234 short result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
235 short result2 = profile.profile(value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
236 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
237 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
238 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
239 assertEquals(result2, value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
240 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
241 if (value0 == value1 && value1 == value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
242 assertTrue(profile.getCachedValue() instanceof Short); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
243 assertEquals((short) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
244 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
245 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
246 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
247 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
248 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
249 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
250 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
251 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
252 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
253 public void testProfileOneInteger(int value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
254 int result = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
255 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
256 assertThat(result, is(value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
257 assertEquals(profile.getCachedValue(), value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
258 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
259 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
260 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
261 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
262 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
263 public void testProfileTwoInteger(int value0, int value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
264 int result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
265 int result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
266 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
267 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
268 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
269 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
270 if (value0 == value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
271 assertTrue(profile.getCachedValue() instanceof Integer); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
272 assertEquals((int) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
273 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
274 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
275 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
276 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
277 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
278 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
279 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
280 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
281 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
282 public void testProfileThreeInteger(int value0, int value1, int value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
283 int result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
284 int result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
285 int result2 = profile.profile(value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
286 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
287 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
288 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
289 assertEquals(result2, value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
290 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
291 if (value0 == value1 && value1 == value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
292 assertTrue(profile.getCachedValue() instanceof Integer); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
293 assertEquals((int) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
294 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
295 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
296 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
297 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
298 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
299 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
300 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
301 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
302 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
303 public void testProfileOneLong(long value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
304 long result = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
305 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
306 assertThat(result, is(value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
307 assertEquals(profile.getCachedValue(), value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
308 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
309 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
310 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
311 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
312 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
313 public void testProfileTwoLong(long value0, long value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
314 long result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
315 long result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
316 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
317 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
318 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
319 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
320 if (value0 == value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
321 assertTrue(profile.getCachedValue() instanceof Long); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
322 assertEquals((long) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
323 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
324 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
325 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
326 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
327 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
328 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
329 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
330 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
331 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
332 public void testProfileThreeLong(long value0, long value1, long value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
333 long result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
334 long result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
335 long result2 = profile.profile(value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
336 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
337 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
338 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
339 assertEquals(result2, value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
340 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
341 if (value0 == value1 && value1 == value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
342 assertTrue(profile.getCachedValue() instanceof Long); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
343 assertEquals((long) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
344 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
345 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
346 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
347 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
348 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
349 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
350 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
351 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
352 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
353 public void testProfileOneFloat(float value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
354 float result = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
355 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
356 assertThat(result, is(value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
357 assertEquals(profile.getCachedValue(), value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
358 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
359 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
360 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
361 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
362 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
363 public void testProfileTwoFloat(float value0, float value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
364 float result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
365 float result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
366 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
367 assertEquals(result0, value0, FLOAT_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
368 assertEquals(result1, value1, FLOAT_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
369 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
370 if (PrimitiveValueProfile.exactCompare(value0, value1)) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
371 assertTrue(profile.getCachedValue() instanceof Float); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
372 assertEquals((float) profile.getCachedValue(), value0, FLOAT_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
373 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
374 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
375 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
376 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
377 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
378 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
379 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
380 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
381 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
382 public void testProfileThreeFloat(float value0, float value1, float value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
383 float result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
384 float result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
385 float result2 = profile.profile(value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
386 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
387 assertEquals(result0, value0, FLOAT_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
388 assertEquals(result1, value1, FLOAT_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
389 assertEquals(result2, value2, FLOAT_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
390 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
391 if (PrimitiveValueProfile.exactCompare(value0, value1) && PrimitiveValueProfile.exactCompare(value1, value2)) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
392 assertTrue(profile.getCachedValue() instanceof Float); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
393 assertEquals((float) profile.getCachedValue(), value0, FLOAT_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
394 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
395 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
396 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
397 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
398 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
399 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
400 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
401 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
402 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
403 public void testProfileOneDouble(double value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
404 double result = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
405 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
406 assertThat(result, is(value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
407 assertEquals(profile.getCachedValue(), value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
408 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
409 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
410 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
411 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
412 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
413 public void testProfileTwoDouble(double value0, double value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
414 double result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
415 double result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
416 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
417 assertEquals(result0, value0, DOUBLE_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
418 assertEquals(result1, value1, DOUBLE_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
419 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
420 if (PrimitiveValueProfile.exactCompare(value0, value1)) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
421 assertTrue(profile.getCachedValue() instanceof Double); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
422 assertEquals((double) profile.getCachedValue(), value0, DOUBLE_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
423 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
424 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
425 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
426 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
427 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
428 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
429 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
430 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
431 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
432 public void testProfileThreeDouble(double value0, double value1, double value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
433 double result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
434 double result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
435 double result2 = profile.profile(value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
436 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
437 assertEquals(result0, value0, DOUBLE_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
438 assertEquals(result1, value1, DOUBLE_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
439 assertEquals(result2, value2, DOUBLE_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
440 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
441 if (PrimitiveValueProfile.exactCompare(value0, value1) && PrimitiveValueProfile.exactCompare(value1, value2)) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
442 assertTrue(profile.getCachedValue() instanceof Double); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
443 assertEquals((double) profile.getCachedValue(), value0, DOUBLE_DELTA); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
444 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
445 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
446 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
447 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
448 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
449 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
450 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
451 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
452 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
453 public void testProfileOneBoolean(boolean value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
454 boolean result = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
455 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
456 assertThat(result, is(value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
457 assertEquals(profile.getCachedValue(), value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
458 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
459 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
460 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
461 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
462 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
463 public void testProfileTwoBoolean(boolean value0, boolean value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
464 boolean result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
465 boolean result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
466 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
467 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
468 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
469 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
470 if (value0 == value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
471 assertTrue(profile.getCachedValue() instanceof Boolean); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
472 assertEquals((boolean) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
473 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
474 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
475 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
476 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
477 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
478 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
479 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
480 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
481 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
482 public void testProfileThreeBoolean(boolean value0, boolean value1, boolean value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
483 boolean result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
484 boolean result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
485 boolean result2 = profile.profile(value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
486 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
487 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
488 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
489 assertEquals(result2, value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
490 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
491 if (value0 == value1 && value1 == value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
492 assertTrue(profile.getCachedValue() instanceof Boolean); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
493 assertEquals((boolean) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
494 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
495 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
496 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
497 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
498 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
499 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
500 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
501 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
502 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
503 public void testProfileOneChar(char value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
504 char result = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
505 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
506 assertThat(result, is(value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
507 assertEquals(profile.getCachedValue(), value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
508 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
509 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
510 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
511 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
512 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
513 public void testProfileTwoChar(char value0, char value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
514 char result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
515 char result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
516 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
517 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
518 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
519 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
520 if (value0 == value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
521 assertTrue(profile.getCachedValue() instanceof Character); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
522 assertEquals((char) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
523 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
524 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
525 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
526 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
527 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
528 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
529 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
530 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
531 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
532 public void testProfileThreeChar(char value0, char value1, char value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
533 char result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
534 char result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
535 char result2 = profile.profile(value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
536 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
537 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
538 assertEquals(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
539 assertEquals(result2, value2); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
540 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
541 if (value0 == value1 && value1 == value2) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
542 assertTrue(profile.getCachedValue() instanceof Character); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
543 assertEquals((char) profile.getCachedValue(), value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
544 assertThat(profile.isGeneric(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
545 } else { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
546 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
547 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
548 assertThat(profile.isUninitialized(), is(false)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
549 profile.toString(); // test that it is not crashing |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
550 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
551 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
552 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
553 public void testWithBoxedBoxedByte(byte value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
554 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
555 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
556 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
557 assertTrue(result0 instanceof Byte); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
558 assertEquals((byte) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
559 assertTrue(result1 instanceof Byte); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
560 assertEquals((byte) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
561 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
562 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
563 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
564 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
565 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
566 public void testWithUnboxedBoxedByte(byte value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
567 byte result0 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
568 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
569 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
570 assertEquals(result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
571 assertTrue(result1 instanceof Byte); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
572 assertEquals((byte) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
573 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
574 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
575 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
576 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
577 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
578 public void testWithBoxedUnboxedByte(byte value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
579 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
580 byte result1 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
581 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
582 assertTrue(result0 instanceof Byte); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
583 assertEquals((byte) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
584 assertEquals(result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
585 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
586 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
587 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
588 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
589 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
590 public void testWithBoxedBoxedShort(short value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
591 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
592 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
593 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
594 assertTrue(result0 instanceof Short); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
595 assertEquals((short) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
596 assertTrue(result1 instanceof Short); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
597 assertEquals((short) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
598 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
599 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
600 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
601 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
602 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
603 public void testWithUnboxedBoxedShort(short value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
604 short result0 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
605 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
606 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
607 assertEquals(result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
608 assertTrue(result1 instanceof Short); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
609 assertEquals((short) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
610 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
611 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
612 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
613 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
614 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
615 public void testWithBoxedUnboxedShort(short value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
616 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
617 short result1 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
618 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
619 assertTrue(result0 instanceof Short); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
620 assertEquals((short) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
621 assertEquals(result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
622 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
623 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
624 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
625 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
626 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
627 public void testWithBoxedBoxedInt(int value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
628 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
629 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
630 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
631 assertTrue(result0 instanceof Integer); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
632 assertEquals((int) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
633 assertTrue(result1 instanceof Integer); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
634 assertEquals((int) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
635 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
636 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
637 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
638 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
639 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
640 public void testWithUnboxedBoxedInt(int value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
641 int result0 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
642 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
643 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
644 assertEquals(result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
645 assertTrue(result1 instanceof Integer); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
646 assertEquals((int) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
647 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
648 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
649 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
650 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
651 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
652 public void testWithBoxedUnboxedInt(int value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
653 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
654 int result1 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
655 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
656 assertTrue(result0 instanceof Integer); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
657 assertEquals((int) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
658 assertEquals(result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
659 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
660 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
661 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
662 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
663 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
664 public void testWithBoxedBoxedLong(long value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
665 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
666 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
667 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
668 assertTrue(result0 instanceof Long); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
669 assertEquals((long) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
670 assertTrue(result1 instanceof Long); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
671 assertEquals((long) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
672 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
673 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
674 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
675 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
676 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
677 public void testWithUnboxedBoxedLong(long value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
678 long result0 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
679 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
680 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
681 assertEquals(result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
682 assertTrue(result1 instanceof Long); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
683 assertEquals((long) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
684 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
685 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
686 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
687 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
688 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
689 public void testWithBoxedUnboxedLong(long value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
690 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
691 long result1 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
692 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
693 assertTrue(result0 instanceof Long); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
694 assertEquals((long) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
695 assertEquals(result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
696 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
697 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
698 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
699 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
700 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
701 public void testWithBoxedBoxedFloat(float value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
702 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
703 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
704 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
705 assertTrue(result0 instanceof Float); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
706 assertTrue(PrimitiveValueProfile.exactCompare((float) result0, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
707 assertTrue(result1 instanceof Float); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
708 assertTrue(PrimitiveValueProfile.exactCompare((float) result1, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
709 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
710 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
711 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
712 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
713 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
714 public void testWithUnboxedBoxedFloat(float value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
715 float result0 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
716 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
717 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
718 assertTrue(PrimitiveValueProfile.exactCompare(result0, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
719 assertTrue(result1 instanceof Float); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
720 assertTrue(PrimitiveValueProfile.exactCompare((float) result1, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
721 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
722 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
723 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
724 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
725 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
726 public void testWithBoxedUnboxedFloat(float value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
727 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
728 float result1 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
729 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
730 assertTrue(result0 instanceof Float); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
731 assertTrue(PrimitiveValueProfile.exactCompare((float) result0, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
732 assertTrue(PrimitiveValueProfile.exactCompare(result1, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
733 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
734 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
735 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
736 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
737 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
738 public void testWithBoxedBoxedDouble(double value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
739 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
740 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
741 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
742 assertTrue(result0 instanceof Double); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
743 assertTrue(PrimitiveValueProfile.exactCompare((double) result0, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
744 assertTrue(result1 instanceof Double); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
745 assertTrue(PrimitiveValueProfile.exactCompare((double) result1, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
746 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
747 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
748 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
749 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
750 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
751 public void testWithUnboxedBoxedDouble(double value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
752 double result0 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
753 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
754 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
755 assertTrue(PrimitiveValueProfile.exactCompare(result0, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
756 assertTrue(result1 instanceof Double); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
757 assertTrue(PrimitiveValueProfile.exactCompare((double) result1, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
758 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
759 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
760 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
761 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
762 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
763 public void testWithBoxedUnboxedDouble(double value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
764 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
765 double result1 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
766 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
767 assertTrue(result0 instanceof Double); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
768 assertTrue(PrimitiveValueProfile.exactCompare((double) result0, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
769 assertTrue(PrimitiveValueProfile.exactCompare(result1, value)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
770 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
771 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
772 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
773 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
774 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
775 public void testWithBoxedBoxedBoolean(boolean value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
776 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
777 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
778 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
779 assertTrue(result0 instanceof Boolean); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
780 assertEquals((boolean) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
781 assertTrue(result1 instanceof Boolean); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
782 assertEquals((boolean) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
783 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
784 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
785 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
786 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
787 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
788 public void testWithUnboxedBoxedBoolean(boolean value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
789 boolean result0 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
790 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
791 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
792 assertEquals(result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
793 assertTrue(result1 instanceof Boolean); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
794 assertEquals((boolean) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
795 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
796 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
797 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
798 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
799 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
800 public void testWithBoxedUnboxedBoolean(boolean value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
801 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
802 boolean result1 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
803 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
804 assertTrue(result0 instanceof Boolean); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
805 assertEquals((boolean) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
806 assertEquals(result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
807 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
808 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
809 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
810 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
811 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
812 public void testWithBoxedBoxedChar(char value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
813 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
814 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
815 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
816 assertTrue(result0 instanceof Character); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
817 assertEquals((char) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
818 assertTrue(result1 instanceof Character); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
819 assertEquals((char) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
820 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
821 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
822 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
823 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
824 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
825 public void testWithUnboxedBoxedChar(char value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
826 char result0 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
827 Object result1 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
828 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
829 assertEquals(result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
830 assertTrue(result1 instanceof Character); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
831 assertEquals((char) result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
832 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
833 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
834 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
835 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
836 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
837 public void testWithBoxedUnboxedCharacter(char value) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
838 Object result0 = profile.profile((Object) value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
839 char result1 = profile.profile(value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
840 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
841 assertTrue(result0 instanceof Character); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
842 assertEquals((char) result0, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
843 assertEquals(result1, value); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
844 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
845 assertFalse(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
846 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
847 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
848 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
849 public void testWithByteThenObject(byte value0, Object value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
850 byte result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
851 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
852 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
853 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
854 assertSame(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
855 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
856 assertTrue(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
857 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
858 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
859 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
860 public void testWithShortThenObject(short value0, Object value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
861 short result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
862 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
863 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
864 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
865 assertSame(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
866 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
867 assertTrue(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
868 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
869 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
870 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
871 public void testWithIntThenObject(int value0, Object value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
872 int result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
873 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
874 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
875 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
876 assertSame(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
877 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
878 assertTrue(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
879 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
880 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
881 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
882 public void testWithLongThenObject(long value0, Object value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
883 long result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
884 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
885 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
886 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
887 assertSame(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
888 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
889 assertTrue(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
890 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
891 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
892 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
893 public void testWithFloatThenObject(float value0, Object value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
894 float result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
895 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
896 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
897 assertTrue(PrimitiveValueProfile.exactCompare(result0, value0)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
898 assertSame(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
899 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
900 assertTrue(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
901 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
902 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
903 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
904 public void testWithDoubleThenObject(double value0, Object value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
905 double result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
906 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
907 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
908 assertTrue(PrimitiveValueProfile.exactCompare(result0, value0)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
909 assertSame(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
910 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
911 assertTrue(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
912 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
913 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
914 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
915 public void testWithBooleanThenObject(boolean value0, Object value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
916 boolean result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
917 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
918 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
919 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
920 assertSame(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
921 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
922 assertTrue(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
923 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
924 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
925 @Theory |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
926 public void testWithCharThenObject(char value0, Object value1) { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
927 char result0 = profile.profile(value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
928 Object result1 = profile.profile(value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
929 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
930 assertEquals(result0, value0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
931 assertSame(result1, value1); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
932 assertFalse(profile.isUninitialized()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
933 assertTrue(profile.isGeneric()); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
934 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
935 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
936 @Test |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
937 public void testNegativeZeroFloat() { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
938 profile.profile(-0.0f); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
939 profile.profile(+0.0f); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
940 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
941 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
942 |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
943 @Test |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
944 public void testNegativeZeroDouble() { |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
945 profile.profile(-0.0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
946 profile.profile(+0.0); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
947 assertThat(profile.isGeneric(), is(true)); |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
948 } |
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
949 |
22501
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
950 @Test |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
951 public void testDisabled() { |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
952 PrimitiveValueProfile.Disabled p = (PrimitiveValueProfile.Disabled) PrimitiveValueProfile.Disabled.INSTANCE; |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
953 assertThat(p.profile(O1), is(O1)); |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
954 assertThat(p.profile(B1), is(B1)); |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
955 assertThat(p.profile(S1), is(S1)); |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
956 assertThat(p.profile(I1), is(I1)); |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
957 assertThat(p.profile(L1), is(L1)); |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
958 assertThat(p.profile(F1), is(F1)); |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
959 assertThat(p.profile(D1), is(D1)); |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
960 assertThat(p.profile(T1), is(T1)); |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
961 assertThat(p.profile(C1), is(C1)); |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
962 p.toString(); // test that it is not crashing |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
963 } |
a63bda98cfdb
Extract profiles into separate package. Add isProfilingEnabled in TruffleRuntime to disable profiling in the default runtime; Add low overhead profiles for primitives; Add LoopConditionProfile; Profile footprint/threadsafety improvements; Make toString implementations more consistent; Greatly enhanced javadoc documentation for profiles; Deprecate old profiles
Christian Humer <christian.humer@oracle.com>
parents:
22425
diff
changeset
|
964 |
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
diff
changeset
|
965 } |