Conservative garbage collection and access protection
    1.
    发明授权
    Conservative garbage collection and access protection 有权
    保守的垃圾收集和访问保护

    公开(公告)号:US09378138B2

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

    申请号:US13172039

    申请日:2011-06-29

    Applicant: Pradeep Varma

    Inventor: Pradeep Varma

    Abstract: A method of memory management can include creating an initial root set of pointers for a program during execution of the program and performing a marking process by iteratively marking referred objects of each pointer of the root set and expanding the root set with filtered, encoded pointers. The method also can include identifying each non-live object for any marked object as red-marked and performing, using a processor, a re-marking process on the root set in which red-marked objects are excluded. Each object of the root set not marked can be designated as including a memory leak.

    Abstract translation: 存储器管理的方法可以包括在执行程序期间创建用于程序的指针的初始根集合,并且通过迭代地标记根集合的每个指针的引用对象并使用经过过滤的编码指针来扩展根集来执行​​标记处理。 该方法还可以包括使用处理器识别任何标记对象的每个非活动对象,使用红色标记和执行,在根集合上排除重新标记对象的重新标记过程。 没有标记的根设备的每个对象都可以被指定为包含内存泄漏。

    Source-to-source transformation for language dialects
    3.
    发明申请
    Source-to-source transformation for language dialects 失效
    语言方言的源到源转换

    公开(公告)号:US20070226708A1

    公开(公告)日:2007-09-27

    申请号:US11388353

    申请日:2006-03-24

    Applicant: Pradeep Varma

    Inventor: Pradeep Varma

    CPC classification number: G06F8/51

    Abstract: An analysis and source-to-source transformation framework covers dialects of programming languages that lack formal definition for all individual dialects. Multiple instantiations of the same compiler front-end tools can be used with different settings to create distinct intermediate forms and maps. Intermediate forms and maps are used in an individual analysis and source-to-source transformation context, and performing the analysis and source-to-source transformation thereupon. A unified tool set is desirably provided, including standard compiler front-end tools and code transformation/generation tools, wherein source code edits are carried out in order to make the source code more amenable to translation to intermediate forms. The analysis results or intermediate forms created by individual tools are used by other tools as well as further analyzed to create a map of the regions of validity and invalidity of the intermediate forms, and tracking the source-code edits performed in order to obtain the same. Among other benefits, this provides a choice of the best tools combination for maximum code analysis coverage.

    Abstract translation: 分析和源到源转换框架涵盖了对所有个人方言缺乏正式定义的编程语言的方言。 相同编译器前端工具的多个实例可以与不同的设置一起使用,以创建不同的中间格式和映射。 中间形式和地图用于个人分析和源到源转换环境,并进行分析和源到源转换。 期望提供统一的工具集,包括标准编译器前端工具和代码转换/生成工具,其中执行源代码编辑以便使源代码更适于翻译成中间形式。 由各种工具创建的分析结果或中间形式由其他工具使用,并进一步分析以创建中间形式的有效性和无效区域的映射,并跟踪执行的源代码编辑以获得相同的 。 除了其他好处之外,这提供了最佳代码分析覆盖的最佳工具组合的选择。

    Reduced-transistor, double-edged-triggered, static flip flop
    4.
    发明授权
    Reduced-transistor, double-edged-triggered, static flip flop 有权
    减少晶体管,双边触发,静态触发器

    公开(公告)号:US06462596B1

    公开(公告)日:2002-10-08

    申请号:US09599900

    申请日:2000-06-23

    Applicant: Pradeep Varma

    Inventor: Pradeep Varma

    CPC classification number: H03K3/356173 H03K3/012 H03K3/356156

    Abstract: A static, double-edge-triggered flip-flop has an upper data path and a lower data path connected between a data input node and an output terminal. The upper path includes a switch connected to a first data loop, and the lower path includes a switch connected to a second data loop. The first and second data loops share a forward path having a data-inverting circuit. In addition, each loop has a feedback path which contains only one element in the form of a switch. However, no data-inverting circuit is included in either of the feedback paths. Advantageously, all the elements of the flip-flop may be constructed using MOSFET transistors implemented according to any one of a variety of semiconductor technologies. In more than one particularly advantageous embodiments, the flip-flop is constructed using a total of twelve transistors. Through this simplified two-loop design, operational efficiency is improved, low metastability is achieved and costs of manufacture are lowered, all while maintaining low power requirements.

    Abstract translation: 静态双边沿触发器具有连接在数据输入节点和输出端之间的较高数据路径和较低数据路径。 上部路径包括连接到第一数据环路的开关,并且下部路径包括连接到第二数据环路的开关。 第一和第二数据环路共享具有数据反相电路的正向路径。 另外,每个循环都有一个反馈路径,其中只包含一个开关形式的元件。 然而,任一反馈路径中都不包括数据反相电路。 有利地,触发器的所有元件可以使用根据各种半导体技术中的任一种实现的MOSFET晶体管来构造。 在不止一个特别有利的实施例中,使用总共十二个晶体管来构造触发器。 通过这种简化的双回路设计,提高了运行效率,实现了低亚稳态,降低了制造成本,同时保持了低功率要求。

    Distributed server for real-time collaboration
    5.
    发明授权
    Distributed server for real-time collaboration 有权
    分布式服务器进行实时协作

    公开(公告)号:US06334141B1

    公开(公告)日:2001-12-25

    申请号:US09241991

    申请日:1999-02-02

    Abstract: A distributed server for real-time collaboration is substituted for a centralized server to address the problem of the development of unacceptable communication and computation bottlenecks resulting from the use of a one-software-process-based centralized server running somewhere on the available network. The substitute distributed server improves scaleability of real-time collaboration by being based on multiple, independently-communicating, asynchronous, independent (i.e., no shared memory, data, variables, etc.) software processes. The processes can be distributed to multiple machines throughout the network and run simultaneously in order to avoid the centralized server's bottlenecks. To be used, a distributed server requires a disjoint, fully covering partitioning of a work space, wherein it can handle partition hierarchies and groups comprehensively. The distributed server solution is general because of the ability of distributed servers to work with different definitions of a modification. The distributed server solution is extensible because of its simple and comprehensive treatment of inter-partition synchronization.

    Abstract translation: 用于实时协作的分布式服务器被替换为集中式服务器,以解决由于使用在可用网络上某处运行的基于单软件过程的集中式服务器而导致的不可接受的通信和计算瓶颈的开发问题。 替代分布式服务器通过基于多个,独立通信,异步,独立(即,没有共享存储器,数据,变量等)软件处理来提高实时协作的可扩展性。 这些进程可以分布到整个网络中的多台机器并同时运行,以避免集中式服务器的瓶颈。 为了被使用,分布式服务器需要不相交,完全覆盖工作空间的分区,其中它可以全面地处理分区层次结构和组。 分布式服务器解决方案是一般的,因为分布式服务器可以使用不同的修改定义。 分布式服务器解决方案是可扩展的,因为它对分区间同步进行了简单而全面的处理。

    Wand: Concurrent Boxing System For All Pointers With Or Without Garbage Collection
    6.
    发明申请
    Wand: Concurrent Boxing System For All Pointers With Or Without Garbage Collection 审中-公开
    魔杖:所有指针的并发拳击系统或无垃圾收集

    公开(公告)号:US20170031815A1

    公开(公告)日:2017-02-02

    申请号:US14928790

    申请日:2015-10-30

    Applicant: Pradeep Varma

    Inventor: Pradeep Varma

    Abstract: Boxed pointers are disclosed, for all pointers, for safe and sequential or parallel use. Since a pointer box can be arbitrarily large, it supports any fat pointer encoding possible. The boxed pointers are managed out of the same heap or stack space as ordinary objects, providing scalability by a shared use of the entire program memory. The boxed pointers and objects are managed together by the same parallel, safe, memory management system including an optional precise, parallel garbage collector. To manage boxes independently of the garbage collector, explicit allocation and de-allocation means are provided including explicit killing of boxes using immediate or deferred frees. The entire system is constructed out of atomic registers as the sole shared memory primitive, avoiding all synchronization primitives and related expenses. Atomic pointer operations including pointer creation or deletion (malloc or free) are provided.

    Abstract translation: 对于所有指针,公开了用于安全和顺序或并行使用的盒装指针。 由于指针盒可以任意大,它可以支持任何胖指针编码。 盒装指针由与普通对象相同的堆或堆栈空间进行管理,通过共享使用整个程序存储器提供可扩展性。 盒装指针和对象由同一个并行,安全的内存管理系统一起管理,包括可选的精确并行垃圾收集器。 为了独立于垃圾收集器管理盒子,提供明确的分配和解除分配手段,包括使用立即或延迟释放来显式杀死盒子。 整个系统由原子寄存器构建为唯一的共享存储器原语,避免所有同步原语和相关费用。 提供包括指针创建或删除(malloc或free)的原子指针操作。

    Unrestricted, Fully-Source-Preserving, Concurrent, Wait-Free, Synchronization-Free, Fully-Error-Handling Frontend With Inline Schedule Of Tasks And Constant-Space Buffers
    7.
    发明申请
    Unrestricted, Fully-Source-Preserving, Concurrent, Wait-Free, Synchronization-Free, Fully-Error-Handling Frontend With Inline Schedule Of Tasks And Constant-Space Buffers 审中-公开
    无限制,全源保存,并发,等待,无同步,全错误处理前端,具有任务和恒定空间缓冲区的内联计划

    公开(公告)号:US20150293752A1

    公开(公告)日:2015-10-15

    申请号:US14673231

    申请日:2015-03-30

    Applicant: Pradeep Varma

    Inventor: Pradeep Varma

    CPC classification number: G06F8/42

    Abstract: A concurrent, wait-free compiler/compiler front-end for C/C++ and other programming languages, comprising parallel stages that carry out the steps of character translation, line translation, macro rewriting, lexing, parsing, and handling errors in input text and translating it to an object form, with features including (a) long lexenes, (b) display modifiers, (c) look ahead isolation, (d) line-by-line processing followed by tokenization, (e) complete error handlers, and/or (f) precise and inline context switches.

    Abstract translation: 用于C / C ++和其他编程语言的并发等待编译器/编译器前端,包括执行字符转换,行转换,宏重写,词法,解析和处理输入文本中的错误的步骤的并行级,以及 将其转换为对象形式,其特征包括(a)长词,(b)显示修饰符,(c)预先隔离,(d)逐行处理,随后进行标记化,(e)完整的错误处理程序,以及 /或(f)精确和内联上下文切换。

    Systems And Methods Of Memory And Access Management
    8.
    发明申请
    Systems And Methods Of Memory And Access Management 审中-公开
    内存和访问管理系统与方法

    公开(公告)号:US20150227414A1

    公开(公告)日:2015-08-13

    申请号:US14422628

    申请日:2013-08-24

    Applicant: Pradeep Varma

    Inventor: Pradeep Varma

    Abstract: A memory and access management system for reducing memory access errors or management errors or runtime errors while dynamically allocating, moving or de-allocating memory to one or more objects of an application program is disclosed. The object may have a data part containing one or more values and a pointer part containing one or more pointers. The system may include a heap memory pool containing memory space to be assigned to the object and a processor for reading the pointer part. An interface coupled with the processor may be provided for dynamically allocating, moving or de-allocating the data part of the object to defragment, manage or optimize the heap memory pool and updating the address location of the data part contained in one or more pointers upon moving the data part, thereby reducing memory access errors, management errors or runtime errors while allocating, moving or de-allocating memory to the object.

    Abstract translation: 公开了一种用于在向应用程序的一个或多个对象动态分配,移动或分配存储器的同时减少存储器访问错误或管理错误或运行时错误的存储器和访问管理系统。 对象可以具有包含一个或多个值的数据部分和包含一个或多个指针的指针部分。 系统可以包括包含要分配给对象的存储空间的堆内存池和用于读取指针部分的处理器。 可以提供与处理器耦合的接口,用于动态地分配,移动或解除分配对象的数据部分以对堆存储器池进行碎片整理,管理或优化,并且更新包含在一个或多个指针中的数据部分的地址位置 移动数据部分,从而在分配,移动或分配内存到对象时减少存储器访问错误,管理错误或运行时错误。

    Compilation of unified parallel C-language programs
    10.
    发明申请
    Compilation of unified parallel C-language programs 有权
    统一并行C语言程序的汇编

    公开(公告)号:US20050028141A1

    公开(公告)日:2005-02-03

    申请号:US10630023

    申请日:2003-07-30

    CPC classification number: G06F8/45 G06F8/51

    Abstract: Methods, compiler apparatus and a computer program product for compiling UPC source code are disclosed. UPC-unique constructs are converted into C-level form. The C-level constructs are inserted into the source code to form a combined code. The combined code is translated into an intermediate form, wherein any surviving UPC-unique components are discarded. All UPC-unique data or statements are converted to a form that can be handled by general compiler architectures, yet retain UPC properties. The resultant intermediate form is converted to compiled machine code. The generation of C-level constructs occurs at a compiler front end module, avoiding difficulties in intermediate code handling.

    Abstract translation: 公开了用于编译UPC源代码的方法,编译装置和计算机程序产品。 UPC唯一的构造转换为C级形式。 将C级结构插入到源代码中以形成组合代码。 组合的代码被转换成中间形式,其中任何幸存的UPC唯一组件被丢弃。 所有UPC唯一的数据或语句都将转换为可由一般编译器架构处理的表单,但保留UPC属性。 所得到的中间格式转换为编译的机器代码。 C级结构的生成发生在编译器前端模块,避免了中间代码处理的困难。

Patent Agency Ranking