Recursive expression simplification
    52.
    发明授权
    Recursive expression simplification 有权
    递归表达简化

    公开(公告)号:US09405516B2

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

    申请号:US14603862

    申请日:2015-01-23

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443 G06F8/4441

    摘要: A computer-implemented method, carried out by one or more processors, for recursive expression reduction. In an embodiment, the method comprises the steps of identifying a candidate loop, where the candidate loop includes at least one or more reduction variables and reduction operations; altering grouping of loop invariants and loop variants within the candidate loop; and performing recursive expression simplification for an inner loop, wherein the inner loop is located within the candidate loop.

    摘要翻译: 由一个或多个处理器执行的用于递归表达式减少的计算机实现的方法。 在一个实施例中,该方法包括识别候选循环的步骤,其中候选循环包括至少一个或多个减少变量和缩减操作; 在候选循环中改变循环不变量和循环变体的分组; 并且对内部循环执行递归表达式简化,其中内部循环位于候选循环内。

    SYSTEM AND METHOD FOR COLLABORATIVE PROGRAMMING OF DATA ENTRY WORKFLOWS BETWEEN SYSTEM DEVELOPERS, END USERS, AND THIRD PARTY DEVELOPERS
    53.
    发明申请
    SYSTEM AND METHOD FOR COLLABORATIVE PROGRAMMING OF DATA ENTRY WORKFLOWS BETWEEN SYSTEM DEVELOPERS, END USERS, AND THIRD PARTY DEVELOPERS 有权
    系统开发商,最终用户和第三方开发商之间的数据输入工作流协同编程的系统和方法

    公开(公告)号:US20160203271A1

    公开(公告)日:2016-07-14

    申请号:US15074669

    申请日:2016-03-18

    IPC分类号: G06F19/00 H04L29/08

    摘要: The present invention is a system for collaborative programming of data entry workflows between end users, Electronic Health Record (EHR) system developers, and third party developers. The system comprises application servers, database servers, an EHR, and peripheral devices, all stored in a distributed computing environment. The database servers comprise databases and networked devices, which host workflows programmed by end users, EHR developers, and third party developers. The system also has a secure network connection for data exchange between application and database servers, and networked devices. The EHR gathers patient health information, processes it and stores it in one of the databases. The system itself, stored in one of the application servers, uses a plurality of templates (form, system and external system) stored in one of the databases to interact with the peripheral devices connected to networked devices that expand the capabilities of the networked devices or the EHR itself.

    摘要翻译: 本发明是用于在终端用户,电子健康记录(EHR)系统开发者和第三方开发者之间的数据输入工作流的协同编程的系统。 该系统包括所有存储在分布式计算环境中的应用服务器,数据库服务器,EHR和外围设备。 数据库服务器包括数据库和网络设备,其承载由终端用户,EHR开发者和第三方开发者编程的工作流程。 该系统还具有安全的网络连接,用于应用程序和数据库服务器以及联网设备之间的数据交换。 EHR收集患者健康信息,处理并存储在其中一个数据库中。 存储在应用服务器之一中的系统本身使用存储在数据库之一中的多个模板(形式,系统和外部系统)来与连接到网络设备的外围设备进行交互,这些设备可以扩展网络设备的功能, EHR本身。

    METHODS, APPARATUS, SYSTEMS AND COMPUTER READABLE MEDIA FOR USE IN ASSOCIATION WITH PARTITIONING AND/OR RENDERING
    54.
    发明申请
    METHODS, APPARATUS, SYSTEMS AND COMPUTER READABLE MEDIA FOR USE IN ASSOCIATION WITH PARTITIONING AND/OR RENDERING 有权
    方法,装置,系统和计算机可读介质用于与分区和/或渲染相关联

    公开(公告)号:US20160173570A1

    公开(公告)日:2016-06-16

    申请号:US14566892

    申请日:2014-12-11

    IPC分类号: H04L29/08

    摘要: In one embodiment, a method includes: receiving an application that includes a rendering portion; receiving code implementing a plurality of functions used by the application; defining a plurality of subsets of the plurality of functions, each of the plurality of subsets including at least one of the plurality of functions; monitoring which ones of the plurality of subsets has one or more of the at least one functions included therein invoked during execution of a portion of the application that includes the rendering portion; generating information indicating which ones of the plurality of subsets had one or more of the at least one functions included therein invoked during the execution of the portion of the application; and generating a first set of one or more files that includes: (i) code implementing ones of the plurality of functions that are included in or more of the plurality of subsets that had one or more of the at least one functions included therein invoked during execution of the portion of the application.

    摘要翻译: 在一个实施例中,一种方法包括:接收包括呈现部分的应用; 接收实现应用使用的多个功能的代码; 定义所述多个功能的多个子集,所述多个子集中的每一个包括所述多个功能中的至少一个; 监视所述多个子集中的哪些子集中包括其中的至少一个功能中的一个或多个在执行包括呈现部分的应用的一部分期间被调用; 产生指示所述多个子集中的哪一个具有在执行所述应用的一部分期间被包括的所述至少一个功能中的一个或多个的信息; 以及生成第一组一个或多个文件,其包括:(i)对包含在其中包括的多个子集中的多个或多个功能中的至少一个功能中包含的至少一个功能中的一个或多个的多个功能中的一个或多个功能进行编码的代码, 执行应用程序的一部分。

    METHOD FOR OPTIMIZING BINARY CODE IN LANGUAGE HAVING ACCESS TO BINARY CODED DECIMAL VARIABLE, AND COMPUTER AND COMPUTER PROGRAM
    55.
    发明申请
    METHOD FOR OPTIMIZING BINARY CODE IN LANGUAGE HAVING ACCESS TO BINARY CODED DECIMAL VARIABLE, AND COMPUTER AND COMPUTER PROGRAM 有权
    具有二进制编码十进制变量的语言优化二进制代码的方法,计算机和计算机程序

    公开(公告)号:US20160154635A1

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

    申请号:US15016510

    申请日:2016-02-05

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443 G06F8/4441

    摘要: A method for optimizing binary code in a language having access to binary coded decimal variable. The method includes: generating a first compiler expression of the binary code; analyzing a use-definition and/or a definition-use for the first compiler expression; generating a second compiler expression by identifying logical binary coded decimal (BCD) variables in the first compiler expression; assigning temporary variables to the logical BCD variables, wherein the second compiler expression includes packed decimal operations and the assigned temporary variables; and converting a packed decimal operation in the second compiler expression and an assigned temporary variable to a decimal floating point (DFP) if sign information and precision information are not lost during conversion from BCD to DFP, wherein identifying logical BCD variables includes: in the use-definition and/or definition-use of operands, regarding an operand of definition and an operand of use as the same logical BCD variables.

    摘要翻译: 用于以具有二进制编码的十进制变量的访问权的语言来优化二进制代码的方法。 该方法包括:生成二进制码的第一编译器表达式; 分析第一个编译器表达式的使用定义和/或定义; 通过识别第一编译器表达式中的逻辑二进制编码十进制(BCD)变量来生成第二编译器表达式; 将临时变量分配给逻辑BCD变量,其中第二编译器表达式包括压缩小数运算和分配的临时变量; 并且如果在从BCD到DFP转换期间符号信息和精度信息不丢失,则将第二编译器表达式中的打包十进制运算和分配的临时变量转换为十进制浮点(DFP),其中识别逻辑BCD变量包括:在使用中 定义和/或操作数的定义 - 使用定义操作数和使用操作数作为相同的逻辑BCD变量。

    Running shift for divide instructions for processing vectors
    56.
    发明授权
    Running shift for divide instructions for processing vectors 有权
    运行移位用于处理向量的除法指令

    公开(公告)号:US09317283B2

    公开(公告)日:2016-04-19

    申请号:US13717480

    申请日:2012-12-17

    申请人: Apple Inc.

    发明人: Jeffry E. Gonion

    摘要: A processor may generate a result vector when executing a RunningShiftForDivide1P or RunningShiftForDivide2P instruction. For example, upon executing a RunningShiftForDivide1P/2P instruction, the processor may receive a first input vector and a second input vector. The processor then may record a base value from an element at a key element position in the first input vector. Next, when generating the result vector, for each active element in the result vector to the right of the key element position, the processor may generate a shifted base value using shift values from the second input vector. The processor then may correct the shifted base value when a predetermined condition is met. Next, the processor may set the element of the result vector equal to the shifted base value.

    摘要翻译: 执行RunningShiftForDivide1P或RunningShiftForDivide2P指令时,处理器可能会生成结果向量。 例如,在执行RunningShiftForDivide1P / 2P指令时,处理器可以接收第一输入向量和第二输入向量。 然后,处理器可以从第一输入向量中的键元素位置处的元素记录基值。 接下来,当生成结果向量时,对于结果向量中的关键元素位置右侧的每个活动元素,处理器可以使用来自第二输入向量的移位值来生成移位的基值。 然后,当满足预定条件时,处理器可以校正偏移的基值。 接下来,处理器可以将结果向量的元素设置为移位的基本值。

    Optimizing intermediate representation of script code for atomic execution
    57.
    发明授权
    Optimizing intermediate representation of script code for atomic execution 有权
    优化用于原子执行的脚本代码的中间表示

    公开(公告)号:US09317265B2

    公开(公告)日:2016-04-19

    申请号:US13850238

    申请日:2013-03-25

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441

    摘要: Disclosed here are methods, systems, paradigms and structures for optimizing intermediate representation (IR) of a script code for atomic execution. Atomic execution of the script is achieved by generating portions of the IR as an atomic transaction. In an atomic transaction, a series of operations either all execute, or none executes. The IR includes checkpoints that evaluate to one of two possible values. The checkpoint evaluates to a first value when there is no error during execution, and evaluates to a second value when an error occurs. The IR is optimized for atomic execution by regenerating a portion of the IR including the checkpoint and code associated with the checkpoint as a transaction. When an error occurs during the execution of the transaction, the transaction is aborted and a state of execution of the script code is reverted to a state prior to the beginning of the transaction.

    摘要翻译: 这里公开了用于优化用于原子执行的脚本代码的中间表示(IR)的方法,系统,范例和结构。 通过将IR的部分生成为原子事务来实现脚本的原子执行。 在原子事务中,一系列操作全部执行,否则执行。 IR包括评估两个可能值之一的检查点。 当执行时没有错误时,检查点将计算为第一个值,并在发生错误时评估为第二个值。 IR通过重新生成包含与检查点相关联的检查点和代码的IR的一部分作为事务来优化原子执行。 当事务执行期间发生错误时,事务被中止,并且脚本代码的执行状态恢复到事务开始之前的状态。

    Supporting dynamic behavior in statically compiled programs
    58.
    发明授权
    Supporting dynamic behavior in statically compiled programs 有权
    在静态编译程序中支持动态行为

    公开(公告)号:US09292270B2

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

    申请号:US14227036

    申请日:2014-03-27

    IPC分类号: G06F9/45

    摘要: 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编译和大型运行时的依赖。 在元数据和本机代码运行时工件之间创建映射,例如类型定义元数据和运行时类型描述之间,或方法定义元数据,运行时类型描述和本机代码方法位置之间,或字段定义元数据,运行时类型 描述和字段位置。 还可以创建运行时工件之间的映射。 一些编译结果包括蹦床代码,用于支持缩减运行时支持环境中的工件的反射调用,虚拟方法调用,调用时间边界检查,调用约定转换或编译器内在方法。 一些结果支持运行时诊断,即使不支持完全动态行为,也包括某些元数据。

    Correlating class loader objects across execution environments
    59.
    发明授权
    Correlating class loader objects across execution environments 有权
    在执行环境中关联类加载器对象

    公开(公告)号:US09286085B2

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

    申请号:US14317077

    申请日:2014-06-27

    发明人: Mark G. Stoodley

    IPC分类号: G06F9/445

    摘要: Updating a native class pointer in persisted compiled code for use in an execution environment other than the one in which the native class pointer was created. This is done by using an identifier, stored with the persisted compiled code, of the class first loaded by the class loader that also loaded the class to which the native class pointer refers. A table is maintained in the execution environment mapping class identifiers to class loaders, and the stored identifier is used to consult this table to find a candidate class loader from those in the current execution environment that can provide the correct updated pointer.

    摘要翻译: 在持久编译代码中更新本机类指针,以便在除了创建本机类指针的执行环境之外的执行环境中使用。 这是通过使用由加载了本地类指针引用的类的类加载器首先加载的类的持久编译代码存储的标识符来完成的。 在执行环境中维护表将类标识符映射到类加载器,并且存储的标识符用于查询此表,以从当前执行环境中的可以提供正确更新指针的候选类加载器。

    Methods and systems to vectorize scalar computer program loops having loop-carried dependences
    60.
    发明授权
    Methods and systems to vectorize scalar computer program loops having loop-carried dependences 有权
    对具有循环携带依赖性的标量计算机程序循环进行矢量化的方法和系统

    公开(公告)号:US09268541B2

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

    申请号:US13994062

    申请日:2013-03-15

    申请人: Intel Corporation

    摘要: Methods and systems to convert scalar computer program loops having loop carried dependences to vector computer program loops are disclosed. One example method and system generates a first predicate set associated with a first conditionally executed statement. The first predicate set contains a first set of predicates that cause a variable to be defined in a scalar computer program loop at or before the variable is defined by the first conditionally executed statement. The method and system also generates a second predicate set associated with the first conditionally executed statement. The second predicate set contains a second set of predicates that cause the variable to be used in the scalar computer program loop at or before the variable is defined by the first conditionally executed statement. The method and system determines whether the second predicate set is a subset of the first predicate set and, based on the determination, propagates a vector value in an element of a vector of the variable to a subsequent element of the vector.

    摘要翻译: 公开了将具有循环携带依赖性的标量计算机程序循环转换为向量计算机程序循环的方法和系统。 一个示例性方法和系统生成与第一条件执行语句相关联的第一谓词集合。 第一个谓词集包含第一组谓词,导致在第一个有条件执行的语句定义变量之前或之前,在标量计算机程序循环中定义变量。 方法和系统还生成与第一条件执行语句相关联的第二谓词集合。 第二个谓词集包含第二组谓词,导致在第一个有条件执行的语句定义变量之前或之前在标量计算机程序循环中使用变量。 方法和系统确定第二谓词集是否是第一谓词集的子集,并且基于该确定,将该变量的向量的元素中的向量值传播到向量的后续元素。