-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
8324649: Shenandoah: replace implementation of free set #17561
Closed
+2,380
−384
Closed
Changes from 1 commit
Commits
Show all changes
126 commits
Select commit
Hold shift + click to select a range
702710e
Improve documentation of how Evac-OOM Protocol works
kdnilsen 61b575f
Merge branch 'openjdk:master' into master
kdnilsen 51d056f
Revert "Improve documentation of how Evac-OOM Protocol works"
kdnilsen bb936f9
Replace ShenandoahFreeSet impl for better generality
kdnilsen ba98e42
Merge branch 'openjdk:master' into master
kdnilsen 1dc47d6
Move collector free to mutator free at start of update refs
kdnilsen 836e219
Clean up comments and remove debug instrumentation
kdnilsen bc3b7a9
Fix up white space and comments
kdnilsen 441487c
Merge branch 'openjdk:master' into master
kdnilsen 5bb309a
Remove unnecessary change related to debugging
kdnilsen 90295ae
Remove comments regarding GenShen-specific behavior
kdnilsen ba8cd03
Remove unnecessary include
kdnilsen 813ba6e
Fix typo in comment
kdnilsen 0a66217
Replace ShenandoahFreeMemoryType with ShenandoahFreeSetRegionType
kdnilsen 98ab312
Change ShenandoahSetsOfFreeRegions to ShenandoahRegionPartition
kdnilsen 00e66e5
More consistent naming of partitions vs sets
kdnilsen 3c06018
Clarify preconditions for allocate_single and allocate_contiguous
kdnilsen 08f011a
Fix comment in allocate_single()
kdnilsen 59c0602
Remove mention of vestigial evac_expended in comment
kdnilsen 6aabfab
Change clear_internal() to make_all_regions_unavailable()
kdnilsen 5f7e90a
Change shrink_bounds_if_touched to shrink_range_if_boundary_modified
kdnilsen 758ecf9
Add comments to describe _leftmosts and _rightmosts and _empty ranges
kdnilsen 7816f3a
Change names of shrink_bounds_if_touched and expand_bounds_maybe
kdnilsen fb1f5bf
Rename and comments for _capacity_of and _used_by
kdnilsen dafc363
Merge branch 'openjdk:master' into master
kdnilsen ae345f9
Replace line accidentally deleted
kdnilsen 97d9e7d
Rename ShenandoahRegionPartition to ShenandoahRegionPartitions
kdnilsen f44ffb2
Fix comments re: _leftmosts_empty and _rightmosts_empty
kdnilsen 5e9084f
In comments replace consumed with allocated
kdnilsen 3cabc3c
Fix comment that describes empty free set condition
kdnilsen 8bbbaf6
Adjust enum ShenandoahFreeSetPartitionId to clarify NotFree is not a …
kdnilsen 9c9bcdc
Change loop iterator to ssize_t from int
kdnilsen 48ba59a
Rename move_regions_from_collector_to_mutator_partition
kdnilsen 1c9c764
Remove unhelpful comment that might cause undue concern to maintainers
kdnilsen 3c666eb
Rename retire_within_partition
kdnilsen b40844d
Fix description of move_regions_from_collector_to_mutator
kdnilsen 59fbd2b
Use ssize_t for iterating over partition regions
kdnilsen f754e46
Fix comment describing retirement of regions following failed allocation
kdnilsen 96d9fa6
Remove extraneous assertion
kdnilsen 5e27a58
Correct an invalid assertion
kdnilsen 07fe812
Combine first two passes over freeset during rebuild
kdnilsen 7d5c1fc
Fix whitespace
kdnilsen b2ba4cf
Respond to review feedback
kdnilsen 655e30f
Experiment with proposed ShenandoahPackEvacTightly option
kdnilsen b34d03b
Revert "Experiment with proposed ShenandoahPackEvacTightly option"
kdnilsen daacbaa
Use bitmap to represent each freeset for improved performance
kdnilsen 3ec905e
Fix an error in search for contiguous regions
kdnilsen c4c252e
Merge branch 'openjdk:master' into master
kdnilsen fb23e41
Merge remote-tracking branch 'origin/master' into restructure-free-se…
kdnilsen bb5390a
Refinements to improve performance
kdnilsen 2ef2c08
Bug fixes and performance improvements
kdnilsen bd0e1e8
Fix whitespace
kdnilsen e692b27
Fix off-by-one error in is_forward_consecutive_ones()
kdnilsen 85e76af
Two bug fixes for better performance
kdnilsen 41ba86a
Merge branch 'openjdk:master' into master
kdnilsen 3371e9d
Merge remote-tracking branch 'origin/master' into restructure-free-set
kdnilsen dc47f3f
Fix white space
kdnilsen 44008aa
Fix 32-bit size formatting in log messages
kdnilsen 5d9194e
Address 32-bit compile issues
kdnilsen 1aa5a3e
Remove instrumentation and cleanup magic numbers
kdnilsen f215a70
Merge branch 'openjdk:master' into master
kdnilsen c2f9556
Simplify log_info and log_debug parameters
kdnilsen 42af76b
Respond to reviewer feedback and improve comments
kdnilsen a45f976
Fix initialization order for ShenandoahFreeSet
kdnilsen 2526384
Revert redundant change from https://github.com/openjdk/jdk/pull/18083
kdnilsen 2b9a470
Add unit tests for ShenandoahSimpleBitMap
kdnilsen 9be1a16
Correct errors in ShenandoahSimpleBitMap unit tests
kdnilsen d9359a3
Fix whitespace
kdnilsen 8f3dbaf
Fix typo
kdnilsen 12327c0
Fix another typo
kdnilsen 4c1cf6a
Fix compilation errors for ShenandoahSimpleBitMap test
kdnilsen db7506e
Add new source file
kdnilsen f9d61f2
Fix windows compiler errors
kdnilsen a0b6635
Fix another compiler error
kdnilsen 9b50307
Experiment: force gtest failure to confirm gtest is exercised
kdnilsen 4c82947
Changes to Simple BitMap test
kdnilsen 6d71c32
Fix gtest for ShenandoahSimpleBitMap and fix ShennadoahSimpleBitMap bugs
kdnilsen c045e9f
Use existing macros for bit twiddling
kdnilsen 46989ac
Reduce strength of bit manipulation operations
kdnilsen baaca57
Move comments that describe functions into header file
kdnilsen f58ef72
Add comment to describe flip_to_gc()
kdnilsen 94909f7
Revert accidental deletion of blank line
kdnilsen 3f8749a
Revert another accidental deletion of a blank line
kdnilsen 9cdb82e
Restore call to notify_Mutator_alloc_words() following humongous alloc
kdnilsen 3ce9022
Rewrite comment describing rationale for Collector free set membership
kdnilsen 57d2e71
Remove comment that pertains only to generational mode
kdnilsen eebb78a
Exploit count_<leading|trailing>_zeros instructions
kdnilsen d65c2ea
Give special handling to count-zeros when arg is 0
kdnilsen 38faeea
Fix one bug and add disabled instrumentation for debugging
kdnilsen 7ced517
Fix typo in log message for 32-bit platforms
kdnilsen b320a3a
Add a few more conditions to ShenandoahSimpleBitMapTest
kdnilsen 04d76e8
Fix for certain compilers
kdnilsen 4d6b5cd
Merge branch 'openjdk:master' into master
kdnilsen 7bc418f
Merge remote-tracking branch 'origin/master' into restructure-free-set
kdnilsen 84c5875
Remove debugging instrumentation
kdnilsen 7fe605f
Merge branch 'openjdk:master' into master
kdnilsen e536520
Separate ShenandoahSimpleBitMap into distinct source files
kdnilsen b64739a
Make ShenadoahFreeSetPartitionId an enum class
kdnilsen 0cdd774
Cosmetic reformat after edits that changed source line length
kdnilsen 4a646ec
Do not treat integer values as booleans
kdnilsen 43e851d
Replace tail recursion with iteration
kdnilsen 4b1d6a3
Fix indentation of function declaration
kdnilsen 8c2d801
Respond to reviewer suggestions
kdnilsen 24ccf88
Fix typo
kdnilsen 9890693
Add include for standard defs
kdnilsen b69a4bf
Fix whitespace
kdnilsen 3bf3df2
Refinements to support zero-build compiles
kdnilsen 06909ba
Fix NumPartition type
kdnilsen 5c97323
Simplify by combining implemnetations of shrink_interval functions
kdnilsen 2a83e0a
Simplify partition_membership_name by code reuse
kdnilsen d4c9072
Assert progress on find_next and find_prev
kdnilsen 8f5ea03
Remove unnecessary call to update_watermark
kdnilsen 2e224f6
Merge branch 'openjdk:master' into master
kdnilsen d6e3546
Merge remote-tracking branch 'origin/master' into restructure-free-set
kdnilsen 46ad5c6
Merge branch 'openjdk:master' into master
kdnilsen 4f09d33
Merge remote-tracking branch 'origin/master' into restructure-free-set
kdnilsen be3a76d
Respond to reviewer comments
kdnilsen 0fe4392
Improve comment to clarify loop of find_first_consecutive_set_bits()
kdnilsen 0bc2f9d
Fix typo in comment
kdnilsen bb2a5ac
Another attempt at improving clarity of comments
kdnilsen ced947f
Respond to reviewer feedback
kdnilsen 572aa2b
Fix copyright notice on test file
kdnilsen 3ed62eb
Directly address range arrays when adjusting intervals
kdnilsen fe76f49
Improvements to dump_bitmap_* services
kdnilsen 93761ed
Rename raw_assign_membership()
kdnilsen 3219119
Rename establish_mutator_intervals
kdnilsen 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 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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
complement is not a bool type. If you meant to say 'if (complement != 0)' then say so, to make it easier for the reader. Same applies for a few other places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. Fixed.