Patent EP0039226A2 successfully refreshed from Google Patents.
US5652869A
Expired / Lapsed
US
⏱️ 0.0 years remaining
System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls
Assignee: Hewlett Packard Development Co LP
•
Filing: 1994-12-28
•
Granted: 1997-07-29
•
Expires: 2014-12-28
Abstract
Abstract A system is provided for executing and debugging multiple codes in a multi-architecture environment that includes a real X architecture (domain) and a simulated (Y) architecture (domain). The multiple code executing and debugging system comprises an X computer system having a memory with stored X and Y code and having the X architecture embodied therein. A detector is provided to detect calls from executing code in either domain for cross-domain services including execution of cross-domain routines. A jacketing system jackets cross-domain routine calls to interface the calling conventions of the calling and the called routines.
Inventors
- 👤 Mark A. Herdeg
- 👤 James A. Wooldridge
- 👤 Scott G. Robinson
- 👤 Ronald F. Brender
- 👤 Michael V. Iles
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-31 00:28
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3698; G06F9/00; G06F9/06; G06F9/44; G06F9/455; G06F9/45504
Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
291 words
A method for creating a mixed code program for execution in a multiple code execution system that provides a multi-architecture environment including a real X architecture and a simulated Y architecture, an input X code provided with a plurality of X code modules having plurality of X routines; an input Y code provided with a plurality of Y code modules having a plurality of Y routines, said method comprising the steps of: preparing a plurality of jacket descriptions defining calling conventions for incoming and outgoing calls for each said X routine in an X code module and for each said Y routine in a Y code module to be executed by said multiple code execution system, said calling conventions defining cross-domain interfacing between said X and Y routines, said jacket descriptions including identifications of call type, of a plurality of parameters usable in said calls, of a call result memory location for containing call results, and of a routine memory location for containing information to be preserved during said calls; compiling a plurality of X jacket objects and a plurality of Y jacket objects from said jacket descriptions, each of said jacket objects including a jacket table embodying the corresponding jacket descriptions for said routines; compiling a plurality of X objects from said X code module and a plurality of Y objects from said Y code module; linking said X objects and said X jacket objects to produce an X image, said X image including code utilizing said cross-domain interfacing for enabling interactive multiple code execution and debugging; linking said Y objects and said Y jacket objects to produce a Y image; and activating said X and Y images for interactive execution as said mixed code program in said execution system.
Claim 2
Independent Claim
291 words
A method for creating a mixed code program for execution in a multiple code execution system that provides a multi-architecture environment including a real X architecture and a simulated Y architecture, an input X code provided with a plurality of X code modules having plurality of X routines; an input Y code provided with a plurality of Y code modules having a plurality of Y routines, said method comprising the steps of: preparing a plurality of jacket descriptions defining calling conventions for incoming and outgoing calls for each said X routine in an X code module and for each said Y routine in a Y code module to be executed by said multiple code execution system, said calling conventions defining cross-domain interfacing between said X and Y routines, said jacket descriptions including identifications of call type, of a plurality of parameters usable in said calls, of a call result memory location for containing call results, and of a routine memory location for containing information to be preserved during said calls; compiling a plurality of X jacket objects and a plurality of Y jacket objects from said jacket descriptions, each of said jacket objects including a jacket table embodying the corresponding jacket descriptions for said routines; compiling a plurality of X objects from said X code module and a plurality of Y objects from said Y code module; linking said X objects and said X jacket objects to produce an X image, said X image including code utilizing said cross-domain interfacing for enabling interactive multiple code execution and debugging; linking said Y objects and said Y jacket objects to produce a Y image; and activating said X and Y images for interactive execution as said mixed code program in said execution system.
Claim 3
Dependent Claim
122 words
The method in accordance with claim 1, further comprising the steps of: compiling a plurality of X objects from code for an environment manager component included in said multiple code execution system; linking said X environment manager objects with said X objects and said X jacket objects in said X image; generating an X image for a debugger component included in said multiple code execution system; generating an X image for a simulator component included in said multiple code execution system; activating said Y image and said X image and said debugger component image and said simulator component image for interactive execution of said X and Y modules under control of said environment manager, debugger and simulator components in said multi-architecture environment.
Claim 4
Dependent Claim
77 words
The method in accordance with claim 2, wherein said multiple code execution system includes an X computer system and said method further comprises: operating said simulator component to simulate said Y architecture on said X computer; operating said debugger component to debug said X code and said Y code in said multi-architecture environment; and managing operation of said simulating and debugging components and said X computer system to provide mixed X and Y code execution and debugging.
Claim 5
Dependent Claim
24 words
The method in accordance with claim 1, wherein said X and Y modules comprise related parts of an application program at a user level.
Claim 6
Independent Claim
268 words
A system for executing multiple codes interactively in a multi-architecture environment including a real X architecture (domain) for executing X code and at least one additional simulated architecture (domain) for executing Y code, said multiple code executing system further comprising: an X computer system having said X architecture embodied therein for executing X code including a plurality of X routines; a memory coupled with said X computer system having stored X code and Y code; means, included in said X computer system, for simulating said Y architecture on said X computer system to execute Y code including a plurality of Y routines; and means coupled with said X computer system for managing operation of said simulating means and said X computer system to provide interactive execution and debugging of said X code and Y code by switching execution between said X code and Y code in response to a plurality of cross-domain calls between said X code and said Y code from a calling routine to a called routine thereof; said X and Y domains having respective X and Y calling conventions; means coupled with said X computer system for detecting said cross-domain calls; means coupled with said detecting means and said managing means for jacketing said cross-domain calls to provide an interface between said calling conventions of said calling and called routines in said domains; said jacketing means includes jacketing tables having interface descriptive data for each said X and Y routine comprising a called or calling routine, and means for referencing said tables to set up a plurality of parameters for processing by said jacketing means.
Claim 7
Independent Claim
268 words
A system for executing multiple codes interactively in a multi-architecture environment including a real X architecture (domain) for executing X code and at least one additional simulated architecture (domain) for executing Y code, said multiple code executing system further comprising: an X computer system having said X architecture embodied therein for executing X code including a plurality of X routines; a memory coupled with said X computer system having stored X code and Y code; means, included in said X computer system, for simulating said Y architecture on said X computer system to execute Y code including a plurality of Y routines; and means coupled with said X computer system for managing operation of said simulating means and said X computer system to provide interactive execution and debugging of said X code and Y code by switching execution between said X code and Y code in response to a plurality of cross-domain calls between said X code and said Y code from a calling routine to a called routine thereof; said X and Y domains having respective X and Y calling conventions; means coupled with said X computer system for detecting said cross-domain calls; means coupled with said detecting means and said managing means for jacketing said cross-domain calls to provide an interface between said calling conventions of said calling and called routines in said domains; said jacketing means includes jacketing tables having interface descriptive data for each said X and Y routine comprising a called or calling routine, and means for referencing said tables to set up a plurality of parameters for processing by said jacketing means.
Claim 8
Dependent Claim
52 words
The system in accordance with claim 5, wherein said interface descriptive data of said jacketing tables include identifications of call type, of parameters usable in said calls, of a call result memory location for containing call results, and of a routine memory location for containing information to be preserved during said calls.
Claim 9
Dependent Claim
47 words
The system in accordance with claim 5, wherein said referencing means references said jacketing tables for determining a memory location in said X domain from which parameters can be retrieved and for determining a memory location in said Y domain from which corresponding parameters can be placed.
Claim 10
Dependent Claim
27 words
The system in accordance with claim 5, wherein said X and Y routines include user level, application level code and comprise related portions of an application program.
Claim 11
Dependent Claim
17 words
The system in accordance with claim 5, wherein said X routines include at least one library routine.
Claim 12
Dependent Claim
23 words
The system in accordance with claim 5, wherein said managing means includes means for calling said simulating means to execute each jacketed call.
Claim 13
Dependent Claim
58 words
The system in accordance with claim 5, further comprising means for debugging said X code and said Y code during execution thereof, and wherein said debugging means includes means for generating a RUN or STEP mode signal, and said managing means further includes means for operating said simulating means in accordance with said RUN or STEP mode signal.
Claim 14
Independent Claim
280 words
A system for executing multiple codes interactively in a multi-architecture environment including a real X architecture comprising an X domain for executing X code and at least one additional simulated architecture comprising a Y domain for executing Y code, said X and Y domains having respective X and Y calling conventions, said multiple codes executing system further comprising: an X computer system having said X architecture embodied therein including a processor for executing X code including a plurality of X routines; means, included in said X computer system, for simulating said Y architecture on said X computer system to execute Y code including a plurality of Y routines; and means coupled with said X computer system for managing operation of said simulating means and said X computer system to provide execution of said X code and Y code, said managing means switching execution between said X code and Y code in response to a plurality of cross-domain calls, each said cross-domain call being made from a calling routine in a first of said domains to a called routine in the other of said domains, each of said calling and called routines comprising one of said X and Y routines; means coupled with said X computer system for detecting said cross-domain calls; means coupled with said managing means and responsive to said detecting means for jacketing said cross-domain calls to provide an interface between said calling conventions of said calling and called routines in said domains; said jacketing means includes jacketing tables having interface descriptive data for said X and Y codes, and means for referencing said tables to set up a plurality of parameters for processing by said jacketing means.
Claim 15
Independent Claim
280 words
A system for executing multiple codes interactively in a multi-architecture environment including a real X architecture comprising an X domain for executing X code and at least one additional simulated architecture comprising a Y domain for executing Y code, said X and Y domains having respective X and Y calling conventions, said multiple codes executing system further comprising: an X computer system having said X architecture embodied therein including a processor for executing X code including a plurality of X routines; means, included in said X computer system, for simulating said Y architecture on said X computer system to execute Y code including a plurality of Y routines; and means coupled with said X computer system for managing operation of said simulating means and said X computer system to provide execution of said X code and Y code, said managing means switching execution between said X code and Y code in response to a plurality of cross-domain calls, each said cross-domain call being made from a calling routine in a first of said domains to a called routine in the other of said domains, each of said calling and called routines comprising one of said X and Y routines; means coupled with said X computer system for detecting said cross-domain calls; means coupled with said managing means and responsive to said detecting means for jacketing said cross-domain calls to provide an interface between said calling conventions of said calling and called routines in said domains; said jacketing means includes jacketing tables having interface descriptive data for said X and Y codes, and means for referencing said tables to set up a plurality of parameters for processing by said jacketing means.
Claim 16
Dependent Claim
52 words
The system in accordance with claim 12, wherein said interface descriptive data of said jacketing tables include identifications of call type, of parameters usable in said calls, of a call result memory location for containing call results, and of a routine memory location for containing information to be preserved during said calls.
Claim 17
Dependent Claim
47 words
The system in accordance with claim 12, wherein said referencing means references said jacketing tables for determining a memory location in said X domain from which parameters can be retrieved and for determining a memory location in said Y domain from which corresponding parameters can be placed.
Claim 18
Dependent Claim
27 words
The system in accordance with claim 12, wherein said X and Y routines include user level, application level code and comprise related portions of an application program.
Claim 19
Dependent Claim
22 words
The system in accordance with claim 12, wherein said X routines include at least one library routine called by said Y routines.
Claim 20
Dependent Claim
23 words
The system in accordance with claim 12, wherein said managing means includes means for calling said simulating means to execute each jacketed call.
Claim 21
Dependent Claim
73 words
The system in accordance with claim 12, further comprising means responsive to said managing means and included in said X computer system for debugging said X code and said Y code during execution thereof, and wherein said debugging means includes means for generating a RUN or STEP mode signal, and said managing means further includes means for operating said processor and said simulating means in accordance with said RUN or STEP mode signal.
References Cited (Backward Citations)
US3997895A
Cited
US4077058A
Cited
US4297743A
Cited
US3955180A
Cited
US4084235A
Cited
US4347565A
Cited
US4253145A
Cited
US4486831A
Cited
US4456954A
Cited
US4454580A
Cited
US4533996A
Cited
US4672532A
Cited
US4509122A
Cited
US4630231A
Cited
EP0168034A2
Cited
US4839797A
Cited
US4792895A
Cited
JPS6273333A
Cited
US4794522A
Cited
US4755997A
Cited
US4918594A
Cited
EP0261247A1
Cited
US4841476A
Cited
US4802165A
Cited
US5210832A
Cited
US5133072A
Cited
US4992934A
Cited
US4811345A
Cited
US4819234A
Cited
US5029069A
Cited
US5067072A
Cited
US5179703A
Cited
US4951195A
Cited
US5167023A
Cited
US4945480A
Cited
US5210874A
Cited
US5038348A
Cited
US5051893A
Cited
WO1990001738A1
Cited
US5062039A
Cited
EP0358620A2
Cited
US4949255A
Cited
US5097533A
Cited
EP0372835A2
Cited
US5063499A
Cited
US5142622A
Cited
US5146593A
Cited
EP0387172A2
Cited
EP0411584A2
Cited
US5218699A
Cited
US5093917A
Cited
US5210867A
Cited
US5315710A
Cited
US5307504A
Cited
US5339422A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-07-28 | 2001-01-27 | 2001-07-29 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-07-28 | 2005-01-27 | 2005-07-29 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-07-28 | 2009-01-27 | 2009-07-29 | $7700.00 | Window Closed / Lapsed |