Supporting object accesses in a Java processor

Vijaykrishnan Narayanan, N. Ranganathan

Research output: Contribution to journalArticle

18 Citations (Scopus)

Abstract

Due to Java's object-based nature and support for garbage collection, efficient object manipulation and relocation are critical to the execution speed of Java code. Java Virtual Machine implementations that utilize handle representation such as Sun's Java Development Kit 1.1 enable efficient object relocation at the cost of an additional indirection for each object access. The direct address object representations such as those used in CACAO and NET compiler eliminate the indirection overhead, but update during object relocation is complex. A virtual address object cache that reduces the indirection overhead while maintaining the efficiency of object relocation is proposed. The objects in the virtual address cache are addressed directly using the object reference and field offset pair. This eliminates the indirection overhead and off-set addition overhead associated with the handle representation model. A hardware object table that maintains the handles is used to obtain the actual object location on a virtual address cache miss. The performance of the virtual address cache is analyzed using various Java programs, and is found to reduce 1.5 cycles per object access on an average as compared to the handle representation model for the various benchmarks studied.

Original languageEnglish (US)
Pages (from-to)435-443
Number of pages9
JournalIEE Proceedings: Computers and Digital Techniques
Volume147
Issue number6
DOIs
StatePublished - Nov 1 2000

Fingerprint

Virtual addresses
Relocation
Java
Cache
Sun
Hardware
Object
Eliminate
Object Representation
Java Virtual Machine
Garbage Collection
Compiler

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics

Cite this

@article{6dcc9415a359455e8f459fdf82851835,
title = "Supporting object accesses in a Java processor",
abstract = "Due to Java's object-based nature and support for garbage collection, efficient object manipulation and relocation are critical to the execution speed of Java code. Java Virtual Machine implementations that utilize handle representation such as Sun's Java Development Kit 1.1 enable efficient object relocation at the cost of an additional indirection for each object access. The direct address object representations such as those used in CACAO and NET compiler eliminate the indirection overhead, but update during object relocation is complex. A virtual address object cache that reduces the indirection overhead while maintaining the efficiency of object relocation is proposed. The objects in the virtual address cache are addressed directly using the object reference and field offset pair. This eliminates the indirection overhead and off-set addition overhead associated with the handle representation model. A hardware object table that maintains the handles is used to obtain the actual object location on a virtual address cache miss. The performance of the virtual address cache is analyzed using various Java programs, and is found to reduce 1.5 cycles per object access on an average as compared to the handle representation model for the various benchmarks studied.",
author = "Vijaykrishnan Narayanan and N. Ranganathan",
year = "2000",
month = "11",
day = "1",
doi = "10.1049/ip-cdt:20000787",
language = "English (US)",
volume = "147",
pages = "435--443",
journal = "IEE Proceedings: Computers and Digital Techniques",
issn = "1350-2387",
publisher = "Institute of Electrical Engineers",
number = "6",

}

Supporting object accesses in a Java processor. / Narayanan, Vijaykrishnan; Ranganathan, N.

In: IEE Proceedings: Computers and Digital Techniques, Vol. 147, No. 6, 01.11.2000, p. 435-443.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Supporting object accesses in a Java processor

AU - Narayanan, Vijaykrishnan

AU - Ranganathan, N.

PY - 2000/11/1

Y1 - 2000/11/1

N2 - Due to Java's object-based nature and support for garbage collection, efficient object manipulation and relocation are critical to the execution speed of Java code. Java Virtual Machine implementations that utilize handle representation such as Sun's Java Development Kit 1.1 enable efficient object relocation at the cost of an additional indirection for each object access. The direct address object representations such as those used in CACAO and NET compiler eliminate the indirection overhead, but update during object relocation is complex. A virtual address object cache that reduces the indirection overhead while maintaining the efficiency of object relocation is proposed. The objects in the virtual address cache are addressed directly using the object reference and field offset pair. This eliminates the indirection overhead and off-set addition overhead associated with the handle representation model. A hardware object table that maintains the handles is used to obtain the actual object location on a virtual address cache miss. The performance of the virtual address cache is analyzed using various Java programs, and is found to reduce 1.5 cycles per object access on an average as compared to the handle representation model for the various benchmarks studied.

AB - Due to Java's object-based nature and support for garbage collection, efficient object manipulation and relocation are critical to the execution speed of Java code. Java Virtual Machine implementations that utilize handle representation such as Sun's Java Development Kit 1.1 enable efficient object relocation at the cost of an additional indirection for each object access. The direct address object representations such as those used in CACAO and NET compiler eliminate the indirection overhead, but update during object relocation is complex. A virtual address object cache that reduces the indirection overhead while maintaining the efficiency of object relocation is proposed. The objects in the virtual address cache are addressed directly using the object reference and field offset pair. This eliminates the indirection overhead and off-set addition overhead associated with the handle representation model. A hardware object table that maintains the handles is used to obtain the actual object location on a virtual address cache miss. The performance of the virtual address cache is analyzed using various Java programs, and is found to reduce 1.5 cycles per object access on an average as compared to the handle representation model for the various benchmarks studied.

UR - http://www.scopus.com/inward/record.url?scp=0034313229&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0034313229&partnerID=8YFLogxK

U2 - 10.1049/ip-cdt:20000787

DO - 10.1049/ip-cdt:20000787

M3 - Article

AN - SCOPUS:0034313229

VL - 147

SP - 435

EP - 443

JO - IEE Proceedings: Computers and Digital Techniques

JF - IEE Proceedings: Computers and Digital Techniques

SN - 1350-2387

IS - 6

ER -