Title :
JVM Virtual Method Invoking Optimization Based on CAM Table
Author :
Cai, Songsong ; Yang, Yongqiang ; Lin, Chuanwen ; Liu, Qi
Abstract :
In Java programs, it needs to use the information of the method type to resolve the virtual method dynamically, which restricts the performance greatly. Currently, the solution is mainly the technique of inline caching, which can be divided into two categories: monomorphic inline caching and polymorphic inline caching. Because of the simple implementation of monomorphic inline caching, it is more commonly used, but it cannot resolve the problem of frequently seeing different types of objects at one call site. Although polymorphic inline caching can solve this problem, it is costly. This paper presents the CAM hardware table, proposes a virtual method invoking mechanism based on software and hardware co-design. It solves the problem of frequently seeing different types of objects at one call site, and does not introduce additional overhead. The experimental evaluation shows that it improves the cached hit rate from 13.3% to 76.4% and improves 16.2% performance of the virtual test, it improves the performance of SPECjvm 98 by 6.4% on average.
Keywords :
Java; cache storage; content-addressable storage; hardware-software codesign; virtual machines; CAM hardware table; JVM virtual method invoking optimization; Java programs; Java virtual machine; content associated memory; monomorphic inline caching; polymorphic inline caching; software-and-hardware co-design; Computer aided manufacturing; Cryptography; Hardware; Indexes; Java; Software; Virtual machining; CAM table; JVM virtual method invocation; inline cache;
Conference_Titel :
Networking, Architecture and Storage (NAS), 2011 6th IEEE International Conference on
Conference_Location :
Dalian, Liaoning
Print_ISBN :
978-1-4577-1172-5
Electronic_ISBN :
978-0-7695-4509-7
DOI :
10.1109/NAS.2011.13