-
Notifications
You must be signed in to change notification settings - Fork 6k
8337217: Port VirtualMemoryTracker to use VMATree #20425
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
Closed
afshin-zafari
wants to merge
89
commits into
openjdk:master
from
afshin-zafari:_8337217_nmt_VMT_with_tree
Closed
Changes from all commits
Commits
Show all changes
89 commits
Select commit
Hold shift + click to select a range
33326b0
handle null argument
wenshao d044ef7
first tests passed
afshin-zafari ebd029d
added performance tests.
afshin-zafari ac1befc
review comments applied (round 01)
afshin-zafari 0c7141a
Merge branch 'openjdk:master' into _8337217_nmt_VMT_with_tree
afshin-zafari 9df7cff
Merge branch '_8337217_nmt_VMT_with_tree' of http://github.com/afshin…
afshin-zafari b83ef25
some fixes and improvements.
afshin-zafari f414999
review comments applied (round 2).
afshin-zafari 3ed28c2
performance test compares SSL with Treap.
afshin-zafari 733fb42
some fixes for type casting for builds on other platforms. And perfor…
afshin-zafari c138aed
missing type-casts fixed.
afshin-zafari 195c2b8
review comments applied (round 3).
afshin-zafari 3335a7c
Merge branch 'master' into _8337217_nmt_VMT_with_tree
afshin-zafari 691811c
fixed GHA build failures.
afshin-zafari 979d14d
removed one more pointer. fixed a gtest failure.
afshin-zafari 4f68ddd
fixed test failures in GHA.
afshin-zafari e671e9b
fixes of GHA failures.
afshin-zafari 67ee177
fixes for GHA failures.
afshin-zafari a126576
missing stack call sites are tolerable in NEW version tests.
afshin-zafari 1d768a0
some name refactoring
afshin-zafari 54fdb59
fixes on coding style.
afshin-zafari 6e08f10
Merge branch 'master' into _8337217_nmt_VMT_with_tree
afshin-zafari 2553d1e
some fixes
afshin-zafari 347726c
check when stack-index is invalid.
afshin-zafari 8c5c5bd
merge master into branch
afshin-zafari 065d5c1
set_flagand size arg + Johan's feedback.
afshin-zafari 5d9ccdf
shenandoah fixes.
afshin-zafari 31ce4d3
comments applied.
afshin-zafari 0ab316c
print format fixed
afshin-zafari 907e1e9
build failure fixed.
afshin-zafari 22034bf
more fix.
afshin-zafari 72af169
only 1 version of VMT
afshin-zafari 1e92315
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 3c66997
Johan's feedback.
afshin-zafari b70e15d
fixed hpp gaurd of vmtCommon.
afshin-zafari 55e5c64
removed unnecessary line from visit committed region function.
afshin-zafari b4687d1
snaphot thread stack updated and tested.
afshin-zafari cced79a
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 69b19a4
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 9c3324f
fixed merged glitches.
afshin-zafari 99b2327
fixes after merge with use_tag_inplace
afshin-zafari da8b4de
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 1e4fbf2
added some descriptions of how VMT works.
afshin-zafari 52631e4
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 7bd065e
gc/x directory removed.
afshin-zafari ee639f1
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 026256f
Roberto's feedback applied.
afshin-zafari 451b904
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 771cb02
some fixes.
afshin-zafari 7fc7b34
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari fd77057
a missed change in a shenandoah file.
afshin-zafari b5e6d26
removed unused local var.
afshin-zafari 316d9a1
visit_committed_regions signature changed.
afshin-zafari 7b0c427
visit committed regions refined.
afshin-zafari 2afb8c7
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari f69e757
added overlap checks.
afshin-zafari b1b5aa0
fix for debug prints
afshin-zafari abaf0b3
size_t format fixed.
afshin-zafari c8aa9c5
undo overlapping checks.
afshin-zafari aa75ab7
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 5352894
one small fix for SSIZE_FORMAT
afshin-zafari 5429e79
merge with master
afshin-zafari 692987e
merge with the new lock mechanism for NMT
afshin-zafari c0670b6
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari a0d133f
fix in shendoahCardTable
afshin-zafari 873d535
fixed merge problems
afshin-zafari 35c11b9
removed vmtCommon.hpp
afshin-zafari 611a2d4
flag/type -> tag chages are removed.
afshin-zafari 7640108
missed flag/tag -> type
afshin-zafari 92f2bfd
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 18ec1db
undo stringopts.cpp changes
afshin-zafari a89a013
removed the size par from set_..._tag
afshin-zafari 39f7482
removed remaining of the unrelated changes.
afshin-zafari 0a61fec
once more.
afshin-zafari 5f4bc6d
test file got back, fixed coding style
afshin-zafari 5aa4556
reviews applied.
afshin-zafari 74e4872
removed UseFlagInPlace test.
afshin-zafari 7020958
style, some cleanup, VMT and regionsTree circular dep resolved
afshin-zafari fc106d5
test cases for doing reserve or commit the same region twice.
afshin-zafari f2f1a80
review comments applied
afshin-zafari cfab60f
more reviews.
afshin-zafari 5177cc1
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 95198a8
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari 9010b68
fixes after merge with master.
afshin-zafari 43d7b08
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari e303ee7
changes after merge
afshin-zafari 815092d
fixes to a few failures.
afshin-zafari ac15158
copyright years
afshin-zafari 66ddc67
Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_wi…
afshin-zafari File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/* | ||
* Copyright (c) 2025, 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 | ||
* under the terms of the GNU General Public License version 2 only, as | ||
* published by the Free Software Foundation. | ||
* | ||
* This code is distributed in the hope that it will be useful, but WITHOUT | ||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
* version 2 for more details (a copy is included in the LICENSE file that | ||
* accompanied this code). | ||
* | ||
* You should have received a copy of the GNU General Public License version | ||
* 2 along with this work; if not, write to the Free Software Foundation, | ||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | ||
* | ||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | ||
* or visit www.oracle.com if you need additional information or have any | ||
* questions. | ||
* | ||
*/ | ||
#include "nmt/regionsTree.hpp" | ||
|
||
VMATree::SummaryDiff RegionsTree::commit_region(address addr, size_t size, const NativeCallStack& stack) { | ||
return commit_mapping((VMATree::position)addr, size, make_region_data(stack, mtNone), /*use tag inplace*/ true); | ||
} | ||
|
||
VMATree::SummaryDiff RegionsTree::uncommit_region(address addr, size_t size) { | ||
return uncommit_mapping((VMATree::position)addr, size, make_region_data(NativeCallStack::empty_stack(), mtNone)); | ||
} | ||
|
||
#ifdef ASSERT | ||
void RegionsTree::NodeHelper::print_on(outputStream* st) { | ||
auto st_str = [&](VMATree::StateType s){ | ||
return s == VMATree::StateType::Released ? "Rl" : | ||
s == VMATree::StateType::Reserved ? "Rv" : "Cm"; | ||
}; | ||
st->print_cr("pos: " INTPTR_FORMAT " " | ||
"%s, %s <|> %s, %s", | ||
p2i((address)position()), | ||
st_str(in_state()), | ||
NMTUtil::tag_to_name(in_tag()), | ||
st_str(out_state()), | ||
NMTUtil::tag_to_name(out_tag()) | ||
); | ||
} | ||
|
||
void RegionsTree::print_on(outputStream* st) { | ||
visit_in_order([&](Node* node) { | ||
NodeHelper curr(node); | ||
curr.print_on(st); | ||
return true; | ||
}); | ||
} | ||
#endif |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.