System using a unique marker with each software code-block
First Claim
Patent Images
1. A system comprising:
- a marker from a plurality of markers carried by a respective one of a plurality of code-blocks;
a processor configured to detect a change in the marker in an instruction stream, and configured to identify whether to notify an operating system when there is a change in the marker; and
a compiler/interpreter to determine the marker for each code-block and tag the code-block with the marker;
wherein the plurality of code-blocks comprise an instruction set to be executed on the processor;
wherein each of the plurality of code-blocks comprises at least one of a plurality of characteristics that define how the processor uses each of the plurality of code-blocks;
wherein the processor uses each of the markers to differentiate between each of the plurality of code-blocks and tracks control transfers between any of the plurality of code-blocks.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for improving software maintainability, performance, and/or security by associating a unique marker to each software code-block; the system comprising of a plurality of processors, a plurality of code-blocks, and a marker associated with each code-block. The system may also include a special hardware register (code-block marker hardware register) in each processor for identifying the markers of the code-blocks executed by the processor, without changing any of the plurality of code-blocks.
29 Citations
23 Claims
-
1. A system comprising:
-
a marker from a plurality of markers carried by a respective one of a plurality of code-blocks; a processor configured to detect a change in the marker in an instruction stream, and configured to identify whether to notify an operating system when there is a change in the marker; and a compiler/interpreter to determine the marker for each code-block and tag the code-block with the marker; wherein the plurality of code-blocks comprise an instruction set to be executed on the processor; wherein each of the plurality of code-blocks comprises at least one of a plurality of characteristics that define how the processor uses each of the plurality of code-blocks; wherein the processor uses each of the markers to differentiate between each of the plurality of code-blocks and tracks control transfers between any of the plurality of code-blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
providing a marker to each of a plurality of code-blocks; and identifying each of the markers, via a processor, to thereby improve at least one of security, maintainability, and performance of the plurality of code-blocks executed by that processor without changing any of the plurality of code-blocks; wherein the plurality of code-blocks comprise an instruction set to be executed on the processor; wherein each of the plurality of code-blocks comprises at least one of a plurality of characteristics that define how the processor uses each of the plurality of code-blocks; wherein the processor uses each of the markers to differentiate between each of the plurality of code-blocks and tracks control transfers between any of the plurality of code-blocks. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer program product to improve system software or application software, the computer program product comprising:
-
a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising; computer readable program code configured to provide a marker from a plurality of markers to each one of a plurality of code-blocks; and computer readable program code configured to identifying each of the markers, via a processor, to thereby improve at least one of security, maintainability, and performance of the plurality of code-blocks executed by a processor without changing any of the plurality of code-blocks; wherein the plurality of code-blocks comprise an instruction set to be executed on the processor; wherein each of the plurality of code-blocks comprises at least one of a plurality of characteristics that define how the processor uses each of the plurality of code-blocks; wherein the processor uses each of the markers to differentiate between each of the plurality of code-blocks and tracks control transfers between any of the plurality of code-blocks. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A system comprising:
-
a processor; a plurality of code-blocks, and the plurality of code-blocks including an instruction set to be executed on the processor; a marker from a plurality of markers carried by each of the plurality of code-blocks; and wherein the processor is configured to identify each of the markers thereby improving at least one of security, maintainability, and performance of the plurality of code-blocks executed by that processor without changing any of the plurality of code-blocks; wherein the plurality of code-blocks comprise an instruction set to be executed on the processor; wherein each of the plurality of code-blocks comprises at least one of a plurality of characteristics that define how the processor uses each of the plurality of code-blocks; wherein the processor uses each of the markers to differentiate between each of the plurality of code-blocks and tracks control transfers between any of the plurality of code-blocks. - View Dependent Claims (21, 22, 23)
-
Specification