comparison src/share/vm/opto/vectornode.cpp @ 23055:c1c199dde5c9

8077504: Unsafe load can loose control dependency and cause crash Summary: Node::depends_only_on_test() should return false for Unsafe loads Reviewed-by: kvn, adinn
author roland
date Wed, 03 Jun 2015 14:22:57 +0200
parents b2c669fd8114
children
comparison
equal deleted inserted replaced
23054:55d07ec5bde4 23055:c1c199dde5c9
401 return NULL; 401 return NULL;
402 } 402 }
403 403
404 // Return the vector version of a scalar load node. 404 // Return the vector version of a scalar load node.
405 LoadVectorNode* LoadVectorNode::make(Compile* C, int opc, Node* ctl, Node* mem, 405 LoadVectorNode* LoadVectorNode::make(Compile* C, int opc, Node* ctl, Node* mem,
406 Node* adr, const TypePtr* atyp, uint vlen, BasicType bt) { 406 Node* adr, const TypePtr* atyp, uint vlen, BasicType bt,
407 ControlDependency control_dependency) {
407 const TypeVect* vt = TypeVect::make(bt, vlen); 408 const TypeVect* vt = TypeVect::make(bt, vlen);
408 return new (C) LoadVectorNode(ctl, mem, adr, atyp, vt); 409 return new (C) LoadVectorNode(ctl, mem, adr, atyp, vt, control_dependency);
409 } 410 }
410 411
411 // Return the vector version of a scalar store node. 412 // Return the vector version of a scalar store node.
412 StoreVectorNode* StoreVectorNode::make(Compile* C, int opc, Node* ctl, Node* mem, 413 StoreVectorNode* StoreVectorNode::make(Compile* C, int opc, Node* ctl, Node* mem,
413 Node* adr, const TypePtr* atyp, Node* val, 414 Node* adr, const TypePtr* atyp, Node* val,