CN100359472C - Method for processing library function call in binary translation - Google Patents

Method for processing library function call in binary translation Download PDF

Info

Publication number
CN100359472C
CN100359472C CNB2005100803398A CN200510080339A CN100359472C CN 100359472 C CN100359472 C CN 100359472C CN B2005100803398 A CNB2005100803398 A CN B2005100803398A CN 200510080339 A CN200510080339 A CN 200510080339A CN 100359472 C CN100359472 C CN 100359472C
Authority
CN
China
Prior art keywords
function
built
carry out
call
translation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005100803398A
Other languages
Chinese (zh)
Other versions
CN1892602A (en
Inventor
杨浩
唐锋
谢海斌
武成岗
张兆庆
冯晓兵
崔慧敏
陈龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2005100803398A priority Critical patent/CN100359472C/en
Publication of CN1892602A publication Critical patent/CN1892602A/en
Application granted granted Critical
Publication of CN100359472C publication Critical patent/CN100359472C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The present invention discloses library function calling processing method in binary system translation. It contains to make identifying and lifting library function to source x 86 binary system program; to packaged library function, to make parameter transmission and return value processing by target machine local promise, complete in this way saving push and taking return value analogy from stack, avoiding frequent memory operation, using local library function without code expansion resulted performance loss because translating PLT, fix up function, library function source binary code, raising program execution efficiency; to PLT short circuit library function, control flow without entering PLT and dynamic link unit fix up function, flow of control directly entering library function local code, capable of preferably raising program execution efficiency.

Description

The disposal route of library function call in a kind of binary translation
Technical field
The present invention relates to the binary translation technology of computer realm, relate in particular under the mode of being association of activity and inertia in the binary translation disposal route library function call.
Background technology
The binary translation technology is a research focus that solves the software transplanting problem at present, existing software transplanting can be carried out to processor newly developed, make new processor break away from forward compatible constraint, significant to the popularization of the development that promotes processor architecture and homemade microprocessor.
Before introducing the present invention, at first concise and to the point explanation some background technologies involved in the present invention mainly comprise: the characteristics of the binary translation system of being association of activity and inertia; Be performed the reason that translation interface between program and the system fixes on the system call one-level; The principle of work of process chained list (Procedure Linkage Table is hereinafter to be referred as PLT) and global offset table (Global Offset Table is hereinafter to be referred as GOT); And the transmission method of X86 and MIPS parameter and rreturn value when carrying out function call.
The binary translation system of being association of activity and inertia combines the advantage of dynamic and static binary translation system.Optimization is based on static state, and the local code that utilizes traditional static compile optimization method that translation is come out carries out depth optimization, avoids the time loss of dynamic optimization, and the target machine local code that we claim static module to translate out is static local code.Dynamic module is carried out static local code graftabl, and translates the source binary code that static module can not be translated, and the target of redirect and indirect call is indirectly passed to static module help it further to enlarge the scope of translation optimization.All over after the iteration translation of being association of activity and inertia, can access quality local code preferably through several.
The program that is performed fix on the system call one-level with translation interface between the system rather than fix on master file and shared library between reason mainly contain 2 points: (1) may cause global variable that a plurality of copies are arranged in different files, is not easy to management; (2) for structure variable, because the source is different with the target machine alignment thereof, taking up room may be different, may cause the misquotation of the built-in function of target machine this locality to the structure variable of X86.
GOT (global offset table) and PLT (process chained list) are the normal structures of the processing built-in function dynamic link that provides of ELF (can carry out and can link form) file.The effect of GOT is the address of writing down the built-in function that calls in the file, and this address is filled in by dynamic linker when library function call takes place.PLT comprises two parts, the PLT list item (PLT0) that all built-in functions are public, and the PLT list item of each built-in function oneself (PLTi, i=1,2 ...).When calling built-in function, control changes among the PLTi of built-in function correspondence, jumps to indirectly then among the PLT0, and PLT0 calls the fixup function of dynamic linker, is carried out the built-in function that will call and is filled in GOT by fixup again.When calling this built-in function more later on, just transfer control to built-in function according to the address among the GOT.The false code of PLT as shown in Figure 1.
The parameter transmission of X86/Linux system adopts the storehouse form to carry out.Homophony function (Caller) deposits parameter in the storehouse in, and called function (Callee) takes out parameter from storehouse, participates in operation accordingly.The transfer mode of the rreturn value situation of dividing is handled, and for single data, transmits by eax register or flating point register ST (0); If structure type, when passing ginseng with the rreturn value address as the parameter pop down, Callee finishes transmission work with the address that rreturn value deposits the parameter appointment in.The biography ginseng of MIPS/Linux system and biography rreturn value more complicated, the form of employing storehouse and register combination.Pass the ginseng mode to integer and floating number differentiating and processing, 4 integer register ($4-$7 be provided) and 4 flating point register ($f12-$f15) be used for passing and join, when register is not enough by storehouse.The mode of transmitting rreturn value is similar to and passes the ginseng mode, and special return register is arranged, and the storage that surpasses return register when rreturn value limits, and then transmits by storehouse.
By we know to the analysis of background knowledge, because the translation interface fixes on the system call one-level, the built-in function code of source machine also is the object that is translated.Owing to adopt the binary translation mode be association of activity and inertia, can be in advance the built-in function code of source machine shared library be carried out static translation, static local code is existed on the disk, dynamic module is the local code graftabl of the shared library of needs.
The disposal route to library function call mainly contains two kinds in the binary translation at present: a kind of method is the simple packing to the local library function, this method is mainly used in translating the interface and fixes on situation between master file and the shared library, concrete is exactly storehouse and the parameter pop down and the behavior of getting rreturn value of simulating X86 on target machine with internal memory, transmit parameter and rreturn value between method by packing and the local built-in function, still have the problem of foregoing a plurality of copy and alignment thereof; Another kind method is dynamic link mechanism and parameter and the rreturn value transmission agreement of simulation X86 on target machine, and this method is mainly used in translating the situation that the interface fixes on the system call one-level.Concrete is exactly storehouse and the parameter pop down and the behavior of getting rreturn value of simulating X86 on target machine with internal memory, according to the execution flow process that X86 handles dynamic link, the source binary code of PLT, fixup function, built-in function is all translated execution.Because translation can cause code to expand, and therefore can cause the decline of carrying out efficient.
Summary of the invention
The objective of the invention is defective, eliminate because the problem that a plurality of copies of global variable and structure variable alignment thereof difference are brought improves the efficient of in the binary translation library function call being handled at the prior art existence.
In order to achieve the above object, the invention provides the disposal route of library function call in a kind of binary translation, may further comprise the steps:
A. set up the built-in function classification inquiry table;
B. utilize the built-in function in the shared library that the static module in the binary translation system of being association of activity and inertia relates to master file and it to translate;
C. before dynamic translation was transferred in control, the good local code graftabl of static translation, this part local code comprised the built-in function two parts that are performed in master file and the shared library;
D. in target machine, simulate register and the storehouse of X86 with internal memory; Concrete definition as shown in Figure 2;
E. successively each fundamental block in the X86 binary program is handled, got first fundamental block in the X86 binary program;
Whether the instruction type of f. differentiating the END instruction of fundamental block is the CALL instruction, if, then carry out step g, if not, then carry out step h;
G. call the CALL command process module and handle the CALL instruction;
H. judge whether that all fundamental blocks have all handled? if then finish; If not, then carry out step I;
I. get next fundamental block, carry out step f then.
In such scheme, can pack built-in function is a kind of built-in function, does not have a plurality of copies of global variable and structure variable alignment thereof difference, can call local built-in function.
In such scheme, PLT short circuit built-in function is a kind of built-in function, and its local code was translated at static module, and dynamic module is directly jumped in the static local code, does not need translation to carry out PLT and fixup function.
In such scheme, comprise following steps:
Is f1) target of judging CALL a built-in function? if, then carry out step f2, if not, then carry out step f8;
F2) inquiry built-in function sorted table;
F3) judge whether it is to pack built-in function, if, carry out step f4, if not, carry out step f5;
F4) carrying out packing built-in function handles;
F5) judge whether it is PLT short circuit built-in function? if, carry out step f6, if not, carry out step f7;
F6) carrying out PLT short circuit built-in function handles;
F7) parameter of simulation X86 and rreturn value transmission agreement on target machine according to the execution flow process that X86 handles dynamic link, are all translated execution to the source binary code of PLT, fixup function, built-in function;
F8) the simulation X86 method of transmitting the agreement of parameter and rreturn value is called the generic function of this master file inside and is handled.
In such scheme, in step f4, comprise following substep:
F41) according to the formal parameter explanation of corresponding built-in function, in this fundamental block, look for the stacked statement of parameter forward;
F42) judge whether to search successfully? if, then carry out step f43, if not, then carry out step f44;
F43) delete local code corresponding behind the stacked instruction translation of those parameters that finds in this fundamental block, and form following local code: these parameters are put in relevant register and the storehouse according to the agreement that target machine transmits parameter; All parameters of X86 simulation register ESP=X86 simulation register ESP-are size always; Call the local library function; Transmit the agreement of rreturn value according to target machine and take out rreturn value, put in X86 simulation register or the internal memory according to the X86 agreement then;
In such scheme, in step f6, comprise following substep:
F61) in the local code of local code that static part provides and dynamic part translation, search the local code of current built-in function to be processed;
F62) judge whether to search successfully? if, carry out step f63, if not, carry out step f64;
F63) the CALL instruction translation that calls built-in function is become following local code: jump to built-in function local code storage addresses in internal memory, and the register of appointing is put in the return address;
F64) generating jump target is empty transfer instruction, and carries out mark, simultaneously the register of appointing is put in the return address, after the local code graftabl of built-in function or translation, the storage address of local code is inserted in the jump instruction again.
Therefore, the present invention discerns and promotes the library function call in the X86 binary program of source as much as possible; For packing built-in function, transmit parameter and rreturn value processing with the agreement of target machine this locality, saved X86 parameter pop down like this and from storehouse, got the simulation of rreturn value, avoided frequent internal memory operation, use local built-in function, also the performance loss that can not cause code to expand and cause because of the source binary code of translation PLT, fixup function, built-in function has improved the efficient that program is carried out; For PLT short circuit built-in function, though continue to safeguard X86 simulation storehouse, but control stream does not enter the fixup function of PLT and dynamic linker, promptly do not translate the source binary code of the fixup function of PLT and dynamic linker, avoided because the performance loss that translation PLT, fixup function cause code to expand and cause, control stream directly enters the local code of built-in function, also the efficient of the execution of raising program preferably.
In sum, the raising on the performance of among the present invention the processing that can pack built-in function being brought is better than the processing to PLT short circuit built-in function, but does not have universality for built-in function, and not every built-in function all is to pack built-in function; Though PLT short circuit built-in function is big to the contribution that performance improves not as packing built-in function, has stronger universality.But generally speaking, the processing of two kinds of situations all has efficient preferably.
Description of drawings
Fig. 1 is false code (the selecting from the ELF handbook) synoptic diagram of PLT in the prior art;
Fig. 2 is the register and the storehouse synoptic diagram of simulating X86 in the prior art in the target machine with internal memory;
Fig. 3 is the process flow diagram of the disposal route of library function call in a kind of binary translation among the present invention;
Fig. 4 is the process flow figure that among the present invention CALL is instructed;
Fig. 5 is to packing the process flow figure of built-in function among the present invention;
Fig. 6 is to the process flow figure of PLT short circuit built-in function among the present invention.
Embodiment
In the present invention, two terms of definition: can pack built-in function and PLT short circuit built-in function.If certain built-in function does not have a plurality of copies of global variable and these two kinds of problems of structure variable alignment thereof difference, can call local built-in function so, so just the performance loss that can not cause code to expand and cause because of the source binary code of translation PLT, fixup function, built-in function claims this class built-in function for can pack built-in function among the present invention; The local code of some built-in function was translated at static module, dynamic module can directly be jumped in the static local code, do not need translation to carry out PLT and fixup function, be equivalent to dynamic link is reverted back static linkage to a certain extent, also avoided because the performance loss that translation PLT, fixup function cause claims among the present invention that this class built-in function is a PLT short circuit built-in function.
The present invention proposes the disposal route of library function call in a kind of binary translation, for packing built-in function and PLT short circuit built-in function is handled respectively, setting up simultaneously the built-in function classification inquiry table before handling distinguishes and can pack built-in function and PLT short circuit built-in function, so that each built-in function classification is handled, if certain built-in function not in classification inquiry table, then takes the dynamic link mechanism of simulation X86 on target machine and the method for parameter and rreturn value transmission agreement to handle.
The present invention be based upon following three in principle basic: the one, discern and promote the library function call of former X86 binary program as much as possible; The 2nd, avoid the storehouse of simulation X86 when handling library function call as much as possible to packing built-in function, but arrange to handle library function call, thereby improve the execution efficient of the local code of translating out with the local function call of target machine; The 3rd, utilize translated local code as much as possible for PLT short circuit built-in function, especially the higher local code of quality of static module translation, avoid translating the X86 code of PLT and dynamic linker as much as possible, thereby improve the execution efficient of the local code of translating out.
Describe technical scheme of the present invention with reference to the accompanying drawings in detail.
As shown in Figure 3, the disposal route of library function call may further comprise the steps in a kind of binary translation:
Step 1 at first, is set up the built-in function classification inquiry table;
The static module and the dynamic module of being association of activity and inertia in the binary translation system all will be shown with reference to this;
Step 2 utilizes the built-in function in the shared library that the static module in the binary translation system of being association of activity and inertia relates to master file and it to translate;
Step 3, before dynamic translation was transferred in control, the good local code graftabl of static translation, this part local code comprised the built-in function two parts that are performed in master file and the shared library;
Step 4, in target machine with register and the storehouse of internal memory simulation X86; Concrete definition as shown in Figure 2;
Step 5 is handled each fundamental block in the X86 binary program successively, gets first fundamental block in the X86 binary program;
Step 6, whether the instruction type of differentiating the END instruction of fundamental block is the CALL instruction, if, then carry out step 7, if not, then carry out step 8;
Step 7 is called the CALL command process module and is handled the CALL instruction;
Does step 8 judge whether that all fundamental blocks have all handled? if then finish; If not, then carry out step 9;
Step 9 is got next fundamental block, carry out step 6 then.
As shown in Figure 4, in step 6, comprise following steps:
Step 61, is the target of judging CALL a built-in function? if, then carry out step 62, if not, then carry out step 68;
Step 62, inquiry built-in function sorted table;
Step 63 judges whether it is to pack built-in function, if, carry out step 64, if not, carry out step 65;
Step 64 is carried out packing built-in function and is handled;
Does step 65 judge whether it is PLT short circuit built-in function? if, carry out step 66, if not, carry out step 67;
Step 66 is carried out PLT short circuit built-in function and is handled;
Step 67, the parameter of simulation X86 and rreturn value transmission agreement according to the execution flow process that X86 handles dynamic link, are all translated execution to the source binary code of PLT, fixup function, built-in function on target machine;
Step 68, the method that simulation X86 transmits the agreement of parameter and rreturn value is called the generic function of this master file inside and is handled.
As shown in Figure 5, in step 64, comprise following substep:
Step 400 according to the row ginseng explanation of corresponding built-in function, is looked for the stacked statement of parameter forward in this fundamental block;
Does step 410 judge whether to search successfully? if, then carry out step 420, if not, then carry out step 430;
Step 420 is deleted those corresponding local codes in pressure parameter instruction translation back that find in this fundamental block, and is formed following local code: these parameters are put in relevant register and the storehouse according to the agreement that target machine transmits parameter; All parameters of X86 simulation register ESP=X86 simulation register ESP-are size always; Call the local library function; Transmit the agreement of rreturn value according to target machine and take out rreturn value, put in X86 simulation register or the internal memory according to the X86 agreement then.
Step 430, the parameter of simulation X86 and rreturn value transmission agreement on target machine, the local library function that calls packing is finished the processing of library function call.
As shown in Figure 6, in step 66, comprise following substep:
Step 600 is searched the local code of current built-in function to be processed in the local code of local code that static part provides and dynamic part translation;
Does step 610 judge whether to search successfully? if, carry out step 620, if not, carry out step 630;
Step 620 becomes following local code to the CALL instruction translation that calls built-in function: jump to built-in function local code storage addresses in internal memory, and the register of appointing is put in the return address.
Step 630 because the local code of object library function may be not gone into or be not translated by dynamic mode is packaged, therefore adopts the method for backfill to handle calling of built-in function; Specifically be exactly to generate the transfer instruction that jump target is a sky, and carry out mark, simultaneously the register of appointing is put in the return address, after the local code graftabl of built-in function or translation, again the storage address of local code is inserted in the jump instruction.
Library function call disposal route in the binary translation of being association of activity and inertia provided by the present invention has following characteristics: before translation built-in function is classified, be divided into and can pack built-in function and PLT short circuit built-in function; Static module can carry out translation to a certain degree and translation result passed to dynamic module built-in function; Library function call in the X86 binary program of source is discerned and promoted; For packing built-in function, transmit parameter and rreturn value processing with the agreement of target machine this locality, can save like this parameter is pressed into X86 simulation storehouse, from storehouse, take out again then and put into the operation of frequently internally depositing in the process in target machine biography ginseng register or the storehouse, improved the efficient that program is carried out; For PLT short circuit built-in function, though continue to safeguard X86 simulation storehouse, but control stream does not enter the fixup function of PLT and dynamic linker, promptly do not translate the source binary code of the fixup function of PLT and dynamic linker, directly enter the local code of built-in function, the efficient of also can the raising program carrying out.
It should be noted that at last: above embodiment is the unrestricted technical scheme of the present invention in order to explanation only, although the present invention is had been described in detail with reference to the foregoing description, those of ordinary skill in the art is to be understood that: still can make amendment or be equal to replacement the present invention, and not breaking away from any modification or partial replacement of the spirit and scope of the present invention, it all should be encompassed in the middle of the claim scope of the present invention.

Claims (6)

1, the disposal route of library function call in a kind of binary translation may further comprise the steps:
A. set up the built-in function classification inquiry table, in table, to packing built-in function and PLT short circuit built-in function is done classification;
B. utilize the built-in function in the shared library that the static module in the binary translation system of being association of activity and inertia relates to master file and it to translate;
C. before dynamic translation was transferred in control, the good local code graftabl of static translation, this part local code comprised the built-in function two parts that are performed in master file and the shared library;
D. in target machine, simulate register and the storehouse of X86 with internal memory;
E. successively each fundamental block in the X86 binary program is handled, got first fundamental block in the X86 binary program;
Whether the instruction type of f. differentiating the END instruction of fundamental block is the CALL instruction, if, then carry out step g, if not, then carry out step h;
G. call the CALL command process module and handle the CALL instruction;
H. judge whether that all fundamental blocks have all handled, if then finish; If not, then carry out step I;
I. get next fundamental block, carry out step f then.
2, the disposal route of library function call in a kind of binary translation as claimed in claim 1 is characterized in that, in step f, comprises following steps:
F1) whether the target of judging CALL is built-in function, if, then carry out step f2, if not, then carry out step f8;
F2) inquiry built-in function sorted table;
F3) judge whether it is to pack built-in function, if, carry out step f4, if not, carry out step f5;
F4) carrying out packing built-in function handles;
F5) judge whether it is PLT short circuit built-in function, if, carry out step f6, if not, carry out step f7;
F6) carrying out PLT short circuit built-in function handles;
F7) parameter of simulation X86 and rreturn value transmission agreement on target machine according to the execution flow process that X86 handles dynamic link, are all translated execution to the source binary code of PLT, fixup function, built-in function;
F8) the simulation X86 method of transmitting the agreement of parameter and rreturn value is called the generic function of this master file inside and is handled.
3, the disposal route of library function call in a kind of binary translation as claimed in claim 2 is characterized in that, in step f4, comprises following substep:
F41) according to the formal parameter explanation of corresponding built-in function, in this fundamental block, look for the stacked statement of parameter forward;
F42) judge whether to search successfully, if, then carry out step f43, if not, then carry out step f44;
F43) delete local code corresponding behind the stacked instruction translation of those parameters that finds in this fundamental block, and form following local code: these parameters are put in relevant register and the storehouse according to the agreement that target machine transmits parameter; All parameters of X86 simulation register ESP=X86 simulation register ESP-are size always; Call the local library function; Transmit the agreement of rreturn value according to target machine and take out rreturn value, put in X86 simulation register or the internal memory according to the X86 agreement then;
F44) parameter of simulation X86 and rreturn value transmission agreement on target machine, the local library function that calls packing is finished the processing of library function call.
4, the disposal route of library function call in a kind of binary translation as claimed in claim 2 is characterized in that, in step f6, comprises following substep:
F61) in the local code of local code that static part provides and dynamic part translation, search the local code of current built-in function to be processed;
F62) judge whether to search successfully, if, carry out step f63, if not, carry out step f64;
F63) the CALL instruction translation that calls built-in function is become following local code: jump to built-in function local code storage addresses in internal memory, and the register of appointing is put in the return address;
F64) generating jump target is empty transfer instruction, and carries out mark, simultaneously the register of appointing is put in the return address, after the local code graftabl of built-in function or translation, the storage address of local code is inserted in the jump instruction again.
5, the disposal route of library function call in a kind of binary translation as claimed in claim 1 or 2, it is characterized in that, the described built-in function of packing is a kind of built-in function, does not have a plurality of copies of global variable and structure variable alignment thereof difference, can call local built-in function.
6, the disposal route of library function call in a kind of binary translation as claimed in claim 1 or 2, it is characterized in that, described PLT short circuit built-in function is a kind of built-in function, its local code was translated at static module, dynamic module is directly jumped in the static local code, does not need translation to carry out PLT and fixup function.
CNB2005100803398A 2005-07-01 2005-07-01 Method for processing library function call in binary translation Active CN100359472C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100803398A CN100359472C (en) 2005-07-01 2005-07-01 Method for processing library function call in binary translation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100803398A CN100359472C (en) 2005-07-01 2005-07-01 Method for processing library function call in binary translation

Publications (2)

Publication Number Publication Date
CN1892602A CN1892602A (en) 2007-01-10
CN100359472C true CN100359472C (en) 2008-01-02

Family

ID=37597489

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100803398A Active CN100359472C (en) 2005-07-01 2005-07-01 Method for processing library function call in binary translation

Country Status (1)

Country Link
CN (1) CN100359472C (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706734B (en) * 2009-11-10 2013-08-14 中国科学院计算技术研究所 Method and system thereof for translating indirect jump instruction in binary translation
CN103186414A (en) * 2011-12-27 2013-07-03 联想(北京)有限公司 Program execution method, program manager and virtual machine
CN103577728B (en) * 2013-11-16 2016-03-30 哈尔滨工业大学 A kind of method using contraction to perform dependency graph identification built-in function
CN105335203B (en) * 2014-06-30 2018-10-19 华为技术有限公司 The binary translation of shared library executes method and apparatus
JP6559793B2 (en) * 2015-04-10 2019-08-14 グーグル エルエルシー Binary conversion at the shared object level
CN105224370B (en) * 2015-10-21 2019-03-08 安一恒通(北京)科技有限公司 A kind of method and apparatus of loading ELF document
TWI660307B (en) * 2017-06-09 2019-05-21 國立交通大學 Binary translation device and method
CN110874259A (en) * 2018-08-31 2020-03-10 龙芯中科技术有限公司 Program execution method, device, equipment and storage medium
CN113590348A (en) * 2021-07-26 2021-11-02 京东科技控股股份有限公司 Parameter transmission method, device, equipment and medium based on tree structure
KR20240025509A (en) * 2022-08-17 2024-02-27 베리실리콘 마이크로일렉트로닉스 (상하이) 컴퍼니 리미티드 Cross-link methods, devices, electronic equipment and storage media

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421016A (en) * 1991-12-12 1995-05-30 International Business Machines Corporation System and method for dynamically invoking object methods from an application designed for static method invocation
US20030088860A1 (en) * 2001-11-02 2003-05-08 Fu-Hwa Wang Compiler annotation for binary translation tools
US20040015888A1 (en) * 2001-04-11 2004-01-22 Hiroaki Fujii Processor system including dynamic translation facility, binary translation program that runs in computer having processor system implemented therein, and semiconductor device having processor system implemented therein
US6704925B1 (en) * 1998-09-10 2004-03-09 Vmware, Inc. Dynamic binary translator with a system and method for updating and maintaining coherency of a translation cache
CN1529229A (en) * 2003-10-21 2004-09-15 中国科学院计算技术研究所 Marker digit optimizing method in binary system translation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421016A (en) * 1991-12-12 1995-05-30 International Business Machines Corporation System and method for dynamically invoking object methods from an application designed for static method invocation
US6704925B1 (en) * 1998-09-10 2004-03-09 Vmware, Inc. Dynamic binary translator with a system and method for updating and maintaining coherency of a translation cache
US20040015888A1 (en) * 2001-04-11 2004-01-22 Hiroaki Fujii Processor system including dynamic translation facility, binary translation program that runs in computer having processor system implemented therein, and semiconductor device having processor system implemented therein
US20030088860A1 (en) * 2001-11-02 2003-05-08 Fu-Hwa Wang Compiler annotation for binary translation tools
CN1529229A (en) * 2003-10-21 2004-09-15 中国科学院计算技术研究所 Marker digit optimizing method in binary system translation

Also Published As

Publication number Publication date
CN1892602A (en) 2007-01-10

Similar Documents

Publication Publication Date Title
CN100359472C (en) Method for processing library function call in binary translation
CN100465895C (en) Compiler, compilation method, and compilation program
CN106940654B (en) Automatic detection and positioning method for memory error in source code
US7739696B2 (en) Message translation systems and methods
CN104063325A (en) Automatic generation device and method for test cases of embedded software
CN102118281B (en) Method, device and network equipment for automatic testing
CN106547520B (en) Code path analysis method and device
GB2293675A (en) Process allocation in a data processing system
CN1577268A (en) Shared library system and method of building the system
CN101937356B (en) Method for compiling WebKit browser and device thereof
CN101847096B (en) Optimization method of stack variable-containing function
KR20040039285A (en) A memory engine for the inspection and manipulation of data
WO2023016480A1 (en) Code processing method under hardware memory order architecture, and corresponding apparatus
GB2308470A (en) Bit-width reduction of processor instructions
CN104991810A (en) Method and processing system for automatically adding APK into Android system
CN112527393A (en) Instruction scheduling optimization device and method for master-slave fusion architecture processor
CN105447285A (en) Method for improving OpenCL hardware execution efficiency
CN100559344C (en) A kind of disposal route of supporting with regular record variables access special register group
CN105677297A (en) Toggle realization method and device
JP2008305337A (en) Program converter, program conversion method, program, storage medium, debugging device, debugging method and program development system
CN112540750B (en) Self-adaptive built-in function and instruction operation selection translation method
CN114594960A (en) Recursive function analysis execution method, device and storage medium
CN102629259A (en) Read-only file system setting up method in embedded system, device and embedded system
CN114115023A (en) Method for realizing identification and operation of AVC configuration file
JP7059757B2 (en) API processing method, terminal, API processing program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant