CONTROLLING RUNTIME ACCESS TO APPLICATION PROGRAMMING INTERFACES

    公开(公告)号:EP3982257A1

    公开(公告)日:2022-04-13

    申请号:EP21212020.8

    申请日:2014-04-21

    摘要: The invention comprises, at a computer system, the computer system including a development environment for developing executable code that includes application programming interfaces (APIs), the executable code for running in a runtime environment that can dynamically request access to the application program interfaces (APIs), the runtime environment providing dynamic access requests with a default visibility into application program interfaces (APIs) based on application program interface (API) type, the API type being selected from a group comprising internal, private and public, a method for controlling runtime access to the application programming interfaces (APIs), the method comprising: accessing a set of application programming interfaces (APIs) combined in a library, the set of application programming interfaces (APIs) including one or more public application programming interfaces (APIs) and one or more non-public application programming interfaces (APIs); identifying an application programming interface (API) from among the set of application programming interfaces (APIs) for which the default visibility provided to dynamic access requests is to be altered; and altering the default visibility into the application programming interface (API) to an altered visibility by applying an attribute different from the API type, to the application programming interface (API), the attribute indicating to the runtime environment at runtime that dynamic access requests are to be provided the altered visibility into the application programming interface (API); wherein identifying an application programming interface (API) comprises identifying a public application programming interface (API), the default visibility for the public application programming interface (API) allowing dynamic access to the public application programming interface (API); and wherein altering the default visibility of the application programming interface (API) comprises applying an attribute different from the API type to the public application programming interface (API), the attribute altering the default visibility for the public application programming interface (API) to prevent dynamic access to the public application programming interface (API).

    SUPPORTING DYNAMIC BEHAVIOR IN STATICALLY COMPILED PROGRAMS
    4.
    发明公开
    SUPPORTING DYNAMIC BEHAVIOR IN STATICALLY COMPILED PROGRAMS 审中-公开
    不列颠哥伦比治亚州立大学维也纳国家计算机科学研究院

    公开(公告)号:EP3123316A1

    公开(公告)日:2017-02-01

    申请号:EP15715060.8

    申请日:2015-03-24

    IPC分类号: G06F9/45 G06F9/455

    摘要: Support for dynamic behavior is provided during static compilation while reducing reliance on JIT compilation and large runtimes. A mapping is created between metadata and native code runtime artifacts, such as between type definition metadata and a runtime type description, or between method definition metadata, a runtime type description, and a native code method location, or field definition metadata, a runtime type description, and a field location. A mapping between runtime artifacts may also be created. Some compilation results include trampoline code to support a reflection invocation of an artifact in the reduced runtime support environment, for virtual method calls, call-time bounds checking, calling convention conversion, or compiler-intrinsic methods. Some results support runtime diagnostics by including certain metadata even when full dynamic behavior is not supported.

    摘要翻译: 在静态编译期间提供对动态行为的支持,同时减少对JIT编译和大型运行时的依赖。 在元数据和本地代码运行时工件之间创建映射,例如类型定义元数据和运行时类型描述之间,或方法定义元数据,运行时类型描述和本机代码方法位置之间,或字段定义元数据,运行时类型 描述和字段位置。 还可以创建运行时伪像之间的映射。 一些编译结果包括蹦床代码,用于支持缩减运行时支持环境中的工件的反射调用,虚拟方法调用,调用时边界检查,调用约定转换或编译器内在方法。 一些结果通过包括某些元数据来支持运行时诊断,即使不支持完全动态行为。

    HIERARCHICAL DIRECTIVES-BASED MANAGEMENT OF RUNTIME BEHAVIORS
    5.
    发明公开
    HIERARCHICAL DIRECTIVES-BASED MANAGEMENT OF RUNTIME BEHAVIORS 有权
    HIERARCHISCHE RICHTLINIENBASIERTE VERWALTUNG VON LAUFZEITVERHALTENSWEISEN

    公开(公告)号:EP3123315A1

    公开(公告)日:2017-02-01

    申请号:EP15715059.0

    申请日:2015-03-24

    IPC分类号: G06F9/45 G06F9/455

    CPC分类号: G06F8/423 G06F9/45504

    摘要: Support for dynamic behavior is provided during static compilation while reducing reliance on JIT compilation and large runtimes. A mapping is created between metadata and native code runtime artifacts, such as between type definition metadata and a runtime type description, or between method definition metadata, a runtime type description, and a native code method location, or field definition metadata, a runtime type description, and a field location. A mapping between runtime artifacts may also be created. Some compilation results include trampoline code to support a reflection invocation of an artifact in the reduced runtime support environment, for virtual method calls, call-time bounds checking, calling convention conversion, or compiler-intrinsic methods. Some results support runtime diagnostics by including certain metadata even when full dynamic behavior is not supported.

    摘要翻译: 在静态编译期间提供对动态行为的支持,同时减少对JIT编译和大型运行时的依赖。 在元数据和本地代码运行时工件之间创建映射,例如类型定义元数据和运行时类型描述之间,或方法定义元数据,运行时类型描述和本机代码方法位置之间,或字段定义元数据,运行时类型 描述和字段位置。 还可以创建运行时伪像之间的映射。 一些编译结果包括蹦床代码,用于支持缩减运行时支持环境中的工件的反射调用,虚拟方法调用,调用时边界检查,调用约定转换或编译器内在方法。 一些结果通过包括某些元数据来支持运行时诊断,即使不支持完全动态行为。

    CONTROLLING RUNTIME ACCESS TO APPLICATION PROGRAMMING INTERFACES
    8.
    发明公开
    CONTROLLING RUNTIME ACCESS TO APPLICATION PROGRAMMING INTERFACES 审中-公开
    STEUERUNG DES LAUFZEITZUGRIFFS AUF ANWENDUNGSPROGRAMMIERUNGSSCHNITTSTELLEN

    公开(公告)号:EP2989539A1

    公开(公告)日:2016-03-02

    申请号:EP14725877.6

    申请日:2014-04-21

    IPC分类号: G06F9/44

    摘要: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).

    摘要翻译: 本发明扩展到用于控制对应用程序编程接口的运行时访问的方法,系统和计算机程序产品。本发明的实施例允许库开发者更精确和容易地控制可以动态调用哪些库的API。 因此,可以更适当地控制其维护和版本负担。 此外,应用程序开发人员可以控制哪些这样的API进一步从动态呼叫场景中排除,以最小化运行时支持开销(例如,阻止生成元数据)。