Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Loop Merger in an Interpretive Environment

IP.com Disclosure Number: IPCOM000034954D
Original Publication Date: 1989-May-01
Included in the Prior Art Database: 2005-Jan-28
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Brown, JA: AUTHOR [+2]

Abstract

This invention relates to a method for merging loops in an interpretive environment by testing the program source code for a predetermined attribute. The method which can be used with a highly parallel type of interpretive processing language, such as APL, can be depicted as follows: Given that one stringable function has been encountered: ¿ Look at the number of data items in the arguments. (a) If both arguments are simple scalars, execute the function immediately and remember the result. (b) If one or both arguments are long (a predetermined number which makes vector processing efficient), encode a description of the function, the argument types and locations, and the type of the result.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 88% of the total text.

Page 1 of 1

Loop Merger in an Interpretive Environment

This invention relates to a method for merging loops in an interpretive environment by testing the program source code for a predetermined attribute. The method which can be used with a highly parallel type of interpretive processing language, such as APL, can be depicted as follows: Given that one stringable function has been encountered: ¿ Look at the number of data items in the arguments.

(a) If both arguments are simple scalars, execute

the function immediately and remember the

result.

(b) If one or both arguments are long (a

predetermined number which makes vector

processing efficient), encode a description

of the function, the argument types and

locations, and the type of the result. The

function is not executed.

(c) If one or both arguments are short, the same

descriptive information is encoded. The

function is not executed, and is switched to

scalar processing mode for instructions and

loop control.

¿ Look for another stringable function.

(a) If one is found, go back to step 1 to process

it.

(b) If none is found, go to step 3 to complete

execution of the string.

¿ End of string logic - allocate space for result.

(a) If a result has been computed for scalar

values, store the computed result in the

allocated space.

(b) If no result has been computed, build a

special-purpose execution program:

(1) Allocate registers to each argument.

(2) Load the function arguments.

(3) Perform the necessary numeric

conversions.

(4)...