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: