会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 2. 发明授权
    • Techniques for reducing the cost of dynamic class initialization checks
in compiled code
    • 在编译代码中降低动态类初始化检查成本的技术
    • US05999732A
    • 1999-12-07
    • US46401
    • 1998-03-23
    • Lars BakSrdjan Mitrovic
    • Lars BakSrdjan Mitrovic
    • G06F9/45
    • G06F9/45516
    • Techniques for reducing the cost of dynamic class loading and initialization checks in compiled code are provided. Virtual machine instructions are compiled into one or more native machine instructions even if required runtime execution information is unavailable at the time of compilation. The native machine instructions include placeholder data where the required runtime execution information should be. The native machine instructions are overwritten with a native machine instruction that transfers control to a section of code or stub that, at runtime execution, replaces the placeholder data with the required runtime execution information and execution continues.
    • 提供了在编译代码中降低动态类加载和初始化检查成本的技术。 虚拟机指令被编译成一个或多个本地机器指令,即使编译时所需的运行时执行信息不可用。 本地机器指令包括所需运行时执行信息所在的占位符数据。 本地机器指令被本地机器指令覆盖,该指令将控制转移到一段代码或存根,在运行时执行时,将使用所需的运行时执行信息替换占位符数据,并继续执行。
    • 3. 发明授权
    • Method and apparatus for implementing fast subclass and subtype checks
    • 用于实现快速子类和子类型检查的方法和装置
    • US06714991B1
    • 2004-03-30
    • US09107224
    • 1998-06-30
    • Lars BakSrdjan MitrovicUrs Hölzle
    • Lars BakSrdjan MitrovicUrs Hölzle
    • G06F900
    • G06F9/4492
    • Methods and apparatus for performing fast subtype checks during program execution are disclosed. According to one aspect of the present invention, a method for determining whether a class associated with an object that is a part of an object-based computing system is a subtype of another type includes obtaining a candidate type from a dynamic storage location that is associated with a class which is associated with the object, and comparing the candidate type against a first type that is potentially the same as the candidate type. A determination is then made as to whether the candidate type is substantially equal to the first type. When the determination is that the candidate type is substantially equal to the first type, an indication that the candidate type is a subtype of the first type is provided. In one embodiment, the candidate type obtained from the dynamic storage location is obtained from a cache element in the class associated with the object.
    • 公开了在程序执行期间执行快速子类型检查的方法和装置。 根据本发明的一个方面,一种用于确定与作为基于对象的计算系统的一部分的对象相关联的类是否是另一类型的子类型的方法包括从相关联的动态存储位置获得候选类型 具有与对象相关联的类,并且将候选类型与潜在地与候选类型相同的第一类型进行比较。 然后确定候选类型是否基本上等于第一类型。 当确定候选类型基本上等于第一类型时,提供候选类型是第一类型的子类型的指示。 在一个实施例中,从与该对象相关联的类中的高速缓存元素获得从动态存储位置获得的候选类型。
    • 4. 发明授权
    • Optimizing object oriented programs using limited customization
    • 使用有限的定制优化面向对象的程序
    • US08578352B1
    • 2013-11-05
    • US13077566
    • 2011-03-31
    • Srdjan MitrovicLars Bak
    • Srdjan MitrovicLars Bak
    • G06F9/45
    • G06F9/4552
    • A capability for limited customization that utilizes existing virtual dispatch table technology and allows selective customization is provided. Such a capability combines the usage of virtual dispatch tables with both customized and non-customized code to reduce, or even eliminate over-customization. Further, such a capability may employ a runtime system that decides what methods to customize based on several factors including, but not limited to the size of a class hierarchy, the amount of available space for compiled code, and the amount of available time for compilation.
    • 提供了利用现有虚拟调度表技术并允许选择性定制的有限定制功能。 这样的功能将虚拟调度表的使用与定制和非定制代码相结合,以减少甚至消除过度定制。 此外,这样的能力可以使用运行时系统,其基于几个因素来决定要定制哪些方法,包括但不限于类层次结构的大小,用于编译代码的可用空间量以及用于编译的可用时间量 。
    • 5. 发明授权
    • Using map objects to access object properties in a dynamic object-oriented programming language
    • 使用地图对象以动态面向对象编程语言访问对象属性
    • US08244775B1
    • 2012-08-14
    • US12120067
    • 2008-05-13
    • Lars BakKasper Verdich Lund
    • Lars BakKasper Verdich Lund
    • G06F17/30
    • G06F8/315G06F9/4488
    • One embodiment of the present invention provides a system that uses map objects to access object properties for a program written in a dynamic object-oriented programming language, thereby facilitating property access for languages that allow additional properties to be defined for objects at runtime. During operation, the system receives an object of an object type. This object is associated with a memory region and a given map object (from a set of map objects associated with the given object type) that describes how properties of the object are mapped to fields in the memory region. When receiving a request to access a property of the object, the system determines whether the given map object includes a field mapping for the property. If so, the system accesses a field in the memory region associated with the property using the field mapping.
    • 本发明的一个实施例提供一种系统,其使用地图对象来访问以动态面向对象的编程语言编写的程序的对象属性,由此促进允许在运行时为对象定义附加属性的语言的属性访问。 在操作期间,系统接收对象类型的对象。 该对象与描述如何将对象的属性映射到内存区域中的字段的内存区域和给定的映射对象(从与给定对象类型相关联的一组映射对象)关联。 当接收到访问对象的属性的请求时,系统确定给定的地图对象是否包括属性的字段映射。 如果是这样,系统使用字段映射来访问与属性关联的存储器区域中的一个字段。
    • 6. 发明授权
    • Method and apparatus for facilitating compact object headers
    • 用于促进紧凑型物体头部的方法和装置
    • US07028287B2
    • 2006-04-11
    • US10122071
    • 2002-04-12
    • Lars BakSteffen Grarup
    • Lars BakSteffen Grarup
    • G06F9/44
    • G06F9/526G06F9/4488
    • A system that associates an identifier with an instance defined within an object-oriented programming system. The system generates an identifier for the instance and associates a new near object with the instance, wherein the new near object points to a class specifying behavior for the object. The system stores the identifier in the new near object, and sets a class pointer located within a header of the instance to point to the new near object. In this way, the class pointer indirectly points to the class for the object through the new near object. The system can lock the instance to facilitate exclusive access to the instance by copying a near object associated with the instance to a method activation on the execution stack, and setting the class pointer of the instance to point to the copy of the near object on the execution stack.
    • 将标识符与面向对象编程系统中定义的实例相关联的系统。 该系统生成实例的标识符,并将新近的对象与实例相关联,其中新的近物体指向指定对象的行为的类。 系统将标识符存储在新近的对象中,并且设置位于实例的头部内的指针指向新近的对象的类指针。 以这种方式,类指针通过新的near对象间接指向对象的类。 系统可以锁定实例以便于通过将与实例相关联的近似对象复制到执行堆栈上的方法激活来实现对实例的独占访问,并将实例的类指针设置为指向近似对象的副本 执行堆栈
    • 7. 发明授权
    • Method and apparatus for performing byte-code optimization during pauses
    • 在暂停期间执行字节码优化的方法和装置
    • US06865734B2
    • 2005-03-08
    • US09836916
    • 2001-04-17
    • Urs HölzleLars Bak
    • Urs HölzleLars Bak
    • G06F9/45
    • G06F8/48G06F8/4441G06F9/45516
    • Methods and apparatus for dynamically compiling byte codes associated with methods during idle periods in the execution of a computer program are disclosed. The described methods are particularly suitable for use in computer systems that are arranged to execute both interpreted and compiled byte codes. In some embodiments, methods to be dynamically compiled are referenced in one or more lists. The lists may be prioritized to facilitate the compilation of the highest priority methods first. In one embodiment, a pair of compilation lists are provided with a first one of the compilation lists being created prior to processing the computer program while the other is created during the processing of the computer program.
    • 公开了在执行计算机程序期间动态地编译与空闲期间中的方法相关联的字节码的方法和装置。 所描述的方法特别适用于被布置为执行解释和编译的字节码的计算机系统。 在一些实施例中,要被动态编译的方法在一个或多个列表中被引用。 可以优先列出列表以便于首先编译最高优先级的方法。 在一个实施例中,提供一对编译列表,其中编译列表中的第一个在处理计算机程序之前被创建,而另一个在计算机程序的处理期间被创建。
    • 8. 发明授权
    • Method and apparatus for dynamically deoptimizing compiled activations
    • 动态优化编译激活的方法和装置
    • US06240547B1
    • 2001-05-29
    • US09336123
    • 1999-06-18
    • Urs HölzleLars Bak
    • Urs HölzleLars Bak
    • G06F945
    • G06F8/443G06F8/52G06F9/449Y10S707/99944
    • Methods and apparatus for dynamically deoptimizing a frame in a control stack during the execution of a computer program are disclosed. The described methods are particularly suitable for use in computer systems that are arranged to execute both interpreted and compiled byte codes. According to one aspect of the present invention, a computer-implemented method for deoptimizing a compiled method includes creating a data structure. The data structure, which is separate from the control stack, is arranged to store information relating to the compiled method. A reference indicator, such as a pointer, is created to associate the data structure with the frame. The method, which is compiled to a first state of optimization, is then deoptimized to a second state of optimization, and the method in the first state of optimization may be discarded, thereby deoptimizing the frame. When control returns to the deoptimized frame, a migration routine creates at least one new stack frame, and execution may continue using the method in the second state of optimization.
    • 公开了在执行计算机程序期间动态地优化控制堆栈中的帧的方法和装置。 所描述的方法特别适用于被布置为执行解释和编译的字节码的计算机系统。 根据本发明的一个方面,一种用于去优化编译方法的计算机实现方法包括创建数据结构。 与控制堆栈分离的数据结构被布置为存储与编译方法有关的信息。 创建诸如指针的参考指示符以将数据结构与帧相关联。 然后将被编译为第一优化状态的方法去优化到第二优化状态,并且可以丢弃第一优化状态中的方法,从而优化帧。 当控制返回到最优化帧时,迁移例程创建至少一个新的堆栈帧,并且执行可以在第二优化状态中继续使用该方法。