• Title/Summary/Keyword: Intermediate Code

Search Result 192, Processing Time 0.026 seconds

Design and Implementation of Intermediate Code Translator for Native Code Generation from Bytecode (바이트코드로부터 네이티브 코드 생성을 위한 중간 코드 변환기의 설계 및 구현)

  • 고광만
    • Journal of Korea Multimedia Society
    • /
    • v.5 no.3
    • /
    • pp.342-350
    • /
    • 2002
  • The execution speed is not an important factor for Java programming language when implementing small size application program which is executed on the web browser, but it becomes a serious limitation when the huge-size programs are implemented. To overcome this problem, the various research is conducted for translating the Bytecode into the target code which can be implemented in the specific processor by using classical compiling methods. In this research, we have designed and realized an intermediate code translator for the native code generation system with which we can directly generate i386 code from Bytecode to improve the execution speed of Java application programs. The intermediate code translator generates the register-based intermediate code from *.class files which are the intermediate code of Java.

  • PDF

Development of a Decompiler for Verification and Analysis of an Intermediate Code in ANSI C Compiler (ANSI C 컴파일러에서 중간코드의 검증과 분석을 위한 역컴파일러의 개발)

  • Kim, Young-Keun;Kwon, Hyeok-Ku;Lee, Yang-Sun
    • Journal of Korea Multimedia Society
    • /
    • v.10 no.3
    • /
    • pp.411-419
    • /
    • 2007
  • Mounted on mobile device, set-top box, or digital TV, EVM is a virtual machine solution that can download and execute dynamic application programs. And the SIL(Standard Intermediate Language) is intermediate language of the EVM, which has a set of opcodes for object-oriented language and a sequential language. Since the C compiler used on each platform depends on the hardware, it converts C program to objective code, and then executes. To solve this problem, our research team developed ANSI C compiler and the EVM. Our ANSI C compiler outputs the SIL code based on stack machine. This paper presents the SIL-to-C decompiler in which converts the SIL code to three address code. Thus, the decompiler allows us to verify SIL code created by ANSI C compiler, and analyze a program from C language source level.

  • PDF

Design and Implementation of Java Bytecode Translator usin Pattern Matching Technique (패턴 매칭 기법을 이용한 자바 바이트코드 변환기의 설계 및 구현)

  • Ko, Kwang-Man
    • Journal of the Institute of Electronics Engineers of Korea CI
    • /
    • v.39 no.4
    • /
    • pp.1-9
    • /
    • 2002
  • The various researches are investigated for translating Bytecode into native code which can be implemented in the specific processor using classical compiling methods to improve the execution speed of the Java application programs. The code generation techniques using pattern matching can generate more high-quality machine code than code expansion techniques. We provide, in this research, the standardized pattern describing methods and pattern matching techniques that can be used to generate the register-based intermediate code which is for the effective native code generation from Bytecode. And we designed and realized the intermediate code translator with which we can generate the high-quality register-based intermediate code using standardized pattern described formerly.

A Study of LLVM-based Embedded System Performance Analyzer (LLVM 기반의 임베디드 시스템 성능 분석기의 연구)

  • Cho, Doosan
    • The Journal of the Convergence on Culture Technology
    • /
    • v.8 no.1
    • /
    • pp.577-582
    • /
    • 2022
  • For developing a new embedded system, an application program/an emulator and a compiler are developed simultaneously. In order to provide the optimal performance of all system components, local optimization should be carried out for the developing process. For this purpose, if a source-level performance analyzer is developed, it is possible to optimize the application program's source code by the performance evaluation. In general, the performance of an application program is determined in the loop iterations. The Intermediate Representation (IR) code generator generates IR code from the source code, and evaluates the execution time with the instructions in the intermediate representation code. If the source code is improved based on the evaluated result, better results can be obtained in the final application code. This study describes the source-level performance analyzer that can be used during the simultaneous development of the new embedded system and its application programs. The performance analyzer makes it possible to more quickly optimize the performance of the new embedded system.

Development of a Computer Code for Low-and Intermediate-Level Radioactive Waste Disposal Safety Assessment

  • Park, J.W.;Kim, C.L.;Lee, E.Y.;Lee, Y.M.;Kang, C.H.;Zhou, W.;Kozak, M.W.
    • Journal of Radiation Protection and Research
    • /
    • v.29 no.1
    • /
    • pp.41-48
    • /
    • 2004
  • A safety assessment code, called SAGE (Safety Assessment Groundwater Evaluation), has been developed to describe post-closure radionuclide releases and potential radiological doses for low- and intermediate-level radioactive waste (LILW) disposal in an engineered vault facility in Korea. The conceptual model implemented in the code is focused on the release of radionuclide from a gradually degrading engineered barrier system to an underlying unsaturated zone, thence to a saturated groundwater zone. The radionuclide transport equations are solved by spatially discretizing the disposal system into a series of compartments. Mass transfer between compartments is by diffusion/dispersion and advection. In all compartments, radionuclides ate decayed either as a single-member chain or as multi-member chains. The biosphere is represented as a set of steady-state, radionuclide-specific pathway dose conversion factors that are multiplied by the appropriate release rate from the far field for each pathway. The code has the capability to treat input parameters either deterministically or probabilistically. Parameter input is achieved through a user-friendly Graphical User Interface. An application is presented, which is compared against safety assessment results from the other computer codes, to benchmark the reliability of system-level conceptual modeling of the code.

Virtual Machine Code Optimization using Profiling Data (프로파일링 데이터를 이용한 가상기계 코드 최적화)

  • Shin, Yang-Hoon;Yi, Chang-Hwan;Oh, Se-Man
    • The KIPS Transactions:PartA
    • /
    • v.14A no.3 s.107
    • /
    • pp.167-172
    • /
    • 2007
  • VM(Virtual Machine) can be considered as a software processor which interprets the machine code. Also, it is considered as a conceptional computer that consists of logical system configuration. But, the execution speed of VM system is much slower than that of a real processor system. So, it is very important to optimize the code for virtual machine to enhance the execution time. Especially the optimizer for a virtual machine code on embedded devices requires the highly efficient performance to the ordinary optimizer in the respect to the optimized ratio about cost. Fundamentally, functions and basic blocks which influence the execution time of virtual machine is found, and then an optimization for them nay get the high efficiency. In this paper, we designed and implemented the optimizer for the virtual(or abstract) machine code(VMC) using profiling. Firstly, we defined the profiling information which is necessary to the optimization of VMC. The information can be obtained from dynamically executing the machine code. And we implemented VMC optimizer using the profiling information. In our implementation, the VMC is SIL(Standard Intermediate Language) that is an intermediate code of EVM(Embedded Virtual Machine). Also, we tried a benchmark test for the VMC optimizer and obtained reasonable results.

VALIDATION OF A DESIGN CODE FOR SODIUM-TO-SODIUM HEAT EXCHANGERS BY UTILIZING COMPUTATIONAL FLUID DYNAMICS (전산유체역학을 이용한 소듐-소듐 열교환기 설계코드의 검증)

  • Kim, D.;Eoh, J.H.;Lee, T.H.
    • Journal of computational fluids engineering
    • /
    • v.21 no.1
    • /
    • pp.19-29
    • /
    • 2016
  • A Prototype Gen-IV Sodium-cooled Fast Reactor which is one of the $4^{th}$ generation nuclear reactors is in development by Korea Atomic Energy Research Institute. The reactor is composed of four main fluid systems which are categorized by its functions, i.e., Primary Heat Transport System, Intermediate Heat Transport System, Decay Heat Removal System and Sodium-Water Reaction Pressure Relief System. The coolant of the reactor is liquid sodium and sodium-to-sodium heat exchangers are installed at the interfaces between two fluid systems, Intermediate Heat Exchangers between the Primary Heat Transport System and the Intermediate Heat Transport System and Decay Heat Exchangers between the Primary Heat Transport System and the Decay Heat Removal System. For the design and performance analysis of the Intermediate Heat Exchanger and the Decay Heat Exchanger, a computer code was written during previous step of research. In this work, the computer code named "SHXSA" has been validated preliminarily by computational fluid dynamics simulations.

Intermediate Language Translator for Execution of Java Programs in .NET Platform

  • Lee, Yang-Sun;Na, Seung-Won;Hwang, Dae-Hoon
    • Journal of Korea Multimedia Society
    • /
    • v.7 no.6
    • /
    • pp.824-831
    • /
    • 2004
  • This paper presents the java bytecode-to-.NET MSIL intermediate language translator which enables the execution of the java program in .NET environments without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into MSIL codes. Java, one of the most widely used programming languages recently, is the language invented by James Gosling at Sun Microsystems, which is the next generation language independent of operating systems and hardware platforms. Java source code is compiled into bytecode as intermediate code independent of each platform by compiler, and also executed by JVM. .NET language such as C# and .NET platform in Microsoft Corp. has been developed to meet the needs of programmers, and cope with Java and JVM platform of Sun Microsystems. After compiling, a program written in .NET language is converted to MSIL code, and also executed by .NET platform but not in JVM platform. For this reason, we designed and implemented the java bytecode-to-.NET MSIL translator system for programs written in java language to be executed in the. NET platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides a environment for programmers to develop application programs without limitations of programming languages.

  • PDF

Design and Implementation of a CHILL96 Compiler Using C++ Intermediate Code (C++ 중간 코드를 이용한 CHILL96 컴파일러의 설계 및 구현)

  • Keum, Chang-Sup;Lee, Joon-Kyung;Lee, Dong-Gill;Lee, Byung-Sun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.5
    • /
    • pp.1559-1569
    • /
    • 2000
  • CHILL96 is recommended as development language for telecommunication systems by ITU-T. In this paper, we describe the design and implementation of CHILL96 compiler using C++ intermediate code. Translation rules from CHILL96 to C++ are designed for code generation. The CHILL96 compiler is composed of four parts such s syntax analyzer, visibility checker, semantic analyzer and code generator, and each part has very close relationship with symbol table and abstract syntax tree. Performance evaluation has been performed for feasibility study. After performance evaluation, we conclude the CHILL96 compiler using C++ intermediate sho good performance compared with other CHILL compilers. In addition to high performance and portability, the CHILL96 compiler using C++ intermediate code helps application developers to maintain and enhance telecommunications software by translating CHILL96 program to C++ program.

  • PDF

Pattern Matching Optimizer for Virtual Machine Codes (가상 기계 코드를 위한 패턴 매칭 최적화기)

  • Yi Chang-Hwan;Oh Se-Man
    • Journal of Korea Multimedia Society
    • /
    • v.9 no.9
    • /
    • pp.1247-1256
    • /
    • 2006
  • VM(Virtual Machine) can be considered as a software processor which interprets the abstract machine code. Also, it is considered as a conceptional computer that consists of logical system configuration. But, the execution speed of VM system is much slower than that of a real processor system. So, it is very important to optimize the code for virtual machine to enhance the execution time. In this paper, we designed and implemented the optimizer for the virtual(or abstract) machine code(VMC) which is actually SIL(Standard Intermediate Language) that is an intermediate code of EVM(Embedded Virtual Machine). The optimizer uses the pattern matching optimization techniques reflecting the characteristics of the VMC as well as adopting the existing optimization methodology. Also, we tried a benchmark test for the VMC optimizer and obtained reasonable results.

  • PDF