mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-23 04:24:49 +02:00
6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
Use SSE4.2 and AVX2 instructions for encodeArray intrinsic. Reviewed-by: roland
This commit is contained in:
parent
44cdae9a57
commit
9e0c61f822
19 changed files with 663 additions and 12 deletions
|
@ -888,6 +888,22 @@ public:
|
|||
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; }
|
||||
virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
|
||||
virtual const Type *Value(PhaseTransform *phase) const;
|
||||
};
|
||||
|
||||
//------------------------------MemBar-----------------------------------------
|
||||
// There are different flavors of Memory Barriers to match the Java Memory
|
||||
// Model. Monitor-enter and volatile-load act as Aquires: no following ref
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue