Patent EP0039226A2 successfully refreshed from Google Patents.
← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag