Patents Examined by Than Q. Dam
  • Patent number: 6308322
    Abstract: The present invention efficiently and accurately predicts indirect branch target addresses in computer code, thereby significantly increasing processing speed. According to the present invention, an optimizing compiler inserts indirect branch target address hints in advance of their corresponding indirect branches, thereby allowing the processor time to execute and utilize the hints. The present invention avoids the processor pipeline flushes associated with previous hardware solutions by allowing more accurate prediction of indirect branch target addresses. In addition, the present invention is not dependent upon having a large cache memory associated with the microprocessor or repeatedly encountering the same indirect branch within a certain preset period of time. Moreover, the present invention avoids the performance and compile time problems of the software solutions of the prior art by maintaining the indirect branch constructs.
    Type: Grant
    Filed: April 6, 1999
    Date of Patent: October 23, 2001
    Assignee: Hewlett-Packard Company
    Inventors: Steven Serocki, Anne Marie Holler
  • Patent number: 6275986
    Abstract: A compiler extension for the compile-time verification of programmer-defined data dependencies. The compiler extension provides for a check statement which takes as an argument a data-verification expression. The data-verification expression has a predetermined value when the programmer-defined data dependency is conformed to in the program. A compile-time error is generated if the data-verification expression does not have the predetermined value on the compilation of the check statement. The successful compilation of the check statement does not result in run-time code or run-time data allocation occurring.
    Type: Grant
    Filed: May 20, 1999
    Date of Patent: August 14, 2001
    Assignee: International Business Machines Corporation
    Inventor: Graham W. Ewart
  • Patent number: 6173441
    Abstract: A system and method for compiling source code comprising natural language declarations, natural language method calls, and natural language control structures into computer-executable object code is disclosed. The system and method allow the compilation of source code containing both natural language and computer language into computer-executable object code. The system and method use a component database, containing components and associated natural language instructions, to select one or more components having an instruction declaration associated with the natural language instruction. A solution manager is used to resolve ambiguities inherent in the use of natural language instructions in the source code.
    Type: Grant
    Filed: October 16, 1998
    Date of Patent: January 9, 2001
    Inventor: Peter A. Klein
  • Patent number: 5983018
    Abstract: A microcomputer for checking a flag in a flag circuit to determine whether or not to decrement a count of a program counter. If the flag indicates execution of a STOP instruction, the program counter value is decremented so that the address of a destination to return to at the end of debug interrupt handling is replaced by the address of the STOP instruction. If the flag gives any other indication, the program counter value is used unchanged as the return destination address that will be in effect at the end of debug interrupt handling.
    Type: Grant
    Filed: May 12, 1998
    Date of Patent: November 9, 1999
    Assignee: Mitsubishi Denki Kabushiki Kaisha
    Inventor: Teruaki Kanzaki
  • Patent number: 5974253
    Abstract: This invention concerns an interactive interface description tool that uses an interpreted language in which both the data and the programs have a similar representation. This tool also has an interpreter that is embedded with the interface description program. This interpreter consists of a mixture of "C" language and interpreted language instructions and uses a library ("X/MOTIF") of interactive command objects ("widget") and a library of graphical objects ("GO").
    Type: Grant
    Filed: September 24, 1997
    Date of Patent: October 26, 1999
    Assignee: Bull S.A.
    Inventors: Colas Nahaboo, Vincent Bouthors
  • Patent number: 5913064
    Abstract: A method for generating code for an object-oriented processor is disclosed. An instruction table is initialized to include a plurality of instructions for an object-oriented processor, each of the plurality of instructions having a set of operands and an operand type for each of the set of operands. In addition, a weighting table is initialized to include a set of the plurality of instructions and a weight for each of the set of the plurality of instructions, the weight indicating frequency of generation for a particular instruction. A class hierarchy is created, the class hierarchy having a plurality of classes stored in a tree data structure, each of the plurality of classes having a set of fields and a set of methods, each of the plurality of classes, each of the set of fields, and each of the set of methods having object-oriented properties. Within the class hierarchy, a set of objects is randomly generated for each of the plurality of classes.
    Type: Grant
    Filed: June 24, 1997
    Date of Patent: June 15, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Chi-Chung K. Chen
  • Patent number: 5812852
    Abstract: A software-implemented method for dynamically and statically privatizing global storage objects in parallel computer programs written in various programming languages. Privatization is accomplished via transformation of these parallel computer programs under the control of a general purpose computer. The privatization method is system-independent and is portable across various computer architectures and platforms since privatization is accomplished via program transformation; thus, the method does not depend on the features of a particular hardware architecture or configuration, operating system, compiler, linker, or thread environment. The inputs to the method are a parallel computer program, comprising parallel regions of execution and global storage objects, and a privatization specification describing the global storage objects to be privatized and the particular parallel regions, and manner, in which each of these objects is to be privatized.
    Type: Grant
    Filed: November 14, 1996
    Date of Patent: September 22, 1998
    Assignee: Kuck & Associates, Inc.
    Inventors: David K. Poulsen, Paul M. Petersen, Sanjiv M. Shah
  • Patent number: 5764521
    Abstract: An improved extrusion-based manufacturing system includes one or more extruders, with each extruder containing at least two stages of increasing pressurization. In a preferred embodiment, a first stage of pressurization is created by the motion of a solid wafer of thermoplastic through an orifice into a heater chamber. In another preferred embodiment, the wafers are stored in removable, electronically tagged, cassettes and are removed therefrom by a stapler mechanism which feeds the wafers from the cassette to a tractor feed mechanism on demand. In each embodiment, a second stage of pressurization is provided by a pump, with the first stage pressurization maintaining a flow of thermoplastic to the pump under all expected pump rates.
    Type: Grant
    Filed: November 13, 1995
    Date of Patent: June 9, 1998
    Assignee: Stratasys Inc.
    Inventors: John Samuel Batchelder, Robert R. Jackson