In processor architectures that support allocation of register windows to
called procedures, functions or methods, register windowing mechanisms can
be used to facilitate suspension of a mutator thread (or mutator threads)
while imposing negligible overhead on the mutator computation during
periods when thread suspension is not requested. Reduced Instruction Set
Computer-(RISC)-oriented processor architectures often employ register
windows (typically partially-overlapped register windows) and can
therefore benefit from the technique. Variations can be employed even in
processors (RISC or otherwise) that do not employ register windowing as
long as the processor (by itself or in cooperation with software) provides
facilities for allocating and reclaiming resources in correspondence with
calls to, and returns from, procedures, functions or methods. Mechanisms
are provided to spill values from the fixed set of resources to a
secondary store and to fill values from the secondary store into the fixed
set in correspondence with function call triggered overflows and function
return triggered underflows. In some configurations, modified spill and/or
fill mechanism(s) are used to suspend threads at safe points coinciding
with call and/or return sites. Because the modified spill and/or fill
mechanism(s) impose negligible overhead when not employed and can be
engaged in response to an event (e.g., a start garbage collection event),
safe points can be defined at call and/or return points throughout mutator
code to reduce the latency between the event and suspension of threads.
Nelle architetture del processor che sostengono la ripartizione delle finestre del registro alle procedure di assistenza tecnica, alle funzioni o ai metodi, i meccanismi di windowing del registro possono essere usati per facilitare la sospensione di un filetto di mutator (o dei filetti di mutator) mentre spese generali trascurabili d'imposizione sul calcolo di mutator durante i periodi in cui la sospensione del filetto non è chiesta. Le architetture Calcolatore-(RISC)-orientate ridotte del processor dell'insieme delle istruzioni spesso impiegano le finestre del registro (finestre tipicamente parziale-coincise del registro) e possono quindi trarre beneficio dalla tecnica. Le variazioni possono essere impiegate anche in processor (RISC o al contrario) che non impiega finchè il windowing del registro il processor (da sè o in collaborazione con software) fornisce le facilità per lo stanziamento e la ripresa delle risorse nella corrispondenza le chiamate a e rinvia da, procedure, funzioni o metodi. I meccanismi sono forniti ai valori di caduta dall'insieme fisso delle risorse ad un deposito secondario ed ai valori del materiale di riempimento dal deposito secondario in serie fissa nella corrispondenza i trabocchi innescati di chiamata di funzione ed i underflows innescati ritorno di funzione. In alcune configurazioni, il mechanism(s) modificato del materiale di riempimento e/o di caduta è usato per sospendere i filetti ai punti sicuri che coincidono con i luoghi di ritorno e/o di chiamata. Poiché il mechanism(s) modificato del materiale di riempimento e/o di caduta impone le spese generali trascurabili una volta non impiegato e può essere agganciato in risposta ad un evento (per esempio, un evento dell'accumulazione dell'immondizia di inizio), i punti sicuri possono essere definiti ai punti di ritorno e/o di chiamata durante il codice di mutator per ridurre lo stato latente fra l'evento e la sospensione dei filetti.