Mercurial > hg > graal-jvmci-8
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, |