Title
Object-relative addressing: compressed pointers in 64-bit java virtual machines
Abstract
64-bit address spaces come at the price of pointers requiring twice as much memory as 32-bit address spaces, resulting in increased memory usage. This paper reduces the memory usage of 64-bit pointers in the context of Java virtual machines through pointer compression, called Object-Relative Addressing (ORA). The idea is to compress 64-bit raw pointers into 32-bit offsets relative to the referencing object's virtual address. Unlike previous work on the subject using a constant base address for compressed pointers, ORA allows for applying pointer compression to Java programs that allocate more than 4GB of memory. Our experimental results using Jikes RVM and the SPECjbb and DaCapo benchmarks on an IBM POWER4 machine show that the overhead introduced by ORA is statistically insignificant on average compared to raw 64-bit pointer representation, while reducing the total memory usage by 10% on average and up to 14.5% for some applications.
Year
DOI
Venue
2007
10.1007/978-3-540-73589-2_5
ECOOP
Keywords
Field
DocType
total memory usage,constant base address,64-bit pointer representation,64-bit address space,memory usage,64-bit java virtual machine,32-bit address space,increased memory usage,pointer compression,64-bit pointer,64-bit raw pointer
Pointer (computer programming),Memory safety,Programming language,Escape analysis,Computer science,Virtual address space,Parallel computing,Real time Java,Dangling pointer,Smart pointer,Base address
Conference
Volume
ISSN
ISBN
4609
0302-9743
3-540-73588-7
Citations 
PageRank 
References 
1
0.35
19
Authors
3
Name
Order
Citations
PageRank
Kris Venstermans1172.35
Lieven Eeckhout22863195.11
Koen De Bosschere31659117.74