< prev index next >

src/share/vm/opto/intrinsicnode.hpp

Print this page

        

*** 35,45 **** // hit (cache is checked with exposed code in gen_subtype_check()). Return // not zero for a miss or zero for a hit. class PartialSubtypeCheckNode : public Node { public: PartialSubtypeCheckNode(Node* c, Node* sub, Node* super) : Node(c,sub,super) {} ! virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeRawPtr::BOTTOM; } virtual uint ideal_reg() const { return Op_RegP; } }; //------------------------------StrIntrinsic------------------------------- --- 35,45 ---- // hit (cache is checked with exposed code in gen_subtype_check()). Return // not zero for a miss or zero for a hit. class PartialSubtypeCheckNode : public Node { public: PartialSubtypeCheckNode(Node* c, Node* sub, Node* super) : Node(c,sub,super) {} ! virtual uint Opcode() const; virtual const Type* bottom_type() const { return TypeRawPtr::BOTTOM; } virtual uint ideal_reg() const { return Op_RegP; } }; //------------------------------StrIntrinsic-------------------------------
*** 85,135 **** class StrCompNode: public StrIntrinsicNode { public: StrCompNode(Node* control, Node* char_array_mem, Node* s1, Node* c1, Node* s2, Node* c2, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, c1, s2, c2, encoding) {}; ! virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } }; //------------------------------StrEquals------------------------------------- class StrEqualsNode: public StrIntrinsicNode { public: StrEqualsNode(Node* control, Node* char_array_mem, Node* s1, Node* s2, Node* c, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, s2, c, encoding) {}; ! virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeInt::BOOL; } }; //------------------------------StrIndexOf------------------------------------- class StrIndexOfNode: public StrIntrinsicNode { public: StrIndexOfNode(Node* control, Node* char_array_mem, Node* s1, Node* c1, Node* s2, Node* c2, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, c1, s2, c2, encoding) {}; ! virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } }; //------------------------------StrIndexOfChar------------------------------------- class StrIndexOfCharNode: public StrIntrinsicNode { public: StrIndexOfCharNode(Node* control, Node* char_array_mem, Node* s1, Node* c1, Node* c, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, c1, c, encoding) {}; ! virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } }; //--------------------------StrCompressedCopy------------------------------- class StrCompressedCopyNode: public StrIntrinsicNode { public: StrCompressedCopyNode(Node* control, Node* arymem, Node* s1, Node* s2, Node* c): StrIntrinsicNode(control, arymem, s1, s2, c, none) {}; ! virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } virtual const TypePtr* adr_type() const { return TypePtr::BOTTOM; } virtual Node* Ideal(PhaseGVN* phase, bool can_reshape); }; --- 85,135 ---- class StrCompNode: public StrIntrinsicNode { public: StrCompNode(Node* control, Node* char_array_mem, Node* s1, Node* c1, Node* s2, Node* c2, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, c1, s2, c2, encoding) {}; ! virtual uint Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } }; //------------------------------StrEquals------------------------------------- class StrEqualsNode: public StrIntrinsicNode { public: StrEqualsNode(Node* control, Node* char_array_mem, Node* s1, Node* s2, Node* c, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, s2, c, encoding) {}; ! virtual uint Opcode() const; virtual const Type* bottom_type() const { return TypeInt::BOOL; } }; //------------------------------StrIndexOf------------------------------------- class StrIndexOfNode: public StrIntrinsicNode { public: StrIndexOfNode(Node* control, Node* char_array_mem, Node* s1, Node* c1, Node* s2, Node* c2, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, c1, s2, c2, encoding) {}; ! virtual uint Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } }; //------------------------------StrIndexOfChar------------------------------------- class StrIndexOfCharNode: public StrIntrinsicNode { public: StrIndexOfCharNode(Node* control, Node* char_array_mem, Node* s1, Node* c1, Node* c, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, c1, c, encoding) {}; ! virtual uint Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } }; //--------------------------StrCompressedCopy------------------------------- class StrCompressedCopyNode: public StrIntrinsicNode { public: StrCompressedCopyNode(Node* control, Node* arymem, Node* s1, Node* s2, Node* c): StrIntrinsicNode(control, arymem, s1, s2, c, none) {}; ! virtual uint Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } virtual const TypePtr* adr_type() const { return TypePtr::BOTTOM; } virtual Node* Ideal(PhaseGVN* phase, bool can_reshape); };
*** 137,147 **** class StrInflatedCopyNode: public StrIntrinsicNode { public: StrInflatedCopyNode(Node* control, Node* arymem, Node* s1, Node* s2, Node* c): StrIntrinsicNode(control, arymem, s1, s2, c, none) {}; ! virtual int Opcode() const; virtual const Type* bottom_type() const { return Type::MEMORY; } virtual const TypePtr* adr_type() const { return TypePtr::BOTTOM; } virtual Node* Ideal(PhaseGVN* phase, bool can_reshape); }; --- 137,147 ---- class StrInflatedCopyNode: public StrIntrinsicNode { public: StrInflatedCopyNode(Node* control, Node* arymem, Node* s1, Node* s2, Node* c): StrIntrinsicNode(control, arymem, s1, s2, c, none) {}; ! virtual uint Opcode() const; virtual const Type* bottom_type() const { return Type::MEMORY; } virtual const TypePtr* adr_type() const { return TypePtr::BOTTOM; } virtual Node* Ideal(PhaseGVN* phase, bool can_reshape); };
*** 149,178 **** class AryEqNode: public StrIntrinsicNode { public: AryEqNode(Node* control, Node* char_array_mem, Node* s1, Node* s2, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, s2, encoding) {}; ! virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeInt::BOOL; } }; //------------------------------HasNegatives--------------------------------- class HasNegativesNode: public StrIntrinsicNode { public: HasNegativesNode(Node* control, Node* char_array_mem, Node* s1, Node* c1): StrIntrinsicNode(control, char_array_mem, s1, c1, none) {}; ! virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeInt::BOOL; } }; //------------------------------EncodeISOArray-------------------------------- // encode char[] to byte[] in ISO_8859_1 class EncodeISOArrayNode: public Node { public: EncodeISOArrayNode(Node* control, Node* arymem, Node* s1, Node* s2, Node* c): Node(control, arymem, s1, s2, c) {}; ! virtual int Opcode() const; virtual bool depends_only_on_test() const { return false; } virtual const Type* bottom_type() const { return TypeInt::INT; } virtual const TypePtr* adr_type() const { return TypePtr::BOTTOM; } virtual uint match_edge(uint idx) const; virtual uint ideal_reg() const { return Op_RegI; } --- 149,178 ---- class AryEqNode: public StrIntrinsicNode { public: AryEqNode(Node* control, Node* char_array_mem, Node* s1, Node* s2, ArgEncoding encoding): StrIntrinsicNode(control, char_array_mem, s1, s2, encoding) {}; ! virtual uint Opcode() const; virtual const Type* bottom_type() const { return TypeInt::BOOL; } }; //------------------------------HasNegatives--------------------------------- class HasNegativesNode: public StrIntrinsicNode { public: HasNegativesNode(Node* control, Node* char_array_mem, Node* s1, Node* c1): StrIntrinsicNode(control, char_array_mem, s1, c1, none) {}; ! virtual uint Opcode() const; virtual const Type* bottom_type() const { return TypeInt::BOOL; } }; //------------------------------EncodeISOArray-------------------------------- // encode char[] to byte[] in ISO_8859_1 class EncodeISOArrayNode: public Node { public: EncodeISOArrayNode(Node* control, Node* arymem, Node* s1, Node* s2, Node* c): Node(control, arymem, s1, s2, c) {}; ! virtual uint Opcode() const; virtual bool depends_only_on_test() const { return false; } virtual const Type* bottom_type() const { return TypeInt::INT; } virtual const TypePtr* adr_type() const { return TypePtr::BOTTOM; } virtual uint match_edge(uint idx) const; virtual uint ideal_reg() const { return Op_RegI; }
< prev index next >