엑스86 애플리케이션 바이너리를 암 호스트에서 큐이엠유를 이용하여 실행시키는 환경에서의, 암의 미사용 레지스터를 이용한 최적화 방법
    1.
    发明公开
    엑스86 애플리케이션 바이너리를 암 호스트에서 큐이엠유를 이용하여 실행시키는 환경에서의, 암의 미사용 레지스터를 이용한 최적화 방법 无效
    使用ARM的使用注册表的优化方法在X-86应用程序二进制环境中与ARM主机中的QEMU一起运行

    公开(公告)号:KR1020130078275A

    公开(公告)日:2013-07-10

    申请号:KR1020110147122

    申请日:2011-12-30

    Abstract: PURPOSE: An optimizing method capable of using an unused register of an advanced reduced instruction set computer (RISC) machine (ARM) in the environment which executes an x86 application binary in the ARM host by using QEMU is provided to match a part of the regional variables of the intermediate code with the register, which is unused when the QEMU generates the code, among the ARM, thereby reducing the x86 binary execution time which is executed in the ARM host. CONSTITUTION: An intermediate code is generated by reading an x86 application binary as a basic block (S100). A machine code generated/performed through the optimization of the intermediate code (S200). Previous steps are repeated for the next basic block (S300). A part of the values which have to be maintained between the machine codes are matched with the register which is unused when the QEMU generates the code. [Reference numerals] (S100) Step of generating an intermediate code by reading an x86 application binary as a basic block; (S200) Step of generating and performing a machine code through the optimization of the intermediate code; (S300) Step of repeating previous step 1 and 2 for the next basic block

    Abstract translation: 目的:提供一种能够使用在ARM主机中使用QEMU执行x86应用程序二进制的环境中的高级精简指令集计算机(RISC)机器(ARM)的未使用寄存器的优化方法,以匹配部分区域 具有寄存器的中间代码的变量,当QEMU生成代码时未被使用,从而减少在ARM主机中执行的x86二进制执行时间。 构成:通过读取作为基本块的x86应用程序二进制生成中间代码(S100)。 通过中间代码的优化生成/执行机器代码(S200)。 对于下一个基本块重复以前的步骤(S300)。 在机器代码之间必须保持的值的一部分与当QEMU生成代码时未使用的寄存器匹配。 (附图标记)(S100)通过读取作为基本块的x86应用二进制生成中间代码的步骤; (S200)通过中间代码的优化来生成和执行机器代码的步骤; (S300)对下一个基本块重复上一步骤1和2的步骤

    메소드 특수화를 이용한 확장된 널 포인터 검사 제거 방법
    2.
    发明公开
    메소드 특수화를 이용한 확장된 널 포인터 검사 제거 방법 无效
    一种使用方法专用来消除空点检查的扩展方法

    公开(公告)号:KR1020130077673A

    公开(公告)日:2013-07-09

    申请号:KR1020110146516

    申请日:2011-12-29

    CPC classification number: G06F11/28 G06F8/40

    Abstract: PURPOSE: An extended null pointer test removal method using method specialization is provided to call a callee method where a null pointer test is removed if the argument of a callee method called during a compile process is not null, thereby removing unnecessary null pointer tests. CONSTITUTION: If a method is called during a compile process, the argument of a callee method is checked (S100). If the argument of the callee method is not null, the existence of a callee method where a null pointer test is removed is checked for the callee method (S200). If the callee method where a null pointer test is removed does exist, the callee method where a null pointer test is removed is called (S300). If the callee method where a null pointer test is removed does not exist yet, a new callee method where a null pointer test is removed is compiled, generated and called for the callee method. [Reference numerals] (S100) Step of checking if a factor of a callee method is in null value when the method is called during a compile process; (S200) Step of checking the existence of the callee method without a null pointer test when the factor is not in the null value; (S300) Step of calling the callee method without the null pointer test

    Abstract translation: 目的:提供使用方法专用的扩展空指针测试删除方法来调用被调用方法,如果在编译过程中调用的调用方法的参数不为空,则删除空指针测试,从而删除不必要的空指针测试。 构成:如果在编译过程中调用了一个方法,则检查被调用方法的参数(S100)。 如果被调用方法的参数不为空,则检查删除空指针测试的被叫方法的存在(S200)。 如果删除空指针测试的被调用方法存在,则调用空指针测试被删除的被叫方法(S300)。 如果删除空指针测试的被调用方法尚不存在,那么将删除空指针测试的新的被调用方法被编译,生成并被调用为被叫方法。 (附图标记)(S100)在编译处理中调用该方法时,检查被叫方法的因素是否为空值的步骤; (S200)当系数不在空值时,不进行空指针测试,检查被叫方法的存在的步骤; (S300)调用被叫方法而不进行空指针测试的步骤

    멀티코어 환경에서의 효율적인 적시 컴파일 수행 방법
    3.
    发明授权
    멀티코어 환경에서의 효율적인 적시 컴파일 수행 방법 有权
    一种在多核环境中执行有效的即时编译的方法

    公开(公告)号:KR101100439B1

    公开(公告)日:2011-12-30

    申请号:KR1020100129537

    申请日:2010-12-16

    Inventor: 문수묵 정동헌

    CPC classification number: G06F9/468 G06F8/41 G06F9/524

    Abstract: PURPOSE: An effective JITC performing method in a multicore environment is provided to support JITC requests by sharing a main thread and a thread performing a JITC and efficiently utilizing a multicore. CONSTITUTION: A JITC thread with a relatively lower priority than a main thread is generated if a compile request about a predetermined code section is received among performing the application(S200). The JITC thread is performed if the idle time of the main thread or the machine code of the JITC thread is necessary(S300). A machine code generated by performing the JITC thread is stored in a code cache(S400).

    Abstract translation: 目的:提供多核环境中有效的JITC执行方法,通过共享主线程和执行JITC的线程并有效利用多核来支持JITC请求。 构成:如果在执行应用程序之间接收到关于预定代码段的编译请求,则生成具有比主线程优先级低的JITC线程(S200)。 如果需要主线程的空闲时间或JITC线程的机器代码,则执行JITC线程(S300)。 通过执行JITC线程生成的机器代码被存储在代码高速缓存中(S400)。

    동적 기계어 코드 생성시 명령어 및 데이터의 배치 방법 및 장치
    5.
    发明公开
    동적 기계어 코드 생성시 명령어 및 데이터의 배치 방법 및 장치 有权
    在动态生成机器代码时安装说明和数据的方法和装置

    公开(公告)号:KR1020110094977A

    公开(公告)日:2011-08-24

    申请号:KR1020100014740

    申请日:2010-02-18

    CPC classification number: G06F9/30 G06F8/40

    Abstract: PURPOSE: A command/data arrangement method and device thereof while generating a dynamic machine code are provided to increase locality of the command and the data by minimizing an insertion of the branch command. CONSTITUTION: A controller(120) generates a command block by storing a generated command to a first buffer(111) is orders. If a command refers the data, the controller generates a data block by storing the data to a second buffer(112) in orders. When the distance between a data referring command included in the command block and data corresponding to the same reaches the limit of an offset range of the data referring command, the controller flushes a first and second buffer to an execution code.

    Abstract translation: 目的:提供一种生成动态机器码的命令/数据排列方法及其装置,以通过最小化分支命令的插入来增加命令和数据的位置。 构成:控制器(120)通过将生成的命令存储到第一缓冲器(111)作为命令来生成命令块。 如果命令参考数据,则控制器通过按照顺序将数据存储到第二缓冲器(112)来生成数据块。 当包括在命令块中的数据引用命令与对应的数据引用命令之间的距离达到数据引用命令的偏移范围的限制时,控制器将第一和第二缓冲器刷新到执行代码。

    내장형 자바시스템을 위한 인스톨-타임 컴파일러 프로그램을 기록한 컴퓨터 판독가능한 기록매체
    6.
    发明授权
    내장형 자바시스템을 위한 인스톨-타임 컴파일러 프로그램을 기록한 컴퓨터 판독가능한 기록매체 有权
    具有嵌入式系统的安装时间编译程序的计算机可读记录介质

    公开(公告)号:KR101088515B1

    公开(公告)日:2011-11-30

    申请号:KR1020100002022

    申请日:2010-01-08

    Abstract: 본 발명은 내장형 자바시스템을 위한 인스톨-타임 컴파일러에 관한 것으로서, 보다 구체적으로는 (1) 응용프로그램 메모리(M
    app )만을 사용하며, 외부로부터 입력되는 입력 Jar 파일에 포함되어 있는 클래스 파일 및 리소스 파일 목록을 읽어 들이는 응용프로그램 리더부; (2) 응용프로그램 메모리(M
    class )만을 사용하며, 클래스 파일들을 읽어 들이고 바이트코드를 검증하는 클래스 파일 리더/바이트코드 검증부; (3) 메소드 메모리(M
    method )를 사용하여 변환 작업을 수행하되, 변환 중 최적화할 참조를 접근하는 바이트코드를 만나게 되면 상기 응용프로그램 메모리(M
    app )에 참조 리스트를 만들고, 상기 응용프로그램 메모리(M
    app )의 참조 리스트를 참조하여 코드를 생성하는 바이트코드 변환부; (4) 클래스 메모리(M
    class )만을 사용하며, 상기 파일 리더/바이트코드 검증부로부터 검증된 클래스 데이터 구조 및 런타임 함수들을 저장하는 클래스 데이터구조/런타임 함수부; (5) 응용프로그램 메모리(M
    app )만을 사용하며, 상기 생성된 코드를 플랫폼 상에서 실행 가능하도록 바인딩 및 재배치 처리를 통하여 수정하는 바인딩/재배치부; (6)응용프로그램 메모리(M
    app )만을 사용하며, 상기 바인딩/재배치부로부터 전송된 클래스 파일을 이진 파일로 생성하는 이진 파일 생성부; 및 (7) 응용프로그램 메모리(M
    app )만을 사용하며, 상기 이진 파일 생성부에서 생성된 이진 파일을 출력 Jar 파일로 압축하여 자바 가상머신으로 전송하는 Jar 압축부를 포함하는 것을 그 구성상의 특징으로 한다.
    본 발명에서 제안하고 있는, 내장형 시스템을 위한 인스톨-타임 컴파일러에 따르면, 응용프로그램 분석에 기초하여, 인스톨-타임 컴파일러를 참조 접근 최적화 및 메모리 사용량을 고려한 최적화를 통해 최적화시킴으로써, 구현하기 어려운 최적화의 구현을 가능하게 하며, 특히 메모리가 적은 내장형 시스템의 메모리 효율성을 높일 수 있게 한다.

    가상머신을 위한 추가코드 생성장치 및 방법
    7.
    发明公开
    가상머신을 위한 추가코드 생성장치 및 방법 无效
    虚拟机的附加码生成装置和方法

    公开(公告)号:KR1020120083803A

    公开(公告)日:2012-07-26

    申请号:KR1020110005144

    申请日:2011-01-18

    CPC classification number: G06F9/4552 G06F8/40 G06F8/443 G06F9/4555

    Abstract: PURPOSE: An additional code generating apparatus for a VM(Virtual Machine) and a method thereof are provided to increase a area able to accelerate through a JITC(Just In Time Compiler) and improve performance of the VM by increasing generation of a machine code. CONSTITUTION: An information collecting unit(201) collects trace information indicating logic flow which a byte code is performed. If the byte code is not compiled, a code decision unit(202) decides a byte code section to compile into a machine code by using the trace information. A compiler compiles the byte code section into the machine code. The compiler and an interpreter performing the byte code are operated on separate cores. The information collecting unit searches for a route of the byte code performed on the interpreter and collects trace information.

    Abstract translation: 目的:提供用于VM(虚拟机)的附加代码生成装置及其方法,以通过增加机器代码的生成来增加能够通过JITC(即时编译器)加速的区域并提高VM的性能。 构成:信息收集单元(201)收集指示执行字节代码的逻辑流的跟踪信息。 如果字节码未被编译,则代码判定单元(202)通过使用跟踪信息来决定字节代码段以编译成机器代码。 编译器将字节码部分编译成机器代码。 执行字节码的编译器和解释器在独立的内核上运行。 信息收集单元搜索在解释器上执行的字节码的路由并收集跟踪信息。

    핫 패스 기반의 자바스크립트 동적 컴파일을 위한 생성 코드 재활용 방법
    8.
    发明授权
    핫 패스 기반의 자바스크립트 동적 컴파일을 위한 생성 코드 재활용 방법 有权
    如何回收为基于热路径的JavaScript动态编译生成的代码

    公开(公告)号:KR101064741B1

    公开(公告)日:2011-09-15

    申请号:KR1020100013631

    申请日:2010-02-12

    Inventor: 문수묵 오형석

    Abstract: 본 발명은 핫 패스 기반의 자바스크립트 동적 컴파일을 위한 생성 코드 재활용 방법에 관한 것으로서, 보다 구체적으로는 (a) 동적 컴파일 수행 중, 재배치에 필요한 재배치 정보를 수집하는 단계; (b) 상기 단계 (a)에서 수집된 재배치 정보를, 동적 컴파일 수행 후 생성된 코드와 함께 파일 시스템에 저장하는 단계; (c) 자바스크립트 엔진이 재시작 된 경우, 동적 컴파일을 수행하기 전에 상기 파일 시스템에서 동적 컴파일 대상 구역에 대한 코드의 존재 여부를 확인하는 단계; 및 (d) 상기 단계 (c)에서 코드가 존재하는 것으로 확인되는 경우, 상기 파일 시스템으로부터 상기 코드와 상기 재배치 정보를 읽어 들여 읽어 들인 상기 코드를 상기 재배치 정보를 이용하여 재배치한 후 수행하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
    본 발명에서 제안하고 있는 핫 패스 기반의 자바스크립트 동적 컴파일을 위한 생성 코드 재활용 방법에 따르면, 동적 컴파일 수행으로 생성된 코드와 관련 재배치 정보를 파일 시스템에 저장해 둠으로써, 자바스크립트 엔진이 재시작된 경우 해당 코드에 대한 동적 컴파일을 수행하는 대신에 파일 시스템으로부터 해당 코드와 관련 재배치 정보를 읽어 들여 재배치 과정만 거친 후 해당 코드를 수행할 수 있다. 그 결과, 컴파일 과정 및 컴파일을 위한 자료 수집 과정 없이 빠르게 생성된 코드를 재활용할 수 있다.

    Abstract translation: 本发明涉及用于动态代码编译的基于热路径的JavaScript动态重新编译方法,并且更具体地涉及(a)收集动态编译期间重定位所需的重定位信息; (b)将步骤(a)中收集的重定位信息与动态编译后生成的代码一起存储在文件系统中; (c)如果JavaScript引擎重新启动,则在执行动态编译之前检查文件系统中是否存在动态编译对象区域的代码; 并且(d)如果在步骤(c)中发现代码存在,则从文件系统读取代码和重定位信息,使用重定位信息重新排列所读取的代码,并执行 并包括其构成特征。

    동적 기계어 생성시 분기 명령어 처리 방법
    9.
    发明公开
    동적 기계어 생성시 분기 명령어 처리 방법 无效
    在动态生成机器代码时处理分支指令的方法

    公开(公告)号:KR1020110094978A

    公开(公告)日:2011-08-24

    申请号:KR1020100014741

    申请日:2010-02-18

    Abstract: PURPOSE: A method for processing a branch command when generating a dynamic machine language is provided to increase a locality of data and reduce using amount of a memory. CONSTITUTION: A PC-based branch command is generated if a branch command is required when generating a command(S210). A memory space for an execution code is allocated to determine the PC-based branch command(S220). If the address of the PC-based branch command is corrected, the PC-based branch command confirms the offset and is completed(S230).

    Abstract translation: 目的:提供一种在生成动态机器语言时处理分支命令的方法,以增加数据的位置并减少存储器的使用量。 构成:如果在生成命令时需要转移命令,则生成基于PC的分支命令(S210)。 分配用于执行代码的存储器空间以确定基于PC的分支命令(S220)。 如果基于PC的分支命令的地址被校正,则基于PC的分支命令确认偏移并完成(S230)。

    가상머신을 위한 멀티미디어 데이터 선행처리장치 및 방법
    10.
    发明公开
    가상머신을 위한 멀티미디어 데이터 선행처리장치 및 방법 无效
    用于虚拟机预处理多媒体数据的装置和方法

    公开(公告)号:KR1020120083801A

    公开(公告)日:2012-07-26

    申请号:KR1020110005142

    申请日:2011-01-18

    Abstract: PURPOSE: A multimedia data pre-processing apparatus for VM(Virtual Machine) and a method thereof are provided to reduce time for processing multimedia data, thereby rapidly executing an application. CONSTITUTION: A detection unit(201) detects multimedia data included in an application. A generating unit(202) generates a thread processing the multimedia data. The allocation unit(203) assigns the thread to an idle core. The detection unit confirms an attribute indicating the multimedia data included in a code of the application and detects the multimedia data based on the attribute. The thread decodes the multimedia data into a format able to be processed by the application. The detection unit confirms the code of the application and detects the name of the multimedia data.

    Abstract translation: 目的:提供一种用于VM(虚拟机)的多媒体数据预处理装置及其方法,以减少处理多媒体数据的时间,从而快速执行应用程序。 构成:检测单元(201)检测包括在应用中的多媒体数据。 生成单元(202)生成线程处理多媒体数据。 分配单元(203)将线程分配给空闲核心。 检测单元确认指示应用程序代码中包含的多媒体数据的属性,并根据该属性检测多媒体数据。 该线程将多媒体数据解码为能够被应用程序处理的格式。 检测单元确认应用程序的代码并检测多媒体数据的名称。

Patent Agency Ranking