WO1999049392A1 - Systeme d'execution java avec regroupement constant modifie - Google Patents
Systeme d'execution java avec regroupement constant modifie Download PDFInfo
- Publication number
- WO1999049392A1 WO1999049392A1 PCT/IB1998/001799 IB9801799W WO9949392A1 WO 1999049392 A1 WO1999049392 A1 WO 1999049392A1 IB 9801799 W IB9801799 W IB 9801799W WO 9949392 A1 WO9949392 A1 WO 9949392A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- constant pool
- linking
- information
- offset
- package
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Definitions
- the present invention concerns dynamic code down load and linking in resource constraint Java runtime environments, such as in JavaCards for example.
- references to class structures are resolved using indirect name lookup via a so-called constant pool.
- Such an approach can only be used in a system providing sufficient resources in terms of processing power and internal resources.
- Fig. 1 illustrates the linking with the JavaSoft proposed cap file format.
- Fig. 2 illustrates the linking by offset with the herein proposed file format.
- Fig. 3 illustrates the linking by name with the herein proposed file format.
- Java is a programming language and environment developed by Sun Microsystems, Inc. 2550 Garcia Ave., Mountain View, CA 94043-1100, USA; the term "Java” is a trademark of this company.
- Java-Card Virtual machine herein referred to as Java-Card VM, is different in several aspects since only a subset and additional bytecodes are used.
- the CAP file format as proposed by JavaSoft, divides a cap file into several sections.
- a cap file basically contains a text and a data section.
- the text section contains the class structures, method structures and the bytecode instructions.
- the data section contains the static fields of the cardlet.
- the text section references all symbols (classes, methods etc.) whose actual addresses are not known before link time via an offset into the constant pool. For every such symbol the - 3 -
- constant pool contains the AID for the target package and the offset of that symbol in that target package (i.e. the package being linked against).
- the constant pool provides these offsets for all imported symbols (the symbols defined in other packages) and for all exported symbols (the symbols defined and accessed within the cardlet being loaded).
- the organization of the text section, data section and constant pool provides sufficient information for executing a cardlet.
- the linker could step through the constant pool and replace the offsets of the symbols into their target packages with their real addresses.
- the linker merely has to look up the specific package by the given AID, add its start address to the symbol offset and store this information back into the constant pool.
- the Java-Card VM then can use these addresses in the constant pool for the interpretation.
- the constant pool itself is not needed at runtime. In fact, it would require one additionally unnecessary indirection to find the address of a symbol during the interpretation.
- the constant pool takes up space on the card unnecessarily.
- the JavaSoft cap file format therefore uses fixup tables for the individual sections to remove the requirement for the constant pool after linking.
- the fixup table contains all the positions in the text section where a relocation has to take place.
- the linker walks through the fixup table and takes the offset at that position into the constant pool. Then it resolves the address of that symbol and stores it at the original position in the text section.
- the inter- preter can then directly use these addresses at runtime and therefore the constant pool can be removed after the linking process.
- the only sections remaining on the card after the link process are the text and data sections.
- the following invention extends upon the ideas of the current JavaSoft proposal and enhances it by an additional lightweight and flexible symbolic linking mechanism.
- the cap file format according to the present invention also divides the cap file into different sections.
- the text section contains the class structures, method structures and bytecode instructions, the data section again the static fields.
- the cap file also maintains the necessary relocation information in fixup tables. There is one fixup table for every package the cardlet is linked to (i.e. the target package).
- the fixup table again contains the position in the text or data section where a relocation has to take place.
- these places are also relocated by a precalculated offset into trusted and well known target packages.
- the linker will look up the start address of the package with the given Target AID, add the offset into the target package and store that value at the original position in the text section.
- the offset into the target package can be kept either in the fixup table or in the text section at the relocation address to keep the fixup table smaller.
- the relocation by offset can always be used for most of the references within the loaded cardlet itself.
- the converter is permitted to precalculate these offsets without breaking compatibility.
- references to other external packages should not be linked by precalculated offsets. Instead, a name or identifier should be used for references to other packages during the link process. These names and their associated values must only be stored on the card for packages which are shared between multiple applets. As these tables of name/value pairs should be as small as possible, this cap file format restricts the naming of class file elements, but still provides the possibility of vendor specific implementations of different specifications:
- instance fields The number and types of instance fields in a class are not usually defined by specifications and will vary between the implementations of different vendors. Therefore the binding of field offsets must be addressed by a the CAP file format proposal.
- the usage of fields regarding the link process can be separated into the following three categories: ⁇ precalculated field offsets A get-/put-f ⁇ eld instruction references a field whose class and all superclasses are defined in the containing cardlet. The offset of this field can then be precalculated by the converter and need not be linked during the load process. If there is an agreement that the Object class does not contain any field declarations a lot of field accesses will fall under this category. ⁇ access to fields of cardlet-internal classes with any cardlet-external superclass(es)
- the converter can calculate the offset of the field - 6 -
- instance fields are rarely declared as public, they are often declared as protected.
- the access to protected fields could always be granted by specifying protected set-/-get-field methods, but the proposed cap file format also allows a direct access to such protected or public declared fields.
- a package which exports a protected or public instance field must contain a name and the offset for such a field to allow for symbolic linking.
- a package which exports classes, methods or fields contains a constant pool whose entries contain the type (class etc.), the name and the value for that symbol.
- the names for the associated symbols can be easily specified.
- the symbols can be numbered from 0 to n and can be handed out together with a specification of the application programming interface (API).
- API application programming interface
- the imple- mentor of such a specification is still able to export additional classes etc. by choosing new names beginning from n + 1.
- Figure 3 shows the symbolic binding of an applet against a target package.
- the entries in the fixup table contain the type of the relocation (see below), an offset into the text section where to relocate to, and the name of the symbol (which for space-efficiency might also be stored at the position to relocate). With the proposed naming scheme the name can be used as an index into the constant pool of the target package.
- the entries in the constant pool contain the type of the entry, the name and the associated value.
- the linker relocates the entries in the fixup table depending on the type of the entry: • A method has to be relocated:
- the constant pool item of the target package with the given name must be a method type.
- the value must be an offset into the target package where the method is defined.
- the linker calculates the address of the method and fixes the text section at the given offset. - 7 -
- a class has to be relocated: same as above, except that the constant pool item with the symbol index and name must be a class type.
- a static field has to be relocated: same as above, except that the constant pool item with the symbol index and name must be a static field type, the value is an offset into the data section of the package.
- a relative instance field offset or a relative class instance size value must be relocated: The constant pool item of the target package with the given name must be a class type.
- the linker calculates the address of the target class and gets the instance size of the class (the latter is an element of the class structure). The linker adds the instance size to the value given at the text section offset and replaces the latter with the sum.
- the constant pool item of the target package with the given name must be an instance field type.
- the value of that item is the absolute offset of that field in an instance of its class.
- the linker relocates their entries in the constant pool, too. Their real offsets are relocated in the same manner as relative instance field offsets.
- the fixup tables can be removed once the link process is finished. Applets do not need a constant pool, only packages which can be shared between multiple applets need the constant pool for future usage.
- the size of the constant pool depends on the number of exported items and on the size of an item.
- a constant pool for the current JavaCard system classes takes currently about 160 items.
- a constant pool item contains a type field, a name and a value which can be stored in 4 bytes (with the proposed naming scheme this could even be reduced to three bytes). This results in a constant pool size of 720 bytes for all system classes. - 8 -
- cap file format according to the present invention can be extended in a safe manner in this direction:
- a package or applet does not only contain a version number but also a vendor id (or implementation id).
- the entries in the fixup tables which reference constant pool items also contain the offsets which the converter could calculate during conversion time •
- the loader checks if the packages which are required by the applet are from the same vendor (e.g. the same implementation) as the ones currently installed on the card. If this is true, the loader uses the offsets in the applet cap file during the link process. Otherwise the download process fails.
- cap file format items The purpose of the detailed description is not to strictly specify the contents of a cap file. Instead it provides a detailed discussion in what should and what must be in the cap file starting with the proposal of JavaSoft. Nevertheless, we are also providing more formal - 9 - specifications of the cap file format items mentioned in this description in C-like declarations. These are specified here for clarity and in non optimized form:
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002322686A CA2322686A1 (fr) | 1998-03-23 | 1998-11-12 | Systeme d'execution java avec regroupement constant modifie |
HU0101368A HUP0101368A3 (en) | 1998-03-23 | 1998-11-12 | Java runtime system with modified constant pool |
PL342994A PL193009B1 (pl) | 1998-03-23 | 1998-11-12 | Sposób wprowadzania nowego kodu do systemu przetwarzania Java z modyfikowaną pulą stałą |
US09/646,720 US6792612B1 (en) | 1998-03-23 | 1998-11-12 | Java runtime system with modified constant pool |
JP2000538296A JP3632598B2 (ja) | 1998-03-23 | 1998-11-12 | 変更定数プールを備えたJavaランタイム・システム |
EP98950270A EP1066562B1 (fr) | 1998-03-23 | 1998-11-12 | Systeme d'execution java avec regroupement constant modifie |
DE69814174T DE69814174T2 (de) | 1998-03-23 | 1998-11-12 | Java laufzeitsystem mit veränderter sammlung von konstanten |
HK01103313A HK1033700A1 (en) | 1998-03-23 | 2001-05-12 | Java runtime system with modified constant pool |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP98105179 | 1998-03-23 | ||
EP98105179.0 | 1998-03-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1999049392A1 true WO1999049392A1 (fr) | 1999-09-30 |
Family
ID=8231635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB1998/001799 WO1999049392A1 (fr) | 1998-03-23 | 1998-11-12 | Systeme d'execution java avec regroupement constant modifie |
Country Status (13)
Country | Link |
---|---|
US (1) | US6792612B1 (fr) |
EP (1) | EP1066562B1 (fr) |
JP (1) | JP3632598B2 (fr) |
KR (1) | KR100404785B1 (fr) |
CN (1) | CN1109971C (fr) |
CA (1) | CA2322686A1 (fr) |
CZ (1) | CZ20003437A3 (fr) |
DE (1) | DE69814174T2 (fr) |
HK (1) | HK1033700A1 (fr) |
HU (1) | HUP0101368A3 (fr) |
MY (1) | MY124662A (fr) |
PL (1) | PL193009B1 (fr) |
WO (1) | WO1999049392A1 (fr) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1128263A2 (fr) * | 2000-02-21 | 2001-08-29 | Matsushita Electric Industrial Co., Ltd. | Appareil pour générer des programmes |
KR100319755B1 (ko) * | 1999-12-02 | 2002-01-05 | 오길록 | 내장형 자바가상머신을 위한 바이트코드 압축 방법 |
FR2831684A1 (fr) * | 2001-10-31 | 2003-05-02 | Gemplus Card Int | Installation de programme compile notamment dans une carte a puce |
JP2003515857A (ja) * | 1999-11-12 | 2003-05-07 | サン、マイクロシステムズ、インコーポレーテッド | 言語サブセットの妥当性検査 |
NL1019876C2 (nl) * | 2002-01-31 | 2003-08-04 | Chess Embedded Technology B V | Systeem en werkwijze voor het laden van een programmacode in een inrichting alsmede een werkwijze voor het voeden van een programmacode aan een inrichting. |
WO2004051468A1 (fr) * | 2002-11-29 | 2004-06-17 | Research In Motion Limited | Procede de generation de code interpretable pour le stockage dans un dispositif a capacite de stockage limitee |
WO2003042817A3 (fr) * | 2001-11-14 | 2004-06-17 | Schlumberger Systemes S A | Procede et dispositif servant a relier des fichiers de mini-application convertis sans annotations de relocalisation |
US6779732B2 (en) | 2001-08-31 | 2004-08-24 | Schulumberger Malco, Inc. | Method and apparatus for linking converted applet files |
US7080359B2 (en) | 2002-01-16 | 2006-07-18 | International Business Machines Corporation | Stack unique signatures for program procedures and methods |
US7114152B2 (en) | 2002-01-08 | 2006-09-26 | International Business Machines Corporation | Method, apparatus, and program to determine the mutability of an object at loading time |
US7272827B2 (en) | 2002-04-03 | 2007-09-18 | International Business Machines Corporation | Statically detecting externally referenced interfaces of a program |
US9042266B2 (en) | 2011-12-21 | 2015-05-26 | Kik Interactive, Inc. | Methods and apparatus for initializing a network connection for an output device |
US10785027B2 (en) | 2009-12-21 | 2020-09-22 | Kik Interactive Inc. | Systems and methods for accessing and controlling media stored remotely |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7150005B2 (en) * | 1999-07-02 | 2006-12-12 | Beryl Technical Assays, Llc | Method and system for global constant management for memory |
US6968549B1 (en) * | 1999-07-02 | 2005-11-22 | Beryl Technical Assays Llc | Method and system for dynamically loading data structures into memory with global constant pool |
US20010007146A1 (en) * | 1999-12-23 | 2001-07-05 | Uwe Hansmann | Method for providing a set of software components |
FR2815801B1 (fr) * | 2000-10-20 | 2004-10-29 | Trusted Logic | Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique d'echange entre maitre et esclave et systeme de suivi et de controle d'execution d'appliquettes |
FR2864650B1 (fr) * | 2003-12-24 | 2006-03-24 | Trusted Logic | Procede de mise a jour d'applications pour carte a puce |
KR100643268B1 (ko) * | 2004-01-17 | 2006-11-10 | 삼성전자주식회사 | 자바 가상 머신의 성능을 향상시키는 방법 및 상기 방법에의해 동작되는 시스템 |
US7886281B2 (en) * | 2004-03-30 | 2011-02-08 | Symantec Corporation | System and methods for cross-tier transaction tracing |
US7356811B2 (en) * | 2004-07-08 | 2008-04-08 | International Business Machines Corporation | Method and apparatus for referencing a constant pool in a java virtual machine |
DE102004058882A1 (de) * | 2004-12-06 | 2006-06-08 | Giesecke & Devrient Gmbh | Erzeugen von Programmcode in einem Ladeformat und Bereitstellen von ausführbarem Programmcode |
US8352925B2 (en) * | 2007-01-16 | 2013-01-08 | Oracle America, Inc. | Mechanism for enabling a set of code intended for a first platform to be executed on a second platform |
US9846631B2 (en) * | 2011-02-28 | 2017-12-19 | Typemock Ltd. | Methods, circuits, apparatus, systems and associated software modules for evaluating code behavior |
US9195568B2 (en) * | 2011-02-28 | 2015-11-24 | Typemock Ltd. | Methods, circuits, apparatus, systems and associated software modules for evaluating code behavior |
US9383448B2 (en) | 2012-07-05 | 2016-07-05 | Deca System Co., Ltd. | Golf GPS device with automatic hole recognition and playing hole selection |
CN103677778B (zh) * | 2012-09-18 | 2016-09-14 | 北京中电华大电子设计有限责任公司 | 一种CAP文件Classref常量的解析方法 |
US9223555B2 (en) * | 2013-11-07 | 2015-12-29 | Netronome Systems, Inc. | Hierarchical resource pools in a linker |
US10268465B2 (en) * | 2016-10-24 | 2019-04-23 | International Business Machines Corporation | Executing local function call site optimization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291601A (en) * | 1989-06-01 | 1994-03-01 | Hewlett-Packard Company | Shared libraries implemented with linking program loader |
US5581768A (en) * | 1995-02-27 | 1996-12-03 | Intel Corporation | Method and apparatus for executing applications in place from write once/seldom memories |
EP0810522A2 (fr) * | 1996-05-30 | 1997-12-03 | Sun Microsystems, Inc. | Procédé et systeme de stockage des classes dans une mémoire morte |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5594903A (en) * | 1991-02-26 | 1997-01-14 | Lynx Real-Time Systems, Inc. | Operating System architecture with reserved memory space resident program code identified in file system name space |
US6112025A (en) * | 1996-03-25 | 2000-08-29 | Sun Microsystems, Inc. | System and method for dynamic program linking |
WO1998019237A1 (fr) * | 1996-10-25 | 1998-05-07 | Schlumberger Systemes | Utilisation de langage de programmation evolue avec un controleur microprogramme |
US6366876B1 (en) * | 1997-09-29 | 2002-04-02 | Sun Microsystems, Inc. | Method and apparatus for assessing compatibility between platforms and applications |
-
1998
- 1998-11-12 EP EP98950270A patent/EP1066562B1/fr not_active Revoked
- 1998-11-12 US US09/646,720 patent/US6792612B1/en not_active Expired - Lifetime
- 1998-11-12 KR KR10-2000-7009943A patent/KR100404785B1/ko not_active Expired - Fee Related
- 1998-11-12 CZ CZ20003437A patent/CZ20003437A3/cs unknown
- 1998-11-12 PL PL342994A patent/PL193009B1/pl not_active IP Right Cessation
- 1998-11-12 WO PCT/IB1998/001799 patent/WO1999049392A1/fr not_active Application Discontinuation
- 1998-11-12 CA CA002322686A patent/CA2322686A1/fr not_active Abandoned
- 1998-11-12 CN CN98813912A patent/CN1109971C/zh not_active Expired - Lifetime
- 1998-11-12 DE DE69814174T patent/DE69814174T2/de not_active Revoked
- 1998-11-12 JP JP2000538296A patent/JP3632598B2/ja not_active Expired - Lifetime
- 1998-11-12 HU HU0101368A patent/HUP0101368A3/hu unknown
-
1999
- 1999-02-23 MY MYPI99000623A patent/MY124662A/en unknown
-
2001
- 2001-05-12 HK HK01103313A patent/HK1033700A1/xx not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291601A (en) * | 1989-06-01 | 1994-03-01 | Hewlett-Packard Company | Shared libraries implemented with linking program loader |
US5581768A (en) * | 1995-02-27 | 1996-12-03 | Intel Corporation | Method and apparatus for executing applications in place from write once/seldom memories |
EP0810522A2 (fr) * | 1996-05-30 | 1997-12-03 | Sun Microsystems, Inc. | Procédé et systeme de stockage des classes dans une mémoire morte |
Non-Patent Citations (2)
Title |
---|
"C INTER-LINKAGE FUNCTION INVOCATION METHOD", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 35, no. 4B, 1 September 1992 (1992-09-01), pages 44 - 49, XP000313847 * |
SUN MICROSYSTEMS, INC.: "Java Card 2.0 Language Subset and Virtual Machine Specification", REVISION 1.0 FINAL, 13 October 1997 (1997-10-13), pages 2 - 14, XP002095345 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4913302B2 (ja) * | 1999-11-12 | 2012-04-11 | オラクル・アメリカ・インコーポレイテッド | 言語サブセットの妥当性検査 |
JP2003515857A (ja) * | 1999-11-12 | 2003-05-07 | サン、マイクロシステムズ、インコーポレーテッド | 言語サブセットの妥当性検査 |
KR100319755B1 (ko) * | 1999-12-02 | 2002-01-05 | 오길록 | 내장형 자바가상머신을 위한 바이트코드 압축 방법 |
US7873954B2 (en) | 2000-02-03 | 2011-01-18 | International Business Machines Corporation | Stack unique signatures for program procedures and methods |
EP1128263A2 (fr) * | 2000-02-21 | 2001-08-29 | Matsushita Electric Industrial Co., Ltd. | Appareil pour générer des programmes |
EP1128263A3 (fr) * | 2000-02-21 | 2006-04-19 | Matsushita Electric Industrial Co., Ltd. | Appareil pour générer des programmes |
US6779732B2 (en) | 2001-08-31 | 2004-08-24 | Schulumberger Malco, Inc. | Method and apparatus for linking converted applet files |
FR2831684A1 (fr) * | 2001-10-31 | 2003-05-02 | Gemplus Card Int | Installation de programme compile notamment dans une carte a puce |
WO2003038610A1 (fr) * | 2001-10-31 | 2003-05-08 | Gemplus | Installation de programme compile notamment dans une carte a puce |
US7131121B2 (en) | 2001-11-14 | 2006-10-31 | Axalto, Inc. | Method and apparatus for linking converted applet files without relocation annotations |
WO2003042817A3 (fr) * | 2001-11-14 | 2004-06-17 | Schlumberger Systemes S A | Procede et dispositif servant a relier des fichiers de mini-application convertis sans annotations de relocalisation |
US7114152B2 (en) | 2002-01-08 | 2006-09-26 | International Business Machines Corporation | Method, apparatus, and program to determine the mutability of an object at loading time |
US7080359B2 (en) | 2002-01-16 | 2006-07-18 | International Business Machines Corporation | Stack unique signatures for program procedures and methods |
NL1019876C2 (nl) * | 2002-01-31 | 2003-08-04 | Chess Embedded Technology B V | Systeem en werkwijze voor het laden van een programmacode in een inrichting alsmede een werkwijze voor het voeden van een programmacode aan een inrichting. |
EP1335281A1 (fr) * | 2002-01-31 | 2003-08-13 | Chess Embedded Technology B.V. | Systéme et méthode pour charger du code de programme dans un dispositif |
US7272827B2 (en) | 2002-04-03 | 2007-09-18 | International Business Machines Corporation | Statically detecting externally referenced interfaces of a program |
EP1909174A1 (fr) | 2002-11-29 | 2008-04-09 | Research In Motion Limited | Procédé de génération de code interprétable pour stockage dans un périphérique ayant un stockage limité |
CN100395703C (zh) * | 2002-11-29 | 2008-06-18 | 捷讯研究有限公司 | 产生用于存储在具有有限存储单元的设备中的可解译代码的方法 |
US7761861B2 (en) | 2002-11-29 | 2010-07-20 | Research In Motion Limited | Method for generating interpretable code for storage in a device having limited storage |
WO2004051468A1 (fr) * | 2002-11-29 | 2004-06-17 | Research In Motion Limited | Procede de generation de code interpretable pour le stockage dans un dispositif a capacite de stockage limitee |
US10785027B2 (en) | 2009-12-21 | 2020-09-22 | Kik Interactive Inc. | Systems and methods for accessing and controlling media stored remotely |
US9042266B2 (en) | 2011-12-21 | 2015-05-26 | Kik Interactive, Inc. | Methods and apparatus for initializing a network connection for an output device |
Also Published As
Publication number | Publication date |
---|---|
CN1109971C (zh) | 2003-05-28 |
KR20010041716A (ko) | 2001-05-25 |
PL193009B1 (pl) | 2007-01-31 |
EP1066562B1 (fr) | 2003-05-02 |
CZ20003437A3 (cs) | 2001-11-14 |
JP3632598B2 (ja) | 2005-03-23 |
HUP0101368A3 (en) | 2004-04-28 |
JP2002508544A (ja) | 2002-03-19 |
CN1286770A (zh) | 2001-03-07 |
US6792612B1 (en) | 2004-09-14 |
DE69814174T2 (de) | 2004-03-04 |
HK1033700A1 (en) | 2001-09-14 |
HUP0101368A2 (hu) | 2001-08-28 |
MY124662A (en) | 2006-06-30 |
DE69814174D1 (de) | 2003-06-05 |
PL342994A1 (en) | 2001-07-16 |
KR100404785B1 (ko) | 2003-11-07 |
EP1066562A1 (fr) | 2001-01-10 |
CA2322686A1 (fr) | 1999-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1066562B1 (fr) | Systeme d'execution java avec regroupement constant modifie | |
AU2004202909B2 (en) | Token-based linking | |
US7584473B2 (en) | Highly componentized system architecture with loadable virtual memory manager | |
US7143421B2 (en) | Highly componentized system architecture with a demand-loading namespace and programming model | |
US8434099B2 (en) | Efficient linking and loading for late binding and platform retargeting | |
US5615400A (en) | System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers | |
US6799173B2 (en) | Method and apparatus for sharing code containing references to non-shared objects | |
EP3143500B1 (fr) | Manipulation des types de valeurs | |
EP0664903B1 (fr) | Systeme de chargement | |
US6557023B1 (en) | Method and apparatus for avoiding array class creation in virtual machines | |
US7565665B2 (en) | Efficient linking and loading for late binding and platform retargeting | |
CN107924326B (zh) | 对经更新的类型的迁移方法进行覆盖 | |
US6314445B1 (en) | Native function calling | |
US6633892B1 (en) | Archiving tool | |
EP1261913A1 (fr) | Procede, systeme, et article fabrique permettant de limiter l'acces a des fichiers de programmes dans un fichier de bibliotheque partagee | |
US20090133042A1 (en) | Efficient linking and loading for late binding and platform retargeting | |
US7159222B1 (en) | Highly componentized system architecture with object mutation | |
WO2001009715A2 (fr) | Architecture de compilateur unique | |
WO2002048864A2 (fr) | Registres de systeme pour processeur oriente objet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 98813912.X Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): BR CA CN CZ HU JP KR PL RU SG US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
ENP | Entry into the national phase |
Ref document number: 2322686 Country of ref document: CA Ref document number: 2322686 Country of ref document: CA Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020007009943 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: PV2000-3437 Country of ref document: CZ |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09646720 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1998950270 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1998950270 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020007009943 Country of ref document: KR |
|
NENP | Non-entry into the national phase |
Ref country code: CA |
|
WWP | Wipo information: published in national office |
Ref document number: PV2000-3437 Country of ref document: CZ |
|
WWG | Wipo information: grant in national office |
Ref document number: 1998950270 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 1020007009943 Country of ref document: KR |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1998950270 Country of ref document: EP |