Frameworks for invoking methods in virtual machines

Electrical computers and digital processing systems: virtual mac – Virtual machine task or process management

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C719S316000, C719S332000, C718S107000

Reexamination Certificate

active

06901591

ABSTRACT:
Improved frameworks for implementing class files that are particularly useful in virtual machine based computing systems will be described. In one aspect of the invention, each method within a class file is associated with a corresponding “reference cell.” The reference cells typically include sufficient information to facilitate the invocation of the corresponding method. By way of example, each reference cell may include a class pointer field, a method name field, a signature field and potentially other fields. In another aspect of the invention, a process for loading class files into a virtual machine based computing system is described. Each method invocation within the class file is translated into an internal invocation that references a reference cell associated with the internal class representation that contains the method. The use of such reference cells has the potential in many circumstances to improve the performance of the virtual machine as well as potentially reduce the memory requirements of the internal class representations. In yet another aspect of the invention, each method invocation in a class file is reviewed during loading to determine whether a reference cell currently exists for its associated method. When it is determined that a reference cell does not currently exist for a method associated with a selected method invocation, a new reference cell is created for the selected method. The newly created reference cell is then associated with the internal class representation that contains the method (which may or may not be different than the internal class representation that contains the method invocation). In some embodiments, the class file is an internal class representation that represents a Java class and does not include a Constant Pool.

REFERENCES:
patent: 4086626 (1978-04-01), Chung
patent: 4910731 (1990-03-01), Sakurai et al.
patent: 5418964 (1995-05-01), Conner et al.
patent: 5815718 (1998-09-01), Tock
patent: 5899997 (1999-05-01), Ellacott
patent: 5920720 (1999-07-01), Toutonghi et al.
patent: 6003038 (1999-12-01), Chen
patent: 6072953 (2000-06-01), Cohen et al.
patent: 6081665 (2000-06-01), Nilsen et al.
patent: 6096095 (2000-08-01), Halstead
patent: 6151618 (2000-11-01), Wahbe et al.
patent: 6151703 (2000-11-01), Crelier
patent: 6163780 (2000-12-01), Ross
patent: 6202208 (2001-03-01), Holiday, Jr.
patent: 6205578 (2001-03-01), Grove
patent: 6292883 (2001-09-01), Augusteijn et al.
patent: 6317872 (2001-11-01), Gee et al.
patent: 6330709 (2001-12-01), Johnson et al.
patent: 6332215 (2001-12-01), Patel et al.
patent: 6338160 (2002-01-01), Patel et al.
patent: 6339841 (2002-01-01), Merrick et al.
patent: 6372286 (2002-04-01), Azuma et al.
patent: 6434694 (2002-08-01), Slaughter et al.
patent: 6442753 (2002-08-01), Gerard et al.
patent: 6446084 (2002-09-01), Shaylor et al.
patent: 6496871 (2002-12-01), Jagannathan et al.
patent: 6553565 (2003-04-01), Click et al.
patent: 6557023 (2003-04-01), Taivalsaari
patent: 6557054 (2003-04-01), Reisman
patent: 6571388 (2003-05-01), Venkatraman et al.
patent: 6584612 (2003-06-01), Mueller et al.
patent: 6643711 (2003-11-01), Bracha et al.
patent: 6704803 (2004-03-01), Wilson et al.
patent: 6738977 (2004-05-01), Berry et al.
patent: 0 996 059 (2000-04-01), None
Chang, Da-Wei et al., “EJVM: an economic Java run-time environment for embedded devices”,Software Practice and Experience, 2001, John Wiley & Sons, vol. 31, No. 2, pp. 129-146. XP-000987539.
Gosling, James et al., “The Java™ Language Specification”, 1996,The Java™ Language Specification, Chapter 12 Execution, pp. 215-236. XP-002032923.
Lindholm et al., “The Java™ Virtual Machine Specification—Second Edition”, 1999,Addison-Wesley, pp. 117-132. XP-002254151.
Qian, Zhenyu et al., “A Formal Specification of Java™ Virtual Machine Instructions”, 1997,Technical Report, Universität Bremen,pp. 1-32. XP-002255760.
Robert Griesemer, entitled “Utilizing a Program Counter With One or More Data Counters For Executing Instructions,” U.S. Appl. No. 09/107,939, filed Jun. 30, 1998.
Lindholm et al., “The Java Virtual Machine Specification”, Sep. 1996.
Case B: “Implementing The Java Virtual Machine Java's Complex Instruction Set Can Be Built in Software or Hardware,” Microprocessor Report, vol. 10, No. 4, Mar. 25, 1996, pp. 12-17.
McNeley KJ et al., “Emulating a Complex Instruction Set Computer With a Reduced Instruction Set Computer,” IEEE Micro, IEEE Inc. New York, US, vol. 7, No. 1, Feb. 1987, pp. 60-71.
Jean-Paul Billon, “JEFFWEG4 (J Executable File Format), Release 1.0 Achievements, Sep. 29, 2000,” J Consortium Jeff Working Group, Online! Feb. 22, 2001, p. 1-24.
Jean-Paul Billon, “Executable File Format (JEFF) Specification, Draft,” J Consortium Jeff Working Group, Online! Feb. 22, 2001, p. 1-43.
Patrice Pominville, “Annotating Java Bytecode,” Project Report, McGill University, Online, Apr. 2000, pp. 1-7.
Matt T. Yourst, “Inside Java Class Files,” Dr. Dobb's Journal, Jan. 1998.
Hummel et al., “Annotating the Java bytecodes in support of optimization,” Concurrency: Practice and Exprerience, John Wiley and Sons, vol. 9(11), Nov. 1997, pp. 1003-1016.
Markus Dahm, “Byte Code Engineering” Freie University Berlin, 1999.
Meyer et al., “Java Virtual Machine” O'Reilly & Associates, Inc., 1997.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Frameworks for invoking methods in virtual machines does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Frameworks for invoking methods in virtual machines, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Frameworks for invoking methods in virtual machines will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3395668

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.