• Title/Summary/Keyword: JVM(Java Virtual Machine)

Search Result 60, Processing Time 0.025 seconds

Translation Java Bytecode to EVM SIL Code for Embedded Virtual Machines

  • Lee, Yang-Sun;Park, Jin-Ki
    • Journal of Korea Multimedia Society
    • /
    • v.8 no.12
    • /
    • pp.1658-1668
    • /
    • 2005
  • This paper presents the bytecode-to-SIL translator which enables the execution of the java program in EVM(Embedded Virtual Machine) environment without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into SIL(Standard Intermediate Language) codes. EVM, what we are now developing, is a virtual machine solution that can download and execute dynamic application programs written in sequential languages like C language as well as object oriented languages such as C#, Java, etc. EVM is a virtual machine mounted on embedded systems such as mobile device, set-top box, or digital TV, and converts the application program into SIL, an assembly language symbolic form, and execute it. SIL is a virtual machine code for embedded systems, based on the analysis of existing virtual machine codes such as bytecode, MSIL, etc. SIL has such features as to accommodate various programming languages, and in particularly has an operation code set to accept both object-oriented languages and sequential languages. After compiling, a program written in java language is converted to bytecode, and also executed by JVM platform but not in other platform such as .NET, EVM platform. For this reason, we designed and implemented the bytecode-to-SIL translator system for programs written in java language to be executed in the EVM platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides an environment for programmers to execute application programs at various platforms.

  • PDF

Design and Implementation of Garbage Collection Based On Embedded Java Virtual Machine (임베디드 자바가상머신을 위한 가비지 콜렉션 설계 및 구현)

  • 백대현;박희상;양희권;이철훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.10c
    • /
    • pp.406-408
    • /
    • 2002
  • 자바의 가장 중요한 특성 중 하나는 플랫폼 독립성이다. 즉, 자바가상머신(Java Virtual Machine: JVM)이 탑재된 모든 플랫폼에서 운영체제의 종류와 상관없이 Java로 작성된 프로그램을 수행시킬 수 있다는 것이다. 이를 위해서는 각각의 플랫폼에 맞는 JVM이 적재되어야 한다. 본 논문에서 구현하게 될 가비지 콜렉션은 JVM의 성능을 좌우하는 중요한 요소이다. 가비지 콜렉션을 구현할 때 이용되는 알고리즘에는 여러 가지가 있다. 본 논문은 stop-copy와 마크-회수 알고리즘에 대해서 설명하고, 마크-회수 알고리즘을 개선한 마크-회수 압축 알고리즘을 이용한 가비지 콜렉션의 설계 및 구현한 내용을 기술하고 있다.

  • PDF

Energy Efficiency of Iteration Statement in Java (자바 반복문의 에너지 효율성)

  • Yang, Hee-Jae
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • v.9 no.2
    • /
    • pp.816-819
    • /
    • 2005
  • In Java virtual machine which is the running environment of Java programs, almost every bytecode execution requires data transfers in memory. Data transfer incurs energy consumption and hence minimizing the transfer operation is very important for improving the energy efficiency of JVM. As the number of data transfers for a Java iterative statement is directly proportional to the iteration count, improving the energy efficiency of iterative statement is crucial to keep the energy efficiency of JVM high. This paper analyzes Java iterative statement at bytecode level and proposes some points how to improve the energy efficiency.

  • PDF

A study of the stack allocation policy on JIT Code Generator (JIT Code Generator 상의 스택할당 정책 적용에 관한 연구)

  • 김효남
    • Journal of the Korea Society of Computer and Information
    • /
    • v.6 no.4
    • /
    • pp.100-103
    • /
    • 2001
  • The best solution to improve the execution speed of Java program is to make use of the high speed JVM(Java Virtual Machine). The performance of JVM depends on the difference of its implementation. One of the technologies to enhance JVM performance is a JIT(Just-in-Time) code generator. The JIT code generator transforms Java byte code to the native machine code in accordance with computer system platform. The native machine code is faster than the existing interpreter method, since it can reduce the time to analyze the Java byte code. But the JIT code generator have the problem of increasing the traffic between stack and register because of using many register. Therefore, this paper suggests how to reduce the traffic by applying the policy of stack allocation to JIT code generation, as one of the methods to enhance the performance of JVM.

  • PDF

Design and Implementation of Event Handling in AWT for Java Virtual Machine GUI (자바가상머신 GUI를 위한 AWT에서 이벤트 처리 방법 설계 및 구현)

  • 백대현;성영락;이철훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.04c
    • /
    • pp.94-96
    • /
    • 2003
  • 자바가상머신(Java Virtual Machine: JVM)을 이용하는데 있어서 GUI(Graphic User Interface)는 JVM 을 탑재한 제품을 사용하는 사람들에게 제품에 대한 편리한 그래픽 환경을 제공하는데 목적이 있다. AWT(Abstract Window Toolkit)는 JavaTM 프로그램에서 GUI를 제공하기 위한 표준 API인 JFC(Java Foundation Class)의 일부분이다. 이에 본 논문에서는 리눅스 기반 자바 AWT API를 구현하는데 있어 가장 핵심 부분인 이벤트 처리가 X 윈도우 시스템과 자바 AWT API 사이에서 어떻게 상호작용하며 이루어지는지에 대해 기술하고 있다.

  • PDF

A Technique to Analyze Heap Usage of Java Programs Using Code Inserting (코드삽입을 이용한 자바프로그램의 힙 사용정보 분석기법)

  • Joo, Seong-Yong;Jo, Jang-Wu
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.2 s.46
    • /
    • pp.29-36
    • /
    • 2007
  • In the Java a profiler interface such as JVM TI is provided for communication between a Java virtual machine and a profiler. The JVM TI specification, however does not require an implementation of a profiler interface. Consequently the JVM without an implementation of a profiler interface cannot use a profiler with the JVM TI. For solving the problem, we propose a technique which analyzes heap usage without a profiler interface. This technique inserts codes to extract heap usage into source files in the Java. We implemented a code inserter to verify the proposed technique. We experimented with Java programs that are frequently used and opened. the experimental result presents the number of created objects. the maximum number of allocated objects, and the used pattern of the objects.

  • PDF

Compiling Lazy Functional Programs to Java on the basis of Spineless Taxless G-Machine with Eval-Apply Model (Eval-Apply 모델의 STGM에 기반하여 지연 계산 함수형 프로그램을 자바로 컴파일하는 기법)

  • Nam, Byeong-Gyu;Choi, Kwang-Hoon;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.5
    • /
    • pp.326-335
    • /
    • 2002
  • Recently there have been a number of researches to provide code mobility to lazy functional language (LFL) programs by translating LFL programs to Java programs. These approaches are basically baled on architectural similarities between abstract machines of LFLs and Java. The abstract machines of LFLs and Java programming language, Spineless Tagless G-Machine(STGM) and Java Virtual Machine(JVM) respectively, share important common features such as built- in garbage collector and stack machine architecture. Thus, we can provide code mobility to LFLs by translating LFLs to Java utilizing these common features. In this paper, we propose a new translation scheme which fully utilizes architectural common features between STGM and JVM. By redefining STGM as an eval-apply evaluation model, we have defined a new translation scheme which utilizes Java Virtual Machine Stack for function evaluation and totally eliminates stack simulation which causes array manipulation overhead in Java. Benchmark program translated to Java programs by our translation scheme run faster on JDK 1.3 than those translated by the previous schemes.

Design and Implementation of the Virtual Machine for the Redesigned Java Class File (재설계된 자바 클래스 파일을 위한 가상기계의 설계 및 구현)

  • Ko Kwang-Man
    • The KIPS Transactions:PartA
    • /
    • v.12A no.3 s.93
    • /
    • pp.229-234
    • /
    • 2005
  • The virtual machine is a programming environment that supports device and platform independence. So far, virtual machines such as JVM and KVM have been used in a variety of environments for the Java language. Some virtual machines similar to them are also being developed and used. This paper Presents the experiences of extracting elements essential for small sized devices such as PDA from Java Class files(*.class) and designing a converted class file(*.rclass) for runtime efficiency by modifying its class file format and developing its translator. In addition, a virtual machine is developed to receive the translated class file entered and output the runtime results.

Comparison of Java Virtual Machine and x86 Processor in Data Transfer Viewpoint (자료 이동 측면에서 자바가상기계와 x86 프로세서의 비교)

  • Yang, Hee-Jae
    • Proceedings of the IEEK Conference
    • /
    • 2005.11a
    • /
    • pp.1225-1228
    • /
    • 2005
  • This paper compares the differences between Java virtual machine and x86 processor in data transfer viewpoint. Memory models of JVM and x86 are analyzed and the data transfer paths are identified. As all operations must be performed to the values on operand stack, a great many data transfer operation is unavoidable in JVM. We also lists the number of data transfer operations necessary for executing some typical high-level language statements including assignment, arithmetic, conditional, and iterative statements.

  • PDF

Time-Predictable Java Dynamic Compilation on Multicore Processors

  • Sun, Yu;Zhang, Wei
    • Journal of Computing Science and Engineering
    • /
    • v.6 no.1
    • /
    • pp.26-38
    • /
    • 2012
  • Java has been increasingly used in programming for real-time systems. However, some of Java's features such as automatic memory management and dynamic compilation are harmful to time predictability. If these problems are not solved properly then it can fundamentally limit the usage of Java for real-time systems, especially for hard real-time systems that require very high time predictability. In this paper, we propose to exploit multicore computing in order to reduce the timing unpredictability that is caused by dynamic compilation and adaptive optimization. Our goal is to retain high performance comparable to that of traditional dynamic compilation, while at the same time, obtain better time predictability for Java virtual machine (JVM). We have studied pre-compilation techniques to utilize another core more efficiently, preoptimization on another core (PoAC) scheme to replace the adaptive optimization system (AOS) in Jikes JVM and the counter based optimization (CBO). Our evaluation reveals that the proposed approaches are able to attain high performance while greatly reducing the variation of the execution time for Java applications.