发明名称 AN APPARATUS FOR EXECUTING A PLURALITY OF PROGRAM SEGMENTS HAVING DIFFERENT OBJECT CODE TYPES IN A SINGLE PROGRAM OR PROCESSOR ENVIRONMENT
摘要 The invention provides a method and apparatus for switching between execution of a plurality of object code types having different conventions for invoking program procedures and performing stack manipulations. The invention may also be used to switch between different calling conventions within a single object code type. Briefly according to the invention, a computer system comprises a routine descriptor, a stack switch frame, a mode switching mechanism for switching from a first processor, code or calling convention type to a second processor, code or calling convention type and means for executing instructions in various code types. A routine descriptor describes a program or code segment and its code type and calling conventions. A routine descriptor contains, among other; information, a mixed mode field which is set to a specific, predetermined value such as a value indicating an instruction which is not legal in the runtime environment of a first processor, code or calling convention type. When that instruction is encountered, control is transferred to the mode switching mechanism. A routine descriptor also contains a procedure information field which is set to a value indicating the convention for invoking a program segment and performing appropriate stack manipulations. When a routine calls a routine having a different stack model, the mode switching mechanism uses a stack switch frame to provide a transition between the two different stack types.
申请公布号 CA2152041(C) 申请公布日期 1999.03.16
申请号 CA19932152041 申请日期 1993.12.14
申请人 APPLE COMPUTER, INC. 发明人 MOUREY, JEAN-CHARLES D.;PARENT, SEAN R.;JONES, BRUCE K.;LILLICH, ALAN W.;EIDT, ERIK L.
分类号 G06F9/30;G06F9/40;G06F9/42;G06F9/455;(IPC1-7):G06F9/44 主分类号 G06F9/30
代理机构 代理人
主权项
地址