comparison src/share/vm/opto/superword.hpp @ 18136:52b8826ef035

Backout wrong change in 2a69cbe850a8
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 21 Oct 2014 10:20:33 +0200
parents 2a69cbe850a8
children be896a1983c0
comparison
equal deleted inserted replaced
18135:1700d12ba0ad 18136:52b8826ef035
197 const Type* _velt_type; // vector element type 197 const Type* _velt_type; // vector element type
198 Node_List* _my_pack; // pack containing this node 198 Node_List* _my_pack; // pack containing this node
199 199
200 SWNodeInfo() : _alignment(-1), _depth(0), _velt_type(NULL), _my_pack(NULL) {} 200 SWNodeInfo() : _alignment(-1), _depth(0), _velt_type(NULL), _my_pack(NULL) {}
201 static const SWNodeInfo initial; 201 static const SWNodeInfo initial;
202 };
203
204 // Graal: OrderedPair is moved up to deal with compilation issues on Windows
205 //------------------------------OrderedPair---------------------------
206 // Ordered pair of Node*.
207 class OrderedPair VALUE_OBJ_CLASS_SPEC {
208 protected:
209 Node* _p1;
210 Node* _p2;
211 public:
212 OrderedPair() : _p1(NULL), _p2(NULL) {}
213 OrderedPair(Node* p1, Node* p2) {
214 if (p1->_idx < p2->_idx) {
215 _p1 = p1; _p2 = p2;
216 } else {
217 _p1 = p2; _p2 = p1;
218 }
219 }
220
221 bool operator==(const OrderedPair &rhs) {
222 return _p1 == rhs._p1 && _p2 == rhs._p2;
223 }
224 void print() { tty->print(" (%d, %d)", _p1->_idx, _p2->_idx); }
225
226 static const OrderedPair initial;
202 }; 227 };
203 228
204 // -----------------------------SuperWord--------------------------------- 229 // -----------------------------SuperWord---------------------------------
205 // Transforms scalar operations into packed (superword) operations. 230 // Transforms scalar operations into packed (superword) operations.
206 class SuperWord : public ResourceObj { 231 class SuperWord : public ResourceObj {
502 static bool comparable(int cmp) { return cmp < NotComparable; } 527 static bool comparable(int cmp) { return cmp < NotComparable; }
503 528
504 void print(); 529 void print();
505 }; 530 };
506 531
507
508 //------------------------------OrderedPair---------------------------
509 // Ordered pair of Node*.
510 class OrderedPair VALUE_OBJ_CLASS_SPEC {
511 protected:
512 Node* _p1;
513 Node* _p2;
514 public:
515 OrderedPair() : _p1(NULL), _p2(NULL) {}
516 OrderedPair(Node* p1, Node* p2) {
517 if (p1->_idx < p2->_idx) {
518 _p1 = p1; _p2 = p2;
519 } else {
520 _p1 = p2; _p2 = p1;
521 }
522 }
523
524 bool operator==(const OrderedPair &rhs) {
525 return _p1 == rhs._p1 && _p2 == rhs._p2;
526 }
527 void print() { tty->print(" (%d, %d)", _p1->_idx, _p2->_idx); }
528
529 static const OrderedPair initial;
530 };
531
532 #endif // SHARE_VM_OPTO_SUPERWORD_HPP 532 #endif // SHARE_VM_OPTO_SUPERWORD_HPP