Claims (29)
1. Способ, реализуемый на компьютере, используемый при компиляции программы, включающий идентификацию множества покрывающих операций загрузки, включающего в себя по меньшей мере одну покрывающую операцию загрузки, относящуюся к первому типу загрузки, и избыточную операцию загрузки, относящуюся ко второму типу загрузки, при этом как первый тип загрузки, так и второй тип загрузки может принадлежать группе типов загрузки, включающей в себя обычную загрузку и по меньшей мере одну загрузку спекулятивного типа, и избирательное устранение избыточной операции загрузки.1. A method implemented on a computer used to compile a program, comprising identifying a plurality of covering loading operations, including at least one covering loading operation related to the first type of loading, and an excessive loading operation related to the second type of loading, wherein both the first type of load and the second type of load may belong to a group of load types, including a regular load and at least one speculative type load, and selective elimination accurate loading operation.
2. Способ по п. 1, отличающийся тем, что операции загрузки спекулятивного типа включают в себя расширенную загрузку, проверочную расширенную загрузку, спекулятивную загрузку и спекулятивную расширенную загрузку. 2. The method according to claim 1, characterized in that the speculative type loading operations include extended loading, verifying extended loading, speculative loading and speculative extended loading.
3. Способ по п. 1, отличающийся тем, что идентификацию множества покрывающих операций загрузки и избыточной загрузки осуществляют глобально по всей функции. 3. The method according to p. 1, characterized in that the identification of many covering operations load and excess load is carried out globally throughout the function.
4. Способ по п. 1, отличающийся тем, что идентификация множества покрывающих операций загрузки предусматривает определение пересечения операций загрузки из разных блоков. 4. The method according to p. 1, characterized in that the identification of many covering loading operations involves determining the intersection of loading operations from different blocks.
5. Способ, реализуемый на компьютере, используемый при компиляции программы, включающий идентификацию покрывающей операции загрузки, относящейся к первому типу загрузки, и избыточной операции загрузки, относящейся ко второму типу загрузки, при этом как первый тип загрузки, так и второй тип загрузки может принадлежать группе типов загрузки, включающей в себя обычную загрузку, по меньшей мере, одну загрузку спекулятивного типа и, по меньшей мере, одну загрузку проверочного типа, и избирательное устранение избыточной операции загрузки. 5. The method implemented on the computer used to compile the program, including the identification of the covering download operation related to the first type of download, and redundant download operation related to the second type of download, both the first type of download and the second type of download may belong a group of load types, including a regular load, at least one speculative type load and at least one test type load, and selectively eliminate the redundant load operation.
6. Способ по п. 5, отличающийся тем, что избыточную операцию загрузки устраняют избирательно, поскольку, в зависимости от комбинации первого и второго типов загрузки, избыточная операция загрузки устраняется при выполнении определенных условий. 6. The method according to p. 5, characterized in that the redundant loading operation is eliminated selectively, because, depending on the combination of the first and second types of loading, the excessive loading operation is eliminated when certain conditions are met.
7. Способ по п. 5, отличающийся тем, что избыточную операцию загрузки устраняют избирательно, поскольку, в зависимости от комбинации первого и второго типов загрузки, избыточная операция загрузки не устраняется ни при каких условиях. 7. The method according to p. 5, characterized in that the redundant loading operation is eliminated selectively, because, depending on the combination of the first and second types of loading, the excessive loading operation is not eliminated under any conditions.
8. Способ по п. 5, отличающийся тем, что группа типов загрузки включает в себя обычную загрузку, расширенную загрузку, проверочную загрузку, проверочную расширенную загрузку, спекулятивную загрузку и спекулятивную расширенную загрузку. 8. The method according to p. 5, characterized in that the group of boot types includes regular download, advanced download, test download, test advanced download, speculative download and speculative advanced download.
9. Способ по п. 5, отличающийся тем, что идентифицируют более одной покрывающей операции загрузки, если существуют дополнительные покрывающие операции загрузки. 9. The method according to p. 5, characterized in that more than one covering loading operation is identified if additional covering loading operations exist.
10. Способ по п. 5, отличающийся тем, что идентификацию покрывающей и избыточной операций загрузки осуществляют глобально по всей функции. 10. The method according to p. 5, characterized in that the identification of the covering and redundant loading operations is carried out globally throughout the function.
11. Способ по п. 5, отличающийся тем, что идентифицируют более одной покрывающей операции загрузки, и каждая покрывающая операция загрузки относится к первому типу загрузки. 11. The method according to p. 5, characterized in that more than one covering loading operation is identified, and each covering loading operation refers to the first type of loading.
12. Способ по п. 5, отличающийся тем, что первый тип загрузки представляет собой обычную загрузку, и второй тип загрузки представляет собой спекулятивную расширенную загрузку. 12. The method according to p. 5, characterized in that the first type of download is a regular download, and the second type of download is a speculative advanced download.
13. Способ по п. 5, отличающийся тем, что операции загрузки проверочного типа включают в себя операцию проверочной загрузки и операцию проверочной расширенной загрузки. 13. The method according to p. 5, characterized in that the verification type loading operations include a verification loading operation and a verification extended loading operation.
14. Способ по п. 5, отличающийся тем, что устранение избыточной операции загрузки включает в себя полное устранение избыточной операции загрузки из кода программы. 14. The method according to p. 5, characterized in that the elimination of redundant loading operations includes the complete elimination of redundant loading operations from the program code.
15. Способ по п. 5, отличающийся тем, что устранение избыточной операции загрузки включает в себя устранение избыточной операции загрузки из ее позиции в коде программы и перемещение в другую позицию в коде. 15. The method according to p. 5, characterized in that the elimination of redundant loading operations includes the elimination of redundant loading operations from its position in the program code and moving to another position in the code.
16. Машинно-читаемый носитель, на котором хранятся команды, которые при обработке их процессором обуславливают выполнение процессором действий, включающих идентификацию покрывающей операции загрузки, относящейся к первому типу загрузки, и избыточной операции загрузки, относящейся ко второму типу загрузки, причем как первый тип загрузки, так и второй тип загрузки могут принадлежать группе типов загрузки, включающей в себя обычную загрузку, по меньшей мере одну загрузку спекулятивного типа и, по меньшей мере, одну загрузку проверочного типа, и избирательное устранение избыточной операции загрузки. 16. A machine-readable medium on which instructions are stored that, when processed by their processor, cause the processor to perform actions that include identifying a covering loading operation related to the first type of loading and an excessive loading operation related to the second type of loading, moreover, as the first type of loading , and the second type of load can belong to a group of load types, including a regular load, at least one speculative type load, and at least one test type load as well, and selective removal of excess load operation.
17. Носитель по п. 16, отличающийся тем, что группа типов загрузки включает в себя обычную загрузку, расширенную загрузку, проверочную загрузку, проверочную расширенную загрузку, спекулятивную загрузку и спекулятивную расширенную загрузку. 17. The media according to claim 16, wherein the group of download types includes regular download, advanced download, test download, test advanced download, speculative download and speculative advanced download.
18. Способ, реализуемый на компьютере, используемый при компиляции программы, включающий идентификацию покрывающей операции загрузки, относящейся к первому типу загрузки, и избыточной операции загрузки, относящейся ко второму типу загрузки, на определенных этапах глобально по всей функции, причем как первый тип загрузки, так и второй тип загрузки может принадлежать группе типов загрузки, включающей в себя, обычную загрузку и, по меньшей мере, одну загрузку спекулятивного типа, и избирательное устранение избыточной операции загрузки. 18. The method implemented on the computer used to compile the program, including the identification of the covering download operation related to the first type of download, and redundant download operation related to the second type of download, at certain stages globally throughout the function, and as the first type of download, and the second type of download may belong to a group of types of loading, including regular loading and at least one speculative type loading, and the selective elimination of redundant loading operations.
19. Способ по п. 18, отличающийся тем, что как первый тип загрузки, так и второй тип загрузки может принадлежать группе типов загрузки, включающей в себя обычную загрузку, по меньшей мере, одну загрузку спекулятивного типа и, по меньшей мере, одну загрузку проверочного типа. 19. The method according to p. 18, characterized in that both the first type of load and the second type of load may belong to a group of load types, including a regular load, at least one speculative type load and at least one load test type.
20. Способ устранения операции загрузки при компиляции программы, включающий определение имени подпрограммы на основании первого типа загрузки и второго типа загрузки и выполнение подпрограммы, причем операции загрузки устраняются согласно подпрограмме. 20. A method of eliminating a load operation when compiling a program, comprising determining a subroutine name based on the first type of load and the second type of load, and executing the subroutine, wherein the load operation is eliminated according to the subroutine.
21. Способ по п. 20, отличающийся тем, что подпрограмма может вызывать другую подпрограмму. 21. The method according to p. 20, characterized in that the subroutine can call another subroutine.
22. Способ по п. 20, отличающийся тем, что определение имени подпрограммы включает в себя передачу первого и второго типов загрузки матрице комбинаций операций загрузки. 22. The method according to p. 20, characterized in that the determination of the name of the subprogram includes the transfer of the first and second types of download matrix combinations of load operations.
23. Способ по п. 22, отличающийся тем, что определение имени подпрограммы включает в себя идентификацию имени подпрограммы на пересечении первого и второго типов загрузки в матрице комбинаций операций загрузки. 23. The method according to p. 22, characterized in that the determination of the name of the subroutine includes identifying the name of the subroutine at the intersection of the first and second types of downloads in the matrix of combinations of loading operations.
24. Способ по п. 22, отличающийся тем, что матрица комбинаций операций загрузки является полной матрицей комбинаций операций загрузки. 24. The method according to p. 22, characterized in that the matrix of combinations of loading operations is a complete matrix of combinations of loading operations.
25. Способ по п. 20, отличающийся тем, что идентификатор на пересечении первого и второго типов загрузки представляет собой адрес памяти для имени подпрограммы. 25. The method according to p. 20, characterized in that the identifier at the intersection of the first and second types of downloads is a memory address for the name of the subroutine.
26. Способ по п. 20, отличающийся тем, что для некоторых комбинаций первого и второго типов загрузки, подпрограмма включает в себя только оператор возврата. 26. The method according to p. 20, characterized in that for some combinations of the first and second types of loading, the subroutine includes only the return statement.
27. Машинно-читаемый носитель, на котором хранятся команды, которые при обработке их процессором обуславливают выполнение процессором действий, включающих определение имени подпрограммы на основании первого типа загрузки и второго типа загрузки, и выполнение подпрограммы, причем операции загрузки устраняются согласно подпрограмме. 27. A machine-readable medium on which instructions are stored that, when processed by their processor, cause the processor to perform actions that include determining the name of the subprogram based on the first type of load and the second type of load, and executing the subprogram, the loading operations being eliminated according to the subprogram.
28. Носитель по п. 27, отличающийся тем, что подпрограмма использует обращение к матрице комбинаций операций загрузки. 28. The media according to claim 27, wherein the subroutine uses an access to a matrix of combinations of loading operations.
29. Носитель по п. 27, отличающийся тем, что матрица является полной матрицей комбинаций операций загрузки. 29. The medium of claim 27, wherein the matrix is a complete matrix of combinations of loading operations.