Claims
- 1. In a Java computing environment, a Java macro instruction representing:
a sequence of Java Bytecode instructions in a Java programming loop; wherein said Java macro instruction can be executed by a Java virtual machine operating in said Java computing environment, and wherein, when said Java macro instruction is executed, the operations that are performed by said conventional sequence of Java Bytecode instructions are performed.
- 2. A Java macro instruction as recited in claim 1, wherein said sequence is a conventional Java Bytecode sequence which includes a conventional conditional flow control instruction.
- 3. A Java macro instruction as recited in claim 1, wherein said Java macro instruction is generated during the Java Bytecode verification phase.
- 4. A Java macro instruction as recited in claim 1, wherein said Java virtual machine internally represents Java instructions as a pair of streams.
- 5. A Java macro instruction as recited in claim 4,
wherein said pair of streams includes a code stream and a data stream, wherein said code stream is suitable for containing a code portion of said Java macro instruction, and wherein said data stream is suitable for containing a data portion of said Java macro instruction.
- 6. A Java macro instruction as recited in claim 5,
wherein said Java macro instruction is generated only when said virtual machine determines that said Java macro instruction should replace said sequence.
- 7. A Java macro instruction as recited in claim 6, wherein said
determination is made based on a predetermined criteria.
- 8. A Java macro instruction as recited in claim 7, wherein said
predetermined criteria is whether said sequence has been repeated more than a predetermined number of times.
- 9. In a Java computing environment, a Java macro instruction representing:
a sequence of Java Bytecode instructions in a Java programming loop, wherein said sequence of Java Bytecode instructions are in a reduced set of virtual machine instructions suitable for execution in a virtual machine, the reduced set of virtual machine instructions representing a number of corresponding Java Bytecode executable instructions that are also suitable for execution in the virtual machine, wherein the set of the virtual machine instructions consists of a number of virtual machine instructions which is less than the number of the corresponding Java Bytecode executable instructions, and wherein every one of the corresponding Java Bytecode executable instructions can be represented by at least one of the virtual machine instructions in the virtual machine instruction set.
- 10. A Java macro instruction as recited in claim 9, wherein said Java macro instruction is generated during the Java Bytecode verification phase.
- 11. A Java macro instruction as recited in claim 9,
wherein said Java macro instruction is generated only when said virtual machine determines that said Java macro instruction should replace said sequence.
- 12. A Java macro instruction as recited in claim 11, wherein said determination is made based on a predetermined criteria.
- 13. A Java macro instruction as recited in claim 12, wherein said predetermined criteria is whether said sequence has been repeated more than a predetermined number of times.
- 14. A Java macro instruction as recited in claim 9, wherein the number of virtual machine instructions is about 30 to 50 percent of the number of the corresponding Java Bytecode executable instructions.
- 15. A computer readable media including computer program code for a Java macro instruction, said Java macro instruction representing:
a sequence of Java Bytecode instructions in a Java programming loop, wherein said sequence of Java Bytecode instructions are in a reduced set of virtual machine instructions suitable for execution in a virtual machine, the reduced set of virtual machine instructions representing a number of corresponding Java Bytecode executable instructions that are also suitable for execution in the virtual machine, wherein the set of the virtual machine instructions consists of a number of virtual machine instructions which is less than the number of the corresponding Java Bytecode executable instructions, and wherein every one of the corresponding Java Bytecode executable instructions can be represented by at least one of the virtual machine instructions in the virtual machine instruction set.
- 16. A computer readable media as recited in claim 15, wherein said Java macro instruction is generated during the Java Bytecode verification phase.
- 17. A computer readable media as recited in claim 16, wherein said Java macro instruction is generated only when said virtual machine determines that said Java macro instruction should replace said sequence.
- 18. A computer readable media as recited in claim 17, wherein said determination is made based on a predetermined criteria.
- 19. A computer readable media as recited in claim 18, wherein said predetermined criteria is whether said sequence has been repeated more than a predetermined number of times.
- 20. A computer readable media as recited in claim 19, wherein the number of virtual machine instructions is about 30 to 50 percent of the number of the corresponding Java Bytecode executable instructions.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to concurrently filed U.S. patent application Ser. No. ______ entitled “FRAMEWORKS FOR GENERATION OF JAVA MACRO INSTRUCTIONS IN JAVA COMPUTING ENVIRONMENTS,” (Atty. Docket No. SUN1 P828/P6116) which is hereby incorporated herein by reference for all purposes.
[0002] This application is related to concurrently filed U.S. patent application Ser. No. ______ entitled “FRAMEWORKS FOR GENERATION OF JAVA MACRO INSTRUCTIONS FOR INSTANTIATING JAVA OBJECTS,” (Atty. Docket No. SUN1P839/P6719) which is hereby incorporated herein by reference for all purposes.
[0003] This application is related to concurrently filed U.S. patent application Ser. No. ______ entitled “FRAMEWORKS FOR GENERATION OF JAVA MACRO INSTRUCTIONS FOR STORING VALUES INTO LOCAL VARIABLES,” (Atty. Docket No. SUN1P842/P6723) which is hereby incorporated herein by reference for all purposes.
[0004] This application is related to U.S. patent application Ser. No. 09/819,120, filed Mar. 27, 2001 (Att.Dkt.No. SUN1P811/P5512), entitled “REDUCED INSTRUCTION SET FOR JAVA VIRTUAL MACHINES,” and hereby incorporated herein by reference for all purposes.
[0005] This application is related to U.S. patent application Ser. No. 09/703,449, filed Oct. 31, 2000 (Att.Dkt.No. SUN1P814/P5417), entitled “IMPROVED FRAMEWORKS FOR LOADING AND EXECUTION OF OBJECT-BASED PROGRAMS,” which is hereby incorporated herein by reference for all purposes.
[0006] This application is related to U.S. patent application Ser. No. 09/820,097, filed Mar. 27, 2001 (Att.Dkt.No. SUN1P827/P6095), entitled “ENHANCED VIRTUAL MACHINE INSTRUCTIONS,” which is also hereby incorporated herein by reference for all purposes.