Browse Prior Art Database

Method for the alignment and placement of code blocks to improve ITLB performance

IP.com Disclosure Number: IPCOM000146813D
Publication Date: 2007-Feb-23
Document File: 6 page(s) / 61K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for the alignment and placement of code blocks to improve instruction translation look-aside buffer (ITLB) performance. Benefits include improved functionality and improved performance.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 40% of the total text.

Method for the alignment and placement of code blocks to improve ITLB performance

Disclosed is a method for the alignment and placement of code blocks to improveinstruction translation look-aside buffer (ITLB) performance. Benefits include improved functionality and improved performance.

Background

      Conventional managed runtime environments (MRTEs)typically contain a just-in-time (JIT) compiler that dynamically optimizes code blocks. However, they are not aligned on page boundaries, which reduces ITLB performance.

 

General description

      The disclosed method alignments and places code blocks in an MRTE to improve ITLB performance. When code blocks are smaller than the default page size, they are aligned to fit on page boundaries,which reduces the number of ITLB entries and improves performance. Holes that would cause memory fragmentation due to alignment are listed and filled where possible by  the next code block.

      The disclosed method applies to the conventional MRTEs existing JIT compilers and can be extended to static compilers.

      The key elements of the disclosed method include:

     Hole list data structure

     Pointer to the hole list data structure

     Code blocks data structure

     Code blocks data structure manager

     Facility to add programmed functionsto the code block structure with alignment restrictions

     Facility to align the currentblockpointer to a new page address

Advantages

      The disclosed method provides advantages, including:
     Improved functionality due toprovidingthe alignment and placement of code blocks in MRTEs

     Improved functionality due to providing a hole list structure and point to reduce memory fragmentation

     Improved functionality due to providing a code blocks data structure and manager

     Improved performance due toreducing the processing time of the instruction translation look-aside buffer

Detailed description

      The disclosed methodaligns and places programmed functions in an MRTE to improve ITLB performance. The method includes a hole-list data structure that contains the start address and size of holes left in the code block data structure as a result of alignment across a new page boundary. A code-blocks data structure represents a memory region that contains all the compiled programmed functions, which are dynamically executed from this region. The structure includes information like the structure’ssize and the current block pointer. The structure contains a pointer to the holes-list data structure (see Figure 1).

      The disclosed method includes a facility to mange the holes-list data structure. The manager adds and deletesholes to the list and sorts the list entries by size. This process determin...