Patent ID: 7856628

Claim:
A computer implemented method for simplifying compiler-generated software code, the computer implemented method comprising: generating a stub routine for a subroutine; replacing a subroutine call in the software code with a stub routine call for the stub routine, wherein the subroutine call has at least one argument; and executing the software code by at least one processing unit, wherein executing the software code comprises: receiving, by the stub routine, at the least one argument from the stub routine call; determining whether the at least one argument for the subroutine call comprises an array pointer; checking a descriptor for the array pointer to determine whether the array pointer points to a contiguous storage or a non-contiguous storage; responsive to a determination that the at least one argument comprises an array pointer that points to a non-contiguous storage, allocating a contiguous temporary storage, copying the non-contiguous storage to the contiguous temporary storage and passing, by the stub routine, an address of the contiguous temporary storage to the subroutine.