We present the design and implementation of several optimizations and techniques included in the latest IBM Java TM Just-in-Time (JIT) Compiler. We first discuss some of the modifications we have applied to Sun Microsystems' reference implementation of the Java Virtual Machine (JVM TM) Specification to increase the performance, including a change in the object layout. We then describe each of the optimizations, referring to what had to be taken into account because of both the just-in-time nature of the compiler and the requirements of the Java language specification, such as exception checking. We also present code generation techniques targeting Intel architectures, describing the register allocation schemes, exception handling, and code scheduling. Finally we report on the performance of the IBM JIT compiler, showing both the effectiveness of the individual optimizations and the competitive overall performance of the JIT compiler in comparison with a competitor, using industry-standard benchmarking programs. All the techniques presented here are included in the official product (JIT Compiler version 3.0), which has been integrated into the IBM Developer Kit for Windows TM , Java Technology Edition, Version 1.1.7.
The Java language incurs a runtime overhead for exception checks and object accesses without an interior pointer in order to ensure safety. It also requires type inclusion test, dynamic class loading, and dynamic method calls in order to ensure flexibility. A "JustIn-Time" (JIT) compiler generates native code from Java byte code at runtime. It must improve the runtime performance without compromising the safety and flexibility of the Java language. We designed and implemented effective optimizations for the JIT compiler, such as exception check elimination, common subexpression elimination, simple type inclusion test, method inlining, and resolution of dynamic method call. We evaluate the performance benefits of these optimizations based on various statistics collected using SPECjvm98 and two JavaSoft applications with byte code sizes ranging from 20000 to 280000 bytes. Each optimization contributes to an improvement in the performance of the programs.
Background Magnetic compression anastomosis (MCA) is a revolutionary, minimally invasive method of performing choledochoenterostomy or choledochocholedochostomy without using surgical techniques in patients with biliary stricture or obstruction. Herein, we describe a case series of MCA for severe biliary stricture or obstruction, which could not be treated with conventional therapies. Patients and methods Two patients with biliary obstruction were treated using MCA for choledochocholedochostomy and choledochoenterostomy at Tokyo Medical University Hospital and Tokyo Medical University Hachioji Medical Center. Endoscopically, a samarium-cobalt (Sm-Co) rare-earth magnet was placed at the superior site of obstruction through the percutaneous transhepatic biliary drainage route and another Sm-Co magnet was placed at the inferior site of obstruction. A comprehensive computeraided literature search for MCA was performed up to September 2009 by using MEDLINE and EMBASE. Results MCA techniques enabled complete anastomosis in both cases without procedure-related complications. Conclusions The MCA technique is a revolutionary method of performing choledochocholedochostomy and choledochoenterostomy interventionally in patients with biliary obstruction, for whom the conventional endoscopic procedure is not available, or in candidates who are deemed unsuitable for surgery.
Adenosine triphosphate-binding membrane cassette transporter A1 (ABCA1) and ABCG1 play a crucial role in macrophage cholesterol efflux, which is a novel therapeutic target for atherosclerosis. Advanced glycation end products (AGE) and their receptor RAGE axis is involved in accelerated atherosclerosis in diabetes as well. However, the role of AGE-RAGE axis in macrophage cholesterol efflux is not fully understood. We examined here whether AGE-RAGE axis could impair cholesterol efflux from human macrophage cells, THP-1 cells by suppressing ABCA1 and ABCG1 expression. We further investigated the effects of rosuvastatin on cholesterol efflux from AGE-exposed THP-1 cells. AGE increased reactive oxygen species generation in THP-1 cells, which was completely inhibited by rosuvastatin, anti-RAGE-antibody or diphenylene iodonium chloride (DPI), an inhibitor of NADPH oxidase. The antioxidative effect of rosuvastatin on AGE-exposed THP-1 cells was significantly prevented by geranylgeranyl pyrophosphate (GGPP). AGE decreased ABCA1 and ABCG1 mRNA levels, and subsequently reduced cholesterol efflux from THP-1 cells, which was prevented by GGPP. DPI mimicked the effects of rosuvastain. The results demonstrated that rosuvastatin could inhibit the AGE-induced reduction of THP-1 macrophage cholesterol efflux by suppressing NADPH oxidase activity via inhibition of geranylgeranylation of Rac-1. Our present study provides a novel beneficial aspect of rosuvastatin in diabetes; rosuvastain may prevent the development and progression of atherosclerosis in diabetes by not only reducing serum cholesterol level, but also by improving cholesterol efflux from foam cells of the arterial wall via blocking the harmful effects of AGE on macrophages.
Java has gained widespread popularity in the industry, and an efficient Java virtual machine (JVM) and just-in-time (JIT) compiler are crucial in providing high performance for Java applications. This paper describes the design and implementation of our JIT compiler for IA-32 platforms by focusing on the recent advances achieved in the past several years. We first present the dynamic optimization framework, which focuses the expensive optimization efforts only on performance-critical methods, thus helping to manage the total compilation overhead. We then describe the platformindependent features, which include the conversion from the stack-semantic Java bytecode into our register-based intermediate representation (IR) and a variety of aggressive optimizations applied to the IR. We also present some techniques specific to the IA-32 used to improve code quality, especially for the efficient use of the small number of registers on that platform. Using several industry-standard benchmark programs, the experimental results show that our approach offers high performance with low compilation overhead. Most of the techniques presented here are included in the IBM JIT compiler product, integrated into the IBM Development Kit for Microsoft Windows, Java Technology Edition Version 1.4.0.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.