IP Library Granted Patent US 10,248,423
Granted Patent B2
US 10,248,423 · App. 15/216,867 · Granted Apr 2, 2019

Executing short pointer mode applications

Inventor: Michael K. Gschwind (Chappaqua, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/30189G06F9/342
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,248,423
App. No.
15/216,867
Granted
Apr 2, 2019
Kind
B2
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 (47)

1. 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;

based on using a long format service function, passing an in-memory short pointer as a parameter in a long format to use the long format service function, wherein the passing includes loading or accessing a long pointer representation in a parameter list holding an image of a long form register representation of the parameter; and

using the one or more long pointers to access memory within the first portion of the address space addressable by short pointers.

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

3. The computer-implemented method of claim 1 , 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.

4. The computer-implemented method 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.

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

6. The computer-implemented method of claim 1 , 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.

7. 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;

based on using a long format service function, passing an in-memory short pointer as a parameter in a long format to use the long format service function, wherein the passing includes loading or accessing a long pointer representation in a parameter list holding an image of a long form register representation of the parameter; and

using the one or more long pointers to access memory within the first portion of the address space addressable by short pointers.

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

9. The computer system of claim 7 , 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.

10. The computer system of claim 9 , 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.

11. The computer system of claim 7 , 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.

12. 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;

based on using a long format service function, passing an in-memory short pointer as a parameter in a long format to use the long format service function, wherein the passing includes loading or accessing a long pointer representation in a parameter list holding an image of a long form register representation of the parameter; and

using the one or more long pointers to access memory within the first portion of the address space addressable by short pointers.

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

14. The computer program product of claim 12 , 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.

15. The computer program product of claim 14 , 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.

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

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

18. The computer program product of claim 12 , 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.

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

20. The computer program product of claim 12 , 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2016
From: GSCHWIND, MICHAEL K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039230/0069 →
Continuity (1)
Related Publication 20180024834A1 · Jan 25, 2018