Data processing: software development – installation – and managem – Software program development tool – Programming language
Reexamination Certificate
2006-02-07
2006-02-07
Nguyen-Ba, Antony (Department: 2192)
Data processing: software development, installation, and managem
Software program development tool
Programming language
C717S148000, C717S151000, C711S118000, C707S793000
Reexamination Certificate
active
06996804
ABSTRACT:
A method and computer system that implements polymorphic inline caches having locking slots. Each time the polymorphic method is called having a new object type, a new slot in the polymorphic inline cache is created. By comparing the object types of new methods with object type values already in the cache, it can readily be determined if a new slot has to be created to accommodate a new object type. Preferably, if two threads wish to access the polymorphic inline cache at the same time, the second thread will wait until the first thread accesses and creates and/or uses its slot because it is likely that the second thread will call the method of the same type. Altematively, the second thread may access and create and/or use another slot of the polymorphic inline cache because the first slot is locked to all objects other than its type.
REFERENCES:
patent: 5864864 (1999-01-01), Lerner
patent: 6151618 (2000-11-01), Wahbe et al.
patent: 6182177 (2001-01-01), Harriman
patent: 6247025 (2001-06-01), Bacon
patent: 6370687 (2002-04-01), Shimura
Holzle et al., “Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches”, In Proceedings of the 5th European Conference on Object-Oriented Programming—ECOOP '91, volumn 512 of Lecture Notes in Computer Science, 1991.
Lee et al. “Reducing Virtual Call Overheads in a Java VM Just-in-Time Compiler”, the 4th Annual Workshop on Interaction between Compilers and Computer Architectures, pp. 21-33, 2000.
Dolby et al., “An evaluation of automatic object inline allocation techniques”, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp.: 1-20 , 1998.
Ishizaki et al., “A study of devirtualization techniques for a Java Just-In-Time compiler”, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, pp.: 294-310 , 2000.
Holzle et al., “Optimizing dynamically-dispatched calls with run-time type feedback”, In Proceedings of the 1994 ACM SIGPLAN conference on Programming Language Design and Implementation, 1994.
Lindholm-Yellin, The JAVA Virtual Machine Specification, Sep. 20, 1996, Addison-Wesley, 7.1, 8.12, 8.13, 8.14.
Sun MicroSystems, Inc., The JAVA Language: An Overview, Feb. 12, 2001, Sun Microsystems, Inc., http://java.sun.com/docs/overviews/java/java-overview-1.html.
Gosling-McGilton, The Java Language Environment: Contents, White Paper, May 1996, Sun Microsystems, Inc.
Doudnikoff Gregory M.
Nguyen-Ba Antony
Winstead Sechrest & Minick
LandOfFree
Adapting polymorphic inline caches for multithreaded computing does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Adapting polymorphic inline caches for multithreaded computing, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Adapting polymorphic inline caches for multithreaded computing will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3628545