# US 2018/0024834 A1 · Executing short pointer mode applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0024834 A1
- Document ID: US20180024834A1
- Status: Published application
- Kind: A1
- Application number: 15/216,867
- Filed: 2016-07-22
- Published: 2018-01-25
- Earliest claimed: 2016-07-22
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Michael K. Gschwind
- Web page: https://patentgrep.com/patent/US20180024834A1

## CPC

- G06F 9/30189: {according to execution mode, e.g. mode flag}
- G06F 8/434: {Pointers; Aliasing}
- G06F 8/441: {Register allocation; Assignment of physical memory space to logical memory space}
- G06F 8/447: {Target code generation}
- G06F 9/342: {Extension of operand address space}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A short pointer mode application is loaded in an address space configured for use by a plurality of types of applications including the short pointer mode application and a long pointer mode application. The address space has a first portion addressable by short pointers of a defined size and a second portion addressable by long pointers of another defined size. The other defined size is different from the defined size. Based on executing the short pointer mode application, one or more short pointers of the short pointer mode application are converted to one or more long pointers; and the one or more long pointers are used to access memory within the first portion of the address space addressable by short pointers.

## Claims

### Claim 1

A computer program product for facilitating processing in a computing environment, said computer program product comprising:
a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
executing a short pointer mode application loaded in an address space configured for use by a plurality of types of applications including the short pointer mode application and a long pointer mode application, the address space having a first portion addressable by short pointers of a defined size and a second portion addressable by long pointers of another defined size, the other defined size being different from the defined size; and
based on executing the short pointer mode application:
converting one or more short pointers of the short pointer mode application to one or more long pointers; and
using the one or more long pointers to access memory within the first portion of the address space addressable by short pointers.

### Claim 2 (depends on 1)

The computer program product of claim 1, wherein the converting a short pointer to a long pointer includes zero extending the short pointer.

### Claim 3 (depends on 1)

The computer program product of claim 1, wherein the method further comprises configuring the address space for use by the plurality of types of applications, the configuring defining a first range of addresses for the first portion of the address space and a second range of addresses for the second portion of the address space.

### Claim 4 (depends on 3)

The computer program product of claim 3, wherein the configuring further comprises providing a shadow copy of the first portion of the address space to protect against a wrap around of addresses.

### Claim 5 (depends on 1)

The computer program product of claim 1, wherein the defined size is one of 31 bits or 32 bits, and the other defined size is 64 bits.

### Claim 6 (depends on 1)

The computer program product of claim 1, wherein the method further comprises loading the short pointer mode application in the first portion of the address space.

### Claim 7 (depends on 1)

The computer program product of claim 1, wherein the method further comprises:
obtaining an application to be executed;
determining the application is the short pointer mode application; and
loading the short pointer mode application in the first portion of the address space, based on determining the application is the short pointer mode application.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the determining includes checking a field associated with the application.

### Claim 9 (depends on 1)

The computer program product of claim 1, wherein the short pointer mode application is written to use short pointers and lacks knowledge of long pointers, and is adapted to call a library written with long pointers and lacking knowledge of short pointers.

### Claim 10

A computer system for facilitating processing in a computing environment, said computer system comprising:
a memory; and
a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising:
executing a short pointer mode application loaded in an address space configured for use by a plurality of types of applications including the short pointer mode application and a long pointer mode application, the address space having a first portion addressable by short pointers of a defined size and a second portion addressable by long pointers of another defined size, the other defined size being different from the defined size; and
based on executing the short pointer mode application:
converting one or more short pointers of the short pointer mode application to one or more long pointers; and
using the one or more long pointers to access memory within the first portion of the address space addressable by short pointers.

### Claim 11 (depends on 10)

The computer system of claim 10, wherein the converting a short pointer to a long pointer includes zero extending the short pointer.

### Claim 12 (depends on 10)

The computer system of claim 10, wherein the method further comprises configuring the address space for use by the plurality of types of applications, the configuring defining a first range of addresses for the first portion of the address space and a second range of addresses for the second portion of the address space.

### Claim 13 (depends on 12)

The computer system of claim 12, wherein the configuring further comprises providing a shadow copy of the first portion of the address space to protect against a wrap around of addresses.

### Claim 14 (depends on 10)

The computer system of claim 10, wherein the method further comprises:
obtaining an application to be executed;
determining the application is the short pointer mode application; and
loading the short pointer mode application in the first portion of the address space, based on determining the application is the short pointer mode application.

### Claim 15

A computer-implemented method of facilitating processing in a computing environment, said computer-implemented method comprising:
executing a short pointer mode application loaded in an address space configured for use by a plurality of types of applications including the short pointer mode application and a long pointer mode application, the address space having a first portion addressable by short pointers of a defined size and a second portion addressable by long pointers of another defined size, the other defined size being different from the defined size; and
based on executing the short pointer mode application:
converting one or more short pointers of the short pointer mode application to one or more long pointers; and
using the one or more long pointers to access memory within the first portion of the address space addressable by short pointers.

### Claim 16 (depends on 15)

The computer-implemented method of claim 15, wherein the converting a short pointer to a long pointer includes zero extending the short pointer.

### Claim 17 (depends on 15)

The computer-implemented method of claim 15, further comprising configuring the address space for use by the plurality of types of applications, the configuring defining a first range of addresses for the first portion of the address space and a second range of addresses for the second portion of the address space.

### Claim 18 (depends on 17)

The computer-implemented method of claim 17, wherein the configuring further comprises providing a shadow copy of the first portion of the address space to protect against a wrap around of addresses.

### Claim 19 (depends on 15)

The computer-implemented method of claim 15, further comprising loading the short pointer mode application in the first portion of the address space.

### Claim 20 (depends on 15)

The computer-implemented method of claim 15, further comprising:
obtaining an application to be executed;
determining the application is the short pointer mode application; and
loading the short pointer mode application in the first portion of the address space, based on determining the application is the short pointer mode application.
