annotate src/share/vm/opto/mathexactnode.hpp @ 17716:cdb71841f4bc

6498581: ThreadInterruptTest3 produces wrong output on Windows Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set. Reviewed-by: acorn, kvn Contributed-by: david.holmes@oracle.com, yumin.qi@oracle.com
author minqi
date Wed, 26 Feb 2014 15:20:41 -0800
parents b957c650babb
children cd5d10655495
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
1 /*
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
4 *
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
7 * published by the Free Software Foundation.
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
8 *
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
13 * accompanied this code).
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
14 *
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
18 *
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
21 * questions.
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
22 *
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
23 */
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
24
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
25 #ifndef SHARE_VM_OPTO_MATHEXACTNODE_HPP
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
26 #define SHARE_VM_OPTO_MATHEXACTNODE_HPP
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
27
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
28 #include "opto/multnode.hpp"
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
29 #include "opto/node.hpp"
12888
4a2acfb16e97 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
rbackman
parents: 12323
diff changeset
30 #include "opto/subnode.hpp"
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
31 #include "opto/type.hpp"
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
32
12888
4a2acfb16e97 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
rbackman
parents: 12323
diff changeset
33 class BoolNode;
4a2acfb16e97 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
rbackman
parents: 12323
diff changeset
34 class IfNode;
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
35 class Node;
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
36
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
37 class PhaseGVN;
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
38 class PhaseTransform;
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
39
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
40 class MathExactNode : public MultiNode {
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
41 public:
12972
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
42 MathExactNode(Node* ctrl, Node* in1);
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
43 MathExactNode(Node* ctrl, Node* in1, Node* in2);
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
44 enum {
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
45 result_proj_node = 0,
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
46 flags_proj_node = 1
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
47 };
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
48 virtual int Opcode() const;
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
49 virtual Node* Identity(PhaseTransform* phase) { return this; }
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
50 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape) { return NULL; }
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
51 virtual const Type* Value(PhaseTransform* phase) const { return bottom_type(); }
13077
b957c650babb 8028207: assert(_outcnt==1) failed: not unique in compile.cpp
rbackman
parents: 12972
diff changeset
52 virtual uint hash() const { return NO_HASH; }
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
53 virtual bool is_CFG() const { return false; }
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
54 virtual uint ideal_reg() const { return NotAMachineReg; }
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
55
12888
4a2acfb16e97 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
rbackman
parents: 12323
diff changeset
56 ProjNode* result_node() const { return proj_out(result_proj_node); }
4a2acfb16e97 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
rbackman
parents: 12323
diff changeset
57 ProjNode* flags_node() const { return proj_out(flags_proj_node); }
4a2acfb16e97 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
rbackman
parents: 12323
diff changeset
58 Node* control_node() const;
4a2acfb16e97 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
rbackman
parents: 12323
diff changeset
59 Node* non_throwing_branch() const;
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
60 protected:
12888
4a2acfb16e97 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
rbackman
parents: 12323
diff changeset
61 IfNode* if_node() const;
4a2acfb16e97 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
rbackman
parents: 12323
diff changeset
62 BoolNode* bool_node() const;
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
63 Node* no_overflow(PhaseGVN *phase, Node* new_result);
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
64 };
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
65
12972
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
66 class MathExactINode : public MathExactNode {
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
67 public:
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
68 MathExactINode(Node* ctrl, Node* in1) : MathExactNode(ctrl, in1) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
69 MathExactINode(Node* ctrl, Node* in1, Node* in2) : MathExactNode(ctrl, in1, in2) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
70 virtual int Opcode() const;
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
71 virtual Node* match(const ProjNode* proj, const Matcher* m);
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
72 virtual const Type* bottom_type() const { return TypeTuple::INT_CC_PAIR; }
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
73 };
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
74
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
75 class MathExactLNode : public MathExactNode {
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
76 public:
12972
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
77 MathExactLNode(Node* ctrl, Node* in1) : MathExactNode(ctrl, in1) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
78 MathExactLNode(Node* ctrl, Node* in1, Node* in2) : MathExactNode(ctrl, in1, in2) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
79 virtual int Opcode() const;
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
80 virtual Node* match(const ProjNode* proj, const Matcher* m);
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
81 virtual const Type* bottom_type() const { return TypeTuple::LONG_CC_PAIR; }
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
82 };
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
83
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
84 class AddExactINode : public MathExactINode {
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
85 public:
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
86 AddExactINode(Node* ctrl, Node* in1, Node* in2) : MathExactINode(ctrl, in1, in2) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
87 virtual int Opcode() const;
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
88 virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
89 };
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
90
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
91 class AddExactLNode : public MathExactLNode {
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
92 public:
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
93 AddExactLNode(Node* ctrl, Node* in1, Node* in2) : MathExactLNode(ctrl, in1, in2) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
94 virtual int Opcode() const;
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
95 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
96 };
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
97
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
98 class SubExactINode : public MathExactINode {
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
99 public:
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
100 SubExactINode(Node* ctrl, Node* in1, Node* in2) : MathExactINode(ctrl, in1, in2) {}
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
101 virtual int Opcode() const;
12972
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
102 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
103 };
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
104
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
105 class SubExactLNode : public MathExactLNode {
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
106 public:
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
107 SubExactLNode(Node* ctrl, Node* in1, Node* in2) : MathExactLNode(ctrl, in1, in2) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
108 virtual int Opcode() const;
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
109 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
110 };
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
111
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
112 class NegExactINode : public MathExactINode {
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
113 public:
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
114 NegExactINode(Node* ctrl, Node* in1) : MathExactINode(ctrl, in1) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
115 virtual int Opcode() const;
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
116 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
117 };
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
118
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
119 class NegExactLNode : public MathExactLNode {
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
120 public:
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
121 NegExactLNode(Node* ctrl, Node* in1) : MathExactLNode(ctrl, in1) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
122 virtual int Opcode() const;
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
123 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
124 };
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
125
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
126 class MulExactINode : public MathExactINode {
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
127 public:
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
128 MulExactINode(Node* ctrl, Node* in1, Node* in2) : MathExactINode(ctrl, in1, in2) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
129 virtual int Opcode() const;
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
130 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
131 };
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
132
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
133 class MulExactLNode : public MathExactLNode {
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
134 public:
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
135 MulExactLNode(Node* ctrl, Node* in1, Node* in2) : MathExactLNode(ctrl, in1, in2) {}
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
136 virtual int Opcode() const;
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12888
diff changeset
137 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
138 };
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
139
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
140 class FlagsProjNode : public ProjNode {
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
141 public:
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
142 FlagsProjNode(Node* src, uint con) : ProjNode(src, con) {
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
143 init_class_id(Class_FlagsProj);
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
144 }
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
145
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
146 virtual int Opcode() const;
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
147 virtual bool is_CFG() const { return false; }
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
148 virtual const Type* bottom_type() const { return TypeInt::CC; }
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
149 virtual uint ideal_reg() const { return Op_RegFlags; }
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
150 };
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
151
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
152
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
153 #endif
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents:
diff changeset
154