GB201314586D0 - Interoperability unit - Google Patents
Interoperability unitInfo
- Publication number
- GB201314586D0 GB201314586D0 GBGB1314586.7A GB201314586A GB201314586D0 GB 201314586 D0 GB201314586 D0 GB 201314586D0 GB 201314586 A GB201314586 A GB 201314586A GB 201314586 D0 GB201314586 D0 GB 201314586D0
- Authority
- GB
- United Kingdom
- Prior art keywords
- code
- function
- executable
- library
- function name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/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
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/45525—Optimisation or modification within the same instruction set architecture, e.g. HP Dynamo
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
An application program comprising executable code is deployed in an RTE (Runtime Environment) comprising an interoperability bridge unit 405. A reference to a function, originally instructed in a system-independent programming language, is received from the executable code 450 and the reference resolved to determine the function name. The executable code is derived from an intermediate language code, e.g. bytecode. If the function name is located in an export portion of an executable library 465 registered with the RTE, typically a DLL (Dynamic Link Library) then program code, comprising a platform invoke statement referencing the library and function name, is dynamically generated, prepared and executed to invoke the function. A function code detector 415 receives the reference and a function locator resolves the reference to determine the function name. A code generator 435 dynamically generates program code 445 comprising the platform invoke statement for the function and this code is passed to a code implementer 455 which prepares the executable code. A static arrangement is also disclosed in which source code is parsed by a compiler. Program code containing a platform invoke statement for a function can then be generated and compiled to intermediate language code before run time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1314586.7A GB2503590B (en) | 2013-08-14 | 2013-08-14 | Interoperability unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1314586.7A GB2503590B (en) | 2013-08-14 | 2013-08-14 | Interoperability unit |
Publications (3)
Publication Number | Publication Date |
---|---|
GB201314586D0 true GB201314586D0 (en) | 2013-09-25 |
GB2503590A GB2503590A (en) | 2014-01-01 |
GB2503590B GB2503590B (en) | 2014-05-14 |
Family
ID=49262185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB1314586.7A Active GB2503590B (en) | 2013-08-14 | 2013-08-14 | Interoperability unit |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2503590B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765003A (en) * | 2019-09-24 | 2020-02-07 | 贝壳技术有限公司 | Code detection method, device and equipment, and storage medium |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631684B (en) * | 2020-12-30 | 2021-08-06 | 北京元心科技有限公司 | Executable program running method and device, electronic equipment and computer storage medium |
US11550556B1 (en) * | 2021-07-26 | 2023-01-10 | Sap Se | Efficient semantic analysis of program code |
US11556356B1 (en) | 2021-09-23 | 2023-01-17 | International Business Machines Corporation | Dynamic link objects across different addressing modes |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182460A1 (en) * | 2002-03-25 | 2003-09-25 | Atul Khare | Managed code modules dynamically invoking unmanaged code modules at arbitrary locations |
US7917898B2 (en) * | 2004-02-02 | 2011-03-29 | Intel Corporation | Methods and apparatus to provide a modular native method invocation system |
US7472375B2 (en) * | 2005-03-29 | 2008-12-30 | Intel Corporation | Creating managed code from native code |
-
2013
- 2013-08-14 GB GB1314586.7A patent/GB2503590B/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765003A (en) * | 2019-09-24 | 2020-02-07 | 贝壳技术有限公司 | Code detection method, device and equipment, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
GB2503590A (en) | 2014-01-01 |
GB2503590B (en) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PH12015500405B1 (en) | Generating native code from intermediate laguage code for an application | |
WO2013036703A3 (en) | Profile guided jit code generation | |
GB201314586D0 (en) | Interoperability unit | |
WO2008064901A3 (en) | Producer graph oriented programming and execution | |
ATE539402T1 (en) | DYNAMIC RESOLUTION OF DEPENDENT COMPONENTS | |
BR112014030557A2 (en) | predictive calibration device and method | |
CY1119758T1 (en) | METHOD AND SYSTEM FOR CREATING CODES | |
WO2008064899A3 (en) | Parallelization and instrumentation in a producer graph oriented programming framework | |
WO2006062849A3 (en) | Proactive computer malware protection through dynamic translation | |
GB201216847D0 (en) | Effective testing of authorization logic of web components which utilize claims-based authorization | |
GB2508784A (en) | Generating Security Permissions | |
JP2014501412A5 (en) | ||
WO2009081267A3 (en) | Method and system for runtime program error detection | |
WO2014194237A3 (en) | Systems and methods for remote analysis of software applications | |
BR112014028947A2 (en) | processor configuration method, processor configuration device, processor, and computer program product | |
JP2014211864A (en) | Analysis of incomplete software | |
IN2013MU03944A (en) | ||
Nordio et al. | Javanni: A verifier for JavaScript | |
BR112012019384A8 (en) | METHOD FOR RUNNING AN APPLICATION AND PORTABLE DATA CARRIER | |
Garg et al. | Improving Malware Detection By Parsing Broken Code | |
Márton et al. | Unit Testing and Friends in C+ | |
Kähkönen et al. | The LIME Interface Specification Language and Runtime Monitoring Tool (Tool Paper) | |
GB201314580D0 (en) | Processing for application program deployment | |
Son et al. | Implementation of the Java Compiler for the Smart Cross Platform | |
Cosentino et al. | Analyzing Flowgraphs with ATL |