Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Michal Cierniak is active.

Publication


Featured researches published by Michal Cierniak.


programming language design and implementation | 2000

Practicing JUDO: Java under dynamic optimizations

Michal Cierniak; Guei-Yuan Lueh; James M. Stichnoth

A high-performance implementation of a Java Virtual Machine (JVM) consists of efficient implementation of Just-In-Time (JIT) compilation, exception handling, synchronization mechanism, and garbage collection (GC). These components are tightly coupled to achieve high performance. In this paper, we present some static anddynamic techniques implemented in the JIT compilation and exception handling of the Microprocessor Research Lab Virtual Machine (MRL VM), i.e., lazy exceptions, lazy GC mapping, dynamic patching, and bounds checking elimination. Our experiments used IA-32 as the hardware platform, but the optimizations can be generalized to other architectures.


symposium on code generation and optimization | 2004

Improving 64-bit Java IPF performance by compressing heap references

Ali-Reza Adl-Tabatabai; Jay Bharadwaj; Michal Cierniak; Marsha Eng; Jesse Fang; Brian T. Lewis; Brian R. Murphy; James M. Stichnoth

64-bit processor architectures like the Intel/spl reg/ Itanium/spl reg/ processor family are designed for large applications that need large memory addresses. When running applications that fit within a 32-bit address space, 64-bit CPUs are at a disadvantage compared to 32-bit CPUs because of the larger memory footprints for their data. This results in worse cache and TLB utilization, and consequently lower performance because of increased miss ratios. This paper considers software techniques for virtual machines that allow 32-bit pointers to be used on 64-bit CPUs for managed runtime applications that do not need the full 64-bit address space. We describe our pointer compression techniques and discuss our experience implementing these for Java applications. In addition, we give performance results with our techniques for both the SPEC JVM98 and SPEC JBB2000 benchmarks. We demonstrate a 12% performance improvement on SPEC JBB2000 and a reduction in the number of garbage collections required for a given heap size.


Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande | 2002

Open runtime platform: flexibility with performance using interfaces

Michal Cierniak; Brian T. Lewis; James M. Stichnoth

According to conventional wisdom, interfaces provide flexibility at the cost of performance. Most high-performance Java virtual machines today tightly integrate their core virtual machines with their just-in-time compilers and garbage collectors to get the best performance. The Open Runtime Platform (ORP) is unusual in that it reconciles high performance with the extensive use of well-defined interfaces between its components. ORP was developed to support experiments in dynamic compilation, garbage collection, synchronization, and other technologies. To achieve this, two key interfaces were designed: one for garbage collection and another for just-in-time compilation. This paper describes some interesting features of these interfaces and discusses lessons learned in their use. One lesson we learned was to selectively expose small but frequently accessed data structures in our interfaces; this improves performance while minimizing the number of interface crossings.


programming language design and implementation | 1998

Fast, effective code generation in a just-in-time Java compiler

Ali-Reza Adl-Tabatabai; Michal Cierniak; Guei-Yuan Lueh; Vishesh Parikh; James M. Stichnoth


programming language design and implementation | 1999

Support for garbage collection at every instruction in a Java compiler

James M. Stichnoth; Guei-Yuan Lueh; Michal Cierniak


Archive | 2001

Method and system of controlling dynamically compiled native code size

Guei-Yuan Lueh; Tatiana Shpeisman; Michal Cierniak; Cheng-Hsueh Andrew Hsieh


Archive | 2004

Priority-based code cache management

Michal Cierniak


Archive | 2004

Lock reservation methods and apparatus for multi-threaded environments

Michal Cierniak; James M. Stichnoth


Archive | 2002

Optimizing memory usage by vtable cloning

Michal Cierniak


Archive | 2001

Method for implementing multiple type hierarchies

Michal Cierniak

Collaboration


Dive into the Michal Cierniak's collaboration.

Researchain Logo
Decentralizing Knowledge