Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8302670: use-after-free related to PhaseIterGVN interaction with Unique_Node_List and Node_Stack #13833

Closed
wants to merge 26 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
c84ec75
8302670: use-after-free related to PhaseIterGVN interaction with Uniq…
eme64 May 5, 2023
abdd0b5
merge master
eme64 May 5, 2023
1c5a272
remove two useless lines
eme64 May 5, 2023
2936720
removed two asserts that can now never happen
eme64 May 5, 2023
82def21
shenandoah fix
eme64 May 8, 2023
0921832
revert NodeHash::dump name
eme64 May 8, 2023
c424e9e
placed a NodeHash::clear before final_graph_reshaping - before it was…
eme64 May 8, 2023
9161c92
Moved things down to PhaseValues again, plus some renamings
eme64 May 8, 2023
27dd101
rename igvn.reset
eme64 May 8, 2023
ef4d916
check for empty igvn worklist refactor
eme64 May 9, 2023
4445822
signatures from PhaseGVN back to PhaseValues
eme64 May 9, 2023
11be9ef
undo all the transform refactoring, maybe do it in a separate RFE
eme64 May 9, 2023
29eb69a
small reverts missed in last commit
eme64 May 9, 2023
65fcc02
PhaseValues comments updated
eme64 May 9, 2023
0745b25
Merge branch 'master' into JDK-8302670
eme64 May 10, 2023
28946dc
update copyright years
eme64 May 10, 2023
a15e06b
add removed deconstructors back in, just to be sure we do not change …
eme64 May 10, 2023
8982c3b
adding comment back in
eme64 May 10, 2023
2a09fc8
Suggestions by @TobiHartmann
eme64 May 10, 2023
2c8acd1
renamed _type_array to types, and _node_hash_table to _node_hash
eme64 May 10, 2023
0824edf
make igvn_worklist() from ref to pointer
eme64 May 10, 2023
dfe5beb
Last of 4 suggestion commits from @TobiHartmann
eme64 May 10, 2023
96adec1
Apply suggestions from @chhagedorn
eme64 May 11, 2023
dc2d49a
Second batch of suggestions from @chhagedorn
eme64 May 11, 2023
88c76a5
explicitly deleting the move assign operator
eme64 May 24, 2023
3404ec1
Merge branch 'master' into JDK-8302670
eme64 May 24, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/hotspot/share/opto/matcher.hpp
Original file line number Diff line number Diff line change
@@ -88,6 +88,7 @@ class Matcher : public PhaseTransform {
// Private arena of State objects
ResourceArea _states_arena;

// Map old nodes to new nodes
Node_List _new_nodes;

VectorSet _visited; // Visit bits
2 changes: 1 addition & 1 deletion src/hotspot/share/opto/phaseX.cpp
Original file line number Diff line number Diff line change
@@ -429,7 +429,7 @@ PhaseRenumberLive::PhaseRenumberLive(PhaseGVN* gvn,
C->grow_node_notes(C->node_note_array(), new_size);
}

assert(worklist.is_subset_of(_useful), "sanity");
assert(worklist.is_subset_of(_useful), "only useful nodes should still be in the worklist");

// Iterate over the set of live nodes.
for (uint current_idx = 0; current_idx < _useful.size(); current_idx++) {
2 changes: 1 addition & 1 deletion src/hotspot/share/opto/phaseX.hpp
Original file line number Diff line number Diff line change
@@ -25,14 +25,14 @@
#ifndef SHARE_OPTO_PHASEX_HPP
#define SHARE_OPTO_PHASEX_HPP

#include "utilities/globalDefinitions.hpp"
#include "libadt/dict.hpp"
#include "libadt/vectset.hpp"
#include "memory/resourceArea.hpp"
#include "opto/memnode.hpp"
#include "opto/node.hpp"
#include "opto/phase.hpp"
#include "opto/type.hpp"
#include "utilities/globalDefinitions.hpp"

class BarrierSetC2;
class Compile;