Partitioning code in program code conversion to account for self-modifying code

A code and object code technology, applied in the field of program code conversion methods and equipment, can solve problems such as unrecognizable object codes

Active Publication Date: 2006-09-20
INT BUSINESS MASCH CORP
View PDF3 Cites 4 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

In these cases, if the source program modifies its own code at a subject address, the translator cannot identify which translated object code is invalid

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Partitioning code in program code conversion to account for self-modifying code
  • Partitioning code in program code conversion to account for self-modifying code
  • Partitioning code in program code conversion to account for self-modifying code

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0022] figure 1 An exemplary apparatus for implementing the various novel features discussed below is shown in . figure 1 A target processor 13 is depicted comprising target registers 15 and a memory 18 storing a plurality of software components 19, 20, 21, wherein such memory 18 also provides for a basic block cache 23, a global register store 27, and the subject code to be translated 17 working storage. The software components include an operating system 20 , translator code 19 and translated code 21 . The translator code 19 can be used, for example, as an emulator for translating subject code of one ISA into translated code for another ISA, or as an accelerator for translating subject code into translated code for the same ISA.

[0023] The translator 19, i.e. the compiled version of the source code implementing the translator, and the translated code 21, i.e. the translation of the subject code 17 produced by the translator 19, runs in conjunction with an operating syste...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

A partitioning technique utilized by a translator to divide subject code space into partitions, where each partition contains a distinct set of basic blocks of subject code and corresponding target code. Thus the translator's representation of subject code and subject code translations is divided into non-overlapping regions of subject memory. In this manner, when the subject program modifies subject code, only those partitions actually affected by the self-modifying code need be discarded and all translations in unaffected partitions can be kept. This partitioning technique is advantageous in limiting the amount of target code that must be retranslated in response to self-modifying code operation. In another process, the partitioning technique allows multithreaded subject programs that also involve self-modifying code to perform code modification in a thread-safe manner.

Description

technical field [0001] The present invention relates generally to the field of computers and computing software, and more particularly to program code conversion methods and apparatus such as used in code translators, emulators and accelerators. Background technique [0002] In both embedded and non-embedded CPUs, it has been found that the performance of the main body of the software can be "boosted" if the host instruction set architecture (ISA) in which it exists has transparent access to the associated software, or it can be "translated" into Many capable processors with better cost / performance advantages. It has also been found that the main CPU architectures are time-dependent to their ISAs and do not improve performance or market reach. This structure can benefit from a "synthetic CPU" co-architecture. [0003] A program code conversion method and apparatus facilitates such acceleration, translation and co-architecture capabilities and is described, for example, in ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(China)
IPC IPC(8): G06F9/45G06F9/445G06F9/38G06F9/44
CPCG06F9/3812G06F9/45516
Inventor 艾利克斯·布朗保罗·托马斯·诺尔斯杰兰特·诺斯
Owner INT BUSINESS MASCH CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products