History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: RVM-375
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Ian Rogers
Reporter: Ian Rogers
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
RVM

VM_Static and VM_Atom keys use ~540kb of the boot image

Created: 14/Feb/08 08:58 AM   Updated: 09/May/08 09:41 AM
Component/s: Runtime
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

Issue Links:
Related
 


 Description  « Hide
The space requirements for the keys used to access the hashmaps in VM_Atom and VM_Statics use up ~1.5% of the total boot image space (540kb). It would be nice to use a more memory efficient data scheme.

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Ian Rogers - 14/Feb/08 09:00 AM
We need to rethink the class loader data structures to implement class unloading.

Ian Rogers - 21/Feb/08 06:27 PM
r13978 attempts to do this and clean up VM_Statics, the space savings are:

development data size: -333kb
prototype data size: - 254kb

however, having non-final references added to VM_Atoms to track their corresponding Strings adds:

development reference map size: +16kb
prototype reference map size: +12kb

In terms of the speed changes due to the patch, having a string hanging off the literal avoids a hash map lookup, so the performance effect should be of the same order. The patch also adds literals to the intern table/map, which again could save time.