One embodiment of the present invention provides a system for compiling source code into executable code that performs prefetching for memory operations within critical sections of code that are subject to mutual exclusion. The system operates by compiling a source code module containing programming language instructions into an executable code module containing instructions suitable for execution by a processor. Next, the system identifies a critical section within the executable code module by identifying a region of code between a mutual exclusion lock operation and a mutual exclusion unlock operation. The system schedules explicit prefetch instructions into the critical section in advance of associated memory operations. In one embodiment, the system identifies the critical section of code by using a first macro to perform the mutual exclusion lock operation, wherein the first macro additionally activates prefetching. The system also uses a second macro to perform the mutual exclusion unlock operation, wherein the second macro additionally deactivates prefetching.

Uma incorporação da invenção atual fornece um sistema para o código de fonte compilando no código executável que executa prefetching para operações de memória dentro das seções críticas do código que são sujeitas à exclusão mútua. O sistema opera-se compilando um módulo do código de fonte que contem instruções da língua de programação em um módulo executável do código que contem as instruções apropriadas para a execução por um processador. Em seguida, o sistema identifica uma seção crítica dentro do módulo executável do código identificando uma região do código entre uma operação mútua do fechamento da exclusão e uma exclusão mútua destrave a operação. O sistema programa instruções explícitas do prefetch na seção crítica adiantado de operações de memória associadas. Em uma incorporação, o sistema identifica a seção crítica do código usando um primeiro macro executar a operação mútua do fechamento da exclusão, wherein o primeiro macro ativa adicionalmente prefetching. O sistema usa também um segundo macro executar a exclusão mútua destrava a operação, wherein o segundo macro desativa adicionalmente prefetching.

 
Web www.patentalert.com

< (none)

< Plant seed oils

> Functional debugger for debugging software programs

> (none)

~ 00039