Preprocessing of interfaces to allow fast call through
AssigneeEsmertec AG
InventorWilliam Charnell
Life of this patent
Estimating the term…
Abstract
A solution to avoid performance degradation associated with load-object independence by arranging interface source code, particurlarly JNI source code, in a stylized form, and then preprocessing the stylized interface source code into a Virtual Machine (“VM”) specific form. The stylized source code allows a preprocessor to identify and track field and method identifiers, and to match up the field and method uses with the specification of the field or method. The source code is stylized by substituting stylized variable names, each with a native element identifier, for non-stylized variables.
Claims21
A method of executing an application with a native element in a computing environment having a native interface and a virtual machine, the method comprising:
- compiling the application to create a compiled version of the application;
- creating a stylized version of the native element having a reference to the application;
- passing the compiled version of the application and the stylized version of the native element to a preprocessor;
- generating a targeted version of the native element in the preprocessor;
- and
- compiling the targeted version of the native element.
A method of creating interface code, the method comprising:
- creating a stylized version of an interface source code by substituting stylized variable names, each stylized variable name having an element identifier, for non-stylized variables in the interface source code;
- and
- preprocessing the stylized version of the interface source code.
A method of arranging interface source code in stylized form and then creating an executable module of that interface source code, the method comprising:
- creating a stylized version of the interface source code by substituting stylized variable names, each stylized variable name having an element identifier, for non-stylized variables in the interface source code;
- compiling one of more application files to create one or more compiled files;
- passing the stylized version of the interface source code and compiled files to a preprocessor;
- generating a targeted source file version of the interface source code in the preprocessor;
- and
- compiling the targeted source file version of the interface source code.
A system for calling native elements, the system comprising:
- an application program stored in a storage location;
- a compiler to compile the application,
- a stylized native program stored in a second storage location, the stylized native program having stylized variable names, each stylized variable name having an element identifier;
- and
- a preprocessor having an input mechanism to receive the compiled application program and an input mechanism to receive the stylized native program, the preprocessor operable to generate targeted source code.
A preprocessor comprising
- an input mechanism;
- a pattern checker coupled to the input mechanism;
- a reference class loader coupled to the pattern checker;
- a database of classes coupled to the reference class loader;
- and
- a translator coupled to the pattern checker and the reference class loader.
Dependencies are inferred from the claim text.