US20020147969A1 - Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method - Google Patents

Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method Download PDF

Info

Publication number
US20020147969A1
US20020147969A1 US09/176,112 US17611298D US2002147969A1 US 20020147969 A1 US20020147969 A1 US 20020147969A1 US 17611298 D US17611298 D US 17611298D US 2002147969 A1 US2002147969 A1 US 2002147969A1
Authority
US
United States
Prior art keywords
branch
instructions
compiler
interpreter
code
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.)
Granted
Application number
US09/176,112
Other languages
English (en)
Other versions
US6463582B1 (en
Inventor
Richard A. Lethin
Joseph A. Bank
Charles D. Garrett
Mikayo Wada
Mitsuo Sakurai
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.)
Fujitsu Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Assigned to FUJITSU LIMITED reassignment FUJITSU LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GARRETT, CHARLES D., SAKURAI, MITSUO, WADA, MIKAYO, BANK, JOSEPH A., LETHIN, RICARD A.
Assigned to FUJITSU LIMITED reassignment FUJITSU LIMITED CORRECTIVE ASSIGNMENT TO CORRECT CONVEYING PARTY'S NAME. AN ASSIGNMENT PREVIOUSLY RECORDED AT REEL 009714, FRAME 0542. Assignors: GARRETT, CHARLES D., SAKURAI, MITSUO, WADA, MIKAYO, BANK, JOSEPH A., LETHIN, RICHARD A.
Publication of US20020147969A1 publication Critical patent/US20020147969A1/en
Granted legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Definitions

  • the size of the converted object code becomes relatively small in comparison with the static converted object code.
  • the conventional dynamic object code conversion method has a problem in that all objects, including seldom used objects, are converted. In other words, the conventional dynamic object code conversion method fails to efficiently recognize objects which are executed plural times and thereby increases the time needed for conversion of the original object code while sacrificing efficiency.
  • FIG. 12 is a schematic diagram illustrating an overall structure of a compiler according to an embodiment of the present invention.
  • FIG. 22 particularly illustrates an example of code generation for the same instruction with different surrounding instructions.
  • trans_master_target_table 1 1000h An array of pointers, one for each page in ASP's address space. For a page that ASP does not use, the pointer is 0. For a page that ASP uses, the pointer points to an array in the dynamically allocated part of the OOCT buffer (see below.) unallocated 41004h A pointer which points to the first unused byte in the dynamically allocated part of the buffer. Only used during initialization. length_left 41008h The number of bytes left in the dynamically allocated part of the buffer. Only used during initialization. num_execs 4100Ch The number of interpreter 110.
  • Branch header table 6 There is one pointer to a BRANCH_RECORD for each estimated branch.
  • SIZE Num execs * 32 * 4 * 24 bytes.
  • OOCT stack 7 A 1 MB stack.
  • Zone memory 2 A percentage of the remaining memory is used for zone memory. Currently 50% of memory is used.
  • Segment memory 3 A percentage of the remaining memory is used for segment memory. Currently 50% of memory is used.
  • compiler 104 When compiler 104 wants to read branch log information, it calls the procedure BRANCH_Get_Record with the address of the branch instruction. This procedure looks up the branch in the branch log and returns a pointer to one of the elements of the BRANCH_RECORD array. Compiler 104 can then see how many times the branch instruction was executed, how many times it branched and how many times it fell through.
  • the TRANS_Get_Entry_Address procedure reads and returns the entry point address of the translation table entry. Note that an entry point address is the address of an target instruction if there is no segment locking, but it is the address of a SEGMENT_GATE data structure if there is segment locking.
  • the fourth transition is from U/L to U/U. It also happens when the interpreter 110 leaves a segment (* 304 ) and goes to the unlock procedure (* 305 ). After this transition occurs, the segment is unlocked and compiler 104 will pass the two tests (* 309 , * 3010 ) and delete the segment (* 3011 ).
  • the interpreter 110 send seed addresses to compiler 104 . They use two message queues to send them. The first one uses the KOI system calls ScMsgSnd and ScMsgRcv to send and receive seeds. The second queue uses a shared memory area in the OOCT buffer. The shared area is called the branch_Seed_Buffer.
  • OOCT gets the advantages of both methods.
  • compiler 104 When compiler 104 is idle, it calls ScMsgRcv to block. In this case, the interpreter 110 sends the next seed with a ScMsgSnd call to wake compiler 104 up.
  • the interpreter 110 sends seeds through the branch_Seed_Buffer area, which is faster. After compiler 104 finishes one compilation, it checks for sch_Seed_Buffer area. If there are any then it compiles them. When it finishes the all seeds, it calls ScMsgRcv again and blocks.
  • the OOCT interpreter code can run in two modes, OOCT_PERFORMANCE_MODE and OOCT_DEBUG_MODE. This documentation describes all of the features of OOCT_PERFORMANCE_MODE and notes where OOCT_DEBUG_MODE is different.
  • Allocate compiler 104 s stack memory. Compiler 104 uses a special large stack that is allocated in the OOCT_buffer.
  • interpreter 110 executes a branch instruction in system code and the OOCT mode bit is set, interpreter 110 calls branch logger 112 through one of the following routines: _declspec(naked) OOCT_Log_Unconditional_Fixed_Branch() Invoked by interpreter with a branch Arguments: ecx: address of branch instruction Returns: Does not return (acts like a jump to IC_FETCHO2) _declspec(naked) OOCT_Log_Unconditional_Non_Fixed_Branch() Invoked by interpreter with a branch Arguments: ecx: address of branch instruction Does not return (acts like a jump to IC_FETCHO2) _declspec(naked) OOCT_Log_Conditional_Fixed_Branch_Taken() Invoked by interpreter with a branch Arguments: ecx: address of branch instruction Returns: Does not return (acts like a jump to IC_FETCHO
  • FIG. 9 particularly illustrates that the variable local_branch_header_table is an array of pointers to lists. Each list contains BRANCH_RECORDs that have the same destination address. When there is no list, the pointer in local_branch_header_table is NULL.
  • branch logger 112 When a branch instruction is executed very frequently, branch logger 112 sends its destination address to compiler 104 . This address is called a ‘seed’ and choosing seeds is a very important part of the OOCT system.
  • the IL used by OOCT (referred to as just the IL from here on) is currently composed of 40 different opcodes listed in Table 6.
  • the instructions fall into three main categories. First, there are functional opcodes such as ADD and LOAD that have a straightforward mapping to standard machine opcodes. Second, there are opcodes that handle control flow such as LABEL and CGOTO. Finally, there are a number of special opcodes that are used as special markers by compiler 104 , which do not directly correspond to code that is generated by the back end. These special marker opcodes are described in a separate section. Since the IL represents a virtual machine, it is straightforward to add other opcodes to the IL if further functionality is required.
  • the IL Since the IL is typed, it is critical to use the correct size pseudoregister with the correct type. For example, to load a 16 bit value into a 32 bit register, first a 16 bit load is done into a 16 bit pseudoregister, and then a CVT operation is used to cast the 16 bit value to a 32 bit value (the LOAD_CVT 32 macro does this).
  • IL is generated for entry points, interrupt checks.
  • each pseudoregister definition compiler 104 keeps track of the instructions which use that definition, and for each pseudoregister use compiler 104 keeps track of its definitions. This information is called use/def information.
  • Compiler 104 uses use/def information in passes such as the Constant Folding pass. When pseudoregisters can alias each other, this requires the use/def computation and compiler 104 passes that use that information to be much more complex.
  • a second problem created by overlapping pseudoregisters is in register allocation. When the register allocator assigns two overlapping pseudoregisters into machine registers at the same time, a modification to one register may require that the other register be invalidated. In general, keeping track of that information is very difficult and creates unneeded complexity.
  • Register allocation is a complex, multi-step process. The steps are described in detail below.
  • the next step is to compute the conflict graph of the REGINFO structures.
  • Two REGINFOs conflict if their live ranges overlap.
  • Two REGINFOs are compatible if they are connected by copy.
  • Conflicting REGINFOs cannot be assigned to the same register, as they are alive at the same time.
  • Two compatible REGINFOs should be assigned to the same register if possible, as doing so eliminates a copy.
  • OC_RegAllocDefWeight Weight placed on definitions, Higher values of OC_RegAllocDefWeight will favor REGINFOs with more different definition IL statements.
  • Code compiled by OOCT is stored within a SEGMENT data structure. There are a number of important issues associated with the management of segments. First, segments have a special memory allocator to handle segment storage. Second, how segments are created and installed into the system is discussed. Third, how segments are deleted is discussed (if this option is turned on). Finally, segment locking, which is used when segment deletion is on, is discussed.
  • the K assembler provides a straightforward mechanism for generating K code from within a C program.
  • Each K opcode has a function used to assemble instructions specifically for that opcode.
  • the individual instructions take as arguments a pointer to memory for where to store the code, a (possibly empty) label name, and an argument for each field used in the instruction.
  • the function simply combines the fields into their correct places and writes the code into the buffer. Since branches to a label may occur before the definition of the label, a second pass over the code is used to resolve branch destination.
  • the interpreter task counts how often a branch instruction jumps to a particular destination address. When this count passes a threshold, the interpreter sends a translation request including the destination address.
  • the threshold value is the critical parameter that is set by the software feedback mechanism. When the threshold is lower than most of the execution counts, the rate of translation requests is high. When the threshold is higher than most of the execution counts, the rate of requests is low. Since the typical size of an execution count varies with the program that is being interpreted, software feedback is an ideal way to set the threshold because it adapts to the behavior of the interpreter automatically.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)
US09/176,112 1998-10-21 1998-10-21 Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method Granted US20020147969A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/176,112 US6463582B1 (en) 1998-10-21 1998-10-21 Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method

Publications (1)

Publication Number Publication Date
US20020147969A1 true US20020147969A1 (en) 2002-10-10

Family

ID=22643028

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/176,112 Expired - Lifetime US6463582B1 (en) 1998-10-21 1998-10-21 Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method
US09/176,112 Granted US20020147969A1 (en) 1998-10-21 1998-10-21 Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/176,112 Expired - Lifetime US6463582B1 (en) 1998-10-21 1998-10-21 Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method

Country Status (4)

Country Link
US (2) US6463582B1 (zh)
JP (1) JP3553834B2 (zh)
CN (1) CN1308818C (zh)
DE (1) DE19945992B4 (zh)

Cited By (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032822A1 (en) * 1998-11-16 2002-03-14 Insignia Solutions, Plc Method and system for handling device driver interrupts
US20030130834A1 (en) * 2001-12-21 2003-07-10 Hitachi, Ltd. Execution time modification of instruction emulation parameters
US20030217248A1 (en) * 2002-03-27 2003-11-20 Achim Nohl Method and system for instruction-set architecture simulation using just in time compilation
US20040044990A1 (en) * 2002-08-28 2004-03-04 Honeywell International Inc. Model-based composable code generation
US20040054993A1 (en) * 2002-09-17 2004-03-18 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US20040054517A1 (en) * 2002-09-17 2004-03-18 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US20040054518A1 (en) * 2002-09-17 2004-03-18 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US20040054992A1 (en) * 2002-09-17 2004-03-18 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
US20040068701A1 (en) * 2002-10-08 2004-04-08 Chang Victor A. Boosting simulation performance by dynamically customizing segmented object codes based on stimulus coverage
US20040078186A1 (en) * 2002-09-17 2004-04-22 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency
US20040078785A1 (en) * 2002-10-22 2004-04-22 Bala Dutt System and method for marking software code
US20040095348A1 (en) * 2002-11-19 2004-05-20 Bleiweiss Avi I. Shading language interface and method
US20040117170A1 (en) * 2002-12-13 2004-06-17 Walsh Robert E. Web simulator
US20040117460A1 (en) * 2002-12-13 2004-06-17 Walsh Robert E. Multi-user web simulator
US6868434B1 (en) * 2000-08-07 2005-03-15 Sun Microsystems, Inc. System and method for testing server latencies using multiple concurrent users in a computer system
US6880152B1 (en) * 1999-10-13 2005-04-12 Transmeta Corporation Method of determining a mode of code generation
US20050154573A1 (en) * 2004-01-08 2005-07-14 Maly John W. Systems and methods for initializing a lockstep mode test case simulation of a multi-core processor design
US20050166192A1 (en) * 2003-11-06 2005-07-28 Polcha Michael P. Run time compiler system and method
US20050229232A1 (en) * 2002-06-27 2005-10-13 Thomson Licensing S.A. Data processing device and method for interactive television
US20060037005A1 (en) * 2004-08-15 2006-02-16 Russell Paul F Method and apparatus for increasing computer security
US20060070042A1 (en) * 2004-09-24 2006-03-30 Muratori Richard D Automatic clocking in shared-memory co-simulation
US20060195732A1 (en) * 2005-02-11 2006-08-31 Joerg Deutschle Method and system for executing test cases for a device under verification
US20060224600A1 (en) * 2005-04-01 2006-10-05 Ronen Grosman Traversal of empty regions in a searchable data structure
US7124407B1 (en) * 2000-08-16 2006-10-17 Sun Microsystems, Inc. Method and apparatus for caching native code in a virtual machine interpreter
US7188062B1 (en) * 2002-12-27 2007-03-06 Unisys Corporation Configuration management for an emulator operating system
US20070074196A1 (en) * 2005-09-28 2007-03-29 Matsushita Electric Industrial Co., Ltd. Compiler apparatus
US20070226717A1 (en) * 2006-03-09 2007-09-27 Sun Microsystems, Inc. Code transformation to optimize fragments that implement constant loading
US20070226714A1 (en) * 2003-05-28 2007-09-27 Shigenori Doi Program execution control device, program execution control method, control program, and recording medium
US20070234240A1 (en) * 2006-03-29 2007-10-04 Microsoft Corporation Automatically optimize performance of package execution
US20070240120A1 (en) * 2006-02-27 2007-10-11 Miller James S Adaptive Compiled Code
US20070240142A1 (en) * 2006-04-05 2007-10-11 Brokenshire Daniel A Apparatus and method for ensuring maximum code motion of accesses to dma buffers
US20080091926A1 (en) * 2006-10-11 2008-04-17 Motohiro Kawahito Optimization of a target program
US20080140537A1 (en) * 2006-12-07 2008-06-12 Norman Powell Method for selling custom business software and software exchange marketplace
US7392245B1 (en) * 1999-07-30 2008-06-24 International Business Machines Corporation Direct call threaded code
US20080263527A1 (en) * 2007-04-18 2008-10-23 Sony Computer Entertainment Inc. Processor emulation using speculative forward translation
US20090007086A1 (en) * 2004-05-25 2009-01-01 Motohiro Kawahito Compiler Optimization
US20090113403A1 (en) * 2007-09-27 2009-04-30 Microsoft Corporation Replacing no operations with auxiliary code
US20090125887A1 (en) * 2007-11-14 2009-05-14 Nec Laboratories America, Inc. System and method for generating error traces for concurrency bugs
US20090228677A1 (en) * 2005-12-19 2009-09-10 Dxo Labs Digital data processing method and system
US20090271772A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Using hardware interrupts to drive dynamic binary code recompilation
US7644210B1 (en) * 2000-06-19 2010-01-05 John Banning Method and system for storing and retrieving a translation of target program instruction from a host processor using fast look-up of indirect branch destination in a dynamic translation system
US20100017183A1 (en) * 2006-07-06 2010-01-21 Imperas Ltd. Multiprocessor Development Environment
US20100042983A1 (en) * 2008-08-12 2010-02-18 Sun Microsystems, Inc. Cross-isa inlining in a system virtual machine
US20100088688A1 (en) * 2008-10-03 2010-04-08 Icera Inc. Instruction cache
US20100115498A1 (en) * 1999-11-30 2010-05-06 Stmicroelectronics Limited Adaptive production of assembler
US20100125554A1 (en) * 2008-11-18 2010-05-20 Unisys Corporation Memory Recovery Across Reboots of an Emulated Operating System
US20100174853A1 (en) * 2009-01-08 2010-07-08 Samsung Electronics Co., Ltd. User device including flash and random write cache and method writing data
US20100262636A1 (en) * 2004-01-05 2010-10-14 International Business Machines Corporation Garbage collector with eager read barrier
US20100313079A1 (en) * 2009-06-03 2010-12-09 Robert Beretta Methods and apparatuses for a compiler server
US20110016459A1 (en) * 2009-07-14 2011-01-20 Robert Joseph Meyers Systems, methods, and computer programs for dynamic binary translation in an interpreter
US20110145551A1 (en) * 2009-12-16 2011-06-16 Cheng Wang Two-stage commit (tsc) region for dynamic binary optimization in x86
US20120089760A1 (en) * 2006-03-29 2012-04-12 Bratin Saha Increasing Functionality Of A Reader-Writer Lock
US20120124555A1 (en) * 2010-11-11 2012-05-17 Codekko Software, Inc. Optimization of Compiled Control Objects
US8214813B2 (en) 2007-01-12 2012-07-03 Microsoft Corporation Code optimization across interfaces
US20120185833A1 (en) * 2011-01-18 2012-07-19 Hyeong-Seok Oh Code generator and method for generating extra code for a virtual machine
US20120198428A1 (en) * 2011-01-28 2012-08-02 International Business Machines Corporation Using Aliasing Information for Dynamic Binary Optimization
US20120198458A1 (en) * 2010-12-16 2012-08-02 Advanced Micro Devices, Inc. Methods and Systems for Synchronous Operation of a Processing Device
WO2012143760A1 (en) * 2011-04-20 2012-10-26 Freescale Semiconductor, Inc. Method and apparatus for generating resource efficient computer program code
US20120290809A1 (en) * 2002-03-20 2012-11-15 Research In Motion Limited System and Method of Secure Garbage Collection on a Mobile Device
US20120291040A1 (en) * 2011-05-11 2012-11-15 Mauricio Breternitz Automatic load balancing for heterogeneous cores
US20130067442A1 (en) * 2011-09-13 2013-03-14 Fujitsu Limited Information processing apparatus, method of controlling information processing apparatus, and program for executing intermediate code instructions
US20130090913A1 (en) * 2011-10-11 2013-04-11 David Strong Streamlined execution of emulated code using block-based translation mode
US20130173887A1 (en) * 2006-07-06 2013-07-04 Imperas Software Ltd. Processor simulation environment
US8555392B2 (en) 2012-02-24 2013-10-08 Kaspersky Lab Zao System and method for detecting unknown packers and cryptors
US20130346952A1 (en) * 2012-06-26 2013-12-26 Marvell World Trade Ltd. Method and apparatus for code performance analysis
US20140067886A1 (en) * 2012-09-04 2014-03-06 Fujitsu Limited Information processing apparatus, method of outputting log, and recording medium
US8689202B1 (en) 2004-03-30 2014-04-01 Synopsys, Inc. Scheduling of instructions
US20140229915A1 (en) * 2013-02-11 2014-08-14 International Business Machines Corporation Debugger with previous version feature
US20150113513A1 (en) * 2013-10-18 2015-04-23 Microsoft Corporation Incrementally compiling software artifacts from an interactive development environment
US20150113251A1 (en) * 2013-10-18 2015-04-23 Marvell World Trade Ltd. Systems and Methods for Register Allocation
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US20150269052A1 (en) * 2014-03-21 2015-09-24 Marvell World Trade Ltd Method and apparatus for supporting performance analysis
US9280326B1 (en) 2004-05-26 2016-03-08 Synopsys, Inc. Compiler retargeting based on instruction semantic models
US9383977B1 (en) 2004-03-30 2016-07-05 Synopsys, Inc. Generation of compiler description from architecture description
US9767284B2 (en) 2012-09-14 2017-09-19 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9767271B2 (en) 2010-07-15 2017-09-19 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
JP2018014142A (ja) * 2011-12-23 2018-01-25 ザ アリゾナ ボード オブ リージェンツ オン ビハーフ オブ ザ ユニバーシティー オブ アリゾナ データベース管理システムにおけるマイクロ特化の方法
US9946873B2 (en) 2009-06-03 2018-04-17 Apple Inc. Methods and apparatuses for secure compilation
US10365900B2 (en) 2011-12-23 2019-07-30 Dataware Ventures, Llc Broadening field specialization
US10491524B2 (en) 2017-11-07 2019-11-26 Advanced Micro Devices, Inc. Load balancing scheme
US20200012503A1 (en) * 2017-04-26 2020-01-09 International Business Machines Corporation Recursive stack-based serialization of hierarchical data
US10554777B1 (en) 2014-01-21 2020-02-04 Shape Security, Inc. Caching for re-coding techniques
US10635595B2 (en) 2017-07-28 2020-04-28 Citrix Systems, Inc. Dynamic delete command partitioning with disk caching
US10733099B2 (en) 2015-12-14 2020-08-04 Arizona Board Of Regents On Behalf Of The University Of Arizona Broadening field specialization
US10897616B2 (en) * 2014-12-08 2021-01-19 Harmonic, Inc. Dynamic allocation of CPU cycles vis-a-vis virtual machines in video stream processing
US11216257B1 (en) * 2020-07-02 2022-01-04 Intrado Corporation Automated conference sessions generated to manage application development
US11455153B2 (en) * 2019-03-18 2022-09-27 Advanced Micro Devices, Inc. Dynamic instances semantics
US11550600B2 (en) 2019-11-07 2023-01-10 Intel Corporation System and method for adapting executable object to a processing unit
US11677574B1 (en) 2020-07-02 2023-06-13 Intrado Corporation Automated conference sessions generated to manage application development
US20230305992A1 (en) * 2022-03-25 2023-09-28 Nokia Solutions And Networks Oy Processor using target instructions

Families Citing this family (330)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296381A (ja) * 1998-04-08 1999-10-29 Matsushita Electric Ind Co Ltd 仮想マシン及びコンパイラ
US6199201B1 (en) * 1998-08-03 2001-03-06 Xerox Corporation Software constructs that facilitate partial evaluation of source code
EP1380946B1 (en) * 1998-10-10 2010-02-10 International Business Machines Corporation Program code conversion with reduced translation
EP0997815A3 (en) * 1998-10-29 2004-05-26 Texas Instruments Incorporated Interactive translation system and method
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US7275246B1 (en) * 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US6826748B1 (en) * 1999-01-28 2004-11-30 Ati International Srl Profiling program execution into registers of a computer
US8121828B2 (en) 1999-01-28 2012-02-21 Ati Technologies Ulc Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
JP4088379B2 (ja) * 1999-01-29 2008-05-21 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイル方法及び装置、並びにスタック・トレース方法及び装置
US6662354B1 (en) * 1999-01-29 2003-12-09 Unisys Corporation Determining destinations of a dynamic branch
US7058932B1 (en) * 1999-04-19 2006-06-06 Unisys Corporation System, computer program product, and methods for emulation of computer programs
US6779107B1 (en) 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
JP2001005675A (ja) * 1999-06-21 2001-01-12 Matsushita Electric Ind Co Ltd プログラム変換装置及びプロセッサ
JP4041248B2 (ja) * 1999-07-09 2008-01-30 松下電器産業株式会社 コンパイラ装置、コンパイルプログラムが記録されたコンピュータ読み取り可能な記録媒体及びコンパイル方法
US6629312B1 (en) * 1999-08-20 2003-09-30 Hewlett-Packard Development Company, L.P. Programmatic synthesis of a machine description for retargeting a compiler
US6772106B1 (en) * 1999-08-20 2004-08-03 Hewlett-Packard Development Company, L.P. Retargetable computer design system
WO2001022228A1 (en) 1999-09-17 2001-03-29 Nortel Networks Limited System and method for producing a verification system for verifying procedure interfaces
US7761857B1 (en) * 1999-10-13 2010-07-20 Robert Bedichek Method for switching between interpretation and dynamic translation in a processor system based upon code sequence execution counts
US6714904B1 (en) * 1999-10-13 2004-03-30 Transmeta Corporation System for using rate of exception event generation during execution of translated instructions to control optimization of the translated instructions
JP3608993B2 (ja) * 1999-11-10 2005-01-12 富士通株式会社 コンパイラ装置及びコンパイラプログラムを記録した記録媒体
JP3356742B2 (ja) * 1999-11-17 2002-12-16 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム実行方法
US6681387B1 (en) * 1999-12-01 2004-01-20 Board Of Trustees Of The University Of Illinois Method and apparatus for instruction execution hot spot detection and monitoring in a data processing unit
DE19963832A1 (de) * 1999-12-30 2001-07-05 Ericsson Telefon Ab L M Programmprofilierung
US7100164B1 (en) * 2000-01-06 2006-08-29 Synopsys, Inc. Method and apparatus for converting a concurrent control flow graph into a sequential control flow graph
US6986128B2 (en) * 2000-01-07 2006-01-10 Sony Computer Entertainment Inc. Multiple stage program recompiler and method
US20020066081A1 (en) * 2000-02-09 2002-05-30 Evelyn Duesterwald Speculative caching scheme for fast emulation through statically predicted execution traces in a caching dynamic translator
US6594821B1 (en) * 2000-03-30 2003-07-15 Transmeta Corporation Translation consistency checking for modified target instructions by comparing to original copy
US6862565B1 (en) * 2000-04-13 2005-03-01 Hewlett-Packard Development Company, L.P. Method and apparatus for validating cross-architecture ISA emulation
US6862730B1 (en) * 2000-04-26 2005-03-01 Lucent Technologies Inc. Register allocation in code translation between processors
JP2001325111A (ja) * 2000-05-16 2001-11-22 Hitachi Ltd 投機機構向けコンパイル方法
US20020170034A1 (en) * 2000-06-16 2002-11-14 Reeve Chris L. Method for debugging a dynamic program compiler, interpreter, or optimizer
SE0002440D0 (sv) * 2000-06-28 2000-06-28 Virtutech Ab Interpreter
US20020062476A1 (en) * 2000-07-14 2002-05-23 Saxe James Benjamin Case-reduced verification condition generation system and method by use of dynamic single assumption and assigning labels to variables at control join points
US6701518B1 (en) * 2000-08-03 2004-03-02 Hewlett-Packard Development Company, L.P. System and method for enabling efficient processing of a program that includes assertion instructions
JP2002073345A (ja) * 2000-08-25 2002-03-12 Fujitsu Ltd 情報処理装置及び記録媒体
US6691306B1 (en) * 2000-12-22 2004-02-10 Lsi Logic Corporation Use of limited program space of general purpose processor for unlimited sequence of translated instructions
US6721943B2 (en) * 2001-03-30 2004-04-13 Intel Corporation Compile-time memory coalescing for dynamic arrays
US7099970B1 (en) * 2001-04-03 2006-08-29 Electronic Label Technology, Inc. Apparatus and method to enhance a one-wire bus
US7356673B2 (en) * 2001-04-30 2008-04-08 International Business Machines Corporation System and method including distributed instruction buffers for storing frequently executed instructions in predecoded form
CA2346762A1 (en) * 2001-05-07 2002-11-07 Ibm Canada Limited-Ibm Canada Limitee Compiler generation of instruction sequences for unresolved storage devices
US6993751B2 (en) * 2001-05-14 2006-01-31 Microsoft Corporation Placing exception throwing instructions in compiled code
US6851110B2 (en) * 2001-06-07 2005-02-01 Hewlett-Packard Development Company, L.P. Optimizing an executable computer program having address-bridging code segments
US7110525B1 (en) 2001-06-25 2006-09-19 Toby Heller Agent training sensitive call routing system
US6880154B2 (en) * 2001-06-29 2005-04-12 Intel Corporation Alias-free test for dynamic array structures
US20030033593A1 (en) * 2001-08-08 2003-02-13 Evelyn Duesterwald Dynamic execution layer interface for explicitly or transparently executing application or system binaries
US6966053B2 (en) * 2001-08-10 2005-11-15 The Boeing Company Architecture for automated analysis and design with read only structure
US7207035B2 (en) * 2001-08-23 2007-04-17 International Business Machines Corporation Apparatus and method for converting an instruction and data trace to an executable program
US6857119B1 (en) * 2001-09-25 2005-02-15 Oracle International Corporation Techniques for modifying a compiled application
CA2359862A1 (en) * 2001-10-24 2003-04-24 Ibm Canada Limited - Ibm Canada Limitee Using identifiers and counters for controlled optimization compilation
US6976249B1 (en) * 2001-11-12 2005-12-13 Apple Computer, Inc. Method for embedding object codes in source codes
US6738969B2 (en) 2001-11-14 2004-05-18 Sun Microsystems, Inc. Non-intrusive gathering of code usage information to facilitate removing unused compiled code
US20030093774A1 (en) * 2001-11-14 2003-05-15 Ronald Hilton State-specific variants of translated code under emulation
US20030101439A1 (en) * 2001-11-29 2003-05-29 Giuseppe Desoli System and method for supporting emulation of a computer system through dynamic code caching and transformation
DE10204345A1 (de) * 2002-02-01 2003-08-14 Systemonic Ag Verfahren zur Befehlsbearbeitung
GB0202728D0 (en) * 2002-02-06 2002-03-27 Transitive Technologies Ltd Condition code flag emulation for program code conversion
US7331040B2 (en) * 2002-02-06 2008-02-12 Transitive Limted Condition code flag emulation for program code conversion
US7134115B2 (en) * 2002-02-07 2006-11-07 Matsushita Electric Industrial Co., Ltd. Apparatus, method, and program for breakpoint setting
US20030167457A1 (en) * 2002-03-01 2003-09-04 Thompson Carol L. System and method for providing an optimizer display tool
US7506321B1 (en) * 2002-06-11 2009-03-17 Unisys Corporation Computer emulator employing direct execution of compiled functions
JP2004021425A (ja) * 2002-06-13 2004-01-22 Hitachi Ltd コンパイラにおけるメモリ配置方式
JP3956113B2 (ja) * 2002-06-13 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理装置及びプログラム
US7926032B2 (en) * 2002-07-18 2011-04-12 International Business Machines Corporation Two meta-level modeling approach for mapping typed data
US7107585B2 (en) * 2002-07-29 2006-09-12 Arm Limited Compilation of application code in a data processing apparatus
US7124237B2 (en) * 2002-10-03 2006-10-17 Seagate Technology Llc Virtual machine emulation in the memory space of a programmable processor
US7194736B2 (en) * 2002-12-10 2007-03-20 Intel Corporation Dynamic division optimization for a just-in-time compiler
US20040117778A1 (en) * 2002-12-16 2004-06-17 Sehr David C. Optimization of software code using N-bit pointer conversion
US7930490B2 (en) * 2002-12-23 2011-04-19 Siemens Industry, Inc. Method for utilizing a memory device for a programmable logic controller (PLC)
US7111287B2 (en) * 2003-01-10 2006-09-19 International Business Machines Corporation Global processor resource assignment in an assembler
US7100154B2 (en) * 2003-01-16 2006-08-29 International Business Machines Corporation Dynamic compiler apparatus and method that stores and uses persistent execution statistics
US7389501B1 (en) * 2003-02-18 2008-06-17 Microsoft Corporation System and method for register allocation using SSA construction
US7310723B1 (en) 2003-04-02 2007-12-18 Transmeta Corporation Methods and systems employing a flag for deferring exception handling to a commit or rollback point
GB0307805D0 (en) * 2003-04-04 2003-05-07 Intuwave Ltd A method of enabling source code to be used to generate a first and a second software application,each compatible with a different operating system
GB0309056D0 (en) * 2003-04-22 2003-05-28 Transitive Technologies Ltd Block translation optimizations for program code conversion
US7308682B2 (en) * 2003-04-25 2007-12-11 Intel Corporation Method and apparatus for recovering data values in dynamic runtime systems
US7159122B2 (en) * 2003-05-12 2007-01-02 International Business Machines Corporation Message digest instructions
US7284100B2 (en) 2003-05-12 2007-10-16 International Business Machines Corporation Invalidating storage, clearing buffer entries, and an instruction therefor
US20040243379A1 (en) * 2003-05-29 2004-12-02 Dominic Paulraj Ideal machine simulator with infinite resources to predict processor design performance
US7219329B2 (en) * 2003-06-13 2007-05-15 Microsoft Corporation Systems and methods providing lightweight runtime code generation
US7260815B1 (en) * 2003-06-30 2007-08-21 Vmware, Inc. Method and apparatus for managing registers in a binary translator
GB0316531D0 (en) * 2003-07-15 2003-08-20 Transitive Ltd Method and apparatus for performing native binding
US20050028132A1 (en) * 2003-07-31 2005-02-03 Srinivasamurthy Venugopal K. Application specific optimization of interpreters for embedded systems
US20050028148A1 (en) * 2003-08-01 2005-02-03 Sun Microsystems, Inc. Method for dynamic recompilation of a program
US7318222B2 (en) * 2003-08-27 2008-01-08 Sun Microsystems, Inc. Methods for execution control acquistion of a program and for executing an optimized version of a program
US7207038B2 (en) * 2003-08-29 2007-04-17 Nokia Corporation Constructing control flows graphs of binary executable programs at post-link time
DE10344847A1 (de) * 2003-09-26 2005-04-14 Philips Intellectual Property & Standards Gmbh Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung
US7051301B2 (en) * 2003-10-01 2006-05-23 Hewlett-Packard Development Company, L.P. System and method for building a test case including a summary of instructions
US7584455B2 (en) * 2003-10-23 2009-09-01 Microsoft Corporation Predicate-based test coverage and generation
US20050149913A1 (en) * 2003-12-29 2005-07-07 Yun Wang Apparatus and methods to optimize code in view of masking status of exceptions
JP4701611B2 (ja) * 2004-01-15 2011-06-15 株式会社日立製作所 動的変換方式のエミュレータ向けメモリ管理方法
US7478374B2 (en) * 2004-03-22 2009-01-13 Intel Corporation Debug system having assembler correcting register allocation errors
US7665070B2 (en) * 2004-04-23 2010-02-16 International Business Machines Corporation Method and apparatus for a computing system using meta program representation
CN1294495C (zh) * 2004-05-20 2007-01-10 北京大学 模拟器构造方法
CN100359470C (zh) * 2004-06-30 2008-01-02 中国科学院计算技术研究所 动静结合二进制翻译中静态信息不完备的处理方法及装置
US7747992B2 (en) * 2004-08-23 2010-06-29 Intel Corporation Methods and apparatus for creating software basic block layouts
US20060048106A1 (en) * 2004-08-27 2006-03-02 International Business Machines Corporation Link-time profile-based method for reducing run-time image of executables
US7784039B2 (en) * 2004-09-22 2010-08-24 Panasonic Corporation Compiler, compilation method, and compilation program
US7624384B2 (en) * 2004-11-30 2009-11-24 Intel Corporation Apparatus, system, and method of dynamic binary translation with translation reuse
US7913239B2 (en) * 2005-03-08 2011-03-22 International Business Machines Corporation Method and apparatus for a programming framework for pattern matching and transformation of intermediate language expression trees
US7805708B2 (en) * 2005-05-13 2010-09-28 Texas Instruments Incorporated Automatic tool to eliminate conflict cache misses
US7770152B1 (en) * 2005-05-20 2010-08-03 Oracle America, Inc. Method and apparatus for coordinating state and execution context of interpreted languages
US8413162B1 (en) 2005-06-28 2013-04-02 Guillermo J. Rozas Multi-threading based on rollback
US20070006189A1 (en) * 2005-06-30 2007-01-04 Intel Corporation Apparatus, system, and method of detecting modification in a self modifying code
US20070169012A1 (en) * 2005-11-14 2007-07-19 Microsoft Corporation Asynchronous just-in-time compilation
US9830174B2 (en) * 2005-12-22 2017-11-28 Synopsys, Inc. Dynamic host code generation from architecture description for fast simulation
US20070150881A1 (en) * 2005-12-22 2007-06-28 Motorola, Inc. Method and system for run-time cache logging
US7813909B2 (en) * 2006-05-03 2010-10-12 Sony Computer Entertainment Inc. Register mapping in emulation of a target system on a host system
US7770050B2 (en) * 2006-05-03 2010-08-03 Sony Computer Entertainment Inc. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
US7792666B2 (en) * 2006-05-03 2010-09-07 Sony Computer Entertainment Inc. Translation block invalidation prehints in emulation of a target system on a host system
US8266605B2 (en) * 2006-02-22 2012-09-11 Wind River Systems, Inc. Method and system for optimizing performance based on cache analysis
US7568189B2 (en) * 2006-05-03 2009-07-28 Sony Computer Entertainment Inc. Code translation and pipeline optimization
JP4884297B2 (ja) * 2006-05-26 2012-02-29 パナソニック株式会社 コンパイラ装置、コンパイル方法およびコンパイラプログラム
US8301870B2 (en) * 2006-07-27 2012-10-30 International Business Machines Corporation Method and apparatus for fast synchronization and out-of-order execution of instructions in a meta-program based computing system
US7934208B2 (en) * 2006-10-13 2011-04-26 International Business Machines Corporation Method for transparent on-line dynamic binary optimization
US8799581B2 (en) * 2007-01-05 2014-08-05 International Business Machines Corporation Cache coherence monitoring and feedback
US8671248B2 (en) * 2007-01-05 2014-03-11 International Business Machines Corporation Architecture support of memory access coloring
MX2009007876A (es) * 2007-01-24 2009-07-31 Ibm Metodo para emular eficientemente configuraciones de codigos de condiciones de arquitectura de computadora.
US7890939B2 (en) * 2007-02-13 2011-02-15 Microsoft Corporation Partial methods
US8443029B2 (en) 2007-03-01 2013-05-14 International Business Machines Corporation Round for reround mode in a decimal floating point instruction
US7934073B2 (en) * 2007-03-14 2011-04-26 Andes Technology Corporation Method for performing jump and translation state change at the same time
US8146065B2 (en) * 2007-08-13 2012-03-27 International Business Machines Corporation Running time of short running applications by effectively interleaving compilation with computation in a just-in-time environment
US7991962B2 (en) * 2007-12-10 2011-08-02 International Business Machines Corporation System and method of using threads and thread-local storage
US8108868B2 (en) * 2007-12-18 2012-01-31 Microsoft Corporation Workflow execution plans through completion condition critical path analysis
US8060356B2 (en) 2007-12-19 2011-11-15 Sony Computer Entertainment Inc. Processor emulation using fragment level translation
US8019964B2 (en) * 2008-01-11 2011-09-13 International Buisness Machines Corporation Dynamic address translation with DAT protection
US8151083B2 (en) 2008-01-11 2012-04-03 International Business Machines Corporation Dynamic address translation with frame management
US7739434B2 (en) * 2008-01-11 2010-06-15 International Business Machines Corporation Performing a configuration virtual topology change and instruction therefore
US8041922B2 (en) * 2008-01-11 2011-10-18 International Business Machines Corporation Enhanced dynamic address translation with load real address function
US7734900B2 (en) 2008-01-11 2010-06-08 International Business Machines Corporation Computer configuration virtual topology discovery and instruction therefore
US8041923B2 (en) * 2008-01-11 2011-10-18 International Business Machines Corporation Load page table entry address instruction execution based on an address translation format control field
US8677098B2 (en) 2008-01-11 2014-03-18 International Business Machines Corporation Dynamic address translation with fetch protection
US8117417B2 (en) 2008-01-11 2012-02-14 International Business Machines Corporation Dynamic address translation with change record override
US8103851B2 (en) * 2008-01-11 2012-01-24 International Business Machines Corporation Dynamic address translation with translation table entry format control for indentifying format of the translation table entry
US8335906B2 (en) * 2008-01-11 2012-12-18 International Business Machines Corporation Perform frame management function instruction for clearing blocks of main storage
US8082405B2 (en) * 2008-01-11 2011-12-20 International Business Machines Corporation Dynamic address translation with fetch protection
US8037278B2 (en) * 2008-01-11 2011-10-11 International Business Machines Corporation Dynamic address translation with format control
US7895419B2 (en) 2008-01-11 2011-02-22 International Business Machines Corporation Rotate then operate on selected bits facility and instructions therefore
US8417916B2 (en) * 2008-01-11 2013-04-09 International Business Machines Corporation Perform frame management function instruction for setting storage keys and clearing blocks of main storage
US8086811B2 (en) 2008-02-25 2011-12-27 International Business Machines Corporation Optimizations of a perform frame management function issued by pageable guests
US8176280B2 (en) 2008-02-25 2012-05-08 International Business Machines Corporation Use of test protection instruction in computing environments that support pageable guests
US8095773B2 (en) 2008-02-26 2012-01-10 International Business Machines Corporation Dynamic address translation with translation exception qualifier
US8291397B2 (en) * 2008-04-02 2012-10-16 International Business Machines Corporation Compiler optimized function variants for use when return codes are ignored
US8407681B2 (en) * 2008-05-23 2013-03-26 International Business Machines Corporation System and method for changing variables at runtime
US8387026B1 (en) * 2008-12-24 2013-02-26 Google Inc. Compile-time feedback-directed optimizations using estimated edge profiles from hardware-event sampling
US8308185B2 (en) * 2009-01-30 2012-11-13 Weaver Danny C Pin-engaging drawbar and lock plate assembly
US10152504B2 (en) 2009-03-11 2018-12-11 Actian Netherlands B.V. Column-store database architecture utilizing positional delta tree update system and methods
US8438558B1 (en) 2009-03-27 2013-05-07 Google Inc. System and method of updating programs and data
US8949103B2 (en) * 2009-05-01 2015-02-03 Microsoft Corporation Program code simulator
US8577950B2 (en) * 2009-08-17 2013-11-05 International Business Machines Corporation Matrix multiplication operations with data pre-conditioning in a high performance computing architecture
US8650240B2 (en) * 2009-08-17 2014-02-11 International Business Machines Corporation Complex matrix multiplication operations with data pre-conditioning in a high performance computing architecture
US8752008B2 (en) * 2009-09-02 2014-06-10 Advanced Micro Devices, Inc. Lightweight service based dynamic binary rewriter framework
US8428930B2 (en) * 2009-09-18 2013-04-23 International Business Machines Corporation Page mapped spatially aware emulation of a computer instruction set
US8949106B2 (en) * 2009-09-18 2015-02-03 International Business Machines Corporation Just in time compiler in spatially aware emulation of a guest computer instruction set
US9158566B2 (en) 2009-09-18 2015-10-13 International Business Machines Corporation Page mapped spatially aware emulation of computer instruction set
US8447583B2 (en) 2009-09-18 2013-05-21 International Business Machines Corporation Self initialized host cell spatially aware emulation of a computer instruction set
US8617049B2 (en) * 2009-09-18 2013-12-31 Ethicon Endo-Surgery, Inc. Symmetrical drive system for an implantable restriction device
US8301434B2 (en) 2009-09-18 2012-10-30 International Buisness Machines Corporation Host cell spatially aware emulation of a guest wild branch
US8918601B2 (en) * 2009-12-14 2014-12-23 International Business Machines Corporation Deferred page clearing in a multiprocessor computer system
US8930635B2 (en) 2009-12-14 2015-01-06 International Business Machines Corporation Page invalidation processing with setting of storage key to predefined value
US8510511B2 (en) * 2009-12-14 2013-08-13 International Business Machines Corporation Reducing interprocessor communications pursuant to updating of a storage key
US8806179B2 (en) 2009-12-15 2014-08-12 International Business Machines Corporation Non-quiescing key setting facility
US8505034B2 (en) 2009-12-17 2013-08-06 Amazon Technologies, Inc. Automated service interface optimization
US8516230B2 (en) 2009-12-29 2013-08-20 International Business Machines Corporation SPE software instruction cache
US8438340B2 (en) * 2010-02-18 2013-05-07 International Business Machines Corporation Executing atomic store disjoint instructions
US8850166B2 (en) * 2010-02-18 2014-09-30 International Business Machines Corporation Load pair disjoint facility and instruction therefore
US8914619B2 (en) 2010-06-22 2014-12-16 International Business Machines Corporation High-word facility for extending the number of general purpose registers available to instructions
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US8621112B2 (en) 2010-06-23 2013-12-31 International Business Machines Corporation Discovery by operating system of information relating to adapter functions accessible to the operating system
US8505032B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8650335B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8595469B2 (en) 2010-06-24 2013-11-26 International Business Machines Corporation Diagnose instruction for serializing processing
US10521231B2 (en) 2010-06-24 2019-12-31 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
US9851969B2 (en) 2010-06-24 2017-12-26 International Business Machines Corporation Function virtualization facility for function query of a processor
US8407701B2 (en) 2010-06-24 2013-03-26 International Business Machines Corporation Facilitating quiesce operations within a logically partitioned computer system
US9459851B2 (en) 2010-06-25 2016-10-04 International Business Machines Corporation Arranging binary code based on call graph partitioning
US20110320786A1 (en) 2010-06-25 2011-12-29 International Business Machines Corporation Dynamically Rewriting Branch Instructions in Response to Cache Line Eviction
US8631225B2 (en) 2010-06-25 2014-01-14 International Business Machines Corporation Dynamically rewriting branch instructions to directly target an instruction cache location
US8522225B2 (en) 2010-06-25 2013-08-27 International Business Machines Corporation Rewriting branch instructions using branch stubs
US9600281B2 (en) 2010-07-12 2017-03-21 International Business Machines Corporation Matrix multiplication operations using pair-wise load and splat operations
US9063743B2 (en) * 2010-11-23 2015-06-23 Sap Se Model-based programming, configuration, and integration of networked embedded devices
WO2012103209A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Guest instruction to native instruction range based mapping using a conversion look aside buffer of a processor
WO2012103245A2 (en) * 2011-01-27 2012-08-02 Soft Machines Inc. Guest instruction block with near branching and far branching sequence construction to native instruction block
WO2012103359A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Hardware acceleration components for translating guest instructions to native instructions
WO2012103373A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Variable caching structure for managing physical storage
WO2012103253A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Multilevel conversion table cache for translating guest instructions to native instructions
WO2012103367A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Guest to native block address mappings and management of native code storage
US8533714B2 (en) 2011-05-03 2013-09-10 International Business Machines Corporation Dynamic virtual machine domain configuration and virtual machine relocation management
US9032526B2 (en) 2011-05-12 2015-05-12 Microsoft Technology Licensing, Llc Emulating mixed-code programs using a virtual machine instance
US9116788B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Using extended asynchronous data mover indirect data address words
US9116789B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Chaining move specification blocks
US8560737B2 (en) 2011-06-10 2013-10-15 International Business Machines Corporation Managing operator message buffers in a coupling facility
US9323668B2 (en) 2011-06-10 2016-04-26 International Business Machines Corporation Deconfigure storage class memory command
US9021226B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
US9021179B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Store storage class memory information command
US9116634B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Configure storage class memory command
US9021180B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Clearing blocks of storage class memory
US8689240B2 (en) 2011-06-10 2014-04-01 International Business Machines Corporation Transmitting operator message commands to a coupling facility
US8918797B2 (en) 2011-06-10 2014-12-23 International Business Machines Corporation Processing operator message commands
US8799522B2 (en) 2011-06-10 2014-08-05 International Business Machines Corporation Executing a start operator message command
US9058243B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Releasing blocks of storage class memory
US9058275B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US9037907B2 (en) 2011-06-10 2015-05-19 International Business Machines Corporation Operator message commands for testing a coupling facility
US8549094B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating communication between isolated memory spaces of a communications environment
US9116685B2 (en) 2011-07-19 2015-08-25 Qualcomm Incorporated Table call instruction for frequently called functions
US8806452B2 (en) * 2011-11-10 2014-08-12 International Business Machines Corporation Transformation of computer programs and eliminating errors
US20130132061A1 (en) * 2011-11-18 2013-05-23 Michael J. Rieschl Just-in-time static translation system for emulated computing environments
US9335993B2 (en) 2011-12-29 2016-05-10 International Business Machines Corporation Convert from zoned format to decimal floating point format
US9329861B2 (en) 2011-12-29 2016-05-03 International Business Machines Corporation Convert to zoned format from decimal floating point format
US9110878B2 (en) 2012-01-18 2015-08-18 International Business Machines Corporation Use of a warning track interruption facility by a program
US8850450B2 (en) 2012-01-18 2014-09-30 International Business Machines Corporation Warning track interruption facility
US9104508B2 (en) 2012-01-18 2015-08-11 International Business Machines Corporation Providing by one program to another program access to a warning track facility
CN104081343B (zh) 2012-01-31 2016-08-17 国际商业机器公司 事务存储器的主分支指令
US9454366B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Copying character data having a termination character from one memory location to another
US9280347B2 (en) 2012-03-15 2016-03-08 International Business Machines Corporation Transforming non-contiguous instruction specifiers to contiguous instruction specifiers
US9710266B2 (en) 2012-03-15 2017-07-18 International Business Machines Corporation Instruction to compute the distance to a specified memory boundary
US9588762B2 (en) 2012-03-15 2017-03-07 International Business Machines Corporation Vector find element not equal instruction
US9268566B2 (en) 2012-03-15 2016-02-23 International Business Machines Corporation Character data match determination by loading registers at most up to memory block boundary and comparing
US9459868B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a dynamically determined memory boundary
US9454367B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Finding the length of a set of character data having a termination character
US9715383B2 (en) 2012-03-15 2017-07-25 International Business Machines Corporation Vector find element equal instruction
US9459864B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Vector string range compare
US9459867B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a specified memory boundary indicated by the instruction
US9922090B1 (en) 2012-03-27 2018-03-20 Actian Netherlands, B.V. System and method for automatic vertical decomposition of a table for improving input/output and memory utilization in a database
CN103365931B (zh) * 2012-04-10 2016-12-14 南京中兴新软件有限责任公司 性能分析工具中快速定位函数性能记录的方法及装置
WO2013187864A1 (en) * 2012-06-11 2013-12-19 Empire Technology Development Llc Modulating dynamic optimizations of a computer program
US8966324B2 (en) 2012-06-15 2015-02-24 International Business Machines Corporation Transactional execution branch indications
US9442737B2 (en) 2012-06-15 2016-09-13 International Business Machines Corporation Restricting processing within a processor to facilitate transaction completion
US9448796B2 (en) 2012-06-15 2016-09-20 International Business Machines Corporation Restricted instructions in transactional execution
US9182984B2 (en) 2012-06-15 2015-11-10 International Business Machines Corporation Local clearing control
US9772854B2 (en) 2012-06-15 2017-09-26 International Business Machines Corporation Selectively controlling instruction execution in transactional processing
US8880959B2 (en) 2012-06-15 2014-11-04 International Business Machines Corporation Transaction diagnostic block
US9361115B2 (en) 2012-06-15 2016-06-07 International Business Machines Corporation Saving/restoring selected registers in transactional processing
US9384004B2 (en) 2012-06-15 2016-07-05 International Business Machines Corporation Randomized testing within transactional execution
US10656945B2 (en) 2012-06-15 2020-05-19 International Business Machines Corporation Next instruction access intent instruction for indicating usage of a storage operand by one or more instructions subsequent to a next sequential instruction
US8688661B2 (en) 2012-06-15 2014-04-01 International Business Machines Corporation Transactional processing
US20130339680A1 (en) 2012-06-15 2013-12-19 International Business Machines Corporation Nontransactional store instruction
US9740549B2 (en) 2012-06-15 2017-08-22 International Business Machines Corporation Facilitating transaction completion subsequent to repeated aborts of the transaction
US9348642B2 (en) 2012-06-15 2016-05-24 International Business Machines Corporation Transaction begin/end instructions
US10437602B2 (en) 2012-06-15 2019-10-08 International Business Machines Corporation Program interruption filtering in transactional execution
US9336046B2 (en) 2012-06-15 2016-05-10 International Business Machines Corporation Transaction abort processing
US9367323B2 (en) 2012-06-15 2016-06-14 International Business Machines Corporation Processor assist facility
US9436477B2 (en) 2012-06-15 2016-09-06 International Business Machines Corporation Transaction abort instruction
DE102013210160A1 (de) 2012-06-15 2013-12-19 International Business Machines Corporation Erleichtern der Ausführung einer Transaktion nach wiederholten Abbrüchen der Transaktion
US8682877B2 (en) 2012-06-15 2014-03-25 International Business Machines Corporation Constrained transaction execution
DE102013210839B4 (de) 2012-06-15 2023-06-07 International Business Machines Corporation Einschränken der Verarbeitung innerhalb eines Prozessors zum Erleichtern der Ausführung einer Transaktion
US9317460B2 (en) 2012-06-15 2016-04-19 International Business Machines Corporation Program event recording within a transactional environment
US8819382B2 (en) * 2012-08-09 2014-08-26 Apple Inc. Split heap garbage collection
US9804840B2 (en) 2013-01-23 2017-10-31 International Business Machines Corporation Vector Galois Field Multiply Sum and Accumulate instruction
US9823924B2 (en) 2013-01-23 2017-11-21 International Business Machines Corporation Vector element rotate and insert under mask instruction
US9513906B2 (en) 2013-01-23 2016-12-06 International Business Machines Corporation Vector checksum instruction
US9778932B2 (en) 2013-01-23 2017-10-03 International Business Machines Corporation Vector generate mask instruction
US9471308B2 (en) 2013-01-23 2016-10-18 International Business Machines Corporation Vector floating point test data class immediate instruction
US9715385B2 (en) 2013-01-23 2017-07-25 International Business Machines Corporation Vector exception code
US11507574B1 (en) 2013-03-13 2022-11-22 Actian Netherlands B.V. Adaptive selection of a processing method based on observed performance for improved and robust system efficiency
US9201629B2 (en) 2013-03-14 2015-12-01 International Business Machines Corporation Instruction for performing a pseudorandom number seed operation
US8873750B2 (en) 2013-03-14 2014-10-28 International Business Machines Corporation Instruction for performing a pseudorandom number generate operation
US9582279B2 (en) 2013-03-15 2017-02-28 International Business Machines Corporation Execution of condition-based instructions
EP2972798B1 (en) 2013-03-15 2020-06-17 Intel Corporation Method and apparatus for guest return address stack emulation supporting speculation
WO2014151652A1 (en) 2013-03-15 2014-09-25 Soft Machines Inc Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor
US10089218B2 (en) * 2013-03-17 2018-10-02 Typemock Ltd. Methods circuits apparatuses systems and associated computer executable code for generating a software unit test
US9396097B2 (en) * 2013-03-17 2016-07-19 Typemock Ltd. Methods, circuits, devices, systems and associated computer executable code for testing software code
US9619230B2 (en) 2013-06-28 2017-04-11 International Business Machines Corporation Predictive fetching and decoding for selected instructions
US9348596B2 (en) 2013-06-28 2016-05-24 International Business Machines Corporation Forming instruction groups based on decode time instruction optimization
US9372695B2 (en) 2013-06-28 2016-06-21 Globalfoundries Inc. Optimization of instruction groups across group boundaries
US9513924B2 (en) 2013-06-28 2016-12-06 Globalfoundries Inc. Predictor data structure for use in pipelined processing
US9361144B2 (en) 2013-06-28 2016-06-07 Globalfoundries Inc. Predictive fetching and decoding for selected return instructions
US10318299B2 (en) 2013-10-31 2019-06-11 International Business Machines Corporation Reading a register pair by writing a wide register
US9201635B2 (en) * 2013-12-30 2015-12-01 Unisys Corporation Just-in-time dynamic translation for translation, compilation, and execution of non-native instructions
CN103838616B (zh) * 2014-03-05 2017-04-05 北京工业大学 基于树型程序分支的计算机程序即时编译方法
US10120681B2 (en) 2014-03-14 2018-11-06 International Business Machines Corporation Compare and delay instructions
US9454370B2 (en) 2014-03-14 2016-09-27 International Business Machines Corporation Conditional transaction end instruction
US9558032B2 (en) 2014-03-14 2017-01-31 International Business Machines Corporation Conditional instruction end operation
US9916185B2 (en) 2014-03-18 2018-03-13 International Business Machines Corporation Managing processing associated with selected architectural facilities
US9582295B2 (en) 2014-03-18 2017-02-28 International Business Machines Corporation Architectural mode configuration
US9588774B2 (en) 2014-03-18 2017-03-07 International Business Machines Corporation Common boot sequence for control utility able to be initialized in multiple architectures
US9824021B2 (en) 2014-03-31 2017-11-21 International Business Machines Corporation Address translation structures to provide separate translations for instruction fetches and data accesses
US9256546B2 (en) 2014-03-31 2016-02-09 International Business Machines Corporation Transparent code patching including updating of address translation structures
US9734083B2 (en) 2014-03-31 2017-08-15 International Business Machines Corporation Separate memory address translations for instruction fetches and data accesses
US9569115B2 (en) 2014-03-31 2017-02-14 International Business Machines Corporation Transparent code patching
US9720661B2 (en) 2014-03-31 2017-08-01 International Businesss Machines Corporation Selectively controlling use of extended mode features
US9715449B2 (en) 2014-03-31 2017-07-25 International Business Machines Corporation Hierarchical translation structures providing separate translations for instruction fetches and data accesses
US9858058B2 (en) 2014-03-31 2018-01-02 International Business Machines Corporation Partition mobility for partitions with extended code
US9483295B2 (en) 2014-03-31 2016-11-01 International Business Machines Corporation Transparent dynamic code optimization
CN104049949B (zh) * 2014-05-30 2016-10-05 南阳理工学院 一种面向bswap指令的窥孔优化方法
EP3012764A1 (en) * 2014-10-24 2016-04-27 Thomson Licensing Control flow graph flattening device and method
US10284646B2 (en) * 2014-12-17 2019-05-07 International Business Machines Corporation Application multi-versioning in a traditional language environment
US9495303B2 (en) * 2015-02-03 2016-11-15 Intel Corporation Fine grained address remapping for virtualization
WO2016162721A1 (en) * 2015-04-10 2016-10-13 Google Inc. Binary translation on shared object level
GB2554201B (en) * 2015-04-10 2022-05-11 Google Llc Binary translation into native client
EP3106982B1 (en) * 2015-06-18 2021-03-10 ARM Limited Determination of branch convergence in a sequence of program instructions
US10048952B2 (en) * 2015-11-11 2018-08-14 Oracle International Corporation Compiler optimized data model evaluation
US9971581B1 (en) * 2015-12-28 2018-05-15 Wells Fargo Bank, N.A. Programming language conversion
CN107665125B (zh) * 2016-07-29 2021-03-09 北京小米移动软件有限公司 执行操作指令的方法及装置
US9965374B2 (en) * 2016-08-26 2018-05-08 Qualcomm Incorporated Profile guided indirect function call check for control flow integrity
CN106775913B (zh) * 2016-12-16 2019-07-09 华东师范大学 一种目标代码控制流图生成方法
US10474442B2 (en) * 2017-09-29 2019-11-12 Intel Corporation Methods and apparatus to perform region formation for a dynamic binary translation processor
JP7035751B2 (ja) * 2018-04-12 2022-03-15 富士通株式会社 コード変換装置、コード変換方法、及びコード変換プログラム
US10698668B1 (en) * 2018-05-29 2020-06-30 Amazon Technologies, Inc. Custom code transformations during compilation process
JP7163697B2 (ja) * 2018-09-28 2022-11-01 富士通株式会社 生成プログラム,情報処理装置及び生成方法
US10970073B2 (en) * 2018-10-02 2021-04-06 International Business Machines Corporation Branch optimization during loading
CN109491918B (zh) * 2018-11-22 2020-05-01 中国人民解放军战略支援部队信息工程大学 一种汇编冗余指令的检测方法及装置
CN111435309A (zh) * 2019-01-11 2020-07-21 中标软件有限公司 一种寄存器分配优化实现方法
CN109918132B (zh) * 2019-03-26 2021-04-16 龙芯中科技术股份有限公司 一种指令安装方法、装置、电子设备及存储介质
CN111026398B (zh) * 2019-10-28 2023-08-11 贝壳技术有限公司 基于缓存的数据集成的构建方法与构建系统
CN111966397A (zh) * 2020-07-22 2020-11-20 哈尔滨工业大学 一种异构并行程序自动移植和优化方法
US11526336B2 (en) * 2021-03-15 2022-12-13 Fujitsu Limited Community-oriented, cloud-based digital annealing platform
CN113377378A (zh) * 2021-07-02 2021-09-10 北京百度网讯科技有限公司 用于小程序的处理方法、装置、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2240861A (en) 1990-02-09 1991-08-14 Hewlett Packard Co Apparatus and method for adapting computer program from one operating environment to another
JPH06282437A (ja) 1993-03-30 1994-10-07 Hitachi Ltd オブジェクト属性のアクセス方式
US5757982A (en) * 1994-10-18 1998-05-26 Hewlett-Packard Company Quadrantal scaling of dot matrix data
US5751982A (en) 1995-03-31 1998-05-12 Apple Computer, Inc. Software emulation system with dynamic translation of emulated instructions for increased processing speed
US5761477A (en) * 1995-12-04 1998-06-02 Microsoft Corporation Methods for safe and efficient implementations of virtual machines
US6115809A (en) * 1998-04-30 2000-09-05 Hewlett-Packard Company Compiling strong and weak branching behavior instruction blocks to separate caches for dynamic and static prediction
US6158047A (en) * 1998-07-08 2000-12-05 Hewlett-Packard Company Client/server system for fast, user transparent and memory efficient computer language translation

Cited By (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032822A1 (en) * 1998-11-16 2002-03-14 Insignia Solutions, Plc Method and system for handling device driver interrupts
US7039738B2 (en) * 1998-11-16 2006-05-02 Esmertec Ag Method and system for handling device driver interrupts
US20080208799A1 (en) * 1999-07-30 2008-08-28 International Business Machines Corporation Direct call threaded code
US7392245B1 (en) * 1999-07-30 2008-06-24 International Business Machines Corporation Direct call threaded code
US7974968B2 (en) 1999-07-30 2011-07-05 International Business Machines Corporation Direct call threaded code
US6880152B1 (en) * 1999-10-13 2005-04-12 Transmeta Corporation Method of determining a mode of code generation
US7331041B1 (en) * 1999-10-13 2008-02-12 Transmeta Corporation Method of changing modes of code generation
US8464235B2 (en) * 1999-11-30 2013-06-11 Stmicroelectronics Ltd. Adaptive production of assembler
US20100115498A1 (en) * 1999-11-30 2010-05-06 Stmicroelectronics Limited Adaptive production of assembler
US7644210B1 (en) * 2000-06-19 2010-01-05 John Banning Method and system for storing and retrieving a translation of target program instruction from a host processor using fast look-up of indirect branch destination in a dynamic translation system
US6868434B1 (en) * 2000-08-07 2005-03-15 Sun Microsystems, Inc. System and method for testing server latencies using multiple concurrent users in a computer system
US7124407B1 (en) * 2000-08-16 2006-10-17 Sun Microsystems, Inc. Method and apparatus for caching native code in a virtual machine interpreter
US7251594B2 (en) * 2001-12-21 2007-07-31 Hitachi, Ltd. Execution time modification of instruction emulation parameters
US20030130834A1 (en) * 2001-12-21 2003-07-10 Hitachi, Ltd. Execution time modification of instruction emulation parameters
US10642730B2 (en) 2002-03-20 2020-05-05 Citrix Systems International Gmbh Secure garbage collection on a mobile device
US9558113B2 (en) * 2002-03-20 2017-01-31 Citrix Systems International Gmbh Secure garbage collection on a mobile device
US9311237B2 (en) * 2002-03-20 2016-04-12 Citrix Systems International Gmbh System and method of secure garbage collection on a mobile device
US20150234743A1 (en) * 2002-03-20 2015-08-20 Blackberry Limited System and Method of Secure Garbage Collection on a Mobile Device
US10210081B2 (en) 2002-03-20 2019-02-19 Citrix Systems International Gmbh Secure garbage collection on a mobile device
US20160203076A1 (en) * 2002-03-20 2016-07-14 Citrix Systems International Gmbh Secure Garbage Collection on a Mobile Device
US20120290809A1 (en) * 2002-03-20 2012-11-15 Research In Motion Limited System and Method of Secure Garbage Collection on a Mobile Device
US8973148B2 (en) * 2002-03-20 2015-03-03 Blackberry Limited System and method of secure garbage collection on a mobile device
US8086438B2 (en) * 2002-03-27 2011-12-27 Synopsys, Inc. Method and system for instruction-set architecture simulation using just in time compilation
US20120158397A1 (en) * 2002-03-27 2012-06-21 Synopsys, Inc. Instruction-set architecture simulation techniques using just in time compilation
US20030217248A1 (en) * 2002-03-27 2003-11-20 Achim Nohl Method and system for instruction-set architecture simulation using just in time compilation
US8554535B2 (en) * 2002-03-27 2013-10-08 Synopsys, Inc. Instruction-set architecture simulation techniques using just in time compilation
US20050229232A1 (en) * 2002-06-27 2005-10-13 Thomson Licensing S.A. Data processing device and method for interactive television
US20040044990A1 (en) * 2002-08-28 2004-03-04 Honeywell International Inc. Model-based composable code generation
US7219328B2 (en) * 2002-08-28 2007-05-15 Honeywell International Inc. Model-based composable code generation
US7953588B2 (en) 2002-09-17 2011-05-31 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US7844446B2 (en) 2002-09-17 2010-11-30 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US7496494B2 (en) 2002-09-17 2009-02-24 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US8108843B2 (en) * 2002-09-17 2012-01-31 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US20090157377A1 (en) * 2002-09-17 2009-06-18 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US20040078186A1 (en) * 2002-09-17 2004-04-22 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency
US7146607B2 (en) * 2002-09-17 2006-12-05 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
US8578351B2 (en) 2002-09-17 2013-11-05 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US20040054992A1 (en) * 2002-09-17 2004-03-18 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
US9043194B2 (en) 2002-09-17 2015-05-26 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency
US20040054518A1 (en) * 2002-09-17 2004-03-18 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US20040054517A1 (en) * 2002-09-17 2004-03-18 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US20040054993A1 (en) * 2002-09-17 2004-03-18 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US6775810B2 (en) * 2002-10-08 2004-08-10 Sun Microsystems, Inc. Boosting simulation performance by dynamically customizing segmented object codes based on stimulus coverage
US20040068701A1 (en) * 2002-10-08 2004-04-08 Chang Victor A. Boosting simulation performance by dynamically customizing segmented object codes based on stimulus coverage
US20040078785A1 (en) * 2002-10-22 2004-04-22 Bala Dutt System and method for marking software code
US7603664B2 (en) * 2002-10-22 2009-10-13 Sun Microsystems, Inc. System and method for marking software code
US20040095348A1 (en) * 2002-11-19 2004-05-20 Bleiweiss Avi I. Shading language interface and method
US7143025B2 (en) 2002-12-13 2006-11-28 Sun Microsystems, Inc. Web simulator
US7533012B2 (en) 2002-12-13 2009-05-12 Sun Microsystems, Inc. Multi-user web simulator
US20040117170A1 (en) * 2002-12-13 2004-06-17 Walsh Robert E. Web simulator
US20040117460A1 (en) * 2002-12-13 2004-06-17 Walsh Robert E. Multi-user web simulator
US7188062B1 (en) * 2002-12-27 2007-03-06 Unisys Corporation Configuration management for an emulator operating system
US20070226714A1 (en) * 2003-05-28 2007-09-27 Shigenori Doi Program execution control device, program execution control method, control program, and recording medium
US7958499B2 (en) 2003-05-28 2011-06-07 Panasonic Corporation Program execution control device, program execution control method, control program, and recording medium
US20050166192A1 (en) * 2003-11-06 2005-07-28 Polcha Michael P. Run time compiler system and method
US20100262636A1 (en) * 2004-01-05 2010-10-14 International Business Machines Corporation Garbage collector with eager read barrier
US7984083B2 (en) * 2004-01-05 2011-07-19 International Business Machines Corporation Garbage collector with eager read barrier
US20050154573A1 (en) * 2004-01-08 2005-07-14 Maly John W. Systems and methods for initializing a lockstep mode test case simulation of a multi-core processor design
US8689202B1 (en) 2004-03-30 2014-04-01 Synopsys, Inc. Scheduling of instructions
US9383977B1 (en) 2004-03-30 2016-07-05 Synopsys, Inc. Generation of compiler description from architecture description
US20090007086A1 (en) * 2004-05-25 2009-01-01 Motohiro Kawahito Compiler Optimization
US9280326B1 (en) 2004-05-26 2016-03-08 Synopsys, Inc. Compiler retargeting based on instruction semantic models
US20060037005A1 (en) * 2004-08-15 2006-02-16 Russell Paul F Method and apparatus for increasing computer security
US20060070042A1 (en) * 2004-09-24 2006-03-30 Muratori Richard D Automatic clocking in shared-memory co-simulation
US20060195732A1 (en) * 2005-02-11 2006-08-31 Joerg Deutschle Method and system for executing test cases for a device under verification
US7565217B2 (en) * 2005-04-01 2009-07-21 International Business Machines Corporation Traversal of empty regions in a searchable data structure
US20060224600A1 (en) * 2005-04-01 2006-10-05 Ronen Grosman Traversal of empty regions in a searchable data structure
US7827542B2 (en) * 2005-09-28 2010-11-02 Panasonic Corporation Compiler apparatus
US20070074196A1 (en) * 2005-09-28 2007-03-29 Matsushita Electric Industrial Co., Ltd. Compiler apparatus
US20090228677A1 (en) * 2005-12-19 2009-09-10 Dxo Labs Digital data processing method and system
US8429625B2 (en) * 2005-12-19 2013-04-23 Dxo Labs Digital data processing method and system
US8615743B2 (en) * 2006-02-27 2013-12-24 Microsoft Corporation Adaptive compiled code
US20070240120A1 (en) * 2006-02-27 2007-10-11 Miller James S Adaptive Compiled Code
US7873952B2 (en) * 2006-03-09 2011-01-18 Oracle America, Inc. Code transformation to optimize fragments that implement constant loading
US20070226717A1 (en) * 2006-03-09 2007-09-27 Sun Microsystems, Inc. Code transformation to optimize fragments that implement constant loading
US7904894B2 (en) * 2006-03-29 2011-03-08 Microsoft Corporation Automatically optimize performance of package execution
US20070234240A1 (en) * 2006-03-29 2007-10-04 Microsoft Corporation Automatically optimize performance of package execution
US8407386B2 (en) * 2006-03-29 2013-03-26 Intel Corporation Increasing functionality of a reader-writer lock
US20120089760A1 (en) * 2006-03-29 2012-04-12 Bratin Saha Increasing Functionality Of A Reader-Writer Lock
US8775708B2 (en) 2006-03-29 2014-07-08 Intel Corporation Increasing functionality of a reader-writer lock
US20080229295A1 (en) * 2006-04-05 2008-09-18 International Business Machines Corporation Ensuring Maximum Code Motion of Accesses to DMA Buffers
US20070240142A1 (en) * 2006-04-05 2007-10-11 Brokenshire Daniel A Apparatus and method for ensuring maximum code motion of accesses to dma buffers
US8141067B2 (en) * 2006-04-05 2012-03-20 International Business Machines Corporation Ensuring maximum code motion of accesses to DMA buffers
US7870544B2 (en) * 2006-04-05 2011-01-11 International Business Machines Corporation Insuring maximum code motion of accesses to DMA buffers
US9658849B2 (en) * 2006-07-06 2017-05-23 Imperas Software Ltd. Processor simulation environment
US20100017183A1 (en) * 2006-07-06 2010-01-21 Imperas Ltd. Multiprocessor Development Environment
US20130173887A1 (en) * 2006-07-06 2013-07-04 Imperas Software Ltd. Processor simulation environment
US8417508B2 (en) * 2006-07-06 2013-04-09 Imperas Software Ltd. Multiprocessor development environment
US8296750B2 (en) 2006-10-11 2012-10-23 International Business Machines Corporation Optimization of a target program
US20080091926A1 (en) * 2006-10-11 2008-04-17 Motohiro Kawahito Optimization of a target program
US20080140537A1 (en) * 2006-12-07 2008-06-12 Norman Powell Method for selling custom business software and software exchange marketplace
US7739256B2 (en) * 2006-12-07 2010-06-15 Norman Powell Method for selling custom business software and software exchange marketplace
US8214813B2 (en) 2007-01-12 2012-07-03 Microsoft Corporation Code optimization across interfaces
US8621443B2 (en) * 2007-04-18 2013-12-31 Sony Computer Entertainment Inc. Processor emulation using speculative forward translation
US8245202B2 (en) * 2007-04-18 2012-08-14 Sony Computer Entertainment Inc. Processor emulation using speculative forward translation
US20120284011A1 (en) * 2007-04-18 2012-11-08 Sony Computer Entertainment Inc. Processor emulation using speculative forward translation
US20080263527A1 (en) * 2007-04-18 2008-10-23 Sony Computer Entertainment Inc. Processor emulation using speculative forward translation
US20090113403A1 (en) * 2007-09-27 2009-04-30 Microsoft Corporation Replacing no operations with auxiliary code
US20090125887A1 (en) * 2007-11-14 2009-05-14 Nec Laboratories America, Inc. System and method for generating error traces for concurrency bugs
US8527976B2 (en) * 2007-11-14 2013-09-03 Nec Laboratories America, Inc. System and method for generating error traces for concurrency bugs
US20090271772A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Using hardware interrupts to drive dynamic binary code recompilation
US8453129B2 (en) * 2008-04-24 2013-05-28 International Business Machines Corporation Using hardware interrupts to drive dynamic binary code recompilation
US8281296B2 (en) * 2008-08-12 2012-10-02 Oracle America, Inc. Cross-ISA inlining in a system virtual machine
US20100042983A1 (en) * 2008-08-12 2010-02-18 Sun Microsystems, Inc. Cross-isa inlining in a system virtual machine
US20100088688A1 (en) * 2008-10-03 2010-04-08 Icera Inc. Instruction cache
US8689197B2 (en) * 2008-10-03 2014-04-01 Icera, Inc. Instruction cache
US20100125554A1 (en) * 2008-11-18 2010-05-20 Unisys Corporation Memory Recovery Across Reboots of an Emulated Operating System
US20100174853A1 (en) * 2009-01-08 2010-07-08 Samsung Electronics Co., Ltd. User device including flash and random write cache and method writing data
US8677329B2 (en) * 2009-06-03 2014-03-18 Apple Inc. Methods and apparatuses for a compiler server
US20100313079A1 (en) * 2009-06-03 2010-12-09 Robert Beretta Methods and apparatuses for a compiler server
US9946873B2 (en) 2009-06-03 2018-04-17 Apple Inc. Methods and apparatuses for secure compilation
US9880819B2 (en) 2009-06-03 2018-01-30 Apple Inc. Methods and apparatuses for a compiler server
US20110016459A1 (en) * 2009-07-14 2011-01-20 Robert Joseph Meyers Systems, methods, and computer programs for dynamic binary translation in an interpreter
US8527969B2 (en) * 2009-07-14 2013-09-03 Unisys Corporation Systems, methods, and computer programs for dynamic binary translation in an interpreter
US20110145551A1 (en) * 2009-12-16 2011-06-16 Cheng Wang Two-stage commit (tsc) region for dynamic binary optimization in x86
US8418156B2 (en) * 2009-12-16 2013-04-09 Intel Corporation Two-stage commit (TSC) region for dynamic binary optimization in X86
US9767271B2 (en) 2010-07-15 2017-09-19 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US20120124555A1 (en) * 2010-11-11 2012-05-17 Codekko Software, Inc. Optimization of Compiled Control Objects
US20120198458A1 (en) * 2010-12-16 2012-08-02 Advanced Micro Devices, Inc. Methods and Systems for Synchronous Operation of a Processing Device
US20120185833A1 (en) * 2011-01-18 2012-07-19 Hyeong-Seok Oh Code generator and method for generating extra code for a virtual machine
US9792132B2 (en) * 2011-01-18 2017-10-17 Samsung Electronics Co., Ltd. Code generator and method for generating extra code for a virtual machine
US9495136B2 (en) * 2011-01-28 2016-11-15 International Business Machines Corporation Using aliasing information for dynamic binary optimization
US20120198428A1 (en) * 2011-01-28 2012-08-02 International Business Machines Corporation Using Aliasing Information for Dynamic Binary Optimization
WO2012143760A1 (en) * 2011-04-20 2012-10-26 Freescale Semiconductor, Inc. Method and apparatus for generating resource efficient computer program code
CN103562870A (zh) * 2011-05-11 2014-02-05 超威半导体公司 异构核心的自动加载平衡
US8782645B2 (en) * 2011-05-11 2014-07-15 Advanced Micro Devices, Inc. Automatic load balancing for heterogeneous cores
US20120291040A1 (en) * 2011-05-11 2012-11-15 Mauricio Breternitz Automatic load balancing for heterogeneous cores
US8762973B2 (en) * 2011-09-13 2014-06-24 Fujitsu Limited Information processing apparatus, method of controlling information processing apparatus, and program for executing intermediate code instructions
US20130067442A1 (en) * 2011-09-13 2013-03-14 Fujitsu Limited Information processing apparatus, method of controlling information processing apparatus, and program for executing intermediate code instructions
US8600727B2 (en) * 2011-10-11 2013-12-03 Unisys Corporation Streamlined execution of emulated code using block-based translation mode
US20130090913A1 (en) * 2011-10-11 2013-04-11 David Strong Streamlined execution of emulated code using block-based translation mode
JP2018014142A (ja) * 2011-12-23 2018-01-25 ザ アリゾナ ボード オブ リージェンツ オン ビハーフ オブ ザ ユニバーシティー オブ アリゾナ データベース管理システムにおけるマイクロ特化の方法
US10365900B2 (en) 2011-12-23 2019-07-30 Dataware Ventures, Llc Broadening field specialization
US8555392B2 (en) 2012-02-24 2013-10-08 Kaspersky Lab Zao System and method for detecting unknown packers and cryptors
US20130346952A1 (en) * 2012-06-26 2013-12-26 Marvell World Trade Ltd. Method and apparatus for code performance analysis
US9098308B2 (en) * 2012-06-26 2015-08-04 Marvell World Trade Ltd. Method and apparatus for code performance analysis based on execution trace information
US20140067886A1 (en) * 2012-09-04 2014-03-06 Fujitsu Limited Information processing apparatus, method of outputting log, and recording medium
US9767284B2 (en) 2012-09-14 2017-09-19 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9552495B2 (en) 2012-10-01 2017-01-24 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US10324795B2 (en) 2012-10-01 2019-06-18 The Research Foundation for the State University o System and method for security and privacy aware virtual machine checkpointing
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US9117017B2 (en) * 2013-02-11 2015-08-25 International Business Machines Corporation Debugger with previous version feature
US20140229915A1 (en) * 2013-02-11 2014-08-14 International Business Machines Corporation Debugger with previous version feature
US9047403B2 (en) * 2013-02-11 2015-06-02 International Business Machines Corporation Debugger with previous version feature
US20140229916A1 (en) * 2013-02-11 2014-08-14 International Business Machines Corporation Debugger with previous version feature
US20150113513A1 (en) * 2013-10-18 2015-04-23 Microsoft Corporation Incrementally compiling software artifacts from an interactive development environment
WO2015056098A3 (en) * 2013-10-18 2015-08-13 Marvell World Trade Ltd. Systems and methods for register allocation
US9690584B2 (en) * 2013-10-18 2017-06-27 Marvell World Trade Ltd. Systems and methods for register allocation
US20150113251A1 (en) * 2013-10-18 2015-04-23 Marvell World Trade Ltd. Systems and Methods for Register Allocation
CN105637474A (zh) * 2013-10-18 2016-06-01 马维尔国际贸易有限公司 用于寄存器分配的系统和方法
US9600256B2 (en) * 2013-10-18 2017-03-21 Microsoft Technology Licensing, Llc Incrementally compiling software artifacts from an interactive development environment
EP3058456A4 (en) * 2013-10-18 2018-01-24 Marvell World Trade Ltd. Systems and methods for register allocation
US10554777B1 (en) 2014-01-21 2020-02-04 Shape Security, Inc. Caching for re-coding techniques
US20150269052A1 (en) * 2014-03-21 2015-09-24 Marvell World Trade Ltd Method and apparatus for supporting performance analysis
US9558096B2 (en) * 2014-03-21 2017-01-31 Marvell World Trade Ltd. Method and apparatus for supporting performance analysis
US20210144380A1 (en) * 2014-12-08 2021-05-13 Harmonic, Inc. Dynamic allocation of virtual and/or physical resources vis-a-vis virtual machines in video stream processing
US10897616B2 (en) * 2014-12-08 2021-01-19 Harmonic, Inc. Dynamic allocation of CPU cycles vis-a-vis virtual machines in video stream processing
US11601650B2 (en) * 2014-12-08 2023-03-07 Harmonic, Inc. Dynamic allocation of virtual and/or physical resources vis-a-vis virtual machines in video stream processing
US10733099B2 (en) 2015-12-14 2020-08-04 Arizona Board Of Regents On Behalf Of The University Of Arizona Broadening field specialization
US20200012503A1 (en) * 2017-04-26 2020-01-09 International Business Machines Corporation Recursive stack-based serialization of hierarchical data
US10901755B2 (en) * 2017-04-26 2021-01-26 International Business Machines Corporation Recursive stack-based serialization of hierarchical data
US10635595B2 (en) 2017-07-28 2020-04-28 Citrix Systems, Inc. Dynamic delete command partitioning with disk caching
US10491524B2 (en) 2017-11-07 2019-11-26 Advanced Micro Devices, Inc. Load balancing scheme
US11455153B2 (en) * 2019-03-18 2022-09-27 Advanced Micro Devices, Inc. Dynamic instances semantics
US11550600B2 (en) 2019-11-07 2023-01-10 Intel Corporation System and method for adapting executable object to a processing unit
US11216257B1 (en) * 2020-07-02 2022-01-04 Intrado Corporation Automated conference sessions generated to manage application development
US11677574B1 (en) 2020-07-02 2023-06-13 Intrado Corporation Automated conference sessions generated to manage application development
US20230305992A1 (en) * 2022-03-25 2023-09-28 Nokia Solutions And Networks Oy Processor using target instructions

Also Published As

Publication number Publication date
JP3553834B2 (ja) 2004-08-11
DE19945992B4 (de) 2004-12-09
DE19945992A1 (de) 2000-05-04
JP2000132408A (ja) 2000-05-12
US6463582B1 (en) 2002-10-08
CN1270348A (zh) 2000-10-18
CN1308818C (zh) 2007-04-04

Similar Documents

Publication Publication Date Title
US6463582B1 (en) Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method
US7725883B1 (en) Program interpreter
US7058929B2 (en) Direct invocation of methods using class loader
Fitzgerald et al. Marmot: An optimizing compiler for Java
Holzle Adaptive optimization for SELF: reconciling high performance with exploratory programming
US6199095B1 (en) System and method for achieving object method transparency in a multi-code execution environment
US6093216A (en) Method of run-time tracking of object references in Java programs
US7036118B1 (en) System for executing computer programs on a limited-memory computing machine
AU2891600A (en) Method and apparatus for building a calling convention prolog and epilog code using a register allocator
US7200841B2 (en) Method and apparatus for performing lazy byteswapping optimizations during program code conversion
Brandis et al. The Oberon system family
Gallagher Memory disambiguation to facilitate instruction-level parallelism compilation
Adl-Tabatabai Source-level debugging of globally optimized code
Wall Experience with a software-defined machine architecture
Nystrom Bytecode level analysis and optimization of Java classes
Chambers et al. Iterative type analysis and extended message splitting: Optimizing dynamically-typed object-oriented programs
Shabalin Just-in-time performance without warm-up
Burger Efficient compilation and profile-driven dynamic recompilation in scheme
Padlewski et al. Modeling the Invariance of Virtual Pointers in LLVM
Keppel Runtime code generation
Postiff et al. Smart register file for high-performance microprocessors
Erhardt et al. A Control-Flow-Sensitive Analysis and Optimization Framework for the KESO Multi-JVM
Prabhu Just in time compilation for high performance computing
Cooper et al. Compiler-Based Code-Improvement Techniques
Kalogeropulos Identifying the available parallelism using static analysis