Patents by Inventor Grzegorz Czajkowski

Grzegorz Czajkowski has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7526760
    Abstract: A method for implementing virtual method invocation when a compiled code of an invoked method is shared between class types that share a runtime representation is provided. In this method, an entry of an inline cache is set to a reference to an object. Subsequently, instructions for calling code are modified and the inline cache is set to be in one of an unresolved state, a monomorphic state, a shared monomorphic state, or a megamorphic state. A computer readable medium and a system for implementing virtual method invocation are also described.
    Type: Grant
    Filed: November 5, 2004
    Date of Patent: April 28, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski
  • Patent number: 7406687
    Abstract: A computer implemented process for making a bytecode of a method sharable by a first class loader and a second class loader is provided. The first class loader and the second class loader are capable of dynamically loading a class having a class file, and translating the class file into first and second class types, respectively. The process includes dividing a runtime representation of the first class type into first loader independent and first loader dependent parts and determining whether a runtime representation of the second class type can use the first loader independent part. If the first loader independent part can be used by the runtime representation of the second class type, the process includes generating a second loader dependent part using the first loader independent part. Further included is performing a loader re-entrant interpretation of a bytecode of the method if the method is invoked.
    Type: Grant
    Filed: March 17, 2004
    Date of Patent: July 29, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski
  • Publication number: 20080126781
    Abstract: Disclosed techniques ensure that isolates that are attached to a shared object region will see appropriate class states. In response to an isolate's attempt to instantiate, in such a region, an object that is an instance of a particular class, a bootstrap class' identity is added to that region's bootstrap class list. In response to an isolate's attempt to attach to the region, each class that is both (a) in the region's associated bootstrap class list, and (b) not yet initialized for that isolate, is initialized for that isolate. Thus, those bootstrap classes are seen by that isolate as being in the “initialized” state. In response to an isolate's addition of a particular bootstrap class to the region's list of dependent bootstrap classes, the particular bootstrap class is initialized for each of the isolates attached to the region and for which the bootstrap class is not initialized yet.
    Type: Application
    Filed: September 19, 2006
    Publication date: May 29, 2008
    Inventors: Grzegorz Czajkowski, Laurent Daynes, Michal Wegiel
  • Patent number: 7316010
    Abstract: A method for conditionally sharing dynamically compiled code between different class loaders is provided. In this method, bytecodes of a first class type are compiled into a compiled code if the bytecodes have not been compiled. The locations of sequence of instructions in the compiled code that are loader dependent are then recorded. Thereafter, the loader dependencies in the compiled code are compared to determine whether the compiled code can be used by a method of a second class type. If the loader dependencies of the second class type are different from the loader dependencies of the first class type, the compiled code for the method of the first class type is cloned. Subsequently, portions of the cloned code that are loader dependent are modified to enable the method of the second class type to use the cloned code.
    Type: Grant
    Filed: May 26, 2004
    Date of Patent: January 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski
  • Publication number: 20070288682
    Abstract: The present invention relates to computer systems and methods for providing a memory buffer for use with native and platform-independent software code. In a particular embodiment, the method includes providing a first software program compiled to platform-independent code for execution in a first process of the computer system, providing a second software program compiled to native code for execution in a second process of the computer system, and sending a message from the first process to the second process to request a memory buffer. In another particular embodiment, the computer system includes a processor and a memory. The computer system includes a first process to execute a first software program coded in a safe language, a second process to execute a second software program coded in an unsafe language, and an inter-process communication mechanism that allows data message communication between the first process and the second process.
    Type: Application
    Filed: March 22, 2007
    Publication date: December 13, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Grzegorz Czajkowski, Laurent Daynes
  • Publication number: 20070245331
    Abstract: System and method for supporting per-program classpath and class sharing in a multi-tasking virtual machine. A virtual machine may allow each program to specify its classpath independently of other programs classpaths. Tasks that specify identical classpaths for their respective class loaders may share the runtime representation of classes. A multi-tasking virtual machine may generate and compare canonical forms of classpaths to determine which programs may share classes with each other. The runtime representation of a class may be split between shared and private portions of the runtime representation. A shared runtime representation may be associated with multiple private runtime representations. In one embodiment, unique class loader keys and a system dictionary may be used to associate tasks, class loaders and the shared representations of classes.
    Type: Application
    Filed: April 12, 2006
    Publication date: October 18, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski
  • Publication number: 20070234322
    Abstract: A dynamic delegation chain of executor objects can, at runtime, adapt code units to be executed as isolated computations prior to their execution to comport with current state of an environment. A dynamic delegation chain performs the dynamic runtime adaptation of the code unit in accordance with isolated computations that host the executor objects of the delegation chain. Adapting a code unit prior to execution of the code unit allows adaptation of the code unit to a current state, as well as at least reducing concerns of program integrity.
    Type: Application
    Filed: March 2, 2006
    Publication date: October 4, 2007
    Inventors: Krzysztof Palacz, Grzegorz Czajkowski, Laurent Daynes
  • Publication number: 20060259906
    Abstract: Combining different resource types into a single logical resource can provide a perspective more suitable for managing a given computer program. Resources of different types that have similar characteristics are combined as a single resource type. Resource management policies are applied against the different resource types via the single combination resource type, wherein on a single computer or applied against a cluster of computers.
    Type: Application
    Filed: May 10, 2005
    Publication date: November 16, 2006
    Inventors: Grzegorz Czajkowski, Glenn Skinner, Laurent Daynes
  • Patent number: 6675375
    Abstract: In general, the invention relates to a method for optimized execution of a computer program including detecting a preservable static field in said computer program with a compiler, comprising detecting at least one selected from the group consisting of a getstatic instruction and a putstatic instruction, annotating said preservable static field to create an annotation indicating whether said field is preservable, compiling said computer program to produce an output using said annotation, wherein said output includes information about said field, encoding said output if backward compatibility is required, loading said output, and executing said output in an environment.
    Type: Grant
    Filed: April 28, 2000
    Date of Patent: January 6, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Grzegorz Czajkowski
  • Patent number: 6594749
    Abstract: A system and method for memory allocation from a heap comprising memory blocks of a uniform fixed size. Each memory block has a status bit. A binary status key stores a Boolean value indicating free memory. The heap is scanned in order until a sequence of a requested quantity of free contiguous memory blocks is found or NULL is returned. Each scanned free memory block is marked un-free by assigning its status bit to the logical negative of the binary status key. If the end of the heap is reached before a sequence of sufficient quantity is found, all reachable blocks are marked as free. The binary status key is flipped such that all memory blocks which were marked free are now un-free, and vice versa. Any memory block whose corresponding structure has become unreferenced is reclaimed for future use. The scan then continues from the beginning of the heap. In another embodiment, a memory allocation for a partitioned data structure from a heap of fixed-size memory blocks may be used.
    Type: Grant
    Filed: May 19, 2000
    Date of Patent: July 15, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Grzegorz Czajkowski
  • Patent number: 6453403
    Abstract: A system and method for memory allocation from a heap comprising memory blocks of a uniform fixed size. Each memory block has a status bit. A binary status key stores a Boolean value indicating free memory. The heap is scanned in order until a sequence of a requested quantity of free contiguous memory blocks is found or NULL is returned. Each scanned free memory block is marked un-free by assigning its status bit to the logical negative of the binary status key. If the end of the heap is reached before a sequence of sufficient quantity is found, all reachable blocks are marked as free. The binary status key is flipped such that all memory blocks which were marked free are now un-free, and vice versa. Any memory block whose corresponding structure has become unreferenced is reclaimed for future use. The scan then continues from the beginning of the heap. In another embodiment, a memory allocation for a partitioned data structure from a heap of fixed-size memory blocks may be used.
    Type: Grant
    Filed: May 19, 2000
    Date of Patent: September 17, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Grzegorz Czajkowski