Method and system for recognizing instructions and instruction blocks in computer code
First Claim
Patent Images
1. A method for detecting the presence of one or more instructions in memory-resident machine code, the method comprising:
- preparing a block description of the one or more instructions, the description including, for each instruction of the one or more instructions, an instruction description including a constant-portion value, a constant-portion mask, and descriptions of each variable portion;
comparing the block description to groups of memory-resident instructions in order to locate a group of memory-resident instructions described by the block description.
1 Assignment
0 Petitions
Accused Products
Abstract
Various embodiments of the present invention are directed to efficient and robust methods by which virtual-machine monitors can recognize individual instructions and blocks of instructions within guest-operating-system code. In a described embodiment of the present invention, the guest operating system recognizes the instructions by recognizing an overall form, or pattern, for the instruction as well as the values of various fields within the instruction that may change with re-compilations and/or re-linking of guest operating system code.
29 Citations
16 Claims
-
1. A method for detecting the presence of one or more instructions in memory-resident machine code, the method comprising:
-
preparing a block description of the one or more instructions, the description including, for each instruction of the one or more instructions, an instruction description including a constant-portion value, a constant-portion mask, and descriptions of each variable portion;
comparing the block description to groups of memory-resident instructions in order to locate a group of memory-resident instructions described by the block description. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A data structure, stored in a computer readable memory, that describes an instruction block to be identified within executable code, the data structure containing:
-
a specification of a number of instructions in the instruction block; and
substructures that each describe an instruction in the instruction block, each substructure containing a pattern that represents a constant portion of the instruction. a variable-portion mask, a value that specifies a number of operand fields in the instruction, and operand-field descriptions of the instruction.
-
Specification