SYSTEMS AND METHODS FOR HARDWARE-ASSISTED TYPE CHECKING
    1.
    发明申请
    SYSTEMS AND METHODS FOR HARDWARE-ASSISTED TYPE CHECKING 有权
    硬件辅助类型检查的系统和方法

    公开(公告)号:US20130145216A1

    公开(公告)日:2013-06-06

    申请号:US13594607

    申请日:2012-08-24

    IPC分类号: G06F11/36

    摘要: Devices and methods of providing hardware support for dynamic type checking are provided. In some embodiments, a processor includes a type check register and support for one or more checked load instructions. In some embodiments, normal load instructions are replaced by a compiler with the checked load instructions. In some embodiments, to perform a checked load, an error handler instruction location is stored in the type check register, and a type tag operand is compared to a type tag stored in the loaded memory location. If the comparison succeeds, execution may proceed normally. If the comparison fails, execution may be transferred to the error handler instruction. In some embodiments, type prediction is performed to determine whether a checked load instruction is likely to fail.

    摘要翻译: 提供了为动态类型检查提供硬件支持的设备和方法。 在一些实施例中,处理器包括类型检查寄存器和支持一个或多个被检查的加载指令。 在一些实施例中,正常加载指令由具有检查的加载指令的编译器替代。 在一些实施例中,为了执行检查的负载,错误处理程序指令位置被存储在类型检查寄存器中,并且类型标签操作数与存储在加载的存储单元中的类型标签进行比较。 如果比较成功,执行可以正常进行。 如果比较失败,则可以将执行转移到错误处理程序指令。 在一些实施例中,执行类型预测以确定检查的加载指令是否可能失败。

    Method and apparatus to trigger synchronization and validation actions upon memory access
    2.
    发明授权
    Method and apparatus to trigger synchronization and validation actions upon memory access 失效
    在存储器访问时触发同步和验证动作的方法和装置

    公开(公告)号:US08327084B2

    公开(公告)日:2012-12-04

    申请号:US11847917

    申请日:2007-08-30

    IPC分类号: G06F12/14 G06F12/10

    摘要: A system and method to trigger synchronization and validation actions at memory access, in one aspect, identifies a storage class associated with a region of shared memory being accessed by a thread, determines whether the thread holds the storage class and acquires the storage class if the thread does not hold the storage class, identifies a programmable action associated with the storage class and the thread, and triggers the programmable action. One or more storage classes are respectively associated with one or more regions of shared memory. An array of storage classes associated with a thread holds one or more storage classes acquired by the thread. A configurable action table associated with a thread indicates one or more programmable actions associated with a storage class.

    摘要翻译: 在一方面,触发在存储器访问中的同步和验证动作的系统和方法,识别与由线程访问的共享存储器区域相关联的存储类,确定线程是否保存存储类并获取存储类,如果 线程不保存存储类,识别与存储类和线程相关联的可编程动作,并触发可编程动作。 一个或多个存储类别分别与共享存储器的一个或多个区域相关联。 与线程相关联的一组存储类保存线程获取的一个或多个存储类。 与线程相关联的可配置动作表指示与存储类相关联的一个或多个可编程动作。

    Systems and methods for finding concurrency errors
    3.
    发明授权
    Systems and methods for finding concurrency errors 有权
    查找并发错误的系统和方法

    公开(公告)号:US08832659B2

    公开(公告)日:2014-09-09

    申请号:US13312844

    申请日:2011-12-06

    IPC分类号: G06F9/45 G06F9/44

    摘要: Systems and methods for detecting concurrency bugs are provided. In some embodiments, context-aware communication graphs that represent inter-thread communication are collected during test runs, and may be labeled according to whether the test run was correct or failed. Graph edges that are likely to be associated with failed behavior are determined, and probable reconstructions of failed behavior are constructed to assist in debugging. In some embodiments, software instrumentation is used to collect the communication graphs. In some embodiments, hardware configured to collect the communication graphs is provided.

    摘要翻译: 提供了检测并发错误的系统和方法。 在一些实施例中,表示线程间通信的上下文感知通信图在测试运行期间被收集,并且可以根据测试运行是正确还是失败来标记。 确定可能与故障行为相关联的图形边缘,并构建故障行为的可能重建以辅助调试。 在一些实施例中,使用软件仪器来收集通信图。 在一些实施例中,提供了被配置为收集通信图形的硬件。

    HARDWARE SUPPORT FOR HASHTABLES IN DYNAMIC LANGUAGES
    4.
    发明申请
    HARDWARE SUPPORT FOR HASHTABLES IN DYNAMIC LANGUAGES 有权
    动态语言中硬件支持的硬件支持

    公开(公告)号:US20120304159A1

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

    申请号:US13181712

    申请日:2011-07-13

    IPC分类号: G06F9/45

    CPC分类号: G06F8/44 G06F8/31 G06F9/4492

    摘要: The aspects enable a computing device to execute traditionally software-based JavaScript® operations in hardware. Each JavaScript® object is hashed into a master hashtable that may be stored in the software. A portion of the software hashtable may be pushed to a hardware hashtable using special instruction set registers dedicated to hashtable processing. Each time a software process requests a hashtable operation (e.g., lookup) the hardware hashtable is checked to determine if the value exists in hardware. If the requested value is in the hardware hashtable, the requested value is accessed in a single operation step. If the requested value is not in the hardware hashtable, the requested value is extracted from the master hashtable in the software and a portion of the master hashtable containing the extracted value is pushed to the hardware using special instruction set registers.

    摘要翻译: 这些方面使计算设备能够在硬件中执行传统的基于软件的JavaScript®操作。 每个JavaScript®对象被散列成可以存储在软件中的主哈希表。 可以使用专用于散列表处理的专用指令集寄存器将软件散列表的一部分推送到硬件散列表。 每当软件进程请求哈希表操作(例如,查找)时,检查硬件散列表以确定该值是否存在于硬件中。 如果请求的值在硬件哈希表中,则在单个操作步骤中访问所请求的值。 如果请求的值不在硬件哈希表中,则从软件中的主哈希表中提取所请求的值,并且使用特殊指令集寄存器将包含提取的值的主要哈希表的一部分推送到硬件。

    MEMOIZING WEB-BROWSING COMPUTATION WITH DOM-BASED ISOMORPHISM
    5.
    发明申请
    MEMOIZING WEB-BROWSING COMPUTATION WITH DOM-BASED ISOMORPHISM 有权
    用基于DOM的异构体来记录网络浏览计算

    公开(公告)号:US20110258532A1

    公开(公告)日:2011-10-20

    申请号:US13096131

    申请日:2011-04-28

    IPC分类号: G06F17/00

    CPC分类号: G06F17/30902

    摘要: Methods and devices for accelerating webpage rendering by a browser store document object model (DOM) tree structures and computations of rendered pages, and compare portions of a DOM tree of pages being render to determining if portions of the DOM tree structures match. If a DOM tree of a webpage to be rendered matches a DOM tree stored in memory, the computations associated with the match DOM tree may be recalled from memory, obviating the need to perform the calculations to render the page. A tree isomorphism algorithm may be used to recognize DOM trees stored in memory that match the DOM tree of the webpage to be rendered. Reusing rendering computations may significantly reducing the time and resources required for rendering web pages. Identifying reusable portions of calculation results based on DOM tree isomorphism enables the browser to reuse stored webpage rendering calculations even when URLs do not match.

    摘要翻译: 用于通过浏览器存储文件对象模型(DOM)树结构和渲染页面的计算来加速网页呈现的方法和装置,并且比较正在渲染的页面的DOM树的部分,以确定DOM树结构的部分是否匹配。 如果要渲染的网页的DOM树与存储在存储器中的DOM树匹配,则可以从存储器调用与匹配DOM树相关联的计算,从而避免执行计算以呈现页面。 可以使用树同构方法来识别存储在与要渲染的网页的DOM树相匹配的存储器中的DOM树。 重用渲染计算可能会大大减少渲染网页所需的时间和资源。 识别基于DOM树同构的计算结果的可重用部分,即使URL不匹配,浏览器也可以重新使用存储的网页呈现计算。

    METHOD AND APPARTAUS TO TRIGGER SYNCHRONIZATION AND VALIDATION ACTIONS UPON MEMORY ACCESS
    6.
    发明申请
    METHOD AND APPARTAUS TO TRIGGER SYNCHRONIZATION AND VALIDATION ACTIONS UPON MEMORY ACCESS 失效
    在存储器访问之前触发同步和验证操作的方法和步骤

    公开(公告)号:US20090063783A1

    公开(公告)日:2009-03-05

    申请号:US11847917

    申请日:2007-08-30

    IPC分类号: G06F12/00

    摘要: A system and method to trigger synchronization and validation actions at memory access, in one aspect, identifies a storage class associated with a region of shared memory being accessed by a thread, determines whether the thread holds the storage class and acquires the storage class if the thread does not hold the storage class, identifies a programmable action associated with the storage class and the thread, and triggers the programmable action. One or more storage classes are respectively associated with one or more regions of shared memory. An array of storage classes associated with a thread holds one or more storage classes acquired by the thread. A configurable action table associated with a thread indicates one or more programmable actions associated with a storage class.

    摘要翻译: 在一方面,触发在存储器访问中的同步和验证动作的系统和方法,识别与由线程访问的共享存储器区域相关联的存储类,确定线程是否保存存储类并获取存储类,如果 线程不保存存储类,识别与存储类和线程相关联的可编程动作,并触发可编程动作。 一个或多个存储类别分别与共享存储器的一个或多个区域相关联。 与线程相关联的一组存储类保存线程获取的一个或多个存储类。 与线程相关联的可配置动作表指示与存储类相关联的一个或多个可编程动作。

    Reducing web browsing overheads with external code certification

    公开(公告)号:US09819687B2

    公开(公告)日:2017-11-14

    申请号:US13399126

    申请日:2012-02-17

    摘要: Methods, servers, and systems for using signatures/certifications embedded in pre-processed code to enable use or reuse of pre-processed code to obviate the need to perform some operations or execute some scripts within the web page content. One or more operations may be performed within an executable script in web page content and signing the result of the operation in a manner that can be used to verify that the corresponding operation may be skipped by a browser. A browser receiving signed pre-processed code may use a signature verification process to determine whether the browser can bypass executing corresponding scripts in the web page content or perform alternative operations. Operations may be pre-performed and the results signed by off-line tools and included in the web page content. Results of operations may be stored in memory along with a signature so the results of the operation can be reused in the future.

    Systems and methods for hardware-assisted type checking
    8.
    发明授权
    Systems and methods for hardware-assisted type checking 有权
    硬件辅助型检查的系统和方法

    公开(公告)号:US09336125B2

    公开(公告)日:2016-05-10

    申请号:US13594607

    申请日:2012-08-24

    摘要: Devices and methods of providing hardware support for dynamic type checking are provided. In some embodiments, a processor includes a type check register and support for one or more checked load instructions. In some embodiments, normal load instructions are replaced by a compiler with the checked load instructions. In some embodiments, to perform a checked load, an error handler instruction location is stored in the type check register, and a type tag operand is compared to a type tag stored in the loaded memory location. If the comparison succeeds, execution may proceed normally. If the comparison fails, execution may be transferred to the error handler instruction. In some embodiments, type prediction is performed to determine whether a checked load instruction is likely to fail.

    摘要翻译: 提供了为动态类型检查提供硬件支持的设备和方法。 在一些实施例中,处理器包括类型检查寄存器和支持一个或多个被检查的加载指令。 在一些实施例中,正常加载指令由具有检查的加载指令的编译器替代。 在一些实施例中,为了执行检查的负载,错误处理程序指令位置被存储在类型检查寄存器中,并且类型标签操作数与存储在加载的存储单元中的类型标签进行比较。 如果比较成功,执行可以正常进行。 如果比较失败,则可以将执行转移到错误处理程序指令。 在一些实施例中,执行类型预测以确定检查的加载指令是否可能失败。

    Enhanced reliability using deterministic multiprocessing-based synchronized replication
    9.
    发明授权
    Enhanced reliability using deterministic multiprocessing-based synchronized replication 失效
    使用基于确定性多进程的同步复制增强可靠性

    公开(公告)号:US08453120B2

    公开(公告)日:2013-05-28

    申请号:US12778058

    申请日:2010-05-11

    IPC分类号: G06F9/45

    摘要: A hardware and/or software facility for executing a multithreaded program is described. The facility causes each of a plurality of machines to execute the multithreaded program deterministically, such that the deterministic execution of the multithreaded program is replaced across the plurality of machines. The facility detects a problem in the execution of the multithreaded Program by one of the plurality of machines. In response, the facility adjusts the execution of the multithreaded program by at least one of the machines of the plurality.

    摘要翻译: 描述用于执行多线程程序的硬件和/或软件设施。 该设备使得多个机器中的每一个确定性地执行多线程程序,使得多个机器的多线程程序的确定性执行被替换。 该设备通过多台机器之一来检测执行多线程程序的问题。 作为响应,该设施通过多个机器中的至少一个来调整多线程程序的执行。

    ENHANCED RELIABILITY USING DETERMINISTIC MULTIPROCESSING-BASED SYNCHRONIZED REPLICATION
    10.
    发明申请
    ENHANCED RELIABILITY USING DETERMINISTIC MULTIPROCESSING-BASED SYNCHRONIZED REPLICATION 失效
    使用基于确定性多媒体同步复制的增强可靠性

    公开(公告)号:US20110283262A1

    公开(公告)日:2011-11-17

    申请号:US12778058

    申请日:2010-05-11

    IPC分类号: G06F9/44 G06F11/36

    摘要: A hardware and/or software facility for executing a multithreaded program is described. The facility causes each of a plurality of machines to execute the multithreaded program deterministically, such that the deterministic execution of the multithreaded program is replaced across the plurality of machines. The facility detects a problem in the execution of the multithreaded Program by one of the plurality of machines. In response, the facility adjusts the execution of the multithreaded program by at least one of the machines of the plurality.

    摘要翻译: 描述用于执行多线程程序的硬件和/或软件设施。 该设备使得多个机器中的每一个确定性地执行多线程程序,使得多个机器的多线程程序的确定性执行被替换。 该设备通过多台机器之一来检测执行多线程程序的问题。 作为响应,该设施通过多个机器中的至少一个来调整多线程程序的执行。