Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Linking code for an enhanced application binary interface (ABI) with decode time instruction optimization

A technique of instruction and code sequence, applied in the field of compiled code, which can solve the problem of not knowing the final parsed value, etc.

Inactive Publication Date: 2014-06-11
IBM CORP
View PDF6 Cites 3 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

The linker knows the offset of specific internally referenced TOC entries but not the final parsed value for most externally referenced TOC entries

Method used

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

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Linking code for an enhanced application binary interface (ABI) with decode time instruction optimization
  • Linking code for an enhanced application binary interface (ABI) with decode time instruction optimization
  • Linking code for an enhanced application binary interface (ABI) with decode time instruction optimization

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0025] Embodiments of the invention relate to minimizing the impact of table of contents (TOC) overflow on performance and throughput in computing systems. One embodiment includes a compiler designed to generate object code to include specified instruction sequences (eg, sequences that have been inserted into the code to compensate for TOC overflow). The sequence of instructions is adapted to be recognized by hardware so that the microprocessor can optimize the sequence for internal execution. When one of the specified instruction sequences is located, the microprocessor replaces the instruction in the sequence with an internal instruction that can be executed more efficiently, or replaces the instruction in the sequence with a single internal instruction. This processing performed by the microprocessor is referred to herein as Decode Time Instruction Optimization (DTIO).

[0026] DTIO processing is a hardware processing. The compiler and linker described here prepare code s...

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

PUM

No PUM Login to View More

Abstract

A code sequence made up multiple instructions and specifying an offset from a base address is identified in an object file. The offset from the base address corresponds to an offset location in a memory configured for storing an address of a variable or data. The identified code sequence is configured to perform a memory reference function or a memory address computation function. It is determined that the offset location is within a specified distance of the base address and that a replacement of the identified code sequence with a replacement code sequence will not alter program semantics. The identified code sequence in the object file is replaced with the replacement code sequence that includes a no-operation (NOP) instruction or having fewer instructions than the identified code sequence. Linked executable code is generated based on the object file and the linked executable code is emitted.

Description

technical field [0001] The present invention relates to computer systems, and more particularly to optimized linking of compiled code for an enhanced Application Binary Interface (ABI) using decode time instructions. Background technique [0002] In computer software, an Application Binary Interface (ABI) describes the low-level interface between an application program and the operating system, or between an application program and another application. The ABI involves details such as data types, sizes, and alignments; calling rules that govern how function variables are passed and how return values ​​are searched for; system call numbers and how applications should make system calls to the operating system; In the case of an ABI, it refers to the binary format of object files, libraries, and so on. Several ABIs (e.g., the Interactive UnixABI that allows a wide range of programs to run on the various Unix and Linux variants for the Intel x86 architecture) allow access from ...

Claims

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

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): G06F9/45
CPCG06F9/00G06F8/54G06F9/3017G06F9/342G06F8/443
Inventor R.J.布莱尼M.K.格施温德J.L.麦金尼斯S.J.芒罗M.迈斯纳
Owner IBM CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products