Mercurial > hg > truffle
comparison src/share/vm/opto/memnode.hpp @ 7637:b30b3c2a0cf2
6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
Summary: Use SSE4.2 and AVX2 instructions for encodeArray intrinsic.
Reviewed-by: roland
author | kvn |
---|---|
date | Tue, 22 Jan 2013 15:34:16 -0800 |
parents | d804e148cff8 |
children | 6931f425c517 |
comparison
equal
deleted
inserted
replaced
7636:a7114d3d712e | 7637:b30b3c2a0cf2 |
---|---|
884 public: | 884 public: |
885 AryEqNode(Node* control, Node* char_array_mem, Node* s1, Node* s2): | 885 AryEqNode(Node* control, Node* char_array_mem, Node* s1, Node* s2): |
886 StrIntrinsicNode(control, char_array_mem, s1, s2) {}; | 886 StrIntrinsicNode(control, char_array_mem, s1, s2) {}; |
887 virtual int Opcode() const; | 887 virtual int Opcode() const; |
888 virtual const Type* bottom_type() const { return TypeInt::BOOL; } | 888 virtual const Type* bottom_type() const { return TypeInt::BOOL; } |
889 }; | |
890 | |
891 | |
892 //------------------------------EncodeISOArray-------------------------------- | |
893 // encode char[] to byte[] in ISO_8859_1 | |
894 class EncodeISOArrayNode: public Node { | |
895 public: | |
896 EncodeISOArrayNode(Node *control, Node* arymem, Node* s1, Node* s2, Node* c): Node(control, arymem, s1, s2, c) {}; | |
897 virtual int Opcode() const; | |
898 virtual bool depends_only_on_test() const { return false; } | |
899 virtual const Type* bottom_type() const { return TypeInt::INT; } | |
900 virtual const TypePtr* adr_type() const { return TypePtr::BOTTOM; } | |
901 virtual uint match_edge(uint idx) const; | |
902 virtual uint ideal_reg() const { return Op_RegI; } | |
903 virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); | |
904 virtual const Type *Value(PhaseTransform *phase) const; | |
889 }; | 905 }; |
890 | 906 |
891 //------------------------------MemBar----------------------------------------- | 907 //------------------------------MemBar----------------------------------------- |
892 // There are different flavors of Memory Barriers to match the Java Memory | 908 // There are different flavors of Memory Barriers to match the Java Memory |
893 // Model. Monitor-enter and volatile-load act as Aquires: no following ref | 909 // Model. Monitor-enter and volatile-load act as Aquires: no following ref |