-
Notifications
You must be signed in to change notification settings - Fork 5
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
RealAllocator::allocate() is inefficient because it scans each bit of the heap. #4
Comments
A decision has been made to use card tables to increase the efficiency of heap allocation. |
I fixed this in commit e9608dc |
I think this fix introduces a new error, when I run a simulation with the default collector, I'm getting seg-faults. Running the same simulation using the state of the project before this commit works as expected. |
Please test thoroughly before updating the master branch. Work in progress can be pushed to a development branch. |
It turns out that the fix e9608dc was depending on an updated version of tracefiles that have not yet been released to the entire team. When I used the previous version of the tracefiles, I was getting segmentation faults. Since it is the previous version of tracefiles which are currently available to the team, I have reverted the changes introduced by this fix on the |
The updated tracefiles are actually available on Mazder's team folder. The updated tracefiles have the number of pointers (N) adjusted to fit the object size. But these are the post-processed ones. |
Modified using card table class instead of direct checking (of bitmap). |
Also in update: 32ab5b4, added -pg on all subdir.mk and the makefile to allow profiling (gprof) |
To find a free contiguous chunk of heap, the
RealAllocator
currently traverses the heap. This is less than optimal for several reasons:By scanning the heap bit by bit, we are performing an unnecessary amount of work.
The text was updated successfully, but these errors were encountered: