发明申请
- 专利标题: Error-code and exception-based function dispatch tables
- 专利标题(中): 错误代码和基于异常的函数调度表
-
申请号: US13596303申请日: 2012-08-28
-
公开(公告)号: US20140068573A1公开(公告)日: 2014-03-06
- 发明人: Deon Brewis , James Springfield , Sridhar S. Madhugiri
- 申请人: Deon Brewis , James Springfield , Sridhar S. Madhugiri
- 申请人地址: US WA Redmond
- 专利权人: MICROSOFT CORPORATION
- 当前专利权人: MICROSOFT CORPORATION
- 当前专利权人地址: US WA Redmond
- 主分类号: G06F9/45
- IPC分类号: G06F9/45 ; G06F9/44
摘要:
A condition detected by a virtual routine may be treated by setting an error code or raising an exception, depending on circumstances. Enhanced vtable layouts promote availability of both error-ID-based and exception-based virtual routines, while maintaining compatibility. Compilers treat virtual routines based on their circumstances. One enhanced vtable includes error-ID-based routine pointers in a COM-layout-compatible portion and exception-based routine pointers in an extension. For a virtual routine not overridden by a derived class, a compiler generates a direct call. For an object instance of a specific type, the compiler generates a direct exception-based call for the object's routine. For a factory-sourced object's routine, the compiler generates a virtual exception-based call. When the virtual routine belongs to a component having an enhanced vtable, the compiler may generate a virtual call using the exception-based routine pointer. Code wrappers between COM and native format may also be used.
公开/授权文献
- US08935686B2 Error-code and exception-based function dispatch tables 公开/授权日:2015-01-13
信息查询