Mercurial > hg > truffle
diff src/share/vm/opto/macro.cpp @ 601:523ded093c31
6809798: SafePointScalarObject node placed into incorrect block during GCM
Summary: Replace the control edge of a pinned node before scheduling.
Reviewed-by: never
author | kvn |
---|---|
date | Thu, 26 Feb 2009 14:26:02 -0800 |
parents | 49a36a80b0c7 |
children | 98cb887364d3 |
line wrap: on
line diff
--- a/src/share/vm/opto/macro.cpp Wed Feb 25 14:36:27 2009 -0800 +++ b/src/share/vm/opto/macro.cpp Thu Feb 26 14:26:02 2009 -0800 @@ -64,6 +64,7 @@ uint old_unique = C->unique(); Node* new_in = old_sosn->clone(jvms_adj, sosn_map); if (old_unique != C->unique()) { + new_in->set_req(0, newcall->in(0)); // reset control edge new_in = transform_later(new_in); // Register new node. } old_in = new_in;