System and method providing inlined stub
    5.
    发明授权
    System and method providing inlined stub 有权
    系统和方法提供内联存根

    公开(公告)号:US07680762B2

    公开(公告)日:2010-03-16

    申请号:US11294509

    申请日:2005-12-05

    IPC分类号: G06F7/00 G06F9/44 G06F17/30

    摘要: A system and method is provided to facilitate communications between object systems. A caller is provided having optimized in-lined functionality when initiating a remote function call between managed and unmanaged object systems, for example. The in-lined functionality includes utilizing direct calls and returns within a calling function. In this manner, pushing additional arguments onto an execution stack because of an external stub reference is mitigated. In addition, one or more code loops can be analyzed to enable stack markers to be “hoisted” and thus pushed a single time instead of each time the calling function executes. Other aspects of the optimized caller provide garbage collection and thread management, security attribute checking on outgoing calls, calling convention considerations, wherein arguments and return values are organized according to the convention utilized by the remote object system, and in-lined marshalling to provide enhanced performance over external stub code references. Code extensibility options can be included enabling functions to be generalized thereby insulating object systems from implementation details of the called functions.

    摘要翻译: 提供了一种系统和方法来促进对象系统之间的通信。 例如,在启动被管理对象系统和非托管对象系统之间的远程函数调用时,提供一个具有优化内嵌功能的调用者。 嵌入式功能包括在调用功能中使用直接调用和返回。 以这种方式,由于外部存根引用将附加参数推送到执行堆栈得到缓解。 此外,可以分析一个或多个代码循环,以使堆栈标记“挂起”,从而推动一次,而不是每次调用函数执行。 优化的呼叫者的其他方面提供垃圾收集和线程管理,对呼出的呼叫的安全属性检查,调用惯例注意事项,其中参数和返回值根据远程对象系统使用的惯例进行组织,并且内联编组以提供增强的 对外部存根代码引用的性能。 可以包括代码可扩展性选项,使得功能得以泛化,从而将对象系统与被调用函数的实现细节隔离。

    System and method providing inlined stub
    8.
    发明授权
    System and method providing inlined stub 有权
    系统和方法提供内联存根

    公开(公告)号:US06980997B1

    公开(公告)日:2005-12-27

    申请号:US09894394

    申请日:2001-06-28

    IPC分类号: G06F17/00

    摘要: A system and method is provided to facilitate communications between object systems. A caller is provided having optimized in-lined functionality when initiating a remote function call between managed and unmanaged object systems, for example. The in-lined functionality includes utilizing direct calls and returns within a calling function. In this manner, pushing additional arguments onto an execution stack because of an external stub reference is mitigated. In addition, one or more code loops can be analyzed to enable stack markers to be “hoisted” and thus pushed a single time instead of each time the calling function executes. Other aspects of the optimized caller provide garbage collection and thread management, security attribute checking on outgoing calls, calling convention considerations, wherein arguments and return values are organized according to the convention utilized by the remote object system, and in-lined marshalling to provide enhanced performance over external stub code references. Code extensibility options can be included enabling functions to be generalized thereby insulating object systems from implementation details of the called functions.

    摘要翻译: 提供了一种系统和方法来促进对象系统之间的通信。 例如,在启动被管理对象系统和非托管对象系统之间的远程函数调用时,提供一个具有优化内嵌功能的调用者。 嵌入式功能包括在调用功能中使用直接调用和返回。 以这种方式,由于外部存根引用将附加参数推送到执行堆栈得到缓解。 此外,可以分析一个或多个代码循环,以使堆栈标记“挂起”,从而推动一次,而不是每次调用函数执行。 优化的呼叫者的其他方面提供垃圾收集和线程管理,对呼出的呼叫的安全属性检查,调用惯例注意事项,其中参数和返回值根据远程对象系统使用的惯例进行组织,并且内联编组以提供增强的 对外部存根代码引用的性能。 可以包括代码可扩展性选项,使得功能得以泛化,从而将对象系统与被调用函数的实现细节隔离。

    Type descriptor management for frozen objects
    9.
    发明授权
    Type descriptor management for frozen objects 有权
    键入描述符管理冻结对象

    公开(公告)号:US08316357B2

    公开(公告)日:2012-11-20

    申请号:US12203857

    申请日:2008-09-03

    IPC分类号: G06F9/45

    摘要: The efficient use of type descriptors with frozen objects. A frozen object might actually include several type descriptors, a primary type descriptor that is canonical according to a set of canonicalization rules, and an auxiliary type descriptor that is not identical to the primary type descriptor. The auxiliary type descriptor may be used to access the canonical type descriptor. When performing an operation, if the auxiliary type descriptor can be used to perform the operation, then that auxiliary type descriptor may be used. If the canonical type descriptor is to be used to perform the operation, the auxiliary type descriptor is used to gain access to the canonical primary type descriptor. The primary type descriptor is then used to perform the operation.

    摘要翻译: 类型描述符与冻结对象的有效使用。 一个被冻结的对象实际上可能包含几个类型描述符,根据一组规范化规则是规范的主类型描述符,以及与主类型描述符不相同的辅助类型描述符。 辅助类型描述符可用于访问规范类型描述符。 当执行操作时,如果可以使用辅助类型描述符来执行操作,则可以使用该辅助类型描述符。 如果要使用规范类型描述符来执行操作,则使用辅助类型描述符来访问规范的主类型描述符。 然后使用主类型描述符执行操作。