-
公开(公告)号:US08935686B2
公开(公告)日:2015-01-13
申请号:US13596303
申请日:2012-08-28
IPC分类号: G06F9/45
CPC分类号: G06F11/0718 , G06F8/41 , G06F9/449 , G06F11/0772
摘要: 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.
摘要翻译: 可以根据情况通过设置错误代码或提高异常来处理由虚拟例程检测到的条件。 增强的vtable布局可以提高基于错误ID和基于异常的虚拟例程的可用性,同时保持兼容性。 编译器根据情况对虚拟例程进行处理。 一个增强的vtable在COM-layout兼容部分中包含基于错误ID的例程指针,并在扩展中包含基于异常的例程指针。 对于未被派生类覆盖的虚拟例程,编译器将生成直接调用。 对于特定类型的对象实例,编译器会为对象的例程生成直接基于异常的调用。 对于工厂来源的对象的例程,编译器生成基于虚拟异常的调用。 当虚拟例程属于具有增强型vtable的组件时,编译器可以使用基于异常的例程指针生成虚拟调用。 也可以使用COM和本机格式之间的代码包装。
-
公开(公告)号:US20140068573A1
公开(公告)日:2014-03-06
申请号:US13596303
申请日:2012-08-28
CPC分类号: G06F11/0718 , G06F8/41 , G06F9/449 , G06F11/0772
摘要: 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.
摘要翻译: 可以根据情况通过设置错误代码或提高异常来处理由虚拟例程检测到的条件。 增强的vtable布局可以提高基于错误ID和基于异常的虚拟例程的可用性,同时保持兼容性。 编译器根据情况对虚拟例程进行处理。 一个增强的vtable在COM-layout兼容部分中包含基于错误ID的例程指针,并在扩展中包含基于异常的例程指针。 对于未被派生类覆盖的虚拟例程,编译器将生成直接调用。 对于特定类型的对象实例,编译器会为对象的例程生成直接基于异常的调用。 对于工厂来源的对象的例程,编译器生成基于虚拟异常的调用。 当虚拟例程属于具有增强型vtable的组件时,编译器可以使用基于异常的例程指针生成虚拟调用。 也可以使用COM和本机格式之间的代码包装。
-
3.
公开(公告)号:US20130297579A1
公开(公告)日:2013-11-07
申请号:US13461995
申请日:2012-05-02
申请人: Felix Gerard Torquil Ifor Andrew , Sridhar S. Madhugiri , Daniel James Moseley , Brian Faris Chapman
发明人: Felix Gerard Torquil Ifor Andrew , Sridhar S. Madhugiri , Daniel James Moseley , Brian Faris Chapman
CPC分类号: G06F8/71
摘要: A fingerprint is computed from selected metadata of binary files, and used in determining whether to regenerate code-behind file(s). In one case, after ascertaining that a binary-file-set's current metadata-fingerprint differs from a previous metadata-fingerprint, the corresponding code-behind-file-set is regenerated. A code-behind file may also be regenerated, even though its current fingerprint matches its previous fingerprint, because its metadata has changed. If the current fingerprint matches the previous fingerprint and metadata is unchanged, regeneration can be avoided. The fingerprint may consist of, or merely contain, definitions of classes, properties, and other items, and may be limited to metadata that is used when generating the code-behind-file-set. System assemblies are not fingerprinted. Timestamps may be used. Metadata-fingerprint computation code and regeneration determination code are described. Metadata-fingerprints may be used in developing applications with web-based application code frameworks, frameworks having code for rendering a user interface, other frameworks, XAML, C#, and other programming languages.
摘要翻译: 从二进制文件的选定元数据计算指纹,并用于确定是否重新生成代码隐藏文件。 在一种情况下,在确定二进制文件集的当前元数据指纹与之前的元数据指纹不同之后,再生相应的代码后置文件集。 因为其元数据已经改变,所以代码隐藏文件也可以被重新生成,即使其当前的指纹与之前的指纹相匹配。 如果当前指纹与以前的指纹匹配,元数据不变,则可以避免再生。 指纹可能包含或仅包含类,属性和其他项目的定义,并且可能限于在生成代码后置文件集时使用的元数据。 系统程序集没有指纹。 可以使用时间戳。 描述了元数据指纹计算代码和再生确定码。 元数据指纹可用于开发具有基于Web的应用程序代码框架的应用程序,框架具有用于呈现用户界面的代码,其他框架,XAML,C#和其他编程语言。
-
4.
公开(公告)号:US09031922B2
公开(公告)日:2015-05-12
申请号:US13461995
申请日:2012-05-02
申请人: Felix Gerard Torquil Ifor Andrew , Sridhar S. Madhugiri , Daniel James Moseley , Brian Faris Chapman
发明人: Felix Gerard Torquil Ifor Andrew , Sridhar S. Madhugiri , Daniel James Moseley , Brian Faris Chapman
CPC分类号: G06F8/71
摘要: A fingerprint is computed from selected metadata of binary files, and used in determining whether to regenerate code-behind file(s). In one case, after ascertaining that a binary-file-set's current metadata-fingerprint differs from a previous metadata-fingerprint, the corresponding code-behind-file-set is regenerated. A code-behind file may also be regenerated, even though its current fingerprint matches its previous fingerprint, because its metadata has changed. If the current fingerprint matches the previous fingerprint and metadata is unchanged, regeneration can be avoided. The fingerprint may consist of, or merely contain, definitions of classes, properties, and other items, and may be limited to metadata that is used when generating the code-behind-file-set. System assemblies are not fingerprinted. Timestamps may be used. Metadata-fingerprint computation code and regeneration determination code are described. Metadata-fingerprints may be used in developing applications with web-based application code frameworks, frameworks having code for rendering a user interface, other frameworks, XAML, C#, and other programming languages.
摘要翻译: 从二进制文件的选定元数据计算指纹,并用于确定是否重新生成代码隐藏文件。 在一种情况下,在确定二进制文件集的当前元数据指纹与之前的元数据指纹不同之后,再生相应的代码后置文件集。 因为其元数据已经改变,所以代码隐藏文件也可以被重新生成,即使其当前的指纹与之前的指纹相匹配。 如果当前指纹与以前的指纹匹配,元数据不变,则可以避免再生。 指纹可能包含或仅包含类,属性和其他项目的定义,并且可能限于在生成代码后置文件集时使用的元数据。 系统程序集没有指纹。 可以使用时间戳。 描述了元数据指纹计算代码和再生确定码。 元数据指纹可用于开发具有基于Web的应用程序代码框架的应用程序,框架具有用于呈现用户界面的代码,其他框架,XAML,C#和其他编程语言。
-
-
-