OpenJDK / jdk / jdk10
changeset 25926:486f1571b70f
8054081: Crashes with assert "modified node is not on IGVN._worklist"
Summary: Modified safepoint nodes are not added to the IGVN worklist by 'PhaseMacroExpand::scalar_replacement()'
Reviewed-by: kvn, roland
author | thartmann |
---|---|
date | Tue, 05 Aug 2014 08:25:10 +0200 |
parents | 4d05abb05c1a |
children | 29dc55d9e8a0 |
files | hotspot/src/share/vm/opto/macro.cpp |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hotspot/src/share/vm/opto/macro.cpp Sun Aug 03 12:04:36 2014 +0400 +++ b/hotspot/src/share/vm/opto/macro.cpp Tue Aug 05 08:25:10 2014 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -791,6 +791,7 @@ for (int k = 0; k < j; k++) { sfpt->del_req(last--); } + _igvn._worklist.push(sfpt); // rollback processed safepoints while (safepoints_done.length() > 0) { SafePointNode* sfpt_done = safepoints_done.pop(); @@ -815,6 +816,7 @@ } } } + _igvn._worklist.push(sfpt_done); } #ifndef PRODUCT if (PrintEliminateAllocations) {