US2010281470A1PendingUtilityA1

Method for generating interpretable code for storage in a device having limited storage

42
Assignee: RESEARCH IN MOTION LTDPriority: Nov 29, 2002Filed: Jul 19, 2010Published: Nov 4, 2010
Est. expiryNov 29, 2022(expired)· nominal 20-yr term from priority
G06F 9/45504G06F 9/44563G06F 9/44521G06F 8/447
42
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In some embodiments of the present invention, files are generated from .java files or .class files or .jar files. The generated files are directly linkable and interpretable by a Java Virtual Machine. The generated files may be stored in a directly addressable memory of a device. References between .class files may appear in the generated files as hard offsets or symbolic references. The generated files may be grouped so that cross-references between generated files in the same group appear as hard offsets.

Claims

exact text as granted — not AI-modified
1 . A device comprising:
 a computing unit configured to execute a Java Virtual Machine; and   a memory unit directly addressable by the computing unit, the memory storing a plurality of sibling files to be linked and interpreted by the Java Virtual Machine, wherein the plurality of sibling files contain at least one class selected from a plurality of class files, wherein the plurality of sibling files comprises fewer files than the plurality of class files, and wherein each of the plurality of sibling files comprises:
 a constant pool containing entries from two or more of the plurality of class files without duplication of entries; 
 a byte code and information structure having combined byte code and information structure entries from the two or more class files; and 
 a fixup table for providing information to the Java Virtual Machine to resolve at least one entry in the sibling file at link time. 
   
     
     
         2 . The device of  claim 1 , wherein at least two of the plurality of sibling files belong to a common sibling group, and the at least two sibling files further comprise a sibling list that lists other sibling files in the common sibling group. 
     
     
         3 . The device of  claim 2 , wherein constant pool entries that are cross-references between sibling files in the common sibling group are indicated by hard offsets, and wherein constant pool entries that are references to files that are not part of the common sibling group are indicated using symbolic references. 
     
     
         4 . The device of  claim 3 , wherein the fixup table provides the location of data needed by the Java Virtual Machine to resolve a symbolic reference in at least one of the plurality of sibling files. 
     
     
         5 . The device of  claim 3 , wherein the fixup table provides the location of data of a cross-referenced sibling file needed by the Java Virtual Machine to place one of the hard offsets that corresponds to the cross-referenced sibling file into context at link time. 
     
     
         6 . The device of  claim 3 , wherein at least one of the hard offsets does not need to be resolved or put into context by the Java Virtual Machine at link time. 
     
     
         7 . The device of  claim 1 , wherein the memory imposes an upper limit on the size of each of the sibling files stored therein. 
     
     
         8 . A computer-readable storage medium for storing a plurality of sibling files to be linked and interpreted by a Java Virtual Machine, wherein the plurality of sibling files contain at least one class selected from a plurality of class files, wherein the plurality of sibling files comprises fewer files than the plurality of class files, and wherein each of the plurality of sibling files comprises:
 a constant pool containing entries from two or more of the plurality of class files without duplication of entries;   a byte code and information structure having combined byte code and information structure entries from the two or more class files; and   a fixup table for providing information to the Java Virtual Machine to resolve at least one entry in the sibling file at link time.   
     
     
         9 . The computer-readable storage medium of  claim 8 , wherein at least two of the plurality of sibling files belong to a common sibling group, and the at least two sibling files further comprise a sibling list that lists other sibling files in the common sibling group. 
     
     
         10 . The computer-readable storage medium of  claim 9 , wherein constant pool entries that are cross-references between sibling files in the common sibling group are indicated by hard offsets, and wherein constant pool entries that are references to files that are not part of the common sibling group are indicated using symbolic references. 
     
     
         11 . The computer-readable storage medium of  claim 10 , wherein the fixup table provides the location of data needed by the Java Virtual Machine to resolve a symbolic reference in at least one of the plurality of sibling files. 
     
     
         12 . The computer-readable storage medium of  claim 10 , wherein the fixup table provides the location of data of a cross-referenced sibling file needed by the Java Virtual Machine to place one of the hard offsets that corresponds to the cross-referenced sibling file into context at link time. 
     
     
         13 . The computer-readable storage medium of  claim 10 , wherein at least one of the hard offsets does not need to be resolved or put into context by the Java Virtual Machine at link time. 
     
     
         14 . The computer-readable storage medium of  claim 8 , wherein an upper limit on the size of each of the sibling files is imposed. 
     
     
         15 . A memory device comprising:
 the memory device storing a plurality of sibling files to be linked and interpreted by a Java Virtual Machine, wherein the plurality of sibling files contain at least one class selected from a plurality of class files, wherein the plurality of sibling files comprises fewer files than the plurality of class files, and wherein each of the plurality of sibling files comprises:
 a constant pool containing entries from two or more of the plurality of class files without duplication of entries; 
 a byte code and information structure having combined byte code and information structure entries from the two or more class files; and 
 a fixup table for providing information to the Java Virtual Machine to resolve at least one entry in the sibling file at link time. 
   
     
     
         16 . The device of  claim 15 , wherein at least two of the plurality of sibling files belong to a common sibling group, and the at least two sibling files further comprise a sibling list that lists other sibling files in the common sibling group. 
     
     
         17 . The device of  claim 16 , wherein constant pool entries that are cross-references between sibling files in the common sibling group are indicated by hard offsets, and wherein constant pool entries that are references to files that are not part of the common sibling group are indicated using symbolic references. 
     
     
         18 . The device of  claim 17 , wherein the fixup table provides the location of data needed by the Java Virtual Machine to resolve a symbolic reference in at least one of the plurality of sibling files. 
     
     
         19 . The device of  claim 17 , wherein the fixup table provides the location of data of a cross-referenced sibling file needed by the Java Virtual Machine to place one of the hard offsets that corresponds to the cross-referenced sibling file into context at link time. 
     
     
         20 . The device of  claim 17 , wherein at least one of the hard offsets does not need to be resolved or put into context by the Java Virtual Machine at link time. 
     
     
         21 . The device of  claim 15 , wherein the memory device imposes an upper limit on the size of each of the sibling files stored therein.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.