-
1.
公开(公告)号:US20150212803A1
公开(公告)日:2015-07-30
申请号:US13933050
申请日:2013-07-01
Applicant: Google Inc.
Inventor: Daniel Kenneth Clifford , Vyacheslav Egorov
IPC: G06F9/45
CPC classification number: G06F8/4443
Abstract: Systems and methods for compiling source code are provided. In some aspects, a method includes receiving one or more code stubs configured to be inline cached at one or more call sites of a native code generated by a baseline compiler from a source code. Each of the one or more code stubs is based on an intermediate representation between the source code and the native code. The method also includes translating the source code into the intermediate representation, inlining the one or more code stubs into the translated source code, and optimizing, by an optimizing compiler, at least one of the translated source code and the inlined one or more code stubs.
Abstract translation: 提供了编译源代码的系统和方法。 在一些方面,一种方法包括:接收一个或多个代码存根,其被配置为在基准编译器从源代码生成的本地代码的一个或多个调用位置处进行内联缓存。 一个或多个代码存根中的每一个基于源代码和本地代码之间的中间表示。 该方法还包括将源代码转换为中间表示,将一个或多个代码存根内联到经翻译的源代码中,以及通过优化编译器优化至少一个经翻译的源代码和内联的一个或多个代码存根 。
-
公开(公告)号:US09201797B1
公开(公告)日:2015-12-01
申请号:US13895267
申请日:2013-05-15
Applicant: Google Inc.
Inventor: Vyacheslav Egorov , Kevin Scott Millikin , Srdjan Mitrovic , Ivan Posva , Florian Schneider
CPC classification number: G06F12/08 , G06F8/41 , G06F8/4443 , G06F12/0862
Abstract: Aspects of the subject technology relate to a computer-implemented process, including steps for compiling a first method call at a first call site in code of an object-oriented language, wherein the first call site is associated with a first selector, referencing a global cache comprising a plurality of per-selector caches, wherein each of the per-selector caches is indexed based on a corresponding selector identification and identifying a first per-selector cache, from among the plurality of per-selector caches, using the first selector. In certain aspects, the process can further include steps for invoking a method on a first object by performing a lookup in the first per-selector cache using a class associated with the first object to determine if a first target function exists in the first per-selector cache. Systems and computer readable media are also provided.
Abstract translation: 主题技术的方面涉及计算机实现的过程,包括在面向对象语言的代码中的第一呼叫站点处编译第一方法调用的步骤,其中第一呼叫站点与第一选择器相关联,引用全局 高速缓存包括多个每选择器高速缓存,其中每个选择器高速缓存基于相应的选择器标识被索引,并且使用第一选择器从多个选择器高速缓存中识别第一每选择器高速缓存。 在某些方面,该过程可以进一步包括通过使用与第一对象相关联的类在第一逐选择器高速缓存中执行查找来调用第一对象上的方法的步骤,以确定第一个每个选择器中是否存在第一目标函数, 选择器缓存。 还提供了系统和计算机可读介质。
-