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 PDFInfo
- 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
Links
- 238000013519 translation Methods 0.000 title claims abstract description 244
- 238000000034 method Methods 0.000 title claims abstract description 153
- 230000008569 process Effects 0.000 claims abstract description 28
- 230000003247 decreasing effect Effects 0.000 claims 2
- 230000000977 initiatory effect Effects 0.000 claims 2
- 238000001514 detection method Methods 0.000 claims 1
- 238000005457 optimization Methods 0.000 abstract description 33
- 238000004458 analytical method Methods 0.000 abstract description 28
- 230000003068 static effect Effects 0.000 abstract description 20
- 238000012986 modification Methods 0.000 abstract description 15
- 230000004048 modification Effects 0.000 abstract description 15
- 230000014616 translation Effects 0.000 description 235
- 238000012360 testing method Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 27
- 230000008901 benefit Effects 0.000 description 21
- 230000009466 transformation Effects 0.000 description 17
- 230000008030 elimination Effects 0.000 description 15
- 238000003379 elimination reaction Methods 0.000 description 15
- 230000007704 transition Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000000844 transformation Methods 0.000 description 8
- 238000004040 coloring Methods 0.000 description 7
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000008713 feedback mechanism Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 231100000957 no side effect Toxicity 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract 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)
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)
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)
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)
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 |
-
1998
- 1998-10-21 US US09/176,112 patent/US6463582B1/en not_active Expired - Lifetime
- 1998-10-21 US US09/176,112 patent/US20020147969A1/en active Granted
-
1999
- 1999-09-24 DE DE19945992A patent/DE19945992B4/de not_active Expired - Fee Related
- 1999-10-08 CN CNB991208870A patent/CN1308818C/zh not_active Expired - Fee Related
- 1999-10-21 JP JP29957699A patent/JP3553834B2/ja not_active Expired - Lifetime
Cited By (168)
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 |