--- old/src/share/vm/opto/subnode.hpp 2010-04-13 11:53:40.000000000 -0700 +++ new/src/share/vm/opto/subnode.hpp 2010-04-13 11:53:39.000000000 -0700 @@ -509,3 +509,23 @@ const Type *bottom_type() const { return TypeLong::LONG; } virtual uint ideal_reg() const { return Op_RegL; } }; + +//-------------------------------ReverseBytesCNode-------------------------------- +// reverse bytes of a char +class ReverseBytesCNode : public Node { +public: + ReverseBytesCNode(Node *c, Node *in1) : Node(c, in1) {} + virtual int Opcode() const; + const Type *bottom_type() const { return TypeInt::CHAR; } + virtual uint ideal_reg() const { return Op_RegI; } +}; + +//-------------------------------ReverseBytesSNode-------------------------------- +// reverse bytes of a short +class ReverseBytesSNode : public Node { +public: + ReverseBytesSNode(Node *c, Node *in1) : Node(c, in1) {} + virtual int Opcode() const; + const Type *bottom_type() const { return TypeInt::SHORT; } + virtual uint ideal_reg() const { return Op_RegI; } +};