Intermediate representation for multiple exception handling models
First Claim
1. A method of processing a uniform intermediate representation of software comprising exception handling constructs, the method comprising:
- reading the uniform intermediate representation of software comprising exception handling constructs;
wherein the uniform intermediate representation explicitly expresses exception handling control flow of the software; and
generating a computer-readable version of the software implementing the exception handling control flow based on the uniform intermediate representation.
2 Assignments
0 Petitions
Accused Products
Abstract
As described herein, an intermediate representation of a source code file may be used to explicitly express exception handling control flow prior to generating object code for the source code. As further described herein, a single uniform set of instructions of the intermediate representation may be used for expressing multiple different exception handling mechanisms related to multiple different programming languages. The intermediate form of the exception handling instructions may be generated by translating an intermediate language representation of the source code file. Representations of the source code in multiple different intermediate languages may be translated to a single uniform set of instructions of the intermediate representation. The intermediate form of the exception handling instructions may then be used by software development tools for such tasks as code generation, code optimization, code analysis etc. Thus, the same methods for code optimizations, analysis and generation may be used for intermediate representations of multiple different languages.
-
Citations
53 Claims
-
1. A method of processing a uniform intermediate representation of software comprising exception handling constructs, the method comprising:
-
reading the uniform intermediate representation of software comprising exception handling constructs;
wherein the uniform intermediate representation explicitly expresses exception handling control flow of the software; and
generating a computer-readable version of the software implementing the exception handling control flow based on the uniform intermediate representation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for implementing uniform exception handling intermediate representations for multiple source code languages, the system comprising:
-
an intermediate language reader for obtaining an intermediate language representation of a source code file and generating a uniform intermediate representation of exception handling constructs of the source code based on the intermediate language representation;
wherein the uniform intermediate representation explicitly expresses exception handling control flow of the source code. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer readable storage medium having stored thereon an intermediate representation of exception handling constructs of source code, the intermediate representation of exception handling constructs comprising:
-
a first instruction for expressing explicit transfer of control to a finalization code block;
a second instruction for expressing acceptance of control transfer into the finalization code block; and
a third instruction for expressing transfer of control out of the finalization code block. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A computer readable storage medium having stored thereon an intermediate representation of exception handling constructs of source code, the intermediate representation of exception handling constructs comprising:
-
a first instruction for catching an exception and returning an exception object related to the exception; and
a second instruction for specifying a handler for the exception based on a type value of the exception object. - View Dependent Claims (45, 46, 47)
-
-
48. A computer readable storage medium having stored thereon an intermediate representation of exception handling constructs of source code, the intermediate representation of exception handling constructs comprising:
an instruction for specifying a handler for an exception based on a type value of an exception object related to the exception, wherein a destination operand of the instruction comprises a predetermined exception object, a first source operand of the instruction comprises a label indicative of a code block related to the handler and second source operand comprises a label indicative of a code block related to a continuation. - View Dependent Claims (49)
-
50. A computer readable storage medium having stored thereon an intermediate representation of exception handling constructs of source code, the intermediate representation of exception handling constructs comprising:
-
a first instruction for indicating entry into a try-except region and a second instruction for selecting one of a plurality of control flow paths for exception handling based on a type value related to the exception, wherein the plurality of control flow paths available for selection includes a path related to resumption of execution of an instruction causing the exception. - View Dependent Claims (51, 52)
-
-
53. A system for implementing uniform exception handling intermediate representations for multiple source code languages, the system comprising:
-
means for reading an intermediate language representation of a source code file and generating a uniform intermediate representation of exception handling constructs of the source code based on the intermediate language representation;
wherein the uniform intermediate representation explicitly expresses exception handling control flow of the source code.
-
Specification