Abstract
Considering the typical amount of memory available on a smart card, it is essential to minimize the size of the runtime environment to leave as much memory as possible to applications. This paper shows that on-the-fly constant pool packing can result in a significant reduction of the memory footprint of an embedded Java runtime environment. We first present Jits, an architecture dedicated to building fully-customized Java runtime environments for smart cards. We then detail the optimizations we have implemented in the class loading mechanism of Jits to reduce the size of the loaded class constant pool. By suppressing constant pool entries as they become unnecessary during the class loading process, we manage to compact constant pools of loaded classes to less than 8% of their initial size. We then present the results of our mechanism in term of constant pool and class size reductions, and conclude by suggesting some more aggressive optimizations.
This work is partially supported by grants from the CPER Nord-Pas-de-Calais TACT LOMC C21, the French Ministry of Education and Research (ACI Sécurité Informatique SPOPS), and Gemplus Research Labs.
Chapter PDF
Similar content being viewed by others
References
Bizzotto, G. and Grimaud, G. (2002). Practical Java Card Bytecode Compression. In Proceedings of RENPAR14 / ASF / SYMPA.
Chen, Z. (2000). Java Card Technology for Smart Cards: Architecture and Programmer’s Guide. Addison Wesley.
Deville, D., Galland, A., Grimaud, G., and Jean, S. (2003). Smart Card operating systems: Past, Present and Future. In The 5th NORDU/USENIX Conference.
Lindholm, T. and Yellin, F. (1999). The Java Virtual Machine Specification, Second Edition. Addison Wesley.
Rippert, C. and Hagimont, D. (2001). An evaluation of the Java Card environment. In Proceedings of the Advanced Topic Workshop “Middleware for Mobile Computing”.
Schwabe, J. E. and Susser, J. B. (2003). Token-Based Linking. US Patent Application number US 2003/0028686 A1. http://www.uspto.gov/.
Sun Microsystems (2000). J2ME Building Blocks for Mobile Devices. http://java.sun.com/products/kvm/wp/KVMwp.pdf.
Sun Microsystems (2002). The CLDC Hotspot Implementation Virtual Machine. http://java.sun.com/products/cldc/wp/CLDC_HI_WhitePaper.pdf.
The J-Consortium (2002). JEFF Draft Specification http://www.j-consortium.org/jeffwg/index.shtml.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer Science + Business Media, Inc.
About this paper
Cite this paper
Rippert, C., Deville, D. (2004). On-the-Fly Metadata Stripping for Embedded Java Operating Systems. In: Quisquater, JJ., Paradinas, P., Deswarte, Y., El Kalam, A.A. (eds) Smart Card Research and Advanced Applications VI. IFIP International Federation for Information Processing, vol 153. Springer, Boston, MA. https://doi.org/10.1007/1-4020-8147-2_2
Download citation
DOI: https://doi.org/10.1007/1-4020-8147-2_2
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4020-8146-0
Online ISBN: 978-1-4020-8147-7
eBook Packages: Springer Book Archive