최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0347876 (2012-01-11) |
등록번호 | US-8782664 (2014-07-15) |
발명자 / 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 | 피인용 횟수 : 0 인용 특허 : 366 |
Hardware assist to autonomically patch code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (
Hardware assist to autonomically patch code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (MSR) to enable or disable a performance monitoring application or process to perform code-patching functions. If the code patching function is enabled, the application or process may patch code at run time by associating the metadata with the selected instructions. The metadata includes pointers pointing to the patch code block code. The program code may be patched autonomically without modifying original code.
1. A computer system having a processor configured to autonomically patch computer program code, comprising: checking a flag in a machine status register to determine whether code patching functionality is to be enabled;responsive to determining that code patching functionality is to be enabled, ena
1. A computer system having a processor configured to autonomically patch computer program code, comprising: checking a flag in a machine status register to determine whether code patching functionality is to be enabled;responsive to determining that code patching functionality is to be enabled, enabling the code patching functionality;executing a computer program instruction, wherein the computer program instruction is located at a start of a block of code of an execution sequence of original code instructions;determining whether metadata is associated with the computer program instruction, wherein the metadata identifies the computer program instruction as a computer program instruction having associated patch instructions, and indicates an address of the patch instructions, wherein the patch instructions are created by: copying instructions from the block of code to a new memory location; modifying the order of the instructions of the block of code; and populating metadata with a pointer to the patch instructions;responsive to determining that the metadata is associated with the computer program instruction, redirecting execution to the patch instructions at the address indicated by the metadata;executing the patch instructions; returning to an instruction of the execution sequence of original code instructions in the computer program; andstoring a result of executing the execution sequence. 2. The computer system of claim 1, wherein the patch instructions are created during execution of the computer program. 3. The computer system of claim 1, wherein the metadata is in a form of a memory word. 4. The computer system of claim 1, wherein the metadata includes a pointer to the patch instructions for indicating the address of the patch instructions. 5. The computer system of claim 4, wherein the pointer to the patch instructions includes a starting address of the patch instructions in an allocated memory location. 6. The computer system of claim 5, wherein the starting address includes at least one of an absolute or offset address. 7. The computer system of claim 1, wherein the patch instructions includes at least one of reorganized instructions, instrumented alternative instructions, and hooks to build an instruction trace. 8. A computer to autonomically patch computer program code, comprising: a bus system;a memory connected to the bus system, wherein the memory includes a computer usable program code; anda processing unit connected to the bus system, wherein the processing unit executes the computer usable program code to execute program code: to check a flag in a machine status register to determine whether code patching functionality is enabled; to enable the code patching functionality in response to determining that code patching functionality is enabled; to execute set a computer program instruction, wherein the computer program instruction is located at a start of a block of code of an execution sequence of original code instructions; determine whether metadata is associated with the computer program instruction, wherein the metadata identifies the computer program instruction as a computer program instruction having associated patch instructions, and indicates an address of the patch instructions, wherein the patch instructions are created by: copying instructions from the block of code to a new memory location; modifying the order of the instructions of the block of code; and populating metadata with a pointer to the patch instructions; redirect execution to the patch instructions at the address indicated by the metadata in response to determining that metadata is associated with the computer program instruction; execute the patch instructions; return to an instruction of the execution sequence of original code instructions in the computer program; and store a result of executing the execution sequence. 9. The computer of claim 8, wherein the patch instructions are created during execution of the computer program. 10. The computer of claim 8, wherein the metadata is in a form of a memory word. 11. The computer of claim 8, wherein the metadata includes a pointer to the patch instructions for indicating the address of the patch instructions. 12. The computer of claim 11, wherein the pointer to the patch instructions includes a starting address of the patch instructions in an allocated memory location. 13. The computer of claim 12, wherein the starting address includes at least one of an absolute or offset address. 14. The computer of claim 8, wherein the patch instructions includes at least one of reorganized instructions, instrumented alternative instructions, and hooks to build an instruction trace.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.