CA2082409A1 - Improved system and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment - Google Patents
Improved system and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environmentInfo
- Publication number
- CA2082409A1 CA2082409A1 CA2082409A CA2082409A CA2082409A1 CA 2082409 A1 CA2082409 A1 CA 2082409A1 CA 2082409 A CA2082409 A CA 2082409A CA 2082409 A CA2082409 A CA 2082409A CA 2082409 A1 CA2082409 A1 CA 2082409A1
- Authority
- CA
- Canada
- Prior art keywords
- domain
- jacketing
- cross
- calls
- routine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
Abstract
A cross-domain call jacketing system is provided in a computer system that embodies a first hardware (X) architecture to executing X-code in an X-domain and which simulates at least a second computer hardware (Y) architecture executing Y-code in a Y-domain. Cross-domain routine calls are jacketed for services in the cross-domain and for returns after the requested services have been performed. After jacketing X routine calls are transmitted for implementation by the simulating subsystem and Y calls are transmitted for implementation in the X domain. Call parameters are transformed from a representation that uses the call conventions of the calling domain to another representation that uses the call conventions of the called domain. Data in the mem-ory is generally globally accessible and the Y calls include data references that require memory access handling in the X domain.
A first jacketing table is provided for each executable routine in the X domain. A second jacketing table is provided for each ex-ecutable routine in the Y domain. A run-time jacketing routine is driven by the jacketing tables to drive the call parameter trans-formations needed to complete cross-domain calls.
A first jacketing table is provided for each executable routine in the X domain. A second jacketing table is provided for each ex-ecutable routine in the Y domain. A run-time jacketing routine is driven by the jacketing tables to drive the call parameter trans-formations needed to complete cross-domain calls.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/665,752 US5339422A (en) | 1991-03-07 | 1991-03-07 | System and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment |
US665,752 | 1991-03-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2082409A1 true CA2082409A1 (en) | 1992-09-08 |
CA2082409C CA2082409C (en) | 1996-08-13 |
Family
ID=24671439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002082409A Expired - Fee Related CA2082409C (en) | 1991-03-07 | 1992-03-05 | Improved system and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment |
Country Status (12)
Country | Link |
---|---|
US (1) | US5339422A (en) |
EP (1) | EP0530350B1 (en) |
JP (1) | JPH0769835B2 (en) |
KR (1) | KR960003137B1 (en) |
AU (1) | AU658413B2 (en) |
CA (1) | CA2082409C (en) |
DE (1) | DE69226484T2 (en) |
IE (1) | IE920748A1 (en) |
IL (1) | IL100996A (en) |
MX (1) | MX9200940A (en) |
TW (1) | TW299414B (en) |
WO (1) | WO1992015962A2 (en) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680590A (en) * | 1990-09-21 | 1997-10-21 | Parti; Michael | Simulation system and method of using same |
US5652869A (en) * | 1991-03-07 | 1997-07-29 | Digital Equipment Corporation | System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls |
EP0532744B1 (en) * | 1991-03-07 | 1996-12-18 | Digital Equipment Corporation | Improved software debugging system and method especially adapted for code debugging within a multi-architecture environment |
FR2698189B1 (en) * | 1992-11-13 | 1994-12-30 | Bull Sa | Network code stimulation tool. |
JPH06309193A (en) * | 1993-04-27 | 1994-11-04 | Toshiba Corp | Method and device for verifying operation of machine language program |
US6684261B1 (en) | 1993-07-19 | 2004-01-27 | Object Technology Licensing Corporation | Object-oriented operating system |
US5379432A (en) * | 1993-07-19 | 1995-01-03 | Taligent, Inc. | Object-oriented interface for a procedural operating system |
DE69505717T2 (en) * | 1994-03-08 | 1999-06-24 | Digital Equipment Corp | Method and apparatus for determining and making cross-routine subroutine calls |
WO1995033235A1 (en) * | 1994-05-31 | 1995-12-07 | Fujitsu Limited | System and method for executing job between different operating systems |
SE504860C2 (en) * | 1994-09-02 | 1997-05-12 | Ericsson Telefon Ab L M | Interface reference model |
JP3451595B2 (en) * | 1995-06-07 | 2003-09-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Microprocessor with architectural mode control capable of supporting extension to two distinct instruction set architectures |
US6260075B1 (en) | 1995-06-19 | 2001-07-10 | International Business Machines Corporation | System and method for providing shared global offset table for common shared library in a computer system |
US5815716A (en) * | 1995-10-06 | 1998-09-29 | International Business Machines Corporation | Method for supporting multiple call interface conventions for computer programs using directives |
US5881278A (en) * | 1995-10-30 | 1999-03-09 | Advanced Micro Devices, Inc. | Return address prediction system which adjusts the contents of return stack storage to enable continued prediction after a mispredicted branch |
US5864707A (en) * | 1995-12-11 | 1999-01-26 | Advanced Micro Devices, Inc. | Superscalar microprocessor configured to predict return addresses from a return stack storage |
US6336146B1 (en) * | 1995-12-22 | 2002-01-01 | Sun Microsystems, Inc. | Method and apparatus for docking, launching and running applications in a foreign environment |
US6226789B1 (en) | 1996-01-29 | 2001-05-01 | Compaq Computer Corporation | Method and apparatus for data flow analysis |
US5842017A (en) * | 1996-01-29 | 1998-11-24 | Digital Equipment Corporation | Method and apparatus for forming a translation unit |
US6535903B2 (en) | 1996-01-29 | 2003-03-18 | Compaq Information Technologies Group, L.P. | Method and apparatus for maintaining translated routine stack in a binary translation environment |
US5930509A (en) * | 1996-01-29 | 1999-07-27 | Digital Equipment Corporation | Method and apparatus for performing binary translation |
US6000028A (en) * | 1996-01-29 | 1999-12-07 | Digital Equipment Corporation | Means and apparatus for maintaining condition codes in an unevaluated state |
US5802373A (en) * | 1996-01-29 | 1998-09-01 | Digital Equipment Corporation | Method for providing a pipeline interpreter for a variable length instruction set |
US6091897A (en) | 1996-01-29 | 2000-07-18 | Digital Equipment Corporation | Fast translation and execution of a computer program on a non-native architecture by use of background translator |
DE69704004T2 (en) * | 1996-06-19 | 2001-06-07 | Matsushita Electric Ind Co Ltd | Debugging device |
US6360244B1 (en) * | 1997-04-11 | 2002-03-19 | Fujitsu Limited | System and method for multi-level memory domain protection |
US5920721A (en) * | 1997-06-11 | 1999-07-06 | Digital Equipment Corporation | Compiler generating functionally-alike code sequences in an executable program intended for execution in different run-time environments |
DE19725593A1 (en) * | 1997-06-17 | 1999-01-07 | Siemens Nixdorf Inf Syst | Method for controlling a data processing system |
US6141697A (en) * | 1997-06-25 | 2000-10-31 | Unisys Corp. | System and method for performing external procedure calls in heterogeneous computer systems utilizing program stacks |
US6151638A (en) * | 1997-06-25 | 2000-11-21 | Unisys Corp. | System and method for performing external procedure calls from a client program to a server program to a server program and back to the client program while both are running in a heterogenous computer |
US6289391B1 (en) | 1997-06-25 | 2001-09-11 | Unisys Corp. | System and method for performing external procedure calls from a server program to a client program while both are running in a heterogeneous computer |
US6192418B1 (en) | 1997-06-25 | 2001-02-20 | Unisys Corp. | System and method for performing external procedure calls from a client program to a server program while both are operating in a heterogenous computer |
US6065045A (en) * | 1997-07-03 | 2000-05-16 | Tandem Computers Incorporated | Method and apparatus for object reference processing |
US6157959A (en) * | 1997-07-03 | 2000-12-05 | Tandem Computers, Incorporated | Method and apparatus for providing portable kernel-mode support for fast interprocess communication |
EP1040414B1 (en) | 1997-12-17 | 2002-07-10 | Fujitsu Siemens Computers GmbH | Method for converting a system call |
US6029000A (en) * | 1997-12-22 | 2000-02-22 | Texas Instruments Incorporated | Mobile communication system with cross compiler and cross linker |
US8489860B1 (en) * | 1997-12-22 | 2013-07-16 | Texas Instruments Incorporated | Mobile electronic device having a host processor system capable of dynamically canging tasks performed by a coprocessor in the device |
KR20010072477A (en) * | 1998-08-13 | 2001-07-31 | 썬 마이크로시스템즈, 인코포레이티드 | Method and apparatus of translating and executing native code in a virtual machine environment |
US7941647B2 (en) | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
US8127121B2 (en) | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
US8065504B2 (en) * | 1999-01-28 | 2011-11-22 | Ati International Srl | Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor |
US7013456B1 (en) | 1999-01-28 | 2006-03-14 | Ati International Srl | Profiling execution of computer programs |
US8074055B1 (en) * | 1999-01-28 | 2011-12-06 | Ati Technologies Ulc | Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code |
US7111290B1 (en) | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
US7275246B1 (en) | 1999-01-28 | 2007-09-25 | Ati International Srl | Executing programs for a first computer architecture on a computer of a second architecture |
US6978462B1 (en) | 1999-01-28 | 2005-12-20 | Ati International Srl | Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled |
US7065633B1 (en) | 1999-01-28 | 2006-06-20 | Ati International Srl | System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU |
US6954923B1 (en) | 1999-01-28 | 2005-10-11 | Ati International Srl | Recording classification of instructions executed by a computer |
EP2320318A1 (en) * | 1999-01-28 | 2011-05-11 | ATI Technologies ULC | Executing programs for a first computer architecture on a computer of a second architecture |
US6549959B1 (en) | 1999-08-30 | 2003-04-15 | Ati International Srl | Detecting modification to computer memory by a DMA device |
EP1117220A1 (en) * | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Method and system for protocol conversion |
EP1117033A1 (en) * | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Dynamic dispatch function |
EP1122644A1 (en) * | 2000-01-14 | 2001-08-08 | Sun Microsystems, Inc. | A method and system for dynamically dispatching function calls from a first execution environment to a second execution environment |
EP1117035A1 (en) * | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Runtime environment component services |
US6934832B1 (en) | 2000-01-18 | 2005-08-23 | Ati International Srl | Exception mechanism for a computer |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US7574346B2 (en) * | 2000-10-30 | 2009-08-11 | Microsoft Corporation | Kernel emulator for non-native program modules |
US20020083421A1 (en) * | 2000-12-22 | 2002-06-27 | Hitachi America, Ltd. | Assembly language code compilation for an instruction-set architecture containing new instructions using the prior assembler |
US7406682B2 (en) * | 2001-03-26 | 2008-07-29 | Emc Corporation | Translator-compiler for converting legacy management software |
US20020147963A1 (en) * | 2001-04-09 | 2002-10-10 | Lee Rusty Shawn | Method and apparatus for generating machine control instructions |
US7640153B2 (en) * | 2001-06-04 | 2009-12-29 | Hewlett-Packard Development Company, L.P. | Networked client-server architecture for transparently transforming and executing applications |
US7107439B2 (en) * | 2001-08-10 | 2006-09-12 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
US7251811B2 (en) * | 2002-01-02 | 2007-07-31 | Intel Corporation | Controlling compatibility levels of binary translations between instruction set architectures |
JP4500040B2 (en) | 2003-01-06 | 2010-07-14 | パナソニック株式会社 | COMPILER PROGRAM, COMPUTER-READABLE RECORDING MEDIUM CONTAINING COMPILER PROGRAM, COMPILING METHOD, AND COMPILING DEVICE |
TW588238B (en) * | 2003-02-13 | 2004-05-21 | Micro Star Int Co Ltd | Program debugging method |
US6925928B2 (en) * | 2003-09-18 | 2005-08-09 | Anthony Fox | Trash compactor for fast food restaurant waste |
US20050097407A1 (en) * | 2003-11-04 | 2005-05-05 | Weijia Zhang | System and method for management of remote software deployment to information handling systems |
US8078740B2 (en) | 2005-06-03 | 2011-12-13 | Microsoft Corporation | Running internet applications with low rights |
US8185737B2 (en) | 2006-06-23 | 2012-05-22 | Microsoft Corporation | Communication across domains |
US8250082B2 (en) * | 2006-06-23 | 2012-08-21 | Microsoft Corporation | Cross domain communication |
US10019570B2 (en) * | 2007-06-14 | 2018-07-10 | Microsoft Technology Licensing, Llc | Protection and communication abstractions for web browsers |
US8359602B2 (en) * | 2008-02-21 | 2013-01-22 | Ca, Inc. | Method and system for task switching with inline execution |
US10089119B2 (en) | 2009-12-18 | 2018-10-02 | Microsoft Technology Licensing, Llc | API namespace virtualization |
US8776094B2 (en) | 2011-08-11 | 2014-07-08 | Microsoft Corporation | Runtime system |
US8695021B2 (en) * | 2011-08-31 | 2014-04-08 | Microsoft Corporation | Projecting native application programming interfaces of an operating system into other programming languages |
WO2014066331A1 (en) * | 2012-10-25 | 2014-05-01 | Unisys Corporation | Performance monitoring of virtualized instructions |
US10127138B2 (en) * | 2013-06-06 | 2018-11-13 | Microsoft Technology Licensing, Llc. | Debugging native code by transitioning from execution in native mode to execution in interpreted mode |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
US10983811B2 (en) | 2018-06-03 | 2021-04-20 | Apple Inc. | Multi-process model for cross-platform applications |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2060225B (en) * | 1979-09-29 | 1983-05-25 | Plessey Co Ltd | Multi-programming data processing system process suspension |
US4454580A (en) * | 1981-09-16 | 1984-06-12 | International Business Machines Corporation | Program call method and call instruction execution apparatus |
JPS6133546A (en) * | 1984-07-25 | 1986-02-17 | Nec Corp | Information processor |
US5210832A (en) * | 1986-10-14 | 1993-05-11 | Amdahl Corporation | Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle |
US4992934A (en) * | 1986-12-15 | 1991-02-12 | United Technologies Corporation | Reduced instruction set computing apparatus and methods |
US4945480A (en) * | 1988-02-10 | 1990-07-31 | International Business Machines Corporation | Data domain switching on program address space switching and return |
US5210874A (en) * | 1988-03-22 | 1993-05-11 | Digital Equipment Corporation | Cross-domain call system in a capability based digital data processing system |
JP2666847B2 (en) * | 1988-06-06 | 1997-10-22 | 日本電気株式会社 | Heterogeneous language communication method |
US4949255A (en) * | 1988-09-07 | 1990-08-14 | International Business Machines Corp. | Message interface and method for recursive calling between interpretive and compiled computer processes |
US5146593A (en) * | 1989-03-06 | 1992-09-08 | International Business Machines Corporation | Procedure call interface |
US5218699A (en) * | 1989-08-24 | 1993-06-08 | International Business Machines Corporation | Remote procedure calls in heterogeneous systems |
US5093917A (en) * | 1990-01-17 | 1992-03-03 | Ag Communication Systems Corporation | Method for passing data parameters between a calling program and a called subroutine in a command analysis table of a computer stored data base system |
-
1991
- 1991-03-07 US US07/665,752 patent/US5339422A/en not_active Expired - Lifetime
- 1991-07-17 TW TW080105543A patent/TW299414B/zh active
-
1992
- 1992-02-18 IL IL10099692A patent/IL100996A/en not_active IP Right Cessation
- 1992-03-04 MX MX9200940A patent/MX9200940A/en unknown
- 1992-03-05 CA CA002082409A patent/CA2082409C/en not_active Expired - Fee Related
- 1992-03-05 KR KR1019920702762A patent/KR960003137B1/en not_active IP Right Cessation
- 1992-03-05 DE DE69226484T patent/DE69226484T2/en not_active Expired - Fee Related
- 1992-03-05 WO PCT/US1992/001782 patent/WO1992015962A2/en active IP Right Grant
- 1992-03-05 EP EP92908466A patent/EP0530350B1/en not_active Expired - Lifetime
- 1992-03-05 AU AU16442/92A patent/AU658413B2/en not_active Ceased
- 1992-03-05 JP JP4508279A patent/JPH0769835B2/en not_active Expired - Lifetime
- 1992-03-06 IE IE074892A patent/IE920748A1/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
DE69226484D1 (en) | 1998-09-10 |
US5339422A (en) | 1994-08-16 |
DE69226484T2 (en) | 1999-04-29 |
WO1992015962A2 (en) | 1992-09-17 |
TW299414B (en) | 1997-03-01 |
KR960003137B1 (en) | 1996-03-05 |
AU1644292A (en) | 1992-10-06 |
IL100996A (en) | 1996-01-19 |
MX9200940A (en) | 1993-03-01 |
EP0530350B1 (en) | 1998-08-05 |
JPH0769835B2 (en) | 1995-07-31 |
JPH06502736A (en) | 1994-03-24 |
EP0530350A1 (en) | 1993-03-10 |
CA2082409C (en) | 1996-08-13 |
WO1992015962A3 (en) | 1993-02-04 |
IE920748A1 (en) | 1992-09-09 |
AU658413B2 (en) | 1995-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2082409A1 (en) | Improved system and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment | |
CA2149870A1 (en) | Object-oriented host system | |
CA2082066A1 (en) | Software debugging system and method especially adapted for code debugging within a multi-architecture environment | |
CA2002201A1 (en) | Translation technique | |
CA2242516C (en) | Distributed processing | |
CA2061117A1 (en) | Apparatus and method for distributed program stack | |
WO1994023363A3 (en) | Loader system | |
AU5801294A (en) | An apparatus for executing a plurality of program segments having different object code types in a single program or processor environment | |
CA2080401A1 (en) | Network system and its software management method | |
GB9721591D0 (en) | Image processing system,method and computer program product | |
CA2294233A1 (en) | A computer graphics system | |
EP0862759A4 (en) | Dynamic programmable mode switching device driver architecture | |
US6301703B1 (en) | Method for transforming state-based IVR applications into executable sequences of code | |
CN103678099B (en) | A kind of method and device realizing hardware platform and software platform communication | |
EP0632375A3 (en) | Multiple-execution method of multiple-version programs and computer system therefor. | |
CA2168741A1 (en) | Architecture for modular computer system in which one of the modules is dedicated to user-interface task | |
Blair et al. | Incorporating multimedia in distributed open systems | |
McComb et al. | Architectural design in Object-Z | |
US5632033A (en) | Variable resolution method and arrangement | |
EP0352908A3 (en) | Computing system and method used to provide instruction to a user for a plurality of computer applications | |
CA2234796A1 (en) | Portable object-oriented operating system | |
Löhr | Beyond Concurrent Pascal | |
Bruegge et al. | The Warp programming environment | |
Thomas | JSYS traps: a TENEX mechanism for encapsulation of user processes | |
WO1998055932A3 (en) | Processor interfacing to memory mapped computing engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |