Abstract: A method of memory disambiguation hardware to support software binary translation is provided. This method includes unrolling a set of instructions to be executed within a processor, the set of instructions having a number of memory operations. An original relative order of memory operations is determined. Then, possible reordering problems are detected and identified in software. The reordering problem being when a first memory operation has been reordered prior to and aliases to a second memory operation with respect to the original order of memory operations. The reordering problem is addressed and a relative order of memory operations to the processor is communicated.
Type:
Grant
Filed:
March 30, 2012
Date of Patent:
September 2, 2014
Assignee:
Intel Corporation
Inventors:
Muawya M. Al-Otoom, Paul Caprioli, Abhay S. Kanhere, Arvind Krishnaswamy, Omar M. Shaikh
Abstract: Identifying conflicting declared invalid runtime references of overlaid data structures of a shared memory area as declared in a program listing. The identifying includes identifying a first data structure and a first parameter list in the program listing. A first routine call and a sequential flow of execution of the first routine call through the program listing in order to write data to the shared memory area are identified. A second data structure and a second parameter list in the program listing are identified. A second routine call and a second sequential flow of execution of the second routine call through the program listing in order to write data to the shared memory area are identified. It is determined whether the second routine call is attempting to overwrite data of the first routine call with the data of the second routine call in the shared memory area.
Type:
Grant
Filed:
November 9, 2011
Date of Patent:
May 27, 2014
Assignee:
International Business Machines Corporation
Inventors:
Edward A. Addison, Peggy A. DeVal, Philip R. Lee, Andrew Wright
Abstract: A system and method for refactoring one or more call sites based on a revised signature. If the original call site is ordered, the refactored call site is generated by sorting the arguments based on the revised signature. Each unnamed argument is selectively changed to a named argument based on whether it is preceded by a named argument and whether its index value matches the index value of its corresponding parameter in the revised signature. If the original call site is unordered, the arguments preceding the first named argument are ordered. New arguments corresponding to new parameters are added and selectively made to be named arguments. New optional arguments may be included or omitted from the refactored call site.
Abstract: The present invention allows a user to graphically define a hierarchy of user-defined, executable classes of graphical objects that can be implemented in a graphical model. The present invention supports the features of inheritance, abstraction and polymorphism. Further, descendant classes of graphical objects can graphically extend the behavior and/or structure of ancestor classes of graphical objects.
Type:
Grant
Filed:
August 3, 2007
Date of Patent:
April 24, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Paul F. Kinnucan, Jr., Pieter J. Mosterman, Ebrahim Mehran Mestchian
Abstract: Methods and systems are described herein for extending configuration dependent extensible software programs. Classes of a core extensible software program may be extended by adding a configuration dependent extension. The extensions may be added statically prior to compiling the core version of a software program or dynamically at runtime. The declaration of extensible core classes may include an extensibility attribute with an indication of whether the class is statically extensible or dynamically extensible. An object description language is also described herein for appropriately declaring configuration dependent extensible classes. Also, a pre-processor is described herein for processing the object description language to generate a source code representation of the extensible class declarations and their extensions. The source code representation may then be used to generate the extended version of the core software program.
Type:
Grant
Filed:
July 23, 2003
Date of Patent:
December 4, 2007
Assignee:
Microsoft Corporation
Inventors:
Julian Burger, David Read Tarditi, Jr., Charles L. Mitchell, Andrew Edward Ayers, Vinod K. Grover