Mercurial > hg > truffle
comparison src/share/vm/opto/mathexactnode.hpp @ 12888:4a2acfb16e97
8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
Reviewed-by: kvn, twisti
author | rbackman |
---|---|
date | Fri, 11 Oct 2013 12:06:14 +0200 |
parents | c9ccd7b85f20 |
children | 59e8ad757e19 |
comparison
equal
deleted
inserted
replaced
12887:1263c7e17e1c | 12888:4a2acfb16e97 |
---|---|
25 #ifndef SHARE_VM_OPTO_MATHEXACTNODE_HPP | 25 #ifndef SHARE_VM_OPTO_MATHEXACTNODE_HPP |
26 #define SHARE_VM_OPTO_MATHEXACTNODE_HPP | 26 #define SHARE_VM_OPTO_MATHEXACTNODE_HPP |
27 | 27 |
28 #include "opto/multnode.hpp" | 28 #include "opto/multnode.hpp" |
29 #include "opto/node.hpp" | 29 #include "opto/node.hpp" |
30 #include "opto/subnode.hpp" | |
30 #include "opto/type.hpp" | 31 #include "opto/type.hpp" |
31 | 32 |
33 class BoolNode; | |
34 class IfNode; | |
32 class Node; | 35 class Node; |
33 | 36 |
34 class PhaseGVN; | 37 class PhaseGVN; |
35 class PhaseTransform; | 38 class PhaseTransform; |
36 | 39 |
47 virtual const Type* Value(PhaseTransform* phase) const { return bottom_type(); } | 50 virtual const Type* Value(PhaseTransform* phase) const { return bottom_type(); } |
48 virtual uint hash() const { return Node::hash(); } | 51 virtual uint hash() const { return Node::hash(); } |
49 virtual bool is_CFG() const { return false; } | 52 virtual bool is_CFG() const { return false; } |
50 virtual uint ideal_reg() const { return NotAMachineReg; } | 53 virtual uint ideal_reg() const { return NotAMachineReg; } |
51 | 54 |
52 ProjNode* result_node() { return proj_out(result_proj_node); } | 55 ProjNode* result_node() const { return proj_out(result_proj_node); } |
53 ProjNode* flags_node() { return proj_out(flags_proj_node); } | 56 ProjNode* flags_node() const { return proj_out(flags_proj_node); } |
57 Node* control_node() const; | |
58 Node* non_throwing_branch() const; | |
54 protected: | 59 protected: |
60 IfNode* if_node() const; | |
61 BoolNode* bool_node() const; | |
55 Node* no_overflow(PhaseGVN *phase, Node* new_result); | 62 Node* no_overflow(PhaseGVN *phase, Node* new_result); |
56 }; | 63 }; |
57 | 64 |
58 class AddExactINode : public MathExactNode { | 65 class AddExactINode : public MathExactNode { |
59 public: | 66 public: |