-
1.
公开(公告)号:US09223550B1
公开(公告)日:2015-12-29
申请号:US14056091
申请日:2013-10-17
Applicant: Google Inc.
Inventor: Jean-Francois Bastien , David C. Sehr
Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for generating portable concurrency primitives. In one aspect, a method includes receiving a set of source code for a module that will execute on a plurality of different types of architectures, the set of source code including a first set of concurrency primitives, generating a second set of concurrency primitives from the first set of concurrency primitives, wherein each concurrency primitive in the second set is different than the corresponding concurrency primitive from the first set of concurrency primitives, each concurrency primitive in the second set of concurrency primitives being independent of a plurality of different types of architectures that will execute the module, and storing each concurrency primitive from the second set of concurrency primitives in a portable executable that retains the language level constructs of the first set of concurrency primitives.
Abstract translation: 方法,系统和装置,包括在计算机存储介质上编码的计算机程序,用于产生便携式并行原语。 一方面,一种方法包括接收一组将在多个不同类型的体系结构上执行的模块的源代码,所述源代码集合包括第一组并发原语,从第二组并行原语生成来自 第一组并行原语,其中第二组中的每个并发原语与来自第一组并发原语的对应并发原语不同,第二组并发原语中的每个并发原语独立于多种不同类型的体系结构, 将执行该模块,并将来自第二组并行原语的每个并发原语存储在保留第一组并发原语的语言级结构的便携式可执行文件中。
-
公开(公告)号:US09189375B1
公开(公告)日:2015-11-17
申请号:US14144777
申请日:2013-12-31
Applicant: Google Inc.
Inventor: Jean-Francois Bastien , David C. Sehr
CPC classification number: G06F11/3612 , G06F11/302 , G06F11/3409 , G06F11/3466 , G06F11/3688 , G06F21/53 , G06F2201/865 , H04L67/303
Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for dynamic sandboxing. In one aspect, a method includes obtaining software including program instructions for execution by a data processing apparatus; identifying, from a plurality of predefined software characteristics, software characteristics of the software, each identified software characteristic corresponding to a set of the program instructions included in the software; accessing sandbox data defining, for each of the predefined software characteristics, one or more sandbox methods that are eligible for use when executing program instructions that correspond to the predefined software characteristics; selecting, from a plurality of sandbox methods, one or more sandbox methods based on the identified software characteristics and their respectively corresponding sandbox methods, each of the plurality of sandbox methods comprising sandbox instructions for executing program instructions using fault isolation techniques; and causing execution of the software using the selected sandbox methods.
Abstract translation: 方法,系统和装置,包括在计算机存储介质上编码的计算机程序,用于动态沙箱。 一方面,一种方法包括获得包括用于由数据处理设备执行的程序指令的软件; 从多个预定义的软件特征中识别软件的软件特征,每个识别的软件特征对应于软件中包括的一组程序指令; 访问沙箱数据,对于每个预定义的软件特征,定义当执行与预定软件特征对应的程序指令时有资格使用的一个或多个沙箱方法; 基于所识别的软件特征及其分别对应的沙箱方法,从多个沙箱方法中选择一个或多个沙盒方法,所述多个沙箱方法中的每一个包括用于使用故障隔离技术执行程序指令的沙箱指令; 并使用所选的沙箱方法来执行软件。
-
公开(公告)号:US09563424B2
公开(公告)日:2017-02-07
申请号:US13756371
申请日:2013-01-31
Applicant: GOOGLE INC.
Inventor: David C. Sehr , Bennet S. Yee , Jean-Francois Bastien
CPC classification number: G06F9/30003 , G06F8/52
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for selecting native code instructions. One of the methods includes receiving an initial machine language instruction for execution by a processor in a first execution mode; determining that a portion of the initial machine language instruction, when executed by the processor in a second execution mode, satisfies one or more risk criteria; generating one or more alternative machine language instructions to replace the initial machine language instruction for execution by the processor in the first execution mode, wherein the one or more alternative machine language instructions, when executed by the processor in the second execution mode, mitigate the one or more risk criteria; and providing the one or more alternative machine language instructions.
Abstract translation: 方法,系统和装置,包括在计算机存储介质上编码的计算机程序,用于选择本地代码指令。 其中一种方法包括在第一执行模式中接收处理器执行的初始机器语言指令; 当处理器以第二执行模式执行时,确定所述初始机器语言指令的一部分满足一个或多个风险准则; 生成一个或多个替代的机器语言指令来替换所述初始机器语言指令以供处理器在第一执行模式中执行,其中当所述处理器在所述第二执行模式中执行时,所述一个或多个替代的机器语言指令减轻所述一个 或更多的风险标准; 以及提供一个或多个替代的机器语言指令。
-
公开(公告)号:US20140052971A1
公开(公告)日:2014-02-20
申请号:US13756371
申请日:2013-01-31
Applicant: Google Inc.
Inventor: David C. Sehr , Bennet S. Yee , Jean-Francois Bastien
IPC: G06F9/30
CPC classification number: G06F9/30003 , G06F8/52
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for selecting native code instructions. One of the methods includes receiving an initial machine language instruction for execution by a processor in a first execution mode; determining that a portion of the initial machine language instruction, when executed by the processor in a second execution mode, satisfies one or more risk criteria; generating one or more alternative machine language instructions to replace the initial machine language instruction for execution by the processor in the first execution mode, wherein the one or more alternative machine language instructions, when executed by the processor in the second execution mode, mitigate the one or more risk criteria; and providing the one or more alternative machine language instructions.
Abstract translation: 方法,系统和装置,包括在计算机存储介质上编码的计算机程序,用于选择本地代码指令。 其中一种方法包括在第一执行模式中接收处理器执行的初始机器语言指令; 当处理器以第二执行模式执行时,确定所述初始机器语言指令的一部分满足一个或多个风险准则; 生成一个或多个替代的机器语言指令来替换所述初始机器语言指令以供处理器在第一执行模式中执行,其中当所述处理器在所述第二执行模式中执行时,所述一个或多个替代的机器语言指令减轻所述一个 或更多的风险标准; 以及提供一个或多个替代的机器语言指令。
-
-
-